Wireless Sensor Network, 2010, 2, 910-918
doi:10.4236/wsn.2010.212109 Published Online December 2010 (http://www.scirp.org/journal/wsn)
Copyright © 2010 SciRes. WSN
A Reliable and Efficient Time Synchronization Protocol
for Heterogeneous Wireless Sensor Network
Masoume Jabbarifar, Alireza Shameli Sendi, Alireza Sadighian,
Naser Ezzati Jivan, Michel Dagenais
École Polytechnique de Mon tréal, Montreal, Canada
E-mail: {masoume.jabbarifar, alireza.shameli-sendi, alireza.sadighian, naser.ezzati-jivan,
michel.dagenais}@polymtl.ca
Received October 16, 2010; revised November 1, 2010; accepted November 8, 2010
Abstract
L-SYNC is a synchronization protocol for Wireless Sensor Networks which is based on larger degree clus-
tering providing efficiency in homogeneous topologies. In L-SYNC, the effectiveness of the routing algo-
rithm for the synchronization precision of two remote nodes was considered. Clustering in L-SYNC is ac-
cording to larger degree techniques. These techniques reduce cluster overlapping, resulting in the routing
algorithm requiring fewer hops to move from one cluster to another remote cluster. Even though L-SYNC
offers higher precision compared to other algorithms, it does not support heterogeneous topologies and its
synchronization algorithm can be influenced by unreliable data. In this paper, we present the L-SYNCng
(L-SYNC next generation) protocol, working in heterogeneous topologies. Our proposed protocol is scalable
in unreliable and noisy environments. Simulation results illustrate that L-SYNCng has better precision in
synchronization and scalability.
Keywords: Wireless Sensor Network, Synchronization, Clustering, Heterogeneous, Convex Hull
1. Introduction
In recent years, wireless sensor networks have been
used in wide range of applications including oil indus-
try, medical, and military services. They can be used in
such environments to collect data from movements of
objects, to measure the speed and flow direction of oil
spills, or to control and track goods in a warehouse.
Clustering can be used in wireless sensor networks to
implement these networks and has some advantages
such as extending the lifetime of the network, decreas-
ing consumption of energy, reducing routing overhead,
and calculating route path. Selecting less overlapped
clusters in wireless sensor networks results in better
performance for high level network functions such as
routing, query processing, data aggregation and broad-
casting [1]. In the past few years, several algorithms
have been suggested for time synchronization of sensor
networks. In this paper, we propose a time synchroni-
zation protocol for heterogeneous and homogeneous
sensor network topologies. As we use the convex hull
synchronization algorithm between sensors, the result
is better efficiency in unreliable noisy environments.
The rest of t he pape r is or gani zed as foll ows: in Se ction
2, we investigate earlier work and several clustering me-
thods. Comparison between convex hull and regression
techniques will be presented in Section 3. In Section 4,
the proposed protocol will be discussed. Experimental
results are given in Section 5. The last section concludes
this paper by outlining future work that will follow.
2. Related Work
In this section, we mention some recent synchronization
algorithms and present an overview on common cluster-
ing methods. Generally, time synchronization protocols
are categorized into two main techniques: 1) Synthetic:
In this technique, time estimation s are done several times
to get the local time of a node and eventually generate a
function for each node. The more data, the more precise
approximations. 2) Non-synthet ic: In this technique, a
sample of time estimation (less overhead) is considered
as the foundation of synchronization. Essentially, this
technique is faster but less precise than the synthetic
technique. Table 1 shows these techniques and the re-
lated algorithms [2].
In the following, we explain the prevalent time syn-
chronization protocols which have used the mentioned
M. JABBARIFAR ET AL.
Copyright © 2010 SciRes. WSN
911
Table 1. Time synchronization techniques.
Synthetic techniques Non- synthetic techniques
- Linear regr e ss io n
- Phase-locked loops
- Unidirectional Synchronization
- RoundTrip Synchronization
- Reference Broadcasting
- Pair-Wise
techniques. Table 2 also categorizes these protocols in
terms of network topology and synchronization tech-
niques.
RBS: In this protocol, non-synthesized Reference
Broadcasting method is used to compute the differ-
ence between nodes’ offset [3]. According to non-
synchronous clock ticks, linear regression is used
such that each node determines the best fitted line
from its local time and its neighbor local time. Slope
of this line is the velocity of clock changes.
Table 2. Classification of time synchronization protocols.
Algorithm Network topology Synchronization t echnique
RBS [3]
Several reference nodes and
synchronization in each
reference domain
-Reference Broadcast
-Linear regression
LTS [4] Spanning tree with low
depth (first depth search)
Pair-Wise (from root to
children)
TPSN [5] Hierarchical-tree structure Pair-Wise (level i with level
i-1)
T-sych [6] Tree structure; many refer-
ence nodes
-HRTS: with Pair-Wise but
in broadcasting method
-ITR: two nodes sync. inde-
pendently
PCTS [7] Clustering based on ID Averaging by cluster head
CHTS [8]
-Clustering based on ID
-Tree formation between
cluster heads and member
nodes
Cluster heads will be syn-
chronized with reference
node by Pair-Wise method
AD [9] No structure Averaging by each node
FTSP [10] Le ss node ID is reference
node
Linear regression by nodes
after sending 8 times by
reference node
SLTP [11] Clustering based on ID
technique
Linear regression after
sending 10 times by cluster
head
L-SYNC
[12]
Clustering based on degree
technique
Linear regression after
sending 10 times by cluster
head
PCTS: This protocol uses ID-based method (pas-
sive) and considers node clustering [7]. Cluster
head alternatively gathers local clocks of its cluster
members and computes the average. Afterward, the
cluster head will broadcast the average time.
CHTS: In this protocol, nodes can change their
radio domain [8]. Some of the nodes are high per-
formance nodes and others are low performance
nodes. This protocol also uses ID-based method for
clustering the nodes. Cluster heads are selected
among high performance nodes. In this protocol,
firstly cluster heads are synchronized in Pair-Wise
technique with reference node and then cluster head
will announce the time to all cluster members.
SLTP: Thi s protoc ol uses I D-base d method for node
clustering [11]. The cluster head sends its local ti me
continuously to cluster members at specified time
intervals. Using linear regression method, cluster
members calculate time interval and velocity
changes of its clock with cluster head clock. SLTP
method is same as RBS in precision; however for
wide areas and long life clusters, SLTP operates
more efficiently.
Three criteria are used to select cluster head (CH):
1) ID-based method: This method assigns a unique
ID to each node. One strategy is the selection of nodes
having lower ID as the cluster head.
2) Degree-based method: In this method (the degree
of a node is the number of its neighbors) nodes with
higher degrees can be selected as cluster head [13]. These
methods attempt to minimize the number of cluster heads,
minimizing clusters overlap. Fewer clusters and overlaps
will decrease the channel competition between clusters
and also will improve the algorithm efficiency [1].
3) Weight-based method: In this method, several pa-
rameters may be considered for CH selection. These pa-
rameters include remaining energy, degree, dynamicity,
and average distance to neighbors [10,14].
3. Convex Hull vs. Linear Regression
When a message is exchanged between a pair of nodes,
the receiving and sending times will not be reliably
comparable because the clocks of two nodes are not
synchronized. By the principle of causality, the received
time must be after the sent time. This constraint is used
to compute the clock drift between two nodes.
Two proposed synchronization algorithms are Linear
Regression and Convex Hull [15]. Both algorithms try to
estimate a linear conversion function between the clocks
in a pair of nodes. The drift and offset of the two clocks
are extracted from linear function. In a two dimensional
space, based on timestamps of node A and B, the Linear
M. JABBARIFAR ET AL.
Copyright © 2010 SciRes. WSN
912
Regression algorithm tries to find a fitted line among
points. Each point impacts the position of the fitted line.
In the synchronization process, network latency and re-
lated problems between two nodes cause erratic, delayed,
time values. Ideally, these points should not influence the
fitted line and they should be ignored in the calculation
to increase synchronization accuracy. The Convex Hull
is an algorithm that assumes minimum sent timestamps
and maximum received timestamps. It finds the area that
has minimum latency and ignores far points. Hence the
estimated line is more accurate than Linear Regression.
4. Proposed Method
In our proposed method, the synchronization is per-
formed between cluster members and the cluster head. It
is not necessary for cluster members to exchange and
analyze synchronization data. However, each pair of
nodes (within the same cluster or even in two different
clusters) may be synchronized if needed. The synchroni-
zation is not affected by the fact that nodes may differ in
strength, ability and radio domain. Each node is able to
change its role from cluster head to cluster member and
vice-versa. The proposed algorithm does not change the
clock time of the nodes, instead the clock offset and
clock skew of each node will be calculated with respect
to cluster head clock. To compare synchronization accu-
racy, nodes local clock in different clusters are compared
together. The proposed algorithm proceeds in two phases:
configuration and synchronization. We explain these
phases in the next section. Figure 1 illustrates the pseu-
do-code of L-SYNCng protocol.
4.1. Configuration Phase
As mentioned, the SLTP protocol uses passive clustering
method for homogeneous and heterogeneous topologies
[11]. L-SYNC is only efficient in homogeneous envi-
ronments. In this work, we have applied some strong
clustering methods such as DCA (weight-based) and
ACE (degree-based) to our model (L-SYNCng) in order
to address the L-SYNC shortcomings in heterogeneous
distributions. After investigation of the mentioned clus-
tering methods, we have retained the method providing
better results. We explain the DCA and ACE clustering
methods in the following.
The ACE algorithm [13] is based on adjacency de-
gree. This algorithm results in highly uniform clustering
and achieves an efficient cluster topology, nearly hex-
agonal. Using self-organizing characteristics within
clusters, the algorithm creates well-separated clusters.
Indeed, results show that clusters are less overlapping
than other algorithms. ACE has two steps, spawning
new clusters and migrating existing clusters. To prevent
collisions, each node chooses a random interval. This
algorithm is iterative. When a node’s turn comes, it
starts processing to determine its role. At the beginning,
each node is in the unclustered condition, so each node
starts to calculate its number based on loyal followers
(identified as l). A loyal follower is a neighbor which
is the member of at most one cluster. In the initiation
phas e, this numb er is equal to the number of unclustered
neighbors of a node. As clustering proceeds, each node,
for example node
, knows the time elapsed since the
beginning of the protocol (identified as t). Afterward,
node
starts to compute the cluster spawning thresh-
old functi o n

