IP Library Granted Patent US 10,298,345
Granted Patent B2
US 10,298,345 · App. 15/406,350 · Granted May 21, 2019

Clock synchronizaton using codeword marker

Inventors: Kai Yang (Beijing, CN); Bin Sun (Beijing, CN); Yuan Yao (Beijing, CN); Zhen Han (Beijing, CN)
Assignee: GLOBALFOUNDRIES INC.
H04J3/0667
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 10,298,345
App. No.
15/406,350
Granted
May 21, 2019
Kind
B2
Abstract

Aspects of the present disclosure includes a method and program product for clock synchronization of a networked computer system. The method records a time (t 1 ) when a first codeword marker in a datastream is sent from a master computer to a slave computer and records a second time (t 2 ) when the slave computer receives the first codeword marker. The method includes recording a third time (t 3 ) when a third codeword marker in a datastream is sent from the slave computer to the master computer. The method includes recording a fourth time t 4 when the master receives the third codeword marker from the slave. The method calculates a time offset θ, according to; θ = ( t ⁢ ⁢ 2 - t ⁢ ⁢ 1 ) + ( t ⁢ ⁢ 4 - t ⁢ ⁢ 3 ) 2 , and a roundtrip delay δ, according to δ=(t 4 −t 1 )−(t 3 −t 2 ). The clock in the slave computer is synchronized with a clock in the master computer using θ and δ.

Claims (131)

1. A method for clock synchronization of a networked computer system, the method comprising:

recording a time (t 1 ) when a first codeword marker in a datastream is sent from a master computer to a slave computer;

recording a second time (t 2 ) when the slave computer receives the first codeword marker;

sending a second codeword marker in the datastream from the master computer to the slave computer, the second codeword marker containing the first time (t 1 ), wherein sending the second codeword marker includes inserting the second codeword marker into a stream of transcoded blocks transmitted over a network computer system at predefined locations within the datastream;

recording a third time (t 3 ) when a third codeword marker in the datastream is sent from the slave computer to the master computer, wherein the third codeword marker is a first available codeword marker after receipt of slave computer of the second codeword marker;

recording a fourth time (t 4 ) when the master computer receives the third codeword marker from the slave;

sending a fourth codeword marker in the datastream from the master computer to the slave computer, the fourth codeword marker containing the fourth time (t 4 ), wherein sending the fourth codeword marker includes inserting the fourth codeword marker into a stream of transcoded blocks transmitted over a network computer system at predefined locations within the datastream;

calculating a time offset θ, according to

θ

=

(

t

2

-

t

1

)

+

(

t

4

-

t

3

)

2

;

calculating a roundtrip delay δ, according to δ=(t 4 −t 1 )−(t 3 −t 2 ); and

synchronizing a clock in the slave computer with a clock in the master computer using θ and δ to adjust the clock in the slave computer from an initial setting to a synchronized setting; and

continuing operation of the master computer and the slave computer after adjusting the clock of the slave computer to the synchronized setting.

2. The method of claim 1 , wherein the slave computer determines an elapsed time (T mm ) from receipt of the first codeword marker from the master computer to receipt of the second codeword marker from the master computer and if T mm is less than a predetermined value, clock synchronization is not initiated.

3. The method of claim 2 , wherein the predetermined value is twice a time between two consecutive codeword markers.

4. The method of claim 1 , wherein the master computer determines an elapsed time (T ms ) from sending of the second codeword marker to the slave computer to receipt of the third codeword marker from the slave computer and if T ms is less than a predetermined value, clock synchronization is not initiated.

5. The method of claim 4 , wherein the predetermined value is triple a time between two consecutive codeword markers.

6. The method of claim 1 , wherein the slave computer determines an elapsed time (T sm ) from sending of the third codeword marker to the master computer to receipt of the fourth codeword marker from the master computer and if T sm is less than a predetermined value, clock synchronization is not initiated.

7. The method of claim 6 , wherein the predetermined value is triple a time between two consecutive codeword markers.

8. A program product stored on a non-transitory computer readable medium, the program product operative to synchronize clocks within a computer network containing a master computer and a slave computer, the non-transitory computer readable medium comprising program code for:

recording a time (t 1 ) when a first codeword marker in a datastream is sent from the master computer to the slave computer;

recording a second time (t 2 ) when the slave computer receives the first codeword marker;

sending a second codeword marker in the datastream from the master computer to the slave computer, the second codeword marker containing the first time (t 1 ), wherein the program code for sending the second codeword marker inserts the second codeword marker into a stream of transcoded blocks transmitted over a network computer system at predefined locations within the datastream;

recording a third time (t 3 ) when a third codeword marker in the datastream is sent from the slave computer to the master computer, wherein the third codeword marker is a first available codeword marker after receipt of slave computer of the second codeword marker;

recording a fourth time (t 4 ) when the master computer receives the third codeword marker from the slave;

