Upload
internet
View
110
Download
0
Embed Size (px)
Citation preview
Sistemas distribuídos
Comunicação MulticastProf. Diovani Milhorim
Multicast
Comunicação em grupo:
Multicast
Tarefas do serviço de grupo:
Multicast
Visão do serviço de grupo:
Multicast
Comunicação de grupo:
Broadcast : um para todos Multicast : um para alguns.
Multicast
Multicast
Multicast
Multicast
Multicast
Multicast
Multicast
Multicast
Multicast
Multicast
Multicast Confiável
•Problema:Redes de comunicação não confiável.
A mensagem pode ser perder e ser entregue a alguns e não a todos os participantes do grupo.
Multicast
Multicast Confiável
Solução 1:•Processo remetente designa um número de seguência para as mensagens•Mensagens são recebidas na ordem•Cada mensagem é armazenada em buffer no remetente.•Mensagem é mantida em buffer até que todos os clientes confirmem recebimento de cada mensagem.•Retransmissão : reconhecimento negativo ou time-out
Multicast
Multicast
Multicast Confiável
Solução 1:
Problemas: Explosão do retorno.Número de mensagens de retorno é igual ao número de participantes do grupo.
Multicast
Multicast Confiável
Solução 2:•Manter esquema da solução 1, alterando o reconhecimento de mensagens.•Retornar somente reconhecimentos negativo.
•Melhora do desempenho.•Não existe garantias que a explosão de retorno não acontecerá.
•Problema: remetente tem de manter histórico de mensagens indefinidamente.
Multicast
Multicast Confiável
Solução 3:•Acontecerá apenas reconhecimento negativos.•A retransmissão se dará em multicast•Se um receptor percebe um pedido de mensagem que ele mesmo iria pedir, ele suprimi seu pedido.
•Protocolo de multicast escalável.•Deve haver um sistema de escolha aleatória de time-out em cada receptor.
Multicast
Multicast Confiável
Multicast
Multicast Confiável
Solução 4: Controle de alimentação hierárquico•Único remetente•Grupo e sub-dividido em sub-grupos organizados em árvores.•Cada sub-grupo possui um coordenador que gerencia as transmissões.•O coordenador possui um buffer para armazenar as mensagens e atender pedidos dos membros do seu grupo.
Multicast
Multicast ConfiávelSolução 4: Controle de alimentação hierárquico
Multicast
Multicast Confiável
•O que fazer quando um processo (cliente) falha.•Neste caso não lidamos com perdas de mensagens, mas com perda de um participante do grupo.•Teremos neste caso inconsistência por falha de um cliente.
Solução : multicas atômico
Multicast
Multicast Atômico:
Uma mensagem será entregue a todos os processos ou a nenhum deles.
Mensagens são entregues na mesma ordem a todos os processos
Ex: Banco de dados replicados.
MulticastMulticast Atômico:
Como implementar:
Duas informações: mensagem MVisão do grupo G
A mensagem M é enviada quando o grupo inteiro tem visão do grupo G (lista de participantes)
MulticastMulticast Atômico:
Como implementar:
Duas informações: mensagem MVisão do grupo G
Se a visão do grupo muda enquanto a mensagem M é enviada. Apenas os elementos presentes na visão G antes de sua alteração recebem a mensagem M
MulticastMulticast Atômico:
Como implementar:
Duas informações: mensagem MVisão do grupo G
Se um elemento do grupo presente na visão G falha e não recebe a mensagem, então todos os membros do grupo ignoram a mensagem (multicast virtualmente síncrono).