problem in the context of underwater sensor networks (UWSNs). Although ..... At this stage, due to lack of information, half of the round trip time is employed to ...
1
Mobi-Sync: Efficient Time Synchronization for Mobile Underwater Sensor Networks Jun Liu, Zhong Zhou, Zheng Peng and Jun-Hong Cui {jul08003, zhz05002, zhp05001, jcui}@engr.uconn.edu
UCONN CSE Technical Report: UbiNet-TR10-01 Last Update: March 2010 Computer Science & Engineering Department, University of Connecticut, Storrs, CT 06269, USA
Abstract Time synchronization is a critical service for distributed network systems. In this work, we investigate this problem in the context of underwater sensor networks (UWSNs). Although there are many time synchronization protocols proposed for terrestrial wireless sensor networks, none of them could be directly applied to UWSNs. This is because most of these protocols do not consider long propagation delays and sensor node mobility, which are important characteristics in UWSNs. Further, UWSNs usually have very high requirements in network lifetime and synchronization accuracy. To satisfy these needs, innovative time synchronization solutions are demanded. In this paper, we propose a novel time synchronization scheme, called “Mobi-Sync”, for mobile underwater acoustic sensor networks. Mobi-Sync novelly utilizes the spatial correlation of underwater mobile sensor nodes to estimate the long dynamic propagation delays. Simulation results show that Mobi-Sync outperforms existing schemes in both accuracy and energy efficiency.
I. I NTRODUCTION In past several years, underwater sensor networks (UWSNs) have drawn considerable attentions from both academy and industry [1], [6], [10], [16]. On the one hand, UWSNs facilitate or enable a wide range of aquatic applications, including coastal surveillance, environmental monitoring, undersea exploration, disaster prevention, mine reconnaissance and so on. On the other hand, due to the high attenuation of radio in water, UWSNs have to mainly reply on acoustic communication. The unique characteristics of underwater acoustic communications and networking, such as low communication bandwidth, long propagation delays, high error probability, and sensor node (passive or proactive) mobility (in mobile networks) pose grand challenges to almost every layer of network protocol stack [1], [6], [10], [16]. In this paper, we tackle the time synchronization problem, which is very critical to many UWSN design issues. In fact, most UWSNs applications either benefit from or require time synchronization services. For instance, data collected by underwater sensor nodes need global time stamps to make data fusion and processing meaningful. TDMA, one of the commonly used medium access control (MAC) protocols, often requires good synchronization
2
among nodes. Further, time synchronization is indispensable in most of the localization algorithms, both for underwater sensor networks [12], [23], [24] and terrestrial sensor networks [3], [9], [11], [13], [22]. In the literature, a large number of time synchronization protocols have been proposed for terrestrial wireless sensor networks [7], [8], [14], [17]–[19]. Most of them claim to be able to achieve high accuracy with reasonable energy expenditure. However, these algorithms can not be directly applied to UWSNs. This is because most of these approaches assume negligible propagation delays among sensor nodes, which is not the case in UWSNs however. UWSNs often feature long propagation delays due to the low propagation speed of acoustic signals (about 1500 m/sec in water). In addition, for mobile UWSNs, propagation delays between nodes are changing because of sensor node mobility. Further, acoustic transmission are very power hungry, which requires high energy efficiency. All of these features in UWSNs bring new challenges for time synchronization algorithms. Recently some time synchronization algorithms, such as TSHL [20] and MU-Sync [5], have been proposed for UWSNs. In these algorithms, the issue of long propagation delays is often well addressed. However, they often ignore one issue or another. For example, TSHL assumes that nodes are fixed, which makes it not suitable for mobile networks. While MU-Sync is designed for mobile underwater networks, it is not very energy efficient. In this paper, we propose a novel time synchronization scheme, called “Mobi-Sync”, which is specifically designed for mobile UWSNs, with high energy efficiency as one major goal. Mobi-Sync does not suffer from mobility. Instead it novelly utilizes the spatial correlation of mobile sensor nodes to estimate the long dynamic propagation delays among nodes. In Mobi-Sync, the time synchronization procedure consists of three phases: Phase I, delay estimation; Phase II, linear regression; and Phase III, calibration. In phase I, the spatial correlation of mobile sensor nodes is effectively employed to help the estimation of the propagation delays. In phase II, based on the MAC layer time stamps and corresponding propagation delays, sensor nodes perform the first linear regression to get the draft clock skews and offsets. And some draft results are applied as input parameters for Phase III, “calibration”, which is designed to further improve the synchronization accuracy. During calibration, by updating certain initial parameters and re-performing delay calculation and linear regression, the final clock skews and offsets are obtained. We conduct extensive simulations. And our results show that Mobi-Sync outperforms existing schemes in both accuracy and energy efficiency. The rest of this paper is organized as follows. We first review some background knowledge and related work in Section II. Then we describe Mobi-Sync in detail in Section III. Following that, we conduct error analysis for the delay estimation in Section IV and present simulation results in Section V. Finally, we offer our conclusion and future work in Section VI.
3
Fig. 1.
Underwater sensor network architecture
II. BACKGROUND AND R ELATED W ORK A. Network Architecture In this paper, we consider a hierarchical underwater sensor network architecture [23], as shown in Fig. 1. The network consists of three types of nodes: •
Surface Buoys. Surface buoys are equipped with GPS to obtain global time references and perform localization. They serve as the “satellite” nodes in underwater environment.
•
Super Nodes. Super nodes are powerful sensor nodes, working as reference clocks, as they always maintain well synchronized with surface buoys. Moreover, super nodes can perform moving speed estimation as they can directly communicate with the surface buoys to get real time location and global time information.
•
Ordinary Nodes. Ordinary nodes are the majority sensor nodes aiming to get synchronized. They are inexpensive and have low complexity. They cannot directly contact with surface buoys. They can only communicate with their neighboring ordinary nodes or super nodes. The lifetime of ordinary node is restricted by its limited battery supply.
B. Velocity Estimation Research in hydrodynamics shows that in certain underwater environment the movement of underwater objects exerts specific characteristics related to the surrounding environment factors like water current, pressure and water temperature [2], [15]. And generally speaking, there is no any unified mobility model that can be applied for all underwater environments. However, some mobility models that have been devised show us that the movement of underwater objects is not in a totally random fashion. Temporal and spatial correlation is always inherent in such movement. Fortunately, this characteristic has very positive impact on Mobi-Sync as it can be used for an ordinary node to calculate its own moving velocity. In the network, each underwater node mobility behavior during specific time period can be represented with a
4
speed vector [23], V = [v(1), v(2), . . . v(i), . . . , v(k)]. Where v(i) is the average speed corresponding to a certain short time period. For each ordinary node, it cannot communicate with surface buoys as a super node does. However, by taking advantage of sensor nodes spatial correlation characteristic, its moving velocity can be estimated as follows. Assuming an ordinary node j aims to compute its velocity [vx (j), vy (j)], where vx (j)/vy (j) denotes the current speed of node j in the x/y axis. If node j can obtain the velocities of its neighboring super nodes, its own velocity can be calculated as followings [2], [15]1 .
m X ζij vx (i) v (j) = x i=1
m X v (j) = ζij vy (i) y
,
(1)
i=1
where m is the number of neighbors, and the interpolation coefficient ζij is calculated as ζij =
1 rij Pm 1 i=1 rij
,
(2)
where rij denotes the Euclidean distance between node i and node j . Consequently, in order to apply the existing theory, it is necessary to know the distance between the ordinary node and the neighboring super node. C. Related Work Although there are significantly growing interests in UWSNs in the past several years, the research on underwater time synchronization is relatively limited. In this subsection, we briefly go over two closely related underwater time synchronization algorithms: TSHL and MU-Sync. TSHL [20] is designed for high latency networks, which can manage long propagation delays and remain energy efficient. TSHL combines one-way and two-ways MAC-layer message delivery. One-way communication is used to estimate the clock skew and two-ways is to compute clock offset. TSHL works well for static underwater sensor network, but it can not handle mobility issue as it assumes constant propagation delays among sensor nodes. Particularly, when nodes move fast, TSHL performs even worse than no time synchronization as described in [5]. MU-Sync [5] is proposed to synchronize nodes in a cluster based UWSN. In MU-Sync, the cluster head is responsible for launching time synchronization process, determining the number of reference messages, calculating clock skew and offset for every ordinary node and broadcasting the calculated results to all nodes within this cluster. MU-Sync runs two times of linear regression. The first run allows cluster head to estimate the draft skew by totally ignoring the variance of propagation delays. And the second run is used to correct the estimated skew and calculate the offset. Although MU-Sync aims to solve mobility issue in UWSNs, it requires relative high message overhead. 1
In this paper, we assume that objects keep constant in z (depth) axis, and the mobility pattern of objects is only related to the (x, y) axis.
Thus, objects with the same (x, y) but different z move with the same mobility pattern. This is a common assumption in hydrodynamics [2], [15]
5
Furthermore, MU-Sync applies half of the round trip time to compute one way propagation delay which causes extra errors, especially for fast moving situation or when regular nodes response to cluster head after experiencing a long time duration. III. D ESCRIPTION OF M OBI -S YNC A. Overview of Mobi-Sync Doing time synchronization for pairs of clocks, most of algorithms rely on estimating the clock offset and skew, which presents the relation between the time measured by two different clocks. Mobi-Sync also yields to this pairwise synchronization approach. We define the notation fr (T) as the ordinary node corrected time and fa (T) as the super node corrected time. Since ordinary nodes are clocks aiming to get synchronized and super nodes play as the reference clock, we get:
T−b fr (T) = a , f (T) = T
(3)
a
where T strands for the measured time, a is the relative clock skew and b is the offset. Overall, time synchronization procedure in Mobi-Sync consists of three phases, namely, propagation delay estimation, linear regression and calibration. In phase I, with three steps, i.e. message exchange, delay calculation and multiple requests, propagation delays are estimated by taking advantage of spatial correlation characteristic and some geometric knowledge. During message exchange, an ordinary node launches time synchronization by broadcasting request message to its neighbor super nodes. Upon receiving the request message, each neighbor super node schedules two response messages containing MAC layer time stamp and their recorded moving velocity vectors. Next, in delay calculation, the ordinary node self-computes its moving speed vectors by utilizing spatial correlation characteristic of sensor nodes. And the relative movement relationship between each neighbor super node and this ordinary node is modeled with two triangles. Then with a reasonable assumption, propagation delays can be estimated through calculating the edges of the two triangles. Thereby, by performing elementary geometric computation, propagation delays can be estimated. In succession, the ordinary node keeps broadcasting request messages until it obtains enough data points for linear regression. In phase II, the ordinary node executes the first linear regression over a set of time stamps and corresponding propagation delays to estimate the draft clock skew and offset. And to reduce the impact of the assumption in phase I, an advanced Weighted Least Square Estimation (WLSE) is adopted in the regression. During phase III, to further improve the synchronization accuracy, the ordinary node updates certain initial parameters, i.e. initial skew and initial distance, with calculated results and re-performs delay calculation and linear regression. After that, the final estimated clock skew and offset are obtained.
6
Super node “A”
Super node “C” SR RS1 Ordinary node RS2
Super node “B”
Fig. 2.
Message exchange among nodes
B. Phase I: Propagation Delay Estimation The process of propagation delay estimation consists of three steps, message exchange, delay calculation and multiple requests. And several fixed pre-defined functional time intervals contribute to propagation delay estimation. Among these parameters, response time tr consists of tr1 and tr2 , the first and the second response time, and tr1 is considerably short comparing with tr2 . ti is a short period of time for super nodes to record a new sub-speed vector v(i). More discussion about these parameters is presented in section IV.E.
1) Message Exchange: As the synchronization procedure starts, an ordinary node initializes the synchronization process by broadcasting the synchronization request message SR to its neighbor super nodes. SR contains the sending time-stamp T1 obtained at the MAC layer, right before it departs from the ordinary node. Super nodes mark their local time as T2 upon receiving SR. Simultaneously, they start to record their moving velocity with the frequency of 1/ti . Next, after suspending for a fixed time interval tr1 , each super node sends back the first response message RS1 with a MAC layer sending time-stamp T3 .2 RS1 informs ordinary node about T2 and T3 . Then after another
time period tr2 , super nodes send back the second response message RS2 . RS2 informs the ordinary node about the speed vector super node has recorded from time T2 to T5 and MAC layer time-stamp T5 . On the other side, after launching the synchronization process, the ordinary node listens for RS1 and RS2 , and recording the corresponding receiving time T4 and T6 for each super node. As an example , Fig. 2 demonstrates the message exchange among sensor nodes where three super nodes are involved to assist the time synchronization. Fig. 3 shows one run of the message exchange between each pair. 2) Delay Calculation: At the beginning of each run, the ordinary node calculates the initial distance r to a super node upon receiving RS1 message from it. At this stage, due to lack of information, half of the round trip time is employed to compute one way propagation latency between each pair. Certainly, with this scheme, some errors are introduced. However, since the pre-defined tr1 is very short, the errors are supposed to be acceptable at this time. Later on, in calibration phase, the negative impact of these errors can be further attenuated. 2
Note that, in Mobi-Sync, since the distances from neighbor super node to each ordinary node have very high probability to be different,
and the packet size of the exchanged message is strictly confined, the collision of response messages from super nodes can be ignored
7
Ordinary node
T1
Super node “A”
T2
SR
tr1
T3
Time
T4
RS1 tr2
T5 RS2 T6
Fig. 3.
One run message exchange
Considering the two round trips T1 → T2 → T3 → T4 and T1 → T2 → T5 → T6 in Fig. 3, we obtain: d1 fr (T1 ) + V = fa (T2 ) p , d 2 fa (T3 ) + = fr (T4 ) Vp and
d1 fr (T1 ) + V = fa (T2 ) p , d3 fa (T5 ) + = fr (T6 ) Vp
(4)
(5)
where Vp represents the propagation speed of acoustic wave in underwater environment, which is assumed to be constant during one time synchronization period. Let h1 stand for round trip distance of T1 → T2 → T3 → T4 , and h2 for T1 → T2 → T5 → T6 . Combining with (3), we gather:
T − T1 h1 = d1 + d2 = (T2 − T3 + 4 ) × VP a (6) h2 = d1 + d3 = (T2 − T5 + T6 − T1 ) × VP a Considering (6), to calculate h1 and h2 , besides the measured time stamps, a skew is also needed. Nevertheless,
skew is the final goal which is unknown at this stage. In Mobi-Sync, the skew is assigned with an initial value “1”, named as initial skew. By doing so, h1 and h2 are calculated and taken as constants to assist rest computations. Note that, initial skew introduces extra errors to the initial distance estimation. Fortunately, these errors can be calibrated in the correction phase. By knowing h1 , the initial distance r can be calculated as: r = h1 /2 =
(T2 − T3 +
T4 −T1 a )
2
× VP
(7)
As described above, super nodes start to record their speeds upon receiving SR. After every ti , super nodes record a sub-speed vector v(i). These speed vectors are delivered to the ordinary node in RS2 message. Since the original distance “r” to each neighbor super node is known, after the ordinary node receives all RS2 messages containing
8
E = ğT T T 2 5 3
T5
T = ğT1T5T2
T
E
L2
d3 T3 d2 T6 T1
Fig. 4.
Super node A
d1
Ordinary node
L1
T2
T4
Relative motion T5
D = ğT1T2T5 T = ğT1T5T2
T
L2
d3 T3 d2 T6 T1
T4 d1
T2 D Super node A
L1
Ordinary node
Fig. 5.
Relative motion after assumption
speed vectors, it can compute its own initial speed vector according to (1). After getting aware of its initial speed and its neighbor super nodes’ speeds, the ordinary node figures out its moving speed relative to each super node within the first ti . By knowing this, the ordinary node can work out the distance to each super node after the first ti , and it can get the initial distance for next ti . With this process goes on, the ordinary node keeps calculating its sub-speed vector with (1). As a result, the ordinary node works out its entire speed vector during the message exchange period. By knowing its own moving speed vector, the ordinary node gets aware of how each neighbor super node moves relatively to it. Next, for each neighbor super node, the ordinary node demonstrates its relative motion relationship with two triangles, namely, 4T1 T2 T3 and 4T1 T2 T5 as is shown in Fig. 43 In Fig. 4, L1 denotes the straight-line distance super node “A” moves relative to the ordinary node during tr1 , and L2 denotes the straight-line distance super node “A” moves relative to the ordinary node during tr . Since tr1 is much shorter than tr2 , L1 suppose to be much shorter than L2 . Under this assumption, β could be very narrow. And we assume β = 0 as shown in Fig. 5. With this assumption, in 4T1 T2 T3 and 4T1 T2 T5 , the ordinary node affords calculating d1 , d2 and d3 . Following steps present the details of the calculation process. 3
(Fig. 4 and Fig. 5 are picked as a general instance to stand for relative motion between the an ordinary node and a super node “A”)
9
Defining m and n as:
T3 − T2 m = ti , T − T2 5 n = ti
(8)
where L~1 and L~2 can be calculated with following (9) and (10), where Vx /Vy stands for its relative speed in x/y axis, and ~i/~j is unit vector at x/y axis.
m X L1x = vx (j)ti j=1 m X L1y = vy (j)ti j=1 L~ = L ~i + L ~j 1 1x 1y n X L2x = vx (j)ti j=1 n X L2y = vy (j)ti j=1 L~ = L ~i + L ~j 2 2x 2y
(9)
(10)
Let L1 = |L~1 | and L2 = |L~2 |. In Fig. 5, by assuming β = 0 and employing Cosine theorem, we can gather cos α in 4T1 T2 T3 : cos α =
h1 2 − 2h1 d1 − L1 2 2d1 L1
(11)
cos α =
h2 2 − 2h2 d1 − L2 2 2d1 L2
(12)
Similarly, in 4T1 T2 T5 :
Combining (6) (11) (12), the distances are estimated as: L1 (h2 2 − L2 2 ) + L2 (L1 2 − h1 2 ) d = f ( L , L , h , h ) = 1 d 1 2 1 2 2(L1 h2 − L2 h1 ) d2 = h1 − fd (L1 , L2 , h1 , h2 ) d = h − f (L , L , h , h ) 3 2 d 1 2 1 2
The corresponding propagation delays are: dp1 = fd (L1 , L2 , h1 , h2 )/Vp dp2 = h1 /Vp − fd (L1 , L2 , h1 , h2 )/Vp d = h /V − f (L , L , h , h )/V p3 2 p p d 1 2 1 2
(13)
(14)
3) Multiple Requests: Next step, the ordinary node asks for multiple runs of synchronization process based on its accuracy requirement. For each time, the ordinary node and super nodes follow the same routine to calculate propagation delays. By doing so, the ordinary node can collect a set of time stamps consisting of T3 , T4 , T5 and T6 for each neighbor super node and corresponding propagation delays for each exchanged message. After this, it gets ready for the linear regression.
Reference time t (T 4, T6)
10
Outliers
b Local time T (T3+dp2, T5+dp3)
Fig. 6.
Linear regression
C. Phase II: Linear Regression During phase II, the ordinary node performs linear regression to estimate the draft clock skew and offset. For N messages Mi , the linear regression is executed over the following data points: (T3,i + dp2 ,i , T4,i ) or (T5,i + dp3 ,i , T6,i )
(15)
With linear regression, the skew a and the offset b can be computed as shown in Fig. 6. Generally, there are several ways to do linear regression. Ordinary Least Square Estimation (OLSE) is the most popular one. It basically makes each sample point have the same opportunity to affect the estimating “a”. However, Mobi-Sync is based on an assumption that L2 is much longer than L1 , which cannot be guaranteed under different mobility patterns. So in Fig. 6, it is possible that in some bad cases sample points are far away from what they are expected. In order to reduce the impacts from those outliers, instead of OLSE, an advanced Weighted Least Square Estimation (WLSE) specific for Mobi-Sync is proposed and adopted. Traditional WLSE is an approach for correcting the problem of heteroskedasticity by log-likelihood estimation of a weight that adjusts errors of prediction. It performs better than OLSE because it introduces an extra functional coefficient “weight” to module the importance of each sample data. Following equations presents basic steps of WLSE. Above all, “sum of squared deviations” is: σ(b, a) =
m X
¡ ¢2 ωi Ti − b − afd (ti ) ,
(16)
i=1
where Ti stands for T4,i or T6,i , fd (ti ) represents T3,i + Pd2,i or T5,i + Pd3,i . For linear regression, WLSE will find the right values of a ˆ and ˆb minimizing σ(b, a): σ(ˆb, a ˆ) =
m X
¡ ¢2 ˆ−a ˆfd (ti ) ωi Ti − b
i=1
= min
m X i=1
¡ ¢2 ωi Ti − b − afd (ti ) ,
(17)
11
E = ğT2T5T3 T = ğT1T5T2 J = ğT2T3T5
T5 T E
L2
d3
T6 T1
Fig. 7.
T4
Ordinary node
d2 d1
T3
J T2
L1
Super node A
Weight definition
where σ(ˆb, a ˆ) stands for the “errors” to be minimized. This is achieved by using standard techniques from calculus, namely the property that a quadratic formula reaches its minimum value when its derivatives vanish. Taking the derivative of σ(ˆb, a ˆ) with respect to a and b and setting them to zero gives the following set of equations: m X ¡ ¢ ∂σ ˆ−a ˆfd (ti ) = 0 | = −2 ωi Ti − b ˆb b= ∂b i=1
m X ¡ ¢ ∂σ ˆ−a ˆfd (ti ) fd (ti ) = 0 | = −2 ωi Ti − b ∂a a=ˆa
(18)
i=1
Solving (18) gives the least square estimates of a and b as: bˆω = Tω − aˆω fd (tω ) m ¡ ¢ P ωi fd (ti ) − fd (tω ) (Ti − Tω ) , aˆω = i=1 m ¡ ¢2 P ωi fd (ti ) − fd (tω )
(19)
i=1
where Tω denoting the weighted means of Ti , and fd (tω ) standing for weighted means of fd (ti ): m 1 X T =P ωi Ti ω ωi i=1
m 1 X P ωi fd (ti ) fd (tω ) = ωi
(20)
i=1
Considering all the possible errors involved in Mobi-Sync, the most critical and inherent error comes from our assumption β = 0 as shown in Fig. 4. It only holds when L2 is much longer than L1 . However, in practice, L2 may not be always much longer than L1 . If it is not the case, the maximal error derived from this assumption should come from the case with the biggest β . Assuming the length of L1 is fixed as the radius of the circle in Fig. 7. At time T3 , the super node might be at any point on the circle. However, among all points, to make β to be maximal, −−→ −−→ T2 T3 should be perpendicular to T5 T3 (γ = π/2). Under this situation, sin β = L2 /L1 where β is the maximum, and for other cases, sin β < L2 /L1 . Considering F(x) = sin(x) is a monotonic increasing function within [0, π/2], F(x) can be taken as an indicator of the errors caused by this assumption.
12
Moreover, the reason we employ WLSE is to modulate the importance of each sample data with the parameter “weight”. Combing errors indicator and the characteristic of the sample data in Mobi-Sync, we define “weight” as: ωi = 1/F(β[i]) = L2 [i]/L1 [i],
(21)
where “i” stands for the index of the runs. With WLSE, we increase the power of the sample data which satisfies the assumption and reduce the impact of the outliers, the accuracy of estimated skew and offset can be improved. D. Phase III: Calibration In phase III, the ordinary node carries out calibration process which intends to loose assumptions in phase I. At that stage, because initial distance r which is equal to d1 is unknown, we employ half of round trip time to calculate one way propagation delay. This means that applying (d1 + d2 )/2 to represent d1 . And d1 , the ordinary node calculates its initial speed. However, due to nodes mobility, although tr1 is supposed to be very short, and nodes might not move far away during this short period, d1 is still different from d2 . And now, since d1 and d2 are estimated, we can update the initial distance “r” with d1 and re-calculate the initial speed. In addition, during phase I, when calculating the round trip time, we assign the skew an initial value “1”. And since the first estimated skew is obtained, we can update the initial skew and re-calculate the round trip time. By doing so, without any extra messages, the skew and offset can be further calibrated [5]. Details are presented as following two steps: •
Step 1. For one run, the ordinary node first updates the initial distance. Then with the same speed vectors gathered from super nodes, the ordinary node re-calculates its own speed vector. Next, with new estimated speed vector and the same routine in phase I, the ordinary node rebuilds the relative motion relationship with each super node to get updated triangles. Then with the same way in phase I, the ordinary node gets updated L1 and L2 . Meanwhile, via updating initial skew, the ordinary node obtains updated round trip distance h1 and h2 . With all the updated parameters, the ordinary node re-calculate propagation delay for each exchanged message.
•
Step 2. By keep performing step1 for each run, the ordinary node obtains a set of updated propagation delays for exchanged messages. Then with the same time stamps gathered in phase I and the updated propagation delays, the ordinary node re-runs linear regression with WLSE to gain the final skew and offset.
After calibration, the whole time synchronization procedure is done. E. Discussions This sub-section is intended to investigate and qualitatively analyze the influence of the key parameters in MobiSync. Regarding the first response time tr1 , absolutely, the shorter, the better. As shorter this time interval, less distance super nodes move in T1 → T2 → T3 → T4 , so that half of round trip time from T1 to T4 is closer to one way trip time from T1 to T2 , and so the estimated initial distances as well as speed vectors are more precise. However, the
13
length of tr1 is restricted by the hardware constraint like sending-receiving mode transition delay, and MAC layer issues like collisions. Thus, it has a lower bound which can not be zero. ti is designed to control the frequency for super nodes to record the speed. So it is actually in charge of the
accuracy of the estimated speed vector. Obviously, shorter the ti , more often super nodes record their speed, and more precise the calculated ordinary node speed vectors. However, ti also affects the size of the speed vector. As tr is fixed, shorter the ti , bigger the size of the speed vector. As for the second respond time tr2 , we expect super nodes to move far away from their original position during this period. As it makes our assumption (β = 0) more reasonable and so makes our algorithm more practical. But is it always true that longer the tr2 , longer the L2 ? The answer is no, as sensor nodes may move with a very complicated mobility pattern and they may change their moving directions at any time complying with the mobility pattern. So what value the tr2 should be to produce a long L2 closely relates to the mobility pattern. In addition, if tr2 is too long, the size of the speed vector must be very big. That will definitely make the package size of the RS2 to be very big. However, in Mobi-Sync, sending or receiving a big packet is always what should be avoided, because it bogs down this algorithm. In addition , big packet increases collision probability and energy consumptions. Therefore, tr2 must guarantee a long L2 and be within a reasonable value range. In our simulations, Fig. 9 presents under certain mobility pattern and fixed tr1 and ti , with the limit of the packet size as well as the length of tr2 , in the available value range, 0.6ms is the optimal value of tr2 . tr consists of tr1 and tr2 , and it collaborates with ti to manage the size of the speed vectors as well as the size
of RS2 message. So given ti , the length of tr must be in reasonable range to guarantee acceptable size of the speed vectors. IV. E RROR A NALYSIS OF D ELAY E STIMATION In this sub-section, we aim to analyze the influence of possible errors on the propagation delay estimation. To do this, it is crucial to understand that all measurements of physical quantities are subject to uncertainties. Considering d1 = fd (L1 , L2 , h1 , h2 ), each of the quantities has errors associated with it. We define ∆L1 , ∆L2 , ∆h1 and ∆h2 as
average errors introduced by measuring L1 , L2 , h1 and h2 , and these errors are somehow carried to the propagation delay dp1 . Among these errors, ∆L1 and ∆L2 derive from errors of the relative velocity, defined as ∆Vx and ∆Vy , because of the inaccurate measurement of the distance and super nodes’ inaccurate recorded speed vectors. For h1 and h2 , they cause from the inappropriate initial skew. First, let’s see how ∆Vx and ∆Vy affect ∆L1 and ∆L2 . By considering (1) and the theory of errors propagation
14
[4], [21], we gather:
m X ∆ L = |ti ∆Vx [j]| 1x j=1
m X ∆L1y = |ti ∆Vy [j]|
(22)
j=1
As we intend to analyze the influence of average error, we assume ∆Vx [1] = · · · = ∆Vx [j] · · · = ∆Vx [m] = ∆Vx and ∆Vy [1] = · · · = ∆Vy [j] · · · = ∆Vy [m] = ∆Vy , then we get: q √ ∆L1x = mti 2 ∆Vx 2 = mti ∆Vx , q ∆L1y = mti 2 ∆Vy 2 = √mti ∆Vy where m and n defined as in (8). Since the same thing happens to ∆L2 , we get: q √ ∆L2x = nti 2 ∆Vx 2 = nti ∆Vx . q ∆L2y = nti 2 ∆Vy 2 = √nti ∆Vy Considering the length of vector L~1 and L~2 :
q L1 = L21x + L21y q L2 = L22x + L22y
Taking advantage of error propagation rules [4], [21], we get: s ∂L1 ∂L1 2 2 ∆L1 = ( ∂L1x ∆L1x ) + ( ∂ L1y ∆L1y ) s ∆L = ( ∂L2 ∆L )2 + ( ∂L2 ∆L )2 2 2x 2y ∂L2x ∂ L2y
(23)
(24)
(25)
(26)
To simplify those expressions, we basically assume those errors have the same impact on the speed estimation at X and Y axis, ∆Vx = ∆Vy = ∆V. By doing so, we gather: √ ∆L1 = mti ∆V √ ∆L2 = nti ∆V
(27)
∆h1 and ∆h2 are introduced by inappropriate initial skew ∆a. From (6), we can get: (T − T )∆a ∆h1 = 1 2 4 a (28) ( T − ∆h = 1 T6 )∆a 2 a2 Taking d1 as an instance, considering all errors including ∆L1 , ∆L2 , ∆h1 , ∆h2 and adhering to measured data
analysis approach [4], ∆d1 can be represented as a function of those errors: ∆d1 ≈ |
∂f ∂f ∂f ∂ fd ∆L1 | + | d ∆L2 | + | d ∆h1 | + | d ∆h2 | ∂ L1 ∂ L2 ∂ h1 ∂ h2
(29)
15
−3
x 10
Error on estimated propagation delay (s)
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0.9 0.8
1
0.7 0.6
0.8 0.5
0.6
0.4 0.3
0.4 0.2
0.2
0.1
Error on initial skew ( 10e6 ppm)
Fig. 8.
0
Error on measured velocity (m/s)
Error delivered to propagation delay
To make expressions to be easily identifiable, we define: ∂ fd ∂f = ϕ, d = χ ∂ L1 ∂ L2 ∂ fd ∂f = ψ, d = ω ∂ h1 ∂ h2 T1 − T2 = η T1 − T6 = φ
(30)
Referring to [4], [21], the error of the propagation delay ∆d1 caused by ∆L1 , ∆L2 , ∆h1 and ∆h2 can be written as: ∆dp1 ≈
p (ϕ∆L1 )2 + (χ∆L2 )2 + (ψ∆h1 )2 + (ω∆h2 )2 /Vp
(31)
Combining all equations above, we obtain the error of propagation delay ∆dp1 as a function of ∆V and ∆a : s ∆a 2 (32) ∆dp1 ≈ m(Ti ϕ∆V)2 + n(Ti χ∆V)2 + [(ψη + ωφ) 2 ] /Vp a Above presents how the measured error ∆V and ∆a affect the estimated error on propagation delay. dp1 is taken as an example. In fact, the same thing happens to dp2 and dp3 . Fig. 8 demonstrates this relationship in a general scenario. The configuration parameter for this scenario is the same with the case “Error Vs Time since Sync(same message)” in the simulation. From Fig. 8, we get aware that errors on the propagation delay always keep below 2 ms, even when the error on the measured velocity is 1m/s and the error on initial skew is 106 ppm, which is the extremely bad case. Usually, the accuracy is much better. For instance, as shown in [15], errors on velocity are within 1ft/sec(0.305m/sec), so the error on propagation maintains in the order of microseconds.
16
V. P ERFORMANCE E VALUATION A. Simulation settings In our simulation, underwater sensor nodes are randomly distributed in a 50m × 50m × 50m region. Three anchor nodes cooperate with each other to supervise ordinary nodes within this area. Ordinary nodes can directly contact with all of the three super nodes by exchanging messages with them. In simulations, we randomly choose one ordinary node as sample node which aims to get synchronized with those super nodes. Without loss of generality, the inherent skew of this ordinary node is defined as 50ppm, and it maintains unchanged during time synchronization procedure. The clock offset of this ordinary node is initialized as 0.000080s. In addition, the pre-defined parameter tr1 is fixed as 2ms, and ti is 2ms. The propagation speed in the simulated environment keeps constant at 1500m/s. Regarding the mobility behavior of every node, we consider the kinematic model in [2]. Its moving speed can be described as follows:
Vx = k1 λv sin(k2 x) cos(k3 y) + k1 λ cos(2k1 t) + k4
,
(33)
Vy = −λv cos(k2 x) sin(k3 y) + k5
where Vx determines the speed at X axis, Vy stands for the speed at Y axis. k1 , k2 , k3 , λ, v are variables which are closely related to environment factors such as tides and bathymetry. These parameters change with different environments. k4 , k5 are random variables which are used to simulate some random factors. In our simulations, we assume k1 , k2 to be random variables which are subject to normal distribution with π as mean values and the standard derivations to be 0.1π . k3 is subject to normal distribution with 2π as mean value and the standard derivation to be 0.2π . λ is subject to normal distribution with 3 as the mean value and 0.3 as the standard derivation. v is subject to
normal distribution with 1 as the mean value and 0.1 as the standard derivation. k4 , k5 are random variables which are subject to normal distribution with 1 as mean values and 0.1 as standard derivations. B. Results and Analysis For all the results shown in the performance evaluation, unless otherwise specified, every data point is obtained from the average of 10000 simulation runs. Above all, we investigate that with fixed mobility pattern, tr1 and ti , and within the range of an acceptable size of speed vectors (within possible value range of tr2 ), how parameter tr2 affects the accuracy of the synchronization. Fig. 9 shows that when tr2 increases, the estimated skew is not necessarily getting closer to the inherent skew. This is because under kinematic mobility pattern, sensor nodes change their moving directions frequently. After T3 , the relative motions between super nodes and the sample ordinary node are various within the mobility pattern, so L2 is not necessarily to be longer when tr2 increases. However, the simulation is performed as many as 10000 runs, and from the huge number of repeated experiments, we generalize that when tr2 is 6ms, the estimated skew is closest to the real skew in our simulation scenario. And in the following evaluations, tr2 is fixed at 6ms.
17
1.008
1.006
Estimated skew 100ppm
1.004
1.002
1
0.998
0.996
0.994
0
2
4
6
8
10
12
t (ms) r2
Fig. 9.
Effect of tr2 8
7
Mobi−Sync MU−Sync TSHL
6
Errors (s)
5
4
3
2
1
0 2 10
Fig. 10.
3
10
4
Time after Sync (s)
10
5
10
Error vs Time since Sync(same messages) 8
7
Mobi−Sync MU−Sync TSHL
6
Errors (s)
5
4
3
2
1
0 2 10
3
4
10
10
5
10
Time after sync (s)
Fig. 11.
Error vs Time since Sync(same runs)
Fig. 10 and Fig. 11 illustrate how error grows after time synchronization completes with different algorithm, e.g. Mobi-Sync, MU-Sync and TSHL. As discussed above, as time goes by, the skew causes increasing errors, so this comparison actually demonstrates different accuracies on the skew those three algorithms can achieve. Fig. 10 compares the performance of the three algorithms using the same message overhead, while Fig. 11 differentiates them
18
1.5
Energy efficiency for time sync
MU−Sync Mobi−Sync TSHL
1
0.5
0
Fig. 12.
Energy Efficiency 5
4.5
1ms 2ms 3ms
4
3.5
Errors (s)
3
2.5
2
1.5
1
0.5
0 2 10
3
4
10
10
5
10
Time after sync (s)
Fig. 13.
Effect of ti 3 3 runs 4 runs 5 runs 2.5
Errors (s)
2
1.5
1
0.5
0 2 10
3
4
10
10
5
10
Time after sync (s)
Fig. 14.
Effect of message overhead on accuracy
with same runs. The result shows that Mobi-Sync performs better than both MU-Sync and TSHL. The reason for the poor performance of TSHL is that TSHL is mainly designed for static networks, and it does not pay much attention to the mobility of sensor nodes. Although it applies linear regression to estimate and compensate both skew and offset, it treats propagation delay as constant during time synchronization period. This definitely causes significant
19
errors on the propagation delay estimation due to sensor node mobility. For Mu-Sync, although it claims to be able to handle sensor node mobility by running two times of linear regression, it applies half of the round trip time to compute one way propagation delay, which still suffers from sensor node mobility, especially when nodes move fast or have long response time to the request message. Mobi-Sync is capable of overcoming all of those difficulties. It utilizes and benefits from sensor node mobility characteristic. In Mobi-Sync, with the help of spatial correlation, propagation delays are estimated through calculating the edge of triangles. And the impacts of mobility are further reduced by performing linear regression twice to calibrate the clock skew and offset. As a result, Mobi-Sync achieves high accuracy than the other two time synchronization algorithms. Fig. 12 shows different sample rate of the three algorithms. The sample rate basically represents the efficiency of the exchanged messages to linear regression. In the three algorithms, TSHL has highest sample rate. Without considering dynamic propagation delays, TSHL employs linear regression over single direction communication during the skew estimation process. This actually means every exchanged message except one message used to calculate offset can be taken as a sample data point during linear regression, so its message sample rate is close to 100 percent. MU-Sync has lowest message sample rate, because it adopts two-way message exchanges, and assumes the propagation delay on the way go and back is identical. Accordingly, only one way or half of those exchanged messages can be utilized as sample data. In this way, MU-Sync’s messages sample rate is as low as 50 percent. In Mobi-Sync, although super nodes response two messages RS1 and RS2 for one request message SR, both of the two response messages can be applied as sample points in linear regression. This is because for RS1 and RS2 , the propagation delay is different and there is certain time interval between RS1 and RS2 . Moreover, if we consider the synchronization request message “SR” is broadcasted to its neighbor super nodes, its sample rate can be further increased with more super nodes contacts. Fig. 13 shows the effect of ti on the accuracy of Mobi-Sync. As discussed above, ti manages the accuracy of the estimated speed vectors. And shorter the ti , more precise the speed vector. In our simulation, to make a fair comparison, we fix all other parameters including mobility pattern, tr , tr1 and tr2 , and try different ti to investigate its effect. So we assign constant values for all the random factors in the mobility pattern, and fix tr1 as 2ms, tr2 as 6ms and tr as 8ms. Then we perform Mobi-Sync with three different ti : 1ms, 2ms and 3ms. As the result shows,
when ti increases the accuracy to the time synchronization gets worse. This is because ti is in charge of the precision of the recorded speed vectors, when it increases the precision of the recorded speed vectors gets down so does the estimated speed vectors of ordinary node. And it turns out that the accuracy of Mobi-Sync will also be pulled down. Fig. 14 shows how message overhead affects the accuracy of Mobi-Sync. Theoretically, from linear regression perspective, more exchanged messages are involved, more data points can be collected for linear regression, and more precise the estimated skew and offset. In this scenario, we respectively perform Mobi-Sync with 3 runs, 4 runs and 5 runs, in other words, 27, 36 and 45 messages respectively. As we expected, the result of the simulation reveals that the more sample messages involved in the time synchronization process, the better accuracy Mobi-Sync can
20
achieve. However, when more messages are involved, more energy is consumed for synchronization purpose. Due to underwater sensor nodes energy-limited life time, the message overhead for time synchronization should be strictly controlled. This turns out to be a tradeoff between time synchronization accuracy and message overhead. VI. C ONCLUSIONS AND F UTURE WORK In this paper, we presented Mobi-Sync, a novel time synchronization scheme for mobile UWSNs. Mobi-Sync is the first time synchronization algorithm which does not suffer but benefit from sensor node mobility and it is also the first one which resorts to geometry knowledge to do time synchronization. Our simulation result shows that this new approach can achieve very high accuracy with relative low message overhead. In the future, we plan to explore other underwater mobility patterns and examine the applicability of our algorithm. We also want to investigate other approach to estimate node moving velocity and further examine how the accuracy of Mobi-Sync will be affected. R EFERENCES [1] I. F. Akyildiz, D. Pompili, and T. Melodia. Underwater acoustic sensor networks: Research challenges. Ad Hoc Networks (Elsevier), 3(3):257–279, March 2005. [2] A. C. Bagtzoglou and N. A. Chaotic behavior and pollution dispersion characteristics in engineered tidal embayments: A numerical investigation. Journal of the American Water Resources Association, pages 207–219, 2007. [3] N. Bodhi, H. Balakrishnan, E. Demaine, and S. Teller. Mobile-assisted localization in wireless sensor networks. In Proceedings of Infocom, pages 172–183, March 2005. [4] P. Bork, H. Grote, D. Notz, and M. Regler. Data Analysis Techniques in High Energy Physics Experiments. Cambridge University Press, 1993. [5] N. Chirdchoo, W.-S. Soh, and K. C. Chua. Mu-sync: A time synchronization protocol for underwater mobile networks. In WuWNet’08, September,15 2008. [6] J.-H. Cui, J. Kong, M. Gerla, and S. Zhou. Challenges: Building scalable mobile underwater wireless sensor networks for aquatic applications. IEEE Network, Special Issue on Wireless Sensor Networking, 20(3):12–18, 2006. [7] J. Elson, L. Girod, and D. Estrin. Fine-grained network time synchronization using reference broadcasts. In Proceedings of the Fifth Symposium on Operating Systems Design and Implementation (OSDI2002), pages 147–163, Boston, MA, USA, December 2002. [8] S. Ganeriwal, R. Kumar, and M. B. Srivastava. Timing-sync protocol for sensor networks. In Proceedings of the First International ACM Conference on Embedded Networked Sensor Systems (SenSys), pages 138–149., 2003. [9] D. K. Goldenberg, A. Krishnamurthy, W. C. Maness, Y. R. Yang, A. Young, A. S. Morse, A. Savvides, and B. D. O. Anderson. Network localization in partially localizable networks. In Proceedings of Infocom, pages 313–326, March 2005. [10] J. Heidemann, Y. Li, A. Syed, J. Wills, and W. Ye. Research challenges and applications for underwater sensor networking. In Proc. of the IEEE Wireless Communications and Networking Conference (WCNC), 2006. [11] L. Hu and D. Evans. Localization for mobile sensor networks. In Proceedings of Mobicom, pages 45–57, Sep 2004. [12] Kenneth and D. Frampton. Acoustic self-localization in a distributed sensor network. IEEE Sensors Journals, 6:166 – 172, Feb. 2006. [13] H. Lim and J. C. Hou. Localization for anisotropic sensor networks. In Proceedings of Infocom, pages 138–149, March 2005. [14] M. Maroti, B. Kusy, G. Simon, and A. Ledeczi. The flooding time synchronization protocol. In Proceedings of the Second International ACM Conference on Embedded Networked Sensor Systems (SenSys), pages 39–49, Baltimore, MD, USA: ACM Press, 2004.
21
[15] A. Novikov and A. C. Bagtzoglou. Hydrodynamic model of the lower hudson river estuarine system and its application for water quality management. Water Resource Management, pages 257–276, 2006. [16] J. Partan, J. Kurose, and B. N. Levine. A Survey of Practical Issues in Underwater Networks. In Proc. of ACM International Workshop on UnderWater Networks (WUWNet), pages 17–24, September 2006. [17] S. A. Saurabh Ganeriwal, Ram Kumar and M. Srivastava. Network-wide time synchronization in sensor networks. In Technical Report UCLA, April 2002. [18] M. Sichitiu and C. Veerarittiphan. Simple, accurate time synchronization for wireless sensor networks. In IEEE Wireless Communications and Networking Conference, WCNC, 2003. [19] F. Sivrikay and B. Yener. Time synchronization in sensor networks: A survey,. In in IEEE Network,, page 45C50., Boston, MA, USA, July-Aug. 2004. [20] A. Syed and J. Heidemann. Time Synchronization for High Latency Acoustic Networks. In Proc. IEEE Infocom, Barcelona, Spain, 2006. [21] Taylor and J. R. An Introduction to Error Analysis: The Study of Uncertainties if Physical Measurements. University Science Books, 1982. [22] S. Tilak, V. Kolar, N. B. Abu-Ghazaleh, and K.-D. Kang. Dynmaic localization protocols for mobile sensor networks. In IEEE International Workshop on Strategies for Energy Efficiency in Ad-hoc and Sensor Networks, April 2005. [23] Z. Zhou, J.-H. Cui, and A. Bagtzoglou. Scalable localization with mobility prediction for underwater sensor networks. In Proceedings of IEEE INFOCOM’08, Mini-Conference, Phoenix, Arizona, USA, 2008. [24] Z. Zhou, J.-H. Cui, and S. Zhou. Localization for large-scale underwater sensor networks. In Proceedings of IFIP NETWORKING, Atlanta, Georgia, USA, May 2007.