Delivery ratio-maximized wakeup scheduling for ultra-low duty-cycled WSNs under real-time constraints

Delivery ratio-maximized wakeup scheduling for ultra-low duty-cycled WSNs under real-time constraints

Computer Networks 55 (2011) 497–513 Contents lists available at ScienceDirect Computer Networks journal homepage: www.elsevier.com/locate/comnet De...

831KB Sizes 2 Downloads 21 Views

Computer Networks 55 (2011) 497–513

Contents lists available at ScienceDirect

Computer Networks journal homepage: www.elsevier.com/locate/comnet

Delivery ratio-maximized wakeup scheduling for ultra-low duty-cycled WSNs under real-time constraints Fei Yang ⇑, Isabelle Augé-Blum Université de Lyon, INRIA, INSA-Lyon, CITI F-69621, France

a r t i c l e

i n f o

Article history: Received 20 November 2009 Received in revised form 15 September 2010 Accepted 1 October 2010 Available online 8 October 2010 Responsible Editor: M. Gruteser Keywords: Wireless sensor networks Real-time Unreliable links Reliability Energy efficiency

a b s t r a c t Duty-cycling prolongs the lifetime of battery-powered wireless sensor networks (WSNs). However, it incurs an additional delay because the nodes may be asleep. Energy constraint is not the only constraint in WSNs. Many applications have real-time constraints, which means the sink has to be informed before a deadline when an event occurs. Moreover, wireless links among low-power radios are highly unreliable. This poses major challenges for researchers who want to design protocols for real-time applications. In this paper, a novel forwarding scheme based on distributed wakeup scheduling is proposed which can guarantee bounded delay on the messages that are delivered, and can have higher delivery ratios for ultra-low duty-cycle WSNs under unreliable links. The proposed wakeup scheduling algorithm schedules the wakeup time of each node according to the hop number and expected delivery ratio to the sink. We model the forwarding scheme and analyze its properties. Simulation results are in line with the mathematical model and show that the proposed algorithm has good performances in terms of delivery ratio, end-to-end delay and energy efficiency. Ó 2010 Elsevier B.V. All rights reserved.

1. Introduction Wireless sensor networks (WSNs) are composed of a large number of sensor nodes that have the ability to sense the physical environment, compute the obtained information and communicate using radio interfaces. The sensed information will be sent to the special node (sink) in an ad hoc, multi-hop way. Due to being easy-to-deploy and lowcost, WSNs have been widely used in many applications, such as habitat monitoring [1], structural monitoring [2], coal mine monitoring [3,4], object tracking [5] and so on. WSN applications can be mainly classified into the following four types of data flows: event-driven, query-driven, continuous and hybrid [6]. Traffic is generated right after the event happens in event-driven applications. In query-driven applications, the sensor nodes send packets ⇑ Corresponding author. Tel.: +33 472437305. E-mail addresses: [email protected] (F. Yang), isabelle.auge-blum@ insa-lyon.fr (I. Augé-Blum). 1389-1286/$ - see front matter Ó 2010 Elsevier B.V. All rights reserved. doi:10.1016/j.comnet.2010.10.001

to the sink after receiving the query from the sink. Continuous means that the sensor nodes periodically send packets to the sink. Hybrid, as the name suggests, is the combination of previous three types. In this paper, we focus on event-driven WSNs applications. For many event-driven applications, once an event happens, the alarm packet has to be reported to the sink with a hard deadline. If the packet arrives after the deadline, the packet would be completely useless. For example, in a real-time target detection and tracking application, when a target moves into an area monitored by a WSN, it will be detected by some sensor nodes. A report packet that contains the target’s information will be sent by a node to the sink node for tracking. As the target moves, a new report packet will be generated because the target will be detected by other sensor nodes. If the old report packet can not be received by the sink node before the target is detected by other sensor nodes and a new report packet is generated, it will be useless because the new report packet contains more recent information (in this example, the deadline depends

498

F. Yang, I. Augé-Blum / Computer Networks 55 (2011) 497–513

on the target’s usual speed). The characteristics of eventdriven WSN applications are that: (1) they do not have data most of the time, and (2) they have to report the alarm to the sink with real-time constraints. Therefore, the protocols designed for event-driven WSNs should not only be very energy-efficient in order to prolong the lifetime of the network, but also time-constrained. These two requirements pose major challenges. Because sensor nodes are battery-powered and it is often impractical to change or recharge the battery, saving energy remains an important issue for WSNs. The energy of a sensor node is consumed when it is transmitting, receiving, or idle listening. Idle listening consumes almost the same energy as transmitting and receiving [7,8]. For example, the typical values of an IEEE 802.15.4 radio (Chipcon CC2420 [9]) are shown in Table 1. It is obvious that turning off the radio when it is not needed can save the energy and prolong the lifetime of the WSN to a great extent [7,10–12]. Duty-cycle is the ratio of the time period in which the sensor is on to the length of the whole cycle. In order to maximize the lifetime of WSNs, it is better for the protocols to have an ultra-low duty-cycle (e.g. 0.1%, that means the nodes sleep in the remaining 99.9% period). However, turning off the radio will negatively affect other performances, such as end-to-end delay, connectivity and so on. This raises a problem: how to schedule the wakeup time of the radio to save energy without obviously decreasing other performance. Some existing scheduling algorithms can reduce the end-to-end delay of the network with duty-cycled sensor node [13,14]. Although some MAC protocols and scheduling algorithms can reduce the end-to-end delay of duty-cycled WSN, they will have problems when working with routing protocols. For example, from the point of view of routing, although one node is the best next hop, it will incur a long delay because the chosen node is asleep. Therefore, it is more efficient to integrate MAC and routing protocols together for duty-cycled WSN [15–18]. These protocols adopt the opportunistic idea that the node waking up first may be chosen as the next hop. These protocols can reduce the impact of duty-cycling to some extent, but their performance with ultra-low duty-cycle is unknown. Another kind of cross-layer protocol which can have a shorter delay when taking the wakeup time of the neighbors into consideration has lately been proposed for ultra-low duty-cycle WSNs [19–21]. Although they all have good performance in terms of average end-to-end delay, only DSF [20] takes unreliable links into account. Several recent experimental studies on wireless ad hoc and sensor networks have shown that wireless links among low-power radios are highly unreliable [22–24]. So protocols proposed based on unit disk graph model

Table 1 Typical values for an IEEE 802.15.4 radio (CC2420). Radio status

Power consumption

Transmit Receive Listen Sleep

52.2 mW 56.4 mW 56.4 mW 3 lW

should be redesigned or improved. Shorter delays and higher delivery ratios can be obtained if duty-cycling and link unreliability are well-utilized [20]. Although the existing protocol which takes duty-cycling and unreliable links into account can have a higher delivery ratio, the biggest problem is that it does not have a bounded delay, which is necessary for real-time event-driven WSN applications. On the other hand, some protocols which have bounded delays [21,13] do not consider the unreliable links. In this paper, we assume there is only one node that sends the packet when the event happens. This can be done by using aggregation methods, for example, the one adopted in [25]. We propose a novel wakeup scheduling algorithm-based forwarding scheme which has a bounded delay and higher delivery ratio under unreliable links. We schedule the wakeup time of each node according to their hop count and expected delivery ratio to the sink. Theoretical and simulation results show that the proposed algorithm has much better performances. To the best of our knowledge, it is the first work which schedules the wakeup time according to the expected delivery ratio and guarantees bounded delay at the same time. The rest of this paper is organized as follows: we present the related work briefly in Section 2. In Section 3, we describe the assumptions, motivation and system model of our work. The proposed algorithm is introduced in Section 4. The performances of the proposed forwarding scheme is evaluated and compared in Section 5 and we conclude with a few remarks in Section 6. 2. Related work Turning off the radio when it is not needed will prolong the lifetime of WSNs, so it is important for the protocols to duty-cycle the sensor nodes. Duty-cycling can be done at different layers of the protocol stack, e.g. the MAC and network layers. For example, in order to maintain the coverage or connectivity, the protocols should consider how to duty-cycle the sensor nodes under those constraints. At the MAC layer, the protocols have to consider the duty-cycle of the sensor nodes, avoiding collisions and reducing the delay. Moreover, forwarding the packets to the destination in duty-cycled WSN is also a challenging problem, especially for applications with real-time constraints. In this section, we will briefly review some related work. 2.1. Duty-cycle at the network layer In order to save energy without significantly degrading the performances of the networks, e.g. capacity and connectivity, some protocols propose to leave part of the sensor nodes on and other parts of the nodes off based on each node’s local observation, e.g. SPAN [26], GAF [27], PEAS [28] and ASCENT [29]. In some tracking applications, the intruder should be detected as soon as possible and the lifetime of the sensor nodes have to be extended a great deal. This means that the protocols designed for those applications should schedule the wakeup time of each node to cater to their requirements. [30] proposes a node sleep scheduling protocol which can guarantee a bounded

F. Yang, I. Augé-Blum / Computer Networks 55 (2011) 497–513

