PreviousNext

Synchronizing System Clocks

To maintain uniform system times, DTS servers and clerks periodically synchronize the clocks in all network systems. The DTS entity that is on each system performs these synchronizations by requesting that servers send their combined clock and inaccuracy values (time intervals) to the originating system. The entity then uses the values that are sent by the servers to compute a new system time.

DTS servers and clerks have slightly different synchronization procedures. Before attempting to synchronize with other systems, DTS servers always check that an external time-provider is present on the server system. A given server requests times from other servers if no time-provider is available. When no time-provider is available and a server synchronizes with its peer servers, the server uses its own system time as one of the input values when it computes a new system time.

Most network systems run the DTS clerk process. Clerks cannot have time-providers, and they do not use the system time of their client systems to compute new times. When a clerk is synchronizing its client system's clock, the clerk uses only the time values that it obtains from servers to compute a new system time.

When a DTS clerk requests time intervals from several servers, it uses them to calculate a new time that is correct (that is, contains UTC) and that minimizes inaccuracy. When the servers respond and the DTS clerk calculates network communications uncertainties and drift for each of the time values, the clerk has a set of intervals (t1 through t4 in the following figure). Since each interval contains UTC, the intersection is the smallest interval the clerk can choose that also contains UTC. This intersection is the computed time. The DTS entity uses the computed time interval to adjust the clock on the system that receives the server values.

In addition to eliminating large inaccuracy values during synchronization, DTS also discards intervals that are received from faulty clocks (t2 in the figure). DTS detects and rejects clock intervals that do not intersect with the majority of the intervals. When DTS detects a faulty interval, it notifies the system manager by displaying an event message, identifying the server that sent the faulty value.

A server that has a high-drift clock or is far away in the network submits its time to the DTS entity (t1 in the figure), but the large time interval is ignored since more accurate times are available. Note that, in the following figure, the endpoints of correct time (t1) are further from the computed time midpoint than those of the interval that is declared faulty (t2).


Computed Time

During the synchronization process, servers with the greatest accuracy have the most influence in determining new system times throughout the network. In the previous figure, the server that submitted time value t3 has the smallest correct interval, and is therefore the closest to the computed time. Server systems with external time-providers are usually the servers with the most accurate times. Beyond TP servers, those servers with the highest quality clocks and best communications links tend to influence the time on other systems to the greatest degree.

The synchronization process also reduces the skew between systems. The computed time interval is often smaller than the interval that is supplied by any single clock. Note that the computed time in the previous figure is a smaller interval than any of the source intervals. As the synchronization procedure is constantly repeated on each network system, the skew between systems is reduced and they are more closely synchronized. However, if a time-provider is absent from the network, the clocks may collectively drift away from UTC.