Atomic Broadcast Using Time-outs instead of Synchronised Time Francisco V. Brasileiro 1 and Paul D. Ezhilchelvan 2 1 Departamento de Sistemas e Computação Universidade Federal da Paraíba - UFPb/Campus II Av. Aprígio Veloso s/n, Campina Grande - Pb, 58109-970, Brazil 2 Computing Science Department University of Newcastle upon Tyne Newcastle Upon Tyne, NE1 7RU, UK Resumo Os protocolos síncronos e determinísticos para disseminç¶o atomica de informaç¶o publicados na literatura requerem que os relógios dos processadores que formam o sistema sejam sincronizados de tal forma que a qualquer instante, a diferença entre os valores lidos pelos relógios de quaisquer dois processadores que estejam corretos é sempre menor ou igual a um determinado valor, conhecido por todos os processadores que formam o sistema. Neste artigo, nós apresentamos um protocolo para disseminaç¶o atomica de informaç¶o que n¶o requer essa propriedade, o que torna nosso protocolo auto-suficiente. O desempenho do protocolo é analisado, e mostra-se que nosso protocolo é, em prática, t¶o eficiente quanto aqueles baseados em relógios sincronizados. O artigo também apresenta um mecanismo que pode ser adaptado ao protocolo de forma a permitir a reintroduç¶o ao sistema, após reparo, de processadores que tenham falhado. Em sistemas que requerem relógios sincronizados, esta operaç¶o necessita ser precedida por uma resincronizaç¶o do relógio do processador que deseja ser reintroduzido ao sistema. Essa resincronizaç¶o, por sua vez, requer que pelo menos a maioria dos processadores presentes no sistema antes da reintroduç¶o de um processador, estejam corretos. Nosso algorítmo n¶o requer nenhum valor mínimo para o número de processadores no sistema que necessitam estar funcionando corretamente antes que algum processador tente ser reintroduzido. Abstract Synchronous and deterministic atomic broadcast protocols published in the literature require that non- faulty processors of the system maintain their clocks in known and bounded synchronism. We present an atomic broadcast protocol that does not require processors' clocks to be kept synchronised. This means that our protocol is self-contained, since it can be implemented without the need of a low-level implementation of a clock synchronisation protocol. We provide correctness proofs and analyse the protocol's performance; we show that our protocol in practice can be as fast as any synchronised-time based protocol. We then enhance our protocol to include a join facility by which a repaired processor can rejoin the system. The absence of the notion of synchronised-time greatly simplifies this enhancement and, in particular, does not require at least a majority of processors in the system to be non-faulty when a repaired processor attempts to join the system. This majority requirement is essential to handle processors' join in synchronised-time based protocols. Keywords and Phrases Atomic broadcast, Byzantine failures, fault tolerance, agreement, clock synchronisation, message authentication, processor restart, joining.