Secrets of Time Synchronization Software

  |   By

Time synchronization is a crucial aspect of computer networking. Ensuring all machines on a network are synchronised to the global timescale, UTC (Coordinated Universal Time), otherwise time sensitive transactions with other networks would be impossible.

Time synchronization is made easy thanks to the Network Time Protocol (NTP) which was devised in the early days of the Internet for that very purpose. It works be utilising a single time source (usually UTC) which is then distributed amongst all devices on the NTP network.

The UTC time source is often taken from the Internet on networks where security is not a great issue but as this involves leaving an open port in a network firewall for many networks the vulnerability this can leave isn’t worth the risk.

Dedicated network time servers (often referred to as NTP servers) are used by many networks as a secure and even more accurate method of receiving UTC. These devices receive the UTC time direct from an atomic clock source.

Furthermore, these dedicated time servers operate external to the firewall and network and use sources such as GPS or radio frequencies to pick up the time codes.

For ease of synchronisation there are various time synchronisation software packages that run hand-in-hand with NTP and allow, through browser interfaces, easy configuration of the time synchronization throughout the network.

Whilst these time synchronisation software packages aren’t essential in using most NTP servers, the standard software installed in operating systems is often lacking or quite complicated.

Most specialist producers of dedicated network time servers will produce a times service client to allow configuration and these are probably best suited for the device from that suppler. However, there are many freeware and open source time synchronisation software packages that are mostly compatible with many NTP servers.

A Brief History of Computer Time

  |   By

Telling the time is something may of us learn when we are very small children. Knowing what time it is is an essential part of our society and we couldn’t function without it. Just imagine if we didn’t tell the time – when would you go to work? When would you leave and how would it be possible to meet other people or arrange any kind of function.

While telling the time is crucial to us, it is even more vital for computers who use time as the only point of reference and amongst computer networks time synchronisation is vital. Without recording the passing of time, computers couldn’t function as there would be no reference to order programs and functions.
But the way computers tell the time and date is far different to the way we record it. Rather than record a separate time, date and year – computer systems use a single number. This number is based on the number of seconds from a set point in time – known as the prime epoch.

When this epoch is, depends on the operating system or programming language in question. For instance, Unix systems have a prime epoch which starts at 1 January 1970 and the number of seconds from the epoch are counted in a 32 bit integer. Other operating systems, such as Windows, use a similar system but the epoch is different (Windows starts on 1 January 1601).

There are, however, disadvantages to this integer system. For instance as the Unix system is a 32-bit integer which started in 01 Jan 1970, by 19 January 2038 the integer will have exhausted every possible number and will have to return to zero’s. This could cause problems with systems reliant on Unix in a problem reminiscent of the Millennium bug.
There are other issues involving computer time also. Because of the global requirements of the Internet all computer time is now based on UTC (Coordinated Universal Time). However, UTC is altered on occasion by adding Leap Seconds to ensure the time matches the rotation of the Earth (the Earth’s rotation is never exact due to gravitational forces) so leap second handling has to be encompassed into a computer time systems.

Computer time is often associated with NTP (Network Time Protocol) which is used to synchronise computers often using a network time server.