scispace - formally typeset
Open AccessProceedings ArticleDOI

Simple, accurate time synchronization for wireless sensor networks

Reads0
Chats0
TLDR
The proposed solution features minimal complexity in network bandwidth, storage and processing and can achieve good accuracy, and also provides tight, deterministic bounds on both the offsets and clock drifts.
Abstract
Time synchronization is important for any distributed system. In particular, wireless sensor networks make extensive use of synchronized time in many contexts (e.g. for data fusion, TDMA schedules, synchronized sleep periods, etc.). Existing time synchronization methods were not designed with wireless sensors in mind, and need to be extended or redesigned. Our solution centers around the development of a deterministic time synchronization method relevant for wireless sensor networks. The proposed solution features minimal complexity in network bandwidth, storage and processing and can achieve good accuracy. Highly relevant for sensor networks, it also provides tight, deterministic bounds on both the offsets and clock drifts. A method to synchronize the entire network in preparation for data fusion is presented. A real implementation of a wireless ad-hoc network is used to evaluate the performance of the proposed approach.

read more

Content maybe subject to copyright    Report

Simple, Accurate Time Synchronization for
Wireless Sensor Networks
Mihail L. Sichitiu and Chanchai Veerarittiphan
Electrical and Computer Engineering Department
North Carolina State University
Raleigh, NC 27695-7911
Email: {mlsichit,cveerar}@eos.ncsu.edu
Abstract Time synchronization is important for any
distributed system. In particular, wireless sensor networks
make extensive use of synchronized time in many contexts
(e.g. for data fusion, TDMA schedules, synchronized sleep
periods, etc.). Existing time synchronization methods were
not designed with wireless sensor networks in mind, and
need to be extended or redesigned. Our solution centers
around the development of a deterministic time synchro-
nization method relevant for wireless sensor networks. The
proposed solution features minimal complexity in network
bandwidth, storage and processing and can achieve good
accuracy. Highly relevant for sensor networks, it also
provides tight, deterministic bounds on both the offsets
and clock drifts. A method to synchronize the entire
network in preparation for data fusion is presented. A real
implementation of a wireless ad-hoc network is used to
evaluate the performance of the proposed approach.
Keywords: synchronization, wireless sensor networks,
model based, clock drift bound.
I. I
NTRODUCTION
The availability of small, cheap microsensors and low
power wireless communications nowadays enables the
deployment of large arrays of wireless sensor networks
allowing us to monitor and, eventually, control many as-
pects of the physical world. Applications include tagging
small animals unobtrusively, environmental monitoring,
tagging small objects in a hospital or factory warehouse.
In tactical environments, it can be used to track the
movements of troops or targets.
The sensed data is of limited usage if it is not
accompanied by the coordinates of the sensor - position
and time stamp. This is perhaps the primary reason for
clock synchronization in wireless sensor networks. But
there are also other vital functions which depend on
clock synchronization.
A basic function of a wireless sensor network is data
fusion, i.e. combining data from multiple sensors into
high level data. For example, a vehicle going through a
sensor network equipped with acoustic sensors can be
detected by different sensor nodes at different moments
(corresponding to the moments when the vehicle entered
the detection range of those nodes). A fusion node
receiving the raw information from the sensor nodes
can refine it by estimating the speed and the direction
of the sensed vehicle. For this application (and most
other applications), synchronized timestamps (together
with position information) are essential.
Sensor networks are expected to have very small form
factors and be cheap such that they can be deployed
in very large numbers. This precludes spending a large
amount of resources on a large, expensive power source
for each node. Once deployed, the sensor networks are
usually unattended, so battery replacement is out of the
question the life of the sensor network is equal to the
life of its batteries. Finally, such a network is typically
expected to work for extended periods of time (weeks,
months, and in some cases, years). There is no better way
to conserve energy but to put the nodes to sleep (using
low power components only goes so far). However, to
perform its function the network should wake up at
periodic intervals. It is essential that all the nodes are
able to wake up at the same time to be able to exchange
information.
In addition, various time division multiple access
(TDMA) schemes proposed in literature for ad hoc
networks assume clock synchronization of the nodes [1].
Nodes could be equipped with a global positioning
system (GPS) [2] to synchronize them, but currently
this is a costly (in size, cost and power consumption)
solution.
There is a considerable amount of work available in
the field synchronization for distributed systems [3]–
[14]. However most of the existing methods do not
take into account the limited resources available for
sensor networks and require either error free operation,
significant storage for the data samples, or processing
power not plentiful in a sensor network.
Elson and Estrin presented an interesting technique
called post-facto synchronization [15] which is also
based on unsynchronized local clocks but limits synchro-
nization to the transmission range of the mobile comput-
ing nodes. The precision achieved by their approach is
very good, but lacks a deterministic bound on the clock
drift.
0-7803-7700-1/03/$17.00 (C) 2003 IEEE 1266

