Patent ID: 8554951
Filing Date: 2013-10-08
Classification: G06F,H04L

Abstract:
1. A system for coordinating events in a distributed system, comprising: a plurality of subsidiary nodes coupled to a network, each subsidiary node including at least one processor, a computer-readable medium, and a communications interface, wherein information in a first subsidiary node needs to be synchronized with the information in a second subsidiary node in response to a time-varying series of requests; a first gateway, including a first processor, a first local clock, and a first communications interface; a second gateway, including a second processor, a second local clock, and a second communications interface; a timekeeping node coupled to the network, including a master clock; and a synchronization rectifier coupled to the first and second subsidiary nodes; wherein the timekeeping node is operationally coupled to the first and second gateways to reduce clock skew between the master clock, the first local clock and the second local clock below a configurable threshold; wherein the first gateway uses the first processor to timestamp a first request received over the first communications interface according to the time of the first local clock with a granularity at least equal to the configurable threshold; wherein the second gateway uses the second processor to timestamp a second request received over the second communications interface according to the time of the second local clock with a granularity at least equal to the configurable threshold; wherein synchronization between the first subsidiary node and the second subsidiary node is controlled by the later-occurring request if the first request and the second request are separated by a time greater than the configurable threshold; and wherein synchronization between the first subsidiary node and the second subsidiary node is controlled by the synchronization rectifier if the first request and the second request are separated by a time smaller than the configurable threshold.