IP Library › Granted Patent US 11,463,253
Granted Patent B2
US 11,463,253 · App. 16/329,743 · Granted Oct 4, 2022

Network timing synchronization

Inventors: Birju N. Shah (Redwood City, CA); Tristan F. Schaap (San Francisco, CA); James E. Zmuda (Redwood City, CA); Manfred von Willich (Encinitas, CA)
H04L9/12G06F21/64H04J3/0667H04L7/0012H04L9/00H04L9/3234H04L9/3242H04L63/00H04L63/123G06F2221/2151H04L2209/12
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 11,463,253
App. No.
16/329,743
Granted
Oct 4, 2022
Kind
B2
Abstract

Techniques are disclosed relating to time synchronization in a network. In some embodiments, an apparatus includes a first circuit having a first clock configured to maintain a local time value for a node coupled to a network. The first circuit is configured to send a first message to a second circuit. The first message includes a first nonce. The second circuit has a second clock that maintains a reference time value for the network. The first circuit receives a second message from the second circuit, the second message including a second nonce and is associated with a timestamp identifying the reference time value. The first circuit compares the first nonce to the second nonce to determine whether the timestamp is valid and, in response to determining that the timestamp is valid, uses the timestamp to synchronize the first clock with the second clock.

Claims (50)

1. An apparatus, comprising:

a first circuit having a first clock configured to maintain a local time value for a node coupled to a network, wherein the first circuit is configured to:

send a first message to a second circuit, wherein the first message includes a first nonce, wherein the second circuit has a second clock that maintains a reference time value for the network;

receive a second message from the second circuit, wherein the second message includes a second nonce and is associated with a timestamp identifying the reference time value;

receive, from the second circuit, a follow-up message to the second message, wherein the follow-up message includes the first and second nonces;

validate the first nonce and the second nonce to determine whether the timestamp from the second message is valid; and

in response to determining that the timestamp is valid, use the timestamp to synchronize the first clock with the second clock.

2. The apparatus of claim 1 , wherein the first circuit is configured to send the first message during an exchange with the second circuit to determine a propagation delay between the first circuit and the second circuit.

3. The apparatus of claim 2 , wherein the first circuit is configured to:

use the timestamp to synchronize the first clock with the second clock by determining an offset between the first clock and the second clock based on the propagation delay and the timestamp.

4. The apparatus of claim 3 , wherein the first circuit is configured to:

calculate an expected offset between the first and second clocks such that the expected offset is calculated based on timing information determined from the exchange; and

validate the determined offset by comparing the determined offset with the expected offset.

5. The apparatus of claim 1 , wherein the timestamp is included in the follow-up message and indicates the reference time value when the second message is sent from the second circuit.

6. The apparatus of claim 1 , wherein the second message includes a cryptographic checksum for the second message; and

wherein the first circuit includes a cryptographic circuit configured to verify the cryptographic checksum using a key stored in the cryptographic circuit to determine whether the timestamp is valid.

7. The apparatus of claim 1 , further comprising:

the node, wherein the first circuit is coupled to the node and configured to provide, to the node, timing information based on synchronization of the first clock with the second clock.

8. A method, comprising:

maintaining, by a first clock of a first circuit, a local time value for a node coupled to a network;

sending, by the first circuit, a first message to a second circuit, wherein the first message includes a first nonce, wherein the second circuit has a second clock that maintains a reference time value for the network;

receiving, by the first circuit, a second message from the second circuit, wherein the second message includes a second nonce and is associated with a timestamp identifying the reference time value;

receiving, by the first circuit from the second circuit, a follow-up message to the second message, wherein the follow-up message includes the first and second nonces;

validating, by the first circuit, the first nonce and the second nonce to determine whether the timestamp from the second message is valid; and

in response to determining that the timestamp is valid, the first circuit using the timestamp to synchronize the first clock with the second clock.

9. The method of claim 8 , wherein the first circuit sends the first message during an exchange with the second circuit to determine a propagation delay between the first circuit and the second circuit.

10. The method of claim 9 , wherein the first circuit uses the timestamp to synchronize the first clock with the second clock by determining an offset between the first clock and the second clock based on the propagation delay and the timestamp.

11. The method of claim 10 , further comprising:

calculating, by the first circuit, an expected offset between the first and second clocks such that the expected offset is calculated based on timing information determined from the exchange; and

validating, by the first circuit, the determined offset by comparing the determined offset with the expected offset.

12. The method of claim 8 , wherein the timestamp is included in the follow-up message and indicates the reference time value when the second message is sent from the second circuit.

13. The method of claim 8 , wherein the second message includes a cryptographic checksum for the second message; and

wherein the method further comprises verifying, by a cryptographic circuit of the first circuit, the cryptographic checksum using a key stored in the cryptographic circuit to determine whether the timestamp is valid.

14. The method of claim 8 , further comprising:

provide, by the first circuit to the node, timing information based on synchronization of the first clock with the second clock.

15. A non-transitory computer readable medium having program instructions stored therein that are executable by an apparatus including a first circuit to cause the apparatus to perform operations comprising:

maintaining, by a first clock of the first circuit, a local time value for a node coupled to a network;

sending, by the first circuit, a first message to a second circuit, wherein the first message includes a first nonce, wherein the second circuit has a second clock that maintains a reference time value for the network;

receiving, by the first circuit, a second message from the second circuit, wherein the second message includes a second nonce and is associated with a timestamp identifying the reference time value;

receiving, by the first circuit from the second circuit, a follow-up message to the second message, wherein the follow-up message includes the first and second nonces;

validating, by the first circuit, the first nonce and the second nonce to determine whether the timestamp from the second message is valid; and

in response to determining that the timestamp is valid, the first circuit using the timestamp to synchronize the first clock with the second clock.

16. The computer readable medium of claim 15 , wherein the first circuit sends the first message during an exchange with the second circuit to determine a propagation delay between the first circuit and the second circuit.

17. The computer readable medium of claim 16 , wherein the first circuit uses the timestamp to synchronize the first clock with the second clock by determining an offset between the first clock and the second clock based on the propagation delay and the timestamp.

18. The computer readable medium of claim 17 , wherein the operations further comprise:

calculating, by the first circuit, an expected offset between the first and second clocks such that the expected offset is calculated based on timing information determined from the exchange; and

validating, by the first circuit, the determined offset by comparing the determined offset with the expected offset.

19. The computer readable medium of claim 15 , wherein the timestamp is included in the follow-up message and indicates the reference time value when the second message is sent from the second circuit.

20. The computer readable medium of claim 15 , wherein the operations further comprise:

providing, by the first circuit to the node, timing information based on synchronization of the first clock with the second clock.

Continuity (2)
Provisional Application 62399313 · Sep 23, 2016
Related Publication 20190245690A1 · Aug 8, 2019
Cited By (2)
US 12,332,834 US 12,395,487