Você está na página 1de 15

Sistemas Distribudos

Servio de Diretrios Distribudos

Gustavo Reis
gustavo.reis@ifsudestemg.edu.br

1
- Diretrios Distribudos

O servios de nomes armazenam conjuntos de pares


<nome, atributo> e seus atributos so pesquisados de
uma forma hierrquica.
natural considerar a dualidade dessa organizao, na
qual os atributos so usados como os valores a serem
pesquisados.
s vezes, os usurios desejam encontrar uma pessoa,
ou um recurso em particular, mas no sabem seu nome,
apenas alguns de seus outros atributos.
Ex.: Qual o nome do usurio com nmero de telefone
020-555 9980?

2
- Diretrios Distribudos
s vezes, os usurios exigem um servio, mas no esto
preocupados com qual entidade do sistema fornece esse
servio, desde que ele esteja convenientemente acessvel.
Ex.: Quais computadores da empresa so Macintosh
executando o sistema operacional Mac OS X? ou Onde
imprimir um imagem colorida de alta-resoluo?
Um servio que armazena conjuntos de vnculos entre
nomes e atributos e que pesquisa entradas que
correspondem a especificaes baseadas no atributo
chamado de servio de diretrio.
Exemplos: Active Directory Services da Microsoft, X.500,
LDAP, Univers e Profile.
3
- Diretrios Distribudos
Um servio de diretrio retorna os conjuntos de atributos de todos os
objetos encontrados que correspondam a alguns atributos
especificados.
Portanto, o pedido 'TelephoneNumber = 020-555 9980' poderia
retornar {'Name=John Smith, 'TelephoneNumber=020-555 9980',
emailAddress=john@dcs.gormenghast.ac.uk', }, por exemplo.
O cliente pode especificar que apenas um subconjunto dos atributos
tem interesse por exemplo, apenas os endereos de e-mail dos
objetos correspondentes.
O X.500 e alguns outros servios de diretrios, tambm permitem que
objetos sejam pesquisados por nomes textuais hierrquicos
convencionais.

4
- Diretrios Distribudos
Os atributos so claramente mais poderosos do que os
nomes, como designadores de objetos: podem ser
escritos programas para selecionar objetos de acordo
com especificaes de atributo precisa, onde os nomes
podem no ser conhecidos.
Outra vantagem dos atributos que eles no expem a
estrutura das organizaes para o mundo exterior,
como acontece com os nomes particionados em termos
de organizao.

5
- Diretrios Distribudos
Estudo de caso: Global Name Service
Projetado e implementado por Lampson e colegas, no DEC Systems
Research Center [Lampson 1986], para fornecer facilidades para a
localizao de recursos, endereos de e-mail e autenticao.
O objetivo do projeto GNS refletir o fato de que um servio de nomes
para uso em uma rede interligada deve suportar um banco de dados de
atribuio de nomes que possa ser ampliado para incluir os nomes de
milhes de computadores e (eventualmente) endereos de e-mail de
bilhes de usurios.
Os projetistas do GNS tambm consideraram que o banco de dados de
atribuio de nomes provavelmente ter um longo tempo de vida, e que
ele deve continuar a operar eficientemente, enquanto cresce de pequena
para grande escala, e a rede em que baseado tambm evolui.

6
- Diretrios Distribudos
Estudo de caso: Global Name Service
O banco de dados de atribuio de nomes potencialmente
grande e a escala do ambiente distribudo em que o GNS feito
para operar tornam fundamental o uso de cache.
Entretanto, fica extremamente difcil manter a consistncia
completa entre todas as cpias de uma entrada do banco de
dados.
A estratgia de consistncia de cache adotada conta com a
suposio de que as atualizaes no banco de dados sero
raras e que uma disseminao lenta das atualizaes
aceitvel, pois os clientes podem detectar e se recuperar do
uso de dados de atribuio de nomes desatualizados.

7
- Diretrios Distribudos
Estudo de caso: Global Name Service
O GNS gerencia um banco de dados de atribuio de nomes
composto de uma rvore de diretrios contendo nomes e valores.
Os diretrios so nomeados por nomes de caminho de vrias
partes que se referem a raiz, ou relativos a um diretrio de
trabalho, de forma muito parecida com os nomes de arquivo em
um sistema de arquivos UNIX.
Cada diretrio tambm recebe um valor inteiro, que serve como
identificador de diretrio (DI) exclusivo.
Um diretrio contm uma lista de nomes e referncias.
Os valores armazenados nas folhas da rvore de diretrio so
organizados em rvores de valores, para que os atributos
associados aos nomes possam ser valores estruturados.
8
- Diretrios Distribudos
Estudo de caso: Global Name Service
No GNS, os nomes tm duas partes: <nome do diretrio, nome
do valor>. A primeira parte identifica um diretrio; a segunda se
refere a uma rvore de valores, ou a alguma parte de uma
rvore de valores.
DI: 599 (EC)

DI: 543 (UK) DI: 574 (FR)

DI: 437 (AC) Os atributos de um usurio Peter.Smith no diretrio


QMUL so armazenados na rvore de valores
nomeada <EC/UK/AC/QMUL,Peter.Smith>. A rvore
DI: 322 (QMUL) Peter.Smith de valores inclui uma senha, a qual pode ser
referenciada com
Caixas de correio senha <EC/UK/AC/QMUL,Peter.Smith/senha>, e vrios
endereos de correspondncia
Alfa <EC/UK/AC/QMUAL,Peter.Smith/Caixas de correio>
Beta
Gamma
9
- Diretrios Distribudos
Estudo de caso: Global Name Service
A rvore de diretrio particionada e armazenada em muitos
servidores, com cada partio replicada em vrios servidores.
A consistncia da rvore mantida em face de duas ou mais
atualizaes concorrentes por exemplo, dois usurios podem
tentar criar, simultaneamente, entradas com o mesmo nome e
apenas um deve ter xito.
Os diretrios replicados apresentam um segundo problema de
consistncia; este tratado por um algoritmo de distribuio de
atualizao assncrono que garante a consistncia final, mas
sem garantia de que todas as cpias sejam sempre atuais.
Esse nvel de consistncia considerado satisfatrio para o
objetivo.
10
- Diretrios Distribudos
Estudo de caso: Global Name Service

DI: 599 (EC)

DI: 543 (UK) DI: 574 (FR)

DI: 437 (AC)

DI: 322 (QMUL) Peter.Smith


Como adicionar uma
Caixas de correio senha rvore existente chamada
Alfa
Beta
Amrica do Norte?
Gamma

11
- Diretrios Distribudos
Estudo de caso: Global Name Service

Diretrios bem-conhecidos
DI: 633 (MUNDO)
#599 = #633/EC
#642 = #633/AMRICA DO NORTE

DI: 642 (AN)


DI: 599 (EC)

DI: 543 (UK) DI: 574 (FR) DI: 732 (US) DI: 457 (CA)

12
- Diretrios Distribudos
Estudo de caso: Global Name Service

Diretrios bem-conhecidos
DI: 633 (MUNDO)
#599 = #633/EC
#642 = #633/AMRICA DO NORTE

DI: 642 (AN)


DI: 599 (EC)

DI: 543 (UK) DI: 574 (FR) DI: 732 (US) DI: 457 (CA)
#633/EC/US

US pertence a EC.
13
- Diretrios Distribudos
LDAP

14
- Diretrios Distribudos
LDAP

15

Você também pode gostar