knowing what time it is

From: Tim Shepard <shep_at_ALUM.MIT.EDU>
Date: Wed, 31 Aug 2005 11:37:26 -0400

I've been lurking on this list for a few months now.

About 15 years ago I was playing with NTP on 4.3 BSD unix.

I remember thinking then that Posix was making a serious error in
specifiying that the time_t returned by time() or in the .tv_sec
field of the structure returned by gettimeofday() would contain UTC.
TAI would have seemed to be the better choice.

I suggested in e-mail to David Mills that NTP should have been built
around TAI, not UTC. He did not disagree with me but pointed out
that there were no broadcast sources that he could get TAI from, so
the choice of UTC was forced upon him.

I still think TAI would have been the better choice, and would be the
better choice going forward.

But existing practice is slow to change, and not easy to change.


I think what happened 33 or so years ago is that we went from having
a single time scale (GMT) to having multiple time scales (UTC and
TAI). What should happen (and what should have happened) is that
both time scales should be distributed, side by side, requiring those
who need to know what time it is to make a choice about which kind of
time scale they wish to have. There's no use pretending that we
don't have two time scales. We can argue forever about which should
be the prefered "normal" time scale. But regardless of who wins
that argument, the losing time scale will not cease to exist.

The discussion on this list has been enlightening. I now see that no
solution will be simple.

But in my mind, the ideal would be if every system that distributes
time (e.g. WWV, WWVB, GPS, NTP, etc...) would convey what time it is
UTC, what time it is TAI, and what the entire table of leap seconds is
(or the 200 or so most recent leap seconds). And systems downstream
should try hard not to throw away any of the information, and pass
all of it along to whoever gets time from them.

I think much of the trouble we are in now is because we have not
embraced this notion that there are two timescales involved here.
But since 1972 there are two. Neither single timescale will be
suitable for all uses. So both are needed. Systems that have any
claim to general-puruposefulness need to carry both, along with
information about what leap seconds have been and will be inserted.

If the bundle of information you got that told you what time it is
also told you what leap seconds have been and will be inserted, then
all would be OK.

Then 6 months would be plenty of warning for pending leap seconds
because very few devices are capable of keeping time with 150 ppb
accuracy over 6 months running open loop.

The mistake is to distribute time without distributing both scales
(UTC and TAI) and a table of historical and pending leap seconds.

So that's all ideal.

But we're in a mess now.

Is it reasonable to hope we may be able to somehow get to the ideal
I've described? In maybe 10 or 15 years?

It seems what is needed most is education.

                        -Tim Shepard
                         shep_at_alum.mit.edu
Received on Wed Aug 31 2005 - 08:48:17 PDT

This archive was generated by hypermail 2.3.0 : Sat Sep 04 2010 - 09:44:54 PDT