Optimal wake-up scheduling of data gathering trees for wireless sensor networks

Optimal wake-up scheduling of data gathering trees for wireless sensor networks

J. Parallel Distrib. Comput. 72 (2012) 536–546 Contents lists available at SciVerse ScienceDirect J. Parallel Distrib. Comput. journal homepage: www...

977KB Sizes 0 Downloads 40 Views

J. Parallel Distrib. Comput. 72 (2012) 536–546

Contents lists available at SciVerse ScienceDirect

J. Parallel Distrib. Comput. journal homepage: www.elsevier.com/locate/jpdc

Optimal wake-up scheduling of data gathering trees for wireless sensor networks Ungjin Jang, Sunggu Lee ∗ , Sungjoo Yoo Department of Electrical Engineering, POSTECH, San 31 HyoJa-Dong, Nam-Gu, Pohang, Gyungbuk, 790-784, Republic of Korea

article

info

Article history: Received 8 February 2011 Received in revised form 17 January 2012 Accepted 21 January 2012 Available online 28 January 2012 Keywords: Wireless sensor network Wake-up scheduling Data gathering tree Environmental monitoring

abstract In order to gather sensor data, a data gathering tree is commonly created as a subnetwork of a wireless sensor network. Power conservation is of paramount importance in such networks, and using periodic sleep–wake cycles for sensor nodes is one of the most effective methods for power conservation. This paper addresses the problem of scheduling the sleep–wake cycles of nodes in a data gathering tree under deadline constraints. After formally modeling the problem being addressed, an optimal wake-up frequency assignment (OWFA) algorithm, which takes into account the data rate at each node and the total permitted delay, is proposed. The results of simulations under various conditions showed that OWFA consumed about 8.6% ∼ 24.3% less average power, and thus resulted in a 7.4% ∼ 26.0% longer network lifetime, than a previously proposed method that did not consider individual data rates. © 2012 Elsevier Inc. All rights reserved.

1. Introduction Wireless Sensor Networks (WSNs) consist of many sensor nodes. Each node deployed in a target area senses specific physical and chemical data such as temperature, intensity of illumination, vibration and concentrations of specific substances. The collected data, which may be post-processed to increase communication efficiency, can then be forwarded to a gateway node, using a sequence of wireless communication steps, which can then send it to a server computer for more time and compute-intensive processing. In order for the sensor data to be useful in making decisions, such data must arrive at the server computer within a reasonable amount of time. Although the permitted delay will vary with the application, there are also real-time applications that place deadlines on the permitted delay from the source of the data event to the gateway node. For instance, a forest fire monitoring system needs to receive smoke detection information within a preset deadline in order to be able to respond effectively to potential forest fires. The Global Seismographic Network [9] is a practical example of an environmental monitoring network that is used to prepare for natural disasters. Monitoring via WSNs also can be used in the industrial world. Tiwari et al. developed a WSN for machinery Condition-Based Maintenance (CMB) [27] and implemented a CBM sensor network on a heating and air conditioning plant as a case study. Monitoring applications need several requirements to be costeffectively operated. One of the most important requirements is



Corresponding author. E-mail addresses: [email protected] (U. Jang), [email protected] (S. Lee), [email protected] (S. Yoo). 0743-7315/$ – see front matter © 2012 Elsevier Inc. All rights reserved. doi:10.1016/j.jpdc.2012.01.008

low power usage by each sensor node because most sensor nodes are powered by small batteries that are difficult to replace in the field. Therefore, modules that control a sensor node, such as the microcontroller, RF radio and sensors, are designed for low power usage. Nevertheless, it is well known that the most effective method for power conservation is the use of periodic sleep–wake cycles with long sleep periods followed by short wakeup periods during which necessary communication and sensing activities can take place. For example, the ATmega128 [1], one of the most popular microcontrollers used in WSNs, consumes several hundreds of times lower power during sleep mode than active mode (even if it is idle active). Taking the above considerations into account, this paper addresses the problem of scheduling wake-up intervals for all nodes in a WSN data gathering tree such that a preset delay deadline is met while utilizing the minimum amount of total power in the WSN. A multi-hop route in the data gathering tree, which is assumed to be a fixed topology, is used to transmit sensor data from a sensor node to the gateway node. However, since two adjacent nodes must be active at the same time in order for the two nodes to be able to communicate, a local time synchronization mechanism (whereby two adjacent nodes know the clock values and wake-up periods used by each other) is assumed. In addition to its regular wake-up interval, a node will become active during the next wakeup period of its parent node in the data gathering tree if the former has data to send. The main contributions of this paper are as follows. We propose an optimal algorithm to determine the wake-up frequency of each node for WSNs that have a delay limitation in data delivery from any node in the WSNs to the gateway node. Compared with previous work, the power consumption model is improved to take into account possible differences in data rates. Simulations are used to quantify the improvement of our approach (found

U. Jang et al. / J. Parallel Distrib. Comput. 72 (2012) 536–546

to be about 7.4%–26.0%) over an alternative wake-up frequency determination algorithm [5] that does not consider differences in data rates. The rest of this paper is organized as follows. Section 2 reviews previous works related to the wake-up scheduling of WSN nodes. Section 3 explains the system model used to represent the wake-up scheduling problem. Section 4 presents the proposed optimal algorithm, and Section 5 provides an analysis of the proposed algorithm. Section 6 discusses the simulation results, and the paper concludes with Section 7. 2. Related works There have been several previous works related to the wake-up scheduling problem in WSNs. Tian et al. proposed a scheduling scheme that maintains sensing coverage while turning off redundant nodes determined by a coverage-based off-duty eligibility rule and a backoff-based node-scheduling scheme [26]. In [22], Sichitiu proposed an energy conservation scheme that spans the routing and medium access control (MAC) layers. In the proposed scheme, each time-synchronized node manages a schedule table that specifies when actions, such as sampling, transmission and reception, have to take place. In [21], Ren et al. proposed a MAC protocol, named ASCEMAC, based on a fuzzy logic rescheduling scheme that does not require time synchronization. Wu et al. proposed a wake-up scheduling method for low-duty cycle WSNs that considers the effect of time synchronization errors [28]. In [31], Zhao et al. presented virtual backbone scheduling (VBS). In VBS, backbone nodes work with duty-cycling and non-backbone nodes turn off radios to save energy. The authors formulated a problem to maximize the network lifetime and solved the problem using approximation because the problem is NP-hard. Simulation results showed that VBS prolongs the network lifetime under various conditions. Wu et al. proposed a scheduling algorithm based on a TDMA MAC protocol in [29]. They focused on the assignment of consecutive time slots to sensor nodes while reducing the number of state transitions and proved that the energy consumed by the proposed method is at most twice the optimum. There also exist studies that address the trade-off between power usage and delay. In S-MAC [30], each node starts its periodic listen and sleep states based on a schedule table that records its known neighbors’ schedules. In [10], Hohlt et al. proposed a dynamic scheduling protocol. They conducted a simulation that showed the trade-off between energy and latency. In [19], Rajendran et al. introduced the traffic-adaptive medium access (TRAMA) protocol. TRAMA switches nodes to sleep state by using an adaptive election algorithm that determines the current state (transmit, receive or sleep) of each node. They also analyzed the latency of scheduled medium access and showed that the main components of the latency in TRAMA are the queuing delay and scheduling latency. In [14], Lai et al. addressed the wake-up scheduling of sensor nodes from the viewpoint of routing from each node to the gateway node. They characterized the expected energy consumption and latency probability on each path. Then, they formalized an optimization problem that minimizes the weighted sum of energy consumption while satisfying the maximum latency probability. They solved the optimization problem by two methods, a centralized algorithm based on convex polynomial under-estimators and a distributed simulated annealing technique. In [12], Keshavarzian et al. analyzed forward and backward direction delays of various wakeup patterns. Based on this analysis, they proposed a multi-parent method that assigns multiple parents with different wake-up schedules to each node to reduce backward delay. A major drawback of all of the above methods was that none of them guaranteed a delay bound for sensor data sent from a sensor

