In Figure 1, a synchronization subnet is composed of the primary time server, secondary time servers, clients, and interconnecting transmission paths.
The functions of the primary and secondary time servers are as follows:
A primary time server is directly synchronized to a primary reference source, usually a radio clock or global positioning system (GPS).
A secondary time server is synchronized to another secondary time server or a primary time server. Secondary time servers use NTP to send time information to other hosts in a Local Area Network (LAN).
When there is no fault, primary and secondary servers in the synchronization subnet assume a hierarchical master-slave structure, with the primary servers at the root and secondary servers at successive stratums toward the leaf node. The lower the stratum, the less precise the clock (where one is the highest stratum).
As the stratum increases from one, the clock sample accuracy gradually decreases, depending on the network paths and local-clock stability. To prevent tedious calculations necessary to estimate errors in each specific configuration, it is useful to calculate proportionate errors. Proportionate errors are approximate and based on the delay and dispersion relative to the root of the synchronization subnet.
This design helps the synchronization subnet in automatically reconfiguring the hierarchical master-slave structure to produce the most accurate and reliable time, even when one or more primary or secondary servers or the network paths in the subnet fail. If all primary servers fail, one or more backup primary servers continue operations. If all primary servers over the subnet fail, the remaining secondary servers then synchronize among themselves. In this case, distances reach upwards to a pre-selected maximum "infinity".
Upon reaching the maximum distance to all paths, a server drops off the subnet and runs freely based on its previously calculated time and frequency. The timekeeping errors of a Device having a stabilized oscillator are not more than a few milliseconds per day as these computations are expected to be very precise, especially in terms of frequency.
In the case of multiple primary servers, a specific selection algorithm is used to select the server at a minimum synchronization distance. When these servers are at approximately the same synchronization distance, they may be selected randomly.
The accuracy cannot be decreased because of random selection when the offset between the primary servers is less than the synchronization distance.
When the offset between the primary servers is greater than the synchronization distance, use filtering and selection algorithms to select the best servers available and discard others.