Computers rely on crystal oscillators to maintain time. These components while very low-cost have quite a large margin of error.

A crystal oscillator is an electronic circuit that utilises the mechanical resonance of a vibrating crystal. This creates an
electrical signal with a pre-determined frequency. This frequency is used by computers and other clocks to maintain time. The most
common type of resonator is quartz, hence, the term “quartz oscillator” or “crystal oscillator”. However, the frequency of
oscillators have a tendancy to speed up or slow down with temperature variation. This leads to the internal clocks drifting away from
the correct time.

Ways of Synchronising Time.
Initially, you may wonder where a source of accurate time for a computer network can be obtained. However, there are atomic clocks
available that can maintain time to very high degree of accuracy. Unfortunately, these are large and very expensive pieces of
equipment generally located in National Physics Laboratories. However, there are a number of broadcast time references, provided by
National Standards Agencies, which are linked to these atomic clocks. Accurate radio time broadcasts are transmitted by a number of
countries across Europe and North America, including UK, Germany, France, USA and Canada. The Global Positioning System (GPS) is
another source of accurate time. The GPS system consists of a constellation of 24 orbiting satellites, each one with an onboard
atomic clock. Primarily used for navigation, the system also provides a very accurate time reference. All of the above references
can, and are, used for computer time synchronisation.

The Importance Of Computer Network Time Synchronisation

Time synchronisation of networked computers is an extremely important issue. Computers maintain time using relatively low-cost
components, which do not keep particularly accurate time. Consequently, each computers time, on a network of computers, will drift
away from each other to varying degrees. This may not sound like too much of a problem, but it can lead to real headaches.

Many applications are time critical. Often computers need to know the exact time an event occurs, such as controlling a production
line where each individual process needs to be synchronised. Also, transaction-processing applications on a network of computers,
synchronisation is required to ensure transactions are processed from computers in an ordered manner. A computerised parking system
needs to have entry and exit machines synchronised to ensure accurate calculation of time spent on the car park. There are a large
number of applications that utterly rely on the synchronisation of time between multiple computers.