IP Library Granted Patent US 9,671,822
Granted Patent B2
US 9,671,822 · App. 14/566,990 · Granted Jun 6, 2017

Method and devices for time transfer using end-to-end transparent clocks

Inventor: James Aweya (Abu Dhabi, AE)
Assignees: Khalifa University of Science, Technology and Research; British Telecommunications plc; Emirates Telecommunications Corporation
G06F1/12G06F1/10H04L69/28
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,671,822
App. No.
14/566,990
Granted
Jun 6, 2017
Kind
B2
Abstract

This invention relates to methods and devices for time transfer. The invention has particular application in the alignment of slave clocks to a master clock and dealing with packet delay variations. In embodiments of the invention, the slave clock uses the residence times measured by end-to-end transparent clocks to compensate for clock synchronization errors that arise due to variability in message transfer delays. Embodiments provide a simple linear approximation technique and a Kalman filter-based technique for estimating offset and skew of the slave clock.

Claims (722)

1. A method for estimating the skew and offset of a slave clock in a slave device in relation to a master clock in a master device, the slave device and the master device being connected by a network, the method including the steps of:

exchanging timing messages between the master device and the slave device over the network, each timing message passing through at least one end-to-end transparent clock;

recording timestamps which are the times of the sending and receiving said messages according to the respective clocks;

recording the residence times, r ftotal,n and r rtotal,n , which are the residence times of the nth packet in the forward and reverse directions respectively, of each message passing through the or each transparent clock;

estimating the skew and offset of the slave clock using the said timestamps and said residence times; and

synchronizing the output of the slave clock to the master clock using said estimated offset and skew; and

wherein the step of estimating the skew and offset estimates the skew α as the average of the skew α 1 calculated in the forward direction from master to slave and the skew α 2 calculated in the reverse direction from the slave to the master:

α

1

=

(

T

1

,

n

-

T

1

,

n

-

1

)

+

(

r

ftotal

,

n

-

r

ftotal

,

n

-

1

)

(

T

2

,

n

-

T

2

,

n

-

1

)

-

1

&

α

2

=

(

T

4

,

n

-

T

4

,

n

-

1

)

+

(

r

rtotal

,

n

-

r

rtotal

,

n

-

1

)

(

T

3

,

n

-

T

3

,

n

-

1

)

-

1

,

 wherein

T 1,n is the time of departure of the nth Sync message as measured by the master clock;

T 2,n is the time of receipt as recorded by the slave clock on receipt of the nth Sync message;

T 3,n is the time of transmission of the nth Delay_Req message as recorded by the slave clock;

T 4,n is the time of receipt of the nth Delay_Req message as recorded by the master clock; and

r ftotal,n and r rtotal,n are the residence times of the nth packet in the forward and reverse directions respectively, of each message passing through the or each transparent clock,

estimates the offset θ as

θ

=

(

T

1

,

n

+

T

4

,

n

)

-

(

1

+

α

)

(

T

2

,

n

+

T

3

,

n

)

2

+

(

d

f

-

d

r

)

2

+

(

r

rtotal

,

n

-

r

rtotal

,

n

)

2

,

 wherein:

d f is the fixed physical link delay in the forward direction; and

d r is the fixed physical link delay in the reverse direction,

and updates the offset and skew according to the update equations:

{circumflex over (α)} n =μα n +(1−μ){circumflex over (α)} n−1 , 0<μ<1 and

{circumflex over (θ)} n =μθ n +(1−μ){circumflex over (θ)} n−1 , 0<μ<1.

2. A method according to claim 1 wherein the step of estimating the skew and offset uses an exponentially weighted moving average filter applied to said timestamps and said residence times.

3. A method according to claim 1 wherein the step of estimating the skew and offset uses a Kalman filter.

4. A method according to claim 3 wherein, to estimate the skew α n and the offset θ n at time n, the Kalman filter is applied to:

the state equation

X

n

=

[

θ

n

α

n

]

=

[

1

(

T

1

,

n

-

T

1

,

n

-

1

)

0

1

]

[

θ

n

-

1

α

n

-

1

]

+

[

w

θ

,

n

w

α

,

n

]

 and

to the measurement equation

y n =D n X n +v n

wherein:

y n =(T 1,n −T 2,n )+(T 4,n −T 3,n )+(d f −d r )+(r ftotal,n −r ntotal,n ) is a scalar,

D n =[2 (T 2,n +T 3,n )] is a 1×2 matrix,

X n T =[θ n α n ] is a vector and

v n =(γ n −ε n ) is the measurement noise, and wherein:

T 1,n is the time of departure of the nth Sync message as measured by the master clock;

T 2,n is the time of receipt as recorded by the slave clock on receipt of the nth Sync message;

T 3,n is the time of transmission of the nth Delay_Req message as recorded by the slave clock;

T 4,n is the time of receipt of the nth Delay_Req message as recorded by the master clock;

