GB2446646A - Synchonising master and slave clocks - Google Patents

Synchonising master and slave clocks Download PDF

Info

Publication number
GB2446646A
GB2446646A GB0702955A GB0702955A GB2446646A GB 2446646 A GB2446646 A GB 2446646A GB 0702955 A GB0702955 A GB 0702955A GB 0702955 A GB0702955 A GB 0702955A GB 2446646 A GB2446646 A GB 2446646A
Authority
GB
United Kingdom
Prior art keywords
node
duration
durations
clock
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB0702955A
Other versions
GB0702955D0 (en
Inventor
Andrew Reeve
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to GB0702955A priority Critical patent/GB2446646A/en
Publication of GB0702955D0 publication Critical patent/GB0702955D0/en
Publication of GB2446646A publication Critical patent/GB2446646A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G9/00Visual time or date indication means
    • G04G9/02Visual time or date indication means by selecting desired characters out of a number of characters or by selecting indicating elements the position of which represent the time, e.g. by using multiplexing techniques
    • GPHYSICS
    • G04HOROLOGY
    • G04CELECTROMECHANICAL CLOCKS OR WATCHES
    • G04C11/00Synchronisation of independently-driven clocks
    • GPHYSICS
    • G04HOROLOGY
    • G04CELECTROMECHANICAL CLOCKS OR WATCHES
    • G04C13/00Driving mechanisms for clocks by master-clocks
    • G04C13/02Circuit arrangements; Electric clock installations
    • G04C13/028Circuit arrangements; Electric clock installations transmission systems for synchronisation of pendulum of slave-clocks by pendulums of master-clocks

Abstract

A method for synchronisation time comprises measuring at least one duration of a process at a first node (e.g. master clock), measuring at least one further duration of the process at a second node (e.g. slave clock) and correcting a clock at the second node to bring it into line with a clock at the first node by adjusting the clock at the second node frequency by a factor dependent on the at least one duration divided by the at least one further duration. The process preferably comprises the steps of operating a number of ticks or pulses at eh first and second nodes and transmitting packets between the nodes.

Description

SYNCHRONISATION METHOD
In many applications it is necessary to achieve synchronizatior to a very high accuracy. of the behaviour of geographically separated functions. For example in the field of mobile communications, it is required that the basestations in an area operate at, or very near to the same frequency. In order to do so they must have high quality clocks which are synchronised to the same, or very close frequencies. This is achieved by synchronising each base-station's clock to a common primary reference clock (PRC).
Increasingly, operators need to interconnect their equipment using low cost packet based networks (e.g. internet protocol (IP) networks). Thus, there is a requirement to achieve synchronisation between a basestation and a node containing a PRC where the only means of communication between the basestation and the PRC node is the packet network. Synchronization of clocks over a packet network is termed packet based clock recovery (PBCR).
For the purpose of describing the present invention, the node which contains or provides the primary reference clock (PRC) is termed the server and the node which contains the less accurate clock which needs to be synchronised to the PRC is termed the client.
In current PBCR techniques, the server periodically sends a message to the server at very precise time intervals. The client, knowing the period of transmission, performs filtering of the packets to eliminate some variability in the transmission times and processes the arrival times in order to compare its own clock frequency with that of the server. This is termed the clock recovery algorithm. However this technique suffers from a severe disadvantage in that, if the intrinsic delay is varying in time. e.g. due to temperature change of the physical components, or due to slowly varying load pattern, this component in the delay patterns Cannot be eliminated and the clocks cannot be accurately synchronised. Furthermore, the clock recovery algorithms have to be modified and updated as new experience concerning the behaviour and delay patterns in the retwork is gained in the field. This means that the algorithms cannot be relied upon in all circumstances, and software updates are required causing operational expense.
In the present invention both the server and the client carry out a measurement of the duration of a well defined physical process. The measurements made by the server and the client are termed duration measured by server (DS) and duration measured by client (DC) respectively. Each of the server and the client use their respective local clocks to perform their measurement. They read their local value of time at the start of the process (start-time) and again at the end of the process (end-time). The duration is then the difference between the end-time and the start-time. The duration measured by a node depends on the speed of its local clock. DS and DC are relative measurements made by the respective nodes. This invention is applicable where the clocks used are of sufficient quality that any variation in frequency over the measurement period is negligible, so that the duration measured is proportional to the local clock frequency. Thus, in order for the client to correct its clock to bring it into line with that of the server, the client needs to adjust its clock frequency by a factor DC/DS.
The well defined physical process is termed the measured process. It comprises the following components or steps: a. A specified number of ticks of the client clock (NTC); b. The transmission of a packet from the client to the server; c. A specified number of ticks of the server clock NTS); and, d. The transmission of a packet from the server to the client.
The order in which these steps are performed does not affect the duration of the measured process. In order that each of the client and the server are able to perform their own measurement of the duration, each performs them in a different order.
Figure 1 illustrates individual measurement by the client. The client performs the steps in the following order.
STEP CI. A specified number of ticks of the client clock (NTC); STEP C2. The transmission of a packet from the client to the server -P1; STEP C3. A specified number of ticks of the server clock (NTS): and, STEP C4. The transmission of a packet from the server to the client -P2.
The client reads the start time from its local clock at the beginning of STEP Cl and reads the end-time at the end of STEP C4 (on receipt of the message). DC is the difference between the start time and the end time.
Figure 2 illustrates individual measurement by the server. The server performs the steps in the following order.
STEP Si. A specified number of ticks of the server clock (NTS); STEP S2. The transmission of a packet from the server to the client -P1; STEP S3. A specified number of ticks of the client clock (NTC); and, STEP S4. The transmission of a packet from the client to the server -P2.
The server reads the start time from its local clock at the beginning of STEP Si and reads the end-time at the end of STEP S4 (on receipt of the message). DS is the difference between the start time and the end time.
The P1 and P2 messages shown in Figs. 1 and 2 are part of the overall synchronization protocol described below. P1 and P2 are identical in size, but have different semantics. Thus, in the measured process, the packet sent from the client to the server can be P1 or P2 -it does not affect the duration. Similarly, the packet sent from the server to the client can be P1 or P2 -it does not affect the duration.
In practice the performance of the packet network connecting the client and the server is imperfect, so that the time taken for the transmission of packets from client to server and from server to client is variable. Accordingly, both the client and the server iS must perform the measurement a number of times and use the mean value for DC and DS respectively.
Furthermore, the distribution of packet delays experienced in a real network is long-tailed", i.e. most delays are clustered around a mean, but long delays can occur albeit with low probability. However, since the low probability events make a large and more volatile contribution to the mean, so in order to avoid distortion and in order to reduce convergence times, the contribution from the long tail is filtered out. The X% of measurements which are the longest are ignored. This is done independently for the client the server.
Owing to the variability of individual measurements resulting from the unpredictable behaviour of the network, the number of measurements that must be taken in order to get accurate means cannot be defined in advance. Instead a convergence algorithm is employed. For this the following quantities are employed: -TE is the target error between the client clock frequency and that of the server.
This is calculated as the difference between the client clock frequency and that of the server, expressed as a fraction of the server clock frequency.
-CE is an error quantity used to detect convergence. This is calculated as the difference between two measures expressed as a fraction of the smaller of the two.
-TCE is a target CE for two measures. An example value of TCE is TE/2. Its use will now be described.
Each set of measurements, client and server, is subdivided into two subsets denoted even and odd. When each measurement is taken, it is added either to the even, or to the odd subset in turn. The first is added to the odd and the second to the even and so on. Whenever a measurement is added to the even subset, so that there is now an equal number in each, the mean of each subset is calculated and CE is calculated. This is done independently for both client and server. When both the client CE and the server CE are within TCE, convergence is detected, DC/DS is calculated, and the client clock is adjusted.
The overall process, which is termed a cycle, is repeated in order to keep the client clock synchronised. The overall process can be managed by either the client or the server. If the client has minimal processing capability then it should be done by the server. However if the server has to support many clients and the clients have sufficient processing capability a more scalable solution is achieved if the process is managed by the client. A communications protocol is defined in order to perform the above. This is described for the situation where synchronisation is managed by the server. The protocol comprises 5 messages -INIT, P1, P2, P3, SET. These are described below.
INIT is sent by the client to the server at the beginning of each cycle. It is used to start the whole process, e.g. on client start- up or reset. This confirms any previous SET and starts the periodic process at the server.
P1 and P2 are as shown in Figure and Figure. Note that P1 and P2 are identical in size but have diftèrent semantics.
P3 is sent by the client to the server in order to convey the value of a measurement made by the client.
SET is sent by the server to the client when it has detected convergence and contains the value of DCIDS. On receipt of a SET the client adjusts its clock.
The present invention enables the use of cheap packet based networks, even if clock recovery is required and means that clock recovery can be achieved even if the intrinsic delay is slowly varying. The technique is independent of the behaviour of the packet network because it makes no assumptions aboii its time varying behaviour.

