Nomes - IC

Propaganda
MC714 - Sistemas Distribuídos
Leandro Villas
Aula de Hoje
Nomes, Identificadores, Endereços
 Nomeação Simples
 Nomeação Estruturada

Leandro Villas
Nomeação
Nomes
Compartilhar recursos
 Identificar entidades de maneira única
 Fazer referência a localizações

Nome deve ser resolvido para a entidade à qual se refere
 Sistema de Nomeação (Ex. DNS)
Leandro Villas
Nomeação

Em um SD, a implementação de um sistema de
nomeação costuma ser distribuída por várias
máquinas

Modo como é feita a distribuição desempenha papel
fundamental na eficiência e escalabilidade do Sistema
Leandro Villas
Nomeação
Entidade: máquinas, impressoras, processos, usuários,
páginas Web, janelas gráficas, discos etc.
São acessadas através de um ponto de acesso, ou
simplesmente, endereço
•
EX: Servidor e seu número IP
Portanto, um endereço pode ser utilizado como uma
maneira de nomear, identificar uma entidade
•
•
Problema: Entidade pode mudar facilmente de ponto de acesso!
Ex: Servidor Web alocado em outra rede
Leandro Villas
Nomeação
Como nomear entidades, sem utilizar especificamente
seu endereço, ou seja, nomeá-las independentemente
da sua posição física (localização)?
Identificadores ou Nomes amigáveis
a seres humanos
Leandro Villas
Nomeação
Identificador  possui as seguintes propriedades:



Referencia, no máximo, UMA entidade
Cada entidade é referenciada por, no máximo, um
identificador
Um identificador sempre referencia a mesma entidade, isto
é, nunca é reutilizado
Nomes amigáveis  nomes representados por uma
cadeia de caracteres

Pathnames, domínios na Internet
Ex: /etc/passwd; http://unicamp.br
Leandro Villas
Nomeação
Como resolvemos nomes e identificadores para
endereços?
Sistemas de Nomeação
 Mantém uma vinculação nome-endereço
 Na forma mais simples



Tabela de pares (nome,endereço)
Contudo, sistemas que abrangem redes de grande porte,
uma tabela centralizada não vai funcionar
Em SDs, usualmente o nome é decomposto em várias
partes, e a resolução é realizada por meio de consultas
recursivas
Leandro Villas
Nomeação
Sistemas de Nomeação

Três Classes
Nomeção Simples
 Nomeação Estruturada
 Nomeação Baseada em Atributos

Leandro Villas
Nomeação Simples
Nomes simples: não contêm nenhuma informação
sobre como localizar o ponto de acesso de sua
entidade associada
Problema: Dado um identificador, como localizar o ponto de
acesso (endereço)?
 Soluções Simples
Broadcasting, Multicasting e Ponteiros repassadores
Soluções baseadas na Localização Nativa
 Tabelas de Hash Distribuídas
 Serviço hierárquico de localização

Leandro Villas
Nomeação Simples - Broadcasting


Recursos oferecidos por redes locais nas quais todas
as máquinas estão conectadas a um único cabo ou
seu equivalente lógico
Como funciona?




Mensagem que contém o identificador da entidade é
enviada por broadcast a cada máquina da rede
Cada uma das máquinas verifica se tem esta entidade
Somente as máquinas com ponto de acesso para a
entidade enviam uma msg que contém o endereço do
ponto de acesso
Esse princípio é utilizado no protocolo de resolução
de endereços ( Adress Resolution Protocol – ARP)
Leandro Villas
Nomeação Simples - Broadcasting

Se torna ineficiente quando a rede cresce
Largura de banda da rede é desperdiçada, com grande
número de mensagens de requisição
 Aumento da probabilidade de colisões de mensagens,
diminuindo o throughput do sistema
 Grande número de máquinas pode ser interrompido
por requisições que não podem responder


Alternativa: Multicasting

Somente um grupo restrito de máquinas recebe a
requisição
Leandro Villas
Nomeação Simples – Ponteiros Repassadores

Princípio


Vantagem: simplicidade


Quando uma entidade se move de A para B, deixa para
trás, em A, uma referência a sua nova localização em B
Cliente pode consultar o endereço corrente da
entidade percorrendo uma cadeia de ponteiros
repassadores
Tem problemas de escala geográfica
Longas cadeias não são tolerantes a falhas
 Latência

Leandro Villas
Nomeação
Sistemas de Nomeação

Três Classes
Nomeção Simples
 Nomeação Estruturada
 Nomeação Baseada em Atributos

Leandro Villas
Nomeação Estruturada

Nomes simples são bons para máquinas, mas não são
convenientes para a utilização de seres humanos

Sistemas de nomeação comumente suportam nomes
estruturados


Exemplo: Nomeação de arquivos, Hosts na Internet
Nomes são organizados em um espaço de nomes
Leandro Villas
Nomeação Estruturada

