Timekeeping and accuracy is important in the running of our day-to-day lives. We need to know what time events are occurring to ensure we don’t miss them, we also need to have a source of accurate time to prevent us from being late; and computers and other technology are just as reliant on the tine as we are.
For many computers and technical systems, the time in the form of a timestamp is the only tangible thing a machine has to identify when events should occur, and in what order. Without a timestamp a computer is unable to perform any task—even saving data is impossible without the machine knowing what time it is.
Because of this reliance on time, all computer systems have in-built clocks on their circuit boards. Commonly these are quartz based oscillators, similar to the electronic clocks used in digital wrist watches.
The problem with these system clocks is that they are not very accurate. Sure, for telling the time for human purposes they are precise enough; however, machines quite often require a higher level of accuracy, especially when devices are synchronised.
For computer networks, synchronisation is crucial as different machines telling different times could lead to errors and failure of the network to perform even simple tasks. The difficult with network synchronisation is that the system clocks used by computers to keep time can drift. And when different clocks drift by differing amounts, a network can soon fall into disarray as different machines keep different times.
For this reason, these system clocks are not relied on to provide synchronisation. Instead, a far more accurate type of clock is used: the atomic clock.
Atomic clocks don’t drift (at least not by more than a second in a million years) and so are ideal to synchronise computer networks too. Most computers use the software protocol NTP (Network Time Protocol) which uses a single atomic clock time source, either from across the internet, or more securely, externally via GPS or radio signals, in which it synchronises every machine on a network to.
Because NTP ensures each device is kept accurate to this source time and ignores the unreliable system clocks, the entire network can be kept synchronised to with each machine within fractions of a second of each other.