You are on page 1of 19

Sistemas Distribudos. Motivao.

Desenvolvimento de microprocessadores de alto desempenho com custo bem inferiores aos dos mainframes. o Anos 50: Mquina U$10M 1 instruo/s; o Hoje: Mquina U$1000 Milhes instrues/s; o Metfora: BMW U$10 1 Bilho km/l. Desenvolvimento de redes de computadores de alta velocidade.

Economia.
Necessidade de compartilhar recursos; Melhoria da relao custo/benefcio entre investimento e desempenho (infraestrutura).

Definies. O que um Sistema Distribudo?


Coleo de computadores independentes que aparecem para os usurios do sistema como um nico computador. (Tanenbaum). Um sistema em que componentes de hardware e software localizados em computadores em rede se comunicam e coordenam suas aes por passagem de mensagens. (Coulouris et al).

Sistemas Distribudos, segundo Sommerville:


Todos os sistemas baseados em grandes computadores atualmente so sistemas distribudos. Um sistema distribudo aquele em que as informaes em fase de processamento so distribudas para vrios computadores.

Middleware
Infraestrutura de software que fica entre o sistema operacional e uma aplicao distribuda; Tem como objetivo tornar mais simples e produtivo o desenvolvimento de uma aplicao distribuda; Oferece abstraes/recursos de mais alto nvel que torna transparente ao programador detalhes de programao em redes; Procura fazer com que a programao distribuda seja mais semelhante programao centralizada.

Exemplos de Middleware.
Monitores de processamento de transaes; Conversores de dados; Controladores de comunicao.

Caractersticas.
Desenvolver uma aplicao distribuda mais complexo do que uma aplicao centralizada. Problemas tpicos: Comunicao; Heterogeneidade; Falhas; Concorrncia; Segurana; Escalabilidade.

Conjunto de mquinas autnomas. Conectadas por canais de comunicao. Que se comunicam por mensagens. Sem um estado global. Com independncia de falhas.

Exemplos:
Internet Servios: www, ftp, e-mail, chat; Intranet Compartilhamento de recursos e informaes; Computao mvel Palm, celular, pager, notebooks; Caixa eletrnicos; Banco na internet; Reserva e venda de passagens; Comrcio eletrnico; Venda de ingressos.

Praticamente todos os grandes sistemas baseados em computador so distribudos. A Engenharia de Software Distribudo muito importante para os sistemas computacionais de uma empresa.

Principais Objetivos.
Conexo; Transparncia; Abertura; Escalabilidade; Facilitar o acesso a recursos remotos para os usurios; Possibilitar o compartilhamento de recursos entre os usurios; o Impressoras;

o Discos; o Processadores; o Aplicaes. Facilitar a colaborao e a troca de informaes entre usurios.

Objetivos Transparncia.
Acesso - Esconde as diferenas entre a representao dos dados e como os recursos so acessados. Localizao - Esconde onde os recursos esto localizados. Migrao Esconde a transferncia de um recurso para outro local. Realocao - Esconde que um recurso pode mudar de local enquanto estiver sendo acessado. Replicao - Esconde que um recurso pode estar replicado. Concorrncia - Esconde que um mesmo recurso pode estar sendo compartilhado por vrios usurios concorrentes. Falha Esconde a falha e a recuperao de um recurso. Persistncia - Esconde quando um recurso de software est na memria ou em disco.

Por qu nem sempre recomendvel implementar o nvel mais alto de transparncia possvel? Porque isso pode implicar uma perda de desempenho no aceitvel pelos usurios.

Interoperabilidade.
Sistemas heterogneos podem trabalhar juntos disponibilizado servios entre si atravs de um padro comum.

Portabilidade.
Uma aplicao desenvolvida para um sistema distribudo A pode se comunicar sem modificaes com um sistema distribudo B que implemente a mesma interface de A.

Problemas. Servios centralizados.


Um nico servidor para todos os usurios.

