Browse Prior Art Database

Method for the Comparison of Clocks Among Distributed Systems

IP.com Disclosure Number: IPCOM000110932D
Original Publication Date: 1994-Jan-01
Included in the Prior Art Database: 2005-Mar-26
Document File: 4 page(s) / 100K

Publishing Venue

IBM

Related People

Jordan, DS: AUTHOR [+2]

Abstract

When dealing with distributed systems, it is often necessary to test how accurately the clocks of the systems are synchronized. We are proposing a way of mesuring this clock difference with sufficient accuracy to accoutn for various propagation and processing delays. We do this by computing timestamps on each system that each system would read at a given common event.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Method for the Comparison of Clocks Among Distributed Systems

      When dealing with distributed systems, it is often necessary to
test how accurately the clocks of the systems are synchronized.  We
are proposing a way of mesuring this clock difference with sufficient
accuracy to accoutn for various propagation and processing delays.
We do this by computing timestamps on each system that each system
would read at a given common event.

      We will describe our solution on a simple model containing only
three systems, of which two are the distributed systems under test
and the third runs a test server.  Although the model demonstrates
the comparison of only two distributed systems, there is no actual
limitation to the number of participants in the test.

      Let  us imagine three systems: A, B, and C. System C runs the
test server that can be contacted by other systems.  Systems A and B
run testcases, and are at the point when it is desired to find how
accurately A and B are synchronized.  The Figure describes the
scenario.

The following is the sequence of events:

o   TEST1 issues a message at time Ta1.

o   TEST2 issues a message at time Tb1

o   TEST SERVER receives message from TEST1 at time Ta2

o   TEST SERVER receives mess age from TEST2 at time Tb2

o   TEST SERVER issues message to TEST1 at time Ta3

o   TEST SERVER issues message to TEST2 at time Tb3

o   TEST1 receives message from TEST SERVER at time Ta4

o   TEST2 receives message from TEST SERVER at time Tb4

      It is important to remember that Ta1 and Ta4 are measured on
machine A; Ta2, Ta3, Tb2, and Tb3 are measured on machine C; Tb1 and
Tb4 are measured on machine B.

      Since the test server releases A and B simultaneously, we can
assume that Ta3=Tb3.  That is, the release of A and B is the event
that can be used as the 'base', or the 'common event', to which
timestamps may be referred.  We will need to compute what 'A' would
have measured at the time 'C' was reading Ta3, and similarly what 'B'
would have measured at the time 'C' was reading Tb3.  The computation
below describes a mechanism to find these values.  These will be
denoted as Ta and Tb, and are referred to as normalized timestamps.

      In fact, Ta3 and Tb3 may not be exactly equal due to the
process dispatch delays (it may take different delays between the
releases of A and B are actually dispatched).  If this delay becomes
large enough to be noticeable, the test can be rerun several times,
as a 'de-bouncing' mechanism.  This way, temporary delays in system
performance can be ove rcome.  Another approach would be to try
releasing the testcases A and B in different order, to 'reverse' the
dispatching delays.  Finally, the...