detection delay. They also propose a streamlined wakeup scheme which can minimize the multi-hop delivery delay. [31] and [32] propose to use probabilistic wakeup scheme which can bound the detection delay and is much more energy efficient. A detailed survey about coverage and connectivity in WSN can be found in [33]. Unlike these protocols, our proposed protocol focuses on the duty-cycle at the MAC layer. 2.2. Duty-cycle at the MAC layer Some protocols adopt the TDMA-like scheme which can avoid collision and overhearing at the same time. Some other CSMA-based protocols focus only on reducing the collision problem. 2.2.1. TDMA based scheduling TRAMA [34] is a traffic-adaptive, collision-free MAC protocol for WSN. It schedules the transmission and reception slots of each node to avoid collisions according to their two hop neighbors’ information. This protocol can dynamically assign the transmission and reception slots according to the traffic situation. When some nodes are not assigned to transmit and receive, they will switch to sleep state to save energy. In PEDAMACS [35], the sink can send the packets to all other nodes in just one hop. The packets from other sensor nodes may traverse many hops to reach the sink. The collision-free schedule is generated and broadcast to other nodes by the sink after it collects the topology information. DPS [36] is a duty-cycle scheduling algorithm which integrates collision-avoidance and duty-cycling together by scheduling the transmission and reception slots of each node using graph coloring theory. The proposed heuristic scheduling algorithm of DPS can have much lower diameters (the network’s maximum shortest delay) compared with other scheduling algorithms. Different from the 2-hop interference model used in other TDMAbased protocols, LEMMA [37] adopts a more realistic interference model to schedule the transmission slots. Parent nodes will wake up at the transmission slots of their children nodes to receive the packets from their children. PRMAC [38] schedules the wakeup slots of the nodes on the routing path as pipelining. They also propose a bidirectional pipelining schedule to reduce the end-to-end delay. 2.2.2. Contention-based scheduling Collision-free duty-cycle scheduling protocols can have much better performance in terms of end-to-end delay and throughput. However, it is expensive to achieve a network-wide collision-free schedule. In contention-based scheduling protocols, all the sensor nodes have the same duty-cycle and they adjust the wakeup time of the sensor nodes. SMAC [7], the first work to duty-cycle the sensor nodes, assigns each node the same wakeup schedule as their neighbors. This protocol can save the sensor nodes’ energy, but the end-to-end delay drastically increases with the number of hops. DMAC [14], which is specially designed for data gathering applications, has a much shorter delay compared to SMAC. Unlike SMAC, DMAC schedules the nodes’ wakeup time according to their hop count to the sink. The receiving time of one node is synchronized with the

499

transmitting time of its child node whose hop count is greater by 1. DMAC assigns the same wakeup slots to the nodes with the same hop count and each child node only has one parent node. DESS [13] considers a more general situation in which it assigns different wakeup time to each node and can minimize the maximum diameter from any node to any other node. In [39], the delay of some existing scheduling methods is analyzed and a new method called multiparent technique (one node has more than one parents which have wakeup slots greater than itself) is proposed. Similar to [39], [40] proposes algorithms to make each child node have several parent nodes. Recently, a new protocol for low-duty-cycle WSNs has been proposed [41]. In order to reduce the deadline miss ratio and be more energy efficient, the authors propose three methods, called bits augmentation, sink station augmentation and hybrid. Bits augmentation is to add some wakeup slots in a cycle. Sink station augmentation means to add more sinks in the network. Hybrid combines the previous two methods. 2.2.3. Random duty-cycled protocol Scheduling the wakeup time of the sensor node can result in better performances, but it is necessary to synchronize the sensor nodes. Some protocols which randomly duty-cycle the sensor nodes do exist. This kind of scheme is easier to implement. The problem with this kind of protocol is waking up the desired sleeping node. Some protocols propose to use two radios, one radio for sending data, and another low-power radio for sending wakeup signal, e.g. STEM [42], PTW [43] and LEEM [44]. But using two radios for sensor nodes is expensive for large-scale WSN. Most of the protocols propose to use a single radio. For single radio sensor nodes, preamble sampling technique is adopted by most of previous works. [45] proposed a preamble sampling-based MAC protocol for sporadic traffic WSN. They use a long preamble to wake up the next hop sleeping node. In addition to the basic preamble sampling technique, B-MAC [11] provides some flexible interfaces which can be used by upper layers to dynamically adjust the parameters. Although long preamble can make sure to wake up the desired next hop node, it consumes more energy and incurs lower throughput. The nodes in WiseMAC [12] can reduce the length of the preamble by learning the wakeup time of their neighbors. X-MAC [46] lets the long preamble be divided into short preambles. The listening period is put between two short preambles. After the sender receives the ACK packet, it will stop the short preamble and send the DATA packet. Due to the long preamble, the throughput of the random duty-cycled protocol will be decreased under heavy traffic situation. Some receiver-initiated protocols are proposed, for example, RICER [47], RI-MAC [48] and DW-LPL [49]. In receiver-initiated protocols, instead of sending the long preamble, the node that has the packet to be sent will listen to the medium for a period. The sender will send the packet after receiving the request from the desired node. 2.3. Data forwarding Because of the duty-cycle, integrating MAC and routing protocols together is highly suitable for WSNs. A number of

500

F. Yang, I. Augé-Blum / Computer Networks 55 (2011) 497–513

forwarding protocols have been proposed in recent years. GeRaF [17] proposes to assign different priorities to candidates according to the distance to the sink. The node with the shortest distance to the sink among all the awakened candidates may be chosen to be the next hop with higher priority. In AIMRP [15], that each node wakes up with the exponential distribution is assumed. The protocol can set the parameters according to the delay requirement. Analysis and simulation results show that it is more energy-efficient than SMAC. In Dwarf [19], a delay-aware robust forwarding protocol is proposed. Each node knows the wakeup time of their neighbors and chooses the one that not only has a lower hop count, but also an earlier wakeup time to be the next hop. In AMR [21], a streamlined wakeup schedule is proposed. It can have a bounded delay, but the main objective of this paper is to mitigate the collision problem, without focusing on unreliable links. In DSF [20], duty-cycling and unreliable links are considered at the same time which is the first solution that considers both problems together, but the wakeup time of every node is chosen by higher layers and the delay is not bounded. Similar to [17], the nodes in the forwarding set are given the priorities according to the distance to the sink in [50]. The size of the forwarding set is optimized to make the protocol more energy efficient. In [51], all the nodes are assumed to wake up with a Poisson process. The lifetime of the delay-sensitive WSNs is maximized by using the proposed anycast technique.

PEDAMACS [35] is a TDMA-based, hard real-time MAC protocol. The access point node in PEDAMACS can send the packets to all other nodes in just one hop. The schedule is constructed by the access point node after it collects the information from all other nodes. DUAL MODE [58] proposes a hard real-time MAC protocol for linear WSNs. The reasons why these real-time MAC protocols are not suitable for large-scale WSN are the following: (1) they are centralized protocols (except DUAL MODE which is distributed), (2) they assume the perfect link model. In our work, we want to design a protocol for low dutycycled event-driven WSN with a real-time requirement. To the best of our knowledge, no prior work has considered the following problems together: (1) low duty-cycle, (2) unreliable links, and (3) bounded delay. Our proposed protocol adopts the pipelined wakeup scheme because it has a shorter and bounded end-to-end delay compared to a random wakeup scheme. We reveal that scheduling the wakeup time according to the hop count and expected delivery ratio to the sink can maximize the delivery ratio to a great extent. 3. Assumptions and system model In this section, we will describe the assumptions, the motivation and the system model of this work. 3.1. Assumptions

2.4. Real-time protocols The assumptions are listed as follows: Real-time protocols in WSNs can roughly be classified into two categories: hard real-time and soft real-time. Hard real-time protocols can guarantee the delay while soft real-time protocols try to maximize the number of packets that meet the deadline. To design real-time protocols for WSNs is a challenging problem. In this section, we briefly review some typical soft real-time routing protocols. RAP [52], a real-time architecture for WSNs, proposes velocity concepts to distinguish between contenting neighbors. Together with the enhanced IEEE 802.11 DCF, it has very good real-time performances. By using the neighborhood feedback loop and backpressure rerouting techniques, SPEED [53] has a good performance even when the network has a void problem (one node can not find the neighbor which has a shorter distance to the sink). In addition to deadline constraints, MMSPEED [54] also takes the reliability requirement into account by adopting the multipath technique. RPAR [55] proposes to dynamically adjust the transmission power to achieve the real-time requirements. Beside the adjustable transmission power technique used in RPAR, MCRT [56] adopts multi-channels to further reduce the deadline miss ratio. Although these protocols have good real-time performances, they are not suitable for large-scale eventdriven WSNs for the following reasons: (1) the geographic location can be difficult or expensive to acquire, (2) the impact of duty-cycling is not considered. There are some hard real-time MAC protocols in WSNs. I-EDF [57] is the first hard real-time MAC protocol designed for WSNs. It divides the network into cells and adopts TDMA and FDMA techniques to avoid collisions.

