^{1}

^{2}

^{2}

^{2}

^{*}

^{3}

This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).

The development of tiny, low-cost, low-power and multifunctional sensor nodes equipped with sensing, data processing, and communicating components, have been made possible by the recent advances in micro-electro-mechanical systems (MEMS) technology. Wireless sensor networks (WSNs) assume a collection of such tiny sensing devices connected wirelessly and which are used to observe and monitor a variety of phenomena in the real physical world. Many applications based on these WSNs assume local clocks at each sensor node that need to be synchronized to a common notion of time. This paper reviews the existing clock synchronization protocols for WSNs and the methods of estimating clock offset and clock skew in the most representative clock synchronization protocols for WSNs.

The recent advances in micro-electro-mechanical systems technology have expedited the development of tiny, low-cost, low-power, and multifunctional sensing devices, which are capable of performing tasks such as sensing, data processing, and communication [

Wireless sensor networks can be applied to a wide range of applications in domains as diverse as medical [

Since the sensors in a wireless sensor network operate independently, their local clocks may not be synchronized with one another. This can cause difficulties when trying to integrate and interpret information sensed at different nodes. For instance, if a moving car is detected at two different times along a road, before we can even tell in what direction the car is going, the detection times have to be compared meaningfully. In addition, we must be able to transform the two time readings into a common frame of reference before estimating the speed of the vehicle. Estimating time differences across nodes accurately is also important in node localization. For example, many localization algorithms use ranging technologies to estimate internode distances; in these technologies, synchronization is needed for time-of-flight measurements that are then transformed into distances by multiplying with the medium propagation speed for the type of signal used such as radio frequency or ultrasonic. There are additional examples where cooperative sensing requires the nodes involved to agree on a common time frame such as configuring a beam-forming array and setting a TDMA (Time Division Multiple Access) radio schedule [

The clock synchronization problem has been studied thoroughly in the areas of Internet and local-area networks (LANs) for the last several decades. Many existing synchronization algorithms rely on the clock information from GPS (Global Positioning System). However, GPS-based clock acquisition schemes exhibit some weaknesses: GPS is not ubiquitously available (for example, underwater, indoors, under foliage) and requires a relatively high-power receiver, which is not possible in tiny and cheap sensor nodes. This is the motivation for developing software-based approaches to achieve in-network time synchronization. Among many protocols that have been devised for maintaining synchronization in Computer Networks, NTP (Network Time Protocol) [

The aim of this paper is twofold. First, it surveys and reviews clock synchronization protocols mainly used in wireless sensor networks. Next, this paper describes a few methods for estimating clock offsets and skews in several representative clock synchronization schemes, and finally some theoretical results as well as simulation results are presented to illustrate the performances of different estimation schemes.

This paper is organized as follows. Section 2 provides the description of the general clock model. In Section 3, we review some existing clock synchronization protocols and describe several methods for estimating clock offset and skew in representative protocols such as RBS (Reference Broadcast Synchronization) [

Computer clocks are, in general, based on crystal oscillators which provide a local time for each network node. The time in a computer clock is just a counter that gets incremented with crystal oscillators and is referred to as software clock. The interrupt handler must increment the software clock by one every time an interrupt occurs. Most hardware oscillators are not so precise because the frequency which makes time increase is never exactly right. Even a frequency deviation of only 0.001% would bring a clock error of about one second per day. Considering the physical clock synchronization in a distributed system to UTC (Universal Time Controller), the computer clock shows time C(t), which may or may not be the same as t, at any point of real time t. For a perfect clock, the derivative dC(t)/dt should be equal to 1. This term is referred to as clock skew. The clock skew can actually vary over time due to environmental conditions, such as humidity and temperature, but we assume that it stays bounded and close to 1, so that:
^{-6}. We note that the clocks of two nodes are synchronized to one common time at some point of in time, but they do not stay synchronized in the future due to clock skew. Even if there is no skew, the clocks of different nodes may not be the same. Time differences caused by the lack of a common time origin are called clock phase offsets.

We next review some definitions related to clock terminology that have seen widely adapted in the literature. The time of a clock in a sensor node A is defined to be the function C_{A}(t), where C_{A}(t) = t for a perfect clock and the clock frequency is the rate at which a clock progresses. Clock offset is the difference between the times reported by the clocks at two sensor nodes; namely, the offset of clock C_{A} relative to C_{B} at time t is given by C_{A}(t) – C_{B}(t). Clock skew is defined to be the difference in the frequencies of two clocks (C′_{A}(t) – C′_{B}(t)), i.e., the rate of variation or derivative of clock offset. Another clock terminology is clock drift, which is the second derivative of the clock offset with regard to time. Mathematically, the drift of clock C_{A} relative to C_{B} at time t is (C′_{A}(t) – C′_{B}(t)) [

In order for sensor nodes to be able to synchronize, they have to possess for a period of time a communication channel where the message delays between nodes can be reliably estimated. However, the enemy of accurate network time synchronization is the non-determinism of the delay estimation process. The estimation of latencies in channel is confounded by random events which bring about asymmetric round-trip-message delivery delays. This causes synchronization errors. The latency in channel can be decomposed into four distinct components [

Send Time: This is the time spent by the sender to construct the message, including kernel protocol processing and variable delays introduced by the operating system, e.g., context switches and system call overhead incurred by the synchronization application. This time also accounts for the time needed to transfer the message from the host to its network interface.

Access Time: This is the delay incurred while waiting for access to the transmission channel. Access Time is very MAC (Medium Access Control)-specific. Contention-based MACs must wait for the channel to be clear before transmitting, and retransmit in case that a collision happened. Wireless RTS/CTS schemes such as those in 802.11 networks need an exchange of control packets before data transmission. TDMA channels require the sender to wait for its slot before transmitting.

Propagation Time: This is the time for the message to travel from the sender to the destination node through the channel since it left the sender. In case that the sender and the receiver share access to the same physical media (e.g., neighbors in an ad-hoc wireless network or a LAN), this time is very small as it is simply the physical propagation time of the message through the medium. In contrast, Propagation Time dominates the delay in wide-area networks, where it includes queuing delay and switching delay at each router as the message transits through the network.

Receive Time: This is the time for the network interface on the receiver side to get the message and notify the host of its arrival. This is typically the time required for the network interface to generate a message reception signal. If the arrival time is time-stamped at a low enough level in the host's operating system kernel (e.g., inside of the network driver's interrupt handler), Receive Time does not include the overhead of system calls, context switches, or even the transfer of the message from the network interface to the host and so can be kept small.

Clock synchronization in wireless sensor networks has attracted a lot of attention in recent years. The development of p

Since most networks are very closely associated with the application, therefore for the intended protocols used for synchronization are different from each other in some aspects and similar to one another in other aspects. In [

Synchronization issues

Master-slave versus peer-to-peer synchronization

Master-slave: This protocol assigns one node as the master and the other nodes as slaves. The slave nodes regard the local clock reading of the master node as the reference time and try to synchronize with the master. The representative examples in this class are the protocol of Mock et al. [

Peer-to-peer: Any node can communicate directly with other nodes in the network. Such an approach removes the risk of the master node failure. Therefore these class of protocols are more flexible but also more uncontrollable. RBS [

Internal synchronization versus external synchronization

Internal synchronization: A global time base is not available from within the system and therefore the protocol attempts to minimize the maximum difference between the readings of local clocks of the sensors. The protocol of Mock et al. [

External synchronization: A standard time such as UTC (Universal Time Controller) is available and is used as a reference time. The local clocks of sensors seek to synchronize to this reference time. NTP [

Probabilistic versus deterministic synchronization

Probabilistic synchronization: This method gives a probabilistic guarantee on the maximum clock offset with a failure probability that can be bonded or determined. In a wireless environment where energy is scarce, this can be very expensive. The protocol of PalChaudhuri et al. [

Deterministic synchronization: Arvind [

Sender-to-receiver versus receiver-to-receiver versus receiver-only synchronization

Sender-to-receiver synchronization (SRS): The sender node periodically sends a message with its local time as a timestamp to the receiver and then the receiver synchronizes with the sender using the timestamp received from the sender.

Receiver-to-receiver synchronization (RRS): This method uses the property that if any two receivers receive the same message in a single-hop transmission, they receive it at approximately the same time. Receivers exchange the time at which they received the same message and compute their offset based on the difference in reception times.

Receiver-only synchronization (ROS): A group of nodes can be simultaneously synchronized by only listening to the message exchanges of a pair of nodes.

Clock correction versus untethered clocks

Clock correction: The local clocks of nodes participating in the network are corrected either instantaneously or continually to keep the entire network synchronized. Timing-sync protocol for sensor networks (TPSN) [

Untethered clocks: Every node maintains its own clock as it is, and keeps a time-translation table relating its clock to the clock of the other nodes. Local timestamps are compared using the table. A global timescale is maintained in this way with the clocks untethered. RBS belongs to this approach.

Pairwise Synchronization versus network-wide synchronization

Pairwise synchronization: The protocols are primarily designed to synchronize two nodes, although they usually can be extended to deal with the synchronization of a group of nodes.

Network-wide synchronization: The protocols are mainly designed to synchronize a large number of nodes in the network.

Application-dependent features

Single-hop versus multi-hop networks

Single-hop communication: A sensor node can directly communicate and exchange messages with any other sensor in a single-hop network. The protocol of Mock et al. [

Multi-hop communication: Sensors in a domain communicate with sensors in another domain via an intermediate sensor relating to both domains. Communication can also occur as a sequence of hops through a chain of pairwise-adjacent sensors. RBS and TDP can be suitably extended to deal with multi-hop communication.

Stationary networks versus mobile networks

Stationary networks: Sensors do not move. The protocols such as RBS and TPSN, and Mock et al.'s protocol are geared to stationary networks.

Mobile networks: Sensors have the ability to move, and they connect with other sensors only when entering the geographical scope of those sensors. The changing topology is often a problem because it needs resynchronization of nodes and re-computation of the neighborhoods or clusters.

MAC-layer-based approach versus standard approach

RBS does not depend on MAC protocols so as to avoid a tight integration of the application with the MAC layer. On the other hand, the protocols proposed by Ganeriwal et al. [

Next we will summarize various synchronization protocols, discuss their advantages and disadvantages, and explain techniques for clock offset and skew estimation in several representative clock synchronization protocols. Given that sensor networks are generally closely related to the real world environment that they monitor, different networks present different characteristics impacting the synchronization requirements. For the rest of this section, we will describe the synchronization schemes explicitly designed and proposed for wireless sensor networks.

We will specifically consider the following protocols:

Reference Broadcast Synchronization (RBS) [

Timing-Sync Protocol for Sensor Networks (TPSN) [

Delay Measurement Time Synchronization for Wireless Sensor Networks (DMTS) [

Flooding Time Synchronization Protocol (FTSP) [

Probabilistic clock synchronization service in sensor networks [

Time Diffusion Synchronization Protocol (TDP) [

Elson

An RBS broadcast is always used as a relative time reference, and never to communicate an absolute time value. It is exactly this property that eliminates the error caused by the Send Time and Access Time: each receiver is synchronizing to a reference packet which was injected into the physical channel at the same instant. The message itself does not include a timestamp generated by the sender, nor is it important exactly when it is sent. As a matter of fact, the broadcast does not even need to be a dedicated time synchronization packet. Almost any extant broadcast can be used to recover timing information – for instance, ARP packets in Ethernet, or the broadcast control traffic in wireless networks (e.g., RTS/CTS exchanges or route discovery packets).

As mentioned above, RBS removes the effect of the error sources of Send Time and Access Time altogether; the two remaining factors are Propagation Time and Receive Time. The authors in [

In order for a receiver node to interpret a message at all, it must be synchronized to the incoming message within one bit time. Latency caused by processing in the receiver electronics is irrelevant as long as it is deterministic, since the RBS scheme is only sensitive to differences in the receive time of messages within a set of receivers. Additionally, the system clock can easily be read at interrupt time when a packet arrives; this eliminates delays due to receiver protocol processing, context switches, and interface-to-host transfer form the critical path.

The simplest form of RBS is broadcasting a single pulse to two receiver nodes, enabling them to estimate their relative clock offsets. In other words, at first, a transmitter broadcasts a reference packet to two receivers (

Of course, fitting a line to observation data implicitly assumes that the frequency is stable, i.e., that the phase error is changing at a constant rate. The frequency of real oscillators changes over time due to environmental effects. In general, network time synchronization algorithms (for example, NTP) correct a clock's phase and its oscillator's frequency error, but do not try to model its frequency instability. In other words, frequency adjustments are made continuously based on a recent window of observations relating the local oscillator to a reference. The RBS system assumes also a similar scheme. RBS models oscillators as having high short-term frequency stability by ignoring data that is more than a few minutes old.

To test RBS, the authors implemented it on two different hardware platforms to assess its precision performance. The first used platform is the Berkeley Motes which is one of the most widely used sensor node architectures, and RBS acquired on this platform a synchronization precision within 11 μsec. The other platform is commodity hardware, Compaq IPAQs running Linux kernel v2.4, which is connected with an 11 Mbps 802.11 wireless network. The achieved precision of RBS on this platform was 6.29 ± 6.45 μsec.

The advantages of RBS are as follows [

The largest sources of nondeterministic latency can be eliminated from the critical path by using the broadcast channel to synchronize receivers with one another. This leads to significantly better precision synchronization than algorithms that measure round-trip delay.

Multiple broadcasts enable tighter synchronization because residual errors tend to follow well-behaved distributions, and also allow estimation of clock skew and extrapolation of past phase offsets.

Outliers and lost packets are handled gracefully; the best fit line can be drawn even if some points are missing.

RBS allows nodes to construct local timescales. This is useful for sensor networks and other applications that require synchronized time but may not have an absolute time reference available.

On the contrary, RBS presents the following disadvantages [

This protocol is not applicable to point-to-point networks; a broadcasting medium is needed.

For a single-hop network of ^{2}) message exchanges, which is computationally expensive in the case of large scale networks.

Convergence time, which is the time taken to synchronize the network, can be high because of the large number of message exchanges.

The reference node is left unsynchronized in this protocol. In some sensor networks, if the reference node needs to be synchronized, it will result in a considerable waste of energy.

Now we take a look at a method for joint estimation of clock offset and skew in RBS.

As mentioned before, RBS is based on the _{th}^{(}^{PA}^{)} represents the deterministic delay component from Node P to Node A. Then
_{1},_{i}

Subtracting (3) from (2), we obtain the following equation:
^{th}^{2}/2.

Letting the noise component
^{(}^{PA}^{)} − ^{(}^{PB}^{)} and ^{2}),
^{T}^{T}

By using standard results from estimation theory [28, Theorem 3.2, p. 44] and making some mathematical manipulations, the minimum variance unbiased (MVU) estimator for the relative clock offset and skew takes the expression [_{i}_{1},_{i}_{1,1}. In case that there is no relative clock skew (

Ganeriwal

The first step of the TPSN protocol is to create a hierarchical topology in the network. Each node is assigned a level in this hierarchical structure. A node belonging to level

This phase occurs at the deployment of the network. The root node is assigned a level 0 and it initiates this phase by broadcasting a

Pair wise synchronization is performed in this phase along the edges of the hierarchical structure constructed in the level discovery phase. As mentioned above, the classical approach of sender-receiver synchronization for implementing the handshake between a pair of nodes is used along each edge of the hierarchical tree. Consider a two-way message exchange between node A and node B as shown in _{1},_{i}_{1},_{i}_{2},_{i}_{1},_{i}_{A}_{A}_{3},_{i}_{1},_{i}, T_{2},_{i}_{3},_{i}_{4},_{i}

This message exchange begins with the root node's initiating the synchronization phase by broadcasting a

The advantages of TPSN are as follows [

It is scalable and the synchronization precision does not deteriorate significantly as the size of the network increases.

Network-wide synchronization is computationally less expensive in comparison with such protocols as NTP [

On the other hand, TPSN has the following disadvantages [

Energy conservation is not so effective since a physical clock correction needs to be performed on the local clocks of sensors while achieving synchronization.

The protocol is not suitable for applications with highly mobile nodes because it requires a hierarchical infrastructure.

TPSN does not support multi-hop communication.

Now let us take a look at some methods for estimating the clock offset and clock skew in a two-way message exchange model.

Modeling of network delays in WSNs seems to be a challenging task [

Noh et al. proposed the maximum likelihood estimator (MLE) of clock offset in a two-way message exchange model, which will be deeply discussed below [_{th} nodes _{i}_{i}^{2}/2. From _{2},_{i}_{4},_{i}_{A}, d, X_{i}_{i}_{i}_{2},_{i}_{1},_{i}_{i}_{4},_{i}_{3},_{i}

Therefore, the MLE of clock offset is given as follows [

Thus, Node A can be synchronized to the node B by simply taking the difference of the average observations

For exponential random delays _{i}_{i}_{A}

In case of one round of message exchange (_{A}

In general, the delay distribution in the upstream, _{X}_{Y}

In [

At first, let us take a look at the clock offset estimation using bootstrap bias correction based on the nonparametric bootstrap method and the parametric bootstrap method, and then we will consider the estimation of the clock data offset using the particle filtering approach.

_{1}, _{2},… _{n}

_{1} = _{1}, _{2} = _{2},… _{n}_{n}

Suppose that one has some partial information about

Let us suppose that an unknown probability distribution _{1}, _{2},…_{n}

A large bias is usually an undesirable aspect of an estimator's performance. We can use the bootstrap to assess the bias of any estimator _{F̂}

For most statistics that arise in practice, the ideal bootstrap estimate bias_{F̂}^{1}, x*^{2},⋯, x*^{B}, evaluate the bootstrap replications ^{b}_{F̂}

The bootstrap estimate of bias based on the B replications
_{F̂}

The usual reason why we want to estimate the bias of _{F}

Taking
_{1} and _{2} denote the exponential delay parameters for the uplink and the downlink delay distributions, respectively. MSE-MLE, MSE MSENBC, and MSE-PBC denote the mean squared error (MSE) of Jeske's MLE, which is the MLE in the exponential delay model, the MSE of the bias-corrected estimator through nonparametric bootstrapping, and the MSE of the bias-corrected estimator through parametric bootstrapping, respectively. It is clear that the performances of the bias-corrected estimators are improved in an asymmetric exponential delay model and the bias corrected estimator through the parametric bootstrapping method has the best performance for the asymmetric exponential delay distributions.

In _{th}_{th}_{k}_{2},_{k}_{1},_{k}_{A}_{k}_{k}_{4},_{k}_{3},_{k}_{A}_{k}_{A}_{k}_{k}_{k}_{2},_{k}_{1},_{k}_{A}_{k}_{k}_{k}, V_{k}^{T}_{A}_{k}_{A}^{K}^{K}_{0}, _{1},⋯,_{K}

Since the clock offset value is constant, the clock offset is assumed to obey a Gauss-Markov dynamic state-space channel model [_{k}

The vector observation model follows from the observed samples and assumes the expression:
^{T}^{T}_{k}_{k}, Y_{k}_{k}^{2}

Under the Bayesian framework, an emergent technique for obtaining the posterior probability density function (PDF) is known as particle filtering (PF). PF is based on Monte Carlo simulations with sequential importance sampling (SIS). These methods allow for a complete representation of the posterior distribution of the states using sequential importance sampling and resampling [

The posterior density _{0:}_{k}_{1:}_{k}_{0:}_{k}_{0}, ⋯, _{k}_{1:}_{k}_{1}, ⋯, _{k}_{k}_{1:}_{k}

The filtering density is estimated recursively in two stages: prediction and update (correction), as illustrated in

The transition density is defined in terms of the probabilistic model governing the states' evolution (23) and the process noise statistics.

The update stage involves the application of Bayes' rule when new data is observed [_{k}_{0}:_{k}_{−1}), depends on the likelihood function _{k}_{k}_{k}_{0}:_{k}_{−1}) is the prior information. This is a central issue in Bayesian inference. In order to recursively evaluate the Bayesian

Again, we choose the stochastic model given by (23) as our model for the proposal distribution. As a result of not incorporating the most recent observations, this would seem to be the most common choice of proposal distribution since it is intuitive and can be implemented easily. This has the effect of simplifying (28) to:

The update weights are based on the likelihood function. New estimates of the posterior are then computed based on the previous samples.

A common problem with the SIS particle filter is the degeneracy phenomenon, where after a few iterations, all but one particle will have negligible weights. It has been shown [_{eff}

A threshold number of particles _{th}_{th}_{eff}_{th}

We have so far explained how to compute the importance weights sequentially and how to improve the sample set by resampling. The essential structure of the PF to clock offset estimation using the proposal function (29) can now be presented in terms of the following pseudo-code.

_{eff}

_{th}

Finally, we now introduce the PF with Bootstrap Sampling (BS) approach that integrates the PF with the BS for estimating the clock offset. The basic idea is quiet straightforward. In order to provide a large amount of observation data, we generate sampled observation data from the original observation data set by using the BS procedure. Then, we estimate the clock offset based on the PF. The important thing to check is how close the PDF of sampled data is to the true PDF. However, in case of less observation data, the performance's limitation is related to the finite number of observation data. Therefore, the solution is to overcome this limitation in the presence of reduced number of observation data. BS assumes additional data samples relative to the original data samples; these additional samples are defined by drawing at random with replacement. Each of the bootstrap samples is considered as new data. Based on the BS, we will increase the observation data set. Given a large number of new observation data, we can then approximate the clock offset by using PF. The following pseudo-code describes the procedure for estimating the clock offset via the nonparametric bootstrap sampling method.

_{1}, ⋯

_{K}

_{1}=

_{1}, ⋯,

_{n}

_{n}

DMTS relies on a master-slave synchronization, sender-receiver synchronization, and clock-correction approach. This protocol was developed due to the need to develop a more suitable time synchronization method that avoids round trip time estimation. DMTS synchronizes the sender and multiple receivers at the same time and requires less number of message transfers than RBS. One of the characteristics of sensor networks is their self-organization and dynamic behavior. The self-organization feature implies that the network topology may change from time to time. DMTS focuses on scalability and flexibility, which means being either adaptive or insensitive to changes in network topology.

In this protocol, a leader is chosen as time master and broadcasts its time. All receivers measure the time delay and set their time as received master time plus measured time transfer delay. As a result, all sensors receiving the time synchronization message can be synchronized with the leader. The time synchronization precision is bounded mainly to how well the delay measurements are along the path.

_{d}_{e}_{1} and _{2} are receiver timestamps. Since a radio device has a fixed transmit rate, for instance, Mica radios transmit preamble and start symbols at the rate of 20 kbps, _{e}_{e}

In the DMTS method, a time synchronization leader sends a time synchronization message with its timestamp _{r}

The receiver is then synchronized with the leader. The lower bound of DMTS is the radio device synchronization precision, and the upper bound is the accuracy of local clock. Since DMTS needs only one-time signal transfer to synchronize all nodes within a single hop, it is energy efficient. It is also lightweight because there are no complex operations involved.

Multi-hop synchronization is also possible. If a node knows that it has children nodes, it broadcasts a time signal after it adjusts its own time. The node can now synchronize with its children by using single-hop time communication with a known-leader. To handle the situation when network nodes have no knowledge about their children, the concept of a time-source level is used to identify the network distance of a node from the master, which is selected by means of a leader selection algorithm. DMTS uses the concept of time source level to identify the distance from the master to another node. A time master assumes the time source level 0. A node synchronized with a level

DMTS exhibits the following advantages [

A user application interface is provided to monitor a wireless sensor network at run-time.

Computational complexity is low and energy efficiency is quite high.

On the other hand, the disadvantages of the DMTS protocol are as follows [

DMTS can be applied only to low resolution, low frequency external clocks.

Synchronization precision is traded for the sake of low computational complexity and energy efficiency.

The aim of the FTSP is to attain a network wide synchronization of the local clocks of participating nodes by using multi-hop synchronization. It is assumed that every node has a local clock exhibiting the typical timing errors of crystals and can communicate over an unreliable but error corrected wireless channel to its neighbor nodes. FTSP synchronizes the time of a sender to possibly multiple receivers making use of a single radio message time-stamped at both the sender and the receiver sides. MAC layer time-stamping can eliminate many of the errors, as shown in TPSN [

As mentioned above, FTSP provides multi-hop synchronization. The root of the network – a single, dynamically elected node – keeps the global time and all other nodes synchronize their clocks to that of the root. The nodes form an ad-hoc structure to transfer the global time from the root to all the other nodes, as opposed to the fixed spanning-tree based approach proposed in [

This protocol is an extension of the deterministic RBS protocol for providing probabilistic clock synchronization. Arvind [

Elson

Given a Gaussian probability distribution for the synchronization error, it is possible to calculate the relationship between a given maximum error in synchronization and the probability of actually synchronizing with an error less than the maximum error. If _{max} is the maximum error allowed between two synchronizing nodes, then the probability of synchronizing with an error _{max} is given by:

Therefore, as the _{max} limit increases, the probability of failure (1−_{max})) decreases exponentially.

Based on

In

In [_{max} is the maximum allowable synchronization period at any point in time, _{sync}_{max} is the maximum delay (after the synchronization procedure was started) in the time values of one receiver reaching another receiver [

This algorithm can be possibly extended to create a probabilistic clock synchronization service between receivers that may be multiple hops away from a sender. This extension is in contrast to the multi-hop extension used in RBS [

The advantages of probabilistic clock synchronization service in sensor networks are as follows [

A probabilistic guarantee reduces both the number of messages exchanged among nodes and the computational load on each node.

There is a tradeoff between synchronization accuracy and resource cost.

This protocol supports multi-hop networks, which span several domains.

However, this method also presents disadvantages [

In case of safety-critical applications (for example, nuclear plant monitoring), a probabilistic guarantee on accuracy may not be proper.

The protocol is sensitive to message losses. Nevertheless, it does not consider provisions for message losses.

TDP is a network-wide time synchronization protocol proposed by Su et al. [

After

The elected diffused leader nodes diffuse the timing information messages to their neighboring nodes located within their broadcast range. This diffusion procedure allows all nodes to be autonomously synchronized. Additionally, the master nodes are re-elected at every

The following are the advantages of TDP [

This protocol is tolerant to message losses.

A network-wide equilibrium time is achieved across all nodes and involves all the nodes in the synchronization process.

The diffusion does not count on static level-by-level transmissions and thus it exhibits flexibility and fault-tolerance.

The protocol is geared towards mobility.

On the other hand, the disadvantages are as follows.

The convergence time tends to be high in case that no external precise time servers are used.

Clocks may run backward. This can happen whenever a clock value is suddenly adjusted to a lower value.

Wireless sensor networks can be applied to a variety of applications and the common notion of time is necessary for a large number of sensor applications. This is due to the fact that the data from the sensors have to be collected and meaningfully fused to draw consistent inferences about the environment or the phenomenon being sensed. Some applications may operate on considerably precise time base, whereas other applications require energy efficiency by sacrificing the accuracy. It is very important to choose and apply the clock synchronization methods suitable to the purposes of the applications that WSNs aims at. In this paper, in order to satisfy this necessity, we described briefly the most representative clock synchronization protocols proposed for wireless sensor networks by reviewing their main characteristics.

This paper provides an in-depth analysis of the most representative protocols in wireless sensor networks, namely, RBS (Reference Broadcasting Synchronization) and TPSN (Timing-synch Protocol for Sensor Networks). In case of TPSN, we present not only the maximum likelihood estimate of clock offset, but also novel methods for estimating clock offset in WSNs which use nonparametric bootstrap and parametric bootstrap techniques, and particle filtering techniques. Due to these features, this review paper will help the researchers and designers in integrating diverse solutions to devise novel clock synchronization schemes that are best tailored for their specific applications.

Behavior of fast, slow, and perfect clocks.

Decomposition of packet delay over a wireless channel.

A critical path analysis for traditional time synchronization protocols and RBS.

A clock synchronization model for the receiver-receiver synchronization approach (Node A and Node B).

Two-way message exchange model with clock offset (_{A}_{i}, Y_{i}_{i}_{2},_{i}_{1},_{i}, V_{i}_{4},_{i}_{3},_{i}

MSEs of clock offset estimators for asymmetric exponential delays (_{1} = 1, _{2} = 5).

The recursive computation of the filtering density.

MSEs of clock offset estimators for asymmetric Gaussian random delay (σ = 1).

Time transfer path in a Mica mote.