Recently, other approaches suitable for wireless sensor
networks synchronization were published [16] or are
under review [17]. However, those approaches are still
comparatively computation intensive, and do not provide
firm bounds on the achieved precision.
This paper presents a synchronization algorithm for
drifting clocks similar to that found in [4], [18] but
processes the collected data in a different manner. The
proposed algorithm preserves the fault-tolerance proper-
ties of the methods in [4], [18].
Due to unpredictability and imperfect measurability
of message delays in a networked environment, physi-
cal clock synchronization is always imperfect. We will
present two closely related algorithms suitable for syn-
chronizing two wireless nodes. We will also present a
scheme building on these algorithms capable to synchro-
nize the clocks of an entire sensor field.
To avoid confusion between the two algorithms we
will name them mini-sync and tiny-sync as they use
limited resources and very limited resources respectively.
The two algorithms feature:
Drift awareness: the algorithm not only takes the
drift of the clock into account, but also finds tight
bounds on the drift which allows for corrections.
Tight bounds on the precision: Most other algo-
rithms provide best estimates for the offset and the
drift of the clocks, and possibly probabilistic bounds
on these estimates. Our approach deliverers tight,
deterministic bounds on these estimates, such that
absolute information can be deduced about ordering
and simultaneous events.
Accuracy: given small uncertainty bounds on the
delays the exchanged messages undergo, the preci-
sion of the synchronization can be arbitrarily good.
Low computation and storage complexity: wire-
less sensor nodes typically feature low computa-
tional power microcontrollers with small amounts
of RAM. Both algorithms have low computational
and storage complexity.
Insensitivity to communication errors: wireless
communications are notoriously error prone, and
thus one cannot rely on receiving correctly all
messages. The presented approach works correctly
even if a large percentage of the messages are lost.
The main contribution of the paper is the development
of a simple algorithm which delivers accurate offset
and drift information together with tight, deterministic
bounds on them. This is a highly desirable property
for wireless sensor networks. Assume that two nodes, a
transmitter and a receiver are in sleep mode. To ensure
that the receiver wakes up before the transmitter, the
offset error and the drift error between their clocks have
to be known.
The two algorithms presented in this paper are not lim-
ited to wireless sensor networks. They can synchronize
the nodes on any communication network which allows
bi-directional data transmission. However, the algorithms
provide very good precision (micro-second if crafted
carefully) and bounds on the precision while using very
little resources and thus being especially well suited for
wireless sensor networks.
II. D
ATA COLLECTION ALGORITHMS
In this Section a simple data collection algorithm and
possible enhancements are presented.
A. A simple data collection algorithm
We will use a classical data collection algorithm [4],
[8], [11], [16]. We will however process the data stream
differently. Consider two wireless nodes 1 and 2, with
their hardware clocks t
1
(t) and t
2
(t) respectively, where
t is the Coordinated Universal Time (UTC).
In general the hardware clock of node i is a monoton-
ically non-decreasing function of t. In practice, a quartz
oscillator is used to generate the real time clock. The os-
cillator’s frequency depends on the ambient conditions,
but for relatively extended periods of time (minutes -
hours) can be approximated with good accuracy by an
oscillator with fixed frequency:
t
i
(t)=a
i
t + b
i
, (1)
where a
i
and b
i
are the drift and the offset of node i’s
clock. In general a
i
and b
i
will be different for each
node and approximately constant for an extended period
of time.
From (1) it follows that t
1
and t
2
are linearly related:
t
1
(t)=a
12
t
2
(t)+b
12
(2)
The parameters a
12
and b
12
represent the relative
drift and the relative offset between the two clocks
respectively. If the two clocks are perfectly synchronized,
the relative drift is equal to one and the relative offset is
equal to zero.
Assume that node 1 would like to be able to determine
the relationship between t
1
and t
2
. Node 1 sends a probe
message to node 2. The probe message is timestamped
right before it is sent with t
o
. Upon receipt, node 2
timestamps the probe t
b
and returns it immediately (we
will shortly relax this requirement) to node 1 which
timestamps it upon receipt t
r
. Fig. 1 depicts such an
exchange.
The three time-stamps (t
o
,t
b
,t
r
) form a data-point
which effectively limits the possible values of parameters
a
12
and b
12
in (2). Indeed, since t
o
happened before
t
b
and t
b
happened before t
r
the following inequalities
should hold:
t
o
(t) <a
12
t
b
(t)+b
12
, (3)
t
r
(t) >a
12
t
b
(t)+b
12
. (4)
1267

