Sistemas distribuídos Comunicação Multicast Prof. Diovani Milhorim

Preview:

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).

Recommended