537

node on the leaf of the data gathering tree to a gateway node. Sun et al. [24] presented Demand Wake MAC (DW-MAC); sensor nodes wake up on demand during their sleep periods so that data transmissions do not collide. This increases the effective channel capacity under high traffic loads. In [15], Lai et al. presented heterogeneous quorum-based wake-up scheduling scheme for WSNs. They proposed two quorum schemes, cyclic quorum system pair (cqs-pair) and grid quorum system pair (gqs-pair), and a node can adopt two quorum systems. The cqs-pair provides an optimal solution in terms of energy saving ratio and the gqspair is automatically formed by any two grid quorum systems. Kim et al. proposed sleep–wake scheduling that minimizes the expected delay and maximizes the lifetime of event-driven WSNs in [13]. The authors developed anycast-based packet forwarding schemes to minimize the expected packet-delivery delays. Tang et al. presented a Predictive-Wakeup MAC (PW-MAC) in [25]. In PW-MAC, each node wakes up to receive data at randomized, asynchronous times. To enable accurate prediction of receiver’s wake-up times, a prediction error correction mechanism that addresses unpredictable delays and clock drifts was introduced. In evaluations, PW-MAC showed lower average duty cycles and delivery latencies than alternative methods. In [5], Cohen and Kapchits proposed an optimal wakeup scheduling algorithm minimizing energy consumption with guaranteed delay. They decomposed the energy consumption of a node into two parts. One is the energy portion consumed during every wake-up period, including energy consumed for receiving data from children nodes. The other is a constant energy term that is not related to the wake-up frequency, such as energy consumed for sending data to a parent node. Because only the former part is affected by the wake-up frequency, they formalized the wake-up scheduling as an optimization problem in which the objective is to determine the wake-up frequency of each node that minimizes total energy consumption of nodes while satisfying the maximum delay constraint. They proposed an optimal solution with a linear computational complexity. Compared to the previous studies, our work has several differences and advantages. The proposed approach assigns a different wake-up frequency for each node to minimize the total power consumption in the data gathering tree. Most of the previous works related to wake-up scheduling adopted the same wake-up frequency for all nodes [22,28,31,29,30,10,19,12,24,15] or probabilistic wakeup frequencies [26,14,25]. Our method also guarantees delivery delays from any node to the gateway node. Although several other works also considered the trade-off between power consumption and delay, except for [5], none of them guaranteed a delay bound. Although our approach is most similar to [5], the two main differentiating factors in our approach are that a more accurate power consumption model is used and that differences in data rates of child and parent nodes in the data gathering tree are taken into account. 3. The system model A given wireless sensor network consisting of n nodes can be represented by an undirected graph G = (V , E ). V is the set of sensor nodes in the WSN and E is the set of edges between each pair of nodes that are able to communicate with each other. A data gathering tree, which is a spanning tree of G, is used to transfer data from each sensor node to the gateway node. The data gathering tree can be constructed by a spanning tree algorithm. Because the spanning tree scheme is not the main focus of this paper, it is assumed that any spanning tree algorithm, such as [23,4,16,7], can be adopted to construct the required tree. Although this appears to imply the use of a static data gathering tree, dynamic trees could also be considered by periodically

538

U. Jang et al. / J. Parallel Distrib. Comput. 72 (2012) 536–546

changing the spanning tree being used. Given a static data gathering tree, the energy levels of nodes closest to the sink will tend to become depleted the fastest because all paths to the sink must lead through them. In order to prevent this situation, it may be desirable to periodically reconfigure the data gathering tree being used, perhaps after moving or changing the sink node. If this is done using one of the previously proposed spanning tree construction methods, the approach presented in this paper can also be effective with dynamic data gathering trees. 3.1. The power consumption model For power conservation, every node except the gateway node (which could have its own power supply source) goes to sleep and wakes up in a periodic manner. When a node wakes up, it can receive data from its child nodes and send data to its parent. A node that needs to forward data to its parent should transmit the data while the parent is awake. Therefore, it is assumed that each node in the WSN is globally or locally time synchronized with its neighboring nodes and also knows the times when its neighbors wake up. Previously proposed time synchronization methods [20, 17,2,6,8,18,11] could be adopted for this purpose. The energy conservation model used in this paper assumes a WSN with a very low sleep–wake duty cycle (asleep most of the time). However, since only very loose time synchronization is required, a method such as [6,8,18,11] with a long synchronization period could still be used. Data transfers occur during the periods when both the sender and receiver nodes are awake. When a parent node wakes up, it stays awake until all of its child nodes complete sending their data. It is also assumed that each node transmits at least one packet that contains its own sensed data whenever its parent wakes up. In the case of an intermediate node, which has at least one child node, the intermediate node should transfer the packets received from its child nodes as well as the packet generated by itself. Received packets are temporarily stored until the parent node wakes up, and then they are forwarded to the parent. Under these assumptions and considerations, the power consumption of each node consists of three parts. (1) Power consumption for data reception: Let Dv be the amount of data received from the child nodes of node v when v wakes up. The received data is composed of the packets generated by the child nodes of v and the packets forwarded through them. Let dv be the size of the data packet generated by v . The set of child nodes of v will be denoted by c (v). Each node (except the gateway node) will sleep and wake up according to a preset schedule. Let fv denote the wake-up frequency of a node v . Then, the data delivery rate Dv can be represented by Eq. (1).

  dci (v)     ci (v)∈c (v) Dv =     fci (v) · Dci (v)   d +  ci (v)  ci (v)∈c (v)

fv

