Time synchronization of multiple time-based data streams with independent clocks
First Claim
Patent Images
1. A computer-implemented method for relating time-based data, the computer-implemented method comprising:
- allowing a clock rate of a first timing device and a clock rate of a common reference to run at rates that change independently over time;
while continuing to allow the clock rate of the first timing device and the clock rate of the common reference to run at rates that change independently over time, performing the steps of;
ascertaining a first relationship between the clock rate of the first timing device and the clock rate of the common reference;
ascertaining a second relationship between a clock rate of a second timing device and the clock rate of the common reference; and
based on the first relationship and the second relationship, calculating a third relationship between (a) a first set of time-based data that is based on the first timing device and (b) a second set of time-based data that is based on the second timing device; and
wherein the first timing device and the second timing device are two different timing devices;
wherein the clock rates of the first and second timing devices are independent of and different from each other; and
wherein the clock rates of the first and second timing devices are independent of and different from each other; and
wherein the method is implemented by one or more computing devices.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described for synchronizing multiple time-based data streams with independent clocks wherein relationships between clock rates of timing devices associated with the time-based data streams are determined, and based on these relationships, times in at least one of the time-based data streams may be translated to times in any of the other time-based data streams despite the data streams having independent clocks.
156 Citations
22 Claims
-
1. A computer-implemented method for relating time-based data, the computer-implemented method comprising:
-
allowing a clock rate of a first timing device and a clock rate of a common reference to run at rates that change independently over time; while continuing to allow the clock rate of the first timing device and the clock rate of the common reference to run at rates that change independently over time, performing the steps of; ascertaining a first relationship between the clock rate of the first timing device and the clock rate of the common reference; ascertaining a second relationship between a clock rate of a second timing device and the clock rate of the common reference; and based on the first relationship and the second relationship, calculating a third relationship between (a) a first set of time-based data that is based on the first timing device and (b) a second set of time-based data that is based on the second timing device; and wherein the first timing device and the second timing device are two different timing devices; wherein the clock rates of the first and second timing devices are independent of and different from each other; and wherein the clock rates of the first and second timing devices are independent of and different from each other; and wherein the method is implemented by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 10, 11)
-
-
9. A method comprising:
-
allowing a clock rate of a first timing device and a clock rate of a common timing device to run at rates that change independently over time; while continuing to allow the clock rate of the first timing device and the clock rate of the common timing device to run at rates that change independently over time, performing the steps of; calculating a first rate scaler between the clock rate of the first timing device and the clock rate of the common timing device; calculating a second rate scaler between a clock rate of a second timing device and the clock rate of the common timing device; and translating a time in a first time base running at a first rate and rooted in the first timing device to a time in a second time base running at a second rate and rooted in the second timing device, wherein the step of translating comprises analyzing at least;
(a) the first rate scaler, (b) the second rate scaler, (c) the time in the first time base, (d) a pair of times each different from (c), measured at the same time, one of the pair of times based on the first time base and the other of the pair of times based on the first timing device;
(e) the rate associated with the first time base, and (f) the rate associated with the second time base; andwherein the first timing device and the second timing device are two different timing devices; wherein the method is implemented by one or more computing devices.
-
-
12. A machine-readable storage medium storing one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform:
-
allowing a clock rate of a first timing device and a clock rate of a common reference to run at rates that change independently over time; while continuing to allow the clock rate of the first timing device and the clock rate of the common reference to run at rates that change independently over time, performing the steps of; ascertaining a first relationship between the clock rate of the first timing device and the clock rate of the common reference; ascertaining a second relationship between a clock rate of a second timing device and the clock rate of the common reference; and based on the first relationship and the second relationship, calculating a third relationship between (a) a first set of time-based data that is based on the first timing device and (b) a second set of time-based data that is based on the second timing device; and wherein the first timing device and the second timing device are two different timing devices; wherein the clock rates of the first and second timing devices are independent of and different from each other. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A machine-readable storage medium storing one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform:
-
allowing a clock rate of a first timing device and a clock rate of a common timing device to run at rates that change independently over time; while continuing to allow the clock rate of the first timing device and the clock rate of the common timing device to run at rates that change independently over time, performing the steps of; calculating a first rate scaler between the clock rate of the first timing device and the clock rate of the common timing device; calculating a second rate scaler between a clock rate of a second timing device and the clock rate of the common timing device; and translating a time in a first time base running at a first rate and rooted in the first timing device to a time in a second time base running at a second rate and rooted in the second timing device, wherein the step of translating comprises analyzing at least;
(a) the first rate scaler, (b) the second rate scaler, (c) the time in the first time base, (d) a pair of times each different from (c), measured at the same time, one of the pair of times based on the first time base and the other of the pair of times based on the first timing device;
(e) the rate associated with the first time base, and (f) the rate associated with the second time base; andwherein the first timing device and the second timing device are two different timing devices.
-
Specification