Dados centralizados.
Uma nica lista telefnica online.

Algoritmos centralizados.

Roteamento baseado em informaes completas.

Dimenses:
Nmero de componentes; Tamanho geogrfico; Nmero e tamanho de domnios administrativos.

Um sistema escalvel quando pode crescer em uma ou mais dimenses sem perda de desempenho.

Tcnicas: Processamento no cliente ou servidor.


Modelo cliente-magro. Processamento e gerenciamento de dados no servidor; Cliente responsvel apenas pelo software de apresentao.

Modelo cliente-gordo. Servidor responsvel somente pelo gerenciamento de dados; Cliente executa a lgica da aplicao e as interaes com o usurio.

Tcnicas: Organizao hierrquica em zonas (DNS Domain Name System).

Multiprocessadores.
Processos executados em processadores separados; Processamento paralelo; Aumento de desempenho e capacidade de processamento (sistemas de tempo real); Processos controlados por um dispatcher.

Cliente/Servidor.
Servidor como fornecedor de servios; Cliente como consumidor de servios.

Objetos Distribudos.
Sem distino entre cliente e servidor; Conjunto de objetos que interagem independentemente da localizao; Permite adicionar novos recursos quando necessrio; Alta escalabilidade (vrias instncias de um mesmo objeto em diferentes pontos da rede); Reconfigurao dinmica; Projeto mais complexo. Middleware para comunicao; o Permite a comunicao entre objetos heterogneos; Middleware para componentes;

o Fornecem uma base para desenvolvimento de componentes compatveis; o EJB, CORBA, ActiveX, etc.

Padro CORBA.
Definido pela OMG (Object Management Group); Composto por quatro elementos: o Objetos de aplicao com interface bem definida em linguagem neutra (IDL Linguagem de Definio de Interface); o Requisitor de Objetos (ORB Object Request Broker) que gerencia solicitaes para servios de objetos; o Servios de objetos: servios de diretrios, transaes, persistncia, etc; o Recursos CORBA. Horizontais: comuns a vrios tipos de aplicaes; Verticais: domnio especfico de aplicaes.

P2P (Ponto a Ponto).


Sistemas descentralizados com processamento em qualquer n da rede; Distribui processamento e armazenamento pela rede; Sistemas pessoais e pouco utilizados para negcios; Arquitetura descentralizadas ou semi-centralizada; Exemplos: eMule, Kazaa, eDonkey, Gnutella, etc.

Orientadas a Servios.
Baseada no consumo de servios externos; Web Service uma abordagem tecnolgica para implementar essa arquitetura; O fornecimento de servios no depende da aplicao que consome o servio.

Vantagens.
Compartilhamento de recursos; o Hardware (discos, impressoras, etc.); o Software (arquivos, compiladores, objetos, etc.). Sistemas abertos; o Projetos baseados em protocolos-padro. Suportam a concorrncia entre processos; Boa relao custo/desempenho. o Lei de Grosh desempenho proporcional ao quadrado do custo: 2 * custo = 4 * desempenho. Maior velocidade; Maior confiabilidade e disponibilidade; Facilidade de expanso (escalabilidade); o Adio de novos recursos;

o Suporte ao aumento da demanda. Tolerncia a falhas. o Redundncia de hardware e software; o Recuperao de falhas com transparncia.

Desvantagens.
Maior complexidade; o Desenvolvimento; o Testes. Problemas de Segurana o Integridade de dados na rede; o Interceptao de dados na rede. Alto custo de implementao. o Profissionais especializados; o Mecanismos de segurana (hardware / software). Maior complexidade de gerncia. o Heterogeneidade de hardware; o Heterogeneidade de sistemas operacionais; o Propagao de defeitos. Maior dificuldade para diagnosticar problemas. o Imprevisibilidade; o Variao de desempenho de uma requisio para outra; o Um servidor parou ou est apenas lento?