if all child nodes of v are leaf nodes,

wake-up interval, the power consumed by v for receiving data is represented by Eq. (2). pv _r = fv · (erv · Dv + orv ). (2) (2) Power consumption for data transmission: A node sends data during every wake-up interval of its parent node. Therefore, the power consumption for data transmission is related to the wakeup frequency of the parent node. Let esv be the average energy consumed by v to send a packet to its parent node and osv be the overhead energy used to send data, mainly consumed due to listening to the channel to avoid contention with other nodes. Then, the power consumed by v to send data is represented by f ·D Eq. (3). (dv + fv v ) represents the amount of data sent by node p(v)

v . The scaling factor fv /fp(v) for Dv is applied for the same reason as in Eq. (1).

 pv _s = fp(v) ·

esv ·

 dv +

fv · Dv fp(v)



+ osv



= fp(v) · (ev · dv + ov ) + fv · esv · Dv . s

s

(3)

(3) Power consumption for other activities: Sensor nodes execute a few additional activities, such as time synchronization, localization or routing tree construction, as well as data gathering. Even though these activities are periodically executed, since they are independent of the wake-up frequency for data gathering, the power consumption for these activities can be considered as constants. Let pv _b be the power consumed for all such activities. From (1) to (3), the power consumption of an arbitrary node v in the data gathering tree can be represented by Eq. (4). esv of the gateway node is zero because the gateway node only receives data from its child nodes and does not forward the data to any other node. Also, fv of every leaf node is zero because leaf nodes do not need to wake up to receive data. pv = pv _r + pv _s + pv _b

  = fv · (erv + esv ) · Dv + orv + fp(v) · (esv · dv + osv ) + pv_b

(4)

3.2. Problem formalization Let T (vg ) represent the data gathering tree and vg be the root of T (vg ). vg is also the gateway node of G. Let PATH (v) be the set of nodes on the data delivery path from v to vg in the data gathering tree. Then the problem addressed in this paper can be formalized as follows. Problem MIN_WAKEUP. Given a data gathering tree T (vg ), determine  the wake-up frequency of each node in T (vg ) that minimizes v∈T (vg ) (fv · ((erv + esv ) · Dv + orv ) + fp(v) · (esv · dv + osv )) subject to the following constraints:

• for every node except leaf nodes in T (vg ),



1 i∈PATH (v) fi

≤ ∆,

and • for every node except leaf nodes in T (vg ), fv > 0. (1)

otherwise.

For the upper case in Eq. (1), Dv is the sum of the data generated by the child nodes of v because leaf nodes only have data generated by themselves. For the lower case, the child nodes of v transfer data received from their child nodes as well as data generated by themselves. A node ci (v) ∈ c (v) receives data equal to fci (v) · Dci (v) per unit time from its child nodes. Therefore, the amount of data forwarded to v is this value divided by fv . Let erv be the average energy consumed by v to receive a packet from its child node and orv be the overhead energy used when receiving data, mainly due to synchronizing the listening channel while waiting for packets from child nodes. Since v receives data from its child nodes at every

∆ in the first constraint above denotes the maximum delay permitted when delivering data from any node in the data gathering tree to the gateway node. If a child node of v wishes to send data to v , it must wait until the next wake-up interval of v . In the worst case, this waiting time is equal to the sleep interval of v . Thus, since the sleep interval will typically be much longer than the wake-up interval (in order to achieve effective power conservation), the data delivery delay of v is approximated by the inverse of fv . Delay variations caused by processing or channel contention are typically much smaller than the above waiting time and are thus omitted for simplicity. The overhead power component pv _b is also not included in the objective function in the MIN_WAKEUP problem because pv _b is independent of the wakeup frequency of each node. Table 1 summarizes the terms used to represent the system model in this paper.

U. Jang et al. / J. Parallel Distrib. Comput. 72 (2012) 536–546

539

Table 1 Symbols used in the system model. Symbol

Description

T (v) p(v) c (v) ci (v) pv fv dv Dv erv esv orv osv

Data gathering tree of which the root is node v Parent node of node v Set of child nodes of node v i-th child node of node v Power consumption of node v [J/s] Wake-up frequency of node v [1/s] Amount of data generated by v in 1 wake-up interval Amount of data delivered to v in 1 wake-up interval Energy consumed when receiving a packet [J] Energy consumed when sending a packet [J] Energy consumption overhead for receiving packets [J] Energy consumption overhead for sending packets [J] Delay constraint for forwarding data [s] Energy consumption coefficient [J]

∆ αv

Fig. 1. Pseudocode for OWFA.

4. The proposed algorithm This section presents an optimal solution to the MIN_WAKEUP problem. Both centralized and distributed implementations are presented. In order to determine wake-up frequencies for each node in a data gathering tree such that power consumption is minimized while satisfying the upper bound data delay requirement, the objective function used in the MIN_WAKEUP problem is first transformed into a weighted sum of wake-up frequencies. The objective function can be rewritten as shown in Eqs. (5) and (6).

  v∈T (vg )

fv · (erv + esv ) · Dv + orv + fp(v) · (esv · dv + osv )





Fig. 2. Pseudocode for ALPHA_CALCULATION procedure.



 

=

orv + (erv + esv ) · Dv

fv ·

v∈T (vg )

  

+

ci (v)∈c (v)

=



esci (v)

· dci (v) +

osci (v)



(5)

fv · αv .

(6)

v∈T (vg )

In Eq. (6), the multiplier of fv has been extracted into the single term αv , henceforth referred to as the energy consumption coefficient of node v . Lemma 1 provides a useful expression for αv . Due to its length, the proof of Lemma 1 is relegated to the Appendix. Lemma 1. The α -value of a node v is represented by Eq. (7).

 αv = ov + r

 ci (v)∈c (v)

 osci (v)

 +



esk



+

erj

j∈PATH (v)

 · dci (v) .

(7)

k∈PATH (ci (v))

4.1. Centralized implementation Now, we introduce our optimal wake-up frequency assignment (OWFA) algorithm, used to assign an optimal wake-up frequency for each node in the data gathering tree. As shown in Fig. 1, OWFA consists of three procedures, ALPHA_CALCULATION (Fig. 2), COMBINE_NODE (Fig. 3) and ASSIGN_FREQ (Fig. 4). In ALPHA_CALCULATION, αv is calculated by summing the overhead energy values and data transmission energy values of all child nodes (Line 2 in Fig. 2). The accumulated energy consumption

Fig. 3. Pseudocode for COMBINE_NODE procedure.

for data delivery edv is passed to v ’s child nodes as a parameter of ALPHA_CALCULATION for v ’s child nodes (Line 4 in Fig. 2). COMBINE_NODE recursively calculates αT (v) , the combined energy consumption coefficient of T (v), so that finally the combined energy consumption coefficient of the entire data gathering tree can be calculated. The combined energy consumption coefficient represents the total energy consumed with frequency fT (v) by nodes in T (v). fT (v) , the combined wake-up frequency of T (v), is the conceptual wake-up frequency of T (v) that is obtained by considering T (v) as a 1-hop tree where the root node of the tree wakes up with frequency of fT (v) and the total energy consumption at every wake-up interval of the root node is αT (v) . For a node that has only leaf child nodes, αT (v) is equal to αv (Line 2 in Fig. 3). For all other cases, αT (v) is calculated using αv and the combined energy consumption coefficients of v ’s child nodes (Lines 6 and 7 in Fig. 3). The correctness of the calculation of αT (v) is proven in Lemma 3 in Section 5. After αT (v) of every node is calculated, ASSIGN_FREQ recursively assigns the wake-up frequencies by using αT (v) and ∆. fv is determined by multiplying a coefficient satisfying fT (v) · αT (v) = fv · αv +



fT (ci (v)) · αT (ci (v))

ci (v)∈c (v)

to fT (v) , which equals the inverse of ∆ (Line 4 in Fig. 4), and ASSIGN_FREQ is then executed again for the child nodes of v with the delay limit that is allocated to the descendants of v (Line 6 in Fig. 4). The proof of the optimality of this frequency assignment is shown in Section 5.

540

U. Jang et al. / J. Parallel Distrib. Comput. 72 (2012) 536–546 Table 2 Total average power consumption of example trees.

Identical frequency OWFA Improvement ratio

(a)

(b)

(c)

920 690.5 24.9%

540 529.7 1.9%

3880 3297.5 15.0%

Fig. 4. Pseudocode for ASSIGN_FREQ procedure.

Fig. 5. Simple data gathering tree examples. The number inside each circle denotes the α -value of each node and the number outside each circle denotes the assigned wake-up frequency.

4.2. Usage examples In order to demonstrate the operation of OWFA, three simple data gathering tree examples, shown in Fig. 5, have been used. The number inside each circle denotes the α -value for each node and the number outside each circle means the assigned wakeup frequency for that node. A node connected to its parent by a dotted line represents a leaf node. For all nodes, we assume that orv , osv , erv , esv and dv are 1. The delay limit ∆ is set to 0.1. First, the α -value of each node is calculated by the ALPHA_CALCULATION procedure. For the case of Fig. 5(a), the α -value of the gateway node is 1 + 5 · ((1 + 1 + 1) · 1) = 16 because the gateway node has five child nodes. edv of the gateway node’s child node is 1 + 1 + 1 = 3 and its α -value is 1 + 1 · ((3 + 1 + 1) · 1) = 6. Next, the αT (v) of each node is calculated by the COMBINE_NODE procedure. The αT (v) values of the offspring of the gateway node are the same as the α -value of those nodes because they have only   √ leaf child nodes. αT (v) of the gateway node is 16 + 16 · (5 · 6) · √ (1 + 5 · 6/16) = 89.8. Finally, the wake-up frequency for each node can be assigned by the ASSIGN_FREQ procedure. The   √ wake-up frequency of the gateway node is 16 + 16 · (5 · 6) · (16 · 0.1) = 23.7 and √  the √ delay limit for each child node is 16 · (5 · 6) · 0.1 / 16 + 16 · (5 · 6) = 0.058. Finally, the wake-up frequencies (all identical) √ of the gateway node’s child nodes can be calculated as (5 + 5 · 0)/(5 · 0.058) = 17.3. The wake-up frequencies and α -values of all of the nodes in the data gathering trees of Fig. 5(b) and (c) are also computed using the same sequence of steps. Wake-up frequencies for the nodes in WSN data gathering trees can be computed using any one of a number of alternative methods. However, as will be shown in Theorem 1 of Section 5, OWFA assigns the optimal frequencies given the system model presented in Section 3. Most previous works assign identical wakeup frequency values for nodes using sleep/wake cycles for power conservation. Table 2 shows the total average power consumption values that would result with OWFA and an algorithm that assigns an optimal identical wake-up frequency to all nodes. The improvement achieved with OWFA is shown to be between 1.9%

Fig. 6. Pseudocode for the OWFA_DIST algorithm.

and 24.9%. More detailed comparisons (based on simulations) using general topologies and alternative algorithms will be presented in Section 6. 4.3. Distributed implementation Since the nodes in a WSN operate independently, a distributed solution to the MIN_WAKEUP can be implemented much more efficiently than the centralized solution presented above. The distributed version of OWFA, named OWFA_DIST, in shown in Fig. 6. The basic structure of the distributed version is not significantly different from the centralized version of Fig. 1. The main difference is that each node calculates its own αv (Line 10 of Fig. 6), αT (v) (Line 16) and fv (Line 20). The recursive calls in the ALPHA_CALCULATION, COMBINE_NODE and ASSIGN_FREQ procedures of OWFA are replaced by data exchanges between parent and child nodes (Lines 2, 4, 8, 11, 15, 18 and 21). Lines 5–11 are used to calculate an α -value for each node. Then, Lines 12–18 calculate the combined α -value of each subtree. Finally, the wakeup frequency of each node is assigned in Lines 19–21. 5. Analysis 5.1. Optimality analysis Both the OWFA and OWFA_DIST algorithms are optimal solutions for the MIN_WAKEUP problem. This is proven in this

U. Jang et al. / J. Parallel Distrib. Comput. 72 (2012) 536–546

section by first introducing a pair of lemmas. Lemma 2 shows the optimal wake-up frequency assignment for a 2-hop data gathering tree. Then, it is shown that a 2-hop data gathering tree can be shown to be equivalent (with respect to power consumption and data delivery delay) to a 1-hop data gathering tree with a combined α -value in Lemma 3. Based on these two lemmas, the optimality of OWFA is proven in Theorem 1. For wake-up frequency assignment, 1-hop and 2-hop data gathering trees are the simplest topologies to analyze. A 1-hop tree consists of a root node and one or more child nodes. All child nodes are leaf nodes, and leaf nodes can simply stay in sleep mode until their parent wakes up (at which time any data that needs to be transmitted can be sent). Thus, wake-up frequency assignment is not necessary for child nodes in a 1-hop tree. A 2-hop tree consists of a root node, child nodes of the root node and one or more grandchild nodes. For the same reason as above, wake-up frequencies do not need to be assigned to grandchild nodes or leaf child nodes. The following lemma address the wake-up frequency values that need to be assigned to the root node and non-leaf child nodes in a 2-hop tree. Lemma 2. For a 2-hop tree with a root node p and non-leaf child nodes ci , i = 1, 2, . . . , m, the optimal wake-up frequency assignment for each node is

 αp +

αp ·

m 

αci

i=1

fp =

αp  αp +

αp ·

