Skip to Main Content
The Precision Time Protocol (PTP) distributes a time reference across a network. It specifically addresses demanding environments, where it can reach sub microsecond precision using appropriate technologies. Its scalability is primarily limited by packet delay variations induced by packet collisions. While it is possible to avoid collisions with non-PTP packets using traffic management technologies, collision between PTP packets is an open problem in large systems with critical clock precision requirements. We propose a coordination algorithm that avoids the occurrence of such collisions. It assumes that the master clock, which is the timing reference source, can send a packet in multicast to the slaves: this is not a restrictive hypothesis, since PTP itself takes advantage of this kind of connectivity, and it is also compatible with typical wireless environments. The algorithm operates without introducing additional traffic, it ensures an upper bound to the time between two successive synchronizations of any given slave, it does not alter the structure of the standard PTP messages, it envisions a dynamic number of slaves, it tolerates the replacement of the master with a hot spare in case of failure, and does not rely on specialized hardware. The algorithm has a footprint that does not insist on activities that are already time sensitive, and its operation is mostly concentrated on the master. The algorithm inherits security and fault tolerance limits from PTP: in particular this refers to malicious nodes, and to broken devices that may jam the network.