Clock harmonization in deterministic networks
First Claim
Patent Images
1. A method comprising:
- receiving, at a device in a network, a plurality of packets from one or more neighbors of the device, wherein each of the packets has a scheduled delivery time interval according to a deterministic communication schedule;
determining, by the device, an amount of clock drift for each of the one or more neighbors of the device by comparing arrival times of the received packets to their scheduled delivery time intervals according to the deterministic communication schedule;
determining, by the device, a distance from each of the one or more neighbors of the device to a clock reference in the network;
calculating, by the device, a clock adjustment based on the amount of clock drift for each of the one or more neighbors by applying, for each of the one or more neighbors, a weighting to the amount of clock drift for that neighbor, based on the determined distance from that neighbor to the clock reference in the network; and
adjusting, by the device, a clock of the device using the calculated clock adjustment.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a device in a network receives a plurality of packets from one or more neighbors of the device. Each of the packets has a scheduled delivery time interval according to a deterministic communication schedule. The device determines an amount of clock drift for each of the one or more neighbors of the device by comparing arrival times of the received packets to their scheduled delivery time intervals according to the deterministic communication schedule. The device calculates a clock adjustment based on the amount of clock drift for each of the one or more neighbors. The device adjusts a clock of the device using the calculated clock adjustment.
12 Citations
20 Claims
-
1. A method comprising:
-
receiving, at a device in a network, a plurality of packets from one or more neighbors of the device, wherein each of the packets has a scheduled delivery time interval according to a deterministic communication schedule; determining, by the device, an amount of clock drift for each of the one or more neighbors of the device by comparing arrival times of the received packets to their scheduled delivery time intervals according to the deterministic communication schedule; determining, by the device, a distance from each of the one or more neighbors of the device to a clock reference in the network; calculating, by the device, a clock adjustment based on the amount of clock drift for each of the one or more neighbors by applying, for each of the one or more neighbors, a weighting to the amount of clock drift for that neighbor, based on the determined distance from that neighbor to the clock reference in the network; and adjusting, by the device, a clock of the device using the calculated clock adjustment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus, comprising:
-
one or more network interfaces to communicate with a network; a processor coupled to the network interfaces and adapted to execute one or more processes; and a memory configured to store a process executable by the processor, the process when executed configured to; receive a plurality of packets from one or more neighbors of the apparatus, wherein each of the packets has a scheduled delivery time interval according to a deterministic communication schedule; determine an amount of clock drift for each of the one or more neighbors of the apparatus by comparing arrival times of the received packets to their scheduled delivery time intervals according to the deterministic communication schedule; determine a distance from each of the one or more neighbors of the device to a clock reference in the network; calculate a clock adjustment based on the amount of clock drift for each of the one or more neighbors by applying, for each of the one or more neighbors, a weighting to the amount of clock drift for that neighbor, based on the determined distance from that neighbor to the clock reference in the network; and adjust a clock of the apparatus using the calculated clock adjustment. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A tangible, non-transitory, computer-readable medium storing program instructions that cause a device in a network to execute a process comprising:
-
receiving, at the device, a plurality of packets from one or more neighbors of the device, wherein each of the packets has a scheduled delivery time interval according to a deterministic communication schedule; determining, by the device, an amount of clock drift for each of the one or more neighbors of the device by comparing arrival times of the received packets to their scheduled delivery time intervals according to the deterministic communication schedule; determine a distance from each of the one or more neighbors of the device to a clock reference in the network; calculating, by the device, a clock adjustment based on the amount of clock drift for each of the one or more neighbors by applying, for each of the one or more neighbors, a weighting to the amount of clock drift for that neighbor, based on the determined distance from that neighbor to the clock reference in the network; and adjusting, by the device, a clock of the device using the calculated clock adjustment. - View Dependent Claims (18, 19, 20)
-
Specification