Online Incremental Clock Synchronization
- First Online:
- Cite this article as:
- Jabbarifar, M., Dagenais, M. & Shameli-Sendi, A. J Netw Syst Manage (2015) 23: 1034. doi:10.1007/s10922-014-9331-7
- 202 Downloads
Time synchronization is a fundamental requirement for many services provided by distributed systems. For this purpose, several time synchronization protocols have been proposed. However, they either achieve high accuracy by adding further network traffic, even more than common protocols such as network time protocol and precision time protocol, or consume a lot of time in additional computations. An online distributed tracing and monitoring system, used to identify functional and performance problems in distributed systems, must offer high precision with minimum time overhead and system resource consumption. The aim of this paper is to propose an efficient algorithm for time synchronization in online mode, applicable for all distributed services. The proposed method in this paper addresses five key requirements for a practical solution in distributed systems. First, it provides microseconds scale accuracy, which is applicable for trace events with nanosecond timestamp granularity. Secondly, it does not require adding new network traffic, using the send and receive time of existing traffic. Thirdly, it synchronizes the distributed traces in average time complexity of O(1) per synchronization update. Fourthly, it updates online synchronization parameters immediately without latency. Finally, it iteratively refines the early estimates without requiring significant buffering of earlier data. Although we used this work for distributed trace synchronization, it is a general, fully incremental, continuous synchronization approach applicable to most synchronization purposes.