Perguntas interessantes para pensar entre a Aula 2 e a Aula 3. --------------------------------------------------------------- No final da aula foram colocadas duas maneiras ligeiramente diferentes de definir difusao fiavel: P1- Se um processo correcto (que nao falha) p envia uma mensagem m, entao se o destinatario q estiver correcto, q entrega a mensagem m. P2a - Se um processo p entrega uma mensagem m, entao m e entregue a todos os processos correctos. P2b - Se um processo correcto p entrega uma mensagem m, entao m e entregue a todos os processos correctos. Pergunta-se: - A diferenca entre P2a e P2b e um pormenor que nao interessa a ninguem? - Pelo contrario, interessa. Quais as consequencias da (subtil) diferenca. Foi tambem proposto o seguinte algoritmo: Emissor - quando quer enviar m para todos os processos p envia-pontoaponto (p, m) Todos os processos - init entregues := vazio; - quando recebe m para todos os processos p envia-pontoaponto (p, m) if (m nao pertence a "entregues") entao entregues := entregues + m entrega (m) Pergunta-se: O algoritmo acima resolve a difusao fiavel se esta for definida como: - P1 + P2a - P1 + P2b - Ambos os casos - Nenhum dos casos Caso nao resolva o problema para um/ambos os casos, como pode alterar o algoritmo para resolver o problema?