In order to implement a precise and accurate local clock, the
host must be equipped with a hardware clock consisting of an oscillator and interface and capable of the required precision and
stability. A logical clock is then constructed using these components plus software components that adjust the apparent time and
frequency in response to
periodic updates computed by NTP or some other time-synchronization protocol such as Hellospeak [MIL83b] or the Unix 4.3bsd TSP
[GUS85a]. This section describes the Fuzzball local-clock model and implementation, which includes provisions for precise time and
frequency adjustment and can maintain time to within 15 ns and frequency to within 0.3 ms per day. The model is suitable for use with
both compensated and uncompensated quartz oscillators and can be adapted to power-frequency oscillators. A summary of the
characteristics of these and other types of oscillators can be found in Appendix E, while a comprehensive
mathematical analysis of the NTP local-clock model can be found in Appendix G.
It is important to note that the particular implementation described is only one of possibly many implementations that provide
equivalent functionality. However, it is equally important to note that the clock model described in Appendix
G and which is the basis of the implementation involves a particular kind of control-feedback loop that is potentially unstable if
the design rules are broken. The model and parameter described in Appendix G are designed to provide
accurate and stable time under typical operating conditions using conventional hardware and in the face of disruptions in hardware or
network connectivity. The parameters have been engineered for reliable operation in a multi-level hierarchical subnet where unstable
operation at one level can disrupt possibly many other levels.
|
|