m 

·

 αp ·

m 

·

αci

,

1



Two pairs of fp and fc values are obtained by applying the quadratic formula to the above equation and substituting the solution to Eq. (10).

 αp ·

αp +

αci

i=1

fp =

αp  αp +

f ci =

m 

m 

αp ·

 αp ·

m 

,



·



αci

i =1

1

·

αci

1

i =1

 αp −

αp ·

αci

i=1

fp =

αp  αp −

f ci =

m 

αp ·

m 

 − αp ·

m



,



·



αci

i =1

1

·

αci

1

.

i =1

However, fc of the second pair becomes a negative value because α of each node is a positive value. Therefore, the first pair of fp and fc values is the unique optimal wake-up frequency assignment for a 2-hop network.  (8)

αci

i=1

fci =

1



541

.

i=1

Proof. For an optimal assignment, fci values, for all i, should be equal to each other because all ci nodes have the identical parent p, and the total delay of the path from any ci → p should be equal to ∆. If a path has a shorter delay than ∆, the overall power consumption could be reduced by decreasing the wakeup frequency of any node on this path, which would increase the worst-case delay at that node. Now, let fc be the common wake-up frequency of all non-leaf child nodes. Then, we obtain

Lemma 3. With respect to the total power consumed and the total delay incurred, any 2-hop tree T (v) can be replaced by a 1-hop tree with a combined wake-up frequency fT (v) and a combined energy consumption coefficient αT (v) . Proof. A 2-hop tree divides the total permitted delay ∆ between the root node and a non-leaf child node in the manner shown in Lemma 2. Thus, an equivalent 1-hop tree T (v) should simply assign all of this delay ∆ to the root node. Next, to ensure equivalent power consumption, the energy consumption coefficient αT (v) to 1 , αT (v) be used in the 1-hop tree must be computed. Since fT (v) = ∆ can be obtained by substituting Eq. (8) into Eq. (9).

      m   αv       1 αci  · 1 +  pv = αv + αv · ·  m   ∆  v∈G i =1 αci 

i=1



pv = fp · αp + fc ·

v∈T (p)

m 

αci

(9)

i =1

where 1 fp

+

1 fc

(10)





dfp v∈T (p)

pv = αp −



i=1

= ∆.

To derive the value of fp that minimizes v∈T (p) pv , let us differentiate Eq. (9) with respect to fp while substituting Eq. (10) into Eq. (9). Then, we obtain d

     m   αv      = αv + αv · αci  · 1 +   · fT (v)  m    i =1 αci 

q

(∆ · fp − 1)

2

·

= αp · (∆ · fp − 1) − 2

m 

α ci = 0

i =1 m 

By iteratively applying Lemmas 2 and 3, wake-up frequency values can be assigned to all nodes of a general k-hop data gathering tree. This is essentially the strategy adopted in both the OWFA and OWFA_DIST algorithms. The following theorem shows that these algorithms are optimal. Theorem 1. The wake-up frequencies assigned by the two versions of OWFA are optimal.

α ci

i =1 m

= αp · ∆2 · fp 2 − 2 · αp · ∆ · fp + αp −

= αT (v) · fT (v) . 

 i =1

αci .

Proof. Because the overall operation of the centralized and the distributed versions of OWFA are identical, our proof for the optimality of OWFA will be shown for only the centralized version (OWFA). In ALPHA_CALCULATION, edv represents the accumulated

542

U. Jang et al. / J. Parallel Distrib. Comput. 72 (2012) 536–546

energy required and transmission in the  for data reception  delivery path j∈PATH (v) erj + k∈PATH (v) esk . By adding esc (v) to this  i accumulated energy, the combined value becomes j∈PATH (v) erj +  s k∈PATH (ci (v)) ek in Eq. (7). Therefore, the αv value computed using ALPHA_CALCULATION is correct. From Lemma 3, αT (v) calculated in the COMBINE_NODE procedure is also a constant. Therefore, recursive execution of COMBINE_NODE can transform a general data gathering tree into a 2-hop tree for the purpose of computing power consumption values. For the transformed 2-hop tree, the wake-up frequency of the parent node calculated by Line 4 in ASSIGN_FREQ is optimal from Lemma 2 and the delay permitted to the sub-tree, ∆T (ci (v)) , is as follows.

∆T (ci (v)) = ∆ −

αv +

 αv · =

αv +



αv · ∆  αv ·

ci (v)∈c (v)

 ci (v)∈c (v)



αv ·

αT (ci (v))

αT (ci (v)) · ∆

 ci (v)∈c (v)

αT (ci (v))

.

By executing ASSIGN_FREQ with ∆T (ci (v)) , the wake-up frequencies of the child nodes can be assigned. Let us assume that the optimal wake-up frequency assignment for the transformed 2-hop network does not lead to the optimal assignment for the entire tree. If the optimal wake-up frequency of a node v is higher than the wake-up frequency computed by OWFA, the wake-up frequencies of some of the other nodes should be higher because the ratio of the wake-up frequencies of the parent and non-leaf child nodes in the 2-hop tree should be a constant by Lemma 2. Then, the total delay from a leaf node to the gateway node becomes shorter than the permitted delay. This is not an optimal assignment because the power consumption can be reduced by decreasing the wake-up frequency of a node while satisfying the delay constraint. In the opposite case, if the optimal wake-up frequency of v is smaller than the calculated frequency, so are the wake-up frequencies of the other nodes. Then, the total delay of the data gathering tree exceeds the delay limit. Since both cases lead to contradictions, the frequencies assigned by OWFA are optimal.  5.2. Computational complexity analysis The computational complexity of OWFA can be analyzed by looking at each step of each algorithm and focusing on the steps that result in multiple computations or waits. The centralized algorithm is basically a sequence of computations while the distributed algorithm requires each node to exchanges messages with its parent and child nodes in the data gathering tree. Theorem 2. Given a data gathering tree consisting of n nodes, the computational complexity of OPT_FREQ _ASSIGN is O(n). Proof. In ALPHA_CALCULATION, because Lines 1 and 2 are executed once for all nodes, the computational complexity of ALPHA_CALCULATION is O(n). In COMBINE_NODE, either Line 2 or Line 6 is executed once to calculate αT (v) for each of the n nodes. Therefore, the computational complexity of COMBINE_NODE is also O(n). In ASSIGN_NODE, Line 4 is executed once for all n nodes; so its computational complexity is also O(n). Because these three procedures are sequentially executed, the computational complexity of OWFA is O(n).  Theorem 3. Given a data gathering tree with degree d (i.e., at least one intermediate node has d − 1 child nodes as well as a parent node) and height h, OWFA_DIST will complete in O(h · d) time from the moment when it is started on all of the nodes.