min t
f.
If l >

min t
f, node A can spawn a new cluster. Each
node executes the protocol at least for CI time, where
C is the desired average number of iterations per node
Figure 1. Pseudo-code of L-SYNCng Protocol.
M. JABBARIFAR ET AL.
Copyright © 2010 SciRes. WSN
913
and
I
is the expected length of each iteration.

min t
f
function is an inverse exponential. At the beginning , it is
equal to the average number of neighbors in the graph.
The equation is as follows:

1
min 2
ktCI
f
te kd
 (1)
In this equation, t is the elapsed time from the start
of the protocol, CI is the duration of the protocol, d
represents the average number of neighbors in the net-
work. This average is computed in a pre-processing step.
1
K and 2
K are constants determining the shape of the
exponential functio n.
The algorithm designers have selected empirically 1
K
= 2.3 and 2
K = 0.1 to obtain a good compromise be-
tween the clustering quality and the execution time. Us-
ing these values, min
f
starts at 0.9d and decreases to
zero on the last iteration. This insures that each unclus-
tered node chooses itself as a cluster head at the end of
the protocol. When a node is already a cluster head, at
the following iterations it checks wheth er neighbor nodes
are better candidates as cluster head. The node polls all
its neighbors to find the best candidate for being cluster
head. Therefore, it sends a POLL message to all neigh-
bors. The best candidate is the one containing the largest
potential number of loyal followers in its neighbors’ set.
It means that each node which receives a POLL message
starts counting neighbo rs that are unclustered or are only
part of the cluster headed by node A. By counting loyal
followers except nodes that are in two or more overlap-
ping clusters, the best candidate node generally provides
the least overlap with other clusters. If the best candidate
to become cluster head is node A, then A does nothing. If
the best candidate is another node (B), A migrates to the
new cluster head B. A performs this migration by propa-
gating a PROMOTE message to node B. When receiving
the PROMOTE message, B propagates a RECRUIT
message to form a cluster with A’s cluster ID.
The Distributed Clustering Algorithm (DCA) [16] is a
weight-based algorithm. In this approach, one node de-
cides to become CH or join a cluster depending on in-
forma t i on f r o m i t s ne i g h b o r s t ha t a re in on e h o p di s t a n c e .
This technique is essentially iterative.
In iterative clustering techniques, a series of nodes
wait for a specific event, and other nodes decide their
own role (for instance to become CH or not). In DCA,
before deciding, one node waits until all its neighbors
which ha ve m ore weig ht m ake t heir decisio n, a nd c hange
to CH or join existing clusters. Nodes that have largest
weight among neighbors with one hop distance will be
selected as CH. A problematic issue in most iterative
approaches is that convergence speed is dependent on
network diameter (the path that includes the largest
number of hops).
In a two di mensional fi el d wi th n dist ributed no des, the
DCA algorithm needs
Oniterations to finalize the
solution. Generally, probabilistic approaches for cluster-
ing insure rapid convergence and provide desirable fea-
tures such as balanced cluster size. This approach causes
activation of each node independently to decide for its
role within a clustered network, while keeping the mes-
sage overhead low [ 13] .
In the following, we explain how the mentioned clus-
tering methods are used in L-SYNCng under heteroge-
neous topologies. Figures 2-3 illustrate the execution of
ACE and DCA algorithms for 100 nodes distributed
randomly (the path between nodes 0 and 99 is consi-
dered). As Figures 2 illustrates, after execution of ACE
algorithm, clusters contain less overlap. In this execution,
13 nodes are selected as cluster heads. Once clusteri ng has
been done, r o u ti ng algorithm was executed to find a route
from node 99 to node 0.
The routing path is as follows: CM (99) -> CH (78) ->
GW (66) -> CH (45) -> GW (25) -> CH (14) -> GW (3)
-> CH (2) -> CM (0). It means that to compare the time
stamp of nodes 0 and 99, 8 hops are required with the
conversion of time informati on based on Equati on (2 ).
After execution of the DCA algorithm, as Figure 3
shows, 14 nodes are selected as cluster heads. Once
clustering has been done, the routing algorithm was ex-
ecuted to find a route from node 99 to node 0.
The routing path is as follows: CM (99) -> CH (78) ->
GW (66) -> CH (45) -> GW (34) -> CH (32) -> GW (2 2 )
-> CH (2) ->CM (0).
To compare the times of nodes 0 and 99, 8 hops are
required where the conversion of time stamp information
based on equation 2 takes place. Results of executing the
two me thods passing thr ough hops fr om node 99 to node 0
are shown in Table 3.
As the results of DCA algorithm illustrate, the number
of hops remains the same. As this algorithm needs fewer
time conversions than ACE, better accuracy can be
achieved.
Based on the above comparison, we can conclude that
DCA is a better clustering algorithm for heterogeneous
Table 3. Comparison of hops from node 99 to node 0 in
ACE and DCA techniques.
Execution ACE DCA
1 9 8
2 10 8
3 8 8
4 8 8
5 9 8
6 11 8
7 8 8
8 12 8
9 10 8
10 9 8
Average 9.4 8
M. JABBARIFAR ET AL.
Copyright © 2010 SciRes. WSN
914
Figure 2. Using ACE as a clustering in L-SYNCng.
Figure 3. Using DCA as a clustering in L-SYNCng.
topologies. Therefore, this algorithm can be used by
L-SYNCng in het e r ogeneous t op ol o gi es.
4.2. Synchronization Phase
In this phase, each cluster head starts to broadcast a
synchronization pack et including its identity number and
local time. Each cluster member receives this packet and
sends an acknowledgment to the cluster head.
The cluster head waits to receive all ACK messages,
as shown in Figure 4. Thus four timestamps (tcs, tmr, tms,
tcr) are generated for each ACK. If a cluster member re-
M. JABBARIFAR ET AL.
Copyright © 2010 SciRes. WSN
915
Figure 4. Synchronization packets between CH and CMs.
CH starts synchronization.
plies immediately to the cluster head, tmr would be equal
to tms. A cluster member can delay as long as it wants.
The precision will decrease if the delay between tcs and
tcr increases. Cluster head has tcs, tms and tcr.
To determine tmr it is eno ugh to have the minimum de-
lay between tmr and tms . The minimum delay can be esti-
mated by the cluster head for each cluster member at the
end of broadcasting, based on the history of each cluster
member’s behavio r [1 7] .
The cluster head will broadcast a next synchronization
packet. After sending m packets, CH will derive an equa-
tion of the form Y=aX+b where a and b are spe-
cific for each cluster member. Eventually, the cluster
head sends all a and b to each cluster member.
As mentioned, Figure 5 shows that the convex hull
technique can be used to derive lower and upper bounds
on the local time of a remote node. In this case, each
cluster head can generate a two dimensional graph for
each cluster member after sending m packets. The x -axis
and y-axis dimensions are local times of cluster member
and cluster head repetitively. Thus, each cluster member
has two clouds formed by lower-bound and upper-bond
samples. Unlike liner regression that tends to average all
the individual samples, this technique ignores average
values and accounts for the samples with minimal or
maximal error [2,14].
Table 4 shows the nu mber of messages used in the syn-
chronization phase for SLTP, L-SYNC and L-SYNCng,
m, c and n indicates number of synchronization pack-
ets , number of cluster heads and number of cluster mem-
bers respectively. It i s obvious that the li near regression
Figure 5. Convex Hull method.
Table 4. Number of transmitted messages for the following
algorithms.
Algorithms Number of messages
SLTP C * m
L-SYNC C * m
L_SYNCng C * [(1+n) * m+ n]
Figure 6. Synchronization packets between CH and CMs.
CM starts synchronization.
used in SLTP and L-SYNC has fewer messages.
Another solution that can be discussed is to start
sending synchronization packets by cluster members.
Figure 6 shows this solution. With this solution, each
cluster member sends m synchronization packet to clus-
ter head and then receives m ACK messages. However,
the number of messages in this method is 2*m*n and has
more overhead rather than first solution, although this
solution has better scalability.
Between clusters, there are some nodes that receive
timing packets from more than one group head; these are
called gateways. Synchronization can be performed pe-
riodically at specific time intervals. But, if a node needs
to be synchronized within these time intervals, it can
broadcast a message for synchronization.
Any group head that receives this message will start to
send its local time and ID. In the example shown in Fig-
ure 7, after executing the algorithm in cluster heads CH1
to CH2, nodes belonging to each group head will re-
ceive a and b. If two nodes such as CM1 and CM2,
that are the members of a cluster, want to communicate
with each other, it is sufficient to send their a and b
parameters to each other, and using the following equa-
tions they can convert their clocks. In a case where two
nodes are not members of a cluster, they can also be
synchronized. For instan ce, if nodes CM1 and CM3 w ant
to be synchronized, it is enough to calculate a and b
Figure 7. Synchronization of two nodes of two far clusters.
M. JABBARIFAR ET AL.
Copyright © 2010 SciRes. WSN
916
parameters using Equation (2), in the path between each
two nodes, in an appropriate route between nodes CM1
and CM3. We have proposed a routing algorithm be-
tween these nodes. Afterward, clock conversion will be
done in each existing hop in the route path. Since con-
version error in each hop will be added to the total error
rate, the synchronization error increases with the number
of hops. Consequently, clustering based on larger number
of neighbors helps to shorten the route between two
nodes, in order to perform fewer conversions and reduce
the synchronization error rate.
11
12
1CH1CM1
2CH2CM2
C+
C+
ah b
ah b


