IP Library Granted Patent US 11,616,587
Granted Patent B1
US 11,616,587 · App. 17/107,686 · Granted Mar 28, 2023

Remote clock synchronization using network communication and satellite signals

Inventors: Ahmad Byagowi (Milpitas, CA); Georgi Chalakov (Duvall, WA); Michel Ouellette (Sunnyvale, CA)
Assignee: Meta Platforms, Inc.
H04J3/0644G01S19/05H04J3/0661
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,616,587
App. No.
17/107,686
Granted
Mar 28, 2023
Kind
B1
Abstract

A reference time associated with a satellite signal received at a clock synchronization source is determined, wherein the reference time is from a master reference clock. A recorded time associated with a corresponding satellite signal received at a remote clock synchronization destination is received from the remote clock synchronization destination via a network, wherein the received recorded time is from a remote clock to be synchronized with the master reference clock. A clock adjustment value is calculated based on a comparison of the determined reference time and the received recorded time. The clock adjustment value is provided to the remote clock synchronization destination, wherein the clock adjustment value is able to be utilized by the remote clock synchronization destination to adjust the remote clock to increase synchronization with the master reference clock.

Claims (34)

1. A method, comprising:

determining at a clock synchronization source a reference time associated with a satellite signal received at a clock synchronization source, wherein the reference time is from a master reference clock;

receiving at the clock synchronization source via a network from a remote clock synchronization destination, a recorded time associated with a corresponding satellite signal received at the remote clock synchronization destination, wherein the received recorded time is from a remote clock to be synchronized with the master reference clock;

calculating at the clock synchronization source a clock adjustment value based on a comparison of the determined reference time and the received recorded time; and

providing the clock adjustment value from the clock synchronization source to the remote clock synchronization destination, wherein the clock adjustment value is able to be utilized by the remote clock synchronization destination to adjust the remote clock to increase synchronization with the master reference clock, wherein the clock adjustment value is utilized by the remote clock synchronization destination to calculate a first value proportional to the clock adjustment value, calculate a second value proportional to an integration of past clock adjustment values, calculate a sum of the first value and the second value, and adjust a property of the remote clock based at least in part on the calculated sum.

2. The method of claim 1 , wherein the satellite signal is received from a Global Navigation Satellite System (GNSS).

3. The method of claim 1 , wherein the master reference clock includes an oven-controlled crystal oscillator (OCXO) or an atomic clock.

4. The method of claim 1 , wherein the master reference clock includes an oscillator for a pulse-per-second (PPS) generator that generates a periodic waveform having a specified alignment with time kept by the master reference clock.

5. The method of claim 1 , wherein determining the reference time includes obtaining a hardware timestamp during an occurrence of a specified portion of a pulse-per-second signal generated at the clock synchronization source.

6. The method of claim 1 , wherein the clock synchronization source includes an antenna and a receiver that is connected to the antenna and configured to calculate a synchronized time kept by a Global Navigation Satellite System.

7. The method of claim 1 , wherein the network includes a wide area network (WAN).

8. The method of claim 1 , wherein the recorded time is associated with a hardware timestamp of the remote clock obtained during a period of unreliable communication between the remote clock synchronization destination and a Global Navigation Satellite System.

9. The method of claim 8 , wherein the period of unreliable communication is caused at least in part by deliberate use of radio transmissions to prevent listening to the Global Navigation Satellite System.

10. The method of claim 8 , wherein the period of unreliable communication is caused at least in part by reception at the remote clock synchronization destination of incorrect geolocation and/or time signals intended to be mistaken for actual signals from the Global Navigation Satellite System.

11. The method of claim 8 , wherein the period of unreliable communication is caused at least in part by electronic noise, emitted by electronic devices operating in a same vicinity as the remote clock synchronization destination, intended to interfere with reception of signals from the Global Navigation Satellite System.

12. The method of claim 1 , wherein the remote clock synchronization destination is a moving object.

13. The method of claim 1 , wherein calculating the clock adjustment value includes subtracting the determined reference time from the received recorded time or vice versa.

14. The method of claim 1 , wherein providing the clock adjustment value to the remote clock synchronization destination includes transmitting the clock adjustment value via the network.

15. The method of claim 1 , wherein the remote clock is able to be utilized to synchronize one or more clock devices communicatively connected to the remote clock through a local network at the remote clock synchronization destination.

16. The method of claim 1 , wherein the remote clock is able to be utilized to synchronize one or more other clock devices using precision time protocol (PTP).

17. The method of claim 1 , wherein the remote clock synchronization destination utilizes a feedback control mechanism to adjust the remote clock to increase synchronization with the master reference clock.

18. A clock synchronization source system, comprising:

one or more processors configured to:

determine a reference time associated with a satellite signal received at a clock synchronization source, wherein the reference time is from a master reference clock;

receive via a network from a remote clock synchronization destination, a recorded time associated with a corresponding satellite signal received at the remote clock synchronization destination, wherein the received recorded time is from a remote clock to be synchronized with the master reference clock;

calculate a clock adjustment value based on a comparison of the determined reference time and the received recorded time; and

provide the clock adjustment value to the remote clock synchronization destination, wherein the clock adjustment value is able to be utilized by the remote clock synchronization destination to adjust the remote clock to increase synchronization with the master reference clock, wherein the clock adjustment value is utilized by the remote clock synchronization destination to calculate a first value proportional to the clock adjustment value, calculate a second value proportional to an integration of past clock adjustment values, calculate a sum of the first value and the second value, and adjust a property of the remote clock based at least in part on the calculated sum; and

a memory coupled to at least one of the one or more processors and configured to provide at least one of the one or more processors with instructions.

19. The system of claim 18 , wherein the master reference clock includes an oscillator for a pulse-per-second (PPS) generator that generates a periodic waveform having a specified alignment with time kept by the master reference clock.

20. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

determining at a clock synchronization source a reference time associated with a satellite signal received at a clock synchronization source, wherein the reference time is from a master reference clock;

receiving at the clock synchronization source via a network from a remote clock synchronization destination, a recorded time associated with a corresponding satellite signal received at the remote clock synchronization destination, wherein the received recorded time is from a remote clock to be synchronized with the master reference clock;

calculating at the clock synchronization source a clock adjustment value based on a comparison of the determined reference time and the received recorded time; and

providing the clock adjustment value from the clock synchronization source to the remote clock synchronization destination, wherein the clock adjustment value is able to be utilized by the remote clock synchronization destination to adjust the remote clock to increase synchronization with the master reference clock, wherein the clock adjustment value is utilized by the remote clock synchronization destination to calculate a first value proportional to the clock adjustment value, calculate a second value proportional to an integration of past clock adjustment values, calculate a sum of the first value and the second value, and adjust a property of the remote clock based at least in part on the calculated sum.

Assignments (2)
CHANGE OF NAME Recorded Nov 19, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058214/0351 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2021
From: BYAGOWI, AHMAD; CHALAKOV, GEORGI; OUELLETTE, MICHEL
To: FACEBOOK, INC.
Reel/Frame 055183/0624 →
Cited By (3)
US 12,457,034 US 12,549,270 US 12,627,391