r ftotal,n and r rtotal,n are the residence times of the nth packet in the forward and reverse directions respectively, of each message passing through the or each transparent clock,

d f is the fixed physical link delay in the forward direction; and

d r is the fixed physical link delay in the reverse direction,

ε is the stochastic delay in the transmission of messages between the master and the slave device; and

γ is the stochastic delay in the transmission of messages between the slave and the master device.

5. A slave device connected to a master device having a master clock by a network containing at least one end-to-end transparent clock, the slave device having a slave clock and a processor, the slave device being arranged to:

exchange timing messages with the master device over said network and record timestamps which are the times of sending and receiving said messages according to the respective clocks; and

extract from said messages the residence times, r ftotal,n and r rtotal,n , which are the residence times of the nth packet in the forward and reverse directions respectively, of each message passing through the or each transparent clock, wherein:

the processor is arranged to:

estimate the skew and offset of the slave clock compared to the master clock using said timestamps and said residence times; and

wherein the processor is further arranged to synchronize the output of the slave clock to the master clock using said estimated offset and skew; and

wherein the processor estimates the skew α as the average of the skew α 1 calculated in the forward direction from master to slave and the skew α 2 calculated in the reverse direction from the slave to the master:

α

1

=

(

T

1

,

n

-

T

1

,

n

-

1

)

+

(

r

ftotal

,

n

-

r

ftotal

,

n

-

1

)

(

T

2

,

n

-

T

2

,

n

-

1

)

-

1

&

α

2

=

(

T

4

,

n

-

T

4

,

n

-

1

)

+

(

r

rtotal

,

n

-

r

rtotal

,

n

-

1

)

(

T

3

,

n

-

T

3

,

n

-

1

)

-

1

,

 wherein

T 1,n is the time of departure of the nth Sync message as measured by the master clock;

T 2,n is the time of receipt as recorded by the slave clock on receipt of the nth Sync message;

T 3,n is the time of transmission of the nth Delay_Req message as recorded by the slave clock;

T 4,n is the time of receipt of the nth Delay_Req message as recorded by the master clock; and

r ftotal,n and r rtotal,n are the residence times of the nth packet in the forward and reverse directions respectively, of each message passing through the or each transparent clock,

estimates the offset θ as

θ

=

(

T

1

,

n

+

T

4

,

n

)

-

(

1

+

α

)

(

T

2

,

n

+

T

3

,

n

)

2

+

(

d

f

-

d

r

)

2

+

(

r

ftotal

,

n

-

r

rtotal

,

n

)

2

,

 wherein:

d f is the fixed physical link delay in the forward direction; and

d r is the fixed physical link delay in the reverse direction,

and updates the offset and skew according to the update equations:

{circumflex over (α)} n =μα n +(1−μ){circumflex over (α)} n−1 , 0<μ<1 and

{circumflex over (θ)} n=μθ n +(1−μ){circumflex over (θ)} n−1 , 0<μ<1.

6. A slave device according to claim 5 wherein the processor estimates the skew and offset using an exponentially weighted moving average filter applied to said timestamps and said residence times.

7. A slave device according to claim 5 wherein the processor estimates the skew and offset using a Kalman filter.

8. A slave device according to claim 7 wherein, to estimate the skew α n and the offset θ n at time n, the Kalman filter is applied to:

the state equation

X

n

=

[

θ

n

α

n

]

=

[

1

(

T

1

,

n

-

T

1

,

n

-

1

)

0

1

]

[

θ

n

-

1

α

n

-

1

]

+

[

w

θ

,

n

w

α

,

n

]

 and

to the measurement equation

y n =D n X n +v n

wherein:

