Dynamic Multi-resolution Data Dissemination in Wireless ... - CiteSeerX

0 downloads 0 Views 369KB Size Report
In this paper, we study the problem of dynamic multi-resolution data dissemination in which .... note that such a request is also referred to as the sliding-window query in many ...... Versatile low power media access for wireless sensor networks.
1

Dynamic Multi-resolution Data Dissemination in Wireless Sensor Networks

Guoliang Xing1 , Minming Li2 , Hongbo Luo2 , Xiaohua Jia2 1

Department of Computer Science and Engineering Michigan State University 1

Department of Computer Science City University of Hong Kong

E-mails: [email protected],{robert, minmli, jia}@cs.cityu.edu.hk

A short version of this paper appeared at MSWiM 2007.

DRAFT

Abstract Recent years have seen the deployments of wireless sensor networks (WSNs) in a variety of applications to gather the information about physical environments. A key requirement of many data-gathering WSNs is to deliver the information about dynamic physical phenomena to users at multiple temporal resolutions. In this paper, we propose a novel solution called the Minimum Incremental Dissemination Tree (MIDT) for dynamic multi-resolution data dissemination in WSNs. MIDT includes an online tree construction algorithm with an analytical performance bound and two lightweight tree adaptation heuristics for handling data requests with dynamic temporal resolutions. Our simulations based on realistic settings of Mica2 motes show that MIDT outperforms several typical data dissemination schemes. The two tree adaptation heuristics can effectively maintain desirable energy efficiency of the dissemination tree while reducing the overhead of tree reconfigurations under representative traffic patterns in WSNs. Keywords: Data dissemination, Temporal resolution, Dynamic tree adaptation, Energy efficiency Terms: Sensor networks, Wireless network algorithms and protocols, Performance evaluation and modeling

I. I NTRODUCTION Recent years have seen the deployments of wireless sensor networks (WSNs) in a variety of dataintensive applications including micro-climate and habitat monitoring [32], precision agriculture, security surveillance [15], [23], etc. The capability of long-term and dense sensing of WSNs enables the physical environments to be monitored at an unprecedented granularity. One of the major tasks of WSNs is to disseminate useful information from data sources to users at the minimum power consumption as sensor nodes must operate on limited power sources (e.g., batteries or small solar panels) for extended lifetime. Particularly, how to achieve power-efficient, multi-hop communication in these applications is the major concern since wireless communication often dominates the energy dissipation in a WSN. In this paper, we study the problem of dynamic multi-resolution data dissemination in which multiple sinks request sensor readings from the in-network sources at dynamic data refresh rates. This problem is motivated by several important characteristics of data-gathering applications. First, due to the diversity of user requirements, a WSN often needs to collect and report physical information at multiple temporal granularities. For instance, many WSN query processing systems (e.g., TinyDB [26]) support windowed stream query in the form of “report to node i the average temperature of region A once every T seconds”. T is the temporal resolution of the query specified by a user. As a real-world example, an environmental monitoring WSN may receive two types of queries in which a meteorologist requests hourly temperature updates [24] for weather analysis while a biologist 2

requests a temperature reading once every several minutes from bird burrows for detailed study of birds’ breeding behavior [32]. Furthermore, the temporal resolution requested by the same user is subject to dynamic changes due to the evolution of environmental activities. For instance, in an intelligent building, a cluster head node normally reports temperature gathered by nearby nodes to the base station once several minutes for residential energy management, and must report sensor readings once every a few seconds when a possible fire is detected. The dynamic temporal resolutions of data requests introduce several important implications that have not been collectively considered by the existing energy-efficient data dissemination algorithms. First, the resolutions of different data requests must be explicitly taken into account in the construction of dissemination topology in order to minimize the network energy consumption. For example, while long dissemination paths composed of highly reliable links are preferred in order to minimize the total transmission energy of high-rate data requests, shorter but potentially lossier paths can be more energy-efficient for low-rate data requests as they allow more nodes to switch to sleep. The optimal dissemination path configured according to a particular data rate may result in excessive energy consumption under other data rates. Second, the dissemination topology must be dynamically reconfigured in response to online data request arrivals and data rate changes. However, too frequent topology reconfigurations should be avoided to reduce the disruptions to data dissemination. Third, as lossy links are prevalent in WSNs [41], a dissemination algorithm must consider the quality of links in order to achieve a desirable reliability level with minimum energy consumption. This paper makes the following contributions. 1) We present the formulation to a new problem referred to as dynamic multi-resolution data dissemination, which minimizes the total energy consumption in data dissemination by jointly considering the power of all active radio states (idle, reception and transmission), quality of links and data rates of different requests. 2) We propose a novel solution called the Minimum Incremental Dissemination Tree (MIDT) that includes an online tree construction algorithm with analytical performance bound and two lightweight tree adaptation heuristics. The path-quality based heuristic adapts each dissemination path based on the accurate estimation of worst-case quality degradation of the path due to data rate changes. Such estimation is made solely based on the local information of the path and hence incurs no additional overhead. The reference-rate based heuristic adapts the whole dissemination tree based on the reference rate calculated according to the aggregate rates of different data requests, which reduces the number of tree reconfigurations. 3) Our simulations based on realistic settings of Mica2 motes show that MIDT significantly outperforms several typical dissemination schemes. In particular, the two tree 3

adaptation heuristics can effectively maintain desirable energy efficiency of the dissemination tree while reducing the tree adaptation overhead under a wide range of traffic patterns in WSNs. The rest of this paper is organized as follows. We first discuss the related work in Section II. Then we describe our application and network models in Section III. The problem formulation is presented in Section IV. An online tree construction algorithm and two lightweight tree adaption heuristics are discussed in Section V and Section VI, respectively. We present the simulation results in Section VII, and the conclusion in Section VIII. II. R ELATED

WORK

A number of solutions [18], [37], [7], [25], [17] have been proposed to disseminate data from sources to sinks in WSNs. Directed diffusion (DD) [17] is a data-centric communication protocol where user interests are flooded to the network and the sensor nodes that match the interests disseminate their data to the user. TTDD [37] is a two-tier dissemination protocol in which each source maintains a network-wide grid structure and sinks can locate the source through local flooding. Cetintemel et al. [7] developed a tree-based dissemination protocol in which nodes change their sleeping schedules dynamically according to event generation rates. Machado et al. [25] proposed to disseminate data to sinks according to trajectories determined by the energy levels of nodes. The above protocols are designed to request data from sources unknown a priori. In contrast, we assume that sinks request data from known sources (e.g., storage nodes) in this paper. The above solutions will cause unnecessarily high overhead in such a case. For instance, flooding or a network-wide grid structure are used by DD and TTDD to facilitate the finding of data sources, which are not necessary when the locations of sources are known. SEAD [18] is designed to disseminate data from a known source to mobile sinks. The paths with different data rates in SEAD can be shared to reduce the number of transmissions. Our work differs from SEAD in several important aspects: 1) Our solutions are particularly designed for handling data requests with dynamic rates through efficient topology adaptations, which is not addressed by SEAD. 2) We focus on developing data dissemination and tree adaptation algorithms with provable performance bounds for stationary or low-mobility sinks, while SEAD is designed to provide besteffort dissemination service for mobile users. 3) Our problem formulation accounts for the total power consumption in all radio states and lossy links. SEAD only reduces the transmission power of radios and does not address the issue of link reliability in data dissemination. The dynamic Steiner tree problem has been studied extensively in the literature [34], [16], [11]. 4

Although the existing solutions to this problem also considered the dynamic changes of endpoints, our problem is different from this problem because: 1) the dynamic Steiner tree problem does not take advantage of the broadcast nature of a wireless channel; 2) it does not consider the impact of data rate changes on the choice of power-efficient dissemination trees. Energy-efficient unicast/multicast/broadcast for ad hoc networks [2], [27], [22], [19], [35], [33] has been studied extensively in the last decade. The ETX is first proposed in [2] as a metric to quantify the transmission energy consumption of lossy links. The existing solutions on energy-efficient multicast and broadcast focus on minimizing the total transmission power of nodes on the Steiner/spanning tree that connects the source to multiple sinks. Recently, the problem of minimum-energy reliable multicast [20], [3] has also been studied. Although these algorithms can be used to transmit data from a source to multiple sinks, they are not suitable for dynamic multi-resolution data dissemination because: 1) they do not account for the difference in data rates requested by sinks, which often results in excessive energy consumption; 2) they often focus on minimizing the transmission energy of nodes, which render them only effective in particular application scenarios. For example, the contribution of transmission to the total energy consumption of a network is marginal when data rates are low; 3) they do not address the issue of topology reconfigurations in response to dynamic network workload changes. III. P RELIMINARIES A. Application Model In our application model, a source node serves the user requests with possibly different data refresh rates. The source node could be a cluster head that stores and aggregates the data from all sensor nodes in its vicinity [13], or a storage node that caches the network-wide information tagged with certain properties. For instance, a storage node in a surveillance WSN may store and index all information related to a specific type of intruders [30]. A data request for the source is issued by a sink that is either the base station or another node in the network. For instance, remote users may issue queries through the base station while in-network users may issue queries through the nodes around them [18]. A data request is specified by a triple (t, p, [Φ, Ψ]), where t is the sink, p is the temporal resolution, Φ and Ψ are two optional parameters that specify the property of data requested and the duration of the request, respectively. For instance, a request (5, 60s, temperature(A), 3600s) requires a storage node to report the average temperature of region A to node 5 over the last hour once every minute. We 5