sending a fourth codeword marker in the datastream from the master computer to the slave computer, the fourth codeword marker containing the fourth time t 4 , wherein the program code for sending the fourth codeword marker inserts the fourth codeword marker into a stream of transcoded blocks transmitted over a network computer system at predefined locations within the datastream;

calculating a time offset θ, according to

θ

=

(

t

2

-

t

1

)

+

(

t

4

-

t

3

)

2

;

calculating a roundtrip delay δ, according to δ=(t 4 −t 1 )−(t 3 −t 2 ); and

synchronizing a clock in the slave computer with a clock in the master computer, wherein the program code for synchronizing of the clock in the slave computer uses θ and δ to adjust the clock in the slave computer from an initial setting to a synchronized setting; and

continuing operation of the master computer and the slave computer after adjusting the clock of the slave computer to the synchronized setting.

9. The program product of claim 8 , wherein the slave computer determines an elapsed time (T mm ) from receipt of the first codeword marker from the master computer to receipt of the second codeword marker from the master computer and if T mm is less than a predetermined value, clock synchronization, is not initiated.

10. The program product of claim 9 , wherein the predetermined value is twice a time between two consecutive codeword markers.

11. The program product of claim 8 , wherein the master computer determines an elapsed time (T ms ) from sending of the second codeword marker to the slave computer to receipt of the third codeword marker from the slave computer and if T ms is less than a predetermined value, clock synchronization is not initiated.

12. The program product of claim 11 , wherein the predetermined value is triple a time between two consecutive codeword markers.

13. The program product of claim 8 , wherein the slave computer determines an elapsed time (T sm ) from sending of the third codeword marker to the master computer to receipt of the fourth codeword marker from the master computer and if T sm is less than a predetermined value, clock synchronization is not initiated.

14. The program product of claim 13 , wherein the predetermined value is triple a time between two consecutive codeword markers.

15. A computer-implemented method for synchronizing clocks within a computer network containing a master computer and a slave computer, the method comprising using a computing device to perform actions including:

recording a time (t 1 ) when a first codeword marker in a datastream is sent from the master computer to the slave computer;

recording a second time (t 2 ) when the slave computer receives the first codeword marker;

sending a second codeword marker in the datastream from the master computer to the slave computer, the second codeword marker containing the first time (t 1 ), wherein sending the second codeword marker includes inserting the second codeword marker into a stream of transcoded blocks transmitted over a network computer system at predefined locations within the datastream;

recording a third time (t 3 ) when a third codeword marker in the datastream is sent from the slave computer to the master computer, wherein the third codeword marker is a first available codeword marker after receipt of slave computer of the second codeword marker;

recording a fourth time (t 4 ) when the master computer receives the third codeword marker from the slave;

sending a fourth codeword marker in the datastream from the master computer to the slave computer, the fourth codeword marker containing the fourth time t 4 , wherein sending the fourth codeword marker includes inserting the fourth codeword marker into a stream of transcoded blocks transmitted over a network computer system at predefined locations within the datastream;

calculating a time offset θ, according to

θ

=

(

t

2

-

t

1

)

+

(

t

4

-

t

3

)

2

;

calculating a roundtrip delay δ, according to δ=(t 4 −t 1 )−(t 3 −t 2 ); and

synchronizing a clock in the slave computer with a clock in the master computer, wherein the synchronizing of the clock in the slave computer includes using θ and δ to adjust the clock in the slave computer from an initial setting to a synchronized setting; and

continuing operation of the master computer and the slave computer after adjusting the clock of the slave computer to the synchronized setting.

16. The computer-implemented method of claim 15 , wherein the slave computer determines an elapsed time (T mm ) from receipt of the first codeword marker from the master computer to receipt of the second codeword marker from the master computer and if T mm is less than a predetermined value, clock synchronization is not initiated.

17. The computer-implemented method of claim 16 , wherein the predetermined value is twice a time between two consecutive codeword markers.

18. The computer-implemented method of claim 15 , wherein the master computer determines an elapsed time (T ms ) from sending of the second codeword marker to the slave computer to receipt of the third codeword marker from the slave computer and if T ms is less than a predetermined value, clock synchronization is not initiated.

19. The computer-implemented method of claim 18 , wherein the predetermined value is triple a time between two consecutive codeword markers.

20. The computer-implemented method of claim 15 , wherein the slave computer determines an elapsed time (T sm ) from sending of the third codeword marker to the master computer to receipt of the fourth codeword marker from the master computer and if T sm is less than predetermined value clock synchronization is not initiated.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES INC.
Reel/Frame 054636/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2019
From: GLOBALFOUNDRIES U.S. INC.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 051070/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2019
From: GLOBALFOUNDRIES INC.
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 050122/0001 →
SECURITY AGREEMENT Recorded Nov 29, 2018
From: GLOBALFOUNDRIES INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 049490/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2017
From: YANG, KAI; SUN, BIN; YAO, YUAN; HAN, ZHEN
To: GLOBALFOUNDRIES INC.
Reel/Frame 040980/0427 →
Continuity (1)
Related Publication 20180205477A1 · Jul 19, 2018