Patent ID: 7349512

Claim:
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.