t
1
t
2
t
o
t
b
t
r
Fig. 1. A probe message from node 1 is immediately returned by
node 2 and timestamped at each send/receive point resulting in the
data-point (t
o
,t
b
,t
r
).
The measurement described above will be repeated
several times and each probe which returns will provide
a new data point and thus new constraints on the admis-
sible values of a
12
and b
12
.
point 2
data
point 3
data
t
b
point 1
data
t
1
t
2
t
r
t
o
b
12
a
12
12
b
12
a
12
12
b
a
1
1
1
Fig. 2. The linear dependence (2) and the constraints imposed on
a
12
and b
12
by three data-points.
The linear dependence between t
1
and t
2
and the
constraints imposed by the data points can be represented
graphically as shown in Fig. 2. Each data-point can
be represented by two constraints in the system of
coordinates given by the local clocks of the two nodes
t
2
and t
1
. One constraint is (t
b
,t
o
) and the other one is
(t
b
,t
r
).
Inequalities (3) and (4) graphically require that the line
representing the relationship (2) is positioned between
the two constraints of each data-point. The exact values
of a
12
and b
12
cannot be exactly determined using this
approach (or any other approach) as long as the message
delays are unknown. But a
12
and b
12
can be bounded:
a
12
a
12
a
12
, (5)
b
12
b
12
b
12
. (6)
Not all combinations of a
12
and b
12
satisfying (5) and
(6) are valid, but all valid combinations satisfy (5) and
(6). The true parameters a
12
and b
12
can be estimated
as:
a
12
= a
12
±
a
12
2
, (7)
b
12
=
b
12
±
b
12
2
, (8)
where
a
12
=
a
12
+ a
12
2
, (9)
a
12
= a
12
a
12
, (10)
b
12
=
b
12
+ b
12
2
, (11)
b
12
= b
12
b
12
. (12)
Once a
12
and b
12
are estimated, node 1 can always
correct the reading of the local clock (using (2)) to have
it match the readings of the clock at node 2.
To decrease the overhead of this data-gathering al-
gorithm the probes can be piggybacked on data mes-
sages. Since most MAC protocols in wireless networks
employ an acknowledgment (ACK) scheme, the probes
can be piggybacked on the data and the responses on
the ACKs. Elaborate schemes with optional headers can
be devised to reduce the length of the header when
probes do not need to be sent. This way, synchronization
can be achieved almost “for free” (i.e. with very little
overhead in terms of communication bandwidth, which is
perhaps the most important constraint in wireless sensor
networks).
B. Relaxing the immediate reply assumption on node 2
In Fig. 1 we assumed that node 2 replies immediately
to node 1. The correctness of the presented approach
is not affected in any way if node 2 does not respond
immediately. Node 2 can delay the reply as long as it
wants, the relations (3) and (4) and thus the rest of the
analysis will still hold.
However, as the delay between t
o
and t
r
increases,
the precision of the estimates will decrease. In practice
node 2 may have to delay the reply due to any number
of reasons (e.g. it has something more important to send,
it cannot access the wireless channel, etc.).
t
1
t
2
t
o
t
br
t
bt
t
r
Fig. 3. A probe message from node 1 may be returned by node 2
and timestamped at both the send and receive points resulting in two
data-points: (t
o
,t
br
,t
r
)and(t
o
,t
bt
,t
r
).
1268

