Clock synchronization in a distributed system
First Claim
1. A method for synchronizing nodes (1) of a distributed system for real time applications, the nodes (1) of the distributed system are interconnected by a communication link (3) and each of the nodes (1) includes a local clock (2) and information indicating when messages are to be received from other nodes (1), each node (1) from at least a subset of all nodes (1) performs the following steps for synchronizing its local clock (2):
- (a) receiving messages from other nodes (1), (b) determining a set of time deviations between its own local clock (2) and all other nodes (1) of the subset of nodes (1), a time deviation being determined by measuring the difference between an expected receiving time of a received message and an actual receiving time observed based on the time of its own local clock (2), (c) determining a set of clock rate deviations between its own local clock (2) and all other nodes (1) of the subset of nodes (1) based on two subsequently received messages from each of the other nodes (1) of the subset, (d) calculating an off-set correction value based on said determined set of time deviations and calculating a clock rate correction value based on said set of determined clock rate deviations, and (e) adjusting the local clock (2) based on the calculated off set correction value and said calculated clock rate correction value.
16 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides an improved clock synchronization algorithm for a distributed system intended for real time applications by performing at the same time an off-set correction and a clock read correction at each node of the distributed system. Expensive oscillators can be avoided and synchronization can be established faster and with higher precision.
-
Citations
29 Claims
-
1. A method for synchronizing nodes (1) of a distributed system for real time applications, the nodes (1) of the distributed system are interconnected by a communication link (3) and each of the nodes (1) includes a local clock (2) and information indicating when messages are to be received from other nodes (1), each node (1) from at least a subset of all nodes (1) performs the following steps for synchronizing its local clock (2):
-
(a) receiving messages from other nodes (1), (b) determining a set of time deviations between its own local clock (2) and all other nodes (1) of the subset of nodes (1), a time deviation being determined by measuring the difference between an expected receiving time of a received message and an actual receiving time observed based on the time of its own local clock (2), (c) determining a set of clock rate deviations between its own local clock (2) and all other nodes (1) of the subset of nodes (1) based on two subsequently received messages from each of the other nodes (1) of the subset, (d) calculating an off-set correction value based on said determined set of time deviations and calculating a clock rate correction value based on said set of determined clock rate deviations, and (e) adjusting the local clock (2) based on the calculated off set correction value and said calculated clock rate correction value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A synchronizing unit for synchronizing a node (1) in a distributed system for real time applications, the nodes (1) in the distributed system are interconnected by a communication link (3), the synchronizing unit comprises:
-
a local clock (2), a memory (6) for storing information indicating when messages are to be received from particular nodes (1), a deviation detector for determining a set of time deviations between its own local clock (2) and other nodes (1), a time deviation being determined by measuring the difference between an expected receiving time of a received message and the receiving time observed based on the time of its own local clock (2), and for determining a set of clock rate deviations between its own local clock (2) and other nodes (1) based on two subsequently received messages for a node (1), a correction calculation unit for calculating an off-set correction value based on said determined set of time deviations and for calculating a clock rate correction value based on said determined set of clock rate deviations, and an adjusting unit for adjusting the local clock based on the calculated offset correction value and on the calculated clock rate correction value. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
Specification