Espaços de nomes podem ser representados como
um grafo dirigido, com dois tipos de nós:

Nó-folha: representa uma entidade nomeada  sem saídas
Geralmente armazena informações sobre a entidade

Nó de diretório: entidade que se refere a outros nós 
vários ramos de saída
Nó de diretório armazena uma tabela no qual o ramo de
saída é representado por um par
<rótulo do ramo, identificador do nó>

Sistemas de nomeação possuem, na maioria, um nó raiz
Leandro Villas
Nomeação Estruturada

Cada caminho no grafo de nomeação pode ser
referenciado pela sequência dos labels correspondentes
aos ramos naquele caminho, como

N:<label1, label2,..., labeln>
Nome de caminho absoluto: primeiro nó no caminho é a raiz
Nome de caminho relativo: primeiro nó pode ser qualquer nó
Leandro Villas
Nomeação Estruturada




Espaços de nomes oferecem um mecanismo para
armazenar e recuperar informações sobre entidades
por meio de nomes
Dado um nome de caminho, deve ser possível
consultar qualquer informação armazenada no nó
referenciado por aquele nome
O processo de busca de um nome é denominado
resolução de nomes
Problema: Para resolver um nome, precisamos de um
nó de diretório. Como escolher este nó inicial?
Leandro Villas
Nomeação Estruturada
Mecanismo de fechamento: Trata da seleção do nó
inicial em um espaço de nomes a partir do qual a
resolução de nomes deve começar.
 São implícitos ao contexto em que a resolução de
nomes está se aplicando
www.cs.vu.nl: início da resolução é feito através do
servidor de nome DNS (raiz)

Leandro Villas
Implementação de um Espaço de Nomes

Serviço de nomeação é implementado por servidores
de nomes

Servidores de nomes devem prover:




Escalabilidade
Manutenção descentralizada
Tolerância a falhas, robustez
Escopo global: Nomes possuem o mesmo significado em
todos lugares
Leandro Villas
Implementação de um Espaço de Nomes
Espaço de nomes para um SD de grande escala
costumam ser organizados em hierarquia

Camada global
Raiz e seus filhos
Principal característica: Estabilidade
Podem representar organizações

Camada Administrativa
Nós de diretórios
Gerenciados por uma única organização
Relativamente estáveis

Camada Gerencial
Nós cujo comportamento típico é a mudança periódica
Mantidos por administradores de sistemas e usuários finais
Leandro Villas
Implementação de um Espaço de Nomes
Leandro Villas
Implementação de um Espaço de Nomes

Camada global




Camada Administrativa



Alta disponibilidade: se falhar, grande parte do espaço fica inalcançável
Desempenho: Baixa taxa de mudança; cache local é útil. Não precisam
responder tão rapidamente.
Replicação pode ser aplicada.
Se falhar, muitos recursos dentro da organização podem ficar inalcançáveis
Deve responder mais rapidamente que a camada global
Camada Gerencial



Indisponibilidade temporária afeta poucos usuários
Desempenho é crucial
Muda com frequência  cache pode não funcionar muito bem
Leandro Villas
Implementação de um Espaço de Nomes
Item
Global
Administrativa
Gerencial
Escala Geográfica da rede
Mundial
Organização
Departamento
Número total de nós
Poucos
Muitos
Grandes quantidades
Capacidade de resposta a consultas Segundos
Milissegundos
Imediata
Propagação de atualizações
Lerda
Imediata
Imediata
Quantidade de réplicas
Muitas
Nenhuma ou poucas Nenhuma
É aplicada cache do lado cliente
Sim
Sim
Leandro Villas
Às Vezes
Implementação de resolução de nomes

Suponha que o nome da caminho (absoluto) deva ser
resolvido root:<nl, vu, cs, ftp, pub, globe, index.html>


Usando uma notação URL, esse nome de caminho
corresponderia a ftp://ftp.cs.vu.nl/pub/globe/index.html
Há dois modos de implementar resolução de nomes


Resolução iterativa de nomes
Resolução recursiva de nomes
Leandro Villas
Como resolver nomes?

Resolução Iterativa


Servidor responde somente o que sabe: o nome do próximo servidor que
deve ser buscado
Cliente procura iterativamente os outros servidores
Leandro Villas
Como resolver nomes?

Resolução recursiva


Servidor passa o resultado para o próximo servidor que encontrar
Para o cliente, somente existe uma mensagem de retorno: o endereço do
nome ou 'não encontrado'
Leandro Villas
Iterativa versus Recursiva
Leandro Villas
Iterativa versus Recursiva
Leandro Villas
Nomeação Baseada em Atributo
Fornecer uma descrição da entidade que está sendo
procurada
 Descrever uma entidade em termos de pares
<atributo, valor>
 Serviços de diretório retornam uma ou mais entidades
que atendam a descrição do usuário

Leandro Villas
Download