Claims (20)

  1. Claims: 1. A method for synchronisation comprising: measuring at least
    one duration of a process at a first node; measuring at least one further duration of the process at a second node; correcting a clock at the second node to bring it into line with a clock at the first node by adjusting the clock at the second node frequency by a factor dependent on the at least one duration divided by the at least one further duration.
  2. 2. The method for synchronisation as claimed in claim 1, wherein the process comprises: operating a first number of ticks of the clock of the first node; operating the first number of ticks of the clock of the second node; transmitting a packet from the first node to the second node; and transmitting a further packet from the second node to the first node.
  3. 3. The method for synchronisation as claimed in claim 2, wherein the process when measured in the first node is carried out in the order of: operating the first number of ticks of the clock of the first node; transmitting the packet from the first node to the second node; operating the first number of ticks of the clock of the second node; and transmitting the further packet from the second node to the first node. S... * * **.
    *:*. 25
  4. 4. The method for synchronisation as claimed in claim 2, wherein the process *:. when measured in the second node is carried out in the order of: operating the first number of ticks of the clock of the second node; transmitting the further packet from the second node to the first node; * operating the first number of ticks of the clock of the first node; and transmitting the packet from the first node to the second node.
  5. 5. The method for synchronisation as claimed in claims 1 to 4, wherein the at least one duration comprises at least two durations, and the at least one further duration comprises at least two further durations.
  6. 6. The method for synchronisation as claimed in claim 5 further comprising: determining the mean duration of the at least two durations of the process at the first node; determining the mean further duration of the at least two further durations of the process at the second node; correcting the clock at the second node to bring it into line with the clock of the first node by adjusting the clock at the second node frequency by a factor of the mean duration divided by the mean further duration.
  7. 7. The method for synchronisation as claimed in claim 5, further comprising: ignoring X% of the longest durations of the at least two durations; determining the mean duration of the remaining at least two durations of the process at the first node; ignoring X% of the longest durations of the at least two further durations; determining the mean further duration of the remaining at least two further durations of the process at the second node; correcting the clock at the second node to bring it into line with the clock of the * * first node by adjusting the clock at the second node frequency by a factor of the mean duration of the remaining at least two durations of the process at the first node divided **** by the mean further duration of the remaining at least two further durations of the *:..: 25 process at the second node.
    S **S *
  8. 8. The method for synchronisation as claimed in claims 1 to 7, further comprising: adding each duration to a first group of durations or a second group of S.....
    * durations; determining the mean group duration for the first group of durations and the mean second group duration for the second group of durations.
  9. 9. The method for synchronisation as claimed in claim 8, further comprising: adding each further duration to a first group of further durations or a second group of further durations; determining the mean group duration for the first group of further durations and the mean group duration for the second group of further durations.
  10. 10. The method for synchronisation as claimed in claim 9, further comprising calculating a target error expressed as a fraction of, the difference between the first node clock frequency and the second node clock frequency, and the first clock frequency; calculating a target convergence error as the target error divided by 2; calculating a first node convergence error as the difference of the mean group duration for the first group of durations and the mean second group duration for the second group of durations divided by the smaller of the two; calculating a second node convergence error as the difference of the mean group further duration for the first group of further durations and the mean second group further duration for the second group of durations divided by the smaller of the two; wherein the measuring process is stopped and the correction is determined when both the first node convergence error and the second node convergence error is within the value of the target convergence error.
    *
  11. 11. A system for synchronisation configured to: measure at least one duration of a process at a first node; *** * measure at least one further duration of the process at a second node; correct a clock at the second node to bring it into line with a clock at the first node by adjusting the clock at the second node frequency by a factor dependent on the : at least one duration divided by the at least one further duration. **. S
  12. 12. The system for synchronisation as claimed in claim 11, wherein the process comprises: the first node operating a first number of ticks of the first node clock; the second node operating the first number of ticks of the second node clock; the first node transmitting a packet to the second node; and the second node transmitting a further packet to the first node.
  13. 13. The system for synchronisation as claimed in claim 12, wherein the first node is configured to measure the duration by carrying out the process in the order of: performing the first number of ticks of the first node clock; transmitting the packet to the second node; receiving the further packet from the second node after the second node has performed the first number of ticks of the second node clock.
  14. 14. The system for synchronisation as claimed in claim 12, wherein the second node is configured to measure the further duration by carrying out the process in the order of: performing the first number of ticks of the second node clock; transmitting the further packet to the first node; receiving the packet from the first node after the first node has performed the first number of ticks of the clock of the first node clock.
  15. 15. The system for synchronisation as claimed in claims 11 to 14, wherein the first node is configured to measure the duration of at least two durations, and the second node is configured to measure at least two further durations.
    *
  16. 16. The system for synchronisation as claimed in claim 15, wherein the first node is further configured to determine the mean duration of the at least two durations of the **** process at the first node, and *:*. 25 the second node is further configured to: * determine the mean further duration of the at least two further durations of the *** process at the second node; and correct the clock at the second node to bring it into line with the clock of the first node by adjusting the clock at the second node frequency by a factor of the mean duration divided by the mean further duration.
  17. 17. The system for synchronisation as claimed in claim 15, wherein the first node is further configured to ignore X% of the longest durations of the at least two durations and determine the mean duration of the remaining at least two durations of the process at the first node; and the second node is further configured to ignore X% of the longest durations of the at least two further durations; determine the mean further duration of the remaining at least two further durations of the process at the second node; and correct the clock at the second node to bring it into line with the clock of the first node by adjusting the clock at the second node frequency by a factor of the mean duration of the remaining at least two durations of the process at the first node divided by the mean further duration of the remaining at least two further durations of the process at the second node.
  18. 18. The system for synchronisation as claimed in claims 11 to 17, further configured to: add each duration to a first group of durations or a second group of durations; determinine the mean group duration for the first group of durations and the mean second group duration for the second group of durations.
  19. 19. The system for synchronisation as claimed in claim 18, further configured to: add each further duration to a first group of further durations or a second group of further durations; determine the mean group duration for the first group of further durations and the mean group duration for the second group of further durations. * S.
  20. 20. The system for synchronisation as claimed in claim 19, further configured to: calculate a target error expressed as a fraction of, the difference between the *:*. 25 first node clock frequency and the second node clock frequency, and the first clock frequency; calculate a target convergence error as the target error divided by 2; calculate a first node convergence error as the difference of the mean group duration for the first group of durations and the mean second group duration for the second group of durations divided by the smaller of the two; calculate a second node convergence error as the difference of the mean group further duration for the first group of further durations and the mean second group further duration for the second group of durations divided by the smaller of the two; wherein the first and second nodes are configured to stop measuring the duration and the further duration and the correction is determined when both the first node convergence error and the second node convergence error is within the value of the target convergence error. * ** I. S * *S * 5 S.. a. * o Si * S.
    S S.. * S* * S S S.. *
    S s iS
    S S