To counteract the possible loss in precision, node 2 can
time-stamp the probe message both upon receipt (t
br
)
and when it resends it (t
bt
) (as depicted in Fig. 3). In
this case each of the triplets (t
o
,t
br
,t
r
) and (t
o
,t
bt
,t
r
)
represent a data point satisfying (3) and (4). Thus we
obtain two data-points using only one probe. They will
be treated as two independent data-points and in this
paper no further distinction will be made between the
two methods of collecting data points.
C. Increasing the accuracy by considering the minimum
delay
If no information about the delays encountered by the
probe messages is available, nothing else can be done to
increase the accuracy. However, if the minimum delay a
probe encounters between the nodes is known, the data-
points can be adjusted for a boost in the precision of the
results.
To determine the minimum delay, one can take into
account the minimum length of such a probe and the time
it takes to transmit such a probe (at the transmission rate
of the sensor node), and eventually other operations that
have to be completed before the probe is sent or upon
receiving such a probe (e.g. encryption/decryption, CRC
calculation, etc.).
Assume that we are able to determine the minimum
delay δ
12
the probe encounters between the moment t
o
is stamped at node 1 and the moment t
b
(t
br
) is stamped
at node 2. Also denote with δ
21
the minimum delay
between the moment t
b
(t
bt
) is stamped and the moment
t
r
is stamped. Then (t
o
+ δ
12
,t
b
,t
r
δ
21
) should be
used as a data-point as this will offer increased accuracy
over the data-point (t
o
,t
b
,t
r
).
If for two probes both minimums δ
12
and δ
21
are
reached the method presented in this paper can achieve
perfect synchronization (i.e. both for the relative offset
and the relative drift: a
12
=∆b
12
=0).
III. T
INY-SYNC AND MINI-SYNC -PROCESSING THE
DATA
After acquiring a few (at least two) data-points, the
offset and the drift can be estimated using inequalities
(3) and (4). An existing solution for finding the optimal
bounds on the drift and offset involves solving two linear
programming problems with twice as many inequalities
as data points [4].
The disadvantage of this approach is that as more and
more data samples are collected, the computational and
storage requirements increase (potentially unbounded).
Also, one should not limit the number of collected
samples to a fixed window as the best drift estimates are
obtained when a large number of samples are available.
The approach in [4] is clearly not suitable for systems
with limited memory and computing resources such as
wireless sensor nodes. In this paper we will pursue
another avenue.
The two proposed algorithms spring from the obser-
vation that not all data-points are useful. In Fig. 2 the
bounds on the position estimates [a
12
, a
12
] and [b
12
, b
12
]
are constrained only by the data points 1 and 3. Therefore
we do not need data point 2, and we can discard it, as
data point 3 produces better estimates than data point 2.
It seems that we should be able to keep only four
constraints (the ones which define the best bounds on the
position estimates) at any time. Upon the arrival of a new
data point the two new constraints are compared with the
existing four constraints and two of the six discarded (i.e.
the four constraints which result in the best estimates are
kept). The comparison operation to decide which four
constraints to keep is very simple computationally (only
8 additions, 4 divisions and 4 comparisons). At any one
time only the information for the best four constraints (8
timestamps = 4 constraints × 2 timestamps/constraint)
needs to be stored. We will name the algorithm described
in this paragraph “tiny-sync”. The four constraints that
are stored at any one time instant may very well belong
to two, three or four different data points.
t
1
t
2
A
4
A
3
A
2
A
1
B
4
B
3
B
2
B
1
Fig. 4. Tiny-sync will miss the optimum solution in this situation, as it
will discard the constraint A
2
upon the receipt of data-point (A
3
B
3
).
Unfortunately while tiny-sync is very efficient it does
not always produce the optimal solution. Consider the
situation depicted in Fig. 4. For clarity we labeled each
constraint individually. After the first two data-points
(A
1
-B
1
) and (A
2
-B
2
) are received, the first estimates
for the drift and offset may be computed. After the third
data-point (A
3
-B
3
) is received the estimates improve, so
the constraints A
1
,B
1
,A
3
and B
3
are stored, while A
2
and B
2
are discarded. The next data point (A
4
-B
4
) could
have used constraint A
2
to construct a better estimate.
Unfortunately A
2
was already discarded at this point,
1269

