
Date: 30 AUG 1976 1202-PDT
From: POSTEL at USC-ISIC
Subject: Time Of Day Socket Number
To:   KLH at MIT-AI
cc:   postel

Ken:
The number is 37 decimal (45 octal).
--jon.
-------
 
RMS@MIT-AI 08/15/76 19:35:47
To: KLH at MIT-AI
I forgot to say in the time algorithm
that a sublist is acceptible only if it contains at least half
the hosts that responded.  If there is no sublist, all the hosts
get mailed messages.  The intent if the messages is to get
people on the hosts to intervene.
 
RMS@MIT-AI 08/15/76 16:48:11
To: KLH at MIT-AI
I would like to have the system's time itself set according
to the other sites' times.  I have worked out an algorithm
that I think does the right things in all cases:
1) contact all the sites on the list.
2) make a list of all the sites that gave answers,
 and what they gave, including the local host.
 Contact all of them in parallel to save real time.
3) sort that list numerically by time returned.
4) find the longest subsequence which has the property
that its beginning and end are within 5 minutes.
"Length" can actually be weighted, with more related hosts
counting for more.
5) compute the average time of the hosts in the sublist
6) Send mail to the appropriate name at all hosts not in
that sublist, telling them the names of the hosts in the
sublist and the amount of time they're off from the sublist
average.
7) If the local host isn't in the sublist, set its time
to the sublist average.
8) this program should be run whenever the system starts up,
and everything else should wait for its completion.
Thus, it should be done by TARAKA before anything else.

KLH@MIT-AI 08/15/76 03:32:42
To: RMS at MIT-AI
CC: [KSC;TIMSRV INFO] at MIT-AI
P.S. to message about time server etc.  The following routines
are fairly modular:
NETIM - in TIMES >, is a non-interrupt routine that gets the "network time word"
	given a site # to connect to.
TIMGTN - in TIMRTS >, is a routine that returns current local time in
	network-time format.
TIMCAS/TIMCAD - in TIMRTS >, will convert network-time format into standard
	DSK-style format.

	Since hacking time stuff is so painful, however straightforward,
I thought I would point those out, particularly TIMCAS.  The network-time
format is # seconds since 1/1/1900, GMT - this makes instant
comparisions easy from any point in network, and is simple enough to
encode.  It is much more of a win than I thought it would be; TIMES^K
scans very fast.
	The algorithm mailer uses is to poll all sites known
to have Time Servers, and proceed with its local time if it agrees
with more sites than it disagrees, or if all sites are down.  This
implies that finding 1 match and 1 mismatch will cause mailer to
hang up and wait, but 2 matches and 1 mismatch will be taken as confirmation
of local time.  Criteria for a match is that the absolute difference
must not be more than 15 minutes, which is extremely liberal I think.

