[comp.unix.questions] Network Time Protocol

meng@isi.UUCP (Meng Lin) (06/03/89)

To whom it may concern,

	I read in the April issue of the Sun Observer about University of
Maryland's Time Daemon "ntpd" that implements the Network Time Protocol
(NTP).  I am very interested in getting a copy of the NTP software.  If
anyone knows whom should I contact to find out more information, please
let me know.  Many Thanks.

				Meng-chun Lin
				Integral Systems Inc.
				5000 Philadelphia Way, Suite A
				Lanham, MD 20706


				301-497-2420

nguyend@caip.rutgers.edu (Duc Nguyen) (11/07/90)

  I've been trying to synchronize the clocks of sites on the Ethernet
but could not figure out how to do this as accurate as possible. I
tried using the NTP command to compute the clock offset envolving two
different sites but the offsets vary greatly. My goal is to figure out
the time (as accurately as possible) it takes to send a file from one
site to another site. This could be done easily if I know the
difference between the two clocks. Can anyone help me with this ? I
would appreciate it very much.
Duc Nguyen
nguyend@caip.rutgers.edu

gwyn@smoke.brl.mil (Doug Gwyn) (11/07/90)

In article <Nov.6.13.28.58.1990.23381@caip.rutgers.edu> nguyend@caip.rutgers.edu (Duc Nguyen) writes:
>  I've been trying to synchronize the clocks of sites on the Ethernet
>but could not figure out how to do this as accurate as possible.

Leslie Lamport had a wonderful article about this in CACM (I think it was)
several years ago.

koerberm@nixsin.UUCP (Mathias Koerber) (11/12/90)

In article <Nov.6.13.28.58.1990.23381@caip.rutgers.edu> nguyend@caip.rutgers.edu (Duc Nguyen) writes:
>
>  I've been trying to synchronize the clocks of sites on the Ethernet
>but could not figure out how to do this as accurate as possible. I

OK, I get the idea of synchronising the clocks of different hosts on a network,
and I think it is quite useful...

BUT: I know, that PROGRESS Database eg is *very* allergic against changes in
the system time. Especially setting the time BACKWARDS (even 1 sec) will kill
the server/broker process, because database integrity is based on the time.

There is a network version of PROGRESS around ( which I haven't used so far),
but I'd like to know, how a timed and networked PROGRESS can co-exist on a net.

	- inhibit timed from setting the clock backwards ? (sounds stupid)
	- run the progress server/broker from /etc/inittab
		(even stupider, all those broken sessions when it really happens)

	or is there a way (inside PROGRESS) to warn the broker and ALL clients
	of an pending time-change, so that all transactions are finished...
		*VERY* unlikely, timed would have to wait for PROGRESS to
		signal its OK...

And onw more question: Are there other packages, which depend on 
time-integrity? Even PROGRESS doesn't warn about this in the installation
notes. You only come across it, when you
	- either get the error-message
	- read the list of error messages in one of the many manuals..

Mathias

-- 
Mathias Koerber  | S iemens | Tel: +65 / 7473828-1852       | Fax: +65/7474331
2 Kallang Sector | N ixdorf | USA: uunet!nixbur!koerber.sin | nerv: koerber.sin
S'pore 1344      | I nformationssystems | EUnet: koerber.sin@nixpbe
* Packed with Power, SNIckers really satisfy  (or do theyAsk them gals :-) )*

khera@thneed.cs.duke.edu (Vick Khera) (11/14/90)

In article <1423@nixsin.UUCP> koerberm@nixsin.UUCP (Mathias Koerber) writes:

   From: koerberm@nixsin.UUCP (Mathias Koerber)
   Newsgroups: comp.unix.questions
   Keywords: ntp PROGRESS

   In article <Nov.6.13.28.58.1990.23381@caip.rutgers.edu> nguyend@caip.rutgers.edu (Duc Nguyen) writes:
   > I've been trying to synchronize the clocks of sites on the
   Ethernet >but could not figure out how to do this as accurate as
   possible. I

   OK, I get the idea of synchronising the clocks of different hosts
   on a network, and I think it is quite useful...

   BUT: I know, that PROGRESS Database eg is *very* allergic against changes in
   the system time. Especially setting the time BACKWARDS (even 1 sec)
   will kill the server/broker process, because database integrity is
   based on the time.

with time synchronization, if you need to set the clock backwards, you
don't just change the time, you slow down the clock until it has
reached the proper time. in unix, this is accomplished by the
adjtime() system call.  this should be indetectible by processes.
similarly, to set the clock forward, the speed is increased until the
proper time is reached.

								v
.
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Vick Khera     Gradual Student          Department of Computer Science
ARPA:   khera@cs.duke.edu               Duke University
UUCP:   ...!mcnc!duke!khera             Durham, NC 27706       (919) 660-6528

seanf@sco.COM (Sean Fagan) (11/14/90)

In article <1423@nixsin.UUCP> koerberm@nixsin.UUCP (Mathias Koerber) writes:
>	- inhibit timed from setting the clock backwards ? (sounds stupid)

If you've got a BSD system, then you should make sure timed uses adjtime(2)
instead of settime(2).  adjtime(2) will adjust the time by slowing or
increasing clock updates (more or less, I am not going into a lot of detail,
ok?).

Some non-BSD systems may have it, so you might want to check your system to
make sure.

-- 
-----------------+
Sean Eric Fagan  | "*Never* knock on Death's door:  ring the bell and 
seanf@sco.COM    |   run away!  Death hates that!"
uunet!sco!seanf  |     -- Dr. Mike Stratford (Matt Frewer, "Doctor, Doctor")
(408) 458-1422   | Any opinions expressed are my own, not my employers'.

ar@mcdd1 (Alastair Rae) (11/14/90)

>>    OK, I get the idea of synchronising the clocks of different hosts
>>    on a network

> this is accomplished by the adjtime() system call. 

The obvious follow-up question are:

1.  How is this set up?

2.  What do you do with a network with BSD systems (which have adjtime())
    and SYSV systems (which do not appear to have adjtime())?
-- 
--------------------------------------------------
Alastair Rae  uunet!ukc!mcdd1!ar  (+44 442 272071)
--------------------------------------------------