:h
:h12
221
CM CM
11
abb
hh
aa




(2)
5. Results
To assess our synchronization protocol, we used the NS
2.31 simulator under the Linux operating system. We
describe the simulation setup and configuration in detail
in Subsection 5.1. Afterward, we selected SLTP [2] and
L-SYNC [12] to compare our simulation results based on
accuracy in terms of time and number of hops. We dis-
cuss our comparison in detail in Subsection 5.2.
5.1. Simulation Setup
To evaluate the proposed algorithm, it is required to con-
sider several clocks, one for each node. To simulate sev-
eral nodes’ clocks on a system, a real time system was
used, so that for each node’s clock, one specific drift and
one specific offset were selected.
Drift and offset are determined by a random function,
between two identified values of max_drift and max_
offset, such that nodes’ clocks are computed with the
following equations. In our simulations, the worst cases
for drift and offset have been considered. Simulation
parameters are shown in Table 5.
When a node wants to be synchronized with another
node, a packet is broadcast to form an optimized route
between two nodes. In the return route, the required
conversions are done. In each execution turn, different
Table 5. Simulation parameters values.
Subject Value
Number of synchronization packets 10
Time intervals between synchronization packets 1s
Synchronization period 1000s
Max. offset 1s
Max. drift 0.0001s
Simulation dura t ion 10262s
routes between source and target will be selected, each
experiment will be iterated 10 times and the results are
averaged. Our simulation is done for two different to-
pologies, heterogeneous and homogeneous. In homoge-
neous topology we use 100 nodes in 1000*1000 square
meters where each node has 100 meters range in a regu-
lar layout, and in heterogeneous topology the configura-
tion is similar except that the nodes coordinates are ran-
domly uniform.
* 3time nodecurrent timedriftoffset
5.2. Simulation Results and Comparison
We simulated our work in two environments: noisy and
noiseless. Each environ ment was tested with two topolo-
gies: homogeneous and heterogeneous. Figure 8 depicts
the average error versus simulation time in noiseless
homogeneous environment. It shows that as time passes
the average error rate of L-SYNCng increases less than
with the others.
Figure 9 depicts our second simulation in noiseless
heterogeneous topology. It shows that as time passes the
average error rate of L-SYNCng increases gradually,
while for the other protocols it increases more rapidly.
We have repeated the two previous simulations innoi-
sy environment where packets may arrive to destination
with considerable delay. Figures 10-11 depict our simu-
lation results. As we mentioned, in L-SYNC the protocol
synchronization algorithm is based on linear regression
technique. Linear regression can be influenced particu-
larly by unreliable data which are far from the fitted line.
Figures 12-13 summarize L-SYNC and L-SYNCng
general behavior in each different environment.
Figure 8. Comparison of L-SYNCng, L-SYNC and SLTP
error versus time in homogeneous topology and noiseless
environment.
M. JABBARIFAR ET AL.
Copyright © 2010 SciRes. WSN
917
Figure 9. Comparison of L-SYNCng, L-SYNC and SLTP
error versus time for heterogeneous topology and noiseless
environment.
Figure 10. Comparison of L-SYNCng, L-SYNC and SLTP
error versus time forhomogeneous topology and noisy en-
vironment.
Figure 11. Comparison of L-SYNCng, L-SYNC and SLTP
error versus time for heterogeneous topology and noisy
environment.
Figure 12. L-SYNCng behavior in different environment.
Figure 13. L-SYNC behavior in different environment.
6. Conclusions and Future Work
L-SYNCng is a reliable and efficient protocol for time
synchronization in Wireless Sensor Networks. This pro-
tocol uses degree-based and weight-based clustering in
heterogeneous and homogeneous topologies respectively.
Using these clustering methods, L-SYNCng can reduce
the number of hops in time synchronization process of
two specific nodes which are in different clusters.
Moreover, L-SYNCng uses convex hull method to
calculate clock offset and skew in each cluster. Therefore,
it is capable to compute skew and offset intervals be-
tween each node and its corresponding head cluster. In
other words, it can estimate the local time of remote
nodes in the future and past. To estimate the local time
for remote nodes, firstly a routing algorithm is used and
afterward a conversion is performed in each hop. Simu-
lation results illustrate that the convex hull method can
increase efficiently the synchronization accuracy in noisy
environments. As dynamic sensor networks might be
indispensable in the future, we are going to apply
LSYNCng to these environments where nodes change
M. JABBARIFAR ET AL.
Copyright © 2010 SciRes. WSN
918
their status during time.
7. References
[1] H. Chan and A. Perrig, “ACE: An Emergent Algorithm
for Highly Uniform Cluster Formation,” Wireless
Sensor Networks, Vol. 2920, January 2004, pp. 154-
171.
[2] www.vs.inf.ethz.ch/publ/papers/wsn-time-boo k.pdf
[3] J. Elson, L. Girod and D. Estrin, “Fine-Grained Network
Time Synchronization, Using Reference Broadcasts,”
Proceedings of the 5th Symposium on Operating Systems
Design and Implementation, Vol. 36, No. SI, Winter
2002, pp. 147-163.
[4] J. V. Greunen and J. Rabaey, “Lightweight Time Syn-
chronization for Sensor Networks,” Proceedings of the
2nd ACM International Conference on Wireless Sensor
Networks and Applications, 2003, pp. 11-19.
[5] H. Dai and R. Han, “TSync: A Lightweight Bidirectional
Time Synchronization Service for Wireless Sensor Net-
works,” ACM SIGMOBILE Mobile Computing and
Communications Review Archive, Vol. 8, No. 1, January
2004, pp. 125-139.
[6] S. Ganeriwal, R. Kumar and M. B. Srivastava, “Tim-
ing-Sync Protocol for Sensor Networks,” Proceedings of
the 1st International Conference on Embedded Net-
worked Sensor Systems, 2003, pp. 138-149.
[7] Md. Mamun-Or-Rashid, C. S. Hong and C. Hyung, “Pas-
sive Cluster Based Clock Synchronization in Sensor
Network,” Advanced Industrial Conference on Telecom-
munications/Service Assurance with Partial and Inter-
mittent Resources Conference/E-Learning on Telecom-
munications Workshop (AICT/SAPIR/ELETE’05), July
2005, pp. 340-345.
[8] H. Kim, D. Kim and S. Yoo, “Cluster-Based Hierarchical
Time Synchronization for Multi-Hop Wireless Sensor
Networks,” 20th International Conference on Advanced
Information Networking and Applications, Vol. 2, April
2006, pp. 318-322.
[9] K. Römer, “Time Synchronization and Localization in
Sensor Networks,” Ph.D. Thesis, No. 16106, ETH Zurich,
Switzerland, June 2005.
[10] M. Maroti, B. Kusy, G. Simon and A. Ledeczi, “The
Flooding Time Synchronization Protocol,” Proceedings
of the 2nd International Conference on Embedded Net-
worked Sensor Systems, SenSys, November 2004.
[11] S. N. Gelyan, A. N. Eghbali, L. Roustapoor, S. A. Ya-
hyavi, F. Abadi and M. Dehghan, “Scalable Lightweight
Time Synchronization, Protocol for Wireless Sensor
Network,” International Conference on Mobile Ad-Hoc
and Sensor Networks, Beijing, December 2007,
pp.536-547.
[12] M. Jabbarifar, A. S. Sendi, H. Pedram, M. Dehghan and
M. Dagenais, “L-SYNC: Larger Degree Clustering Based
Time-Synchronisation for Wireless Sensor Network,
Eighth ACIS International Conference on Software En-
gineering Research, Management and Applications,
Montreal, 2010.
[13] O. Younis, M. Krunz and S. Ramasubramanian,
“Clustering in Wireless Sensor Networks: Recent De-
velopments and Deployment Challenges,” IEEE Net-
work Magazine, Vol. 20, No. 3, May 2006, pp. 20-25.
[14] B. Poirier, R. Roy and M. Dagenais, “Accurate Offline
Synchronization of Distributed Traces Using Kernel-
Level Events, ACM SIGOPS Operating Systems Review,
Vol. 44, No. 3, July 2010, pp. 75-87.
[15] A. Duda, G Harrus, Y. Haddad and G. Bernard, “Esti-
mating Global Time in Distributed Systems,” Proceed-
ings of the 7th International Conference on Distributed
Computing Systems, Berlin, Vol. 18, 1987.
[16] S. Basagni, “Distributed Clustering Algorithm for Ad
Hoc Networks,” International Symposium on Parallel
Architectures, Algorithms and Networks (ISPAN’99),
1999, pp. 310-315.
[17] L. M. Sichitiu and C. Veerarittiphan, “Simple, Accurate
Time Synchronization for Wireless Sensor Networks,”
IEEE Wireless Communications and Networking Confe-
rence (WCNC’03), Vol. 2, March 2003, pp. 1266-1273.