Terms and Notation (Computer Network Time Synchronization)

Recall that t represents the epoch according to the tick counter, called process time, while T(t) represents the real time displayed by a clock at that epoch. Then,

tmp95_thumb

wheretmp96_thumbis some epoch in process time whentmp97_thumbis the UTC time,tmp98_thumbis the frequency,tmp99_thumbis the drift (first derivative of frequency), and x(t) is some stochastic noise process yet to be determined. It is conventional to represent both absolute and relative (offset) values for T and R using the same letters, where the particular use is clear from context. In the conventional stationary model used in the literature, T and R are estimated by some statistical process, and the second-order term D is ignored.


The time offset of clock i relative to clock j is the time difference between themtmp910_thumbat a particular epoch t, while the frequency offset is the frequency difference between themtmp911_thumbIt follows thattmp912_thumbfor all t. In this topic, reference to offset means time offset unless indicated otherwise.

A computer clock is characterized by stability, accuracy, resolution, precision, and tolerance, which are technical terms in this topic. Stability is how closely the clock can maintain a constant frequency, while accuracy is how closely its time compares with UTC. Resolution is the smallest increment of the hardware clock, which is equivalent to the number of significant seconds-fraction bits in a clock reading. Precision is the maximum error in reading the system clock at the user level; that is, the latency inherent in its reading.* Tolerance is the maximum oscillator frequency error inherent in the manufacturing process and operating environment.

A source, whether the system clock or another remote clock in the network, is characterized by jitter, wander, and reliability. Jitter is the root-mean-square (RMS) differences between a series of time offsets, while wander is the RMS differences between a series of frequency offsets. Finally, the reliability of a timekeeping system is the fraction of the time it can be kept connected to the network and operating correctly relative to stated accuracy and stability tolerances. While sufficiently rigorous for the purposes of this topic, these terms are given precise definitions in topic 12.

In Equation 3.1, a careful distinction is made between the time of a happening in real time, called a timestamp, and the ordering of this happening in process time, called an epoch. It is sufficient that epochs be ordered only by a sequence number, but we adopt the convention that the sequence number increments in ticks of the (undisciplined) system clock oscillator. In this topic, we adopt the convention that a timestamp is represented by uppercase T, while the ordering of an epoch in process time is indicated by lowercase t. It is convenient to scale the value of tick so that the rate that time progresses in real time is close to the rate that time progresses in process time:

tmp920_thumb

The remainder of this topic follows the journey of an NTP packet on arrival at a client. First, the packet is inspected, cleaned, and scrubbed of dirt that may have been picked up in transit or even as soil from an intruder. Next, the clock filter algorithm selects the best of the recent packets and extracts several statistics for later use. As there may be several such journeys running at the same time, the select algorithm classifies the truechimers and falsetickers according to formal agreement principles. The survivors are further processed by the cluster algorithm to cast off imprecise outliers, and the resulting candidates are averaged. The final result is passed on to the discipline algorithm discussed elsewhere in this topic.

Next post:

Previous post: