Mobi-Sync: Configurable Time Synchronization for

0 downloads 0 Views 332KB Size Report
Mobi-Sync: Configurable Time Synchronization for. Mobile Multihop Networks. Jun Yi, Christian Poellabauer. Department of Computer Science and Engineering.
Mobi-Sync: Configurable Time Synchronization for Mobile Multihop Networks Jun Yi, Christian Poellabauer

Liqiang Zhang

Department of Computer Science and Engineering University of Notre Dame Notre Dame, IN USA {jyi, cpoellab}@nd.edu

Department of Computer and Information Sciences Indiana University South Bend South Bend, IN USA [email protected]

Abstract—Maintaining a common notion of time among communicating nodes in mobile multihop networks is crucial to the correctness of many distributed real-time applications such as target tracking, data fusion, and environmental monitoring. Achieving both synchronization accuracy and efficiency (in terms of communication and energy overheads) are important goals of a time synchronization mechanism. While these goals have been addressed by numerous approaches for stationary or homogeneous networks that rely on uniform clock drift models and synchronization accuracy requirements, these existing approaches are not optimal when applied in networks that are mobile or where synchronization accuracies and clock drift rates differ among nodes. This paper proposes a novel opportunistic and on-demand synchronization mechanism called Mobi-Sync, which has two important characteristics. First, it avoids network-wide flooding or frequent reconstructing of rigid structures that are often unavoidable in other approaches when applied to mobile networks. Second, it (re-)synchronizes nodes only when necessary, thereby customizing the synchronization interval to each node’s specified accuracy requirement. Our results demonstrate that Mobi-Sync satisfies the nodes’ synchronization requirements in mobile networks, while significantly reducing the synchronization overhead compared to existing solutions.

I. I NTRODUCTION Rapid advances in computing and networking technologies have enabled the pervasiveness of wireless and mobile networks and applications. Particularly in emerging networks such as wireless sensor networks, mobile ad-hoc networks, and mesh networks, synchronized clocks are required for a variety of applications and services. For example, synchronized clocks are needed to establish accurate temporal correlations among monitored events in a sensor network and to coordinate sleep/wake patterns among energy-constrained sensor nodes. Time synchronization is necessary because hardware clocks are imperfect and will drift from each other over time, with different clocks having different drift rate ranges that can depend on device characteristics and environmental factors such as variations in temperature, vibration, and humidity. Synchronization in wireless networks is particularly challenging due to the stringent resource constraints (e.g., processing, network bandwidth, storage, energy) frequently found in wireless devices. Therefore, a synchronization scheme must be resource efficient, most notably in terms of energy consumption. Further, mobile networks will increasingly be heterogeneous, especially in urban sensing scenarios based on cell phones

and other mobile devices, leading to networks of devices with widely varying drift rates. More importantly, different sensing applications will have different accuracy requirements, e.g., object-tracking applications will require clocks that are synchronized within a few milliseconds, while video and audio surveillance applications may tolerate clock deviations of several hundreds of milliseconds or more. Different applications may even co-exist in the same network. Therefore, time synchronization must be configurable and adaptive to satisfy node-dependent and time-varying accuracy needs. Customized (i.e., per device) accuracy can also reduce the communication and synchronization overheads, further contributing to the efficiency goal. Finally, many previous approaches to time synchronization are not directly applicable to mobile sensing devices [4], [6], [11], [12]. Mobility implies that the network topology will change frequently and rigid synchronization relationships are inappropriate in such environments. Thus, our final requirement is that a time synchronization scheme operates reliably in a mobile sensing environment. Numerous time synchronization techniques have been proposed in the recent past [2], [4], [6], [8], [9], [11], [12], most of which share the common objective of improving the network’s synchronization accuracy while minimizing the synchronization overheads. Two main directions that have been taken are (1) to restrict or eliminate communication non-determinism in order to reduce communication uncertainty [2], [4], [8], [9], [12] and (2) to design efficient synchronization structuring, computation, and estimation mechanisms [6], [11]. These two directions are not mutually exclusive and can be combined to further improve synchronization accuracy and to reduce resource consumption. Our observation is that existing approaches typically work well for stationary and homogeneous networks, but they may fail to operate efficiently when applied to mobile and heterogeneous networks. For example, solutions that rely on rigid synchronization structures (such as treebased solutions) need to frequently rebuild these structures, thereby incurring large communication overheads. Further, synchronization techniques that synchronize a network based on the node/application with the most stringent accuracy requirement (instead of synchronizing all nodes based on their actual individual accuracy requirements) may lead to excessive resource consumptions.

2

II. R ELATED W ORK Numerous time synchronization protocols for distributed systems have been proposed in the past [5] and several survey papers provide an in-depth analysis of the objectives of these solutions [10]. Communication uncertainty, which is caused by the nondeterminism of the software, hardware, and physical layer of the wireless channel, is a main reason for synchronization inaccuracy. Various techniques have been used to reduce communication uncertainty to improve synchronization accuracy [4], [9], including techniques that provide bounds for singlehop communication uncertainty [4], [7]. Since the focus of Mobi-Sync is on efficient synchronization in mobile networks, we will leverage existing work by assuming that a certain single-hop communication uncertainty bound is available. Clock drift is another source of synchronization inaccuracy. Various clock drift models [10] have been used for time synchronization, including the constant rate model [12], the bounded drift model [6], and the bounded drift variation model [2]. Mobi-Sync belongs to the category of protocols using the bounded drift model. Various statistical techniques operating on multiple data points have been used to estimate clock drift rates and communication uncertainty, thereby improving the average synchronization accuracy [1], [8]. These techniques provide estimates for the time error (inaccuracy) and possibly even probabilistic bounds on the error. In contrast, MobiSync provides tight, deterministic bounds on time inaccuracy using conservative clock and communication uncertainty estimations, such that absolute temporal information can be derived. Many time synchronization protocols rely on a variety of structures such as trees, clusters, and dominating sets, using

Inaccuracy

In this paper, we address the problem of how nodes can cooperate to maintain their clock readings within their respective inaccuracy tolerances, considering challenges such as node mobility, network partitioning, or communication overhead. The introduced Mobi-Sync algorithm is a novel synchronization scheme, where each node is able to estimate its own inaccuracy bound at any given time by referring only to its own clock reading. Each synchronization message exchanged between nodes carries the current time, but also the inaccuracy bound of the sender of the message. A node overhearing such a message adjusts its clock if the inaccuracy bound carried by the message is smaller than the node’s own inaccuracy bound. A node initiates synchronization requests on-demand only when its inaccuracy bound approaches its specified maximum inaccuracy bound and many nodes will be able to synchronize their clocks simply by overhearing synchronization messages of their neighbors, thereby reducing the communication overheads. Synchronization requests that cannot be satisfied by the node receiving such a request are then delegated to the node’s neighbors towards a reference node. These three approaches combined form a synchronization scheme that is fast enough to operate efficiently and effectively in mobile networks where connectivity among nodes may be very short-lived.

 i

 i 

0

tn

 i

dhi (t )  1  i dt

t

t n 1

Fig. 1. An illustration of the bounded clock drift rate ρi , the change

in inaccuracy over time, and the maximum inaccuracy bound (MIB) of node i.

them to reduce the complexity of synchronization [6], [11]. However, in mobile environments, these rigid approaches require frequent modifications to these structures, leading to unacceptable performance penalties and overheads. Mobi-Sync addresses this problem using synchronization request delegation, where a node selects a neighbor node on-demand as its synchronization proxy, without the need for network-wide communication structures (i.e., the network can be considered as completely unstructured). A key characteristic of Mobi-Sync is that time synchronization is entirely on-demand and that every node decides independently when to re-synchronize based on its applications’ accuracy requirements. While there has been some limited amount of previous research into on-demand approaches [11], these prior efforts do not support node-specific accuracy requirements. Further, Mobi-Sync is able to handle most synchronization requests locally (i.e., in a node’s 1-hop neighborhood), thereby incurring only very small communication overheads. III. S YSTEM M ODEL This section discusses the various models and assumptions this work is based on. A. Clock Model We assume that the network consists of one or more reference nodes (e.g., gateway devices in mesh and sensor networks that have access to external reference clocks) that provide the reference time (or real time) for the network. The clock reading of node i at real time t is denoted as hi (t). The tick rate at time t is given as the first derivative dhi (t)/dt of hi (t). An ideal clock would have a tick rate of 1 at all times, but the actual tick rate of a real clock fluctuates over time; particularly for mobile nodes, due to changes in supply voltage, temperature, humidity, and vibrations. We use the bounded drift clock model [10], i.e., each node i has a drift rate bound ρi , such that 1 − ρi ≤

dhi (t) ≤ 1 + ρi dt

for all t,

(1)

which can be obtained from data sheets or estimated using linear regression methods [4], [9]. In other words, the drift rate bound expresses that the inaccuracy of node i increases ρi units per unit real time. As an illustration of this model, consider Figure 1, where the inaccuracy change rate (i.e., the clock drift rate, as shown as the slope of the tangent lines in

3

TABLE I

IV. M OBI -S YNC P ROTOCOL D ESCRIPTION

N OTATIONS ρi : ∆i : σ: di : hi (t): δi (t): Hi :

drift rate bound of node i maximum inaccuracy bound (MIB) specified by node i single-hop synchronization inaccuracy bound estimated hop distance of node i to a reference node clock reading of node i at real time t instantaneous inaccuracy bound (IIB) of node i at real time t guard clock reading (GCR) of node i, i.e., if node i is not synchronized before its reading reaches Hi , it may violate its accuracy requirement, i.e., δi (t) > ∆i

Figure 1) at all times t (i.e., dhi (t)/dt − 1) is bounded within [−ρi , ρi ]. B. Communication Model The synchronization inaccuracy (or simply inaccuracy in the remainder of this paper) describes the absolute difference between a node’s clock reading and the real time (as in [1]). As far as synchronization is concerned, the goal of communication is to convey time information, which is then utilized to synchronize clocks. However, the uncertainty of delivery time of messages exchanged between synchronizing nodes (in addition to clock drifts) introduces additional inaccuracy. We describe the single-hop synchronization uncertainty bound as σ, which depends on device and network characteristics and the type of synchronization technique [4], [9]. We also assume a uniform σ in the network for ease of presentation. For example, for Mica2 platforms [7], σ is typically within 20-40 microseconds. When a node is synchronized by another node, it computes an adjustment value for its own clock, expressing by how much its clock needs to be modified. If a node j with clock reading hj (t) at real time t synchronizes node i, then hi (t) ∈ [hj (t) − σ, hj (t) + σ] j synchronizes i at t.

(2)

Then, hi (t) will be adjusted and its new value will fall within [hj (t) − σ, hj (t) + σ]. In other words, the inaccuracy of node i at time t is at most equal to the inaccuracy of node j plus the single-hop synchronization inaccuracy σ. As an example, Figure 1 shows node i being synchronized by other nodes at times tn and tn+1 . C. Other Definitions We denote the maximum inaccuracy allowed, called maximum inaccuracy bound (MIB), of node i as ∆i , which is shown in Figure 1 as the two horizontal lines. That is, node i requires that t − ∆i (t) ≤ hi (t) ≤ t + ∆i (t) at every real time t. As a clock drifts, its inaccuracy may increase or decrease, as shown in Figure 1. The maximum possible inaccuracy of node i at time t, denoted as δi (t), is called the instantaneous inaccuracy bound (IIB) at time t. For brevity, we also refer to it as inaccuracy bound. The notations used in this paper are summarized in Table I.

A. Overview In Mobi-Sync, each node is able to estimate its clock inaccuracy bound (IIB) at all times by referring only to its own clock reading. Each node uses a guard clock reading (GCR) to prevent its inaccuracy from exceeding the node’s MIB. In addition to timing and identification information, each synchronization message also encapsulates the node’s IIB of the sender. Once a message is received (or overheard) by a node, that node compares its own current IIB with the encapsulated IIB of the message. The node then adjusts its clock reading if its IIB is greater than the IIB encapsulated in the message, thereby synchronizing its clock to the clock of the more accurate neighbor. Whenever a node is synchronized, it also computes a new GCR, which is used to prevent a node from potential accuracy violations in the future. A node initiates a synchronization request whenever its clock reading approaches its GCR and the neighboring nodes receiving the request respond with their own timing information. The requester chooses one of its neighbors as its synchronization proxy if none of them can satisfy the request. Preference is given to neighbors that are closer to the reference node, have a small drift rate, or already serve as proxies for other nodes, in order to limit communication overhead and promote accuracy satisfaction. Each request is also tagged with an expiration time and expired requests are automatically removed by proxy nodes. Once a proxy node has itself been synchronized to a greater accuracy, it will send a synchronization message to all requesters which can be satisfied by the message. Unlike other traditional, rigid, node-based synchronization proxy relationships (e.g., using trees), this proxy relationship among nodes is very dynamic and only determined by synchronization requests. Once a synchronization request queued at a node is removed (because the request has been satisfied or the request has expired), the corresponding proxy relationship immediately terminates. Moreover, a proxy node responds to each request at most once and the requester node is responsible for re-initiating requests if previous requests have not been satisfied. As a consequence, this kind of synchronization proxy relationship is only temporary and quickly adapts to mobile scenarios. B. Inaccuracy Bound Estimation and Opportunistic Overhearing A clock’s inaccuracy may change depending on the drift rate, which fluctuates over time and may take any value within the drift rate bound at any given time. Therefore, we cannot accurately compute the actual inaccuracy at any given time. However, we can deterministically compute the IIB δi (t) of node i at any given time t. We already know that the IIB of a reference node is 0. The IIB of node i synchronized by a reference node at real time t is σ, i.e., δi (t) = σ. After time t, the IIB increases due to the clock drift. At some real time t0 > t, δi (t0 ) is equal to σ + ρi (t − t0 ). If node i synchronizes node j at time t0 , then node j’s IIB δj (t0 ) is σ + δi (t0 ), where

4

hi (t ) max H i dhi (t )  1  i dt

min H i

 i (t )

 i (t )

dhi (t )  1  i dt

i

i

t 

t

t 

t

The computation of the guard clock reading (GCR) and the instantaneous inaccuracy bound (IIB). Fig. 2.

