The known problem with this mechanism is that it can drift away from the actual time of the day, based on how fast or slow the crystals oscillate. To fix this, computers typically have a service like NTP which synchronizes computer clocks with well known time sources on the internet.
- NTP Client sends out a request at
- NTP Server receives request at
- NTP Server sends a response at
- NTP Client receives a request at
- Round-trip network delay =
- Estimated single-trip network delay =
- Estimated server time when client receives response, so clock skew is
- If , slew the clock: speed it up/slow it down by 500ppm until clocks are in sync
- If , step the clock: suddenly reset client clock to estimated server timestamp
- If , panic and do nothing (leave it to the humans!)