note that such a request is also referred to as the sliding-window query in many streaming database systems [26]. The temporal resolution of each request can be different according to the interest of the sink. Moreover, in accordance with several representative WSN applications, we assume the resolution requested by the same sink can change dynamically. In this paper, we assume data sinks are stationary or have low mobility. We leverage the existing solutions to optimize the dissemination topology when sinks are highly mobile [37], [18]. For example, the stationary proxy nodes [37] chosen for the mobile users can serve as data sinks and hence the disruption to the dissemination tree due to mobility can be reduced. B. Network Model We assume all nodes in the network are equipped with omnidirectional antennas. A CSMA MAC protocol such as S-MAC [38] is employed. We assume wireless links are lossy, which is consistent with recent empirical findings [41]. Expected transmission count (ETX) [2], [9] of a link is the expected total number of transmissions before the sender successfully sends a packet to the receiver through the link. To deal with the link loss, we adopt the per-hop reliability model. That is, a sender keeps retransmitting a packet until the packet is successfully received by the receiver or a maximum transmission count is reached. To improve the link reliability, acknowledgements are always transmitted at high transmission power. We note that such a mechanism does not significantly increase the total energy consumption as the length of acknowledgments is much shorter than data packets. The state of a node is either active or sleeping. An active node can work in the following modes: transmitting, receiving and idle. We assume the receiving power is equal to the idle power. This property holds for several WSN platforms such as Mica2 [10] and Telos motes [29]. Accordingly, we refer to the idle and receiving modes interchangeably in the rest of this paper. As the sleeping power consumption is orders of magnitude lower than the active power consumption [10], we only consider the total active power consumption in a network. We define the following terms and notation. 1) R(u, v) represents the ETX of link (u, v), which is computed as

1 , εu,v

where εu,v denotes the

link reception probability of link (u, v) and can be obtained from online link estimators [36]. Note that R(u, v) may not equal R(v, u) due to link asymmetry. 2) G(VG , EG ) represents the network. V includes all nodes in the network and E is defined as E = {(u, v)|(u, v ∈ V ) ∧ (R(u, v) ≤ ℜ)} where ℜ is the threshold on the maximum ETX. 6

3) Ptx and Pid (in the unit of Watt) represent the power consumption of an active node in the transmitting and idle modes, respectively. 4) B (in the unit of Kbps) represents the bandwidth of any node in the network. IV. P ROBLEM F ORMULATION For a given set of data requests, we aim to build a dissemination tree rooted at the source. The nodes on the tree operate in a synchronous sleep schedule determined by the temporal resolutions of requests. All other nodes run in a synchronous sleep schedule with a lower duty cycle. Several lowpower MAC protocols (e.g., S-MAC [38] employ synchronous sleep schedules in which all nodes wake up and go to sleep together. In our problem, the total energy consumption of the nodes on the tree during the lifetime of the requests should be minimized. The dissemination tree should be dynamically adapted in response to the changes of temporal resolutions of data requests. A. Modeling Energy Consumption of Disseminating Nodes We now model the energy consumption of a node on the dissemination tree. Our modeling is based on three important principles. First, our model accounts for the total energy consumption of all active states (idle, transmitting, or receiving) of nodes. According to this model, the minimumenergy dissemination tree depends on the temporal resolutions of data requests. Second, we account for the quality of links and the additional energy consumption due to packet retransmissions. Third, our model takes advantage of the broadcast nature of a wireless channel. Although this property has also been exploited by existing work, our formulation accounts for the data rates of requests as well as the quality of links, and seeks to reduce the number of redundant data (re)transmissions while achieving reliable data delivery on lossy links. To reduce the power waste due to idle listening, each node on the dissemination tree runs in a sleep schedule with a period of Ψ seconds and duty cycle of 0 ≤ β ≤ 1. The duty cycle of a sleep schedule is defined as the ratio of radio listening time to the sleep period. That is, a node remains active for Ψ · β seconds in every Ψ seconds. We assume that Ψ and β are known parameters that can be chosen according to the temporal resolutions supported by the network. Such a periodic sleeping scheduling mechanism is supported by several power-efficient MAC protocols such as S-MAC [38]. For a data request i specified by (t, pi , [Φi , Ψi]) (see Section III-A), we define the normalized data rate of request i as ri =

|Φi | B·pi

where |Φi | represents the size of each packet sent by the source s 7

s

s

u u v

v1

ti (ri)

t1 (r1)

(a) The case of one sink

Fig. 1.

vi

ti (ri)

(b) The case of multiple sinks

The average power consumption of node u in the two cases

that contains a data reading Φi and pi is the temporal resolution of the request i. According to the definition, ri quantifies the fraction of time that the radio works in the transmission state in order to satisfy the request i. Since a node can lie on the dissemination path of one or more sinks, we now derive the average power consumption of the node in these two cases. a) The case of one sink: Suppose the normalized data rate requested by the sink is ri , and the next hop of node u on the dissemination path from a source to the sink is v as shown in Fig. 1(a). The average1 power consumption of u, P (u), is the sum of the power consumption in all radio states weighted by the fraction of time the radio operates in each state. Specifically, P (u) can be derived as follows:

P (u) = Ptx · ri · R(u, v) + Pid · (β − ri · R(u, v)) = (Ptx − Pid ) · ri · R(u, v) + β · Pid = ri · θ(u, v) + z

(1)

where θ(u, v) = (Ptx −Pid ) · R(u, v) and z = β · Pid are defined for the convenience of discussion. As defined in Section III-B, Ptx and Pid denote the power consumption of a node in the transmitting and idle modes, respectively. β is the duty cycle of nodes, i.e., the fraction of time the radio is active, and among which, ri · R(u, v) is the expected fraction of time the radio operates in the transmission state after accounting for the retransmissions due to packet loss, where R(u, v) is the expected number of transmissions before node v successfully receives a packet from u. We note that the transmission 1

The energy consumed by a node in a given time interval is equal to the average power consumption multiplied by the time. As

the data dissemination duration considered in our problem is a large constant and hence we focus on deriving the average power consumption of nodes.

8

power consumption of lossy links is computed in the same way in several recent works [20], [12], [2]. For the rest of time the radio operates in an idle or reception state. Formulation (1) only models the power consumption of data transmissions. The transmission power of acknowledgements can be incorporated by extending the current formulation. We note that several energy-efficient communication schemes [6] do not use acknowledgement packets. For instance, the sender may overhear data packets forwarded by the next-hop node as implicit acknowledgements. As overhearing assumes the same amount of power as idle state, our modeling is directly applicable to this case. The power consumption given by (1) does not include the power consumed by radio when switching from sleep mode to transmission mode. As the switching occurs only once in every period of sleep schedule, this power consumption can be included as part of the constant term z in (1). Moreover, the active interval of radio (i.e., the time before the radio switches to sleep again) is significantly longer than the radio switching time in our model. As a result, ignoring the energy consumption of radio switching does not have a significant impact on the computation of energy consumption in this paper. b) The case of multiple sinks: The derivation of power consumption in the case of multiple sinks with different data rates is more involving because of path sharing. Suppose u lies on the paths from a source to a set of sinks {ti }. Suppose ti requests a normalized data rate of ri , 0 ≤ ri < 1. The next hop node of u on the dissemination path to ti is denoted as vi as shown in Fig. 1(b). As discussed earlier, the effective data rate requested by vi is ri · R(u, vi) due to retransmissions. u then only needs to satisfy the maximum effective data rate of all the next-hop nodes. According to (1), the average power consumption of u can be derived as follows:

P (u) = (Ptx − Pid ) max ri · R(u, vi ) + β · Pid vi

= max ri · θ(u, vi ) + z vi

(2)

B. Minimum-power Multi-resolution Data Dissemination For the convenience of discussion, we first introduce the formulation of a simplified version of our problem referred to as Minimum-power Multi-resolution Data Dissemination (MMDD). In MMDD, 9

the data rate of a request is fixed and the duration of all data requests is the same. We discuss the dynamic MMDD problem in Section IV-D. Given the source s and a set of data requests, a dissemination tree rooted at s is constructed to connect s to all sinks. The nodes on the tree operate in a sleep schedule with duty cycle β while all other nodes run in a low duty cycle. The objective is to minimize the total power consumption of all tree nodes in the active radio states (idle/transmitting/receiving). Definition 1 (MMDD problem): Given a network G(VG , EG ), a source node s, and a set of data requests D = {(ti , ri ) | 1 ≤ i ≤ j}, find a tree T (VT , ET ) ⊆ G with root s, s.t. {ti | 1 ≤ i ≤ j} ⊆ VT and the total power consumption of all the nodes on T , P (T ), is minimal, where

P (T ) =

X

P (u)

u∈VT

= |VT |z +

X

WT (u)

(3)

ri · θ(u, v)

(4)

∃ti ∈ψT (u)

where WT (u) is given by WT (u) =

max

ti ∈ψT (v),v∈ωT (u)

where ωT (u) represents the set of child nodes of u on T while ψT (u) represents the set of nodes on the subtree rooted at u, i.e., the union of node u and all the descendent nodes of u2 . WT (u) is defined as the maximum of ri · θ(u, v) where v is a child of u and also a sink ti or the ancestor of a sink ti . We also define WT (u) = 0 when u does not have any child node. The total power consumption in (3) is obtained by summing the power consumption of each node on tree T . If a node is a leaf, the power consumption is simply z because it is always in either receiving or idle states (which consume the same power as assumed in Section III-B). For node u whose descendants include at least one sink, i.e., ∃ti ∈ ψT (u), the power consumption is given by (2), i.e., the sum of z and WT (u). We now use an example shown in Fig. 2 to illustrate the formulation in (3). In Fig. 2, tree T is composed of 6 nodes. Only three nodes s, g and v have children, where ωT (s) = {g, v}, ψT (s) = {s, g, v, t1, t2 , t3 }, ωT (g) = {t1 , t2 },ψT (g) = {g, t1 , t2 }, ωT (v) = {t3 }, ψT (v) = {v, t3 } The power consumption of each node is first computed using (2). We then show that the total power consumption of all nodes matches formulation (3). According to (2), the power consumption of node s, P (s), can 2

For any vertex u on T , vertex v is a descendent of u if u lies on the unique path from the root to v on T . v is a child of u if v

is adjacent to u and is a descendent of u. Note that a child of u is also a descendent of u.

10

s

v

g t3 (r3)

t2 (r2)

t1 (r1)

Fig. 2. An example of the MMDD problem formulation. Three sinks, t1 , t2 and t3 , request a data rate of r1 , r2 and r3 , respectively.

be computed as: P (s) = z + max{r1 · θ(s, g), r2 · θ(s, g), r3 · θ(s, v)}, which is equal to z + WT (s). Similarly, P (g) = z + max{r1 · θ(g, t1 ), r2 · θ(g, t2)} = z + WT (g) and P (v) = z + r3 · θ(v, t3 ) = z + WT (v). For other nodes, P (t1 ) = P (t2 ) = P (t3 ) = z. The total power consumption is then P 6z + u∈{g,s,v} WT (u). It can be easily seen that this result exactly matches the formulation of (3). C. Hardness of the MMDD Problem We now discuss the hardness of the MMDD problem. When |D| = 1, the MMDD problem becomes a unicast case, which can be solved by Dijkstra’s shortest-path algorithm [5]. When θ(u, v) = 0, formulation (3) reduces to minimize the total number of nodes in VT . This problem is equivalent to finding the minimum weight Steiner tree in G(VG , EG ) with uniform edge weight z to connect the nodes in s ∪ {ti}. This special case of the minimum weight Steiner tree problem is NP-hard [14]. As a result, a natural reduction from this problem can show that the MMDD problem is also NP-hard. Furthermore, when z = 0 and ri = 1, ∀(ti , ri ) ∈ D, (3) reduces to: P (T ) =

X

u∈VT

max θ(u, v)

v∈ωT (u)

(5)

If nodes in the network have tunable transmission power and θ(u, v) is the minimum transmission power of node u to reach node v, (5) minimizes the total transmission power of all nodes on the multicast tree that is rooted at the source and connects all sinks. This problem has been studied as the minimum-power multicast tree [21]. Note that network G(VG , EG ) is directed in our problem because θ(u, v) may not equal θ(v, u) due to link asymmetry. It is shown in [21] that the minimum-power multicast tree problem can be transformed to the problem of finding the minimum weight Steiner tree in directed graphs. The best centralized algorithm for this problem has an approximation ratio of |D|ǫ where ǫ is a positive constant with 0 < ǫ ≤ 1 [8]. When D = VG \ {s}, all the nodes except 11

the source are sinks. As a result, the term |VT |z in (3) becomes a constant for a given network. This special case of the MMDD problem is similar to the one discussed above in which z = 0 and polynomial-time approximation algorithms do not exist. We note that the existing algorithms of the above mentioned special cases cannot be applied to the general MMDD problem. Moreover, the offline algorithms like the one proposed in [21] cannot handle the online arrivals of data requests and dynamic changes of data rates. D. Dynamic MMDD Problem In real-world WSN applications, data requests for a source are often dynamic due to several reasons. First, a new data request may arrive online3 . Second, the temporal resolution of an existing request may change. For example, a user may request a higher data rate when an event of interest is reported. These dynamics introduce a major challenge for the MMDD problem. We now illustrate the impact of dynamic data rates on the choice of dissemination paths in the following two examples. In Fig. 3(a), there exist two different paths from s to t. Each link is labeled with its ETX. We can see that v1 → t is a long link with a higher loss rate. The idle and transmission power consumption of each node are set to 37 and 133 mW according to the data of the CC1000 radio on Mica2 motes [10]. The duty cycle of each node, β, is 10%. The power consumption of the two paths, s → v1 → t and s → v1 → v2 → t, are calculated as the function of data rate requested by t and shown in Fig. 3(b). We can see that which path is more power-efficient depends on the data rate. When the rate is higher than 0.037 (which corresponds to 2.36 Kbps for Mica2 motes with the bandwidth 64 Kbps), the transmission power dominates the total power consumption of a path. Consequently, short and reliable links are favored to minimize the transmission energy. On the other hand, the idle listening power may dominate in the case of a low rate, and hence a long but lossier link like v1 → t is more power-efficient as it reduces the number of nodes on a dissemination path resulting in less idle power waste. Besides the impact on the power efficiency of a single dissemination path, data rates also play an important role in the choice of the dissemination tree. Fig. 4 shows a configuration with two sinks t1 and t2 . In Fig. 4(a), t1 and t2 request normalized rates of 0.03 and 0.01, respectively, and the minimum-power tree is composed of the bold links. As any dissemination tree in such 3

In this paper, we focus on long-term and low data-rate data dissemination applications. Accordingly, we assume that data requests

remain active for a relatively long time before they disappear. Addressing the issue of data request leaves is left to the future work.

12

Power Consumption (mW)

s 1.1 v1 1 3

P(s--v1--t)

P(s--v1--v2--t)

7.4

v2 1

3.7

t

0.037

(a)

Fig. 3.

r (data rate/bandwidth)

(b)

Impact of data rate on the minimum-power dissemination path s

s

1

1 u

u

2

2 1.5

1 t1 (r1=0.03)

1.5 1

v

t2 (r2=0.01)

t1 (r1=0.03)

(a)

Fig. 4.

1

1 v

t2 (r2=0.03)

(b)

Impact of data rate on the minimum-power dissemination tree. The optimal tree in each configuration is composed of bold

solid links.

a configuration must include all nodes on it, we only compute the power consumption related to the transmission power (i.e., the sum term in (3)). According to (3), the total cost of the tree can be calculated as r1 · θ(s, u) + r1 · θ(u, t1 ) + r2 · θ(v, t2 ) = 9.6 mW. When the rate request of t2 increases to 0.03, the optimal tree changes as shown in Fig. 4(b) with a total power consumption of r1 · (θ(s, u) + θ(u, v) + θ(v, t1)) = 10.08 mW, while the total power consumption is 11.52 mW if the original tree in Fig. 4(a) is used. The above two examples show that online data rate changes can impact the power efficiency of an existing dissemination tree. Although a new dissemination tree can be configured to reduce the total power consumption in the presence of data rate changes, frequent tree reconfigurations may result in significant overhead to the network. Therefore, the challenge for the dynamic MMDD problem is to minimize the energy consumption of a dissemination tree in the steady state while reducing the tree reconfiguration overhead due to data rate changes. V. M INIMUM I NCREMENTAL T REE C ONSTRUCTION We develop a novel solution to the dynamic MMDD problem which we refer to as Minimum Incremental Dissemination Tree (MIDT). MIDT includes an online tree construction algorithm that constructs a dissemination tree incrementally when new data requests arrive, and two lightweight 13

tree adaptation heuristics. In this section, we present the tree construction algorithm and analyze its performance. A. An Online Tree Construction Algorithm MIDT expands the existing dissemination tree dynamically in response to the arrivals of new data requests. The pseudo-code of the incremental tree construction algorithm of MIDT is shown in Fig. 5. Without loss of generality, we assume that the sinks arrive online in an order of t1 , t2 , · · · , tj , and Ti (VTi , ETi ) (1 ≤ i ≤ j) denotes the corresponding tree constructed after the arrival of sink ti . At the very beginning when the first sink t1 arrives, VT0 = {s}, ET0 = ∅. Then the subsequent dissemination tree Ti will be constructed based on the existing dissemination tree Ti−1 in response to the arrival of ti . When the source receives a data request from a new sink ti , it finds the shortest path to ti according to a new cost metric dependent on ri as well as the status of nodes (whether included on Ti−1 already). Specifically, the cost of edge (u, v) is defined by function di (u, v, ri) as follows:

di (u, v, ri) =

    ri · θ(u, v) − WT

i−1

   ri · θ(u, v) − WT

(u)

(u) i−1

WTi (u) =

+

+z

+

, v∈ / VTi−1

   max rj · θ(u, w) , (u ∈ VTi ) ∩ (∃tj ∈ ψTi (u)) w∈ωTi (u)

 0

(6)

, Otherwise

(7)

, otherwise

where function [x]+ is equal to 0 if x < 0 and is equal to x, otherwise. ωTi (u) and ψTi (u) are the sets of child nodes of u and the nodes on the subtree rooted at u, respectively. WTi (u) represents the current power consumption of u on tree Ti . The definition of di (u, v, ri) in (6) minimizes the additional power consumption of edge (u, v) due to the arrival of new sink ti . Specifically, di (u, v, ri) is equal to the sum of additional power consumption of node u and v. If node v is a new leaf node (i.e., v is the new sink and is not on the existing tree Ti−1 ), the additional power consumption of v is simply z because v is either in listening or receiving state, as discussed in Section IV-A. Otherwise, the additional power consumption of v is zero. For node u, the additional power consumption is the difference between ri · θ(u, v) and WTi−1 (u)

that is the current power consumption of node u on Ti−1 . In particular, including u on the

tree does not incur any new power consumption if ri · θ(u, v) is no greater than WTi−1 (u). This is consistent with the problem formulation (3) in which the power consumption of u is the maximum 14

ri · θ(u, v) among all its children v. Note that the fixed power consumption of u (i.e., z) and the rate-dependent power consumption of v (i.e., WTi−1 (v)) are not accounted in the cost of edge (u, v). Instead, they are included in the cost of incoming edges of u and outgoing edges of v, respectively. Input: G(VG , EG ), Ti−1 (VTi−1 , ETi−1 ), source s Output: Ti (VTi , ETi ) 1) VT0 = {s}, ET0 = ∅ 2) if new data request (ti , ri )(i ≥ 1) arrives a) Assign cost to each edge (u, v) in G according to function di (u, v, ri). b) Find the shortest path in G from s to ti , Γ(s, ti ). c) Ti = Ti−1 ∪ Γ(s, ti ). 3) end

Fig. 5.

The incremental dissemination tree construction algorithm.

We note that the resulting graph constructed by the algorithm may be a multi-parent tree as two different nodes may choose the same node as the next hop in two iterations. However, this fact does not affect the correctness of the algorithm. The main step of the incremental algorithm is finding the shortest path for each new data request, which can be implemented in a distributed fashion efficiently using the distributed Bellman-Ford (DBF) algorithm with a message complexity of O(|EG | · |G|) where |G| is the diameter of the network4 . The key idea of the algorithm in Fig. 5 is that the dissemination tree is expanded incrementally when a new sink arrives. The new branch of the tree has the minimum cost of connecting the new sink to the existing tree. We note that this idea was also adopted by existing work [27]. In particular, Algorithm M proposed by Nguyen in [27] is an online algorithm that incrementally constructs a multicast tree for a group of nodes. Similarly, Algorithm M also connects a new node to the existing tree by the path with the least cost. Despite the similarity, there exist several key distinctions between [27] and our work. First, a key novelty of MIDT is the adoption of the new link cost model that captures several important factors not jointly considered previously, which include link quality, the broadcast nature of wireless channel and the data rates of requests. In contrast, link cost model design 4

The diameter of network G is defined as the maximum hop count of the shortest path between any two nodes in G.

15

is not the focus of [27]. Second, based on the algorithm in Fig. 5, two new tree adaptation algorithms are presented in Section VI to handle dynamic data rate changes which have not been considered in previous work. Third, the path search procedures used in the Algorithm M and our algorithm are different as the transmission power of nodes are assumed to be variable in [27]. B. Performance Analysis We now analyze the performance of the tree construction algorithm assuming that the data rate of each request is fixed. The case of dynamic data rate changes can be handled by the lightweight tree adaptation heuristics discussed in Section VI. We define the following notation. ΓG (s, t) represents a path from node s to node t in an unweighted graph G. c(y, ΓG (s, t)) denotes the cost of path ΓG (s, t) under function y that defines the cost of each edge of G. We have the following lemma. Lemma 1: Suppose G is a graph that contains source node s and sink nodes {t1 , · · · , tj }. Tj (VTj , ETj ) represents the output of the incremental dissemination tree construction algorithm in Fig. 5 when the data requests arrive in the order (t1 , r1 ), · · · , (tj , rj ). The total cost of shortest paths found by the algorithm is equal to the total power consumption of nodes in Tj defined by (3). That is: X X P (Tj ) = |VTj |z + WTj (u) = c(di , ΓG (s, ti )) ∃ti ∈ψTj (u)

(8)

1≤i≤j

where WTj (u) is given by (7). ΓG (s, ti ) is the shortest path found in the ith iteration of the algorithm (under cost function di (u, v, ti)) when data request (ti , ri ) arrives. Proof: According to definition, P (Tj ) includes a constant cost z for each leaf node. For a nonleaf node u, P (Tj ) includes a cost of z + WTj (u). We now show that

P

1≤i≤j

c(di , ΓG (s, ti ))

includes

exactly the same costs for leaf and non-leaf nodes of Tj . We first discuss the case of leaf nodes. It is easy to see that all leaf nodes are also sinks. For sink node ti , according to (6),

P

1≤i≤j

c(di , ΓG (s, ti ))

includes cost z for ti only once when the shortest path

from the source to ti is found. We now discuss the case of non-leaf nodes. Suppose u is a non-leaf node and (x, u) is the first incoming edge of u that is included on a shortest path when sink ti arrives. As discussed in Section V-A, the cost of edge (x, u), di (x, u, ri), includes a fixed cost z for node u. Moreover, according to the definition of di (x, u, ri), including any subsequent incoming edge of u on a shortest path does not incur any cost for node u. Suppose the outgoing edges of u, (u, wi)(1 ≤ i ≤ m), are included on a shortest path in m iterations during the execution of the algorithm. Note that wi may be identical to wj (i 6= j) when 16

the same outgoing edge of u is included on two different shortest paths. Denote the data requests that u arrive and the trees that are produced in these iterations as (tu1 , r1u ), · · · , (tum , rm ) and T1u , · · · , Tmu ,

respectively. According to the definition of di (x, u, ri), when edge (u, wi) is included on a shortest +

path, the cost of u is the increment riu · θ(u, wi ) − WTiu (u) . Moreover, WTiu (u) is defined as the 

maximum rj · θ(u, wj ) among all data requests arrived so far. Therefore, the total cost of u included in

P

1≤i≤j

c(di , ΓG (s, ti ))

after all data requests arrive is equal to WTmu (u). Formally,



r1u · θ(u, w1 ) + r2u · θ(u, w2 ) − WT1u (u)

+

h

u u + · · · + rm · θ(u, wm ) − WTm−1 (u)

i+

"

=

r1u

· θ(u, w1 ) +

[r2u

· θ(u, w2 ) −

r1u

+

· θ(u, w1 )] + · · · +

u rm

#+

· θ(u, wm ) −

tj ∈ψT u

m−1

= =

max

tj ∈ψT u (u),w∈ωT u (u) m m

max

(u),w∈ωT u

m−1

(u)

rj · θ(u, w)

rj · θ(u, w)

u (u) WTm

Note that WTmu (u) = WTju (u) because WTju (u) only depends on the m data requests whose shortest paths include an outgoing edge of u. So far we have shown that the total cost of u that is included in

P

1≤i≤j

c(di , ΓG (s, ti ))

is z + WTj (u).

In summary, we have shown that

P

1≤i≤j

c(di , ΓG (s, ti ))

includes the cost of z for each leaf node in

Tj and z + WTj (u) for each non-leaf node in Tj , which is exactly the same as P (Tj ). We now show that the performance bound of the online incremental tree construction algorithm is at most the number of data requests that have arrived so far. The proof of this property is based on the following theorem. Theorem 1: Suppose D represents the set of data requests arrived so far. The approximation ratio of the algorithm in Fig. 5 is no greater than |D| relative to the optimal offline solution. Proof: We define a new cost function g(u, v, ri) for edge (u, v) on the path of data request (ti , ri ):

g(u, v, ri) = ri · θ(u, v) + z

(9)

Suppose ΓgG (s, ti ) and ΓdGi (s, ti ) are the shortest paths found under cost functions of di(u, v, ri) and g(u, v, ri) when data request (ti , ri ) arrives, respectively. Note that the cost of edge (u, v) in g(u, v, ri) does not depend on the order of arrival of sinks nor the status of the tree construction. In contrast, di (u, v, ri) defines the incremental cost with respect to the current cost on the existing tree for edge 17

(u, v) . According to (6) and (9), we can see that di (u, v, ri) ≤ g(u, v, ri). Therefore, the cost of path ΓgG (s, ti ) under cost function g(u, v, ri) is no greater than that under cost function di (u, v, ri): c(di , ΓgG (s, ti )) ≤ c(g, ΓgG (s, ti ))

(10)

Furthermore, as ΓdGi (s, ti ) is the shortest path from s to ti under cost function di (u, v, ri), its cost is no greater than the cost of ΓgG (s, ti ) under di (u, v, ri): c(di , ΓdGi (s, ti )) ≤ c(di , ΓgG (s, ti ))

(11)

c(di, ΓdGi (s, ti )) ≤ c(g, ΓgG (s, ti ))

(12)

From (10) and (11), we have:

Suppose T ∗ (VT ∗ , ET ∗ ) is the optimal offline solution to the problem and ΓgT ∗ (s, ti ) is the shortest path in T ∗ that is found under cost function g(u, v, ri). It can be seen that c(g, ΓgT ∗ (s, ti )) is no greater than P (T ∗ ), the power consumption of all nodes in T ∗ . This is because, according to the definition of P (T ∗ ) in (3), the power consumption of node u in T ∗ is the sum of z and the maximum of rk ·θ(u, v) for all data requests (rk , tk ) whose paths host node u while the cost of node u in c(g, ΓgT ∗ (s, ti )) only includes z + ri · θ(u, v). Formally,

c(g, ΓgT ∗ (s, ti )) = |ΓgT ∗ (s, ti )|z +

X

ri · θ(u, v)

(u,v)∈Γ

≤ |VT ∗ |z +

X

∃ti ∈ψT (u)

max

ti ∈ψ(u),v∈ω(u)

ri · θ(u, v)



= P (T )

(13)

where |ΓgT ∗ (s, ti )| denotes the hop count of path ΓgT ∗ (s, ti ) and (u, v) ∈ Γ represents that edge (u, v) lies on path ΓgT ∗ (s, ti ). As ΓgG (s, ti ) and ΓgT ∗ (s, ti ) are the shortest paths found according to the same cost function g(u, v, ri) in graph G and T ∗ , respectively, and T ∗ ⊆ G, the cost of ΓgG (s, ti ) must be no greater than that of ΓgT ∗ (s, ti ): c(g, ΓgG (s, ti )) ≤ c(g, ΓgT ∗ (s, ti ))

(14)

From (12), (13) and (14), we can see that the cost of the shortest path found by the algorithm is no greater than the power consumption of all nodes in the optimal solution: 18

c(di , ΓdGi (s, ti )) ≤ P (T ∗)

(15)

According to Lemma 1, the total power consumption of all nodes in T is the sum of all costs of the shortest paths found in each iteration. Therefore, we have:

P (T ) =

X

c(di , ΓdGi (s, ti ))

(16)

1≤i≤|D|

≤ |D|P (T ∗)

by (15)

C. Distributed Implementation We now discuss the distributed implementation of the tree construction algorithm. The main procedure of the algorithm in Fig. 5, step 2.b, is to find the shortest path for each new data request. This step can be implemented efficiently using the distributed Bellman-Ford (DBF) algorithm [4], [5]. In the original DBF [5], each node stores the shortest hop count to the destination and periodically advertises the value to its neighbors. When receiving an advertisement, a node sets the neighbor with the minimum hop count to the destination as its next hop. As MIDT is designed for disseminating data from a single source to multiple sinks, the source node is responsible for initiating the cost advertisements and each node stores the minimum cost to the source. The DBF has a message complexity of O(|E| · |G|) where |G| is the diameter of the network. In contrast to the DBF that uses the same cost metric (hop count) for finding all paths, MIDT requires a new cost metric (as defined in (6)) when finding a path for a new request. As a result, a new round of cost advertisements is needed when a new request arrives (step 2.b). Hence the message complexity of MIDT is O(|D| · |E| · |G|) where D is the set of requests. For each different data rate, a node in MIDT needs to store a cost to the source from itself and each of its neighbors. Hence the computational and spatial complexity of MIDT is O(|D| · |N|) where N is the neighbor set of a node. VI. L IGHTWEIGHT D ISSEMINATION T REE A DAPTATION Theorem 1 shows that the dissemination tree constructed by MIDT has provable power efficiency. However, as discussed in Section V, the quality of a dissemination tree may degrade when the data 19

rates of requests change. In such a case, a new tree can be found by re-executing the tree algorithm under the new data rates. However, such a strategy is not desirable because of the high overhead. We now present two novel tree adaptation heuristics used by MIDT, which maintain desirable power efficiency of the dissemination tree while reducing the tree reconfiguration overhead. A. Path-quality based Tree Adaptation The basic idea of the path-quality based tree adaptation heuristic is to estimate the upper-bound on the quality degradation of the current dissemination path in the presence of a data rate change, and decide if a new path under the new rate needs to be found. The key to the effectiveness of this heuristic is to accurately estimate the quality degradation of a path without incurring high overhead. 1) Estimating the Quality of an Independent Path: We now discuss a novel technique to estimate the power efficiency of a path relative to the optimal path when the data rate changes. Such estimation is solely based on the information local to the path and hence incurs no additional overhead. In this section, we discuss how to estimate the quality degradation of an independent path that does not share any links with other source-to-sink paths. We extend our result to the case of multiple paths sharing links with each other in Section VI-A.2. We define the following notation. Γ(s, ti ) represents a path from s to ti . (s, ti ) may be omitted if no confusion arises. We define the fixed and rate-dependent costs of Γ as follows:

Pf (Γ) = |Γ| · z X Pr (Γ) = θ(u, v)

(17) (18)

(u,v)∈Γ

According to (1), when the data rate is ri , the power consumption of the nodes on Γ can be expressed as: P (Γ, ri) = Pf (Γ) + ri · Pr (Γ)

(19)

Obviously, the minimum-power path from s to ti depends on ri . When the data rate of a path changes, our goal is to theoretically estimate the difference between the power consumption of the path and that of the optimal path under the new rate. Such estimation is critical for reducing the unnecessary path reconfigurations in the presence of frequent data rate changes. We have the following theorem. Theorem 2: Suppose Γl and Γh represent the minimum-power paths from s to sink ti when the data rates are rl and rh , respectively. rl ≤ rh . Then we have the following relations: 20

rl ) · Pf (Γh ) rh P (Γl , rh ) − P (Γh , rh ) ≤ (rh − rl ) · Pr (Γl ) P (Γh , rl ) − P (Γl , rl ) ≤ (1 −

(20) (21)

Proof: For the convenience of discussion, let Pfh , Pfl , Prh and Prl represent Pf (Γh ), Pf (Γl ), Pr (Γh ), and Pr (Γl ), respectively. Since path Γl is the minimum-power path under rate rl , its power cost must be less than the power cost of path Γl under the same rate:

P (Γh , rl ) ≥ P (Γl , rl ) ⇔ Pfh + rl · Prh ≥ Pfl + rl · Prl

(22)

where P (Γh , rl ) and P (Γl , rl ) are replaced according to (19). Similarly, since path Γh is the minimumpower path under rate rh , its power cost must be less than the power cost of path Γl under the same rate:

P (Γl , rh ) ≥ P (Γh , rh ) ⇔ Pfl + rh · Prl ≥ Pfh + rh · Prh

(23)

We first prove (20) holds. P (Γh , rl ) − P (Γl , rl ) = Pfh − Pfl + rl · (Prh − Prl )

From (23), Prh − Prl ≤

Pfl −Pfh . rh

(24)

Then (24) reduces to:

P (Γh , rl ) − P (Γl , rl ) ≤ Pfh − Pfl + rl ·

Pfl − Pfh rh

rl )(Pfh − Pfl ) rh rl ≤ (1 − )Pfh rh = (1 −

(25)

We now prove (21) holds. From (22), we have: Pfl − Pfh ≤ rl · Prh − rl · Prl 21

(26)

As rh ≥ rl , (26) reduces to: Pfl − Pfh ≤ rh · Prh − rl · Prl

(27)

Then the difference between the power cost of Γl and Γh under data rate rh can be expressed as follows:

P (Γl , rh ) − P (Γh , rh ) = Pfl − Pfh + rh · (Prl − Prh ) ≤ rh · Prh − rl · Prl + rh · (Prl − Prh ) = (rh − rl ) · Prl

The significance of Theorem 2 is that, when the data rate changes, the quality degradation of the existing path constructed based on the old data rate can be estimated solely based on the local information of the path. For example, according to (20), when the data rate increases from rl to rh , the difference between the power consumption of the existing path and the optimal path under new data rate rh can be bounded by the product of rh − rl and the rate-dependent cost of Γ under rate rl , Pr (Γl ). Since Γl is an existing path, both rh − rl and Pr (Γl ) are known quantities. Therefore, the quality degradation of path Γl when data rate changes from rl to rh can be estimated without flooding the whole network. 2) Estimating the Quality of Dependent Paths: Theorem 2 estimates the quality degradation of an independent path that does not share any links with other paths. When multiple paths share links with each other, Theorem 2 is not applicable because different segments of a path may have different data rates due to link sharing. We now discuss how to deal with dependent paths using a simple example illustrated in Fig. 6. In the figure, two dependent paths, s → t1 and s → t2 share the links from source s to node u. The data rates of two sinks t1 and t2 are r1 and r2 , respectively. As path s → u lies on two paths s → t1 and s → t2 , its data rate is equal to max(r1 , r2 ). We now discuss how to estimate the quality degradation of path s → t1 when data rate changes from r1 to r1′ . Obviously, Theorem 2 is not applicable because two possibly different data rates, max(r1 , r2 ) and r1 , exist on the path. Our basic idea to deal with this issue is to estimate the quality degradation of two segments of the path, s → u and u → t1 , separately. As the links on each 22

s

s

max(r1,r2, r3) u

max(r1,r2) max(r1,r2)

u r1

r2

r3 v

r1

r2 t3, r3

t1, r1 => r1'

t2, r2

Fig. 6.

t2, r2

t1, r1 => r1'

(a)

(b)

(a) Two dependent paths, s → t1 and s → t2 , which share the links from s to u. The data rate of segment s → u is

max(r1 , r2 ). (b) Three dependent paths s → t1 , s → t2 and s → t3 . The data rates of segments s → u and u → v are max(r1 , r2 , r3 ) and max(r1 , r2 ), respectively.

path segment have the same data rate, Theorem 2 can be applied. Before we present the details, we define the following notation. Suppose Γ is the minimum-power path from node u to v (under cost function (1)) when the data rate is r. ∆P (r1 , r1′ , u, v) represents the difference between the power consumption of Γ and that of the minimum-power path when the data rate changes to r ′ . According to Theorem 2, we have:



∆P (r, r , u, v) =

  (1 − r′ ) · Pf (Γ) r  (r ′ − r) · Pr (Γ)

, if r > r ′

(28)

, otherwise

Suppose ropt is the data rate under which the power consumption of path s → u is minimum. According to the tree construction algorithm of MIDT, ropt is either r1 or r2 depending on the sequence of arrivals of sink t1 and t2 . Denote the quality degradation of path s → t1 when r1 changes to r1′ as ∆P . ∆P is equal to the sum of quality degradation of two path segments s → u and u → t1 . First, path u → t1 does not share any links with other paths, and hence its quality degradation can be estimated to be ∆P (r1 , r1′ , u, t1 ) using Theorem 2. On the other hand, the quality degradation of path s → u depends on whether the new data rate r1′ causes the current data rate max(r1 , r2 ) change. We define r ′ = max(r1′ , r2 ). We now discuss the following two cases. 1) When r ′ 6= max(r1 , r2 ), the data rate of path s → u is changed to r1′ , and the quality degradation can be estimated to be P (ropt, r1′ , s, u). Note that P (ropt , r1′ , s, u) is solely determined by the new rate r1′ and the data rate under which the path is optimal, ropt , and is independent of the current data rate max(r1 , r2 ). 2) When r ′ = max(r1 , r2 ), path s → u does not see a change of data rate and hence has no quality degradation. In summary, ∆P can be expressed as follows: 23

∆P =

  ∆P (ropt , r ′, s, u) + ∆P (r1 , r ′ , u, t1) 1

 ∆P (r1 , r ′ , u, t1 ) 1

, if r ′ 6= max(r1 , r2 )

(29)

, otherwise

