Bringing Atomic Clock Precision to your Desktop

  |   By

Atomic clocks have been a huge influence on our modern lives with many of the technologies that have revolutionised the way we live our lives relying on their ultra precise time keeping abilities.

Atomic clocks are far different to other chronometers; a normal watch or clock will keep time fairly accurately but will lose second or two each day. An atomic clock on the other hand will not lose a second in millions of years.

In fact it is fair to say that an atomic clock doesn’t measure time but is the foundations we base our perceptions of time on. Let me explain, time, as Einstein demonstrated, is relative and the only constant in the universe is the speed of light (though a vacuum).

Measuring time with any real precision is therefore difficult as even the gravity on Earth skews time, slowing it down. It is also almost impossible to base time on any point of reference. Historically we have always used the revolution of the earth and reference to the celestial bodies as a basis for our time telling (24 hours in a day = one revolution of the Earth, 365 days = one revolution of the earth around the Sun etc).

Unfortunately the Earth’s rotation is not an accurate frame of reference to base our time keeping on. The earth slows down and speeds up in its revolution meaning some days are longer than others.

Atomic clocks
however, used the resonance of atoms (normally caesium) at particular energy states. As these atoms vibrate at exact frequencies (or an exact number of times) this can be used as a basis for telling time. So after the development of the atomic clock the second has been defined as over 9 billion resonance ’ticks’ of the caesium atom.

The ultra precise nature of atomic clocks is the basis for technologies such as satellite navigation (GPS), air traffic control and internet trading. It is possible to use the precise nature of atomic clocks to synchronise computer networks too. All that is needed is a NTP time server (Network Time Protocol).
NTP servers receive the time from atomic clocks via a broadcast signal or the GPS network they then distribute it amongst a network ensuring all devices have the exact same, ultra precise time.

The World in Perfect Synchronization

  |   By

Synchronization is something we are familiar with everyday of our lives. From driving down the highway to walking crowded street; we automatically adapt our behaviour to synchronize with those around us. We drive in the same direction or walk the same thoroughfares as other commuters as failing to do so would make our journey a lot more difficult (and dangerous).

When it comes to timing, synchronisation is even more important. Even in our day to day dealings we expect a reasonable amount of synchronisation from people. When a meeting starts at 10am we expect everybody to be there within a few minutes.

However, when it comes to computer transactions across a network, accuracy in synchronisation becomes even more important where accuracy to a few seconds is too inadequate and synchronisation to the millisecond becomes essential.

Computers use time for every transaction and process they do and you only have to think back to the furore caused by the millennium bug to appreciate the importance computer’s place on time. When there is not precise enough synchronisation then all sorts of errors and problems can occur, particularly with time sensitive transactions.

Its not just transactions that can fail without adequate synchronisation but time stamps are used in computer log files so if something goes wrong or if a malicious user has invaded (which is very easy to do without adequate synchronisation) it can take a long time to discover what went wrong and even longer to fix the problems.

A lack of synchronisation can also have other effects such as data loss or failed retrieval it can also leave a company defenceless in any potential legal argument as a badly or unsynchronised network can be impossible to audit.

Millisecond synchronisation is however, not the headache many administrators assume it is going to be. Many opt to take advantage of many of the online timeservers that are available on the internet but in doing so can generate more problems than it solves such as having to leave the UDP port open in the firewall (to allow the timing information through) not-to-mention no guaranteed level of accuracy from the public time server.

A better and simpler solution is to use a dedicated network time server that uses the protocol NTP (Network Time Protocol). A NTP time server will plug straight into a network and use the GPS (Global Positioning System) or specialist radio transmissions to receive the time direct from an atomic clock and distribute it amongst the network.

The Concept of Time

  |   By

Time is something that we are all familiar with, it governs our lives even more so than money and we are constantly ‘at war’ with time as we battle to conduct our daily tasks before it runs out.

Yet when we start to examine time we discover that the concept of time we begin to realise that a non-ending linear distance between different events that we call time is purely a human invention.

Of course time exists but it certainly doesn’t follow the rules that the human concept of time does. It is not never ending or constant and changes and warps depending on speed of observers and the pull of gravity. In fact it was Einstein’s theories on relativity that gave human kind its first glimpse as to what time really is and how it affects our daily lives.

