Você está na página 1de 3

PONTIFCIA UNIVERSIDADE CATLICA DE GOIS - PUC-GOIS DEPARTAMENTO DE COMPUTAO

Resumo: Sistemas de Nomes e Diretrios Distribudos

PEDRO HENRIQUE AQUES DE AMORIM

Uma entidade que necessita aceder a um recurso tem de possuir um nome que o refira. Num qualquer sistema distinguem-se trs tipos de nomes: nomes externos ou simblicos: normalmente cadeias de caracteres de fcil manipulao por parte dos humanos; nomes internos globais: identificadores escolhidos por forma a aumentar a eficiencia da sua manipulao por parte do sistema. So normalmente sequencias de bits de comprimento fixo; nomes internos contextuais ou locais: camada intermdia de nomes entre os dois tipos anteriores. Esta categoria existe em alguns sistemas com o objectivo de esconder os nomes internos globais por questes de segurana. Existe um mapeamento entre os trs tipos acima referidos e daqui em diante sero referidos apenas por nomes. A associao entre um nome e o objecto a que ele se refere chamado um binding. Os nomes especficos a um servio esto associados (bound) pelo servio representao actual do objecto ou recurso em causa. Os nomes que se referem a entidades para alm do espectro de um nico servio (utilizadores, computadores, servios, etc) esto associados (bound) a atributos do objecto designado. Entre os atributos podemos ter desde passwords, nmeros de telefone, mas sem dvida os atributos mais importantes so os endereos. As camadas de nomes anteriormente descritas esto igualmente presentes nos sistemas distribuidos. Este tipo de sistemas, pelas suas caractersticas, apresenta alguns problemas especficos nomeadamente no que respeita s caractersticas dos nomes utilizados. Em particular, um nome interno global deve ser independente da mquina onde o objecto reside actualmente por forma a permitir a sua migrao. Por outro lado necessria uma forma de garantir a unicidade deste tipo de nomes de uma forma descentralizada. Estes problemas so resolvidos atravs da utilizao de nomes internos nicos e globais (UID) que so caracterizados pelas seguintes propriedades: unicidade no espao: se um processo conhece o UID de um objecto, no tem de memorizar a sua localizao. Isto permite a migrao de objectos sem perda de identidade, garantindo tambm o significado de um nome quando utilizado por outra entidade noutro local. O sistema deve ser capaz de encontrar o objecto a partir do UID; unicidade no tempo: um UID no deve gerar ambiguidades ao longo do tempo. Quando um nome utilizado, ou o objecto que ele designa existe, ou o objecto no existe e esse nome no poder designar outro objecto. A gerao de UIDs tem de ser feita de uma forma descentralizada. Para se obter as caracteristicas desejadas, o mtodo mais comum a concatenao de uma parte que identifica de forma nica o local de criao do objecto com uma parte nica dentro desse local. Um servio de designao mantm uma base de dados com associaes (bindings) entre um conjunto de nomes e os seus atributos para objectos como por exemplo utilizadores, computadores que existem fora de qualquer servio especifico. A operao principal que um servio de designao suporta a de resolver um nome i.e., ver na base de dados os atributos de um dado nome. Obviamente sero tambm necessrias operaes para criar e apagar elementos dessa base de dados. Num sistema distribuido este servio ter obrigatoriamente de ser descentalizado sob pena de se tornar num bottleneck. Por forma a obter um bom desempenho, um servio de designao distribuido deve obedecer aos seguintes requisitos: ser visto como sendo um espao global de identificao em vez de um espao de identificao de computadores contendo objectos localmente identificados; gerir um nmero arbitrrio de nomes e servir um nmero igualmente arbitrrio de organizaes administrativas; possur um tempo de vida elevado, suportando eventuais alteraes na estrutura do espao de designao;

ter uma disponibilidade elevada pois a maioria dos outros sistemas depende do seu funcionamento; isolar possveis falhas locais no deixando que elas afectem todo o servio; tolerar entidades suspeitas pois num sistema distribuido no existem componentes confiadas por todos os clientes; ser consistente a longo prazo, ou seja, embora permitindo estados transitrios inconsistentes, deve tender para um estado consistente. A resoluo de um nome o processo pelo qual dado um nome se obtm os atributos a s associados. O processo pelo qual a resoluo de nomes feita e que envolve a interaco do user agent (UA) e dos servidores de nomes (NS), nomeadamente na procura do NS que contm a informao desejada designado por navegao. Convm recordar o facto de que a base de dados est distribuida pelos diversos NSs, contendo cada um uma parte de todo o espao de designao. O processo de navegao inicia-se quando um cliente invoca os servios do UA com um pedido de resoluo de um nome. navegao iterativa: segundo este modelo, o UA contacta sucessivamente NSs que respondem ou com a resoluo do nome ou com uma referencia para outro NS que de alguma forma esteja mais perto da informao requerida; navegao recursiva: o UA contacta um NS que, caso no contenha a informao necessria resoluo do nome, age como se fosse um UA contactando outro NS, e assim sucessivamente; navegao transitiva: o UA contacta um NS que se no contiver a informao necessria redirecciona o pedido para outro NS. O NS que contiver a resoluo do nome responde directamente ao UA. Este mtodo em geral no utilizado pois torna muito dificil a deteco de falhas nalgum dos componentes intermdios do processo, por parte do UA; navegao baseada em multicast: o UA envia o pedido a todos os NSs sob a forma de multicast, respondendo aquele que contiver a informao necessria. Este mtodo tem o problema de no existirem actualmente algoritmos eficientes de multicast em larga escala. Um outro problema sucederia no caso de no existir o nome a resolver: o UA no receberia nenhuma resposta, no podendo destinguir entre uma demora normal no processo ou a inexistencia do nome indicado.

Você também pode gostar