δi (t0 ) can be obtained from the synchronization message from node i. At some time t00 > t0 , node j can compute δj (t00 ) in a similar way as node i computes δi (t0 ). Without loss of generality (see Figure 2), we can assume that node i is synchronized at real time t0 and knows its IIB δi (t0 ) at real time t0 , then δi (t00 ) at t00 > t0 is equal to δi (t0 ) + ρi (t00 − t0 ) if node i has not been synchronized in [t0 , t00 ]. Although node i does not know the time span t00 − t0 , it can estimate the time span by referring to its clock readings and therefore knows its IIB at t00 . The longest possible span between t0 and t00 measured by the clock of node i, denoted as max(t00 − t0 )|i, occurs only when the clock ticks at the lowest 00 )−hi (t0 ) . Since rate 1 − ρi in [t0 , t00 ], i.e., max(t00 − t0 )|i = hi (t 1−ρ i the IIB of node i increases ρi units per real time unit, the increment of IIB from t0 to t00 measured by the clock of node i is ρi max(t00 − t0 )|i. Therefore, given the IIB δi (t0 ) of node i at t0 , we can compute the IIB of node i at time t00 as (hi (t00 ) − hi (t0 ))ρi . (3) 1 − ρi When node j overhears a synchronization message encapsulated with δi (t00 ) from node i, it adjusts its clock reading and its IIB at time t00 : δi (t00 ) = δi (t0 ) +

δj (t00 ) = min{δi (t00 ) + σ, δj (t00 )}

(4)

C. On-Demand Synchronization Request and Delegation If node i has not been synchronized since t0 , then at ∆i −δi (t0 ) 000 0 time t = t + the IIB of node i reaches ∆i (as ρi shown in Figure 2). The clock reading hi (t000 ) at t000 falls in 0 [min Hi , max Hi ], where min Hi = hi (t0 ) + (∆i −δi (tρi))(1−ρi ) 0

and max Hi = hi (t0 ) + (∆i −δi (tρi))(1+ρi ) when the clock tick rate is 1 − ρi and 1 + ρi , respectively. To avoid potential accuracy violations, min Hi is taken as the GCR Hi , Hi = hi (t0 ) +

(∆i − δi (t0 ))(1 − ρi ) ρi

(5)

Whenever node i is synchronized at time t0 , GCR is recomputed using above equation. When the clock reading

approaches GCR, the node needs to initiate a synchronization request. A synchronization request encapsulates the desired inaccuracy bound (DIB) and the expiration time of the request. Neighbors overhearing the request respond with their respective IIBs, drift rate bounds, and hop counts. If the IIB of a response is smaller than the DIB of the request, the requester is satisfied. Otherwise, the requester sends a delegate message to one of its neighbors, called a proxy node, thereby delegating its request. If a node overhears a response with both a smaller IIB and a smaller hop count to the same request, it will suppress its own response since it will not be a proxy candidate (described below) and will not synchronize the requester to a greater accuracy, which is called response dominating. If a node’s request expired without being satisfied, the node re-initiates another request. Each proxy node uses a table to manage pending delegated synchronization requests. Each entry contains the requester, the requester’s DIB, and an expiration time. Only the most recent request from the same node is kept in the table and all expired requests are removed automatically from the table. A proxy node initiates a proxy synchronization request on behalf of all pending requests in this table. The request with the smallest DIB is called the dominating request. Once a new request is added into the table and this new request becomes the dominating request, the proxy node re-initiates this new request on behalf of the original requester. V. S IMULATION R ESULTS A. Protocol Simulator Clock Models and Node Requirements/Parameters. The single hop synchronization inaccuracy σ is set as 0.02ms, which can be obtained using existing single-hop synchronization techniques [9]. The clock drift ρ is randomly distributed in the range [20ppm, 100ppm], which is typical for quartz crystals. The required accuracy ∆ of nodes randomly falls into the range [1ms, 100ms], which covers most mobile application requirements. The three parameters combined result in various inter-synchronization times. As an example, the maximum inter-synchronization time (e.g., in the case the synchronization oscillates between ideal accuracy and the required maximum inaccuracy) in the case of σ=0.02ms, ∆=1ms, and ρ=20ppm is about 50s. The default criticality level and desired inaccuracy bound (DIB) for each request of each node are 3 and 80% MIB, respectively. Network and Mobility Models. In our simulations, a varying number of nodes with a fixed radio range of 30m are randomly distributed in a square field of 200m*200m. The node density varies depending on the number of nodes deployed. For example, a deployment of 100 nodes corresponds to roughly a node density of 6 neighbors for each node. The delay of each packet is exponentially distributed with a mean of 50ms. By default, the network contains a single reference node that keeps accurate time and the default density is 6. The simulation was run for 24 hours. A single-channel 802.11 DCF is assumed as the underlying MAC model. The success probability for a

5 70

80

60

40

FTSP (40ppm, 10ms) FTSP ([20,100]ppm, [1,100]ms) LTS (40ppm, 10ms) LTS ([20,100]ppm, [1,100]ms) Mobi-Sync (40ppm, 10ms) Mobi-Sync ([20,100]ppm, [1,100]ms)

20

Percent of accuracy satisfication

100 # of normalized messages

Percent of accuracy satisfication

100

10 FTSP (40ppm, 10ms) FTSP ([20,100]ppm, [1,100]ms) LTS (40ppm, 10ms) LTS ([20,100]ppm, [1,100]ms) Mobi-Sync (40ppm, 10ms) Mobi-Sync ([20,100]ppm, [1,100]ms)

8 6 4 2

80

60 FTSP (40ppm, 10ms, 1m/s) FTSP (40ppm, 10ms, 10m/s) FTSP ([20,100]ppm, [1,100]ms, 1m/s) FTSP ([20,100]ppm, [1,100]ms, 10m/s) Mobi-Sync (40ppm, 10ms, 1m/s) Mobi-Sync (40ppm, 10ms, 10m/s) Mobi-Sync ([20,100]ppm, [1,100]ms, 1m/s) Mobi-Sync ([20,100]ppm, [1,100]ms, 10m/s)

40

20

0

0 3

4

5

6

7

8

9

10

3

4

Average number of neighbors of a node

5

6

7

8

9

10

3

4

Average number of neighbors of a node

5

6

7

8

9

10

Average number of neighbors of a node

(a) Accuracy satisfaction with varying densities of (b) Message overhead with varying densities of (c) Accuracy satisfaction with varying densities of stationary nodes stationary nodes mobile nodes 70

70 100

FTSP (40ppm, 10ms, [1,10]m/s) FTSP ([20,100]ppm, [1,100]ms, [1,10]m/s) Mobi-Sync (40ppm, 10ms, 1m/s) Mobi-Sync (40ppm, 10ms, 10m/s) Mobi-Sync ([20,100]ppm, [1,100]ms, 1m/s) Mobi-Sync ([20,100]ppm, [1,100]ms, 10m/s)

8 6 4 2

60 # of normalized messages

Percent of accuracy satisfication

# of normalized messages

60

80

60 FTSP (40ppm, 10ms, 1m/s) FTSP (40ppm, 10ms, 10m/s) FTSP ([20,100]ppm, [1,100]ms, 1m/s) FTSP ([20,100]ppm, [1,100]ms, 10m/s) Mobi-Sync (40ppm, 10ms, 1m/s) Mobi-Sync (40ppm, 10ms, 10m/s) Mobi-Sync ([20,100]ppm, [1,100]ms, 1m/s) Mobi-Sync ([20,100]ppm, [1,100]ms, 10m/s)

40

20

FTSP (40ppm, 10ms, [1,10]m/s) FTSP ([20,100]ppm, [1,100]ms, [1,10]m/s) Mobi-Sync (40ppm, 10ms, 1m/s) Mobi-Sync (40ppm, 10ms, 10m/s) Mobi-Sync ([20,100]ppm, [1,100]ms, 1m/s) Mobi-Sync ([20,100]ppm, [1,100]ms, 10m/s)

8 6 4 2

0

3

4

5

6

7

8

Average number of neighbors of a node

9

10

0

10

20

30

40

50

60

70

80

90

100

0

20

Percent of mobile nodes

40

60

80

100

Percent of mobile nodes

(d) Message overhead with varying densities of (e) Accuracy satisfaction with varying percentages (f) Message overhead with varying percentages of mobile nodes of mobile nodes mobile nodes

Message overheads and accuracy satisfaction in stationary and mobile scenarios. Each legend is in the form: protocol name (clock drift rate bound ρ, maximum inaccuracy bound ∆, walking speed). Fig. 3.

packet transmission to a neighboring node within radio range is Bernoulli with parameter p=0.90. No retransmissions at the MAC layer are attempted. The typical random waypoint mobility models [3] are utilized and the default speed of each node is 1m/s. The sum of pause time and walk time of each node per step is 100s. The default walk time per step is 50s. We vary percentages of mobile nodes among all nodes (by default all nodes are mobile), ratios of walk time to pause time per step, and walking speeds to create various mobility scenarios. Performance Metrics and Comparisons. We evaluate the performance of Mobi-Sync in terms of scalability, adaptability to mobility, as well as communication overhead. We normalize the number of synchronization messages sent by a node to the minimum number of synchronizations needed by the node during the simulation duration. For example, a node with ρ=40ppm and ∆=10ms needs a synchronization from the reference node every 250s. If a node on average sends out 3 synchronization-related messages every 250s, then the number of normalized messages (i.e., message overhead) is 3. We compare Mobi-Sync to FTSP [9] and LTS [11] since both of them use a similar clock drift model. LTS defines a centralized and a distributed synchronization scheme. The centralized one relies on a constructed spanning tree rooted at the reference node to disseminate synchronization messages. The distributed one relies on underlying routing schemes to deliver synchronization messages to and from the reference node. We compare Mobi-Sync to the centralized version only,

TABLE II

S YNCHRONIZATION DISTRIBUTION speed

mobile nodes

0 m/s 1 m/s 1 m/s 10 m/s 10 m/s

50% 100% 50% 100%

percentage for the number of hops

1 (%) 88-90 91-93 92-93 94-95 95-96

2 (%) 8-9 6-8 5-7 2-4 2-3

3 (%) 1-1.2 0.8-1.2 0.8-1.0 0.7-1.2 0.5-1.1

> 3(%) 0.4-0.5 0.3-0.5 0.3-0.4 0.3-0.4 0.3-0.4

because the distributed approach involves much larger overhead. Further, for mobile networks, constructing a spanning tree or maintaining routes is more costly than for stationary cases, therefore, we only compare Mobi-Sync with LTS for stationary networks. B. Results Message Overhead and Accuracy Satisfaction in Stationary Networks. Figure 3(b) and Figure 3(a) show the message overhead and accuracy satisfaction in a stationary network, for varying node densities. When the clock drift rate bounds and the accuracy requirements are randomly distributed among nodes, FTSP has the largest overhead and Mobi-Sync always has the least overhead. The reference node in FTSP must flood messages once per shortest re-synchronization interval and thus FTSP has around 20-70 times more message overhead than the other approaches. Mobi-Sync has about 2-3 less message overhead than LTS since most nodes in MobiSync are synchronized by overhearing and nodes with small

6

drift rate bounds serve as synchronization sources locally for most of the time. Moreover, a node suppresses its potential response upon a request if overheard responses from other nodes dominate its response. However, non-leaf nodes in LTS need to forward synchronization messages from the reference node even though their accuracy requirements have not been violated. When the clock drift rate bounds and the accuracy requirements are the same among nodes, FTSP has 1-2 message overhead constantly and both LTS and Mobi-Sync have less than 1 message overhead while the density is larger than 4. In particular, Mobi-Sync has slightly less message overhead than LTS while the density is larger than 5. Figure 3(a) shows that Mobi-Sync has always the highest ratio (close to 100% when the density is greater than 5) of accuracy satisfaction since nodes in Mobi-Sync are aware of their own accuracies and actively initiate requests if needed. The performance of LTS (as well as FTSP) in a stationary network is mainly affected by the success probability of packet delivery. Once a non-leaf node (a critical node in FTSP) fails to forward a synchronization message to its downstream nodes, accuracy violations may occur at these nodes. Message Overhead and Accuracy Satisfaction in Mobile Networks. Figure 3(d) and Figure 3(c) show the message overhead and accuracy satisfaction for varying densities of mobile nodes. FTSP ignores node mobility and only reacts to the strictest synchronization requirements and therefore has the highest message overhead. As the percentage of mobile nodes increases, the message overhead of Mobi-Sync decreases slightly to below 1 since increasing portion of synchronization requests is satisfied locally via overhearing. The message overhead of FTSP increases slightly since more nodes are connected and need to forward synchronization messages while the density increases. However, Figure 3(c) shows the ratio of accuracy satisfaction in Mobi-Sync is always higher than FTSP. FTSP has much lower ratio of accuracy satisfaction than Mobi-Sync when the density is less than 5 mainly due to mobility-induced network partition. Nodes using FTSP in a partitioned network do not receive synchronization messages from the reference node. However, using Mobi-Sync, a node with the smallest IIB in the partition will temporarily serve as a reference node and synchronize other nodes. Their difference, however, diminishes when the network density increases due to less occurrence of both network partitions and failures of synchronization message transmission. Figure 3(f) and Figure 3(e) show the message overhead and accuracy satisfaction for varying percentages of mobile nodes (similar to Figure 3(d) and Figure 3(c)). Mobi-Sync always performs better than FTSP and achieves close to 100% accuracy satisfaction mainly due to the following two reasons: (1) nodes are aware of their own IIBs and can not only initiate synchronization requests in time, but also re-initiate synchronization requests in case of failures of synchronization message transmission; (2) some nodes in a partitioned network that have high accuracy can temporarily serve as local synchronization sources.

Synchronization Distributions. Table II shows the distribution of 1-hop, 2-hop, 3-hop, and > 3-hop requests. If a dominating request in the proxy table of a proxy node is forwarded n hops from the original initiator of the request, this request is an n-hop request. We monitor the requests and their hops in each node’s proxy table during the entire simulation, then compute their distribution. Heterogeneity of clock drift rate and accuracy requirement and node mobility are the two main contributors for opportunistic overhearing, thus reducing the number of synchronization messages over multiple hops. VI. C ONCLUSIONS Mobi-Sync is designed to maintain synchronized clocks within their specific inaccuracy bounds in a mobile network where nodes’ clocks may have different drift rates. In MobiSync, each node is able to estimate its own inaccuracy bound at any given time by only referring to its own clock reading. Each synchronization message carries the inaccuracy bound of the sender of the message. A node’s synchronization requirements are satisfied mostly by overhearing of messages with smaller inaccuracy bound. A node initiates synchronization requests on-demand only when its inaccuracy bound approaches its specified maximum inaccuracy bound. Synchronization requests that cannot be satisfied locally are delegated temporally and hierarchically to neighbors toward a reference node. Our results demonstrate that Mobi-Sync is efficient in resource consumption and effective to meet nodes’ accuracy requirements for a mobile network. ACKNOWLEDGMENTS This material is based upon work supported by the National Science Foundation under Grant No. CNS-0834180. R EFERENCES [1] K. Arvind. Probabilistic clock synchronization in distributed systems. IEEE Trans. Parallel Distrib. Syst., 5(5):474–487, 1994. [2] P. Blum, L. Meier, and L. Thiele. Improved interval-based clock synchronization in sensor networks. In IPSN ’04. [3] T. Camp, J. Boleng, and V. Davies. A survey of mobility models for ad hoc network research. WCMC. [4] J. Elson, L. Girod, and D. Estrin. Fine-grained network time synchronization using reference broadcasts. SIGOPS Operating System Review, 36(SI):147–163, 2002. [5] J. Elson and K. R¨omer. Wireless sensor networks: a new regime for time synchronization. SIGCOMM Comput. Commun. Rev. [6] S. Ganeriwal, R. Kumar, and M. B. Srivastava. Timing-sync protocol for sensor networks. In SenSys’ 03, pages 138–149, 2003. [7] J. L. Hill and D. E. Culler. Mica: A wireless platform for deeply embedded networks. IEEE Micro, 22(6):12–24, 2002. [8] Q. Li and D. Rus. Global clock synchronization in sensor networks. Transactions on Computers, 55:214– 226, Feb 2006. [9] M. Mar´oti, B. Kusy, G. Simon, and A. L´edeczi. The flooding time synchronization protocol. In SenSys ’04. [10] K. R¨omer, P. Blum, and L. Meier. Time synchronization and calibration in wireless sensor networks. Handbook of Sensor Networks. [11] J. van Greunen and J. Rabaey. Lightweight time synchronization for sensor networks. In WSNA ’03. [12] S. Yoon, C. Veerarittiphan, and M. L. Sichitiu. Tiny-sync: Tight time synchronization for wireless sensor networks. ACM Trans. Sen. Netw., 3(2):8, 2007.

Suggest Documents