(1) All nodes are locally synchronized with their neighbors. Some existing synchronization protocols can achieve this [59,60]. (2) Only one node sends the alarm when the event happens. This can be done by using one aggregation method [25,61]. (3) In real-time applications, the characteristics of the application give the maximum delay requirement. In this paper, we focus on the protocol’s end-toend delay bound. Of course, the protocol’s maximum end-to-end delay must satisfy the application delay requirement. The parameters of our protocol can be adjusted according to the application delay requirement. It is left for future work. (4) After the alarm packets are aggregated, the node which is chosen to be the reporter will send the packet in its wakeup slot. In this paper, we only consider the delay from the moment when the original sender starts sending the packet to the time when the packet is received by the sink. The delay from the moment when the event happens to the time when the sender starts sending the packet in its wakeup slot belongs to the aggregation delay which is not considered in this paper. By knowing the application delay requirement, we can adjust the parameters of our protocol and choose a suitable aggregation protocol to satisfy the application delay requirement. (5) One duty-cycle period is divided into many slots which have the same duration. One slot is only long enough to be able to send a DATA packet and receive

F. Yang, I. Augé-Blum / Computer Networks 55 (2011) 497–513

an ACK packet. We assume the ACK packet from the receiver can be received by the sender if the receiver receives the DATA packet successfully. This is reasonable because the size of the DATA packet is much greater than the size of the ACK packet and the wireless channel has correlation characteristic [62,63]. (6) Each node wakes up for only one slot during one period and sleeps in the remaining slots when it does not have packets to send. One node can wake up for more than one slot when it has packets to send. 3.2. Motivation Our work is motivated by the interesting and basic relationship between expected delivery ratio (EDR) and wakeup time. In this section, we want to briefly introduce the relationship by a simple example. In Fig. 1, there are four nodes, A, B, C and D, which have wakeup slots WSA, WSB, WSC and WSD respectively (the definition is listed in Table 2). Node D is the sink. The data near the lines denotes the success ratio of a round-trip transmission (DATA and ACK) between two nodes. For example, the success ratio from node A to B is 0.6. Node A can forward the DATA packet to node D through node B or C. In order to have a higher delivery ratio, A will try the next candidate in the forwarding set if the previous transmission fails. The interesting problem is that if we assign different wakeup slots to node B and C, the EDR of node A to the sink is different. (1) WSA < WSB < WSC < WSD In this case, we assume node B has an earlier wakeup slot than node C. The EDR of node A will be:

EDR1A ¼ PAB  PBD þ ð1  P AB Þ  PAC  PCD ¼ 0:6  0:7 þ 0:4  0:8  0:4 ¼ 0:548

ð1Þ

Here, PAB denotes the success ratio between node A and B. The others have similar definitions. (2) WSA < WSC < WSB < WSD Here, in contrast, node C has a lower wakeup slot than node B. The EDR of node A is given by

EDR2A ¼ PAC  PCD þ ð1  P AC Þ  PAB  PBD ¼ 0:8  0:4 þ 0:2  0:6  0:7 ¼ 0:404:

ð2Þ

We can see that EDR1A is larger than EDR2A if we let node B wake up before node C. From this basic example, we know that there should be some relationships between the EDR and the wakeup slots. We will show the relationships in the following sections. We schedule the wakeup slots of all the nodes according to their EDR to the sink.

Fig. 1. Underlying basic example.

501

Table 2 Notations and descriptions. Notation

Description

a T SR P nj WSi HCi LQ nj

The link quality threshold for calculating new HC The length of the duty-cycle period The selectable range of wakeup slot for each hop The round-trip success ratio to the neighbor j Node i’s scheduled wakeup slot Node i’s hop count The link quality from neighbor j

EDRi

Node i’s expected delivery ratio to the sink

As we have shown in the aforementioned simple example, if a transmission fails, the packet will be transmitted to the following wakeup neighbor. This can be viewed as a multiparent data forwarding scheme. Before describing our proposed scheduling algorithm in detail, we want to emphasize that our proposed algorithm is distributed. Every node schedules their own wakeup slots. It is obvious that the delivery ratio will be increased if we use a centralized algorithm to schedule the wakeup slots for the sensor nodes because our proposed distributed algorithm will assign the same slots to the nodes with the similar EDRs. We will show this in Section 4.2. However, centralized algorithms are very expensive for largescale WSNs because the sink node must collect the information of all the sensor nodes, then construct a schedule, then broadcast the schedule to all the sensor nodes. As a result, we consider it is not realistic, for energy efficiency, to implement centralized algorithms in large-scale WSNs. 3.3. System model In our forwarding scheme, when any node has packets to send, it tries to send the packet to the neighbor that wakes up first in the forwarding set. If the first transmission fails, it will try to send the packet to the candidate that wakes up next. The packet will be discarded if it is not successfully transmitted to any neighbors in the forwarding set. For example, in Fig. 2, node A only includes nodes D, E and F into its forwarding candidate set. Node A first tries to send the packet to node D. If this transmission fails, node A will send the packet to node E. If all the transmissions to the three nodes fail, node A will give up on the packet. In our model, each node i has the tuple (HCi, EDRi, WSi). The exact definitions of each label are given in Table 2.

Fig. 2. A simple example of our model.

502

F. Yang, I. Augé-Blum / Computer Networks 55 (2011) 497–513

Let Fi denote the forwarding candidate set of node i. Let

pn ðF i Þ ¼ hin1 ; in2 ; . . . ; inr i be one permutation of nodes in Fi,

EDRlpn ðF i Þ ¼

r X

EDRnk P nk

k1   Y 1  Pnj :

þ

Property 1. EDR (pn(Fi)) can reach the maximum if and only if the following condition is satisfied:

WSn1 < WSn2    < WSnr :

EDRnb < EDRnk EDRnb > EDRnk

r X

if k < m if k > m

k¼1

EDRnk Pnk

k1 Y

" EDRnb P nb

r X

j¼l

EDRnk Pnk

k1   Y 1  P nj

ð7Þ

j¼0

k¼mþ1

The difference between the two methods, called d, is given by Eq. (8): l d ¼ EDRm pn ðF i Þ EDRpn ðF i Þ

ð5Þ

When the (N + 1)th node is placed at the mth place (as shown in the above row of Fig. 3), the EDR of node i is given by

EDRm pn ðF i Þ ¼



ð4Þ

Proof. First, when r = 1, Property 1 holds. Next, we assume it holds for r = N(N P 1). When r = N + 1, we assume the (N + 1)th node has EDRnb and Pnb in which EDRnb denotes the node’s expected delivery ratio to the sink and Pnb is defined as the round trip success ratio between this node and the sender. We also assume that the right place for (N + 1)th node in the forwarding sequence is m according to the EDRnb . Next, we have to prove the maximum EDR of the sender can only be obtained if the (N + 1)th node is in the mth place. The EDR of each node in the forwarding set satisfies the following inequality.