Protocolos em camadas.
Em sistemas distribudos no existe memria compartilhada; A comunicao baseada em troca de mensagens; Como organizar e resolver as questes envolvidas no processo de comunicao? o Foi criado o modelo OSI (Open Systems Interconnection) pela ISSO (International Standards Organization);

Modelo OSI.
Permite a comunicao entre sistemas abertos; Padroniza regras que definem o formato, contedo e significado das mensagens enviadas e recebidas; As regras definidas para comunicao so chamadas de Protocolos.

Modelo OSI Protocolos de baixo nvel. Camada Fsica.


Transmisso de bits (0s ou 1s).

Camada de Enlace.
Mecanismo de deteco e correo de erros.

Camada de Rede.
Roteamento (definio do melhor caminho na rede);

Camada de Transporte.
Gerenciamento dos pacotes; o TCP (Com confirmao); o UDP (Sem confirmao).

Camada Sesso.
Verso melhorada da Camanda de Transporte com mecanismo de sincronizao.

Camada de Apresentao.
Fornece uma organizao estruturada (registro) para as mensagens binrias.

Camada de Aplicao.
Aplicaes (FTP, HTTP, E-mail, etc.)

Protocolos de Middleware.
Escondem a rede (endereos IP, portas, sockets, formato de mensagens, conexes, falhas, etc.); Dois tipos; o Middleware de infra-estrutura de servidor; o Middleware de Comunicao / Distribuio. Middleware de infra-estrutura de servidor; o Fornecem uma infra-estrutura para execuo de aplicaes; o Abstraem e unificam em uma API particularidades de um hardware ou sistema operacional; o Fornecem primitivas para criao de threads, sincronizao, comunicao via TCP ou UDP, etc; o Exemplos: Sun JVM, .NET CLR. Middleware de Comunicao / Distribuio. o Fornecem uma infra-estrutura de comunicao; o Uso mais comum do termo middleware; o Tipo de middleware relacionado a Sistemas Distribudos; o Exemplos: Java RMI, CORBA, DCOM, SOAP, .NET Remoting Framework, JavaSpaces, JMS, etc.

RPC Chamada Remota de Procedimento. Motivao.


o Projetos de computao distribuda so complexos e exigem muita experincia.

Objetivos.

o Facilitar a computao distribuda; o Encorajar o desenvolvimento de aplicaes distribudas.

Marshalling e Unmarshalling.
o Empacotar e desempacotar; o Quando um cliente A chama procedimentos de um servidor B: Pode ser necessrio passar como parmetro (e receber como resultado) estruturas mais complexas (objetos, vetores, etc.). o Cliente A: Deve converter os parmetros para um formato que possa ser transmitido por um protocolo de transporte (TCP, por exemplo); Este processo chamado de marshalling. o Servidor B: Deve converter a mensagem recebida em uma estrutura de dados; Este processo chamado de unmarshalling. o Processo de marshalling/unmarshalling : Complexo; Trabalhoso; Sujeito a erros. o Portanto, deve ser automatizado pela plataforma de middleware.

Stubs (Apndices).
o Funcionamento interno baseado em mdulos (fragmentos de algoritmos) chamados de stubs; o Encapsulam detalhes de comunicao no cliente e no servidor; o Automatizam processo de marshalling e unmarshalling; o Automatizam a comunicao com o processo remoto (interagindo com o protocolo de transporte).

Arquitetura Interna.
o Stubs so gerados automaticamente, por um compilador de stubs; o Entrada deste compilador: assinatura dos procedimentos remotos, em uma linguagem chamada XDR ( External Data Representation ); Genericamente, conhecida como linguagem para definio de interfaces. o Sada deste compilador: cdigo fonte dos stubs.

Invocao Remota de Objetos. Tecnologia baseada em Objetos.


o J est consagrada para o desenvolvimento de aplicaes no distribudas;

o Objetos escondem internamente detalhes da sua implementao (caixa-preta); o Prov uma interface bem definida para que o mundo exterior possa utilizar os objetos;

