Claims
- 1. A method for controlling clock synchronization between at least two nodes of a plurality of nodes in an ad-hoc wireless network, comprising:
controlling a client node of said plurality to select a reference node from said plurality and send to said reference node a first communication, said client node having a client clock and said reference node having a reference clock; controlling said reference node to receive said first communication and in response, send a first reply to said client node; controlling said client node to receive said first reply and in response, send a second and third communication to said reference node; and controlling said reference node to receive said second and third communications and in response, calculate a first clock shift and propagation value existing between said client node and reference node, and send said value to said client node in a second reply.
- 2. A method as claimed in claim 1, further comprising:
controlling said client node to select said reference node based upon network connectivity.
- 3. A method as claimed in claim 1, wherein said first communication comprises a request for clock synchronization.
- 4. A method as claimed in claim 3, wherein said first communication further comprises a CLOCKSYNC message including client clock and reference clock information, said CLOCKSYNC message requesting a clock synchronization session between said client and reference nodes.
- 5. A method as claimed in claim 1, wherein said first reply comprises a CLOCKTIME message including a first reference clock value.
- 6. A method as claimed in claim 5, wherein said first reference clock value comprises a reference clock value at a time of transmission of said first reply from said reference node to said client node.
- 7. A method as claimed in claim 6, wherein said reference clock value further comprises a 32 bit value.
- 8. A method as claimed in claim 1, wherein said second communication comprises a CLOCKREPL1 message including a first client clock value, and said third communication comprises a CLOCKREPL2 message including a second client clock value.
- 9. A method as claimed in claim 8, wherein said first client clock value comprises a client clock value at a time of reception of said first reply from said reference node by said client node.
- 10. A method as claimed in claim 8, wherein said second client clock value comprises a client clock value at a time of transmission of said second communication from said client node to said reference node.
- 11. A method as claimed in claim 1, further comprising:
controlling said client node to synchronize said client clock with said reference clock using said first clock shift and propagation value.
- 12. A method as claimed in claim 1, further comprising:
controlling at least one of said client node and said reference node to calculate a second clock shift and propagation value and in response, determine clock drift of said client clock; and further controlling at least one of said client node and said reference node to correct said clock drift of said client clock using said determined clock drift and a drift control algorithm.
- 13. A method as claimed in claim 12, wherein said drift control algorithm comprises a computer-readable medium of instructions for controlling clock drift correction at a node in an ad-hoc wireless network, said method comprising:
a first set of instructions, adapted to control at least one of said client node and said reference node to generate a drift correction value and correct said clock drift of said client clock using said drift correction value.
- 14. A method as claimed in claim 1, wherein said step of controlling said reference node to calculate and exchange said first clock shift and propagation value with said client node uses reference node tasks comprising at least one of the following:
a first reference node task, adapted to initialize said reference node; a second reference node task, adapted to direct said reference node to exchange clock synchronization messages with said client node; and a third reference node task, adapted to direct said reference node to calculate said first clock shift and propagation value and send said value to said client node.
- 15. A method as claimed in claim 1, wherein said step of controlling said client node to calculate and exchange said first clock shift and propagation value with said reference node uses client node tasks comprising at least one of the following:
a first client node task, adapted to initialize said client node; a second client node task, adapted to direct said client node to exchange clock synchronization messages with said reference node; and a third client node task, adapted to direct said client node to correct said client clock using said synchronization messages.
- 16. A method for controlling clock synchronization between at least two nodes of a plurality of nodes in an ad-hoc wireless network, comprising:
controlling a clock synchronization message exchange between a client node and a reference node of said plurality of nodes; controlling said reference node to calculate a first clock shift and propagation value existing between said client node and reference node in response to said clock synchronization message exchange and provide said value to said client node; and controlling said client node to synchronize a client clock at said client node with a reference clock at said reference node using at least one of said value and a drift control algorithm.
- 17. A method as claimed in claim 16, further comprising:
controlling said client node to select said reference node for clock synchronization message exchange based upon network connectivity.
- 18. A method as claimed in claim 16, wherein said step of controlling said clock synchronization message exchange uses node tasks comprising at least one of the following:
a set of reference node tasks, adapted to initialize said reference node, further adapted to direct said reference node to exchange clock synchronization messages with said client node; and a set of client node tasks, adapted to initialize said client node, further adapted to direct said client node to exchange clock synchronization messages with said reference node.
- 19. A method as claimed in claim 16, wherein said algorithm comprises a computer-readable medium of instructions for controlling clock drift correction at a node in an ad-hoc wireless network, said method comprising:
a first set of instructions, adapted to control at least one of said client node and said reference node to generate a drift correction value and correct said clock drift of said client clock using said drift correction value.
- 20. A computer-readable medium of instructions for controlling clock synchronization between at least two nodes of a plurality of nodes in an ad-hoc wireless network, comprising:
a first set of instructions, adapted to control a client node of said plurality to select a reference node from said plurality and send to said reference node a first communication, said client node having a client clock and said reference node having a reference clock; a second set of instructions, adapted to control said reference node to receive said first communication and in response, send a first reply to said client node; said first set of instructions further adapted to control said client node to receive said first reply and in response, send a second and third communication to said reference node; and said second set of instructions further adapted to control said reference node to receive said second and third communications and in response, calculate a first clock shift and propagation value existing between said client node and reference node, and send said value to said client node in a second reply.
- 21. A computer-readable medium of instructions as claimed in claim 20, wherein said first set of instructions are further adapted to control said client node to select said reference node based upon network connectivity.
- 22. A computer-readable medium of instructions as claimed in claim 20, wherein said first communication comprises a request for clock synchronization.
- 23. A computer-readable medium of instructions as claimed in claim 22, wherein said first communication further comprises a CLOCKSYNC message including client clock and reference clock information, said CLOCKSYNC message requesting a clock synchronization session between said client and reference nodes.
- 24. A computer-readable medium of instructions as claimed in claim 20, wherein said first reply comprises a CLOCKTIME message including a first reference clock value.
- 25. A computer-readable medium of instructions as claimed in claim 24, wherein said first reference clock value comprises a reference clock value at a time of transmission of said first reply from said reference node to said client node.
- 26. A computer-readable medium of instructions as claimed in claim 25, wherein said reference clock value further comprises a 32 bit value.
- 27. A computer-readable medium of instructions as claimed in claim 20, wherein said second communication comprises a CLOCKREPL1 message including a first client clock value, and said third communication comprises a CLOCKREPL2 message including a second client clock value.
- 28. A computer-readable medium of instructions as claimed in claim 27, wherein said first client clock value comprises a client clock value at a time of reception of said first reply from said reference node by said client node.
- 29. A computer-readable medium of instructions as claimed in claim 27, wherein said second client clock value comprises a client clock value at a time of transmission of said second communication from said client node to said reference node.
- 30. A computer-readable medium of instructions as claimed in claim 20, wherein said first set of instructions is further adapted to control said client node to synchronize said client clock with said reference clock using said first clock shift and propagation value.
- 31. A computer-readable medium of instructions as claimed in claim 20, wherein:
said first set of instructions are further adapted to control at least one of said client node and said reference node to calculate a second clock shift and propagation value and in response, determine clock drift of said client clock; and said first set of instructions further adapted to control at least one of said client node and said reference node to correct said clock drift of said client clock using said determined clock drift and a drift control algorithm.
- 32. A computer-readable medium of instructions as claimed in claim 31, wherein said algorithm comprises a third set of instructions, adapted to control at least one of said client node and said reference node to generate a drift correction value and correct said clock drift of said client clock using said drift correction value.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] Related subject matter is disclosed in a U.S. patent application of John M. Belcea entitled “A System and Method for Computing the Signal Propagation Time and the Clock Correction for Mobile Stations in a Wireless Network”, Attorney Docket No. 42565, filed on Nov. 30, 2001, the entire contents of which being incorporated herein by reference.