Method for synchronization in a local area network including a store-and-forward device

Information

  • Patent Grant
  • 8291105
  • Patent Number
    8,291,105
  • Date Filed
    Friday, December 28, 2001
    22 years ago
  • Date Issued
    Tuesday, October 16, 2012
    11 years ago
Abstract
The present invention relates to a method for identifying inaccurate time measurements in a local area network. The local area network comprises a sending device (2), such as a time client, a destination device (3), such as a timeserver, and a switching device and/or a store-and-forward device (6). A time request packet (4) is rejected if it arrives at the time client or timeserver within a given or calculated minimum distance from the preceding network packet. The time request packet (4) is also rejected if it falls outside a set of calculated error limits based on a set of estimates. Those estimates are kept in the time client memory and updated according to a given set of rules.
Description
FIELD OF THE INVENTION

A method for identifying inaccurate time measurements in a local area network incorporating a central switch and/or a store-and-forward device.


BACKGROUND OF THE INVENTION

Several schemes exist for synchronizing a time-of-day clock in one node, such as a time client, to a reference time-of-day clock in another node, such as a timeserver, over a local area network (LAN). Most of the time-of-day clocks attain their stated accuracy only when a network transfer delay between the time client and the timeserver is constant. Introduction of switched Ethernet created a class of local area networks where network capacity was greatly enhanced at the expense of a predictable delay between the time one network node transmits a time request packet and the time the destination node receives it. A reason for this is that the link to the destination node may be busy with other packets when the aforesaid packet is ready to be placed on that link. In such cases the packet is stored in the switch, which therefore is also a store-and-forward device, until the link to the destination node is free.


SUMMARY OF THE INVENTION

The object of the invention is to provide a method for identifying inaccurate time measurements in a local area network incorporating a central switch and/or a store-and-forward device.


This object is achieved by a method according to the independent claims 1 and 2.


A network incorporating a store-and-forward device, like the switch in a switched Ethernet network, has two distinct sources of delay. The first source of delay is the connection from the sending device, such as the time client, to the store-and-forward device and the second source of delay is the connection from the store-and-forward device to the destination device, such as the time server 4. This invention will address both sources, using two distinct algorithms.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a schematic block diagram of a computer network, such as a LAN, comprising a time client, a timeserver and a central switch and/or a store-and forward device.



FIG. 2 shows an example of normal packet arrivals and queued packet arrivals.



FIG. 3 shows an example of accepting or rejecting a measurement based on estimates.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS


FIG. 1 shows a schematic block-diagram of a computer network 1, such as a local area network, comprising a time client 2 and a timeserver 3. A switching device and/or a store-and-forward device 6 are/is in the path between the time client and the timeserver. A time request packet 4 is transmitted from the time client 2 to the timeserver 3 and from the timeserver to the time client.


It is presupposed that the time request packets 4 are time stamped at the end of the time request packets. The reason for this is that it is only ensured that a time request packet has been fully received or transmitted at the end of the time request packet. If the time request packet is time stamped before the end, the time request packet might be aborted before transmission or reception has been completed.


In the following examples the time client 2 is working as a sending device and the timeserver 3 is working as a destination device. This should be seen as an example only. When the time request packet 4 is transferred from the timeserver 3 to the time client 2 the timeserver is working as a sending device and the time client is working as a destination device


When a time request packet 4 is transmitted from the store-and-forward device 6 to the timeserver 3, i.e. the destination device, the time request packet might be stored in the store-and-forward device 6 waiting for other packets to finish using the link to the timeserver. The time request packet 4 will be sent as soon as possible. This means that it will be sent after the preceding packet followed by a specified Minimum Interpacket Gap, shown in FIG. 2. The specified Minimum Interpacket Gap for Ethernet is given by the IEEE 802.3 and ISO 8802/3 standards. Since the length of the time synchronization packet is known as well as the length of the additional bits associated with packet transmission, such as preamble, checksum etc., a minimum time distance between the end of the preceding packet and the end of the time synchronization packet may be calculated. The time distance between the end of the preceding packet and the end of the time request packet 4 is measured in the destination device, in this example the timeserver 3. If the measured time distance is within a given tolerance of this minimum time distance t, it is concluded that the time request packet 4 was delayed in the switch and/or the store-and-forward device and therefore the time measurement associated with it will be inaccurate. The delayed packet will not be used for time calculations. FIG. 2 shows an example of normal time request packet arrivals A and queued time request packets arrival B.


If the measured time distance is greater than the Minimum Interpacket Gap the time request packet 4 has not been delayed in the switch and/or store-and-forward device and the time stamps may be used to synchronize the time client 2 and the time server 3.


If there are delays on the link from the sending device to the store-and-forward device, an alternative procedure for validating the time stamp accuracy must be used.



FIG. 3 shows how the time stamp accuracy is validated when it has been a delay on the link 1 from the sending device, for example, the time client 2, to the switching device and/or store-and-forward device. This procedure is based on a certain degree of confidence in the local time-of-day clock. This confidence is expressed in four variables: estimated relative local frequency deviation dfR, estimated local frequency accuracy d2fR, estimated local time precision dtP and a confidence level. Start values for the estimated relative local frequency deviation dfR and the estimated local frequency accuracy d2fR are stored in the time client when the time client is manufactured, together with a comparison value for the confidence level variable. The confidence level variable always starts at 0 and as long as it is less than the comparison value, there is a low confidence in the estimates. When the confidence level variable is greater than or equal to the comparison value, there is a high confidence in the estimates.


When a new time adjustment tA is calculated from the time stamps, it is decided whether to keep the adjustment or reject it according to, for example, the following algorithm:


1. First an upper acceptance level tH or a lower acceptance level tL for the new time adjustment tA is calculated:

