Claims
- 1. A method for synchronizing network elements, the method comprising:
receiving at a network element a time synchronization message sent from a master clock element, the network element including an internal clock to be synchronized with a master clock of the master clock element; calculating a latency of the time synchronization message; estimating an adjustment that may be made to the internal clock in response to the time synchronization message; determining whether the latency calculated is less than the adjustment estimated; and adjusting the internal clock when the latency calculated is less than the adjustment estimated.
- 2. The method of claim 1, wherein determining whether the calculated round trip latency is less than the estimated synchronization adjustment includes:
assuming that the latency is imbalanced.
- 3. The method of claim 2, wherein the time synchronization message includes a time stamp specifying a time, as indicated by the master clock, when the master clock element sent the time synchronization message, and wherein assuming that the latency is imbalanced includes:
calculating an earliest current time of the master clock assuming that there is no latency; and calculating a latest current time of the master clock by adding all of the calculated latency to the time stamp.
- 4. The method of claim 3, wherein determining whether the latency calculated is less than the adjustment estimated includes:
determining whether a current time as indicated by the internal clock is between the earliest and latest current time of the master clock.
- 5. The method of claim 1, wherein:
calculating latency includes calculating latency that varies from one instance of synchronization to another instance of synchronization; and estimating adjustment includes estimating adjustment that varies from one instance of synchronization to another instance of synchronization.
- 6. The method of claim 1, wherein:
the time synchronization message includes a time stamp specifying a time, as indicated by the master clock, when the master clock element sent the time synchronization message; and adjusting the internal clock includes adjusting based on the time stamp.
- 7. The method of claim 1, further comprising:
determining whether the latency calculated exceeds a threshold; when the latency calculated does not exceed the threshold, applying a first set of criteria to determining whether the latency calculated is less than the adjustment estimated; and when the latency calculated exceeds the threshold, applying a second set of criteria to determining whether the latency calculated is less than the adjustment estimated.
- 8. The method of claim 7, wherein applying the first set of criteria includes:
determining whether the master clock and the internal clock are sufficiently synchronized; and determining whether adjustment to the internal clock will cause an error in the network.
- 9. The method of claim 8, wherein:
determining whether the master clock and the internal clock are sufficiently synchronized includes determining whether a difference between a current time as indicated by the internal clock and the current time as estimated to be indicated by the master clock is less than five seconds; and determining whether adjustment to the internal clock will cause an error in the network includes determining whether there will be an error cause by adjusting the internal clock because a difference between the current time as indicated by the internal clock and the current time as estimated to be indicated by the master clock is too large.
- 10. The method of claim 9, wherein:
calculating a current time includes calculating the current time of when the network element receives the time synchronization message.
- 11. The method of claim 1, further comprising sending a request message from the network element to the master clock element, the request message causing the master clock element to send the time synchronization message, wherein calculating the latency includes:
recording a time when the network element sent the request message; recording a time when the network element received the time synchronization message sent from the master clock element; and calculating a difference between the time when the network element sent the request message and the time when the network element received the time synchronization message sent from the master clock element.
- 12. A computer program product, tangibly stored on machine-readable medium, for synchronizing a first clock of a network with a second clock of the network, the product comprising instructions to cause a processor to:
calculate a latency between the first clock and the second clock; estimate an adjustment of the first clock to synchronize the first clock with the second clock; and determine whether to adjust the first clock, the determining being based on whether the latency calculated is less than the adjustment estimated.
- 13. The product of claim 12, further comprising instructions to:
adjust the first clock when a determination has been made to do so.
- 14. The product of claim 12, further comprising instructions to:
calculate an earliest current time as indicated by the second clock and a latest current time as indicated by the second clock, the calculation assuming that the latency is completely imbalanced; and determine that the latency calculated is less than the adjustment estimated when a current time as indicated by the first clock is in between the earliest and latest current times.
- 15. The product of claim 12, further comprising instructions to determine that the first clock is to be adjusted when:
the first clock and the second clock are not synchronized within five seconds; and adjustment does not cause an error in the network.
- 16. The product of claim 12, further comprising instructions to determine that the latency calculated is less than the adjustment estimated when:
adjustment does not cause an error in the network.
- 17. The product of claim 12, wherein:
the first clock is include in a first network element and the second clock is included in a second network element; and calculating a latency between the first clock and the second clock includes calculating the time for a first message to travel from the second network element to the first network element.
- 18. The product of claim 17, wherein, the product further comprising instructions to:
calculate a second time interval that it takes for a second message to travel from the first network element to the second network element, for the second element to process the second message, and for the second element to generate and send the first message; and assume the second time interval is the latency.
- 19. The product of claim 12, wherein:
the network is a wireless network; and the second clock is a master clock.
- 20. The product of claim 19, wherein:
the network is a radio frequency network.
- 21. A computer program product, tangibly stored on machine-readable medium, for synchronizing a first clock of a network with a second clock of the network, the product comprising instructions to cause a processor to:
calculate a latency between the first clock and the second clock; estimate an adjustment of the first clock to synchronize the first clock with the second clock; calculate an earliest current time as indicated by the second clock and a latest current time as indicated by the second clock, the calculation assuming that the latency is completely imbalanced; and determine that the latency calculated is less than the adjustment estimated when a current time as indicated by the first clock is in between the earliest and latest current times.
Parent Case Info
[0001] This application claims the priority of U.S. Provisional Application Serial No. 60/337,366, filed Nov. 30, 2001, with Attorney Docket No. 07057-046P01, and entitled Time Synchronization Scheme for Transmitting Metering Information Over a Wireless Network, the disclosure of which is incorporated here by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60337366 |
Nov 2001 |
US |