and thus a less than ideal estimate for b
12
will now be
imposed by A
1
and A
4
. Thus tiny-sync while producing
correct results, might miss the optimum result. We will
compare the performance of tiny-sync with the optimal
solution in the experimental Section V.
In Fig. 4 the constraint A
2
was discarded by tiny-sync
because it was not immediately useful, but rather only
potentially useful in the future. This does not mean that
all the constraints are potentially useful. In fact, only the
constraints A
j
(e.g. A
2
) that satisfy the condition
m(A
i
,A
j
) >m(A
j
,A
k
) (13)
for some integers 1 i<j<kare potentially useful
in the future (by m(X, Y ) we denote the slope of the
line going through the points X and Y ).
Theorem 1 Any constraint A
j
(e.g. A
3
) which satisfies
m(A
i
,A
j
) m(A
j
,A
k
) (14)
for any integers 1 i<j<kcan be safely discarded
as it will never be useful.
The proof is presented in the Appendix. Similar con-
ditions for discarding upper-bound constraints (B
i
)exist.
The resulting algorithm (called “mini-sync”) upon
the receipt of a new data point will check if the new
constraints can eliminate any of the old constraints. Po-
tentially many old constraints can be eliminated with one
new data-point. Since we only eliminate the constraints
(conditions) that are irrelevant we still obtain the optimal
solution with only a few points (solving the set of all
inequalities is shown to result in the optimal solution
[4]).
Storing only four points like in tiny-sync does not
produce the optimal solution. How many points do we
actually need to store to produce the optimal solution?
Theoretically a potentially large number. If the delay
between node 1 and node 2 is monotonically increasing,
(13) can hold for all the constraints A
j
. In practice, the
delays do not increase monotonically forever. Therefore,
only a few constraints need to be stored to obtain the
optimal result. In practice, our experiments showed that
no more than 40 points have to be stored at any one
time which is quite reasonable even for wireless sensor
nodes.
IV. S
YNCHRONIZING AN ENTIRE NETWORK
In the previous Sections we presented two algorithms
to synchronize two wireless sensor nodes. In this Section
we will explore the possibility to extend the synchroniza-
tion from two nodes to any number of nodes.
Consider the situation depicted in Fig. 5. Node s
synchronizes with node u and node u synchronizes with
node v. Therefore node s is able to determine the bounds
a
su
a
su
a
su
, (15)
b
su
b
su
b
su
, (16)
suv
Fig. 5. Synchronization transitivity: if s is synchronized with u and
u is synchronized with v, then s is synchronized with v.
and node u is able to determine the bounds
a
uv
a
uv
a
uv
, (17)
b
uv
b
uv
b
uv
. (18)
If node u sends its bounds, a
uv
, a
uv
, b
uv
and b
uv
to
node s, then s can compute the bounds
a
sv
a
sv
a
sv
, (19)
b
sv
b
sv
b
sv
, (20)
where
a
sv
= a
su
a
uv
, (21)
a
sv
= a
su
a
uv
, (22)
b
sv
= min
a
su
b
uv
+ b
su
, a
su
b
uv
+ b
su
, (23)
b
sv
= max
a
su
b
uv
+ b
su
,a
su
b
uv
+ b
su
. (24)
This approach effectively synchronizes nodes s and v
without exchanging any messages between them.
A wireless sensor network is logically organized as
a hierarchy (see Fig. 6) with sensor nodes in the lowest
layer, one (or more) root node(s) (also called sink(s)) and
possibly several layers of intermediate nodes. The sensor
nodes send the data at the intermediate node where the
data is fused and further sent to the upper layers.
layer 1 (root node)
layer 2 (intermediate nodes)
layer n (sensor nodes)
layer n−1 (intermediate nodes)
.
.
.
Fig. 6. Hierarchical wireless sensor network.
Since data is fused at the intermediate nodes, there
is no point in synchronizing the entire network to one
unique clock (e.g. the clock of the root node). Indeed,
all the sensors reporting to the same intermediate node
should synchronize with the fusion point and use the
synchronized time to time-stamp all the data they send
(eventually the lower and upper bounds on t
2
0
and t
2
0
are sent as time-stamps if so required by the application).
In turn, the nodes in the intermediate layer i should
synchronize to the nodes in layer i 1, and so on.
Synchronizing the nodes in layer i to the nodes in
layer i 1 for all i =2,...,n is not equivalent with
1270

Citations
More filters
Journal ArticleDOI

Clock synchronization for wireless sensor networks: a survey

TL;DR: In this paper, a survey and evaluation of clock synchronization protocols based on a palette of factors such as precision, accuracy, cost, and complexity is presented, which can help developers either in choosing an existing synchronization protocol or in defining a new protocol that is best suited to the specific needs of a sensor network application.
Journal ArticleDOI

Time synchronization in sensor networks: a survey

TL;DR: The time synchronization problem and the need for synchronization in sensor networks is reviewed, then the basic synchronization methods explicitly designed and proposed for sensor networks are presented.
Journal ArticleDOI