Proof. The OWFA_DIST algorithm basically consists of a sequence of computations, data transmissions and waits to receive data. Since there are no iterative loops or recursive function calls, the only significant delays are incurred due to the waits for data. Lines 4 and 15 of the algorithm involve waits from child nodes while Lines 8 and 19 involve waits from parent nodes. The former involve data propagation from leaf nodes up to the root while the latter involve data propagation from the root to leaf nodes. Clearly, the former type of data propagation will require O(h · d) time while the latter type will require O(h) time. Thus, the theorem follows.  6. Simulation results In order to further evaluate the quality of the OWFA, we developed a simulation environment using Microsoft Visual C++ and conducted simulations to compare the OWFA algorithms to alternative methods. Since the proposed centralized and distributed algorithms essentially perform the same computations, the two algorithms are considered as one algorithm and referred to as simply ‘‘OWFA’’. As mentioned in Section 2, most previous methods for wake-up frequency assignment used identical wakeup frequency values for all nodes [22,28,31,29,30,10,19,12,24,15] or a randomly assigned wake-up frequency value for each node [26, 14,25]. An exception is the method proposed by Cohen and Kapchits [5], which assigned optimal wake-up frequency values based on a system model that did not account for differences in data generation and delivery rates or differences in the energy required for overhead operations, data reception or data transmission. Thus, four different types of methods, referred to as same (for identical wake-up frequencies), random, Cohen’s method and OWFA, were implemented and compared in our simulations. For all simulation scenarios, each node was randomly deployed in a 100 m × 100 m target area and the size of a packet dv was set to 1. We also assumed that erv and esv values were equal for every node because the power consumption of the RF module in full power transmit mode is almost the same as the power consumption in receive mode [3]. Energy consumption overhead values, orv and osv , may be affected by the network environment — but, for simplicity, we assumed that they are the same as erv and esv . The routing tree used for data gathering was obtained by constructing a spanning tree based on breadth-first search so that each node has a minimum hop-distance path to the gateway node. The simulation results in the static tree topologies are shown in Figs. 7–12. Each data point in the simulation plots were obtained by averaging 100 simulations using different random seeds. Since the absolute values of simulation results such as average power consumption and network lifetime changed drastically as the random seed was changed, the simulation results obtained were shown relative to the average power consumption and network lifetimes achieved with data gathering trees where every node had the same wake-up frequency for the same random seed. In the first set of simulations, we deployed 1000 nodes in the target area and set the delay limit to 0.1 s. Then, we varied the transmission range of each node from 10 to 40 m with intervals of 5 m. Figs. 7 and 8 show the average and standard deviation of the average power consumption and network lifetime normalized to the identical wake-up frequency method. As is typical, the network lifetime is defined as the time period from the beginning of the simulation to the time instant when the first node exhausts its energy allotment and dies. Identical initial energy allotment values were used for all nodes except the gateway node, which was assumed to have infinite initial energy (it could be powered by a power line or use replaceable batteries). For all transmission ranges, OWFA consumed 8.6%∼24.3% less average power as shown in Fig. 7. Fig. 8 shows that OWFA had

U. Jang et al. / J. Parallel Distrib. Comput. 72 (2012) 536–546

Fig. 7. Average and standard deviation of power consumption values, as the transmission range is varied, of OWFA, Random and Cohen’s method normalized to the identical wake-up frequency assignment method.

7.4%∼19.9% longer network lifetimes than Cohen’s method. As the transmission range increased, the average power consumption also increased in both methods. This is because a node tends to have more child nodes and the maximum distance from a leaf node to the gateway node gets shorter as the transmission range of each node increases. Thus, the number of intermediate nodes that need to be assigned wake-up frequencies decreases. This means that the power consumption savings that can be obtained by assigning different wake-up frequencies to the intermediate nodes also decreases. What is worse, for transmission ranges longer than 30 m, Cohen’s method consumed more average power than the identical wake-up frequency assignment method because the increase in power consumption caused by the inaccurate αv used exceeded the power consumption reduction enabled by using different wake-up frequencies. The normalized network lifetime of OWFA decreased as the transmission range increased. This was a natural consequence of the increased average power consumption. However, the normalized lifetime of Cohen’s method increased again for transmission ranges longer than 30 m. Even though the average power consumption of Cohen’s method exceeded the average power consumption of the identical wake-up frequency assignment method, the number of intermediate nodes decreased and the number of child nodes of the gateway node increased. The result was that the power consumption increment caused by the inaccurate αv of each intermediated node decreased and the power consumption of the gateway node increased. Since we assumed that the energy of the gateway node was infinite and defined the network lifetime as the time instant when the first intermediate node that consumed all of its energy died, the normalized network lifetime increased. In the second set of simulations, we deployed 1000 nodes in the target area and varied the delay limit from 0.1 to 100 s. The transmission range of each node was fixed at 20 m. Figs. 9 and 10 show the average and standard deviation of the normalized average power consumption and network lifetimes as the delay limit was varied. In all cases, OWFA consumed 16.4%∼16.8% less average power and had 18.2%∼20.2% longer network lifetimes than Cohen’s method. In the third set of simulations, the delay limit was fixed at 0.1 s and the transmission range of each node was fixed at 20 m. Then, we varied the density of the deployed nodes by deploying 500–2500 nodes within the same target area. Figs. 11 and 12 show the average and standard deviations of the normalized average power consumption values and network lifetimes as the number

543

Fig. 8. Average and standard deviation of the network lifetimes, as the transmission range is varied, of OWFA, Random and Cohen’s method normalized to the identical wake-up frequency assignment method.

Fig. 9. Average and standard deviation of power consumption values, as the permitted delay limit is varied, of OWFA, Random and Cohen’s method normalized to the identical wake-up frequency assignment method.

Fig. 10. Average and standard deviation of the network lifetimes, as the permitted delay limit is varied, of OWFA, Random and Cohen’s method normalized to the identical wake-up frequency assignment method.

U. Jang et al. / J. Parallel Distrib. Comput. 72 (2012) 536–546

5

1

Lifetime

Normalized Lifetime

Power 4

0.8

3

0.6

2

0.4

1

0.2

0

1

2

3

4

Normalized Power Consumption

544

0

The Number of the Gateway Nodes Fig. 13. Power consumption and network lifetime of OWFA in the dynamic tree topologies normalized to the identical wake-up frequency assignment method. Fig. 11. Average and standard deviation of power consumption values, as the number of deployed nodes is varied, of OWFA, Random and Cohen’s method normalized to the identical wake-up frequency assignment method.

second. The transmission range of each node was fixed at 20 m. Simulation results show that applying OWFA algorithm to dynamic tree topologies significantly increases the network lifetime as the number of gateway nodes increases, but the power consumption remains at about the same level. Other combinations of parameters showed similar results. 7. Conclusion