GB0702955A 2007-02-15 2007-02-15 Synchonising master and slave clocks Withdrawn GB2446646A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0702955A GB2446646A (en) 2007-02-15 2007-02-15 Synchonising master and slave clocks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0702955A GB2446646A (en) 2007-02-15 2007-02-15 Synchonising master and slave clocks

Publications (2)

Publication Number Publication Date
GB0702955D0 GB0702955D0 (en) 2007-03-28
GB2446646A true GB2446646A (en) 2008-08-20

Family

ID=37908694

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0702955A Withdrawn GB2446646A (en) 2007-02-15 2007-02-15 Synchonising master and slave clocks

Country Status (1)

Country Link
GB (1) GB2446646A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1324520A2 (en) * 2001-12-24 2003-07-02 Agilent Technologies, Inc. Synchronization in a distributed system
US6826123B1 (en) * 2003-10-14 2004-11-30 International Business Machines Corporation Global recovery for time of day synchronization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1324520A2 (en) * 2001-12-24 2003-07-02 Agilent Technologies, Inc. Synchronization in a distributed system
US6826123B1 (en) * 2003-10-14 2004-11-30 International Business Machines Corporation Global recovery for time of day synchronization

Also Published As

Publication number Publication date
GB0702955D0 (en) 2007-03-28