Idia bsica:
o Objetos clientes podem chamar mtodos de objetos remotos com transparncia de acesso; o Mesma sintaxe de chamadas locais.

Objetos remotos so manipulados usando-se referncias de rede. Exemplos:


o CORBA, Java RMI, DCOM, .NET Remoting, etc.

Funcionamento.
o Servidor de Aplicao: Instancia objeto remoto e o registra no servidor de nomes (registrar = dar um nome para o objeto); o Servidor de Nomes: Tabela: Nomes, referncia de rede. o Cliente: Consulta servidor de nomes (fornecendo o nome do objeto), obtm uma referncia de rede para o objeto remoto, usa essa referncia para realizar chamadas remotas.

Organizao.
o O proxy anlogo ao stub do cliente nos sistemas RPC; o O skeleton anlogo ao stub do servidor nos sistemas RPC; o O estado dos objetos no distribudo: reside somente no cliente ou no servidor.

Tipos de Objetos.
o Objetos Persistentes; o Objetos Transientes.

Objetos Persistentes.
o Continua existindo mesmo que o servidor que esteja gerenciando o objeto seja desativado; o Posteriormente outro servidor pode ser ativado e comear a gerenciar o objeto; o Para isso, necessrio que o estado do objeto seja armazenado em um disco auxiliar.

Objetos Transientes.
o Existem apenas enquanto o servidor responsvel por gerenciar o objeto estiver ativo; o Quando o servidor desativado, todos os objetos transientes por ele gerenciados deixam de existir;

Tratamento de Excees.
o A chamada de um objeto remoto no cliente deve estar sob um controle de excees; o Caso ocorra uma exceo na execuo do objeto remoto, o servidor empacota a mensagem e envia para o cliente; o O cliente desempacota a mensagem e levanta uma exceo logo aps a chamada o objeto remoto;

Java RMI.
RMI: Invocao Remota de Mtodos; Middleware para implementao de sistemas distribudos em Java; Implementado como um pacote de linguagem; Limitaes; o Comunicao sncrona; A chamada de um mtodo remoto fica esperando seu retorno; Este problema pode ser resolvido atravs de threads; o Permite a comunicao apenas entre sistemas desenvolvidos em Java;

Comunicao Orientada por Mensagens. Sockets.


o Define um canal de comunicao entre processos. o Localizao dos processos. Endereo Ip; Nmero da porta. o Protocolos. TCP; UDP.

UDP.
o User Datagram Protocol; o Utiliza Datagramas; Estrutura de dados para transmisso em rede atravs de pacotes. o No tem mecanismo de confirmao de entrega das mensagens (No confivel); o No faz retransmisso de mensagem; o No orientado conexo.

Objetivos.
o Transmitir dados com maior desempenho possvel.

Aplicao.
o Transmisso de udio e vdeo.

Limitao.

o Tamanho das mensagens: 64 Kbytes.

TCP.
o o o o o o Transmission Control Protocol; Protocolo da camada de transporte; Protocolo base da Internet; Garante a entrega de mensagens (confivel); orientado conexo; Trata duplicidade e ordenao das mensagens.

Controle de Fluxo: o Controla a velocidade de escrita do emissor e leitura do receptor; Sem limitao: o Trata internamente a quebra de mensagens; Aplicao: o HTTP, FTP, Telnet, SMTP. Princpios de um socket TCP/IP. Socket Cria um canal de comunicao; Atar (Bind) Associa um endereo ao Socket; Escutar (Listen) Espera por novas conexes; Aceitar (Accept) Aceita a conexo; Conectar Connect - Estabelece a conexo; Enviar (Send) Envia mensagens; Receber (Receive) - Recebe mensangens; Fechar (Close) - Fecha a Conexo.

Tipos de Processos.
Threads; Virtualizao; Processos nos Clientes; Processos nos Servidores; Migrao de Cdigo; Agentes de Software.