tB=tP+(tR−tP)*(1+dfR)
dtB=dtP+(tR−tP)*d2fR
tH=tB+dtB
tL=tB−dtB

where tP is the value of the local clock at a previously accepted time adjustment, tR is the value of the local clock at the current time request, dfR is the estimated relative local frequency deviation, dtP is the estimated local time precision at the previously accepted time adjustment and d2fR is the estimated local frequency accuracy at the same point in time. The range between the upper acceptance level tH and the lower acceptance level tL is called the error range.


2. If tA falls within the error range, tA is accepted and used to update local time, estimated local frequency and estimated frequency drift. In addition, the confidence level is increased up to a predefined limit.


3. If there is a high confidence in our estimates and tA does not fall within the error range, tA is rejected and the confidence level in our estimates is decreased to a value greater than 0.


4. If there is a low confidence in our estimates and tA does not fall within the error range, there are several options. A first option is to reject tA, decrease the confidence level and hope for a better tA in the future.


A second option is to introduce a new set of estimates together with a time-of-day offset. When the new set of estimates has been introduced every new time adjustment tA must be checked against every set of estimates until one of the confidence levels becomes high. At that point in time, that set of estimates is kept and the others are deleted. The next time adjustment tA will fulfill the requirements in either the time client 2 or the timeserver 3.

Claims
  • 1. A method for identifying inaccurate time measurements when running time synchronization on a local area network, the local area network comprising a sending device, a destination device and a switching device and/or a store-and-forward device arranged on a path between the sending device and the destination device, the method comprising: storing a value for an estimated relative local frequency deviation (dfR) and a confidence comparison value for a local time-of-day clock in a memory in the sending device;obtaining a time value (tP) of the local time-of-day clock at a previous time adjustment;obtaining an estimated local frequency accuracy (d2fR) at the previous time adjustment;obtaining an estimated local time precision (dtP) at the previous time adjustment;receiving time stamps;calculating a new time adjustment (tA) from the received time stamps;obtaining a time value (tR) of the local time-of-day clock for the new time adjustment (tA);calculating an upper acceptance level (tH) and a lower acceptance level (tL) for the new time adjustment (tA) based on the following equations: tH=tB+dtB tL=tB−dtB where tB=tP+(tR−tP)*(1+dfR) and dtB=dtP+(tR−tP)*d2fR; anddetermining whether the new time adjustment (tA) falls between tH and tL.
  • 2. The method of claim 1, wherein the sending device is a time client.
  • 3. The method of claim 1, further comprising: if the new time adjustment (tA) falls between tH and tL, accepting the new time adjustment (tA) and updating the time value of the local time-of-day clock.
  • 4. A method for identifying inaccurate time measurements when running time synchronization on a local area network, the local area network comprising a sending device, a destination device and a switching device and/or a store-and-forward device connected between the sending device and the destination device, the method comprising: receiving a network packet and then a time request packet at the destination device;measuring the time between the received network packet and the received time request packet; andrejecting the received time request packet if the measured time is within a predetermined time interval, wherein the predetermined time interval is calculated using a known length of a time request packet and a required inter-packet gap.
  • 5. The method of claim 4, wherein the step of calculating the predetermined time interval comprises calculating a minimum time interval using the known length of a time request and the required inter-packet gap and adding a tolerance to the minimum time interval.
Priority Claims (1)
Number Date Country Kind
20006683 Dec 2000 NO national
PCT Information
Filing Document Filing Date Country Kind 371c Date
PCT/NO01/00515 12/28/2001 WO 00 11/12/2003
Publishing Document Publishing Date Country Kind
WO02/054661 7/11/2002 WO A
US Referenced Citations (30)
Number Name Date Kind
5025457 Ahmed Jun 1991 A
5090024 Vander Mey et al. Feb 1992 A
5535217 Cheung et al. Jul 1996 A
5602992 Danneels Feb 1997 A
5737531 Ehley Apr 1998 A
5812749 Fernandez et al. Sep 1998 A
5901138 Bader et al. May 1999 A
6031818 Lo et al. Feb 2000 A
6038239 Gabbert Mar 2000 A
6055578 Williams et al. Apr 2000 A
6075791 Chiussi et al. Jun 2000 A
6378069 Sandler et al. Apr 2002 B1
6389480 Kotzur et al. May 2002 B1
6438702 Hodge Aug 2002 B1
6625657 Bullard Sep 2003 B1
6680921 Svanbro et al. Jan 2004 B1
6870876 Nohlgren et al. Mar 2005 B1
6941383 Getsin et al. Sep 2005 B1
6961857 Floryanzia Nov 2005 B1
6985966 Gupta et al. Jan 2006 B1
7103124 Lindskog et al. Sep 2006 B1
7243136 Huston et al. Jul 2007 B2
7428243 Marchetto Sep 2008 B2
7443811 Sturrock et al. Oct 2008 B2
20010004362 Kamiya Jun 2001 A1
20010012270 Godoroja Aug 2001 A1
20020078243 Rich et al. Jun 2002 A1
20040064517 Uenoyama et al. Apr 2004 A1
20050210153 Rich et al. Sep 2005 A1
20050210306 Rich et al. Sep 2005 A1
Foreign Referenced Citations (9)
Number Date Country
303830 Feb 1989 EP
571189 Nov 1993 EP
0697774 Feb 1996 EP
713347 May 1996 EP
800289 Oct 1997 EP
01995821.4 Aug 2006 EP
WO9836540 Aug 1998 WO
WO9965197 Dec 1999 WO
WO02054661 Jul 2002 WO
Related Publications (1)
Number Date Country
20040151125 A1 Aug 2004 US