Fig. 12. Average and standard deviation of the network lifetimes, as the number of deployed nodes is varied, of OWFA, Random and Cohen’s method normalized to the identical wake-up frequency assignment method.

of deployed nodes was varied. OWFA consumed 12.8%∼15.6% less average power and had 14.2%∼26.0% longer network lifetimes than Cohen’s method. The differences between the average power consumption values of the two methods increased as the number of deployed nodes was increased. This was due to the fact that, as the node density was increased, each intermediate node in the data gathering tree tended to have more child nodes, thereby increasing the importance of assigning good wake-up frequency values for those intermediate nodes. To prevent the premature depletion of energy in those nodes that are adjacent to the root of the data gathering tree, the tree topology can be dynamically changed in an adaptive manner. Simulations were conducted to show that OWFA can also be applied to such ‘‘dynamic’’ tree topologies. In these simulations, it was assumed that multiple gateway nodes were deployed on the target area and one of them was initially selected to be the root node of a data gathering tree at the start of a simulation run. Then, if any node’s remaining energy went below 20% of its initial energy level, the root node was changed to another gateway node and the data gathering tree was reconstructed. Fig. 13 shows the averages of the normalized power consumption and network lifetimes as the number of gateway nodes was varied. The number of deployed nodes was 1000 and the delay limit was fixed at one

This paper has proposed an optimal algorithm for assigning wake-up frequencies for each node in a WSN data gathering tree. OWFA minimizes the total average power consumption of the data gathering tree while limiting the total delay for delivering data from any node in the tree to the gateway node. A power consumption model that takes into account the differences in data rates of each node in the tree is used. Rigorous analysis is used to prove that OWFA assigns optimal wake-up frequencies to all nodes. To further evaluate the performance of OWFA, simulations were conducted while varying the transmission range of each node, the delay limit and the density of the deployed nodes. The simulation results showed that the wake-up frequencies assigned by OWFA resulted in significantly less average power consumption and longer network lifetimes than three alternative methods under all simulated conditions. Moreover, OWFA can also be applied to a dynamic tree topology, which results in a significant increase in the network lifetime when compared to a static tree topology. Appendix. Proof for Lemma 1 Proof. If v is the gateway node, sv is zero. By substituting Eqs. (1)– (4), we obtain



 

pv = fv ·

ci (v)∈c (v)

+ (ev + ev ) · r

s

r

r

ev · dci (v) + ov +



 ci (v)

osci (v)

fci (v) · Dci (v) + pv _b .

ci (v)∈c (v)

Because the second and third terms are not  related to fv , αv of the gateway node should be equal to orv + ci (v)∈c (v) (osc (v) + erv · i dci (v) ). In Eq. (7), the  gateway node isthe only node belonging to s r PATH (v). Therefore, ( j∈PATH (v) ej + k∈PATH (ci (v)) ek ) becomes erv . Thus, Eq. (7) holds for the gateway node. Now, assume v is located k hops from the gateway node and its ancestor nodes on PATH (v) satisfy Eq. (7). Because the other nodes that are not on PATH (v) are not related to fv , T (vg ) in the objective function reduces to nodes that belong to PATH (v). For the directed path from v to the gateway node vg , v → v1 → · · · → vk−1 → vg , by substituting Eq. (1) into Eq. (5) iteratively, we obtain

U. Jang et al. / J. Parallel Distrib. Comput. 72 (2012) 536–546

 

orm + (erm + osm ) · Dm

fm ·

m∈PATH (v)



+



ci (m)∈c (m)



=

esci (m)

· dci (m) +

osci (m)

 

fm · αm

m∈PATH (v−1)





+ fv ·

ci (v)∈c (v)

dci (v) · (erg + esg ) + (ervk−1 + esvk−1 )

  + · · · + (ev1 + ev1 ) + fv · orv + (erv + osv ) · Dv s

r

 

+

(

ci (v)∈c (v)

esci (v)

· dci (v) +

osci (v)

) .

By substituting Eq. (1) into the third term of above equation, we obtain



     (erv + esv ) + esci (v) · dci (v) + osci (v)

r

fv ·

ov +

ci (v)∈c (v)

+ (erv + esv ) ·



fci (v) · Dci (v) .

ci (v)∈c (v)

Then, we obtain

 fv ·

 

orv +

ci (v)∈c (v)



dci (v) · (erg + esg ) + (ervk−1 + esvk−1 ) + · · ·

+ (ev1 + ev1 ) + (ev + ev ) + r

s

r



s

 r

= f v · ov +

 ci (v)∈c (v)

+

esk



+

osci (v)





 osci (v)

 

esci (v)



+

erj

j∈PATH (v)

 · dci (v)

.

k∈PATH (ci (v))

Therefore, v satisfies Eq. (7) and every node in the data gathering tree also satisfies Eq. (7) by mathematical induction.  References [1] ATmega128 datasheet, 2007, http://www.atmel.com. [2] M. Brzozowski, H. Salomon, P. Langendoerfer, Completely distributed low duty cycle communication for long-living sensor networks, in: Proceedings of the 2009 International Conference on Computational Science and Engineering — Volume 02, CSE’09, IEEE Computer Society, Washington, DC, USA, 2009, pp. 109–116. [3] CC2420 datasheet, 2007, http://www.ti.com. [4] B. Chen, K. Jamieson, H. Balakrishnan, R. Morris, Span: an energy-efficient coordination algorithm for topology maintenance in ad hoc wireless networks, ACM Wirel. Netw. J. (2001) 85–96. [5] R. Cohen, B. Kapchits, An optimal wake-up scheduling algorithm for minimizing energy consumption while limiting maximum delay in a mesh sensor network, IEEE/ACM Trans. Netw. 17 (2009) 570–581. [6] J. Elson, L. Girod, D. Estrin, Fine-grained network time synchronization using reference broadcasts, SIGOPS Oper. Syst. Rev. 36 (2002) 147–163. [7] Z. Eskandari, M. Yaghmaee, A. Mohajerzadeh, Energy efficient spanning tree for data aggregation in wireless sensor networks, in: Computer Communications and Networks, 2008, ICCCN’08, Proceedings of 17th International Conference on, pp. 1–5. [8] S. Ganeriwal, R. Kumar, M.B. Srivastava, Timing-sync protocol for sensor networks, in: Proceedings of the 1st International Conference on Embedded Networked Sensor Systems, SenSys’03, ACM, New York, NY, USA, 2003, pp. 138–149. [9] Global Seismogrphic Network, 2010, http://www.iris.edu. [10] B. Hohlt, L. Doherty, E. Brewer, Flexible power scheduling for sensor networks, in: Information Processing in Sensor Networks, 2004, IPSN 2004, Third International Symposium on, pp. 205–214.

545

