IEEE SYSTEMS JOURNAL, VOL. 10, NO. 2, JUNE 2016 617 Synchronization Protocols and Implementation Issues in Wireless Sensor Networks: A Review Djamel Djenouri and Miloud Bagaa Abstract—Time synchronization in wireless sensor networks (WSNs) is a topic that has been attracting the research community in the last decade. Most performance evaluations of the proposed solutions have been limited to theoretical analysis and simulation. They consequently ignored several practical aspects, e.g., packet handling jitters, clock drifting, packet loss, and mote limitations, which affect real implementation on sensor motes. Authors of some pragmatic solutions followed empirical approaches for the evalua- tion, where the proposed solutions have been implemented on real motes and evaluated in testbed experiments. This paper gives an insight on issues related to the implementation of synchronization protocols in WSN. The challenges related to WSN environment are presented; the importance of real implementation and testbed evaluation are motivated by some experiments we conducted. The most relevant implementations of the literature are then reviewed, discussed, and qualitatively compared. While there are several survey papers that present and compare the protocols from the conception perspectives, as well as others that deal with mathe- matical and signal processing issues of the estimators, a survey on practical aspects related to the implementation is missing. To our knowledge, this paper is the first one that takes into account the practical aspect of existing solutions. Index Terms—Computer networks, sensor systems, wireless communication, wireless networks, wireless sensor networks. I. I NTRODUCTION AND BACKGROUND A. Introduction T IME synchronization is of high importance for many applications and protocols in wireless sensor networks (WSNs). For instance, in a moving-object (e.g., vehicle) track- ing application, sensor nodes report the location and time at which they detect the object to a base station, which com- bines the obtained information to estimate the location and velocity of the tracked object. Nodes should be synchronized to correlate the different reports. Another example is in duty cycling and contention-based channel access scheduling, where nodes coordinately switch between active and sleep modes. Time synchronization is also required for many other applica- tions in WSN, such as data fusion/aggregation, time-division multiple-access (TDMA) scheduling, and real-time monitoring and actuation. Time synchronization has always been one of the fundamental and challenging problems in distributed systems. Manuscript received July 16, 2013; revised December 26, 2013, April 13, 2014, July 10, 2014, and September 4, 2014; accepted September 21, 2014. Date of publication October 14, 2014; date of current version May 30, 2016. The authors are with CERIST Research Center, Algiers, Algeria (e-mail: ddjenouri@acm.org; bagaa@mail.cerist.dz). Digital Object Identifier 10.1109/JSYST.2014.2360460 The lack of a shared memory makes exchange of high-layer messages or low-layer signals between nodes inevitable for protocol construction. The high delay variability of commu- nications in WSN, added to node limitations (computation, memory, energy), elevate the complexity of the problem. Several protocols for time synchronization in WSN have been proposed in the literature. The evaluation of the proposed solutions can be divided into two categories: 1) analysis and simulation-based evaluation and 2) empirical evaluation. The first category includes the use of network simulations for comparison with state-of-the-art candidates. It also includes numerical analysis of estimators and possible comparison of the mean square errors (MSEs), or its variants, with an optimum, e.g., Cramer–Rao lower bound (CRLB) [1]. This provides a preliminary vision on the protocol performance, and it is essen- tial for investigating issues that are difficult to evaluate with real tests, such as scalability. Nonetheless, it cannot replace testbed experimentation as many aspects are either neglected or simu- lated with ideal assumptions at a high level of abstraction. For instance, delays and jitters are assumed to ideally follow some distribution (e.g., Gaussian), if not neglected, clock drifting is not thoroughly modeled, and packet loss is seldom considered. Empirical evaluation where the protocols are implemented on real motes and evaluated in a testbed experiment is thus vital to get a concrete view on the synchronization protocol, its fea- tures and limitations. Existing implementations can be reused in other applications or by other protocols. Therefore, having a horizontal vision on current implementations is essential to decide which implementation can be reused adequately to fulfill one application’s requirements or another, or which one can be adapted with minimum amendments. The aim of this paper is to throw some light on issues related to the implementation of a synchronization protocol, to present and discuss state-of-the-art implementations. The rest of this paper is organized as follows. The remainder of this section introduces some general concepts that are used throughout this paper. The related work is summarized in the next section, followed by the implementation challenges with some experimental illustrations in Section III. Section IV presents our investigation on the impact of some empirical parameters. Implementations of the literature are reviewed in Section V. Section VI provides discussions and summarizes the lessons we have learnt. Finally, Section VII concludes this paper. B. General Concepts 1) Skew–Offset Versus Offset Only: A hardware oscillator is used to implement the sensor mote’s clock (similarly to any 1937-9234 © 2014 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.