(29) is only applicable to the case in which there exist two sinks in the network. When there are more sinks, a similar equation can be easily derived by dividing a path into multiple path segments with a single data rate. Fig. 6(b) illustrates the case of three sinks. When the data rate of sink t1 , r1 , changes to r1′ , the quality degradation of path s → t1 can be derived as the sum of quality degradation of three segments, s → u, u → v and v → t1 . Theorem 2 can be applied to each segment separately as all links on the segment have the same data rate. 3) Path Adaptation Logic: We now discuss how to determine if a new path will be searched in the presence of a new rate change based on the quality degradation of the existing path. Suppose a data request i is specified by (ti , ri , Ti ) where ri and Ti are the data rate and duration of the request. When the request (ti , ri , Ti ) changes to (ti , ri′ , Ti′) (Ti′ is the duration of the request under new rate ri′ ), MIDT first estimates a quantity, ∆P , which is the upper bound on the difference between the power consumption of the existing path and that of the optimal path under data rate ri′ according to the discussion in Section VI-A.1 and VI-A.2. Then MIDT finds the new shortest-path from source s to ti according to cost function (1) if ∆P · Ti′ > δ. Otherwise, MIDT continues to use the existing path for the request. δ is a tunable parameter determined by the desirable trade-off between the path stability and power efficiency. To achieve the best power efficiency, δ can be set to be the energy consumed by finding the new path. For instance, when the distributed Bellman-Ford shortest path algorithm [5] is used to implement step 2.b of MIDT in Fig. 5, finding a new path requires to propagate the new link costs across the network. In such a case, δ can be approximated by the total energy consumed by a round of network flooding. B. Reference-rate based Tree Adaptation We now propose a new heuristic called the reference-rate based tree adaptation, which always (re)builds a dissemination tree using a single data rate estimated based on the data rates of all existing requests. In contrast to the path-quality based heuristic that adapts the tree on a per-path basis, this heuristic considers the aggregate impact of data rate changes of different paths, which reduces the number of tree adaptations. 24

We first show that building a dissemination tree using a single data rate can achieve provable performance bound if the rate falls within the range of possible data rates. We have the following theorem. Theorem 3: For a given set of requests D with data rates R = {ri |rmin ≤ ri ≤ rmax } and ρ = rmax /rmin , the approximation ratio of tree construction algorithm of MIDT (Fig. 5) assuming that all the data rates are equal to r, is at most ρ|D|, i.e., P (T ) ≤ ρ|D|P (T ∗), as long as rmin ≤ r ≤ rmax holds, where T and T ∗ are the trees found by MIDT and the optimal solution, respectively. Proof: Denote Pr (T ′ ) as the power consumption (computed by (3)) of the dissemination tree T ′ assuming that all the data rates are equal to r. We first show that Pr2 (T ′ ) ≤ Pr1 (T ′ ) ≤

r1 P (T ′ ) r2 r2

holds for any dissemination tree T ′ if r1 ≥ r2 . As function P (·) defined in (3) is nondecreasing with respect to the data rate, Pr2 (T ′ ) ≤ Pr1 (T ′ ) holds. Furthermore,

Pr1 (T ′ ) = |VT ′ |z +

X

max

ψ(u)6=∅

= |VT ′ |z +

v∈ω(u),ti ∈ψ(u)

r1 X r2

ψ(u)6=∅



r1  |VT ′ |z + r2



r1 · θ(u, v)

max

v∈ω(u),ti ∈ψ(u)

X

ψ(u)6=∅

r2 · θ(u, v)

max

v∈ω(u),ti ∈ψ(u)

r2 · θ(u, v)

r1 Pr (T ′ ) r2 2

=



(30)

Let T denote the tree found by the tree construction algorithm of MIDT using data rate r. Since ∀ri ∈ R, ri ≤ rmax and r ≤ rmax , we have: P (T ) ≤ Prmax (T ) ≤

rmax Pr (T ) r

(31)

where the last inequality follows from the inequality (30). Denote the optimal tree found under a single data rate r as T r . According to Theorem 1, we have:

Pr (T ) ≤ |D| · Pr (T r ) ≤ |D| · Pr (T ∗ )

(32)

where the last inequality holds due to the optimality of T r under data rate r. Finally, since rmin ≤ r and ∀ri ∈ R, rmin ≤ ri , we have:

25

Pr (T ∗ ) ≤

r rmin

Prmin (T ∗ ) ≤

r rmin

P (T ∗ )

(33)

where the first inequality also follows from the inequality (30), and the last inequality holds since we use the same tree T ∗ to compute the energy consumption with different rates according to our formulation (3) and rmin ≤ r. Then combining (31), (32) and (33), we obtain: rmax · Pr (T ∗ ) r rmax r ≤ |D| · · P (T ∗ ) r rmin = ρ|D|P (T ∗)

P (T ) ≤ |D| ·

Based on the above theorem, we will show how the online heuristic works in detail as shown in Fig. 7. 1) The reference rate r ∗ is initialized to 0 2) rmin = 0, rmax = 0 3) if a new sink ti arrives with a data rate ri or an existing data request changes its rate ri to ri′ a) Update rmin and rmax according to the new data rates b) if (r ∗ < rmin )||(r ∗ > rmax ) i) Update r ∗ to the average rates of the existing data requests ii) Execute the tree construction algorithm in Fig. 5 with r ∗ c) end 4) end

Fig. 7.

The reference-rate based tree adaption heuristic.

In the reference-rate based heuristic shown in Fig. 7, every time when a new data request arrives or an existing data rate changes, the source checks if the current reference rate falls within the range, [rmin , rmax ], of the existing data rates. If the reference rate is outside the range, the source 26

updates the reference rate to the average rate of the existing data requests and then executes the tree construction algorithm with the new reference rate. Otherwise, the existing tree will be maintained. The intuition behind this algorithm is that the average rate is a good approximation of the existing data rates. At the same time, the reference rate should be updated only when it cannot ensure a bounded power efficiency of the current dissemination tree according to Theorem 3. We note that the source may store the data rate of each existing request together with other information of the request (e.g., ID of the sink node) and hence the additional memory overhead introduced by the heuristic is not significant. During a tree adaptation, a new path needs to be found for each sink. Hence, the total message complexity is O(|D|·|EG|·|G|) where |D| is the number of existing requests and |G| is the diameter of the network. In contrast, the path-quality based heuristic only finds one path during each adaptation, resulting a complexity of O(|EG | · |G|). However, the reference-rate based heuristic may lead to fewer number of adaptations because it considers the aggregate impact of multiple rate changes. VII. P ERFORMANCE E VALUATION A. Simulation Environment and Settings We implemented MIDT in a Matlab-based sensor network simulator Prowler [31], [40]. Prowler is an event-driven simulator, a framework similar to TinyOS/NesC, where different layers communicate with each other via events and commands. Hence, using such a simulator allows us to easily implement some new network modules and port our protocols to the Berkeley motes in the future. The MAC layer in Prowler employs a simple CSMA/CA scheme without RTS/CTS, which is similar to the B-MAC protocol [28] in TinyOS. This simple approach is not as effective as the more sophisticated protocols (e.g. IEEE 802.11 [1]) in terms of collision avoidance, but it certainly consumes less energy and the communication overhead is much smaller. Accurate simulation to the highly probabilistic link characterization [41] of WSNs is the key to evaluating the realistic performance of MIDT. We implemented a link layer model from USC [42] in Prowler. Experimental data shows that the USC model can simulate the highly unreliable links on the Mica2 motes [42]. To improve the link reliability, we implemented an ARQ (Automatic Repeat Request) scheme that retransmits a packet if an acknowledgment is not received after a timeout. The maximum number of retransmissions before dropping a packet is 8. A link quality estimator similar to the one in [36] is used by each node to periodically assess the ETXs to its neighbors. 27

In our simulations, 200 nodes are deployed in a 150 × 150 m2 region divided into 10 × 10 grids. Each grid contains two nodes that are randomly5 placed within the grid. Sinks are randomly chosen. Each sink issues a data request to the source at a random time within the initial 100s of the simulations. The storage node is located at (150, 75) to increase the hop count from the sinks. The radio bandwidth is 40 Kbps. Power parameters of the radio are set according to the data sheet of the CC1000 radio on Mica2 motes [10]. The transmission power is set to 4 dbm with current consumption of 11.6 mA6 . Nodes on the dissemination tree run a synchronous sleep schedule in which the active and sleep intervals are 50 and 450 seconds, respectively. Other nodes run a duty cycle of 1% with a much shorter active interval. The source sends data to sinks according to their requested data rates during the active interval such that they can be woken up quickly. The data rates in representative WSN applications often have a wide range. For instance, a surveillance WSN may normally report a reading summary to a user in every a few minutes and must increase the data rate to about a few packets/second when a target is detected [39]. To evaluate MIDT under a wide range of possible scenarios, the data rate in our simulations is varied from 1-200 packets during the 50-second active interval. The size of each packet is 30 bytes, which is similar to the default setting of TinyOS. The results in this section are the average of 5 different network topologies. t80

t80 t18

t18

t1

t1 s

s

t2

t42

t2

t141

t42

t141

(b) The high-rate dissemination tree.

(a) The low-rate dissemination tree.

Fig. 8. The topologies of two dissemination trees found by MIDT under low and high data rates. Small and large black dots represent sleeping nodes and relay/sink nodes, respectively. Six sinks are randomly distributed. Each sink is labeled by its node id. The total numbers of relay nodes in (a) and (b) are 11 and 22, respectively.

5

A random quantity in the simulation settings is always obtained from the uniform distribution.

6

Mica2 has multiple transmission power levels. We choose the default power level in our simulation.

28