Similar Documents

Publication Publication Date Title
Watt et al. Understanding and applying precision time protocol
US8995473B2 (en) Ring based precise time data network clock phase adjustments
US9014282B2 (en) Precision timing in a data over cable service interface specification (DOCSIS) system
US8397095B2 (en) Method and apparatus for synchronizing time of day of terminal in convergent network
CN104243129B (en) Receiver, the method and computer readable storage medium for calculating the time difference
JP2014505444A (en) Network elements for packet-switched networks
WO2008144842A1 (en) Systems and methods for synchronization in a networked environment
US20220007321A1 (en) Network Entities and Methods for a Wireless Network System for Determining Time Information
GB2568270A (en) Communication device, cascaded network and internal synchronization method
Lévesque et al. Improving the PTP synchronization accuracy under asymmetric delay conditions
Freris et al. A model-based approach to clock synchronization
JP2015188159A (en) Slave node, time synchronization method, and computer program
Du et al. An enhanced end-to-end transparent clock mechanism with a fixed delay ratio
EP2627040B1 (en) Method for eliminating systematical error components in a set of one-way delay measurement results for communications between two or more computing systems in a communication network, apparatus for performing the method and computer program product
Han et al. First national high-precision time synchronization network with sub-microsecond accuracy over commercial optical networks for wireless applications
Hu et al. Multi-domain time synchronization model and performance evaluation in TSN
GB2446646A (en) Synchonising master and slave clocks
JP5548268B2 (en) How to synchronize client clock frequency with server clock frequency
KR20200033627A (en) Apparatus and Method for Compensating Delay on Front-Hall Period of Distributed Node System
CN116566529A (en) Time adjustment method, network equipment and system
CN105790874B (en) A kind of substation network setting means based on adaptive algorithm
Yang et al. New algorithm for IEEE 1588 time synchronization under the presence of significant delay variation
Kernen et al. Strategies for Deployment of Accurate Time Information using PTP within the All-IP studio
Duan et al. Comparison and Testing of Time Synchronization Accuracy between IEEE 1588v2 and IEEE 802.1 AS
WO2012118177A1 (en) Synchronization device, time management method, and computer program

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)