(

1  P nk

k¼l

þ

EDRn1 > EDRn2    > EDRnr ;

j¼0

# 1 k1   X Y  m þ 1  P nb EDRnk Pnk 1  P nj

ð3Þ

This mathematical model has the following two important properties:



l1 Y 

k1   Y 1  P nj

k¼0

j¼0

k¼1

EDRnk Pnk

k¼1

the numbering indicates the sequence in which the nodes will wake up. For each node, we can get the EDR of node i with the forwarding set pn(Fi) with Eq. (3):

EDRðpn ðF i ÞÞ ¼

l1 X

ð1  Pnj Þ:

ð6Þ

j¼0

In order to prove the mth place is the best one for the (N + 1)th node, we divide our proof process into two parts: (1) put it anywhere before m, (2) put it anywhere after m. If the EDR derived from both is lower than that derived from the mth place, we can conclude that the mth place is the best place for (N + 1)th node. (1) Place the node anywhere before m. If we do not put the (N + 1)th node at the mth place, instead of putting it anywhere before m, say l, as shown in the line below in Fig. 3, we can calculate the EDR of node i by Eq. (7):

¼

l1 Y 

j1 1   Y X  m   1Pnk Pnb EDRnj EDRnb Pnj 1Pnh :

k¼0

j¼l

h¼l

ð8Þ Because for all j < m, EDRnj > EDRnb , then d > 0, hence, l we can get EDRm pn ðF i Þ > EDRpn ðF i Þ . (2) Place the node anywhere after m. The method to prove this is the same as in the previous section. From the results in the two cases, we can see that Property 1 holds for r = N + 1. Thus, we can conclude that Property 1 holds for any r(r P 1). h This property means that the maximum EDR of each node can be obtained by assigning the lower wakeup slot to the candidate node in its forwarding set whose EDR to the sink is higher. For example, in Fig. 2, node D has the smallest wakeup slot in A’s forwarding set because it has the biggest EDR to the sink (Node D, E and F have EDR 0.85, 0.8 and 0.75, respectively, and they have WS 93, 94 and 95 respectively). Property 2. max (EDR(pn(Fi))) is a strictly increasing function of the size of the forwarding set. Proof. Assume we have r = N nodes in the forwarding set. According to Property 1, we know that we can have the maximum EDR if we give the node with the greatest EDR to the sink the highest priority. Now we assume that the r nodes are well-arranged (as shown in the upper row of Fig. 4). We add another (N + 1)th node in the forwarding set. Assume we have to put this node into the mth place according to Property 1. The (N + 1)th node has EDRnb and Pnb . Now we will prove that the maximum value of the EDR increases after adding this node. The maximum EDR of node i with N nodes in the forwarding set is given by r k1    X  Y max EDRNpn ðF i Þ ¼ EDRnk P nk 1  Pnj k¼1

Fig. 3. Example sequence for Property 1.

ð9Þ

j¼0

After adding the (N + 1)th node, the maximum EDR of node i is given by

F. Yang, I. Augé-Blum / Computer Networks 55 (2011) 497–513

  max EDRNþ1 pn ðF i Þ ¼

r X

"

EDRnk P nk

j¼0

k¼1

þ

k1   m1 Y Y  1  Pnj þ 1  Pnh EDRnb Pnb

r X

h¼0

k1   Y  EDRnk P nk 1  Pnj 1  Pnb

# ð10Þ

j¼m

k¼m

The difference between the two, called d, is

    N d ¼ max EDRNþ1 pn ðF i Þ  max EDRpn ðF i Þ " # m1 r i1   X Y Y  1  Pnh Pnb EDRnb  EDRni Pni 1  P nj ¼ i¼m

h¼0

P

m 1 Y





1  Pnh Pnb ½EDRnb  EDRnm

>







uling algorithm. After the initialization phase, we have the run-time phase where each node is awake for one slot and asleep in the remaining slots in one period if they do not have a packet to forward. Any node that has a packet to send will forward the packet to the neighbor in the forwarding set. The chosen neighbor forwards the packet to one of its neighbors. This process continues until the packet reaches the sink. And this process has the bounded delay which will be shown in the following sections.

HC nþ1 i

8 n > < HC nj þ 1 if HC i > HC nj þ 1&& LQ nj P a ¼ > : n HC i otherwise

ð12Þ

j¼m r X

P ni

i¼m

h¼0 m1 Y

503

i1   Y 1  P nj j¼m



1  Pnh Pnb EDRnb  EDRnm > 0

ð11Þ

h¼0

Thus, we can see the maximum EDR is increased by adding one node in the forwarding set. Obviously, adding more than one node in the forwarding set will further increase the maximum EDR. h This property means that the maximum EDR of each node will increase if they have more candidates in their forwarding set. For example, in Fig. 2, if node A adds D, E and F to its forwarding set, the maximum EDR is 0.811. However, if node A only adds D and E to its forwarding set, the maximum EDR is 0.739. This model shows that each node can have the maximum EDR if the nodes in their forwarding set with the greater EDR have the earlier wakeup time. The problem lies in constructing the forwarding set for each node and scheduling each node’s wakeup time. Moreover, for some time-critical applications, the delivery ratio is not the only requirement. To have a bounded delay is another important objective. In the next section, we will introduce the proposed wakeup scheduling algorithm which can have a bounded delay and higher delivery ratio by using the model describing in this section. 4. Wakeup scheduling algorithm 4.1. Proposition Before introducing the wakeup scheduling algorithm, we want to describe the structure of our forwarding scheme. It includes two phases: initialization and runtime. In the initialization phase, each node first gets the neighborhood table and the link quality between them and their neighbors, and then executes the wakeup sched-

Fig. 4. Example sequence for Property 2.

We want to describe the two Equations used to calculate the hop count and wakeup slot in the scheduling algorithm. In Eq. (12), HC ni and HC nþ1 denote the hop counts i of node i in nth step and (n + 1)th step respectively (each node may change the hop count for many times). HC nj denotes the hop count of the jth neighbor in the forwarding set. LQ nj is defined as the link quality from neighbor j. We set a threshold a to decide if the node needs to change the hop count. The reason why we add this threshold on the link quality is because it is not useful to change the hop count when the link quality is poor.

WSi ¼ ðT  SR  HC i Þ þ bSR  ð1  EDRi Þc

ð13Þ

In Eq. (13), SR = T/HCupbound, where T is the duration of the cycle and related to the application requirements. T contains a fix number of slots (a slot has a fix duration depending on the length of the packets). HCupbound denotes the hop count bound of the network. The work which studies the relationship between the hop count and the distance can be found in [64]. In our protocol, we do not need to know the exact maximum hop count, but the more precise the maximum hop count is, the higher delivery ratio the protocol will be. Futher, it is difficult to get the precise maximum hop count in a distributed way in WSNs, so we use an approximate value. Other definitions can be found in Table 2. Each node calculates the wakeup slot according to the hop count and EDR. If the total number of slots is small, there will be some neighbors having the same wakeup slots. This will cause the decrease of the average delivery ratio. In the scheduling algorithm, we set the hop count and wakeup slot of each node according to Eqs. (12) and (13) respectively. If a node receives a packet from one of its neighbors, it will decide if it has to change the hop count according to Eq. (12). After the node gets the hop count, it will calculate the WS. The key idea is to choose a slot in the total period T according to the hop count and EDR. For example, if a node has hop count h, it will choose the WS from the following range, [T  SR  h, T  SR  (h  1)]. The distributed scheduling algorithm for each node other than the sink is described in Algorithm 1. The initialization values of the sink node is (0, 1, T) (It means that the hop count of the sink is 0 and its EDR is 1 and it has the Tth slot). First, the sink broadcasts its EDR, WS and HC values. The nodes that receive the broadcast message from their neighbors calculate the HC, EDR. Then, they get the WS

504

F. Yang, I. Augé-Blum / Computer Networks 55 (2011) 497–513

according to the calculated EDR and HC. If the change of the new EDR exceeds a certain value or the HC is changed, the node will rebroadcast the new values. It must be noted that each node only adds the neighbors with lower hop counts into its forwarding set during the initialization phase. This is because the initialization process will be an endless loop and can not converge if we add the neighbors with the same hop count into the forwarding set during the initialization phase. After getting the hop count and wakeup slots, each node has to decide which node should be included in the forwarding set during the run-time phase. In our forwarding scheme, two methods can be considered as follows: Algorithm 1: Distributed wakeup scheduling algorithm Sink broadcasts a packet that includes its EDR, WS and HC Every node except the sink runs the following algorithm if receives a packet from one of the neighbors Calculates the new HC with Eq. (12) Calculates the new EDR with Eq. (3) if the change of EDR is higher than a threshold or the HC is changed Calculates the new WS with Eq. (13) Broadcasts the new values endif endif (1) Add only the nodes with lower hop count to the forwarding set during the run-time phase, as we did in the initialization phase. With this method, all the nodes in the forwarding set satisfy inequality (14) and it is obvious that this method has the maximum delay HC  SR which is bounded by T.

(

HC i > HC nj WSi < WSnj

Property 3. Using method 2, we can have the maximum delay as described in Eq. (15) (HCmax denotes the maximum number of hops from any node to the sink, Delaymax is defined as the maximum delay of the network):

Delaymax ¼ ðT þ 3SRÞ  HC max :

ð15Þ

Proof. When a packet is sent directly from hop count i to i  1 (for example, in Fig. 5, a packet is sent from node A to B), the maximum delay is 2SR. Similarly, when a packet is sent from hop count i to i (the packet is sent from node A to C), the maximum delay is SR. If a packet cannot be directly sent from hop count i to i  1, instead of being sent from hop count i to i, and then from hop count i to i  1 (node A fails to send packet to B. Then, node A tries to send the packet to node C. If node C receives the packet from node A, node C transmits the packet to node B). In this case, the maximum delay is T + 3SR. As a result, we can get the maximum delay from hop count i to i  1 is T + 3SR, and any node with hop count i has the maximum delay T + 3SR + Delayi1. Thus, we can get the maximum delay of any node with hop count i as follows: i

i1

Delaymax ¼ T þ 3SR þ Delaymax ¼ T þ 3SR þ    þ T þ 3SR |fflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl{zfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl} i

¼ ðT þ 3SRÞ  i:



ð16Þ

4.2. Discussion on WSEDR As we can see from the Eq. (13), if two nodes have very close EDR, the calculated wakeup slots may be the same. In this subsection, we want to compare the performance of WSEDR with the performances of an ideal centralized solution (impossible to implement in real sensor networks) OPT and a solution with randomness (to avoid some nodes with very close EDR to have the same wakeup slot) WSEDR-random. In the following subsection, the details of those two solutions will be presented.

ð14Þ

(2) Add the nodes with the same and lower hop counts to the forwarding set during the run-time phase. With this method, the node first sends the packet to the nodes with lower hop counts. If all the nodes fail, it will try to send the packet to the nodes with the same hop count. This increases the average delivery ratio of each node if the link quality of the nodes with lower hop counts is low. In order to bound the maximum delay, in this situation, we simply let each packet be sent to the node with the same hop count once. For example, in Fig. 5, node A, C and D have hop number i, node B has hop number i  1. Node A has a packet to forward. It first sends to node B. If it fails, node A will send the packet to node C. After node C receives the packet, it will send the packet to node B. In this case, if node C fails to send the packet to node B, it will not try to send to node D because we want to bound the delay as shown in Eq. (15). In fact, we can let node C try to send the packet to node D. The difference is that we will have much greater maximum delay and higher delivery ratio. There exists a tradeoff between them.

4.2.1. OPT With this solution, we want to compare WSEDR to a solution which assures each node has its own slot and all the nodes have different wakeup slots. The problem of implementing this kind of solution is that it is necessary to know the EDRs of all the nodes and schedule the wakeup slots for them. It is possible to do this in a simulator but not realistic in real sensor networks. Because we can easily know the information of all the sensor nodes in the simulator, we want to show the performances of an optimized solution which is called OPT. The details of implementing

Fig. 5. Example for explaining maximum delay.

505

F. Yang, I. Augé-Blum / Computer Networks 55 (2011) 497–513 Table 3 Simulation parameters. Modulation Propagation Sensibility

FSK n=4 r=4 105 dBm

Output power Noise floor Data rate

0 dBm 105 dBm 19.2 kbps

OPT is as follow: first, each hop is assigned the same number of slots. We sort the nodes with the same hop count according their EDRs. Then, the node with the greatest EDR will be assigned the lowest wakeup slot. The node with the second greatest EDR will be assigned the second lowest wakeup slot. If the total number of slots are great enough, all the nodes could be assigned different slots. 4.2.2. WSEDR-random The main idea is to add randomness to avoid some nodes with very close EDR to choose the same slot. For that, in this solution, we further divide the slots within a SR into ten groups. Each group has 10 slots. The hop count determines the chosen SR and the value of EDR determines the chosen group. Then those nodes which choose the same group can randomly choose slots inside the group. For example, the nodes with EDR between 0.9 and 1 will be allocated in the first group. Accordingly, the nodes with EDR between 0 and 0.1 will be allocated in the last group. For the nodes that have the similar EDRs, say 0.98 and 0.97, they will both be allocated in the first group and will randomly choose a slot in the first group. The formula of WSEDR-random is shown in Eq. (17) which is used to add a random value. By doing this, the delivery ratio may be different. Will the delivery ratio be increased or decreased? This will be shown in the following simulation results.

WSi ¼ ðT  SR  HC i Þ þ bð1  EDRi Þ  10c  SR=10 þ brandomðÞ  SR=10c:

ð17Þ

4.2.3. Simulation results We have simulated the proposed algorithm and the aforementioned two solutions using WSNet,1 an event-driven simulator specially designed for large-scale WSNs. The basic simulation parameters are listed in Table 3. In each experiment, we let every node send a packet to the sink. Each result is the average value of 100 experiments run with different topologies. The 95% confidence intervals are within 1  10% of the means. In the simulations, we deploy 250 nodes in a 150  150m area. We increase the total number of slots in a period, which means we increase the length of T (the greater the T is, the lower the duty-cycle will be). Because SR is proportional to T, SR is also increased. The length of T is increased from 750, 1000, 2000 to 3000 slots, which leads to the result that the length of SR is increased from 75, 100, 200 to 300. The simulation results are shown in Table 4. WSEDR  random represents the method in Eq. (17) while WSEDR indicates the scheme in Eq. (13). 1

http://wsnet.gforge.inria.fr/.

It is shown in Table 4 that the average delivery ratios of WSEDR and WSEDR-random are increased when we increase the total number of slots. This is because the number of nodes that have the same wakeup slot decreases as the number of total slots is increasing. The average delivery ratio of WSEDR is higher than that of WSEDR-random because WSEDR gives the node with a greater EDR higher priority. It is also shown in Table 4 that the average delivery ratio of OPT is higher than both two other solutions because OPT has different slots for all the neighboring nodes. The improvement of OPT is about 0.12. However, compared to the fact that it is not realistic to implement OPT in large-scale WSNs, the increment is marginal. In summary, OPT has greatest delivery ratio but it is not realistic. WSEDR-random does not have better delivery ratio although it is also a distributed solution. WSEDR is a good tradeoff between the two. So we will study the performances in detail in the following section. 5. Performance evaluation In the following sections, we will compare the performances of the following two algorithms in terms of average delivery ratio, average end-to-end delay, and average energy consumption. The basic simulation parameters are the same as those shown in Table 3. Delivery ratio corresponds to the number of packets received by the sink divided by the number of packets sent by the senders. Endto-end delay corresponds to the difference between the time when the packet is received by the sink and the time when the original sender transmits the packet. Here, energy consumption is measured by the average number of times a packet is sent until it is received by the sink. The key point of our algorithm is to schedule the wakeup time according to the hop count and EDR to the sink. There are no other algorithms which consider ultra-low duty-cycle, unreliable links and bounded delay simultaneously. We choose to compare our algorithm with the one which randomly schedules the wakeup time to show the improvements. (1) WSEDR: the proposed distributed wakeup Scheduling algorithm according to the Expected Delivery Ratio to the sink. (2) Random: every node randomly gets the wakeup slot according to the hop count, as shown in Eq. (18). random () denotes a random value between 0 and 1.

WSi ¼ ðT  SR  HC i Þ þ bSR  randomðÞc:

ð18Þ

In our simulations, we set the threshold described in Algorithm 1 to a very small value (106). We also let all

Table 4 Average delivery ratios of WSEDR, WSEDR-random and OPT. Slots

750

1000

2000

3000

OPT WSEDR WSEDR-random

0.655 0.523 0.517

0.66 0.526 0.525

0.652 0.533 0.524

0.659 0.548 0.533

506

F. Yang, I. Augé-Blum / Computer Networks 55 (2011) 497–513

the nodes broadcast at least ten times their parameters in the wakeup scheduling algorithm in order to make the calculated HC and WS more accurate. We have conducted the following two kinds of experiments: (1) Experiment 1: In this experiment, we have implemented the method 1 described in Section 4. Each node just considers the neighboring nodes with the lower hop count. (2) Experiment 2: This experiment implements the method 2 depicted in Section 4. Every node considers the neighboring nodes with not only the lower hop count but also the same hop count. 5.1. Simulation results of experiment 1 (only lower hop count) 5.1.1. Impacts of density and a First, we evaluate the performances of WSEDR under different node density and a (defined in Table 2). We set the duty-cycle to 0.1% (the total number of slots is 1000. If there are no packets to forward, each node is awake for 1 slot and asleep in the remaining slots. If one node has a packet to forward, it will be awake for more than 1 slot). The size of the area is 150m  150m. The sink is located at (75, 75). We vary the number of nodes to get different node densities (the average number of neighbors ranges from 17 to 47). The value of a is changed from 0 to 0.5. In Fig. 6(a), we can see that the average delivery ratio of WSEDR increases with both the density and a, but the average delivery ratio of Random, which has a small variance when the average number of neighbors is changed, increases only with a. With the same a, the average delivery ratio of WSEDR is higher than that of Random. The reason why the average delivery ratio of WSEDR increases with the density is that each node will have more candidates if the density is higher. The more candidates a node has, the higher delivery ratio it will have. This simulation result is in line with Property 2. The reason why the average delivery ratio of Random has a very small variance and is always smaller than the average delivery ratio of WSEDR is because Random does not take link qualities into consideration. Although one node has more candidates in Random, the delivery ratio can not be increased a lot due to the randomness. In Fig. 6(b), the average end-to-end delay (counted in slots) of both two schemes is almost not changed no matter how the density changes, but increases with a. Additionally, the average end-to-end delay of WSEDR is a little greater than that of Random. The average end-to-end delay of both two schemes is bounded by T. In Fig. 6(c), we can see that the average energy consumption of both two algorithms is increasing with the density and a, but the increments are small when a is changed from 0.3 to 0.5. The average energy consumption of WSEDR is higher than that of Random when a is set to 0 and 0.3, but it is almost the same as that of Random when a is set to 0.5. We want to explain Fig. 6(b) and (c) using Fig. 7 where the hop distributions of received packets are plotted. We can see from Fig. 7 that both schemes transmit more packets from the higher hop count to the sink when we change

a from 0 to 0.5. This is the reason why the average end-toend delay and energy consumption of both schemes are increasing with a. The reason why WSEDR has a higher end-to-end delay and energy consumption than Random is because WSEDR transmits more packets with a higher hop count to the sink than Random. For example, 30.1, 54.9, 47.2 and 11.2 packets are received with WSEDR from hop 1, 2, 3 and 4, respetively while 30.3, 38.5, 16.6 and 1.71 packets are received with Random when a is set to 0. 5.1.2. Impacts of duty-cycle In this section, we evaluate the performances of WSEDR by changing the duty-cycle. We set a to 0.3 and deploy 250 nodes in a 150  150m area, and change the duty-cycle from 1% to 0.1% (for all these settings, every node is awake for 1 slot and asleep in the remaining slots. We change the total number of slots to get the different duty-cycle. In order to increase the duty-cycle, we decrease the length of the period. For example, for a given slot duration, if the duty-cycle is 0.1%, every node will wake up for one slot and sleep for 999 slots. If we want to increase the duty-cycle to 1%, every node will wake up for one slot and sleep for 99 slots. The length of the period is decreased from 1000 slots to 100 slots). The sink node is located at (75, 75). As described in the mathematical model (Property 2), if we have more nodes in the candidate set, the EDR will be increased. If we keep the density constant, then the lower the duty-cycle is, the lower the probability that two nodes will have the same wakeup slot. And if the number of neighbors that have the same wakeup slot is small, each node will have higher delivery ratio. In Fig. 8(a), we can see that the average delivery ratio of WSEDR is higher than that of Random whatever the dutycycle is. This simulation result is in line with Property 1. The average delivery ratio of WSEDR increases with the decrease of the duty-cycle while the average delivery ratio of Random is almost the same. The reason is that every node has more candidates if the duty-cycle is lower, and more candidates lead to a higher delivery ratio for WSEDR. This is in line with Property 2. Fig. 8(b) shows that the average end-to-end delay of WSEDR is a little higher than that of Random when the duty-cycle is set to 0.1%. As the increase of the duty-cycle, the average end-to-end delay of both two is becoming closer and closer. The maximum delay of all our simulations is bounded as we described in Section 4. In Fig. 8(c), it appears that the average energy consumption of WSEDR is a little higher than that of Random when the duty-cycle is 0.1% while they have almost the same energy consumption when the duty-cycle is set to 1%. As shown in Fig. 9, WSEDR transmits much more packets from the nodes with the higher hop count to the sink when the duty-cycle is set to 0.1%. This is the reason why the average end-to-end delay and energy consumption of WSEDR are much higher than that of Random. 5.1.3. Impacts of sink position In this section, we evaluate the impacts of sink position. We keep the average number of neighbors at 29, duty-cycle of 0.1%, set the value of a to 0.3 and change the sink position from (15, 15) to (75, 75).

507

F. Yang, I. Augé-Blum / Computer Networks 55 (2011) 497–513

Average end-to-end delay (slots)

0.8 Average delivery ratio

500

WSEDR α = 0 Random α = 0 WSEDR α = 0.3 Random α = 0.3 WSEDR α = 0.5 Random α = 0.5

0.6

0.4

0.2

0

8

WSEDR α = 0 Random α = 0 WSEDR α = 0.3 Random α = 0.3 WSEDR α = 0.5 Random α = 0.5

400

Average energy consumption

1

300

200

100

0

WSEDR α = 0 Random α = 0 WSEDR α = 0.3 Random α = 0.3 WSEDR α = 0.5 Random α = 0.5

7 6 5 4 3 2 1 0

17 23 29 35 41 47 Average number of neighbors

17 23 29 35 41 47 Average number of neighbors

17

23 29 35 41 47 Average number of neighbors

Fig. 6. Impacts of density and a in experiment 1.

80

80 WSEDR Random

WSEDR Random

70

60

Number of packets

Number of packets

70

50 40 30 20 10

60 50 40 30 20 10

0

0 1

2

3

4

5 6 Hops

7

8

9

1

2

3

4

5 6 Hops

7

8

9

Fig. 7. Hop distribution of the received packets in experiment 1 with different a.

500 Average end-to-end delay (slots)

WSEDR Random Average delivery ratio

0.8

0.6

0.4

0.2

0

8 WSEDR Random

Average energy consumption

1

400

300

200

100

0 0

0.2

0.4

0.6

Duty-cycle (%)

0.8

1

WSEDR Random

7 6 5 4 3 2 1 0

0

0.2

0.4

0.6

0.8

1

Duty-cycle (%)

0

0.2

0.4

0.6

0.8

1

Duty-cycle (%)

Fig. 8. Impacts of duty-cycle in experiment 1.

In Fig. 10(a), we can see that the average delivery ratio of WSEDR is higher than that of Random. The trends of the average delivery ratio of the two schemes are the same, increasing as the sink moves toward the center. The reason is that the number of hops is decreasing if the sink is moving toward the center. The greater the hop count is, the lower the average delivery ratio will be.

Fig. 10(b) and (c) show that the average end-to-end delay and energy consumption of WSEDR are higher than that of Random. The differences are greater if the sink is near the corner. We want to explain the reasons of the differences in Fig. 10 by Fig. 11 where the hop distribution of the received packets are plotted. We can see that WSEDR transmits

508

F. Yang, I. Augé-Blum / Computer Networks 55 (2011) 497–513

much more packets from the nodes with the higher hop count to the sink when the sink node is located at (15, 15). This is the reason why the average end-to-end delay and energy consumption of WSEDR is much higher than that of Random when the sink is near the corner. From the simulation results of experiment 1, we can see that the average delivery ratio is not very high. In the next section, another method to increase the delivery ratio by using nodes with the same hop count will be presented.

5.2. Simulation results of experiment 2 (both the lower and same hop counts) In the previous sections, it is shown that WSEDR has a higher average delivery ratio than Random. But the average delivery ratio of both schemes is not very high (about 60% when the density is high). In this section, we will show that the average delivery ratio of our algorithm can be further increased, but the maximum delay is increased as well. The simulation parameters are set as the same as those used in the simulations of experiment 1. So we just present the simulation results of experiment 2 without describing the detailed simulation parameters again. 5.2.1. Impacts of density and a In Fig. 12(a), we can see that the average delivery ratio of WSEDR is higher than that of Random no matter what the a and density are. The average delivery ratio of both two increases with the increase of a, but the increments when a is changed from 0.3 to 0.5 are less than the increments when a increases from 0 to 0.3. It is shown in Fig. 12(b) that the average end-to-end delay of both two decreases with the increase of a. The average end-to-end delay of WSEDR is higher than that of Random when the average number of neighbors is 17. As the increase of the average number of neighbors, the average end-to-end delay of WSEDR is decreasing. It is smaller than that of Random when the density is 47. In Fig. 12(c), we can see the average energy consumption of WSEDR is greater than that of Random when the value of a is 0, but

it is lower than that of Random when the value of a is 0.3 and 0.5. It is shown in Fig. 13(a) that WSEDR transmits much more packets from the nodes with the greater hop count to the sink. This is the reason why the average energy consumption of WSEDR is greater than that of Random when a is set to 0. In Fig. 13(b), we can see that WSEDR just transmits a little bit more packets from the nodes with the greater hop count, which leads to the results that both two schemes have the higher delivery ratio and the delivery ratio difference between the two schemes is not as greater as the difference in the case where a is set to 0.

5.2.2. Impacts of duty-cycle In Fig. 14(a), we can see that the average delivery ratio of WSEDR is higher than that of Random in all cases. The difference is greater when the duty-cycle is lower. It is shown in Fig. 14(b) that the average end-to-end delay of both two is very close. As shown in Fig. 14(c), the average energy consumption of WSEDR is a little lower than that of Random. From these results we can see the advantages of WSEDR, having the higher delivery ratio as well as the lower energy consumption. In Fig. 15, we show the hop distribution of the packets received by the sink node. The number of the transmitted packets of both two schemes are very close. This is the reason why the average delivery ratio, end-to-end-delay and energy consumption are very close. The differences of the transmitted packets between WSEDR and Random when the duty-cycle is 0.1% are greater than the differences when the duty-cycle is set to 1%. This leads to the result that the difference of the average delivery ratio between WSEDR and Random is a little greater when the duty-cycle is set to 0.1%.

5.2.3. Impacts of sink position In Fig. 16(a), it is shown that the average delivery ratio of WSEDR is much higher than that of Random. As the sink approaches the corner, the average delivery ratio difference between the two increases. From this figure, we can

40

40 WSEDR Random

WSEDR Random

35

30

Number of packets

Number of packets

35

25 20 15 10 5

30 25 20 15 10 5

0

0 1

2

3

4

5 6 Hops

7

8

9

1

2

3

4

5 6 Hops

7

Fig. 9. Hop distribution of the received packets in experiment 1 with different duty-cycle.

8

9

509

F. Yang, I. Augé-Blum / Computer Networks 55 (2011) 497–513 500

Average delivery ratio

0.8

0.6

0.4

0.2 WSEDR Random

8 WSEDR Random

Average energy consumption

Average end to end delay (slots)

1

400

300

200

100

0

0 10

20

30

40 50 Sink position

60

70

80

WSEDR Random

7 6 5 4 3 2 1 0

10

20

30

40 50 Sink position

60

70

80

10

20

30

40 50 Sink position

60

70

80

Fig. 10. Impacts of sink position in experiment 1.

40

40 WSEDR Random

WSEDR Random

35

30

Number of packets

Number of packets

35

25 20 15 10 5

30 25 20 15 10 5

0

0 1

2

3

4

5 6 Hops

7

8

9

10

1

2

3

4

5 6 Hops

7

8

9

10

Fig. 11. Hop distribution of the received packets in experiment 1 with different sink position.

8

0.6

0.4

0.2

0

WSEDR α = 0 Random α = 0 WSEDR α = 0.3 Random α = 0.3 WSEDR α = 0.5 Random α = 0.5 17 23 29 35 41 47 Average number of neighbors

1400 1200 1000 800 600 WSEDR α = 0 Random α = 0 WSEDR α = 0.3 Random α = 0.3 WSEDR α = 0.5 Random α = 0.5

400 200 0

17 23 29 35 41 47 Average number of neighbors

Average energy consumption

Average delivery ratio

0.8

Average end-to-end delay (slots)

1

7 6 5 4 3

WSEDR α = 0 Random α = 0 WSEDR α = 0.3 Random α = 0.3 WSEDR α = 0.5 Random α = 0.5

2 1 0 17

23 29 35 41 47 Average number of neighbors

Fig. 12. Impacts of density and a in experiment 2.

see that WSEDR will have much better performance if the size of the network is large. In Fig. 16(b), we can see that the average end-to-end delay of Random is a little higher than that of WSEDR. The difference is greater when the sink is near the corner. Fig. 16(c) shows that WSEDR consumes a little more energy than Random when the sink is deployed near the corner, and consumes less energy when the sink node is near the center.

In Fig. 17, we show the hop distributions of two simulations which have the sink nodes located at (15, 15) and (75, 75), respectively. WSEDR transmits much more packets from the higher hop count to the sink when the sink is located at (15, 15). This is the reason why the delivery ratio and delay differences are greater. The maximum hop count and delay of both the two algorithms are listed in Table 5. We can see that the max-

510

F. Yang, I. Augé-Blum / Computer Networks 55 (2011) 497–513

160

160 WSEDR Random

WSEDR Random

140

120

Number of packets

Number of packets

140

100 80 60 40

120 100 80 60 40

20

20

0

0 1

2

3

4

5 6 Hops

7

8

9 10

1

2

3

4

5 6 Hops

7

8

9 10

Fig. 13. Hop distribution of the received packets in experiment 2 with different a.

8

Average delivery ratio

0.8

0.6

0.4

0.2 WSEDR Random

WSEDR Random

1400

Average energy consumption

Average end-to-end delay (slots)

1

1200 1000

0

800 600 400 200 0

0

0.2

0.4

0.6

0.8

1

7 6 5 4 3 2 1

WSEDR Random

0 0

0.2

Duty-cycle (%)

0.4

0.6

0.8

1

0

0.2

0.4

Duty-cycle (%)

0.6

0.8

1

Duty-cycle (%)

Fig. 14. Impacts of duty-cycle in experiment 2.

80

80 WSEDR Random

WSEDR Random

70

60

Number of packets

Number of packets

70

50 40 30 20 10

60 50 40 30 20 10

0

0 1

2

3

4

5 6 Hops

7

8

9

10

1

2

3

4

5 6 Hops

7

8

9

10

Fig. 15. Hop distribution of the received packets in experiment 2 with different duty-cycle.

imum delay is bounded by Eq. (15). The simulation results are in line with Property 3. For example, when the sink’s position is (15, 15), the simulated maximum delay of WSEDR and Random is 5720 and 6659 slots, respectively. The delay of both the two schemes is shorter than the theoretical delay.

6. Conclusion and future work In this paper, we proposed a distributed wakeup scheduling algorithm-based forwarding scheme which schedules the wakeup slot of each node according to their hop count and EDR to the sink. The proposed algorithm

511

F. Yang, I. Augé-Blum / Computer Networks 55 (2011) 497–513 1

14 WSEDR Random

Average delivery ratio

0.8

0.6

0.4

0.2 WSEDR Random

Average energy consumption

Average end to end delay (slots)

1400 1200 1000 800 600 400 200

0

WSEDR Random

0 10

20

30

40

50

60

70

80

12 10 8 6 4 2 0

10

20

30

Sink position

40

50

60

70

80

10

20

30

Sink position

40

50

60

70

80

Sink position

Fig. 16. Impacts of the sink position in experiment 2.

80

80 WSEDR Random

WSEDR Random

70

60

Number of packets

Number of packets

70

50 40 30 20 10

60 50 40 30 20 10

0

0 1

2

3

4

5 6 Hops

7

8

9

10

1

2

3

4

5 6 Hops

7

8

9

10

Fig. 17. Hop distribution of the received packets in experiment 2 with different sink position.

maximizes the delivery ratio under real-time constraints. Through the mathematical model we proposed, we proved that the proposed algorithm has the best performance in terms of average delivery ratio. Simulation results are closely in line with the mathematical model. From the results, we can see that the proposed algorithm is highly suitable for ultra-low duty-cycle real-time event-driven WSN applications. As for future works, some complementary problems have to be investigated. (1) To increase the robustness of the proposed algorithm. The hop count and EDR of all the nodes should be updated during the run-time phase when the network topology changes (for example, when some

nodes are dead or added). (2) Usually, several nodes may detect an event at the same time, so a local aggregation algorithm that reports only one alarm to the sink may be integrated into our algorithm. (3) The convergence time of the initialization phase of our algorithm was not investigated. Although this is not important for many applications, it is necessary for some applications, such as disaster response applications. In the future, we hope to work on proving the convergence time. (4) In this work, the bounded delay is fixed after the topology and the duty-cycle is chosen. Normally, real-time constraints would come from the application layer, so we must study how to adapt this scheme to satisfy application-specified real-time constraints.

Table 5 Maximum delay and maximum hop count. Sink position

(15, 15)

(25, 25)

(35, 35)

(45, 45)

(55, 55)

(65, 65)

(75, 75)

WSEDR

Maximum hop count Maximum delay Theoretical delay bound

10 5720 13000

9 4796 11700

9 5507 11700

8 4556 10400

8 4525 10400

6 4486 7800

6 3496 7800

Random

Maximum hop count Maximum delay Theoretical delay bound

10 6659 13000

9 6683 11700

9 6646 11700

8 5695 10400

7 4595 9100

7 4481 9100

6 4489 7800

512

F. Yang, I. Augé-Blum / Computer Networks 55 (2011) 497–513

(5) Furthermore, synchronization is difficult to achieve for large-scale WSNs. Although we obtained promising results for real-time and energy-constrained WSN under unreliable links using this assumption, those results have to be extended to asynchronous WSN. References [1] A. Mainwaring, D. Culler, J. Polastre, R. Szewczyk, J. Anderson, Wireless sensor networks for habitat monitoring, in: Proceedings of the ACM WSNA, 2002, pp. 88–97. [2] N. Xu, S. Rangwala, K.K. Chintalapudi, D. Ganesan, A. Broad, R. Govindan, D. Estrin, A wireless sensor network for structural monitoring, in: Proceedings of the ACM SenSys, 2004, pp. 13–24. [3] M. Li, Y. Liu, Underground coal mine monitoring with wireless sensor networks, ACM Transactions on Sensor Networks (TOSN) 2 (2) (2009) 1–29. [4] R. Mangharam, A. Rowe, R. Rajkumar, Firefly: a cross-layer platform for real-time embedded wireless networks, Real-Time Systems 37 (3) (2007) 183–231. [5] T. He, P. Vicaire, T. Yan, L. Luo, L. Gu, G. Zhou, R. Stoleru, Q. Cao, J.A. Stankovic, T. Abdelzaher, Achieving real-time target tracking using wireless sensor networks, in: Proceedings of the IEEE RTAS, 2006, pp. 37–48. [6] S. Tilak, N. Abu-Ghazaleh, W. Heinzelman, A taxonomy of wireless micro-sensor network models, ACM SIGMOBILE Mobile Computing and Communications Review 6 (2) (2002) 28–36. [7] W.Ye, J.Heidemann, D.Estrin, An energy-efficient mac protocol for wireless sensor networks, in: Proceedings of the IEEE INFOCOM, 2002, pp. 1567–1576. [8] W. Ye, F. Silva, J. Heidemann, Ultra-low duty cycle mac with scheduled channel polling, in: Proceedings of the ACM SenSys, 2006, pp. 321–334. [9] Cc2420 Data Sheet. . [10] T. van Dam, K. Langendoen, An adaptive energy-efficient mac protocol for wireless sensor networks, in: Proceedings of the ACM SenSys, 2003, pp. 171–180. [11] J. Polastre, J. Hill, D. Culler, Versatile low power media access for wireless sensor networks, in: Proceedings of the ACM SenSys, 2004, pp. 95–107. [12] A. El-Hoiydi, J.-D. Decotignie, Wisemac: an ultra low power mac protocol for multi-hop wireless sensor networks, in: Proceedings of the ALGOSENSORS, 2004. [13] G. Lu, N. Sadagopan, B. Krishnamachari, A. Goel, Delay efficient sleep scheduling in wireless sensor networks, in: Proceedings of the IEEE INFOCOM, 2005. [14] G. Lu, B. Krishnamachari, C. Raghavendra, An adaptive energyefficient and low-latency mac for data gathering in wireless sensor networks, in: Proceedings of the IEEE IPDPS, 2004. [15] S. Kulkarni, A. Iyer, C. Rosenberg, An address-light, integrated mac and routing protocol for wireless sensor networks, IEEE/ACM Transactions on Networking 14 (4) (2006) 793–806. [16] T. He, B. Blum, Q. Cao, J. Stankovic, S. Son, T. Abdelzaher, Robust and timely communication over highly dynamic sensor networks, RealTime Systems 37 (3) (2007) 261–289. [17] M. Zorzi, R. Rao, Geographic random forwarding (GeRaF) for ad hoc and sensor networks: energy and latency performance, IEEE Transactions on Mobile Computing 2 (4) (2003) 349–365. [18] L. Galluccio, A. Leonardi, G. Morabito, S. Palazzo, A mac/routing cross-layer approach to geographic forwarding in wireless sensor networks, Ad Hoc Networks 5 (6) (2007) 872–884. [19] M. Strasser, A.F. Meier, K. Langendoen, P. Blum, Dwarf: delay-aware robust forwarding for energy-constrained wireless sensor networks, in: Proceedings of the IEEE DCOSS, 2007, pp. 64–81. [20] Y. Gu, T. He, Data forwarding in extremely low duty-cycle sensor networks with unreliable communication links, in: Proceedings of the ACM SenSys, 2007. [21] N. Wakamiya, T. Kawai, M. Murata, K. Yanagihara, M. Nozaki, S. Fukunaga, A sensor network protocol for automatic meter reading in an apartment building, Ad Hoc and Sensor Wireless Networks 7 (12) (2009) 115–137. [22] G. Zhou, T. He, S. Krishnamurthy, J. Stankovic, Impact of radio irregularity on wireless sensor networks, in: Proceedings of the MobiSys, 2004, pp. 125–138. [23] J. Zhao, R. Govindan, Understanding packet delivery performance in dense wireless sensor networks, in: Proceedings of the ACM SenSys, 2003, pp. 1–13.

[24] A. Woo, T. Tong, D. Culler, Taming the underlying challenges of reliable multihop routing in sensor networks, in: Proceedings of the ACM SenSys, 2003, pp. 14–27. [25] F. Ye, G. Zhong, S. Lu, L. Zhang, Gradient broadcast: a robust data delivery protocol for large scale sensor networks, Wireless Networks 11 (3) (2005) 285–298. [26] B. Chen, K. Jamieson, H. Balakrishnan, R. Morris, Span: an energyefficient coordination algorithm for topology maintenance in ad hoc wireless networks, Wireless Networks 8 (5) (2002) 481–494. [27] Y. Xu, J. Heidemann, D. Estrin, Geography-informed energy conservation for ad hoc routing, in: Proceedings of the ACM MobiCom, 2001, pp. 70–84. [28] F. Ye, G. Zhong, J. Cheng, S. Lu, L. Zhang, Peas: a robust energy conserving protocol for long-lived sensor networks, in: Proceedings of the IEEE ICDCS, 2003. [29] A. Cerpa, D. Estrin, Ascent: adaptive self-configuring sensor networks topologies, IEEE Transactions on Mobile Computing 3 (3) (2004) 272–285. [30] Q. Cao, T. Abdelzaher, T. He, J. Stankovic, Towards optimal sleep scheduling in sensor networks for rare-event detection, in: Proceedings of the IEEE/ACM IPSN, 2005, pp. 20–27. [31] Y. Zhu, L.M. Ni, Probabilistic wakeup: adaptive duty cycling for energy-efficient event detection, in: Proceedings of the ACM MSWiM, 2007, pp. 360–367. [32] Y. Zhu, L. Ni, Probabilistic approach to provisioning guaranteed QoS for distributed event detection, in: Proceedings of the IEEE INFOCOM, 2008. [33] A. Ghosh, S. Das, Coverage and connectivity issues in wireless sensor networks: a survey, Pervasive and Mobile Computing 4 (3) (2008) 303–334. [34] V. Rajendran, K. Obraczka, J.J. Garcia-Luna-Aceves, Energy-efficient collision-free medium access control for wireless sensor networks, in: Proceedings of the ACM SenSys, 2003. [35] S. Ergen, P. Varaiya, Pedamacs: power efficient and delay aware medium access protocol for sensor networks, IEEE Transactions on Mobile Computing 5 (7) (2006) 920–930. [36] Y. Chen, E. Fleury, A distributed policy scheduling for wireless sensor networks, in: Proceedings of the IEEE INFOCOM, 2007, pp. 1559– 1567. [37] M. Macedo, A. Grilo, M. Nunes, Distributed latency-energy minimization and interference avoidance in TDMA wireless sensor networks, Computer Networks 53 (5) (2009) 569–582. [38] J. Chen, P. Zhu, Z. Qi, Pr-mac: path-oriented real-time mac protocol for wireless sensor network, in: Proceedings of the Third International Conference on Embedded Software and Systems, 2007, pp. 530–539. [39] A. Keshavarzian, H. Lee, L. Venkatraman, Wakeup scheduling in wireless sensor networks, in: Proceedings of the ACM MobiHoc, 2006. [40] Y. Zhou, M. Medidi, Sleep-based topology control for wakeup scheduling in wireless sensor networks, in: Proceedings of the IEEE SECON, 2007, pp. 304–313. [41] Y. Gu, T. He, M. Lin, J. Xu, Spatiotemporal delay control for lowduty-cycle sensor networks, in: Proceedings of the IEEE RTSS, 2009. [42] C. Schurgers, V. Tsiatsis, S. Ganeriwal, M. Srivastava, Optimizing sensor networks in the energy-latency-density design space, IEEE Transactions on Mobile Computing 1 (1) (2002) 70–80. [43] X. Yang, N. Vaidya, A wakeup scheme for sensor networks: achieving balance between energy saving and end-to-end delay, in: Proceedings of the IEEE RTAS, 2004, pp. 19–26. [44] M. Dhanaraj, B. Manoj, C. Murthy, A new energy efficient protocol for minimizing multi-hop latency in wireless sensor networks, in: Proceedings of the IEEE PerCom, 2005. [45] A. El-Hoiydi, Aloha with preamble sampling for sporadic traffic in ad hoc wireless sensor networks, in: Proceedings of the IEEE ICC, 2002. [46] M. Buettner, G. Yee, E. Anderson, R. Han, X-mac: a short preamble mac protocol for duty-cycled wireless sensor networks, in: Proceedings of the ACM SenSys, 2006, pp. 307–320. [47] E. Lin, J. Rabaey, A. Wolisz, Power-efficient rendez-vous schemes for dense wireless sensor networks, in: Proceedings of the IEEE ICC, vol. 7, 2004. [48] Y. Sun, O. Gurewitz, D.B. Johnson, Ri-mac: a receiver-initiated asynchronous duty cycle mac protocol for dynamic traffic loads in wireless sensor networks, in: Proceedings of the ACM SenSys, 2008, pp. 1–14. [49] J. Na, S. Lim, C. Kim, Dual wake-up low power listening for duty cycled wireless sensor networks, EURASIP Journal on Wireless Communications and Networking 2008 (2008) 11.

F. Yang, I. Augé-Blum / Computer Networks 55 (2011) 497–513 [50] K. Zeng, W. Lou, J. Yang, D. Brown, On geographic collaborative forwarding in wireless ad hoc and sensor networks, in: Proceedings of the WASA, 2007, pp. 11–18. [51] J. Kim, X. Lin, N. Shroff, P. Sinha, On maximizing the lifetime of delaysensitive wireless sensor networks with anycast, in: Proceedings of the IEEE INFOCOM, 2008. [52] C. Lu, B. Blum, T. Abdelzaher, J. Stankovic, T. He, Rap: a real-time communication architecture for large-scale wireless sensor networks, in: Proceedings of the IEEE RTAS, 2002, pp. 55–66. [53] T. He, J. Stankovic, C. Lu, T. Abdelzaher, Speed: a stateless protocol for real-time communication in sensor networks, in: Proceedings of the IEEE ICDCS, 2003, pp. 46–55. [54] E. Felemban, C. Lee, E. Ekici, Mmspeed: multipath multi-speed protocol for QoS guarantee of reliability and timeliness in wireless sensor networks, IEEE Transactions on Mobile Computing 5 (6) (2006) 738–754. [55] O. Chipara, Z. He, G. Xing, Q. Chen, X. Wang, C. Lu, J. Stankovic, T. Abdelzaher, Real-time power-aware routing in sensor networks, in: Proceedings of the IEEE IWQoS, 2006. [56] X. Wang, X. Wang, X. Fu, G. Xing, N. Jha, Flow-based real-time communication in multi-channel wireless sensor networks, in: Proceedings of the EWSN, 2009. [57] M.Caccamo, L.Y.Zhang, L.Sha, G.Buttazzo, An implicit prioritized access protocol for wireless sensor networks, in: Proceedings of the IEEE RTSS, 2002, pp. 39–48. [58] T. Watteyne, I. Auge-Blum, Proposition of a hard real-time mac protocol for wireless sensor networks, in: Proceedings of the MASCOTS, 2005. [59] M. Maróti, B. Kusy, G. Simon, Á. Lédeczi, The flooding time synchronization protocol, in: Proceedings of the ACM SenSys, 2004, pp. 39–49. [60] S. Ganeriwal, R. Kumar, M. Srivastava, Timing-sync protocol for sensor networks, in: Proceedings of the ACM SenSys, 2003, pp. 138– 149. [61] R. Liu, K. Fan, P. Sinha, Locally scheduled packet bursting for data collection in wireless sensor networks, Ad Hoc Networks 7 (5) (2009) 904–917. [62] A. Cerpa, J. Wong, M. Potkonjak, D. Estrin, Temporal properties of low power wireless links: modeling and implications on multi-hop routing, in: Proceedings of the ACM MobiHoc, 2005, pp. 414–425.

513

[63] L. Sang, A. Arora, H. Zhang, On exploiting asymmetric wireless links via one-way estimation, in: Proceedings of the ACM MobiHoc, 2007, pp. 11–21. [64] S. Dulman, M. Rossi, P. Havinga, M. Zorzi, On the hop count statistics for randomly deployed wireless sensor networks, International Journal of Sensor Networks 1 (1) (2006) 89–102.

Fei Yang received the B.S. degree in electrical engineering and automation from HuBei University of Technology, Wuhan, China, in 2004 and the M.S degree in control science and engineering from NorthWestern Polytechnical University, XiAn China, in 2007. He is working toward the Ph.D degree at INSA lyon, france. His research interests is in Wireless Sensor Networks.

Isabelle Augé-Blum obtained the Master degree in 1996 in Industrial Computer Sciences and the Ph.D. degree in 2000 about Formal Validation of Real-Time Fieldbus, both from LAAS laboratory, University Toulouse III. Since September 2000, she is an associate professor at the National Institute of Applied Sciences of Lyon in the Telecommunications department. She is also a member of the Center for Innovations in Telecommunication and Services integration (CITI Lab) which is the research lab associated to the department. Last, she is also a member of the INRIA Project named ARES for Architecture of Networks of Services.