Definies:

Linha de execuo; Diviso de um processo em tarefas que podem ser executadas simultaneamente.

O sistema operacional que fornece o suporte necessrio execuo de threads. A execuo de processos atravs de threads prov Transparncia de Concorrncia. Sistemas no-distribudos:
Resolve o problema de comandos que podem travar a execuo de um programa; Prov a execuo em paralelo de processos independentes. o Exemplo: Atualizao de um dado que dispara diversas atualizaes de dados relacionados. Prov a comunicao entre processos (IPC). o Exemplo: Sistemas Unix (Pipes, mensagens, memria compartilhada).

Sistema Paralelos e Distribudos.


Suporte a mltiplas conexes ao mesmo tempo; Cliente multithread. o Chamada de processos distribudos sem bloqueio do programa principal. o Transferncia de dados em paralelo. Exemplo: Navegadores carregando uma pgina com imagem e texto. o Execuo de processos em paralelo. Servidores multithread. o Sistemas multithread so utilizados principalmente nos servidores de aplicao distribudas. o Objetos. Suportar conexes de vrios clientes; Aumentar o desempenho das aplicaes; Aumentar a disponibilidade das aplicaes.

Virtualizao.
Surgiu na dcada de 70 para mainframes. o Suportar softwares de outros S.O. Uma nica CPU poder simular que existem outras operando em paralelo. Flexibilidade e portabilidade. o Exemplo: JVM.

Processos nos Clientes.

Interfaces com Usurios. o Web; o Celular; o Telefone; o PDA; o Rede Local. Transparncia de Distribuio. o Usurios no devem perceber a comunicao com processos remotos. Transparncia de Acesso. o O stub do cliente deve fornecer aplicao cliente a mesma definio de interface do processo que est no servidor. Transparncia de Falhas. o O middleware do cliente que tem a responsabilidade de esconder as falhas de comunicao com o servidor. Transparncia de Replicao. o O proxy do cliente pode se comunicar com vrias rplicas e passar uma nica resposta para a aplicao cliente. Oferecem servios aos clientes. o Aguardam requisies; o Garantem resposta. Exemplos (Protocolo TCP). o HTTP na porta 80. o FTP na porta 21. o SMTP na porta 25. o Telnet na porta 23. Controle de estados dos clientes. o Stateless. No mantm informaes sobre o estado dos clientes. Exemplo: Web Server. o Stateful. Mantm informaes sobre o estado dos clientes. Exemplo: Um servidor de arquivos que precisa manter atualizadas as verses dos arquivos nos clientes. Cookie: Armazenam informaes sobre os clientes que interessam ao servidor. Transferncia TCP. o Handoff. Comutador identificar o melhor servidor e repassa o pacote de requisio. o Spoofing. Servidor retorna para o cliente um pacote IP cujo cabealho possui o endereo IP do comutador como endereo de fonte. Servidores de Objetos. o Suporte a objetos distribudos.

o No prov servios. o Os servios so oferecidos pelos objetos. o Adaptadores de objetos: Software que implementam polticas de ativao para os objetos no servidor. Organizao de um servidor de objetos que suporta diferentes polticas de ativao: o Memria; o Segurana; o Cache.

Migrao de Cdigo.
Consiste na migrao do cdigo de um processo de uma mquina para outra. um procedimento caro e complexo. Necessita de uma forte razo para ocorrer: o Desempenho (Fila de CPU). Passar de uma mquina sobrecarregada para outra com maior disponibilidade. o Flexibilidade. Quebrar a execuo de um processo em partes.

