Dynamic fault-tolerant clock synchronization
- 3 January 1995
- journal article
- Published by Association for Computing Machinery (ACM) in Journal of the ACM
- Vol. 42 (1) , 143-185
- https://doi.org/10.1145/200836.200870
Abstract
This paper gives two simple efficient distributed algorithms: one for keeping clocks in a network synchronized and one for allowing new processors to join the network with their clocks synchronized. Assuming a fault-tolerant authentication protocol, the algorithms tolerate both link and processor failures of any type. The algorithm for maintaining synchronization works for arbitrary networks (rather than just completely connected networks) and tolerates any number of processor or communication link faults as long as the correct processors remain connected by fault-free paths. It thus represents an improvement over other clock synchronization algorithms such as those of Lamport and Melliar Smith and Welch and Lynch, although, unlike them, it does require an authentication protocol to handle Byzantine faults. Our algorithm for allowing new processors to join requires that more than half the processors be correct, a requirement that is provably necessary.Keywords
This publication has 12 references indexed in Scilit:
- A new fault-tolerant algorithm for clock synchronizationInformation and Computation, 1988
- Optimal clock synchronizationJournal of the ACM, 1987
- A new look at fault-tolerant network routingInformation and Computation, 1987
- On the possibility and impossibility of achieving clock synchronizationJournal of Computer and System Sciences, 1986
- Synchronizing clocks in the presence of faultsJournal of the ACM, 1985
- An upper and lower bound for clock synchronizationInformation and Control, 1984
- Using Time Instead of Timeout for Fault-Tolerant Distributed Systems.ACM Transactions on Programming Languages and Systems, 1984
- Reaching Agreement in the Presence of FaultsJournal of the ACM, 1980
- Time, clocks, and the ordering of events in a distributed systemCommunications of the ACM, 1978
- A method for obtaining digital signatures and public-key cryptosystemsCommunications of the ACM, 1978