Clock synchronization algorithms ensure that physically dispersed processors have a common knowledge of time. This paper proposes a taxonomy adapted to all published software fault-tolerant clock synchronization algorithms: deterministic and prob-abilistic, internal and external, and resilient from crash to Byzantine failures. We classify clock synchronization algorithms according to their inte...