Agentes de Software. Unidades autnomas de software capazes de desempenhar uma tarefa em colaborao com outros agentes, possivelmente remotos. A diferena dos agentes para um processo comum a capacidade de tomar decises por conta prpria. Utilizam princpios de inteligncia artificial. Exemplos: o Agentes que percorrem uma rede para obter determinado tipo de informao. o Agente de e-mail que filtra informaes indesejadas e responde automaticamente determinados tipos de mensagens. o Jogos digitais. o Exemplo negativo: vrus. Caractersticas: Propriedade Autnomo Reativos Proativos Comum a todos? Sim Sim Sim Descrio Agir por conta prpria Responde a mudanas no ambiente Iniciar aes que interferem no ambiente Troca informaes com usurios e outros clientes Ter um longo ciclo de vida Migrar de um local para outro

Comunicativos Sim Persistentes Mveis No No

Adaptativos

No

Ter a capacidade de aprendizado

Servidor de Nomes.
Introduo; Entidades Nomeadas; Nomeao Simples; Nomeao Estruturada; Nomeao Baseada em Atributo; Removendo Entidades No-Referenciadas.

Objetivos.
Compartilhamento de recursos; Identificao nica de entidades; Obteno de referncias de localizaes.

Para resolver nomes, necessrio que seja implantado um servio de nomes.

Exemplos:
www, sistemas de arquivos, objetos distribudos, etc.

Entidades Nomeadas Entidade.


Pode ser considerada uma entidade qualquer elemento em um sistema distribudo.

Exemplos:
Servidor, Impressora, Disco, Arquivos, etc. Processos, usurios, caixas postais, pginas Web, mensagens, interfaces grficas, etc.

Nomes e endereos.
Nome um string de bits ou caracteres utilizado para referenciar uma entidade; Para operar uma entidade, necessrio fazer uma referncia a ela atravs de um Ponto de Acesso; Um ponto de acesso tambm pode ser considerado uma entidade; O nome de um ponto de acesso chamado de Endereo.

Exemplos:
Um telefone seria um ponto de acesso para uma entidade pessoa e o nmero do telefone seria o endereo.

Exemplo em um sistema distribudo:

Ponto de acesso: Host executando um servidor especfico (FTP, HTTP, SMTP, etc.); Endereo: IP + porta.

Nomes independentes de localizao.


Um nome identifica uma entidade de forma nica; Vrios endereos podem estar associados a um mesmo nome; possvel alterar o endereo de uma entidade sem alterar o seu nome; Objetivo: maior flexibilidade para mudanas.

Identificadores.
So nomes com as seguintes propriedades: o Identificam apenas uma entidade; o Cada entidade referenciada por apenas um identificador; o Um identificador no pode ser trocado ou reutilizado.

Nomeao Simples.
Broadcasting. o Aplicvel em redes locais; o Mensagem que contm o identificador da entidade enviada pela rede; o Mquinas que podem oferecer um ponto de acesso para a entidade retornam uma mensagem com o endereo; o Baixa escalabilidade. Ponteiros repassadores. o Aplicvel para entidades mveis; o Cada vez que uma entidade muda de localizao ela deixa um ponteiro na localizao anterior; o Para localizar uma entidade, necessrio seguir os ponteiros a partir da localizao inicial; o Para evitar perda de desempenho, necessrio reduzir a cadeia de ponteiros; o Baixa escalabilidade. Localizao Nativa. o Uma localizao nativa (base) deve ser alocada para uma entidade; o Cada vez que a entidade muda de lugar, ela deve informar a nova localizao sua base; o Para localizar uma entidade, basta consultar o endereo corrente em sua base; o Alta escalabilidade; o Problema de centralizao de recursos. Tabelas Hash Distribudas (DHT). o Aplicvel em rede P2P; o Cada n contm uma tabela de derivao;

o Para que um n resolva uma requisio cujo destino no consta em sua tabela, ele repassa aos seus vizinhos... o O repasse de requisies pode ser recursivo ou iterativo; o A chave da eficincia est na proximidade dos vizinhos. rvore de pesquisa hierrquica. o Uma rede dividida em domnios; o Domnios podem ser agrupados at um nico nvel que cubra toda rede; o Todas as entidades agrupadas em um domnio so conhecidas pelo domnio superior; o Domnios de nvel mais baixo so denominados domnios-folha; o Alta escalabilidade.

