Professional Documents
Culture Documents
SISTEMAS
DISTRIBUÍDOS
BASEADOS EM
COORDENAÇÃO
Livro do Tanembaum, cap 13
Aula de 14/09/2011
14/09/2011 2
Introdução
• Separação clara entre computação e coordenação
• Considere um SD como um conjunto de processos
• A parte da computação é formada pelos processos, que executam
tarefas de maneira independente.
• A parte da coordenação manipula os mecanismos necessários
para comunicação e cooperação entre os processos.
• Nos SD baseados em coordenação o foco está no modo
como ocorre a coordenação entre os processos.
14/09/2011 3
• Modelos de Coordenação
• Acoplamento
• Referencial
• Comunicação explícita entre os processos
• Por exemplo, um processo só pode se comunicar se souber os nomes
ou identificadores dos outros processos com os quais quer trocar
informações.
• Temporal
• Significa que ambos os processos em comunicação tem de estar
ligados e em funcionamento.
14/09/2011 4
Arquitetura
• Um aspecto importante de sistemas baseados em
coordenação é que a comunicação ocorre pela descrição
das características de itens de dados que devem ser
trocados.
• Abordagem Global
• Vamos considerar que itens de dados são descritos por uma série
de atributos.
• Um tipo de dados é publicado quando é oferecido para outros
processos para leitura. Para isso, é preciso passar para o
middleware uma subscrição que contenha uma descrição dos
itens de dados nos quais o subscritor está interessado.
• Essa descrição normalmente é composta por alguns pares (atributo,
valor). .
14/09/2011 8
• Arquiteturas Tradicionais
• A solução mais simples para comparar itens de dados
com subscrições é ter uma arquitetura cliente/servidor
centralizada. Essa é uma solução adota atualmente por
muitos sistemas publicar/subscrever, como por exemplo:
• WebSphere da IBM
• JMS da SUN
• JINI/JavaSpaces
14/09/2011 11
Exercícios
• 1. Explique porque sistemas descentralizados baseados
em coordenação têm problemas inerentes de
escalabilidade.
• 2. Um período de leasing em JINI é sempre especificado
como duração e não como um horário absoluto no qual
leasing expira. Por quê?
• 3. Quais são os mais importantes problemas de
escalabilidade em JINI?
• 4. Suponha que um cliente JINI coloca em cache a tupla
que obteve de um JavaSpace de modo a evitar ter de
consultar o JavaSpace da próxima vez. Essa cache faz
algum sentido? Explique.
14/09/2011 19