y n =(T 1,n −T 2,n )+(T 4,n −T 3,n )+(d f −d r )+(r ftotal,n −r rtotal,n is a scalar,

D n =[2 (T 2,n +T 3,n )] is a 1×2 matrix,

X n T =[θ n α n ] is a vector and

v n =(γ n −ε n ) is the measurement noise, and wherein:

T 1,n is the time of departure of the nth Sync message as measured by the master clock;

T 2,n is the time of receipt as recorded by the slave clock on receipt of the nth Sync message;

T 3,n is the time of transmission of the nth Delay_Req message as recorded by the slave clock;

T 4,n is the time of receipt of the nth Delay_Req message as recorded by the master clock;

r ftotal,n and r rtotal,n are the residence times of the nth packet in the forward and reverse directions respectively, of each message passing through the or each transparent clock,

d f is the fixed physical link delay in the forward direction; and

d r is the fixed physical link delay in the reverse direction,

ε is the stochastic delay in the transmission of messages between the master and the slave device; and

γ is the stochastic delay in the transmission of messages between the slave and the master device.

9. A system including:

a master device having a master clock;

a slave device having a slave clock and a processor; and

a network connecting said master device and said slave device and having at least one end-to-end transparent clock, wherein

the slave device is arranged to:

exchange timing messages with the master device over said network and record timestamps which are the times of sending and receiving said messages according to the respective clocks;

the or each transparent clock is arranged to:

record the residence times, r ftotal,n and r rtotal,n , which are the residence times of the nth packet in the forward and reverse directions respectively, of each message passing through the transparent clock, and further wherein:

the processor is arranged to:

estimate the skew and offset of the slave clock compared to the master clock using said timestamps and said residence times; and

wherein the processor is further arranged to synchronize the output of the slave clock to the master clock using said estimated offset and skew; and

wherein the processor estimates the skew α as the average of the skew α 1 calculated in the forward direction from master to slave and the skew α 2 calculated in the reverse direction from the slave to the master:

α

1

=

(

T

1

,

n

-

T

1

,

n

-

1

)

+

(

r

ftotal

,

n

-

r

ftotal

,

n

-

1

)

(

T

2

,

n

-

T

2

,

n

-

1

)

-

1

&

α

2

=

(

T

4

,

n

-

T

4

,

n

-

1

)

+

(

r

rtotal

,

n

-

r

rtotal

,

n

-

1

)

(

T

3

,

n

-

T

3

,

n

-

1

)

-

1

,

 wherein

T 1,n is the time of departure of the nth Sync message as measured by the master clock;

T 2,n is the time of receipt as recorded by the slave clock on receipt of the nth Sync message;

T 3,n is the time of transmission of the nth Delay_Req message as recorded by the slave clock;

T 4,n is the time of receipt of the nth Delay_Req message as recorded by the master clock; and

r ftotal,n and r rtotal,n are the residence times of the nth packet in the forward and reverse directions respectively, of each message passing through the or each transparent clock,

estimates the offset θ as

θ

=

(

T

1

,

n

+

T

4

,

n

)

-

(

1

+

α

)

(

T

2

,

n

+

T

3

,

n

)

2

+

(

d

f

-

d

r

)

2

+

(

r

ftotal

,

n

-

r

rtotal

,

n

)

2

,

 wherein:

d f is the fixed physical link delay in the forward direction; and

d r is the fixed physical link delay in the reverse direction,

and updates the offset and skew according to the update equations:

{circumflex over (α)} n =μα n +(1−μ){circumflex over (α)} n−1 , 0<μ<1 and

{circumflex over (θ)} n =μθ n +(1−μ){circumflex over (θ)} n−1 , 0<μ<1.

10. A system according to claim 9 wherein the processor estimates the skew and offset using an exponentially weighted moving average filter applied to said timestamps and said residence times.

11. A slave device according to claim 9 wherein the processor estimates the skew and offset using a Kalman filter.

12. A slave device according to claim 11 wherein, to estimate the skew α n and the offset θ n at time n, the Kalman filter is applied to:

the state equation

X

n

=

[

θ

n

α

n

]

=

[

1

(

T

1

,

n

-

T

1

,

n

-

1

)

0

1

]

[

θ

n

-

1

α

n

-

1

]

+

[

w

θ

,

n

w

α

,

n

]

 and

to the measurement equation

y n =D n X n +v n

wherein:

y n −(T 1,n −T 2,n )+(T 4,n −T 3,n )+(d f −d r )+r ftotal,n −r rtotal,n ) is scalar,

D n =[2 (T 2,n +T 3,n )] is a 1×2 matrix,

X n T =[θ n α n ] is a vector and

v n =(γ n −ε n ) is the measurement noise, and wherein:

T 1,n is the time of departure of the nth Sync message as measured by the master clock;

T 2,n is the time of receipt as recorded by the slave clock on receipt of the nth Sync message;

T 3,n is the time of transmission of the nth Delay_Req message as recorded by the slave clock;

T 45n is the time of receipt of the nth Delay_Req message as recorded by the master clock;

r ftotal,n and r rtotal,n are the residence times of the nth packet in the forward and reverse directions respectively, of each message passing through the or each transparent clock,

d f is the fixed physical link delay in the forward direction; and

d r is the fixed physical link delay in the reverse direction,

ε is the stochastic delay in the transmission of messages between the master and the slave device; and

γ is the stochastic delay in the transmission of messages between the slave and the master device.

Assignments (2)
CHANGE OF NAME Recorded Aug 8, 2019
From: KHALIFA UNIVERSITY OF SCIENCE, TECHNOLOGY AND RESEARCH
To: KHALIFA UNIVERSITY OF SCIENCE AND TECHNOLOGY
Reel/Frame 050006/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2015
From: AWEYA, JAMES, DR
To: KHALIFA UNIVERSITY OF SCIENCE, TECHNOLOGY, AND RESEARCH; BRITISH TELECOMMUNICATIONS PLC; EMIRATES TELECOMMUNICATIONS CORPORATION
Reel/Frame 034808/0156 →
Continuity (1)
Related Publication 20160170440A1 · Jun 16, 2016