Nomeao Estruturada.
Espaos de Nomes. o Sevem para organizar os nomes em um sistema distribudo. o So representados por um grafo direcionado com dois tipos de ns: N folha: Representa uma entidade nomeada. N de diretrio: Representa a organizao intermediria de todos os caminhos que levam a uma entidade. Resoluo de Nomes. o Processo de recuperao de nomes em um espao de nomes. o Atravs de mensagens na rede. Entidade X, onde est voc? Sobrecarga na rede. o Atravs de um servio de nomes. Servio, onde est a entidade X? Consistncia de dados. Implementao de espaos de nomes. Espaos de nomes distribudos o Camada global. N raiz e ns de alto nvel com alto grau de estabilidade. o Camada administrativa. Grupos de organizaes ou unidades administrativas. o Camada gerencial. Composta por ns com menor estabilidade que representam hosts em uma rede local. Implementao de espaos de nomes. o Comparao entre as camadas. Global Mundial Poucos Segundos Lento Administrativa Organizacional Muitos Milissegundos Imediato Gerencial Departamental Incontveis Imediato Imediato

Item Escala geogrfica Nmeros de ns Tempo de resposta Propagao de

atualizao Quantidades de Muitas Rplicas Cache nos clientes Sim

Poucas Sim

Pouqussimas Algumas vezes

Implementao de resoluo de nomes. o Resoluo iterativa. Cada parte de um nome resolvida atravs de uma iterao do cliente com o servidor que possui a informao da parte subsequente. o Resoluo recursiva. Os servidores de nvel mais alto interagem com os de nvel mais baixo para resolver um nome. Existe apenas uma iterao entre o cliente e o servidor raiz. Comparao: Iterativa x Recursiva. o Resoluo iterativa. Menor carga nos servidores de nomes; Desempenho depende da distncia em clientes e servidores. o Resoluo Recursiva. Exige maior desempenho dos servidores de nomes. Melhor desempenho em funo dos mecanismos de caching. Menor custo de comunicao em funo da proximidade de alguns servidores. Sistema de Nomes de Domnio (DNS). o Um dos maiores servio distribudo de nomes da Internet. o Projeto de mais de 30 anos sem indicao de necessidade de ser substitudo. o rvore hierrquica cujos rtulos so compostos por caracteres alfanumricos. Rtulo: 63 caracteres. Caminho completo: 255 caracteres. o Cada sub-rvore representa um domnio.

Nomeao Baseada em Atributo.


Fornece a descrio de uma entidade em termos de pares o Atributo + Valor. Servio de nomes de objetos. o Exemplo: rmiregistry (Java RMI). Nomeao Estruturada + Baseada em Atributo. o LDAP (Lightweight Directory Access Protocol). o AD (Active Directory Microsoft).

Removendo entidades no- referenciadas.

Entidades que no podem mais ser localizadas devem ser removidas; A organizao de referncias em sistemas distribudos deve remover automaticamente entidades no referenciadas; Mecanismos de coleta de lixo. o Contador de referncias; o Lista de processos; o Rastreamento. Contador de referncias. o Cada referncia criada para uma entidade o contador de referncias incrementado; o Quando a referncia removida, o contador decrementado; o Quando o contador zerado, o objeto pode ser removido; Lista de processos. o Todos os processos que referenciam uma entidade devem ser mantidos em uma lista; o Quando a lista estiver vazia a entidade pode ser removida; o Mais confivel que o contador; o Baixa escalabilidade; Rastreamento. o Todas as entidades que so direta ou indiretamente referenciadas por um determinado conjunto de entidades so marcadas como alcanveis; o Entidades no alcanveis devem ser removidas; o No um processo simples, pois a marcao de entidades alcanveis deve inspecionar todas as entidades do sistema; o

You might also like