Computer time and date

Many industrial users of time, and others such as police and fire departments, airports, and radio and television stations, require time-of-day to a precision higher than a human operator can achieve with the services outlined above. Computer systems of many kinds can benefit from automated access to a source of official time over communications links with delays that are more reproducible than those encountered on the Internet. To satisfy these requirements, the NRC provides two kinds of digital, FSK (Frequency Shift Keyed) time code on the public telephone network. As with the voice - announcements of time-of-day, long distance charges apply to calls made from outside the Ottawa area. Most standard computer equipment with access to a 300 bit-per-second modem can be programmed to use this information. The oldest designs of 300 bps modems can give accuracy of about 0.001 seconds, as can most of the old 300 bps/1200 bps modems - when they are operated at 300 bps. This is better than the time accuracy that can be expected from more modern modems without careful calibration: modems based on digital signal processors can give a delay of up to 140 ms with a variable delay jitter of 20 ms or more. The precision can be degraded further by variations in the signal propagation delay through the telephone links, including delays of up to 0.25 seconds per communications satellite hop. The NRC can provide advice on techniques to measure and correct for these delays.

Simple Time Code

The NRC provides a simple telephone code that supports correction for the signal propagation delay through the telephone link. With an appropriate modem and software which supports the signal delay correction, an overall accuracy of a few milliseconds can generally be achieved with this service. In cooperation with the NRC, a Canadian company (Leitch Video Limited, of Don Mills, Ontario) has developed and is marketing a clock system which can automatically set itself to official NRC time using this telephone service and can be used to reduce long distance charges for local computers or local computer networks (running protocols like NTP). Software that calls this service directly is also available commercially.

The protocol is an interactive one that uses pure ASCII character strings to give the date (YYMMDD format), time (UTC in hhmmss format) and telephone loop delay. A user requires a Bell 103 compatible modem set to "originate", at 300 bps with no parity, 8 data bits and one stop bit. ASCII code is used, with the most significant bit set to mark (=0). After making the telephone connection, the user should start by sending an ASCII carriage return character.

To obtain the date, a user sends an ASCII upper case D followed by an ASCII carriage return character. The service responds with the date (UTC i.e. the date on the Greenwich meridian) as a string YYMMDD followed by a carriage return, where YY is the last two digits of the year in the Gregorian calendar, MM is the number of the month (01-12), and DD is the day of the month (01- 31).

To obtain the time, a user sends an ASCII upper case T followed by an ASCII carriage return character. The time service responds with an initial carriage return followed by a time string for each of three successive seconds. Each string is of the form hhmmss, followed by an ASCII carriage return character. The time given is UTC, hh is the hour (00 - 23), mm is the minute (00 - 59), and ss is the second (00 - 59). The official time given in each string occurs when the time string's carriage return ends: i.e. when the end of the carriage return's stop bit is transmitted from the NRC time laboratory.

To measure the loop time for a telephone connection to this NRC time service, a user sends an ASCII upper case L, followed by an ASCII carriage return character, followed by any one ASCII character - which the NRC time service immediately echos back - another ASCII carriage return might be convenient, for example. The user measures the communications loop delay time (total loop delay minus the separately measured analog loop-back delay in the user's modem). If the communications loop delay is in the range 0.00 - 0.03 s, or in the range 0.50 - 0.56 s, half the loop delay will be a good approximation to the propagation time. A telephone link with a loop delay of 0.25 - 0.29 s likely has been routed one way by satellite and overland the other way: such a link is uncommon and is not suitable for accurate time transfer. Other ranges of loop delay could indicate excessive digital buffering of the signals in the telephone link. Correction for delays in user equipment also must be done if true millisecond time accuracy is desired, or calibrated automatic equipment may be purchased from Leitch Video Limited of Don Mills, Ontario. This service was first made available to meet the requirements of organizations needing official time, and one line is still dedicated to serving these users. To serve the general public, a service using this protocol is available at (613) 745-3900. The caller is responsible for any long distance charges.

Detailed time code

New users are not encouraged to use this service unless they require its supplementary information. This service is available at (613) 952-7729. This telephone code is compatible with the code used by the NRC on short wave radio, but does not include any provision for estimating the telephone propagation delay. A user needs a Bell 103 compatible modem, set to "originate" at 300 bps, 8 data bits (two packed BCD digits, nibble reversed), no parity and two stop bits. The first digit is the number 6, followed by nine digits giving the day of the year (001- 366), hour, minute, and second UTC). The ten-digit time code is then repeated, so that two receptions can be simply compared for error checking. The time given by the full ten-character coded string occurs as the end of the last stop bit is being transmitted. Since November 1992, on second 01, 11, 21, 31, 41 and 51 of each minute, supplementary time information is provided (year, DUT1, leap second announcement, TAI-UTC, and a serial number for the current Canadian Daylight Saving Time pattern). For each of these seconds, this supplementary 10-digit code is also transmitted twice, but for this code the second transmission is the 1's complement of the first transmission. Further details of this code are given in CHU Broadcast Codes. Note that the CHU codes are sent 0.5 s late (for backwards compatibility with earlier broadcast formats) compared to the telephone codes, which are sent so that the end of the code marks the time described in the code.

Internet Time

The Internet offers a convenient possibility for keeping computer system time on track. Unfortunately, communications by the Internet also commonly give greater variability in timing than does dial-up telephone service. The Network Time Protocol (NTP) will attempt to compensate for communication delay variability, as well as attempting to steer computer clocks under its care. NTP is most successful across a local area network, and can give accuracy as good as a few milliseconds where a higher-accuracy time server is close at hand. If a lower accuracy will suffice, more distant time servers can be used over the Internet. For latest details on public access to NRC's NTP servers, consult our web site. Links to descriptions of how others have used the NRC services can also be found there.