B. Performance with Fixed Data Rates Fig. 8 shows the topologies of dissemination trees found by MIDT when the data rates requested by sinks are low and high. There exist six sinks uniformly deployed at random in the region. The data rates of sinks in Fig. 8(a) and Fig. 8(b) are randomly chosen within 0.5 ∼ 2 and 20 ∼ 40 packets per 50-second active interval, respectively. Each data rate lasts for 1000 seconds. When data rates are low, nodes remain in the idle state in most of the time. In such a case, Fig. 8(a) shows that the tree found by MIDT uses more long links, which results in fewer routing nodes and hence reduces the idle listening power. On the other hand, when data rates are high, nodes operate in the transmission state in most of the time. Fig. 8(b) shows that the tree uses more short links. As the quality of short links is better, the total transmission power is reduced. The result of Fig. 8 clearly demonstrates the impact of data rates on the choice of power-efficient dissemination paths. For performance comparison, we implemented three baseline algorithms: minimum transmission count tree (MTT), transmission count Steiner tree (TST) and data-rate Steiner tree (DST). In MTT, the source finds the path of minimum ETX to each sink. TST is the same as MIDT except that the data rate in the link cost function is set to one (ri = 1 in (6)). TST is similar to typical energy-efficient multicast algorithms in which the cost of a node is its transmission power. DST is a minimum Steiner tree approximation algorithm where the cost of a link is the maximum data rate of the flows on the link. DST is similar to the tree construction algorithm used by an existing data dissemination protocol SEAD [18]. 140

MIDT TST DST MTT

80 70

MIDT TST DST MTT

120

Total Energy Cost(J)

Total Energy Cost(J)

90

60 50 40 30

Control Message Overhead(kBytes)

100

100

80

60

40

20 20 10 0

2

4

6

Num of Requests

Fig. 9.

8

10

0

2

4

6

8

10

1600

MIDT TST DST MTT

1400 1200 1000 800 600 400 200 0

2

Num of Requests

4

6

8

10

Num of Requests

Total energy consumption in the Fig. 10. Total energy consumption in the Fig. 11. The overhead of different algo-

low-rate scenario.

mixed-rate scenario.

rithms.

The performance of all algorithms is evaluated under two settings referred to as the low-rate and mixed-rate traffic patterns. These two scenarios simulate the data dissemination patterns in infrequent monitoring WSNs under normal and event-reporting modes. In the low-rate scenario, the average rates of all requests are randomly chosen from 0.5 ∼ 2 packets per 50-second active interval. In 29

the mixed-rate scenario, one third of the requests (rounded to the closest integer) have high rates randomly chosen from 20 ∼ 40 packets per active interval. In this set of simulations, sinks do not change their data rates, which allows us to compare MIDT against the baseline algorithms that are not designed to handle dynamic data rate changes. Fig. 9 and Fig. 10 show that MIDT yields the lowest energy consumption among all the algorithms. Specifically, MIDT outperforms the baseline algorithms by up to 21 − 54% and 19 − 33% in the low-rate and mixed-rate scenarios. TST performs better in the mixed-rate scenario because it always chooses the paths with smaller ETXs, which is more power-efficient in the case of high data rates. The performance of MTT is the worst as it does not take advantage of the broadcast nature of wireless channel. The results of Fig. 9 and Fig. 10 demonstrate the necessity of joint consideration of data rates, transmission/idle power, and link quality in order to minimize the total energy consumption of data dissemination under different traffic patterns. Fig. 11 shows the overhead of different algorithms measured by the total number of control messages sent. MTT has the lowest overhead because it only requires one round of cost advertisements in finding the shortest path tree. Despite the higher overhead, MIDT yields much lower total energy consumption than MTT as shown in Fig. 9 and Fig. 10. 1800

1400

path−adp path−fix path−chg rate−adp rate−fix rate−chg

3000

1400 1200 1000 800 600

MIDT TST DST MTT

400 200 0

2

4

6

8

1000

800

600

MIDT TST DST MTT

400

200

10

0

2500

2000

1500

1000

500

0 2

Num of Requests

4

6

8

10

2

The end-to-end delay in the Fig. 14.

mixed-rate scenario.

4

6

8

10

Num of Requests

Num of Requests

Fig. 12. The end-to-end delay in the low- Fig. 13. rate scenario.

Total Energy Cost(J)

1200

End−to−end delay(ms)

End−to−end delay(ms)

1600

Total energy consumption of

tree adaptation heuristics.

Fig. 12 and Fig. 13 show the average end-to-end delay of data packets received by all sinks. MIDT yields the longest delays in the low-rate scenario due to the large ETXs of its paths. This is because the paths with fewer nodes but higher ETXs are more power-efficient when data rates are low, as discussed in Section IV-D. Nevertheless, all packets are delivered within two seconds in MIDT. In contrast, MIDT yields shorter delays in the mixed-rate scenario because the paths with smaller ETXs are more power-efficient in such a case. 30

C. Performance of Tree Adaptation Heuristics We now evaluate the effectiveness of the tree adaptation heuristics of MIDT. The reference-rate and path-quality based heuristics are denoted as rate-adp and path-adp, respectively. We compare them against four baseline heuristics. rate-fix and path-fix construct the tree in the same way as rate-adp and path-adp, respectively. However, they do not adapt to dynamic data rates once the tree is constructed. In contrast, a tree adaptation is always performed in rate-chg and path-chg after each data rate change. According to Section VI-A.3, the adaptation threshold in path-adp, δ, should equal the energy consumed by finding a new path, which is difficult to measure in practice. We set δ to be the total energy of transmitting three packets per node. Each sink randomly changes its data rate 10 times in a simulation. The time that a data rate lasts within the active intervals of nodes is referred to as the rate duration. For instance, a rate duration of 100s represents two 50-second active intervals, i.e., 1000s of total simulation time. Fig. 14 shows the energy consumption of MIDT with different adaptation heuristics. The rate durations are randomly chosen from 100 ∼ 1000s. rate-adp and path-adp consistently yield the least energy consumption among all heuristics. Specifically, they outperform the best baseline heuristic by up to 21% and 33%, respectively. rate-chg has the worst performance as the overhead incurred by each tree adaptation is much higher than that of path-quality based heuristic as discussed in Section VI-B. 2200

path−adp path−fix path−chg

800

1800

700 600 500 400 300

1600

1200 1000 800 600 400

100

200 2

4

6

8

Num of Requests

(a) 100s rate duration. Fig. 15.

10

0

path−adp path−fix path−chg

3500

1400

200

0

4000

path−adp path−fix path−chg

2000

Total Energy Cost(J)

Total Energy Cost(J)

900

Total Energy Cost(J)

1000

3000 2500 2000 1500 1000 500

2

4

6

8

Num of Requests

(b) 500s rate duration.

10

0

2

4

6

8

10

Num of Requests

(c) 1000s rate duration.

Performance of path-quality based adaptation heuristic with different rate durations.

The adaptation logic of path-adp depends on how long each new data rate lasts. We plot the energy consumption of MIDT with path-adp under three different rate durations: 100s, 500s and 1000s, in Fig. 15. When the rate duration is 100s, path-fix significantly outperforms path-chg because the rate duration is short, and hence the benefit of finding a better path may be counteracted by the overhead 31

3000

rate−adp rate−fix rate−chg

1600

4500

rate−adp rate−fix rate−chg

2500

Total Energy Cost(J)

Total Energy Cost(J)

1800

1400 1200 1000 800 600 400

2000

1500

1000

3500 3000 2500 2000 1500 1000

500 500

200 0

rate−adp rate−fix rate−chg

4000

Total Energy Cost(J)

2000

2

4

6

8

Num of destination nodes

(a) 100s rate duration. Fig. 16.

10

0

2

4

6

8

10

0

2

4

Num of destination nodes

(b) 500s rate duration.

6

8

10

Num of destination nodes

(c) 1000s rate duration.

Performance of reference-rate based adaptation heuristic with different rate durations.

of path adaptation. On the other hand, path-chg is superior to path-fix with the rate duration of 1000s because path adaptation is beneficial due to the long duration of each data rate. path-adp yields significantly less energy consumption than path-fix and path-chg with all three rate durations. We also plot the energy consumption of rate-adp under three different rate durations: 100s, 500s and 1000s, in Fig. 16. We can see that rate-adp consistently outperforms rate-fix and rate-chg under all settings. Consistent with the result of Fig. 15, rate-fix is superior to rate-chg under the duration of 100s and 500s, and performs similarly as rate-chg when the rate duration reaches 1000s. This is because tree adaptation is only beneficial when the new data rates last for a substantial duration. The overall results of Fig. 15 and Fig. 16 show that path/tree adaptation should be performed only when the duration of new data rates exceeds a certain threshold. Accordingly, the relative performance of two strategies, always using the same path/tree and always finding a new path (tree) when data rates change, depends on the duration of new data rates. In contrast, the path-quality and reference-rate based heuristics can effectively estimate the benefit of path/tree adaptations and find new paths/trees only when the benefit exceeds the overhead of adaptation. D. Path-quality vs. Reference-rate based Tree Adaptations Fig. 14 shows that rate-adp and path-adp perform similarly under random rate durations. We now compare their performance in greater detail. The result in this section provides important guidance on which adaptation heuristic is more suitable in different application scenarios. In the first simulation, we choose an application scenario with bursty data requests. Each sink alternates its request between a high data rate and a low data rate 10 times during the simulation. The low and high rates are randomly chosen from 1 ∼ 2 and 120 ∼ 200 packets per active interval of 50 seconds. The duration of each rate is randomly chosen from 100 ∼ 1000s. For instance, a sink may request one packet per active interval for 500 seconds, and then request 150 packets per 32

2200

2200

1800

Total Energy Cost(J)

Total Energy Cost(J)

1800 1600 1400 1200 1000 800 600

1600 1400 1200 1000 800 600

400

400

200

200

0

2

4

500

path−adp rate−adp

2000

6

8

10

Num of Requests

Total Routing Energy Cost(J)

path−adp rate−adp

2000

0

2

4

6

8

10

path−adp−bursty−rates rate−adp−bursty−rates path−adp−unknown−duration rate−adp−unknown−duration

450 400 350 300 250 200 150 100 50 0

2

Num of Requests

(a) Bursty rates.

(b) Unknown rate durations. Fig. 17.

4

6

8

10

Num of Requests

(c) Overhead of two heuristics.

