System for decoupling clock amortization from clock synchronization
First Claim
1. In a system including a hardware clock and plurality of logical clock objects, each logical clock object having a base rate, an amortization rate and a time with an offset relative to said hardware clock time, a computer implemented method for managing a first logical clock object of the plurality of logical clock objects, the first logical clock object having a first base rate, a first amortization rate, and a first logical clock object time with a first offset relative to said hardware clock time, said first logical clock time never differing by more than a predetermined deviation from a reference time, said method comprising the steps of:
- (a) adjusting a second offset in a second logical clock object of the plurality of logical clock objects to synchronize a second logical clock object time to said reference clock time; and
(b) adjusting said first offset by amortizing an adjustment at said first amortization rate to synchronize said first logical clock object time to said second logical clock object time such that said first logical clock object time increases monotonically.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for accommodating frequent discrete clock synchronization adjustments while maintaining a continuous logical clock time that amortizes the adjustments at a predetermined rate. Two distinct logical clocks are used to decouple clock synchronization procedures from adjustment amortization procedures. One logical clock is discretely synchronized to an external time reference and a second logical clock is adjusted with amortization to provide a continuous monotonically non-decreasing logical clock time.
107 Citations
19 Claims
-
1. In a system including a hardware clock and plurality of logical clock objects, each logical clock object having a base rate, an amortization rate and a time with an offset relative to said hardware clock time, a computer implemented method for managing a first logical clock object of the plurality of logical clock objects, the first logical clock object having a first base rate, a first amortization rate, and a first logical clock object time with a first offset relative to said hardware clock time, said first logical clock time never differing by more than a predetermined deviation from a reference time, said method comprising the steps of:
-
(a) adjusting a second offset in a second logical clock object of the plurality of logical clock objects to synchronize a second logical clock object time to said reference clock time; and (b) adjusting said first offset by amortizing an adjustment at said first amortization rate to synchronize said first logical clock object time to said second logical clock object time such that said first logical clock object time increases monotonically. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A clock synchronization system for providing a smooth first logical clock time that never differs by more than a predetermined deviation from a reference clock time, said system comprising:
-
hardware clock means having a hardware clock rate for producing a hardware clock time; first logical clock means having a first base rate and a first amortization rate for producing said first logical clock time; second logical clock means having a second base rate coupled to said hardware clock means and to said first logical clock means for producing a second logical clock time having a first offset from said first logical clock time and a second offset from said hardware clock time; synchronizing means coupled to said second logical clock means for adjusting said second offset to synchronize said second logical clock time to said reference clock time; and amortizing means coupled to said first logical clock means for adjusting said first offset at said first amortization rate to synchronize said first logical clock time to said second logical clock time such that said first logical clock time increases monotonically. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer-implemented clock comprising:
-
a hardware clock for producing a hardware clock time signal TH ; means for storing a plurality of logical clock data objects, each said logical clock data object including a time signal value TL, an offset ADD to said hardware clock time signal TH, an amortization rate aRATE having a value in the interval, a base rate cRATE of increase in said time value TL, an adjustment ADJ to said offset ADD to be amortized, a bit SIGN representing the sign of said adjustment ADJ, a beginning amortization time aBEGIN, an ending amortization time tEND, a multiplier MULT of said time value TH during amortization, and an unamortized adjustment amount DIFF remaining during amortization; and means for producing said logical clock time signal TL =MULT*TH +DIFF if said hardware clock time signal TH <
tEND and for producing said logical clock time signal TL =cRATE*TH +ADD+ADJ otherwise. - View Dependent Claims (19)
-
Specification