US2004258099A1PendingUtilityA1

Clock synchronisation over a packet network

Priority: Mar 7, 2003Filed: Mar 4, 2004Published: Dec 23, 2004
Est. expiryMar 7, 2023(expired)· nominal 20-yr term from priority
H04L 7/00H04J 3/0632H04J 3/0664
42
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method of synchronising first and second clocks coupled respectively to ingress and egress interfaces 6,7 of a packet network 1 , the method comprising calculating a minimum packet Transit Time over the network 1 in each of successive time intervals, and varying the frequency of the second clock so as to track variations in the minimum packet Transit Time.

Claims

exact text as granted — not AI-modified
1 . A method of synchronising first and second clocks coupled respectively to ingress and egress interfaces of a packet network, where the first clock determines the bit rate of a constant bit rate stream arriving at the ingress interface and the second clock rate determines the bit rate of a constant bit rate stream sent from the egress interface, the method comprising calculating a minimum packet Transit Time over the network in each of successive time intervals, and varying the frequency of the second clock so as to maintain a constant value of the calculated minimum packet transit time and hence achieve both phase and frequency synchronisation of the first and second clocks.  
     
     
         2 . A method according to  claim 1 , wherein said minimum packet Transit Time is calculated using Local and Remote Timestamps which increase linearly at the first and second clock frequencies respectively or at multiples or sub-multiples thereof.  
     
     
         3 . A method according to  claim 2  and comprising calculating a packet Transit Time for each packet received at said egress, and identifying the minimum packet Transit Time within each time interval.  
     
     
         4 . A method according to  claim 1 , the method comprising: 
 receiving a synchronous data stream at said ingress to the packet network at a frequency determined by said first clock, packetising the data, and sending the packets over the packet network;    receiving packets at said egress from the packet network;    for each received packet, determining a Remote Timestamp being indicative of the state of said first clock when the packet was sent, determining a Local Timestamp for the packet, and calculating the difference between said Remote and Local Timestamps to provide a Transit Time for the packet;    determining the minimum Transit Time for packets in successive time intervals; and    adjusting the frequency of said second clock so as to maintain a constant value of minimum packet transit time.    
     
     
         5 . A method according to  claim 4  and comprising incorporating respective Remote Timestamps into packets at said ingress to the packet network, said step of determining a Remote Timestamp value for a packet at the egress comprising extracting the Remote Timestamp from the packet.  
     
     
         6 . A method according to  claim 4 , wherein said step of determining a Remote Timestamp for each packet comprises computing the Timestamp at the egress from the packet network.  
     
     
         7 . A method according to  claim 6 , wherein said step of determining a Remote Timestamp for each packet comprises maintaining a data counter at said egress, which counter records the data volume contained in the payloads of received packets, and using the value contained in said counter when a packet is received, as the Remote Timestamp for that packet.  
     
     
         8 . A method according to  claim 6 , wherein said step of determining a Remote Timestamp for each packet comprises computing the Remote Timestamp using the packet payload size and packet sequence number.  
     
     
         9 . A method according to  claim 4 , wherein said Local and Remote Timestamps are counts representing numbers of bits, fractional bits, multiples of bits, frames of the synchronous data streams, or representing packet payload size.  
     
     
         10 . A method according to  claim 4 , wherein the frequency of the second clock is adjusted using the difference between the most recently determined minimum Transit Time and the previously determined minimum Transit Time.  
     
     
         11 . A method according to  claim 10 , wherein said difference is scaled by an appropriate factor and the result is added to or subtracted from the current second clock frequency.  
     
     
         12 . A method according to  claim 4 , wherein the frequency of the second clock is adjusted in dependence upon the difference between the most recently determined minimum Transit Time and a target minimum Transit Time.  
     
     
         13 . A method according to  claim 12 , wherein said difference is scaled by an appropriate factor and the result is added to or subtracted from the current second clock frequency.  
     
     
         14 . A method according to  claim 1  and comprising adjusting the frequency of the second clock in dependence upon the fill level of a buffer of the egress and into which incoming packets are placed.  
     
     
         15 . A method according to  claim 14 , wherein the fill level is filtered to remove short term fluctuations, and an offset value is derived from the filtered result.  
     
     
         16 . A method according to  claim 1 , wherein the frequency of the second clock is varied according to the formula:  
         F   m   =F   m-1   +G 1( Y   m   −Y   m-1 )+ G 2( Y   m −TransitTarget)  Where:    F m  is the frequency of said second clock    G1 is a proportional term for the loop gain    G2 is an integral term for the loop gain    F m-1  is the current frequency of the second clock    Y m  is the minimum Transit Time for the current time interval    Y m-1  is the minimum Transit Time for the previous time interval, and TransitTarget is a desired target point for the minimum Transit Time.    
     
     
         17 . A method according to  claim 1  and comprising, at initialisation of a system comprising said first and second clocks, adjusting the frequency of the second clock in dependence upon the change in the minimum packet Transit Time over the network, measured in each of two time intervals separated by a given time interval, and subsequently carrying out the defined steps to achieve both phase and frequency synchronisation of the first and second clocks.  
     
     
         18 . A method according to  claim 17  and comprising adjusting the frequency of the second clock at initialisation in dependence upon the ratio of said change in the minimum packet Transit Time and the time interval separating the times of arrival of the packets subject to the minimum packet Transit Time.  
     
     
         19 . A method according to  claim 17  and comprising repeating the step of adjusting the frequency, during initialisation, one or more times until a substantially stable frequency is achieved for the second clock.  
     
     
         20 . A method according to  claim 1  and comprising: 
 defining a threshold range for the minimum packet Transit Time; and  
 disregarding minimum packet Transit Times which fall outside of said range and not varying the frequency of the second clock in dependence upon these disregarded Transit Times.  
 
     
     
         21 . A method according to  claim 17  and comprising: 
 defining a threshold range for the minimum packet Transit Time;  
 disregarding minimum packet Transit Times which fall outside of said range and not varying the frequency of the second clock in dependence upon these disregarded Transit Times, except where the calculated minimum packet Transit Times have fallen outside of said threshold range for some defined time period.  
 
     
     
         22 . A method according to  claim 21 , wherein the frequency of the second clock is only varied after the minimum packet Transit Time has stabilised.  
     
     
         23 . A method according to  claim 22 , comprising setting the value of TransitTarget to the new stable minimum packet Transit Time has stabilised.  
     
     
         24 . A method according to  claim 1 , wherein the ingress to the packet network is coupled to a first time division multiplexed (TDM) link, the TDM link operating at said first clock frequency, with the egress from the packet network being coupled to a second TDM link operating at said second clock frequency.  
     
     
         25 . Apparatus for synchronising first and second clocks coupled respectively to ingress and egress interfaces over a packet network, the apparatus comprising means for calculating a minimum packet Transit Time in each of successive time intervals, and means for varying the frequency of the second clock so as to track variations in the minimum packet Transit Time.  
     
     
         26 . Apparatus according to  claim 25  and comprising: 
 first processing means for determining for each packet received at an egress of the packet network a Remote Timestamp being indicative of the state of said first clock when the packet was sent;  
 second processing means for determining a Local Timestamp for the packet;  
 difference means for calculating the difference between said Remote and Local Timestamps to provide a Transit Time for the packet;  
 third processing means for determining the minimum Transit Time experienced by packets in successive time intervals; and  
 clock adjustment means for adjusting the frequency of said second clock so as to maintain a constant value of the calculated minimum packet transit time and hence achieve both phase and frequency synchronisation of the first and second clocks.  
 
     
     
         27 . A method of synchronising first and second clocks coupled respectively to ingress and egress interfaces of a packet network, where the first clock determines the bit rate of a constant bit rate stream arriving at the ingress interface and the second clock rate determines the bit rate of a constant bit rate stream sent from the egress interface, the method comprising determining a correction factor using the equation:  
       
         
           
             
               
                 
                   
                     
                       PPM 
                        
                       
                         ( 
                         n 
                         ) 
                       
                     
                     = 
                     
                       
                         
                           
                             TransitTime 
                              
                             
                               ( 
                               n 
                               ) 
                             
                           
                           - 
                           
                             TransitTime 
                              
                             
                               ( 
                               m 
                               ) 
                             
                           
                         
                         
                           
                             RxTime 
                              
                             
                               ( 
                               n 
                               ) 
                             
                           
                           - 
                           
                             RxTime 
                              
                             
                               ( 
                               m 
                               ) 
                             
                           
                         
                       
                       × 
                       
                         
                           1 
                            
                           
                             , 
                           
                            
                           000 
                            
                           
                             , 
                           
                            
                           000 
                         
                         fnominal 
                       
                     
                   
                 
                 
                   
                     ( 
                     3 
                     ) 
                   
                 
               
             
           
           
           
               
           
         
         where:  
         PPM is the adjustment to be made to the regeneration frequency f regen  in parts per million  
         TransitTime(n) is the least delayed packet from interval n  
         TransitTime(m) is the least delayed packet from interval m  
         RxTime(n) is the reception time for least delayed packet n  
         RxTime(m) is the reception time for least delayed packet m  
         f nominal  is the frequency of the clock used to generate the timestamp for the TransitTime.  
       
     
     
         28 . A method according to  claim 27 , wherein the correction factor is applied to compensate the Transit Time estimates (in intervals n and m), and new minimum Transit Times in these intervals are determined and used to compute an improved frequency correction factor.  
     
     
         29 . A method of synchronising first and second clocks coupled respectively to ingress and egress interfaces of a packet network, the method comprising calculating a minimum packet Transit Time over the network in each of successive time intervals, and varying the frequency of the second clock so as to track variations in the minimum packet Transit Time.  
     
     
         30 . A method according to  claim 17 , comprising setting the value of TransitTarget to the new stable minimum packet Transit Time has stabilised.

Join the waitlist — get patent alerts

Track US2004258099A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.