Clock Synchronization of Wireless Sensor Networks

TL;DR: This article illustrates that many of the proposed clock synchronization protocols can be interpreted and their performance assessed using common statistical signal processing methods, and shows that advanced signal processing techniques enable the derivation of optimal clock synchronization algorithms under challenging scenarios.
Proceedings ArticleDOI

Lightweight time synchronization for sensor networks

TL;DR: It is shown that the communication complexity and accuracy of multi-hop synchronization is a function of the construction and depth of the spanning tree; several spanning-tree construction algorithms are described.
Journal ArticleDOI

Security in wireless sensor networks

TL;DR: The state of the art in research on sensor network security is surveyed, due to the limited capabilities of sensor nodes in terms of computation, communication, memory/storage, and energy supply.
References
More filters
Book ChapterDOI

Time, clocks, and the ordering of events in a distributed system

TL;DR: In this paper, the concept of one event happening before another in a distributed system is examined, and a distributed algorithm is given for synchronizing a system of logical clocks which can be used to totally order the events.
Journal ArticleDOI

Fine-grained network time synchronization using reference broadcasts

TL;DR: Reference Broadcast Synchronization (RBS) as discussed by the authors is a scheme in which nodes send reference beacons to their neighbors using physical-layer broadcasts, and receivers use their arrival time as a point of reference for comparing their clocks.
Journal ArticleDOI

Internet time synchronization: the network time protocol

TL;DR: The NTP synchronization system is described, along with performance data which show that timekeeping accuracy throughout most portions of the Internet can be ordinarily maintained to within a few milliseconds, even in cases of failure or disruption of clocks, time servers, or networks.
Book

Global Positioning System: Theory and Practice

TL;DR: In this paper, the origins of GPS are discussed and the development of global surveying techniques are discussed. But the authors focus on the use of global positioning techniques and do not address the issues of accuracy and access of GPS data.
Journal Article

Time synchronization in wireless sensor networks

TL;DR: In this article, a service model for time synchronization is proposed to better support the broad range of application requirements seen in sensor networks, while meeting the unique resource constraints found in such systems.
Frequently Asked Questions (15)
Q1. What have the authors contributed in "Simple, accurate time synchronization for wireless sensor networks" ?

A method to synchronize the entire network in preparation for data fusion is presented. 

A method to extend the synchronization to the entire sensor network, as needed for data fusion is also presented. 

For both experiments a message probe was sent once a second for about 83 minutes thus resulting in almost 5000 data-point samples for each experiment. 

Since data is fused at the intermediate nodes, there is no point in synchronizing the entire network to one unique clock (e.g. the clock of the root node). 

In the one hop case the authors were able, in a little over an hour, to bound the offset by ±945µs and the drift by ±2.7 10−7 corresponding to a drift of 23.3 ms in a day. 

The disadvantage of this approach is that as more and more data samples are collected, the computational and storage requirements increase (potentially unbounded). 

if the minimum delay a probe encounters between the nodes is known, the datapoints can be adjusted for a boost in the precision of the results. 

C. Increasing the accuracy by considering the minimum delayIf no information about the delays encountered by the probe messages is available, nothing else can be done to increase the accuracy. 

While the algorithm is suitable for any type of network, it is especially useful in wireless sensor networks which are typically extremely constrained on the available computational power and bandwidth and have some of the most exotic needs for high precision synchronization. 

For the five hop case, neglecting the processing in each intermediate node, the authors consider the minimum one way delay equal to five minimum transmission times. 

The authors used 256 bytes UDP packets in both directions (to mimic the piggybacking of the time-stampsLo wer and upp erb ound on aLo wer and upp erb ound on bon sensed data and control information) and the authors used the CSMA/CA high rate (11 Mbps) mode of 802.11b. 

The resulting algorithm (called “mini-sync”) upon the receipt of a new data point will check if the new constraints can eliminate any of the old constraints. 

Theorem 1 Any constraint Aj (e.g. A3) which satisfiesm(Ai, Aj) ≤ m(Aj , Ak) (14)for any integers 1 ≤ i < j < k can be safely discarded as it will never be useful. 

At any one time only the information for the best four constraints (8 timestamps = 4 constraints × 2 timestamps/constraint) needs to be stored. 

In practice node 2 may have to delay the reply due to any number of reasons (e.g. it has something more important to send, it cannot access the wireless channel, etc.).