Einstein described a four-dimensional space-time, where time and space are inextricably woven together. This space-time gets warped and bent by gravity slowing time (or our perception of it). Einstein also, he suggested that the speed of light was the only constant in the universe and time altered depending on the relative speed to it.

When it comes to keeping track of time, Einstein’s theories can hamper any attempts at chronology. If both gravity and relative speed can affect time then it becomes difficult to measure time accurately.

We long ago abandoned the idea of using the celestial bodies and Earth’s rotation as a reference for our timekeeping as it was recognised in the early twentieth century that Earth’s rotation wasn’t at all accurate or reliable. Instead, we have depended n the oscillations of atoms to keep track of time. Atomic clocks measure atomic ticks of particular atoms and our concept of time is based on these ticks with every second being equal to over 9 billion oscillation of the caesium atom.

Even though we now base time on atomic oscillations, technologies such as GPS satellites (Global Positioning System) still have to counter the effects of lower gravity. In fact the effects of time can be monitored so accurately thanks to atomic clocks that those at different altitudes above sea level run at slightly differing speeds which has to be compensated for.

Atomic clocks can also be used to synchronise a computer network ensuring that they are running as accurately as possible. Most NTP time servers operate by utilising and distributing the time signal broadcast by an atomic clock (either through GPS or long wave) using the protocol NTP (Network Time Protocol).

Why the Need for NTP

  |   By

Network Time Protocol is an Internet protocol used to synchronize computer clocks to a stable and precise time reference. NTP was originally developed by Professor David L. Mills at the University of Delaware in 1985 and is an Internet standard protocol and is used in most network time servers, hence the name NTP server.

NTP was developed to solve the problem of multiple computers working together and having the different time. Whilst, time usually just advances, if programs are running on different computers time should advance even if you switch from one computer to another. However, if one system is ahead of the other, switching between these systems would cause time to jump forward and back.

As a consequence, networks may run their own time, but as soon as you connect to the Internet, effects become visible. Just Email messages arrive before they were sent, and are even replied to before they were mailed!

Whilst this sort of problem may seem innocuous when it comes to receiving email, however, in some environments a lack of synchronisation can have disastrous results this is why air traffic control was one of the first applications for NTP.

NTP uses a single time source and distributes it amongst all devices on a network it does this by using an algorithm that works out how much to adjust a system clock to ensure synchronisation.

NTP works on a hierarchical basis to ensure there are no network traffic and bandwidth problems. It uses a single time source, normally UTC (coordinated universal time) and receives time requests from the machines on the top of the hierarch which then pass the time on further down the chain.

Most networks that utilise NTP will use a dedicated NTP time server to receive their UTC time signal. These can receive the time from the GPS network or radio transmissions broadcast by national physics laboratories. These dedicated NTP time servers are ideal as they receive time direct from an atomic clock source they are also secure as they are situated externally and therefore do not require interruptions in the network firewall.

NTP has been an astronomical success and is now used in nearly 99 per cent of time synchronisation devices and a version of it is included in most operating system packages.

NTP owes much of its success to the development and support it continues to receives nearly three decades after its inception which is why t is now used throughout the world in NTP servers.

WWVB Explained

  |   By

The NTP time server (Network Time Protocol) is an essential tool for keeping networks synchronised. Without adequate synchronization, computer networks can be left vulnerable to security threats, data loss, fraud and may find it impossible to interact with other networks across the globe.

Computer networks are normally synchronised to the global timescale UTC (Coordinated Universal Time) enabling them to communicate efficiently with other networks also running UTC.

Whilst UTC time sources are available across the Internet these are not secure (being outside the firewall) and many are either too far away to provide adequate precision or are too inaccurate to begin with.

The most secure methods of receiving a UTC time source are to use a dedicated NTP Time Server. These devices can receive a secure and accurate time signal either the GPS network (Global Positioning System) available anywhere across the globe with a good view of the sky or through specialist radio transmission broadcast by national physics laboratories.

In the US the National Institute for Standards and Time (NIST) broadcast a time signal from near Fort Collins, Colorado. The signal, known as WWVB can be received all over North America (including many parts of Canada) and provides an accurate and secure method of receiving UTC.

