Method for adjusting clocks of multiple data processors to a common time base
First Claim
1. A method for referencing at least one slave clock to a master clock, said master clock providing a master clock time signal, said slave clock providing a periodically incremented slave clock time signal, said method comprising the steps of:
- (1) transmitting from said slave clock to said master clock a first time signal having a value ST0 corresponding to the value of said slave clock time signal when said first time signal is transmitted;
(2) determining a value MT0 of said master clock time signal when said first time signal is received by said master clock;
(3) subsequently transmitting from said master clock to said slave clock a second time signal having the value MT0 ;
(4) subsequently transmitting from said master clock to said slave clock a third time signal having a value MT1 corresponding to the value of said master clock time signal when said third time signal is transmitted;
(5) determining a value ST1 of said slave clock time signal when said third time signal is received by said slave clock;
(6) upon receipt of said second and third time signals at said slave clock, determining a virtual clock reference time tref given by
space="preserve" listing-type="equation">t.sub.ref =[(MT.sub.0 +MT.sub.1)-(ST.sub.0 +ST.sub.1)* k.sub.clkratio ]/2where kclkratio =(MT1 -MT0)/(ST1 -ST0); and
(7) at said slave clock, generating a virtual clock time signal having a value Tvc synchronized to said master clock time signal, the value Tvc of said virtual clock time signal being given by
space="preserve" listing-type="equation">T.sub.vc =t.sub.ref +n.sub.pc * k.sub.clkratio where npc is the number of slave clock time signal increments.
2 Assignments
0 Petitions
Accused Products
Abstract
A master clock is situated at a central data gathering station, and slave clocks are situated at one or more (functionally or spatially) remote stations. Time signals are exchanged between the master clock at the central station and each slave clock at the corresponding remote station. From these signals (i) the transmission time between the central station and the corresponding remote station is determined, and (ii) the ratio between the frequencies of the central station master clock and the corresponding remote station slave clock is determined. The transmission time and clock ratio so determined are averaged between successive determinations to provide improved accuracy. The transmission time value is used to set the slave clock to a reference value accurately corresponding to the time kept by the master clock; and thereafter the clock ratio value is used to insure that the slave clock is incremented at a rate corresponding to the frequency of the oscillator in the master clock. If desired, the master clock can be synchronized to a reference time which is the average of the reference times of the various clocks, and/or to a frequency which is the average of the frequencies of the oscillators in the various clocks.
38 Citations
33 Claims
-
1. A method for referencing at least one slave clock to a master clock, said master clock providing a master clock time signal, said slave clock providing a periodically incremented slave clock time signal, said method comprising the steps of:
-
(1) transmitting from said slave clock to said master clock a first time signal having a value ST0 corresponding to the value of said slave clock time signal when said first time signal is transmitted; (2) determining a value MT0 of said master clock time signal when said first time signal is received by said master clock; (3) subsequently transmitting from said master clock to said slave clock a second time signal having the value MT0 ; (4) subsequently transmitting from said master clock to said slave clock a third time signal having a value MT1 corresponding to the value of said master clock time signal when said third time signal is transmitted; (5) determining a value ST1 of said slave clock time signal when said third time signal is received by said slave clock; (6) upon receipt of said second and third time signals at said slave clock, determining a virtual clock reference time tref given by
space="preserve" listing-type="equation">t.sub.ref =[(MT.sub.0 +MT.sub.1)-(ST.sub.0 +ST.sub.1)* k.sub.clkratio ]/2where kclkratio =(MT1 -MT0)/(ST1 -ST0); and (7) at said slave clock, generating a virtual clock time signal having a value Tvc synchronized to said master clock time signal, the value Tvc of said virtual clock time signal being given by
space="preserve" listing-type="equation">T.sub.vc =t.sub.ref +n.sub.pc * k.sub.clkratiowhere npc is the number of slave clock time signal increments.
-
-
2. A method for referencing at least one slave clock to a master clock, said master clock providing a master clock time signal, said slave clock providing a periodically incremented slave clock time signal, said method comprising the steps of:
-
(1) transmitting from said slave clock to said master clock a first time signal having a value ST0 corresponding to the value of said slave clock time signal when said first time signal is transmitted; (2) determining a value MT0 of said master clock time signal when said first time signal is received by said master clock; (3) subsequently transmitting from said master clock to said slave clock a second time signal having the value MT0 ; (4) subsequently transmitting from said master clock to said slave clock a third time signal having a value MT1 corresponding to the value of said master clock time signal when said third time signal is transmitted; (5) determining a value ST1 of said slave clock time signal when said third time signal is received by said slave clock; (6) upon receipt of said second and third time signals at said slave clock, determining a virtual clock reference time tref given by
space="preserve" listing-type="equation">t.sub.ref =[(MT.sub.0 +MT.sub.1)-(ST.sub.0 +ST.sub.1)]/2; and(7) at said slave clock, generating a virtual clock time signal having a value Tvc synchronized to said master clock time signal, the value Tvc of said virtual clock time signal being given by
space="preserve" listing-type="equation">T.sub.vc =t.sub.ref +n.sub.pcwhere npc is the number of slave clock time signal increments.
-
-
3. A method for referencing at least one slave clock to a master clock, said master clock providing a master clock time signal, said slave clock providing a periodically incremented slave clock time signal, said method comprising the steps of:
-
(1) transmitting from said slave clock to said master clock a first time signal having a value corresponding to the value of said slave clock time signal when said first time signal is transmitted; (2) subsequently transmitting from said master clock to said slave clock (i) a second time signal having a value corresponding to the value of said master clock time signal when said first time signal was received by said master clock, and (ii) a third time signal having a value corresponding to the value of said master clock time signal when said third time signal is transmitted; (3) upon receipt of said second and third time signals at said slave clock, determining (i) the reference time value required to reference the slave clock to the master clock and (ii) the clock ratio kclkratio of the frequency of the master clock to the frequency of the slave clock; and (4) at said slave clock, generating a virtual clock time signal having a value Tvc synchronized to said master clock time signal, the value Tvc of said virtual clock time signal being given by
space="preserve" listing-type="equation">T.sub.vc =t.sub.ref +n.sub.pc * k.sub.clkratiowhere npc is the number of slave clock time signal increments. - View Dependent Claims (5)
-
-
4. A method for referencing at least one slave clock to a master clock, said master clock providing a master clock time signal, said slave clock providing a periodically incremented slave clock time signal, said method comprising the steps of:
-
(1) transmitting a number of first reference time signals from the slave clock to the master clock; (2) accumulating at the master clock time values corresponding to the times of reception of said first reference time signals as measured by the master clock; (3) subsequently transmitting a number of second reference time signals from said master clock to said slave clock; (4) accumulating at the master clock time values corresponding to the times of transmission of said second reference time signals as measured by the master clock; (5) accumulating at the slave clock time values corresponding to (i) the times of transmission of said first reference time signals as measured by the slave clock, and (ii) the times of reception of said second reference time signals as measured by the slave clock; (6) transmitting from the master clock to the slave clock a signal having a value corresponding to a weighted sum of the master clock time values accumulated at Steps (2) and (4); (7) computing a reference time tref of the sleeve clock relative to the master clock from said weighted sum and a weighted sum of the slave clock time values accumulated at Step (5); and (8) at said slave clock, generating a virtual clock time signal having a value Tvc synchronized to said master clock time signal, the value Tvc of said virtual clock time signal being given by
space="preserve" listing-type="equation">T.sub.vc =t.sub.ref +n.sub.pcwhere npc is the number of slave clock time signal increments.
-
-
6. A method for referencing at least one slave clock to a master clock, said master clock providing a master clock time signal, said slave clock providing a periodically incremented slave clock time signal, said method comprising the steps of:
-
(1) transmitting from said master clock to said slave clock a time interval commencement signal having a value corresponding to the value of said master clock time signal when said time interval commencement signal is transmitted; (2) subsequently transmitting from said master clock to said slave clock a time interval termination signal having a value corresponding to the value of said master clock time signal when said time interval termination signal is transmitted; and (3) after receipt of said time interval termination signal at said slave clock, generating a virtual clock time signal having a value which increases with time by an amount proportional to the product of the number of slave clock time signal increments and the clock ratio of (i) the difference between the values of said time interval termination and time interval commencement signals to (ii) the elapsed time between reception of said time interval commencement and time interval termination signals as determined by said slave clock. - View Dependent Claims (7)
-
-
8. A method for referencing a plurality of slave clocks to a master clock, said master clock providing a master clock time signal, each slave clock providing a periodically incremented slave clock time signal, said method comprising the steps of:
-
(1) transmitting from each slave clock to said master clock a first time signal having a value corresponding to the value of said slave clock time signal when said first time signal is transmitted; (2) subsequently transmitting from said master clock to said slave clock a time interval termination signal having a value corresponding to the value of said master clock time signal when said time interval termination signal is transmitted; and (3) after receipt of said time interval termination signal at said slave clock, generating a virtual clock time signal having a value which increases with time by an amount proportional to the product of the number of slave clock time signal increments and the clock ratio of (i) the difference between the values of said time interval termination and time interval commencement signals to (ii) the elapsed time between reception of said time interval commencement and time interval termination signals as determined by said slave clock. - View Dependent Claims (9)
-
-
10. A method for referencing a plurality of slave clocks to a master clock, said master clock providing a master clock time signal, each slave clock providing a periodically incremented slave clock time signal, said method comprising the steps of:
-
(1) transmitting from said master clock to each slave clock a time interval commencement signal having a value corresponding to the value of said master clock time signal when said time interval commencement signal is transmitted; (2) subsequently transmitting from said master clock to each slave clock a time interval termination signal having a value corresponding to the value of said master clock time signal when said time interval termination signal is transmitted; and (3) after receipt of said time interval termination signal at each slave clock, generating a virtual clock time signal having a value which increases with time by an amount proportional to the product of the number of slave clock time signal increments and the clock ratio of (i) the difference between the values of said time interval termination and time interval commencement signals to (ii) the elapsed time between reception of said time interval commencement and time interval termination signals as determined by the corresponding slave clock. - View Dependent Claims (11)
-
-
12. A method for determining the frequency relationship between at least one slave clock and a master clock, wherein the master clock provides a master clock time signal and the slave clock provides a slave clock time signal, said method comprising the steps of:
-
transmitting a time interval commencement signal from the master clock to the slave clock, the time interval commencement signal having a value corresponding to the value of the master clock time signal when the time interval commencement signal is transmitted; subsequently transmitting a time interval termination signal from the master clock to the slave clock, the time interval termination signal having a value corresponding to the value of the master clock time signal when the time interval termination signal is transmitted; after receipt of the time interval termination signal at the slave clock, generating a virtual clock time signal having a value which increases with time by an amount proportional to the product of the number of slave clock time signal increments and the clock ratio of the two clock frequencies as the ratio of (i) the difference between the values of the time interval commencement and time interval termination signals to (ii) the elapsed time between reception of the time interval commencement and time interval termination signals as determined by the slave clock. - View Dependent Claims (13)
-
-
14. A method for establishing a reference time of at least one slave clock to correspond with the reference time of a master clock, wherein the master clock provides a master clock time signal and the slave clock provides a slave clock time signal, said method comprising the steps of:
-
transmitting a first reference time signal from the slave clock to the master clock, said first reference signal having a value corresponding to the value of the slave clock time signal when the first reference time signal is transmitted; subsequently transmitting a second reference time signal from the master clock to the slave clock, said second reference time signal having a value corresponding to the value of the master clock time signal when the first reference time signal was received by the master clock; transmitting a third reference time signal from the master clock to the slave clock, said third reference time signal having a value corresponding to the value of the master clock time signal when the third reference time signal is transmitted; after receipt of the third reference time signal at the slave clock, determining the reference time value by; adding the value of said slave clock time signal at the time of transmission of said first reference signal, to the value of said slave clock time signal at the time of reception of said third reference signal at said slave clock, to obtain a first subtotal value; subtracting said first subtotal value from the sum of the values of said second and third reference time signals, to obtain a second subtotal value; dividing said second subtotal value by two to obtain a reference time value tref ; and at said slave clock, generating a virtual clock time signal Tvc having a value synchronized to said master clock time signal, the value Tvc of said virtual clock time signal being given by
space="preserve" listing-type="equation">T.sub.vc =t.sub.ref +n.sub.pcwhere npc is the number of slave clock time signal increments. - View Dependent Claims (15, 16, 19)
-
-
17. A method for determining the transmission time between a slave clock and a master clock and generating a virtual clock time signal which is synchronized to the master clock, wherein the master clock provides a master clock time signal and the slave clock provides a slave clock time signal, said method comprising the steps of:
-
transmitting a first reference time signal from the slave clock to the master clock, said first reference time signal having a value corresponding to the value of the slave clock time signal when the first reference time signal is transmitted; subsequently transmitting a second reference time signal from the master clock to the slave clock, said second reference time signal having a value corresponding to the value of the master time clock signal when the first reference time signal was received by the master clock; transmitting a third reference time signal from the master clock to the slave clock, said third reference time signal having a value corresponding to the value of the master clock time signal when the third reference time signal is transmitted; after receipt of the third reference time signal at the slave clock, determining the value of the time required for transmission of a signal between the master and slave clocks by; subtracting the value of said third reference time signal from the value of said second reference time signal, to obtain a first subtotal value; subtracting the value of said slave clock time signal at the time of transmission of said first reference time signal from the value of said slave clock time signal at the time of reception of said third reference time signal at said slave clock, to obtain a second subtotal value; adding said first subtotal value to said second subtotal value to obtain a summation value, and dividing the summation value by two to obtain the transmission time value; and generating a virtual clock time signal by adjusting the value of said slave clock time signal by an amount equal to the sum of (i) a master clock time signal value received by the slave clock after transmission thereto by the master clock and (ii) said transmission time less (iii) the value of said slave clock time signal. - View Dependent Claims (18)
-
-
20. A method for referencing at least one slave clock to a master clock, said master clock providing a master clock time signal, said slave clock providing a periodically incremented slave clock time signal, said method comprising the steps of:
-
(1) transmitting from said slave clock to said master clock a time interval commencement signal having a value ST0 corresponding to the value of said slave clock time signal when said time interval commencement signal is transmitted; (2) determining a value MT0 of said master clock time signal when said time interval commencement signal is received by said master clock; (3) transmitting from said slave clock to said master clock a time interval termination signal having a value ST1 corresponding to a value of said slave clock time signal when said time interval termination signal is transmitted; (4) determining a value MT1 of said master clock time signal when said time interval termination signal is received at said master clock; (5) subsequently transmitting from said master clock to said slave clock a time signal containing information sufficient to define the value MT1 -MT0 ; (6) upon receipt of said time interval termination signal at said slave clock, determining a ratio kclkratio of the frequency of the master clock to the frequency of the slave clock by means of the equation
space="preserve" listing-type="equation">k.sub.clkratio =(MT.sub.1 -MT.sub.0)/(ST.sub.1 -ST.sub.0); andgenerating a virtual clock time signal having a value which increases with time by an amount proportional to the product of the number of slave clock time signal increments and kclkratio.
-
-
21. A method for referencing at least one slave clock to a master clock, said master clock providing a master clock time signal, said slave clock providing a periodically incremented slave clock time signal, said method comprising the steps of:
-
(1) transmitting from said master clock to said slave clock a time interval commencement signal having a value MT0 corresponding to the value of said master clock time signal when said time interval commencement signal is transmitted; (2) determining a value ST0 of said slave clock time signal when said time interval commencement signal is received by said slave clock; (3) transmitting from said master clock to said slave clock a time interval termination signal having a value MT1 corresponding to the value of said master clock time signal when said time interval termination signal is transmitted; (4) determining a value ST1 of said slave clock time signal when said time interval termination signal is received by said slave clock; and (5) upon receipt of said time interval termination signal at said slave clock, determining a ratio kclkratio of the frequency of the master clock to the frequency of the slave clock by means of the equation
space="preserve" listing-type="equation">k.sub.clkratio =(MT.sub.1 -MT.sub.0)/(ST.sub.1 -ST.sub.0); andgenerating a virtual clock time signal having a value which increases with time by an amount proportional to the product of the number of slave clock time signal increments and kcklratio.
-
-
22. A method for referencing at least one slave clock to a master clock, said master clock providing a master clock time signal, said slave clock providing a periodically incremented slave clock time signal, said method comprising the steps of:
-
(1) transmitting from said slave clock to said master clock a first time signal having a value ST0 corresponding to the value of said slave clock time signal when said first time signal is transmitted; (2) determining a value MT0 of said master clock time signal when said first time signal is received by said master clock; (3) subsequently transmitting from said master clock to said slave clock a second time signal having the value MT0 ; (4) subsequently transmitting from said master clock to said slave clock a third time signal having a value MT1 corresponding to the value of said master clock time signal when said third time signal is transmitted; (5) determining a value of ST1 of said slave clock time signal when said third time signal is received by said slave clock; (6) upon receipt of said third time signal at said slave clock, determining a virtual clock reference time tref given by
space="preserve" listing-type="equation">t.sub.ref =[(MT.sub.0 +MT.sub.1)-(ST.sub.0 +ST.sub.1)]/2; and(7) at said slave clock, generating a virtual clock time signal having a value Tvc synchronized to said master clock time signal, the value of Tvc of said virtual clock time signal being given by
space="preserve" listing-type="equation">T.sub.vc =t.sub.ref +n.sub.pcwhere npc is the number of periodic slave clock time increment signals generated. - View Dependent Claims (23)
-
-
24. A method for referencing at least one slave clock to a master clock, said master clock providing a master clock time signal, said slave clock providing a periodically incremented slave clock time signal, said method comprising the steps of:
-
(1) transmitting from said slave clock to said master clock a first time signal having a value ST0 corresponding to the value of said slave clock time signal when said first time signal is transmitted; (2) determining a value MT0 of said master clock time signal when said first time signal is received by said master clock; (3) subsequently transmitting from said master clock to said slave clock a second time signal having the value MT0 ; (4) subsequently transmitting from said master clock to said slave clock a third time signal having a value MT1 corresponding to the value of said master clock time signal when said third time signal is transmitted; (5) determining a value of ST1 of said slave clock time signal when said third time signal is received by said slave clock; (6) upon receipt of said second and third time signals at said slave clock;
determining a ratio kclkratio of the frequency of the master clock to the frequency of the slave clock according to the relation
space="preserve" listing-type="equation">k.sub.clkratio =(MT.sub.1 -MT.sub.0)/(ST.sub.1 -ST.sub.0); and(7) at said slave clock, multiplying the number of increments of said slave clock time signal by kclkratio to generate a virtual clock time signal having a value which increases with time at the same rate as said master clock time signal.
-
-
25. A method for referencing at least one slave clock to a master clock, said master clock providing a periodically incremented master clock time signal, said slave clock providing a periodically incremented slave clock time signal, said method comprising the steps of:
-
sequentially transmitting a first set of signals from said slave clock to said master clock and a second set of signals from said master clock to said slave clock, at least one of said sets of signals containing the reference information respecting said time signals, the other of said sets of signals being indentifiable as having been transmitted from a corresponding one of said clocks; at one of said clocks, determining a clock ratio of the frequency of said master clock to the frequency of said slave clock, by calculating the ratio of (i) the time interval between the times of transmission of two signals successively transmitted by one of said clocks as a transmitting clock to the other of said clocks as a receiving clock, as measured by the transmitting clock, to (ii) the time interval between the times of reception of said signals as measured by the receiving clock; utilizing said clock ratio, said time reference information and information respecting the other of said sets of signals to determine a reference time value corresponding to the difference between the values of said master and slave clock time signals at a particular time corresponding to a predetermined value of said slave clock time signal; and at said slave clock, generating a virtual clock time signal by adjusting said slave clock time signal by an incremental amount corresponding to the product of the number of increments of said slave clock time signal between a current value of said slave clock time signal and said particular time and said clock ratio, and adding said reference time value to the adjusted slave clock time signal value.
-
-
26. A method for referencing at least one slave clock to a master clock, said master clock having a master clock time signal, said slave clock providing a periodically incremented slave clock time signal, said method comprising the steps of:
-
(1) transmitting from said slave clock to said master clock a first time signal having a value ST0 corresponding to the value of said slave clock time signal when said first time signal is transmitted; (2) determining a value MT0 of said master clock time signal when said first time signal is received by said master clock; (3) subsequently transmitting from said master clock to said slave clock a second time signal having the value MT0 ; (4) subsequently transmitting from said master clock to said slave clock a third time signal having a value MT1 corresponding to the value of said master clock time signal when said third time signal is transmitted; (5) determining a value ST1 of said slave clook time signal when said third time signal is received by said slave clock; (6) upon receipt of said third time signal at said slave clock, determining a transmission time given by
space="preserve" listing-type="equation">T.sub.TR =[(MT.sub.0 -MT.sub.1)+(ST.sub.1 -ST.sub.0)]/2; andgenerating a virtual clock time signal by adjusting the value of said slave clock time signal by an amount equal to the sum of (i) a master clock time signal value received by the slave clock after transmission thereto by the master clock and (ii) said transmission time less (iii) the value of said slave clock time signal. - View Dependent Claims (27)
-
-
28. A method for referencing at least one slave clock to a master clock, said master clock providing a master clock time signal, said slave clock providing a periodically incremented slave clock time signal, said method comprising the steps of:
-
(1) transmitting from said slave clock to said master clock a first time signal having a value corresponding to the value of said slave clock time signal when said first time signal is transmitted; (2) subsequently transmitting from said master clock to said slave clock (i) a second time signal having a value corresponding to the value of said master clock time signal when said first time signal was received by said master clock, and (ii) a third time signal having a value corresponding to the value of said master clock time signal when said third time signal is transmitted; (3) upon receipt of said second and third time signals at said slave clock, determining a reference time value required to reference the slave clock to the master clock; and (4) generating an adjusted slave clock time signal synchronized to said master clock time signal by adding said reference time value to the value of said slave clock time signal. - View Dependent Claims (29, 30)
-
-
31. A method for synchronizing at least one slave clock to a master clock, said master clock providing a master clock time signal, said slave clock providing a periodically incremented slave clock time signal, said method comprising the steps of:
-
sequentially transmitting a first set of signals from said slave clock to said master clock and a second set of signals from said master clock to said slave clock, said second set of signals containing time reference information respecting said time signals; at said slave clock, utilizing said time reference information and information respecting said first set of signals to adjust the slave clock time signal to be synchronous with the master clock time signal, so that the adjusted value of said slave clock time signal is equal to the value of said master clock time signals; and incrementing the adjusted value of said slave clock time signal at a rate corresponding to the product of the number of slave clock time signal increments with the ratio of the frequency of said master clock to the frequency of said slave clock. - View Dependent Claims (32)
-
-
33. A method for referencing at least one slave clock to a master clock, said master clock providing a master clock time signal, said slave clock providing a periodically incremented slave clock time signal, and method comprising the steps of:
-
(1) transmitting from said slave clock to said master clock a first time signal having a value ST0 corresponding to the value of said slave clock time signal when said first time signal is transmitted; (2) determining a value MT0 of said master clock time signal when said first time signal is received by said master clock; (3) subsequently transmitting from said master clock to said slave clock a time information signal indicative of the difference MT1 -MT0 between (i) the value MT1 of said master clock time signal when said time information signal is transmitted and (ii) the value MT0 ; (4) determining a value ST1 of said slave clock time signal when said third time signal is received by said slave clock; (5) upon receipt of said second and third time signals at said slave clock, determining a ratio kclkratio of the frequency of the master clock to the frequency of the slave clock according to the relation
space="preserve" listing-type="equation">k.sub.clkratio =(MT.sub.1 -MT.sub.0)/(ST.sub.1 -ST.sub.0); andpg,61 (7) at said slave clock, multiplying the number of increments of said slave clock time signal by kclkratio to generate a virtual clock time signal having a value which increases with time at the same rate as said master clock time signal.
-
Specification