Comparison of two tree adaptation heuristics.

interval for 100 seconds. Such a data request pattern simulates the queries from different users in a monitoring WSN which reports low- and high-frequency events at different data rates. Fig. 17(a) shows that path-adp is superior to rate-adp with bursty data rates. This is because, once the average date rate falls within the range of the high and low rates, it likely remains so as the requests always alternate between the high and low rates and hence the probability that the two rates co-exist is high. Therefore, rate-adp rarely adapts the tree. However, the quality of a path degrades drastically when the rate alternates. In contrast, path-adp accurately captures the quality degradation of a path, and hence triggers more path adaptations as shown in Fig. 17(c). The second simulation has the same setting as in Fig. 14 except that the duration of each new data rate is unknown to path-adp. For instance, the duration of a user query may depend on the lifetime of an event of interest that cannot be determined a priori. In such a case, path-adp randomly decides whether to perform a path adaptation after each data rate change. Fig. 17(b) shows that the performance of rate-adp is not affected because its adaptation strategy is independent of rate durations. In contrast, the performance of path-adp suffers considerably because the estimation on the path quality degradation is inaccurate due to unknown rate durations. Consequently, too many path adaptations are triggered by path-adp as shown in Fig. 17(c). In contrast, path-adp only incurs very small adaptation overhead. VIII. C ONCLUSION In this paper, we proposed the minimum incremental dissemination tree (MIDT) approach for the problem of dynamic multi-resolution data dissemination in WSNs. MIDT includes an online tree algorithm with provable performance bound and two lightweight tree adaptation heuristics. Our simulations show that MIDT outperforms several typical dissemination schemes. The two tree 33

adaptation heuristics can achieve desirable energy efficiency while reducing the tree reconfiguration overhead under a wide range of traffic patterns. In particular, the path-quality based heuristic can accurately capture the path quality fluctuations when data requests have bursty rates while the reference-rate based heuristic is more suitable when the data rates of requests have unknown durations. IX. ACKNOWLEDGEMENT The work described in this paper was partially supported by the Research Grants Council of Hong Kong under grants RGC 9041266 and CityU 114006, and NSF China under grant 60633020. R EFERENCES [1] ANSI/IEEE. Wireless lan medium access control (mac) and physical layer (phy) specifications. ANSI/IEEE std 802.11, 1999 Edition. [2] S. Banerjee and A. Misra. Minimum energy paths for reliable communication in multi-hop wireless networks. In ACM MobiHoc, pages 146–156, 2002. [3] S. Banerjee, A. Misra, Y. Jihwang, and A. Agrawala. Energy-efficient broadcast and multicast trees for reliable wireless communication. In IEEE Wireless Communications and Networking (WCNC), 2003, volume 1, pages 660–667, 2003. [4] R. Bellman. On a routing problem. Quarterly of Applied Mathematics, 16(1), 1958. [5] D. Bertsekas and R. Gallager. Data Networks. Prentice-Hall, 1987. [6] Q. Cao, T. He, L. Fang, T. F. Abdelzaher, J. A. Stankovic, and S. Son. Efficiency centric communication model for wireless sensor networks. In Infocom, 2006. [7] U. Cetintemel, A. Flinders, and Y. Sun. Power-efficient data dissemination in wireless sensor networks. In 3rd ACM international workshop on data engineering for wireless and mobile access, pages 1–8, 2003. [8] M. Charikar, C. Chekuri, T.-Y. Cheung, Z. Dai, A. Goel, S. Guha, and M. Li. Approximation algorithms for directed steiner problems. J. Algorithms, 33(1), 1999. [9] D. S. J. D. Couto, D. Aguayo, J. Bicket, and R. Morris. A high-throughput path metric for multi-hop wireless routing. In MobiCom, 2003. [10] Crossbow. Mica and mica2 wireless measurement system datasheets. 2003. [11] S. Ding and N. Ishii. An online genetic algorithm for dynamic steiner tree problem. In IECON 2000: 26th Annual Confjerence of the IEEE Industrial Electronics Society, volume 2, pages 812–817, 2000. [12] Q. Dong, S. Banerjee, M. Adler, and A. Misra. Minimum energy reliable paths using unreliable wireless links. In MobiHoc, 2005. [13] D. Ganesan, B. Greenstein, D. Perelyubskiy, D. Estrin, and J. Heidemann. An evaluation of multi-resolution storage for sensor networks. In SenSys, pages 89–102, 2003. [14] M. R. Garey and D. S. Johnson. Computers and Intractability; A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., 1990. [15] T. He, S. Krishnamurthy, J. A. Stankovic, T. Abdelzaher, L. Luo, R. Stoleru, T. Yan, L. Gu, J. Hui, and B. Krogh. Energy-efficient surveillance system using wireless sensor networks. In International Conference On Mobile Systems, Applications And Services (MobiSys), pages 270–283, 2004. [16] M. Imase and B. M. Waxman. Dynamic steiner tree problem. SIAM Journal on Discrete Mathematics, 4(3):369–384, 1991.

34

[17] C. Intanagonwiwat, R. Govindan, and D. Estrin. Directed diffusion: a scalable and robust communication paradigm for sensor networks. In MobiCom, pages 56–67, 2000. [18] H. S. Kim, T. F. Abdelzaher, and W. H. Kwon. Minimum-energy asynchronous dissemination to mobile sinks in wireless sensor networks. In SenSys, pages 193–204, 2003. [19] D. Li, X. Jia, and H. Liu. Energy efficient broadcast routing in ad hoc wireless networks. IEEE Trans on Mobile Computing, 3(2):144–151, 2004. [20] X.-Y. Li, H. Chen, Y. Shu, X. Chu, and Y.-W. Wu. Energy efficient routing with unreliable links in wireless networks. In The Third IEEE International Conference on Mobile Ad-hoc and Sensor Systems (MASS), pages 160–169, 2006. [21] W. Liang. Constructing minimum-energy broadcast trees in wireless ad hoc networks. In MobiHoc, pages 112–122, 2002. [22] W. Liang. Approximate minimum-energy multicasting in wireless ad hoc networks. IEEE Transactions on Mobile Computing, 5(4), 2006. [23] H. Liu, X. Jia, P. Wan, C. Yi, S. Makki, and N. Pissinou. Maximizing lifetime of sensor surveillance systems. IEEE/ACM Trans on Networking, 15(2):334–345, 2007. [24] J. D. Lundquist, D. R. Cayan, and M. D. Dettinger. Meteorology and hydrology in yosemite national park: A sensor network application. In IPSN, 2003. [25] M. Machado, O. Goussevskaia, R. Mini, C. Rezende, A. Loureiro, G. Mateus, and J. Nogueira. Data dissemination in autonomic wireless sensor networks. IEEE Journal on Selected Areas in Communications, 23(12), 2005. [26] S. Madden, M. Franklin, J. Hellerstein, and W. Hong. The design of an acquisitional query processor for sensor networks. In International Conference on Management of Data (SIGMOD), pages 491–502, 2003. [27] G. D. Nguyen. General algorithms for construction of broadcast and multicast trees with applications to wireless networks. Journal of Communications and Networks, 7(3), 2005. [28] J. Polastre, J. Hill, and D. Culler. Versatile low power media access for wireless sensor networks. In SenSys, 2004. [29] J. Polastre, R. Szewczyk, and D. Culler. Telos: Enabling ultra-low power wireless research. In IPSN, pages 364–369, 2005. [30] S. Ratnasamy, B. Karp, S. Shenker, D. Estrin, R. Govindan, L. Yin, and F. Yu. Data-centric storage in sensornets with ght, a geographic hash table. Mob. Netw. Appl., 8(4), 2003. [31] G. Simon. Probabilistic wireless network simulator. http://www.isis.vanderbilt.edu/projects/nest/prowler/. [32] R. Szewczyk, A. Mainwaring, J. Polastre, J. Anderson, and D. Culler. An analysis of a large scale habitat monitoring application. In SenSys, pages 214–226, 2004. [33] B. Wang and S. K. S. Gupta. S-REMIT: a distributed algorithm for source-based energy efficient multicasting in wireless ad hoc networks. In IEEE Global Telecommunications Conference (GLOBECOM), volume 6, pages 3519–3524, 2003. [34] B. M. Waxman. Routing of multipoint connections. IEEE Journal on Selected Areas in Communications, 6(9):1617–1622, 1988. [35] J. E. Wieselthier, G. D. Nguyen, and A. Ephremides. Energy-efficient broadcast and multicast trees in wireless networks. Mob. Netw. Appl., 7(6), 2002. [36] A. Woo, T. Tong, and D. Culler. Taming the underlying challenges of reliable multihop routing in sensor networks. In SenSys, pages 14–27, 2003. [37] F. Ye, H. Luo, J. Cheng, S. Lu, and L. Zhang. A two-tier data dissemination model for large-scale wireless sensor networks. In MobiCom, pages 148–159, 2002. [38] W. Ye, J. Heidemann, and D. Estrin. Medium access control with coordinated, adaptive sleeping for wireless sensor networks. IEEE/ACM Transactions on Networking, 12(3):493–506, June 2004. [39] H. Zhang, A. Arora, Y. ri Choi, and M. G. Gouda. Reliable bursty convergecast in wireless sensor networks. In MobiHoc, pages 266–276, 2005. [40] Y. Zhang. Routing modeling application simulation environment. http://www2.parc.com/spl/projects/era/nest/Rmase/.

35

[41] J. Zhao and R. Govindan. Understanding packet delivery performance in dense wireless sensor networks. In SenSys, pages 1–13, Los Angeles, CA, November 2003. [42] M. Zuniga and B. Krishnamachari. Analyzing the transitional region in low power wireless links. In The First Annual IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks (SECON), pages 517–526, October 2004.

36

Suggest Documents