As the signal is derived from atomic clocks situated at the Fort Collins site, WWVB is a highly accurate method of synchronising time and is also secure as a dedicated NTP time server acts as an external source.

Security and Synchronisation

  |   By

Security is often the most worried about aspect of running a computer network. Keeping unwanted users out whilst allowing freedom for users to access network applications is a full time job. Yet many network administrators fail to pay any heed to one of the most crucial aspects of keeping a network secure – time synchronisation.

Time synchronisation is not just important but it is vital in network security and yet it is staggering how many network administrators disregard it or fail to have their systems properly synchronised.

Ensuring the same and correct time (ideally UTC – Coordinated Universal Time) is on each network machine is essential as any time delays can be an open door for hackers to slip in undetected and what is worse if machines do get hacked are not running the same time it can be near impossible to detect, repair and get the network back up and running.

Yet time synchronisation is one of the simplest of tasks to employ, particularly as most operating systems have a version of the time protocol NTP (Network Time Protocol).

Finding an accurate time server can sometimes be problematic particularly if the network is synchronised across the internet as this can raise other security issues such as having an open port in the firewall and a lack of possible authentication by NTP to ensure the signal is trusted.

However, an easier method for time synchronisation, being both accurate and secure, is to use a dedicated NTP time server (also known as network time server). An NTP server will take a time signal direct from GPS or from the national time and frequency radio transmissions put out by organisations such as NIST or NPL.

By using a dedicated NTP server the network will become a lot securer and if the worst does happen and the system does fall victim to malicious users then having a synchronised network will ensure it is easily solvable.

Understanding Computer Timestamps with NTP

  |   By

The way a computer deals with time is totally different to the ways humans perceive it. We arrange time into seconds, minutes, hours, days, weeks, months and years, while computers on the other hand arrange time as a single number representing the seconds that have passed from a single point in time, known as the prime epoch.

Most computers use NTP (Network Time Protocol) to deal with time and on networks many are synchronised using a dedicated NTP time server.  NTP knows nothing about days, years or centuries, only the seconds from the prime epoch.  This prime epoch is set (for most systems) at midnight at the turn of the century twentieth century that for a human would be recorded as something like: 00:00 – 01,01,1900.

Computers, however, count time as the number of seconds past this point. If a computer was around in 1900 its timestamp on midnight January 1 would be 0 while in 1972 at the same date the timestamp would be 2,272,060,800, which represents the number of seconds since 1900.

The timestamps restart every 136 years with the next wrap around due in 2036, this has caused uneasiness amongst some who fear a Millennium Bug type scenario, although most doubt such events would occur, however, when a wrap-around of the timestamp does happen an era integer will be added (+1), to allow computers to deal with time spans that cover more than one wrap-around.  If computers and NTP need to deal with time that spans before the prime epoch a negative integer is used (for the year 1500 a -3 will be used to represent three cycles of 136 years).

Timestamps are used in virtually every transaction that modern computers are tasked to do such as sending emails, debugging and programming. Because time is linear, a computer knows that each timestamp is always greater than the previous one and therefore computers and NTP find it difficult to deal with inaccuracies in time, particularly when time suddenly appears to go backwards.

This can happen if computers are not synchronised to the same time. If an email is sent to a machine with a slower clock, it appears to the computer to have been received before it has been sent.  Lack of synchronisation can serious problems and can even leave a system vulnerable to malicious attacks and even fraud.

Because of this, most computer networks are synchronised to UTC (Coordinated Universal Time). UTC is a global timescale and the same for everybody worldwide it is based on the time told by atomic clocks which are highly accurate, neither gaining nor losing a second in millions of years.

Most computer networks use a dedicated NTP time server to receive a UTC time to synchronise their computers too.  UTC is available from across the Internet (although unsecured), via the GPS network (Global Positioning System), or by receiving national time and frequency broadcasts via long wave.

NTP synchronises a computer by checking the received UTC time and adding to or holding a computer’s timestamp until it perfectly matches UTC. By using a dedicated NTP time server UTC can be maintained on a network to a few milliseconds of UTC time.