3
are divided into i) master-slave vs. peer-to-peer, ii) clock cor-
rection vs. clock untethered, iii) internal vs. external, iv) prob-
abilistic vs. deterministic, and v) sender-to-receiver vs. rec-to-
rec. In the master slave model, all nodes (slaves) synchronize
to a single master, while nodes are pair-wise synchronized in
the peer-to-peer model without using a single reference. This
eliminates the single point of failure. The clock untethered
model (relative synchronization) allows nodes to run their
clocks independently without the need for continuous update
of the clock variable, contrary to the clock correction model.
External synchronization refers to an external source from the
network for a standard source of time (such as universal time).
The deterministic and probabilistic aspects are with respect to
the offset bound guarantee on the synchronization. The second
classification considers application dependent issues. Protocols
are split up into, i) single-hop vs. multi-hop, ii) stationary vs.
mobile networks, iii) MAC layer based vs. standard approach.
In the MAC layer approach, the MAC protocol is used to
encapsulate synchronization messages.
Another interesting recent survey paper is by Wu et al.
[1]. The authors focus on signal processing and theoretical
issues of the synchronization, where the solutions are pre-
sented from the perspective of the mathematical methods
for estimation of synchronization parameters and theoretical
analysis. Solutions and estimators are analyzed with respect to
Gaussian, exponential, and arbitrary distributions for message
exchange delays. The authors show that the optimal estimators
are relatively easy to derive for Gausian delays, where the
minimum variance unbiased estimator(MVUE), best linear
unbiased estimator (BLUE), maximum likelihood estimator
(MLE), and least square (LS) estimator all coincide. For
Exponential delays, the authors analyze estimators based on
MLE, best linear unbiased estimation using order statistics,
MVUE with Rao-Blackwell-Lehmann-Scheffe theorem. For
the sender-to-receiver approach, they analytically demonstrate
that MLE (the most largely used in the literature) is better than
the MVUE when the means of the up-link and down-link de-
lays are very close to each other, and that the MVUE becomes
better when the up-link and down-link delays are dispersing.
The lack of estimators for the receiver-to-receiver protocols
in environments with exponential delays is reported, which
represent an open research trend. For arbitrary delays, some
estimators based on linear programming (LP), boot strap bias
correction, composite particle filtering are presented. These es-
timators are robust when delay distributions are unknown, and
they can adapt to different delay distributions. It is reported
that the MSE performance of bootstrap bias corrected estimate
is better than the exponential MLE when applied to non-
exponential delays. To illustrate this, the authors analytically
compare the performance of the MLE of clock offset derived
under exponential delay and its corresponding boot strap
bias corrected estimator, when applied to Gamma distributed
delays with two degrees of freedom. As a perspective, the
authors discuss the application of distributed signal processing
techniques (e.g.,distributed estimation and detection), which
should be helpful to derive distributed clock synchronization
algorithms with optimal ways for information passing. This
will save unnecessary communication overhead. Finally, the
potential benefit from jointly solving the localization and syn-
chronization problems (that are strongly related) is mentioned
[5], where estimators such as M-estimator becomes relevant.
A survey similar to [1] from the empirical and practical
perspective is missing in the current literature. This represents
the aim of the paper, where the real implementations of
synchronization protocols are analyzed, relevant issues are
presented and discussed.
III. IMPLEMENTATION CHALLENGES
In this section, the different challenges that one faces when
designing, implementing and testing a synchronization proto-
col are presented. First and foremost, the fast drifting of clocks
used by motes, added to mote limitations are inevitable con-
sequences that result from reducing the sensor mote cost and
size for economic reasons. Such reduction comes at the use
of memory and computation limited micro-controllers, cheap
but fast drifting clocks. Delay variation is a feature inherited
from the wireless environment, to which add long jitters (delay
variation) for in-node message processing at sensor nodes that
is caused by the mote limitation and instability. The faulty-
nature of motes and lossy channels are other challenges that
faces an implementation of a synchronization protocol, which
make fault-tolerance a must before real deployment. Finally,
accuracy measurement needs some hardware manipulation and
complicates large scale experimentation. All these challenges
and the possible alternatives are presented in more details
hereafter.
A. Fast Drifting
One of the most influencing features of clocks used in
today’s sensor motes is the fast drifting. This is due to the cir-
cuitry cost reduction that inevitable requires the use of cheap,
but less reliable components. Most motes include two clocks:
The first is the internal clock that allows for microsecond level
granularity, but also with relatively a high drifting, as it will
be illustrated later. The second type is the external crystal
clock, which is more stable but usually has low frequency
and thus provides a weak granularity. For instance, crystals
used in MICAz and TelosB have 32.768KHz frequency, i.e.
their granularity bound is 30.5µsec. The external clock has
the advantage of running when the node turns to the sleep
mode, contrary to the internal clock. This justifies the low
frequency use for the sake of power saving. To investigate
the clock drift, we performed an extensive experimental study
with MICAz motes, one of the largely used platforms. First,
relative drift between two motes has been investigated. We
have wired two motes through the available pins with an
Arduino that periodically and simultaneously submits a signal
to the motes, to capture the instantaneous clock values (Fig.
2). We have then used log files to calculate the instantaneous
clock differences and the cumulative ones, for both the internal
clock, Fig. 3, and the external one, Fig. 4. Results show few
tens of instantaneous tick drift for the internal clocks, Fig. 3
(bottom).This is with 50 ticks as a base-line and continuous
successive rise and drop of the order of few ticks, with some
exceptions of picks at the order of more than 90 ticks rise