Substituting for real time and common knowledge in asynchronous distributed systems
Gil Neiger, Sam Toueg · 1987
We study time and knowledge in reliable distributed systems with asynchronous communication.We first describe an extension of Lamport's logical clocks that can be used as if they were perfectly synchronized real-time clocks in the solution of a large class of problems that we formally characterize.For this same class of problems, we also propose a broadcast primitive that can be used as if it achieves common knowledge.Our logical clocks and broadcast primitive are tools that considerably simplify the design of distributed algorithms: one can now design and prove them correct with the assumption that processors have access to real-time clocks and the ability to achieve common knowledge.The latter can be used to implement the abstraction of shared memory.Extensions to more synchronous systems are considered.