Consider a distributed network of n nodes that is connected to a global source of “beats”. All nodes receive the “beats” simultaneously, and operate in lock-step. A scheme that produces a “pulse” every Cycle beats is shown. That is, the nodes agree on “special beats”, which are spaced Cycle beats apart. Given such a scheme, a clock synchronization algorithm is built. The “pulsing” scheme is self-stabilized despite any transient faults and the continuous presence of up to f < n 3 Byzantine nodes. Therefore, the clock synchronization built on top of the “pulse” is highly fault tolerant. In addition, a highly fault tolerant general stabilizer algorithm is constructed on top of the “pulse” mechanism. Previous clock synchronization solutions, operating in the exact same model as this one, either support f < n 4 and converge in linear time, or support f < n 3 and have exponential convergence time that also depends on the value of max-clock (the clock wrap...
Danny Dolev, Ezra N. Hoch