[11] U. Jang, S. Lee, J. Park, S. Yoo, Fault-tolerant wsn time synchronization, Wireless Sens. Netw. 2 (2010) 739–745. [12] A. Keshavarzian, H. Lee, L. Venkatraman, Wakeup scheduling in wireless sensor networks, in: Proceedings of the 7th ACM International Symposium on Mobile ad hoc Networking and Computing, MobiHoc’06, ACM, New York, NY, USA, 2006, pp. 322–333. [13] J. Kim, X. Lin, N. Shroff, P. Sinha, Minimizing delay and maximizing lifetime for wireless sensor networks with anycast, Networking, IEEE/ACM Transactions on 18 (2010) 515–528. [14] W. Lai, I. Paschalidis, Routing through noise and sleeping nodes in sensor networks: latency vs. energy trade-offs, in: Decision and Control, 2006 45th IEEE Conference on, pp. 2716–2721. [15] S. Lai, B. Ravindran, H. Cho, Heterogenous quorum-based wake-up scheduling in wireless sensor networks, Computers, IEEE Transactions on 59 (2010) 1562–1575. [16] M. Lee, V. Wong, An energy-aware spanning tree algorithm for data aggregation in wireless sensor networks, in: Communications, Computers and signal Processing, 2005, PACRIM, 2005 IEEE Pacific Rim Conference on, pp. 300–303. [17] H. Luecken, T. Zasowski, A. Wittneben, Synchronization scheme for low duty cycle uwb impulse radio receiver, in: Wireless Communication Systems, 2008, ISWCS’08, IEEE International Symposium on, pp. 503 –507. [18] M. Maróti, B. Kusy, G. Simon, A. Lédeczi, The flooding time synchronization protocol, in: Proceedings of the 2nd International conference on Embedded Networked Sensor Systems, SenSys’04, ACM, New York, NY, USA, 2004, pp. 39–49. [19] V. Rajendran, K. Obraczka, J.J. Garcia-Luna-Aceves, Energy-efficient, collisionfree medium access control for wireless sensor networks, Wirel. Netw. 12 (2006) 63–78. [20] N. Ramanathan, M. Yarvis, J. Chhabra, N. Kushalnagar, L. Krishnamurthy, D. Estrin, A stream-oriented power management protocol for low duty cycle sensor network applications, in: Proceedings of the 2nd IEEE Workshop on Embedded Networked Sensors, IEEE Computer Society, Washington, DC, USA, 2005, pp. 53–61. [21] Q. Ren, Q. Liang, An energy-efficient mac protocol for wireless sensor networks, in: Global Telecommunications Conference, GLOBECOM’05, IEEE, vol. 1, 2005, pp. 157–161. [22] M. Sichitiu, Cross-layer scheduling for power efficiency in wireless sensor networks, in: INFOCOM 2004, Twenty-third Annual Joint Conference of the IEEE Computer and Communications Societies, 3, pp. 1740–1750. [23] R. Solis-Oba, 2-approximation algorithm for finding a spanning tree with maximum number of leaves, in: Proceedings of the 6th Annual European Symposium on Algorithms, ESA’98, Springer-Verlag, London, UK, 1998, pp. 441–452. [24] Y. Sun, S. Du, O. Gurewitz, D.B. Johnson, DW-MAC: a low latency, energy efficient demand-wakeup mac protocol for wireless sensor networks, in: Proceedings of the 9th ACM International Symposium on Mobile ad hoc Networking and Computing, MobiHoc’08, ACM, New York, NY, USA, 2008, pp. 53–62. [25] L. Tang, Y. Sun, O. Gurewitz, D.B. Johnson, PW-MAC: An energy-efficient predictive-wakeup mac protocol for wireless sensor networks, in: Proceedings of the 30th IEEE International Conference on Computer Communications, INFOCOM’11, 2011, pp. 1305–1313. [26] D. Tian, N.D. Georganas, A coverage-preserving node scheduling scheme for large wireless sensor networks, in: Proceedings of the 1st ACM International Workshop on Wireless Sensor Networks and Applications, WSNA’02, ACM, New York, NY, USA, 2002, pp. 32–41. [27] A. Tiwari, P. Ballal, F.L. Lewis, Energy-efficient wireless sensor network design and implementation for condition-based maintenance, ACM Trans. Sen. Netw. 3 (2007). [28] Y. Wu, S. Fahmy, N.B. Shroff, Optimal sleep/wake scheduling for timesynchronized sensor networks with QoS guarantees, IEEE/ACM Trans. Netw. 17 (2009) 1508–1521. [29] Y. Wu, X.-Y. Li, Y. Liu, W. Lou, Energy-efficient wake-up scheduling for data collection and aggregation, Parallel Distrib. Syst., IEEE Transactions on 21 (2010) 275–287. [30] W. Ye, J. Heidemann, D. Estrin, Medium access control with coordinated adaptive sleeping for wireless sensor networks, Networking, IEEE/ACM Transactions on 12 (2004) 493–506. [31] Y. Zhao, J. Wu, F. Li, S. Lu, Vbs: maximum lifetime sleep scheduling for wireless sensor networks using virtual backbones, in: INFOCOM, 2010 Proceedings IEEE, pp. 1–5.

Ungjin Jang received the B.S. and M.S. degrees in Electronic and Electrical Engineering from the Pohang University of Science and Technology (POSTECH), Pohang, Korea, in 2006 and 2008, respectively. He is currently pursuing the Ph.D. degree in the Department of Electronic and Electrical Engineering in POSTECH. His current research interests are in wireless sensor networking, faulttolerant computing, and distributed computing.

546

U. Jang et al. / J. Parallel Distrib. Comput. 72 (2012) 536–546

Sunggu Lee received the BSEE degree (with highest distinction) from the University of Kansas, Lawrence, in 1985 and the MSE and Ph.D. degrees from the University of Michigan, Ann Arbor, in 1987 and 1990, respectively. He is currently a full professor in the Department of Electronic and Electrical Engineering, Pohang University of Science and Technology (POSTECH), Pohang, Korea. Prior to this appointment, he was an assistant professor in the Department of Electrical Engineering, University of Delaware in Newark, Delaware. From June 1997 to June 1998, he spent one year as a visiting scientist at the IBM T.J. Watson Research Center. His current research interests are in wireless sensor networks, embedded systems and parallel computing.

Sungjoo Yoo received the B.S., M.S., and Ph.D. degrees in Electronics Engineering from Seoul National University, Seoul, Korea, in 1992, 1995, and 2000, respectively. He was a researcher with TIMA Laboratory, Grenoble, France, from 2000 to 2004. He was a Senior and Principal Engineer with Samsung Electronics, Yongin, Gyeonggi, Korea, from 2004 to 2008. He has been with the Pohang University of Science and Technology, Pohang, Korea, since 2008. His current research interests include low-power design and memory/storage architectures for embedded systems.