Journal of the ACM · 1985 · 543 citations · 10 references
ComputingComputer EngineeringComputer ScienceFault ToleranceFault-tolerant ComputingFault-tolerant SystemsClock ManagementClock SynchronizationDistributed ComputingDistributed SynchronizationReliable Distributed SystemsTime SynchronizationClock Synchronization AlgorithmsSynchronizationSynchronization AlgorithmsTime Synchronization In Distributed Systems
Algorithms are described for maintaining clock synchrony in a distributed multiprocess system where each process has its own clock. These algorithms work in the presence of arbitrary clock or process failures, including “two-faced clocks” that present different values to different processes. Two of the algorithms require that fewer than one-third of the processes be faulty. A third algorithm works if fewer than half the processes are faulty, but requires digital signatures.
10
Reaching Agreement in the Presence of Faults
Marshall C. Pease, Robert E. Shostak, Leslie Lamport · Journal of the ACM · 1980 · 2.4K citations · Full text
Authenticated Algorithms for Byzantine Agreement
Danny Dolev, H. Raymond Strong · SIAM Journal on Computing · 1983 · 641 citations
The Byzantine generals strike again
Danny Dolev · Journal of Algorithms · 1982 · 573 citations