IRIS: Integrated data gathering and interest dissemination system for wireless sensor networks

IRIS: Integrated data gathering and interest dissemination system for wireless sensor networks

Ad Hoc Networks 11 (2013) 654–671 Contents lists available at SciVerse ScienceDirect Ad Hoc Networks journal homepage: www.elsevier.com/locate/adhoc...

1MB Sizes 0 Downloads 33 Views

Ad Hoc Networks 11 (2013) 654–671

Contents lists available at SciVerse ScienceDirect

Ad Hoc Networks journal homepage: www.elsevier.com/locate/adhoc

IRIS: Integrated data gathering and interest dissemination system for wireless sensor networks Alessandro Camillò a, Michele Nati c, Chiara Petrioli a,⇑, Michele Rossi b, Michele Zorzi b a

Dept. of Computer Science, University of Rome, ’’La Sapienza’’, Rome, Italy Dept. of Information Engineering (DEI), University of Padova, Italy c Centre for Communication Systems Research (CCSR), University of Surrey, Guildford, Surrey, UK b

a r t i c l e

i n f o

Article history: Available online 4 November 2011 Keywords: Wireless sensor networks Cross layer design Routing Channel access Interest dissemination Data gathering Data aggregation

a b s t r a c t This paper presents IRIS, an integrated interest dissemination and convergecasting solution for wireless sensor networks (WSNs). The interest dissemination protocol is used to build and maintain the network topology and for task/instruction assignment, while convergecasting implements data gathering at the network sink. Convergecasting heavily exploits cross-layering in that MAC and routing operation are performed jointly and relay selection is based on flexible cost functions that take into account information from different layers. The definition of the IRIS cost function enables tradeoff between key end-to-end performance metrics. In addition, it provides mechanisms for supporting efficient network behavior such as in-network data aggregation or processing. Energy usage is minimized by exploiting density estimation, sleeping modes and duty cycle control in a distributed and autonomous manner and as a function of the traffic intensity. Finally, IRIS is self adaptive, highly localized and imposes limited control overhead. IRIS performance is evaluated through ns2 simulations as well as through experiments on a WSN testbed. Comparative performance results show that IRIS outperforms previous cross-layer solutions. The flexibility introduced by the IRIS cross-layer approach results in higher robustness than that of well-known approaches such as BoX-MAC and CTP. Ó 2011 Elsevier B.V. All rights reserved.

1. Introduction The last decade has witnessed an increasing interest toward the design, implementation and deployment of wireless sensor networks (WSNs). The applications for these networks range from environmental monitoring to physical plant control, resource tracking and intrusion detection, assisted living and e-health, critical infrastructures monitoring, homeland security and border control, smart grid and home appliances control. Due to the importance of these application domains and their cogent need for low energy consumption and robustness, intense research activity has been carried out on designing energy efficient and reliable communication protocols for WSNs. ⇑ Corresponding author. E-mail address: [email protected] (C. Petrioli). 1570-8705/$ - see front matter Ó 2011 Elsevier B.V. All rights reserved. doi:10.1016/j.adhoc.2011.09.009

However, current solutions usually target a single aspect of the overall system, e.g., either routing or MAC, interest dissemination or convergecasting, duty cycle vs. continuous activity, etc., rarely combining these techniques together. The objective of our work is to fill this gap by designing, implementing and testing a complete system for communication in WSNs. Our solution is called IRIS for Integrated Routing and Interest dissemination System. IRIS supports duty cycles, interest dissemination (i.e., the propagation of packets or commands to all sensor nodes), as well as efficient convergecasting, i.e., data gathering to the network sink. IRIS is a cross-layer tunable approach which achieves different performance goals thanks to localized and flexible cost functions that are used to determine the network behavior. For instance, a cost-based relay selection makes it possible to exploit the most energy-rich nodes for advancing packets towards the sink,

A. Camillò et al. / Ad Hoc Networks 11 (2013) 654–671

to account for shortest paths, or to select relays that facilitate data aggregation. Interest dissemination and convergecasting operate concurrently, supported by integrated neighbor estimation functions and awake/ asleep scheduling for improved performance. Adaptive duty cycling is also used to prolong the network lifetime. The IRIS approach to interest dissemination and convergecasting is asynchronous. Differently from many asynchronous solutions for WSNs, however, IRIS does not require nodes to keep an up-to-date status of their neighbors, such as their identity, functionalities, resources and duty cycles. Next-hop relays are dynamically selected based on locally computed cost functions expressing a node suitability to act as a packet forwarder. This results in high robustness, especially in scenarios characterized by link dynamics where IRIS can change routes quickly and with low overhead. Through experiments via simulations and a testbed of TmoteSky sensor nodes, we investigate the effectiveness of IRIS in providing efficient interest dissemination and convergecasting. Our results show that IRIS interest dissemination is able to reach over 98% of the network nodes in reasonable time. Through integration of accurate neighbor estimation and aggressive sleeping behavior into interest dissemination, we have also shown that in certain scenarios IRIS nodes can save even more energy than that allowed by their nominal duty cycle. IRIS convergecasting also performs very well. We show that by adopting adaptive duty cycling along with node fast wake IRIS convergecasting can achieve energy saving gains up to 50% with respect to a baseline version of the protocol. Moreover, by combining IRIS data aggregation features with adaptive duty cycling we can further increase the energy saving and provide 100% data packet delivery ratio for fourfold traffic loads. Finally, our simulation results are validated through testbed experiments where IRIS is also compared with offthe-shelf MAC and routing solutions (such as those that come with TinyOS) showing higher reliability in case of link dynamics. The paper is organized as follows. The state of the art is summarized in Section 2. An overview of the IRIS system is given in Section 3. The system is composed of several cooperating modules, namely, duty cycle control (Section 3.1), density estimation algorithms (Section 3.2), an interest dissemination protocol (Section 3.3), an integrated MAC/routing scheme (Section 3.4) as well as advanced sleeping techniques (Section 3.5) that are used during channel contention. In Section 4 the performance of IRIS is characterized through a thorough ns2 simulation campaign, whereas experimental results from a real WSN testbed are presented in Section 5. Section 6 concludes the paper.

2. Related work In this section we put IRIS into context while reviewing recent research on channel access, dissemination and routing for WSNs. A large number of protocols for Wireless Sensor Networks (WSNs) have been proposed in the last few years,

655

but most of them focused on specific aspects such as routing, channel access (MAC), interest dissemination or localization, neglecting the integration of these fundamental components. In this work we make an attempt to tackle the above issues through a synergistic approach. A good practice for MAC protocols for WSNs is to provide wakeup/sleep schedules for sensor nodes to reduce their power consumption. MAC schemes often use wakeup schedules and can be roughly categorized as either contention-based [1] or TDMA-based [2]. TDMA-based protocols frequently incur high energy consumption due to their centralized (or semi-centralized) slot schedule management (consisting of schedule assignment and maintenance). On the other hand, they do not suffer from collisions and are thus effective under high traffic load. CSMA-based schemes scale better at low transmission rates and their localized nature allows power saving by desynchronized and distributed duty cycling (i.e., periodically putting the radio to sleep). As an example, B-MAC [3] achieves low power operation putting all the energy burden on the sender node. Each node periodically wakes up and listens to the channel for a short time. In case no channel activity is detected, it goes back to sleep. Transmitters send preambles that are long enough so that periodic listening at the receivers enables them to be heard. Receiving nodes extend their active period so as to receive the data following a preamble. This scheme does not require RTS/CTS control frames and is very energy efficient under light traffic. However, the use of long preambles makes this solution energy inefficient at low duty cycles. Since a node determines whether it is the intended destination of a transmission only upon the reception of the corresponding DATA packet, B-MAC suffers from excessive overhearing. X-MAC [4] improves the preamble listening technique by splitting the long preamble into a number of short preamble packets, each containing the ID of the target node. When a node wakes up and receives a short preamble, it checks the target node ID in that packet. If the node is not the intended recipient, it goes back to sleep avoiding further overhearing, otherwise it replies to the transmitter with an early acknowledgment which causes the immediate transmission of the DATA packet from the transmitter (subsequently acknowledged by the receiver). RI-MAC [5] differs from other asynchronous duty cycled protocols in how sender and receiver reach a synchronization point. In RI-MAC, the sender remains silently active until a receiving node explicitly notifies when to start a data transmission by sending a beacon frame. As only beacon and data transmissions occupy the medium with no preamble transmission, the medium remains significantly available for other nodes to exchange data. W-MAC [6] is a recent approach featuring a subtree-based iterative cascading scheduling mechanism and a workload-aware time slice allocation mechanism to minimize the power consumption of nodes, while offering a low latency. The MAC of IRIS is CSMA based. It adopts duty cycles for energy conservation, packets can be transmitted in bursts and different duty cycles are used according to the level of traffic in the network. In addition, our MAC uses advanced contention resolution techniques [7] and is coupled with the routing scheme according to a cross-layer

656

A. Camillò et al. / Ad Hoc Networks 11 (2013) 654–671

paradigm. Finally, our MAC can effectively aggregate data [8] through a slight modification of the sleeping behavior of a few special nodes (called aggregators that are elected in a distributed manner at low cost). Routing towards one or multiple data gathering points (referred to in the following as convergecasting) is usually accomplished through some sort of coordinates, which can either be geographical [9–11,7] or hop count based [12,13]. Geographical routing suffers from the dead end problem where the presence of connectivity holes prevents a successful delivery to the sink and requires the nodes to estimate their own position within the network [14]. In IRIS routing is similar in principle to [13] but coupled with advanced collision avoidance features (see [7,9]). It is based on hop count coordinates, which are distributed and maintained via an interest dissemination scheme. In practice, nodes are scored according to a cost function that depends on their distance from the sink as well as on local parameters (such as their residual energy). These costs are subsequently used to resolve the contention through biased timers. Hop counts are subsequently refined through overhearing and are the only topological information that is used by the system for data communication. Even though IRIS does not exploit staggered scheduling as RI-MAC [5] and W-MAC [6] for fast data convergence towards the sink, it exploits adaptive duty cycling with fast wakeup which facilitates the fast creation of routes. We note that staggered scheduling can be additionally applied to IRIS as well, although it is not implemented in its current version. Several approaches were proposed for the dissemination of messages (sink ? sensors). Plain broadcasting is to be avoided, as it leads to broadcast storm problems [15]. There are probability-based methods [16], where nodes decide whether they should forward using some probability parameter or area-based methods (see [15]). For IRIS we adopted Fireworks [17], a recent and efficient probabilistic scheme. In this paper, we couple these mechanisms with efficient density estimation and channel access techniques so that they can be effectively exploited in the presence of sleeping modes. This makes our interest dissemination scheme an energy efficient, fully localized and practical approach.

3. Description of IRIS IRIS integrates different desirable features of communications in WSNs. As depicted in Fig. 1 IRIS implemented techniques include awake/asleep scheduling (Duty Cycle Manager), interest dissemination (Window Module), crosslayer convergecasting (Data Exchange Module and Cost Manager) and estimation of the number of neighbors of each sensor node (Density Estimator). Each sensor communicates for three reasons: 1) For estimating the number of nodes within its transmission range, 2) to propagate an interest coming from the sink, and 3) to send a data packet towards the sink. These three tasks are interleaved during the node lifetime and their operation can be dynamically changed according to node and network status and requirements. For instance, a node might

dynamically decide the duration of the density estimation procedure according to the percentage of nodes that it intends to reach and to the desired estimation accuracy. Depending on the specific task to perform, the Protocol Selector is responsible for deciding which protocol should be used for the transmission of a given packet. In case the packet is an interest, it will be passed to the Window Module (Section 3.3). The Density Estimator Module is used during interest dissemination to get fresh estimates of the number of neighbors within transmission range. Interest packets are also used to refresh the hop count (HC) of a node from the sink and to send specific instructions to the nodes such as their sleeping behavior (i.e., their duty cycle) as well as the cost function to be used during convergecasting. Convergecasting is implemented by the Data Exchange Module (Section 3.4). Specifically, the next hop towards the sink is selected by means of cost functions that are locally and dynamically calculated. These can be computed as a function of: State of the queues, residual node energy, link quality (e.g., RSSI), advancement towards the sink, capability of data aggregation, etc. These costs are computed by the Cost Management Module and are used at the Data Exchange Module as estimates of how suitable a sensor node is to act as a relay (Section 3.4). The Duty Cycle Manager is used to put nodes to sleep according to a dynamically adaptive duty cycle (Section 3.1). The Contention Manager keeps track of the duration of ongoing contention as well as of the various back-off and virtual carrier sensing timers (Section 3.5).

3.1. Sleeping modes For energy saving purposes, every node turns on and off its radio transceiver according to a wakeup schedule that is independent of that of the other nodes (asynchronous duty cycling). When a node does not have data to send, it can use one of two sleeping modes: (1) Normal, which happens when the node follows a nominal duty cycle dn, alternating radio on and off, and (2) Aggressive, which is when the node uses a smaller duty cycle da  dn. More specifically: In the Normal Sleeping Behavior (NSB) time is divided into duty cycle periods of Tn seconds. At the end of every duty cycle period a given node randomly picks a number tn 2 [0, Tn(1  dn)]. The node then sleeps for the first tn seconds (sleeping period), after which it wakes up and remains awake for Tndn seconds (wakeup period) and it then sleeps again until the end of the current duty cycle period. During wakeup a node only receives packets whose destination address matches its own and broadcast packets, and senses the channel solely when it has its own data to send. During sleeping periods the node switches off its radio. The Aggressive Sleeping Behavior (ASB) happens when a node in NSB does not participate in any channel contention for Ta seconds. In ASB mode a node uses a duty cycle da  dn. Differently from when it is in NSB, a node following ASB periodically senses the channel during wakeup periods, promptly switching back to NSB if it detects any channel activity (fast wake up). A node switches back to NSB also when it has its own data to transmit.

657

A. Camillò et al. / Ad Hoc Networks 11 (2013) 654–671

Density Estimator

Data Exchange Module

Window Module

Cost Manager

Protocol Selector

Channel Sense

Contention Manager

Duty Cycle Manager

Radio Chip

Fig. 1. The IRIS system and its components.

We now detail node operations and sleeping modes when a node has data to send: Transmission attempt with idle channel. IRIS uses a CSMA-based MAC. Before sending a packet a node senses the channel to check for ongoing transmissions. In order to transmit a packet, the channel has to be sensed idle for a period Tidle that depends on the type of packet. Different values of Tidle are adopted by interest dissemination (Section 3.3) and convergecasting (Section 3.4). A node always switches back to NSB after sending its own data. Transmission attempt with busy channel. When a node finds the channel busy it sets a backoff timer. From then on it resumes NSB, decrementing the timer only during sleeping periods. If the node is awake and its backoff timer has not yet expired, it can participate in any channel contention initiated by its neighbors. The node can however start its own channel contention only when its backoff timer expires. If the channel is still busy, the timer is set to twice its previous value and the procedure is repeated.

that each node is in the active state in each round with probability d, independently of past sampling history. At each estimation round i, 1 6 i 6 R, the node executing the estimation (the inquirer) counts all awake neighbors that were not yet counted in rounds 1, 2, . . ., i  1. The counting approach that we adopt in IRIS uses a simple yet effective protocol based on a contention window. In each round i the inquirer sends a REQ packet. This transmission is followed by a window of W time slots. Upon receiving the REQ packet each awake neighbor that has not yet replied randomly chooses one of the W slots and replies with a short RES packet (whose transmission time fits the slot duration, Tslot) that carries its own identifier (node id). The inquirer collects the number of packets ki received successfully in the ith window and stores their ids. Let L(n, k1, . . . , kR, d) be the probability to count k1, k2, . . ., kR neighbors in rounds 1, 2, . . ., R, given that the duty cycle is d and that the actual number of neighbors is n. We have:

Lðn; k1 ; . . . ; kR ; dÞ ¼ 3.2. Node density estimation IRIS requires local node density estimates for efficient interest dissemination (Section 3.3). The problem concerns the estimation of the number of nodes, both asleep and awake, within transmission range of a given node. In describing density estimation we assume that the network operates on a fixed duty cycle d 2 (0, 1] that is the same for all nodes in the network. (This assumption will be relaxed in the following.). Neighbor estimation is executed in R rounds, which are sufficiently separated in time so that the sets of active nodes which are sampled at each estimation round can be considered to be statistically independent. This means

 R  Y n  SðiÞ ki d ð1  dÞnSðiÞki ; k i i¼1

ð1Þ

P where SðiÞ ¼ i1 j¼1 kj if i > 1 and S(i) = 0 otherwise. The actual estimated number of neighbors nMLE used by IRIS for performing interest dissemination is the maximum likelihood estimate (MLE) for n given by:

nMLE ¼ arg max Lðn; k1 ; k2 ; . . . ; kR ; dÞ: n

ð2Þ

Closed form solution of Eq. (2). Factorials make it difficult differentiating either the likelihood function or its logarithm for finding its maximum. Nevertheless, given the form of Eq. (2), there exists a unique integer n⁄ for which R ; dÞ is maximum, where k R ¼ ðk1 ; k2 ; . . . ; kR Þ. Hence, Lðn ; k 0 for any other integer n – n⁄ we must have that

A. Camillò et al. / Ad Hoc Networks 11 (2013) 654–671

R ; dÞ=Lðn0 ; k R ; dÞ P 1. According to the approach in Lðn ; k [18] the involved algebra simplifies when we consider the ratio:

 R  R ; dÞ Y Lðn; k n  SðiÞ nð1  dÞR ð1  dÞ ¼ : ¼ R ; dÞ n  SðiÞ  ki n  SðRÞ  kR Lðn  1; k i¼1 ð3Þ Thus, if we obtain the unique real-valued n for which the above ratio is 1, the maximum likelihood estimate must lie in the interval [n  1, n]. This leads to the following closed form solution for the MLE:

$ nMLE ¼

PR

i¼1 ki

1  ð1  dÞR

% ð4Þ

:

W=5 W=10 W=20 W=40 MLE

80 60 40 20 0

5

10

15

20

25

30

Number of estimation rounds, R Fig. 3. WINDOW density estimation vs. MLE for n = 25.

The above result is important for our implementation of IRIS in actual WSNs as it allows us to find the MLE in closed form without the need of a time consuming search for the n that maximizes Eq. (2). Fig. 2 shows the average estimation error for MLE de fined as jn nnj. Results are displayed for the case n = 25 neighbors per node. The estimation error decreases, as expected, with the number of rounds R. The lower the duty cycle the higher the number of rounds needed to achieve a target estimation accuracy. For instance, when d = 0.1 an average of about 15 estimation rounds are necessary for obtaining an estimation error below 10%. In Fig. 3 we show the performance of our WINDOW scheme for n = 25, W 2 {5, 10, 20, 40} and d = 0.5. The difference between the IRIS neighbor estimation (WINDOW) and MLE is that in the first case collision of RES packets is possible, leading to lower values of the kis compared to the ‘‘ideal’’ MLE kis. This leads to increased estimation errors, especially for low values of W that make collisions more likely. The selection of the parameter W is therefore key to obtaining satisfactory performance. Suitable adaptation policies for W are presented in Section 3.4 (see Fig. 4). 3.3. Interest dissemination In order to perform interest dissemination we use the Fireworks protocol [17], an effective probabilistic broadcast scheme that does not require any overlay network to

100

Estimation error [%]

100

Estimation error [%]

658

MLE, d=0.01 MLE, d=0.1 MLE, d=0.5

80

be set up in advance. We extend Fireworks to the case where nodes follow a duty cycle. Fireworks is an on-line scheme. The procedure is initiated by the sink by transmitting an interest packet to all its neighbors. Whenever a node receives a new interest packet, it re-broadcasts it to all its neighbors with probability p, while with probability 1  p it sends it only to c randomly selected neighbors. The main challenge of applying Fireworks within IRIS stems from the fact that a node does not know its neighbors and that, since some neighbors may be asleep, it cannot be sure that the interest packet has reached all its intended destinations. This is why we implemented Fireworks jointly with our on-line density estimation technique (Section 3.2). Let n be the number of neighbors of a given node, including both awake and sleeping nodes. Let ñ be the current estimate of n at the node. Upon receiving an interest packet, the node sends the packet to c neighbors with probability 1  p. If c > ñ the node sends the packet to ex~ neighbors, while if c 6 ñ the node sends the packet actly n to c of them, selected randomly and uniformly as mandated by Fireworks. On the other hand, with probability p the node sends the interest packet to all its ñ neighbors. ñ is obtained using the counting protocol described in Section 3.2. We now describe in detail the phases of the joint neighbor estimation and interest dissemination procedures. Upon receiving a new interest packet to disseminate, the inquirer initiates its dissemination through a number of transmission rounds.

3.3.1. REQUEST At the beginning of each round, the inquirer senses the channel for T sense REQ seconds. If the channel is idle during this time, the inquirer transmits a REQ packet which carries the value of the current window size W and the interest payload.

60 40 20 0 5

10

15

20

25

30

Number of estimation rounds, R Fig. 2. MLE estimator vs. number of estimation rounds for n = 25.

3.3.2. RESPONSE Upon receiving a REQ packet, an awake neighbor that has not answered in a previous estimation round transmits a RES packet in one of the W slots, chosen randomly and

A. Camillò et al. / Ad Hoc Networks 11 (2013) 654–671

659

Fig. 4. Window contention procedure for interest dissemination.

uniformly. At the end of the contention window, control returns to the inquirer. 3.3.3. CONFIRM The inquirer listens to the channel for the W slots following its REQ packet transmission. In each of these slots one of three events can occur: (1) collision, i.e., more than one node has chosen the slot and the corresponding responses collide at the inquirer, (2) silence, i.e., no nodes transmit in this slot, or (3) success, i.e., one RES packet is successfully received by the inquirer in the slot. The inquirer counts the number of successful slots ki that is used ~ . We denote by f the number of to refine an estimate for n neighbors to which a node has decided to broadcast an ~ estimate is then used to refine interest packet. The new n ~ in case the inthe value of f, which is updated as f n quirer was set to deliver the interest to all its neighbors ~ Þ, otherwise. and as f minðc; n The variable ei counts the neighbors that have been successfully selected as forwarders so far. (At the transmission of the first REQ ei = 0.) Thus, f  ei represents the number of neighbors that still have to be selected. When ei P f the procedure stops. If ei < f the inquirer randomly picks min (f  ei,ki) neighbors out of the ki that successfully sent a RES in the last transmission round. The selected forwarders are notified through a CONF packet carrying a bitmap of W bits where each bit h set to 1 indicates that the neighbor that has successfully transmitted in slot h has been selected. 3.3.4. ACKNOWLEDGMENT Upon receiving a CONF packet, a neighbor of the inquirer checks the bitmap in the packet to see whether it has been selected as a forwarder. If so, it transmits an ACK in a successive slot, corresponding to its position in the bitmap. The number of slots for ACKs is equal to the number of ones in the CONF packet bitmap. Let ai be the

number of ACKs successfully received by the inquirer. Then ei+1 is initialized as ei + ai. The election procedure stops if ei+1 P f or continues with a further transmission round otherwise. A few implementation notes are in order. 3.3.5. Adaptation of the contention window The number W of slots in the estimation window is dynamically updated to keep the collision probability small while maintaining the duration of neighbor estimation acceptably short. In particular, W is initially set to d nupdn, where d is a tunable parameter and nup is an upper bound on the number of neighbors. W is then heuristically updated after the transmission of each REQ and successive contention window as follows: W = max (a,b,Wmin), where a = d1dnñ, with d1 being again a tunable parameter and ñ being the current estimate of the number of neighbors. Furthermore, b = si + d2ci, where si and ci are the number of successful and collision slots in the last transmission round, respectively. (In our implementation we set d1 = d2 = d = 2 as it provided a good tradeoff between estimation accuracy and the estimation duration.) Wmin = 2 is used to prevent the window from getting too small. In Fig. 5 we show the estimation error for the WINDOW estimation approach with window adaptation for n = 25, dn = 0.5, and d 2 {1, 2, 3, 10}. We observe that for values of d < 2 the estimation error vs. the number of rounds is unacceptably high. Setting d = 2 does not provide the best results in terms of estimation accuracy. Increasing d slightly improves accuracy at the expense of a much longer round duration. Setting d = 2 therefore provides a very good tradeoff between estimation accuracy and latency for a wide range of scenario parameters.   3.3.6. Selection of the carrier sensing period T sense REQ A node should sense the channel for a sufficiently long time. In practice, to be sure that the node will not interfere

660

A. Camillò et al. / Ad Hoc Networks 11 (2013) 654–671

70 60

Estimation Error [%]

just an estimate of the real distance from the node to the sink, the HC gets continuously refined and updated during subsequent disseminations and through packets eavesdropping. This is achieved by summing one to the minimum HC value sent by the nodes neighbors, see, e.g., [13].

MLE δ=1 δ=2 δ=3 δ=10

50 40 30

3.4. Convergecasting through cross-layer MAC and routing 20 10 0 2

4

6

8

10

12

14

Number of Estimation Rounds, R Fig. 5. Estimation error vs. number of estimation rounds for the WINDOW estimation with dynamic window adaptation for n = 25 and dn = 0.5. The MLE estimate is shown for comparison.

with an ongoing communication, it has to set its carrier sensing period to the sum of the time covered by the W slots following a REQ and the transmission time of the subsequent CONF packet. The relatively long carrier sensing is needed because the information carried by the REQs allows a node to determine the end of a neighbor channel contention only if it has been awake since the start of the channel contention itself. For the selection of T sense REQ , we observe that while the time taken to transmit a CONF packet depends on the radio characteristics, which are likely to be equal for all sensors, W is a parameter which can differ from node to node and that can also vary in time for the same node (i.e., as a function of its contention history). Because of this, each node keeps track of the values of W it overhears as well as of its own W. When a given node needs to select its channel sensing period T sense REQ , it checks the maximum value of W used or overheard in the recent past, i.e., the node behaves conservatively according to the longest REQ contention it has recently seen in its neighborhood. 3.3.7. Adaptive duty cycling During interest dissemination (and the related density estimation) nodes assume that their neighbors follow the nominal duty cycle dn (NSB), even though this assumption may not always hold as some of the nodes may in fact be in ASB, with da  dn. We have made this choice after observing the protocol behavior through simulations and experiments. Thanks to the fast wake up feature of ASB, as soon as a node in ASB senses activity in the channel, e.g., it overhears control packets from its neighbors, it returns to NSB. This typically allows nodes to already be in NSB when it is their turn to be involved in disseminating the interest packet. 3.3.8. Hop counts In this paper we consider a data gathering approach based on hop counts (HCs). During the dissemination phase, started by the sink, each node is assigned a hop count value. The HC at any given node represents an estimate of the minimum number of transmission hops needed to route a packet from this node to the sink. Being

Packets are routed towards the sink by exploiting their distance in hops from it. As said above, hop counts are propagated and updated by every node during the interest dissemination phase. Assume that a node i has a data packet to send and that the HC of this node is n. We define N i ðnÞ; N i ðn  1Þ and N i ðn þ 1Þ; n 2 Nþ as the sets of neighbors of node i with HC equal to n, n  1 and n + 1, respectively. In IRIS node i elects the next hop relay among the nodes belonging to either set N i ðnÞ or N i ðn  1Þ. (Nodes in set N i ðn þ 1Þ are not considered as they very unlikely lead to satisfactory solutions [13].) Each node in N i ðnÞ calculates a normalized local cost C 2 [0, 1]. Nodes in N i ðn  1Þ compute their local cost C0 2 [0, 1] and then use C = bC0 for channel contention. The parameter b 2 (0, 1] is a discount factor that we use to promote the selection of forwarders with hop count n  1 (as this will lead to routing over shortest paths). Node costs are computed by the nodes only based on local information, which, for instance, may be related to the state of their battery, the number of packets dropped, the state of their forwarding queue, etc. Costs are used during channel contention to locally discriminate among the neighboring nodes that are awake so as to select the most suitable among them (i.e., the one having the minimum overall cost) as the relay. For the selection of b we consider an analysis similar to that of [13]. More precisely, let K1 and K2 be the number of nodes in N i ðn  1Þ and N i ðnÞ, respectively. Furthermore, let us assume that all costs of the nodes in N i ðnÞ are uniformly distributed in [0, 1], whereas, due to b, the costs of the nodes in N i ðn  1Þ are uniformly distributed in [0, b]. As a consequence, the pdf of the minimum cost among the nodes in N i ðn  1Þ is fn1 ðxÞ ¼ K 1 ðb  xÞK 1 1 ; x 2 ½0; b, and the pdf of the minimum cost for the nodes in N i ðnÞ is fn ðyÞ ¼ K 2 ð1  yÞK 2 1 ; y 2 ½0; 1. Let us now consider an ideal MAC layer, i.e., one that always selects as the relay the node in N i ðn  1Þ [ N i ðnÞ with the overall minimum cost. In this case, the probability that node i selects as relay a node in set N i ðn  1Þ is

p¼1

Z

b 0

Z fn1 ðxÞ

x

 fn ðyÞdy dx:

ð5Þ

0

In Fig. 6 we show the probability p of selecting a relay node in N i ðn  1Þ for K1 = 3 and varying K2 in the set {3, 6, 9, 12}. When K1 = K2 = 3 and b = 1 we get p = 0.5, as expected. An increasing K2 leads to a decreasing p, whereas decreasing b we can increase p for all parameter pairs. For the results shown in this paper we choose b = 0.5 as it ensures a high probability of selecting nodes in N i ðn  1Þ (i.e., along shortest paths towards the sink) for nearly all relevant settings (note that increasing K1 and K2, e.g., K1 = K2 = 6, has the effect of increasing p). In

A. Camillò et al. / Ad Hoc Networks 11 (2013) 654–671

1 0.9 0.8 0.7

p

0.6 0.5 0.4 0.3

K 1=3, K2 =3 K 1=3, K2 =6 K 1=3, K2 =9 K 1=3, K2 =12

0.2 0.1

0

0.2

0.4

0.6

0.8

1

β Fig. 6. Probability of selecting a relay node in N i ðn  1Þ for K1 = 3 and K2 2 {3, 6, 9, 12}.

practice, this choice ensures that nodes in N i ðnÞ are, with high probability, only selected when connectivity with nodes in N i ðn  1Þ is temporarily unavailable. In the following, we describe the integrated MAC/routing scheme that we implemented for convergecasting. Fig. 7 illustrates an example of the procedure.

661

to the RTS with a CTS after a time backoff of tj seconds. Also, nodes refrain from transmitting their CTS in case they sense an ongoing CTS transmission. This is done to facilitate the selection of the node with the smallest cost. Note that if costs are highly correlated this procedure might lead to high CTS collision rates. This fact is obviated by repeating the contention (r r + 1) and weighing more the random term in Eq. (6) (through T2(t)). 4. In case node i successfully receives a single CTS it selects the originating node as the forwarder for the current packet. If, instead, multiple CTSs collide at the transmitter (node i) and r < rmax, r is updated as r r + 1 and the contention is repeated from step 2. above. Note that the whole procedure is repeated until either the maximum number of contention rounds rmax is reached or a single node successfully sends its CTS to node i. The following optimizations of the above baseline scheme were implemented:

where n is a random number uniformly distributed in [0, 1]. Tp is the duration of the contention period that corresponds to Tp = W Tslot, where W is the contention window and Tslot = 484ls is the duration of a time slot.1 C is the cost of the specific node j under consideration, whereas T1(r) and T2(r) are two real-valued parameters in [0, 1]. These are used to adapt the channel contention as a function of the contention round r. Specifically, T1 = 1  (r  1)/(rmax  1) and T2 = 1  T1, where rmax is the maximum number of allowed contention rounds. In the first round, these jitters are calculated as a function of the node costs only, i.e., T1(1) = 1 and T2(1) = 0. As r increases, the random term n T2(r) becomes more and more important. Upon calculating tj, a node j replies

3.4.1. Data aggregation (DA) mode The deployment area is subdivided into a number of sectors, each labeled with a given identifier (sector id). At the time they are created, packets are marked with the id of the corresponding sector and nodes can aggregate packets if they have the same sector id. Data aggregation works as follows. Any time a given node receives a packet that can be aggregated with some others in its own buffer (same sector id), it does so creating a single packet where it stores the mean, variance, minimum and maximum of these data. The number of data items aggregated together is also stored in the packet so that it can be aggregated with further data in the future. After that, this node becomes an aggregator: Its duty cycle is set to one and a timer, TDA, is started. (TDA is set to ten seconds for the results of Section 4.) Until the expiration of this timer, the aggregator remains in receiving mode and promptly responds (with high priority) to RTSs so as to promote data aggregation.2 When the timer expires the node switches back to NSB and inserts a single packet, containing the aggregated data (if any), in its transmission queue. Specifically, nodes costs are re-shaped considering three intervals: I1 = [0, a), I2 = [a, 1  a) and I3 = [1  a, 1] (a = 0.1 was selected for the results in Section 4). When a node has data to send and the network is configured in DA mode, it sends an RTS as described above. Its neighbors, upon receiving this RTS, calculate their own cost C and project it into one of the three intervals. Normal nodes (i.e., nodes that are not aggregators) re-shape their cost into the interval I2. Aggregators with packets belonging to the same sector of the packet being sent re-shape their cost into I1, whereas aggregators that do not have data belonging to the same sector re-shape their cost according to interval I3. The channel contention procedure continues as explained above. Note that aggregators with packets belonging to the same sector of the packet being sent now have smaller costs and are thus more likely to win the

1 The value of the window, that is adjusted during interest dissemination, is also used for channel contention when data is routed towards the sink. Hence, the local node density is indirectly accounted for also in this case.

2 We observe that this behavior introduces a bias on the estimate of the number of neighbors. We verified, however, that this only slightly impacts IRIS performance. The number of nodes acting as aggregators is in fact limited, which leads to negligible estimation errors.

1. Assume that the forwarding process is currently at node i (having hop count n), which does not have any knowledge about the ids and the state of its neighbors. 2. Node i sends an RTSðn; r; T Þ to trigger a reply from all nodes in sets N i ðn  1Þ and N i ðnÞ. The parameter r, which is initially set to 1, is the current contention round, whereas T is a ‘‘tabu list’’ containing the ids of the last T len visited nodes. (T len ¼ 5 gave good performance in all our experiments.) T is used to avoid routing loops or ping-ponging between nodes with the same hop count. 3. Upon receiving the RTS, all awake nodes in sets N i ðn  1Þ and N i ðnÞ compute their normalized cost. If a node is in the tabu list T , it will not reply to the RTS. All nodes j 2 N i ðn  1Þ [ N i ðnÞ and not in T compute instead a time jitter tj as follows:

tj ¼ ½CT 1 ðrÞ þ nT 2 ðrÞT p ;

ð6Þ

662

A. Camillò et al. / Ad Hoc Networks 11 (2013) 654–671

Fig. 7. Convergecasting: data exchange procedure.

contention and aggregate data. Additionally, observe that the use of cost-based contention makes our data gathering algorithm very flexible and easily tunable to different needs, as we did here to facilitate data aggregation. 3.4.2. Avoid long routing sequences with the same hop count level In order to avoid long routing sequences where the nodes have the same HC, we keep track of the number of consecutive forwarding actions to a node with the same hop count. This information is contained in the first RTS. When a packet is forwarded for a maximum number of times fmax to nodes having the same HC n, the next hop is picked among the nodes in N i ðn  1Þ. In such a case, RTSs address the nodes in N i ðn  1Þ only. (In our implementation we set fmax = 2.) 3.4.3. Back-to-back transmission of multiple packets In the RTS sent by node i for the selection of a relay, say node j, we also include a number b of packets that the sending node is ready to transmit to j. Upon reception of this RTS, each node responds (after a time jitter) with a CTS including the number of packets b0 6 b that this node is willing to receive (which might depend on the available buffer at the receiver). Finally, node i selects the actual number b00 of packets to send back-to-back to the selected relay. This number depends on b and b0 as well as on the node that is actually selected as the relay. In fact, some of the packets in the buffer of the sending node cannot be considered for the current transmission due to the hop count of the relay node j (parameter fmax) or to the impossibility of aggregating them with the data stored at node j (when in DA mode). Eventually, node i sends b00 packets back-to-back to j. Each packet is acknowledged by node j through a dedicated ACK (each packet is retransmitted a maximum of two times in our implementation). 3.4.4. Size of RTSs The RTS sent by node i during the first contention round contains the node id, the hop count n of the sender, the

number of consecutive times that the packet was forwarded to a node with hop count n, the tabu list T , the contention round number r = 1 and the number b of packets that the sending node is ready to transmit. The RTSs sent in subsequent rounds are shorter as they only contain b,r and the id of the sender. Note that a node can contend only if it receives the RTS sent in the first round.

3.5. Advanced sleeping mechanisms In addition to asynchronous duty cycling, interest dissemination and convergecasting we implemented the following advanced sleeping mechanisms. These are designed to put nodes to sleep during channel contention, thereby saving further energy.

3.5.1. Power saving during channel contention During channel contention nodes go to sleep whenever they can. This means that each time a node is not directly involved in an ongoing communication it will try to enter a power saving state. This may occur when a node is not selected as a forwarder or because it is idle for a number of contention slots. Specifically, when a node picks a slot for the transmission of its response to an inquirer (interest dissemination) or a sender (convergecasting), it is allowed to go to sleep during the slots in which it is idle. In this case, however, the node will go to sleep only if (1) the time it takes to turn off the radio, and to subsequently wake it up, is shorter than the time taken by the idle slots, and (2) going to sleep is more energy efficient (taking into account the energy cost of switching on and off the hardware). The energy saving mode that will be used by the node will depend on the available sleeping time as compared to the time taken to switch off the internal hardware. In general, the longer the idle time, the greater the powersavings obtained. Finally, nodes can put the radio to sleep during the transmission of a packet (or during the transmission of a burst of packets) when they are not the intended recipient.

663

A. Camillò et al. / Ad Hoc Networks 11 (2013) 654–671

4. Simulation results Simulation Scenario. In our experiments N sensors are distributed uniformly at random in a square area of side 200 meters. Nodes have a transmission range of 30 meters and follow asynchronous pseudo-random wake-up schedules according to a given duty cycle dn. N varies from 50 to 400, which corresponds to an average nodal degree ranging between 3.53 (N = 50) and 28.27 (N = 400). Three values of the nominal duty cycle were considered: dn 2 {0.1, 0.2, 1.0}. The value used for ASB is da = 0.01. The channel data rate was set to 250 Kbps. Including the physical layer overhead, RESs and REQs are 15B long, whereas CONF packets are 28B. CTSs, DATA packets and ACKs are 15, 93 and 14B, respectively. The first RTS sent in a channel is made up of 21B, whereas successive ones need only 15B. IRIS has been implemented in ns2 [19] and each simulation point was obtained averaging over 60 simulation runs. Energy Model. The energy model we used is that of CC2420 [20]. Each node operates in one of five power modes, depending on the state of its transceiver. These states are transmit (TX), receive (RX), power save (SAVE), power down (DOWN) and power off (OFF). An increasingly large number of modules are switched off when moving from TX/RX to SAVE, DOWN or OFF. OFF consumes the least amount of energy, but can be reached only switching to SAVE first, from SAVE to DOWN, and finally to OFF (this sequence must be reversed when going from OFF to SAVE). The current drain is 19.7 mA, 17.4 mA, 0.45 mA, 0.02 mA and 0.001 mA for TX, RX, SAVE, DOWN and OFF, respectively. Default Cost Function. Unless otherwise specified the local normalized cost C 2 [0, 1] used for relay selection is a function of the residual energy of the node, i.e., C = 1  Eresidual/Einit, where Eresidual and Einit are the residual energy and the initial energy levels of its battery, respectively. 4.1. Interest dissemination In this section we presents the results of the performance evaluation of the IRIS interest dissemination component. Each dissemination is performed according to the enhanced Fireworks protocol described in Section 3.3. Accordingly, when a node receives the interest packet it goes through a number of estimation rounds: Within each round the node transmits a REQ and receives a number of RESs, based on which it selects some of its neighbors as forwarders. Forwarder selection is performed by means of a CONF packet which is ACKed. The node exploits the above

exchange to refine its estimate of the number of its neighbors (Section 3.2). This, in turn, is used to decide whether the interest has to be further propagated to some unreached neighbors or enough neighbors have been reached. Interest dissemination ends when the selection of forwarders terminates, i.e., when the transmission of interest dissemination packets stops. This usually occurs when all nodes are reached, even though this is not always true due to both the probabilistic nature of the protocol and to link instability and packet error rate when transmitting over a wireless channel. In addition to evaluating the interest dissemination duration, our performance evaluation has focused on the coverage metric, defined as the percentage of nodes successfully reached during interest dissemination. Other metrics we investigated are the energy consumption needed for interest dissemination and the overhead and reliability of the neighbor estimation process. The parameter p varies in {0.01, 0.2, 1.0} while c ranges in the set {2, 4}. Ten interest disseminations were performed back-to-back for each set of parameters so as to characterize the dynamics of IRIS over time. The reason for testing multiple interest disseminations back-to-back is twofold: (1) This is realistic, i.e., it is what is expected to occur in actual WSN deployments and (2) new interest disseminations use (and refine) the density estimates obtained during the last dissemination and are thus expected to provide better results in terms of coverage. Finally, varying p and c allows us to understand the impact of tuning the interest dissemination parameters on the overall IRIS performance. We start by evaluating interest dissemination performance during normal sleeping behavior (NSB) and then investigate how performance are affected by ASB operations. Fig. 8 shows IRIS interest dissemination coverage varying network density, p and c. When c = 4 we always achieve a coverage higher than 97%, which goes beyond 99% when the average network degree is greater than 10. This happens already after the first interest dissemination, which is sufficient to estimate the number of neighbors with good accuracy. A poor performance is instead

100 90 80

Coverage [%]

3.5.2. Network allocation vector (NAV) All packets (REQ, RES, CONF, ACK, RTS, CTS, DATA and ACK for DATA packets) contain a network allocation vector (NAV). This carries the information about the duration of the contention round. Hence, should a node wake up during an ongoing contention, it will know when this contention ends and it will then refrain from transmitting in order to avoid collisions. (This mechanism is the same used in the IEEE 802.11 MAC.)

70 60 50 D1, c=4, p=0.2 D10, c=4, p=0.2 D1, c=2, p=0.01 D10, c=2, p=0.01 D1, c=2, p=0.2 D10, c=2, p=0.2

40 30 20 50

100

150

200

250

300

Number of Nodes, N Fig. 8. Coverage performance of the interest dissemination scheme. Results for the first (D1) and tenth (D10) interest disseminations are plotted for dn = 0.1, c 2 {2, 4}, p 2 {0.01, 0.2}.

664

A. Camillò et al. / Ad Hoc Networks 11 (2013) 654–671

100

Diss. 1 Diss. 2 Diss. 3 Diss. 4 Diss. 5 Diss. 6 Diss. 7 Diss. 8 Diss. 9

80 60

Estimation error [%]

Estimation error [%]

100

40 20 0 50

100

150

200

250

300

80 60 40 20 0 50

350

Diss. 1 Diss. 2 Diss. 3 Diss. 4 Diss. 5 Diss. 6 Diss. 7 Diss. 8 Diss. 9

100

Number of Nodes, N

achieved for p = 0.01 and p = 0.2 and c = 2 (also shown in the figure), even after ten interest disseminations. This is consistent with theoretical results in [17] that show that a minimum overlay density has to be reached for the overlay to have the same connectivity properties of the original topology graph. However, this is not the only reason for the degraded performance at low c and p. To understand what happens we investigate how the density estimation error evolves over time. This error always decreases with the number of dissemination rounds and the rate of decrease heavily depends on dn, N, c and p. Specifically, increasing p corresponds to a higher number of REQs sent during an interest dissemination, as interests in this case have to be sent to all neighbors with higher probability. Increasing c for a given dn and N has the same effect of increasing the number of REQs, as packets have to be delivered to a higher number or nodes.3 Notably, for a higher number of REQs the density estimation accuracy improves. The problem is that at lower p, c and dn the number of REQs exchanged within the few performed interest disseminations is not enough for estimating with acceptable accuracy the neighborhood size, which justifies the unsatisfactory coverage experienced in these cases. As a consequence, in order to obtain a good coverage we need to carefully tune the Fireworks parameters. On one hand, as shown in [17], they must be tuned so that the resulting overlay has the same connectivity properties of the original network topology graph; on the other hand, in the presence of sleeping modes, they must also be chosen so as to guarantee good density estimates (after a small number of interest disseminations). Setting c = 4 and p = 0.2 is sufficient for this purpose for all the values of N, p and dn that we considered in our simulations. Figs. 9 and 10 show the estimation error vs. the number of nodes N for dn = 0.1 and dn = 1, respectively, considering c = 4, p = 0.2 and plotting one curve for each dissemination round for the first 9 rounds (labeled ‘‘Diss. 1–Diss. 9’’ in the figure). From these graphs we observe that: (1) the estima3 An additional factor that affects the estimation error is the probability of collisions that may produce an incorrect estimate of the awake neighbors. However, apart from the number of lost REQs, which increases at p = 1, with our scheme packet loss due to collisions is either very rare or almost independent of p and c.

200

250

300

350

Fig. 10. Density estimation error [%] vs. number of nodes for dn = 1, c = 4, p = 0.2.

100

Number of REQs Sent

Fig. 9. Density estimation error [%] vs. number of nodes for dn = 0.1, c = 4, p = 0.2. Vertical bars indicate 95% confidence intervals.

150

Number of Nodes, N

80

dn=1, c=4, p=0.2 dn =0.1, c=4, p=1 dn=0.1, c=4, p=0.2 dn=0.1, c=4, p=0.01

60 40 20 0 50

100

150

200

250

300

Number of Nodes, N Fig. 11. Number of REQs sent during the first interest dissemination with c = 4, p 2 {0.01, 0.2,1} and dn 2 {0.1, 1}.

tion error decreases with an increasing number of estimation rounds; (2) the error is higher for smaller values of the duty cycle, which is expected based on the MLE performance displayed in Fig. 2; (3) in spite of the many practical issues that may affect the performance of the estimation procedure (Section 3.2), such as missing packets (REQs and RESs) due to channel errors and collisions, density estimates are iteratively refined, leading to precise neighbor detection. We set out now to investigate the overhead imposed by interest dissemination. When p = 0.01 and p = 0.2, i.e., in those scenarios where it is very likely that a node selects only c neighbors, we observe that higher N means a higher number of awake neighbors at each round, and therefore a smaller number of REQs that have to be sent to reach c neighbors. An opposite trend can be observed when p = 1. Here nodes always have to send a packet to all their neighbors. In this case a higher number of nodes N leads to a higher degree and, in turn, to a higher number of REQs. This is shown in Fig. 11, concerning the first interest dissemination. The number of REQs slightly increases for subsequent interest disseminations and eventually it stabilizes to a given value. In other words, nodes tend to underestimate the number of their neighbors at first and then converge to a correct estimate.

665

A. Camillò et al. / Ad Hoc Networks 11 (2013) 654–671

Energy Consumption [J]

0.24

dn=0.1, c=4, p=0.2 dn=0.2, c=4, p=0.2

60

Duration of the Interest Dissemination [s]

0.26

0.22 0.2 0.18 0.16 0.14 0.12 0.1 0.08 50

50 40 30 20 10 0 50

100

150

200

250

dn=1, p=0.01 dn=1, p=0.2 dn =0.1, p=0.01 dn=0.1, p=0.2 dn=0.1, p=1

300

100

150

200

250

300

Number of Nodes, N

Number of Nodes, N Fig. 12. Energy consumption for c = 4, dn 2 {0.1, 0.2} and p = 0.2.

The differences between dn = 1 and dn = 0.1 in Fig. 11 are also worth noting: When the duty cycle is less than 1 the selection of the needed number of nodes requires the sending of REQs over multiple rounds, and this is paid in terms of number of REQs and delay. We have also validated the effectiveness of adaptively tuning the parameter W. For this purpose, we investigate the RES collision probability. We observe that this probability quickly stabilizes to values smaller than 0.7 in all our experiments. This value is even better than what is estimated analytically, since, in practice, delays introduced by node operations (software, OS, etc.) and actual slot guard times added to account for these delays, sometimes act favorably by avoiding collisions that theoretically should occur. We define the energy consumption as the energy (in Joules) consumed on average by a node from the beginning of the interest dissemination to its end (i.e., the time at which all interest packets have been delivered). We instead refer to the normalized energy consumption as the actual energy consumption of the nodes during the entire interest dissemination, normalized to the energy they would have drained by strictly following the nominal duty cycle dn during the dissemination, without exchanging data. As expected, as p increases, the energy consumption increases as well. This reflects the fact that for increasing p the number of packets that have to be disseminated in the network is larger, resulting in a longer interest dissemination and in a consequent increase of the overall energy consumption. From Fig. 12 we observe that, unexpectedly, the overall energy consumption is lower at dn = 0.2 than when dn = 0.1. At dn = 0.2 it is easier to find awake neighbors than at dn = 0.1, and this translates into shorter interest disseminations. Notably, the energy savings due to this shorter dissemination phase are more significant than those due to a smaller duty cycle (dn = 0.1). We also observe that energy consumption for increasing N decreases at first, reaches a minimum and then increases. The decreasing behavior is explained by the fact that, for a given dn, it is faster to contact the needed number of awake neighbors when there are more nodes per unit area. The increasing part is instead because of the several rounds needed to reach all neighbors when N is high,

Fig. 13. Interest p 2 {0.01, 0.2}.

dissemination

duration

for

c = 4,

dn 2 {0.1, 1},

and this implies longer delays as well as a higher energy consumption. As explained in Section 3.3, the IRIS MAC was designed to allow nodes to aggressively enter power save modes whenever possible, and to allow those that wake up and cannot participate in a contention to immediately go back to sleep. These simple rules can significantly reduce the energy consumption bringing it below that of a network where nodes do not transmit and periodically alternate between the receive and sleep modes according to a nominal duty cycle. From our experiments we verified that the normalized energy consumption is in fact below 100% in all cases, which confirms the effectiveness of the energy saving features of the IRIS MAC. When the topology becomes denser (higher values of N) the energy savings become more significant, bringing the normalized energy consumption down to 75%, as the corresponding increase of traffic gives the nodes more opportunities to go to sleep: A greater amount of traffic results in a higher probability to hear packets, and a node immediately goes to sleep when it hears an ongoing communication that is not addressed to it, staying awake less than what its nominal sleeping behavior would require. In Fig. 13 we show the average duration of interest dissemination. As expected, the higher the duty cycle, the faster an interest is spread to all nodes. Also, a larger p leads to a higher number of packets to send (as we have to reach all nodes with higher probability), which translates into longer dissemination times. Finally, all curves for increasing N first decrease and then, beyond a certain critical density (that is a function of the protocol parameters) start increasing. Specifically, when N is small higher densities are beneficial as the needed number of forwarders is selected in a smaller number of rounds, since more of the inquiring neighbors will be awake on average. However, beyond a certain density the dominant effect is the traffic increase, which causes longer interest disseminations. We now look at the hop count error, defined as the difference between the hop count distance measured by any given node and its true hop count (the length in hops of the shortest path to the sink). This error is always zero except in the sparsest overlay cases (N = 50 and N = 100, dn = 0.1 and p = 0.01), where it is around 1%. This

666

A. Camillò et al. / Ad Hoc Networks 11 (2013) 654–671

remarkable performance is due to the inclusion of the sender hop count in each control packet. Nodes can thus improve their initial hop count estimate by overhearing any of these packets. The impact of ASB is investigated in Fig. 14 where we plot the results of a single interest dissemination where nodes are allowed to use ASB. In this case, nodes will go to sleep for longer than what is dictated by their nominal duty cycle (in our case they sleep 99.9% of the time, i.e., da = 0.01). This figure refers to networks with 400 nodes. The initial duty cycle was set to ASB for all nodes. The IRIS MAC (in particular, its neighbor estimation module), however, operates considering the nominal duty cycle dn = 0.1. Other configuration parameters are c = 4 and p = 0.2. This experiment is run to verify that considering the nominal (and fixed) duty cycle dn during interest disseminations does not significantly impact the performance of the scheme. We observe that the protocol successfully delivers the interest to all nodes. This is possible as nodes using ASB quickly switch to NSB (as soon as they hear channel activity). As shown in Fig. 14, five seconds are sufficient for 80% of the nodes to switch to NSB. Such a fast reaction only slightly impacts the overall dissemination time while preserving the correctness of the protocol. Overall, IRIS interest dissemination, if correctly configured as in our experiments with p = 0.2 and c = 4, is robust against variations of the node density, and its sleeping rules are effective and allow energy savings beyond those allowed by the baseline periodic duty cycling. Finally, our protocol operates correctly when nodes sleep aggressively (ASB), providing good coverage as well as acceptable dissemination delays. 4.2. Convergecasting Next, we analyze the performance of the convergecasting protocol. The simulation area is subdivided into 36 sectors, which are used to tag the packets generated in each of them when performing data aggregation (see DA mode in Section 3.4). The number of nodes was set to N = 400. Sensor

NSB TX mode Covered

80 110 60

100

40 20 0 0

5

10

15

20

25

30

35

40

45

Time [s] Fig. 14. Protocol dynamics: Percentage of nodes reached by the interest packet (covered), of nodes having an interest packet to transmit (TX mode) and of those following the normal sleeping behavior (NSB with dn = 0.1). At the end of the dissemination all nodes receive the interest, and nodes in NSB gradually go back to ASB.

Delivery Ratio [%]

Percentage of Nodes [%]

100

readings are generated at each node according to a Poisson process. Upon its generation, each reading is stored into a single packet, which is inserted in the transmission queue of the corresponding node. The traffic intensity, k, is expressed in packets per second per square meter and is varied between 0.1 and 4. We tested our protocol considering the normal sleeping behavior (NSB, referred to as Normal in the following graphs) and the aggressive sleeping behavior (ASB in the figures). We thus measured the performance of the convergecasting scheme considering each protocol feature in isolation (DA, ASB, Normal) as well as looking at the combined effect of our optimizations (DA-ASB). Each simulation run works as follows. First, a sector is randomly selected and all nodes therein generate data according to the above traffic model for 5000 s. Then, the nodes stop generating data and the simulation is continued for 500 additional seconds so that all queues are emptied. A new simulation run is then started, randomly picking a new sector. Also, we start collecting measurements after an initial transient period of 500 s so as to evaluate the steady state performance of the protocol (we verified that in all the considered cases the network performance stabilizes after this transient period). Measurements are collected until traffic is generated. In Fig. 15 we show the delivery ratio as a function of the traffic load k. As k increases the delivery ratio of the Normal scheme (no data aggregation, NSB) decreases rapidly. While packet collisions increase with increasing k, they are not the main reason for the degraded delivery ratio. We found that this metric is instead impacted by buffer overflows at the transmitters (buffers in our simulations can store up to 20 data packets): Packets are generated at a rate higher than that at which they are routed towards the sink. Notably, ASB performs very close to Normal, which means that the aggressive sleeping mode preserves a sufficient reactivity to incoming packets. This is because nodes in ASB promptly switch to NSB and from here to RX as soon as they hear channel activity of any kind. In addition, we see the beneficial effect of data aggregation (DA), which reduces the number of packets in the network so that the buffer overflow problem is mitigated. This results in 100% delivery ratio of a traffic rate that is fourfold with respect to what is reliably convergecast with Normal. DAASB performs very close to DA.

90 80 70 60 50

DA DA-ASB ASB Normal

40 30 0

0.5

1

1.5

2

2.5

3

3.5

Traffic Intensity, λ [pkts/s/m2 ] Fig. 15. Delivery ratio as a function of the traffic intensity k.

4

667

A. Camillò et al. / Ad Hoc Networks 11 (2013) 654–671

for a smaller number of aggregation sectors (Section 3.4). By doing so, however, we tradeoff energy savings for accuracy in the representation of the sensor readings. The performance of IRIS convergecasting is compared to those of two well-known cross-layer solutions, namely, MACRO [21] and GeRaF [11]. Results displayed here only concern comparison with GeRaF, a very light cross-layer approach to convergecasting that scales to higher traffic with respect to MACRO and results in better overall performance. Figs. 17 and 18 show the end-to-end packet delivery ratio and the single hop delivery delay for the baseline version of IRIS and Geographic Random Forwarding (GeRaF) [11]. These performance measures are obtained for N = 100 and N = 400 to investigate low and high density networks. We observe that the baseline version of IRIS convergecasting and GeRaF perform closely in dense networks (N = 400). However, GeRaF performance takes a nose dive when the network is sparse (N = 100) showing unstable behavior. This is mainly due to the connectivity holes, which prevent GeRaF from finding forwarders. Note that this does not occur with IRIS, which instead takes advantage of the reduced number of nodes (and thus of the reduced interference) showing better performance with respect to the dense network case. This is due to IRIS’s hop count-based data gathering, which is not affected by the connectivity hole problem. We finally stress again that these comparisons refer to IRIS convergecasting with ‘‘no

100

GeRaF, N=100 IRIS, N=100 GeRaF, N=400 IRIS, N=400

90

Delivery Ratio [%]

The transmission burst, defined as the average number of packets that are transmitted back-to-back during a channel contention, increases with k for all schemes. DA is characterized by shorter bursts (almost half in size) as packets are often aggregated together, which reduces the number of packets stored in the network queues. ASB and NSB perform closely. In Fig. 16 we report the energy saved using DA, ASB and DA-ASB with respect to Normal. When k < 1 only a small fraction of the packets can be aggregated and aggregators spend more energy than other nodes as they stay awake for longer periods of time. This makes DA ineffective at low traffic. A large amount of energy is instead saved through the adoption of ASB (up to 50%). When traffic increases (k > 1) the positive effect of data aggregation leads to a moderate improvement of the DA performance over that of Normal (up to 10% saved energy). The energy saved by DA starts decreasing beyond a certain traffic load (k  2.5 pkts/s/m2 in the figure). This is due to the fact that in the presence of intense traffic DA is also subject to losses (Fig. 15), which lead to retransmissions, longer awake periods, more contention and, in turn, a decreased energy efficiency. Interestingly, the combination of DA and ASB gives more advantages than the sum of the energy savings provided by the two schemes in isolation. To explain this consider ASB without data aggregation. As nodes have new packets to transmit they will try to deliver them to the sensors at smaller hop count. However, when these nodes are also busy with their own packet transmissions or are asleep the only possibility is to send the data to those nodes at the same hop count level. This, due to the fast wake up feature of IRIS, has the effect of widening the area where nodes adopt the normal sleeping behavior with a consequent increase in the energy consumption of the nodes therein. With DA-ASB this is more unlikely to occur as nodes with smaller hop counts (in particular the aggregators) remain in the receiving state for a longer time frame in order to facilitate data aggregation. Hence, in this case more nodes, especially those with the same hop count, can remain in the aggressive sleeping state thus providing larger energy savings. We finally verified that higher gains can be obtained from the DA scheme by accounting

80 70 60 50 40 30 20 10

0

0.5

1

1.5

2

2.5

3

3.5

4

Traffic Intensity, λ [pkts/sec/m2 ]

DA ASB DA-ASB

Saved Energy [%]

60 50 40 30 20 10 0 -10

0

0.5

1

1.5

2

2.5

3

3.5

4

Traffic Intensity, λ [pkts/s/m ] 2

Fig. 16. Energy saved with respect to the Normal scheme through data aggregation (DA), adaptive sleeping behavior (ASB) and their combination (DA-ASB).

Single Hop Forwarding Delay [s]

Fig. 17. IRIS and GeRaF: packet delivery ratio.

70

7 6

GeRaF, N=100 IRIS, N=100 GeRaF, N=400 IRIS, N=400

5 4 3 2 1 0

0

0.5

1

1.5

2

2.5

3

Traffic Intensity, λ [pkts/sec/m2 ] Fig. 18. IRIS and GeRaF: hop delay.

3.5

4

668

A. Camillò et al. / Ad Hoc Networks 11 (2013) 654–671

trimmings.’’ The ‘‘loaded’’ version of IRIS shows remarkably better performance than that of GeRaF. 5. Testbed-based experimentation We implemented IRIS on TmoteSky [22] wireless nodes with TinyOS. These sensors are equipped with an IEEE 802.15.4 compliant radio transceiver (a ChipCon CC2420 radio chip working in the 2.4 GHz frequency band), an MSP430 16 bit micro-controller with 10 KB on chip RAM, 48 KB FLASH/ROM and 1024 KB external FLASH memory. IRIS was tested on the WSN testbed of the Department of Engineering at the University of Padova, which has 350 wireless sensor deployed across different buildings. The nodes were assigned unique identifiers during the testbed setup following internal deployment criteria (e.g., the nodes in the storage room on the second floor took identifiers from 210 to 218, while nodes located in the PhD room on first floor got range from 18 to 86). Experiments have been performed by using 27 sensor nodes scattered across three floors of the DEI/A building. A typical connectivity graph of the resulting WSN is shown in Fig. 19. 5.1. Network connectivity A number of experiments are performed for assessing link quality variability over time and how it is affected by external interferers (e.g., changes in the propagation environment or in-band electromagnetic interference from other wireless networks). With our experiments we checked how the connectivity varies in time and verified

that the IRIS approach, which refines the density estimates at each dissemination round and dynamically selects forwarders among the current neighbors, is effective in improving network performance in actual deployments. Connectivity experiments are performed by transmitting beacon packets over an entire day, every 30 min. Beacons transmitted by different nodes are separated in time so that they do not interfere with each other. We compute the packet delivery ratio, expressed as the ratio between the number of beacons sent by node A and those received by B, for each pair of network nodes A and B. Our results indicate that links are subject to substantial variations, especially between 11 am and 6 pm, where WiFi network activity is higher. In Fig. 20 we provide a typical example by showing the beacon delivery ratio for node 14 in the time span from 9 am to 6 pm, plotting a curve for each of its neighbors. These results indicate that links during the day do not have a consistent behavior, delivering from over 90% of the beacons to 50% or lower. We observe that the standard deviation of the beacon delivery ratio can be as high as 40% during the day, while it is fairly limited at night (below 0.5%) when links are more stable. In addition, we verified that the number of neighbors also changes between day and night. These results highlight the importance of refining density estimates throughout the WSN lifetime, as done by IRIS. 5.2. Neighbor estimation In all our experiments, despite the high dynamics of the network, we observed that neighbor estimation converges

Fig. 19. Typical connectivity graph of the WSN testbed, obtained at mid-day: numbers inside circles indicate node IDs, solid lines represent links with packet delivery ratios (PDR) greater than 66%, dotted lines represent links with PDR in [33, 66]% and dashed lines indicate links with PDR in [0, 33]%.

669

A. Camillò et al. / Ad Hoc Networks 11 (2013) 654–671

5.3. Interest dissemination

Beacon Delivery Ratio [%]

100 80 60 40 20 0 9am 10am 11am 12am 1pm

2pm

3pm

4pm

5pm

6pm

Time of the day Fig. 20. Beacon delivery ratio from 9 am to 6 pm in the neighborhood set of node 14. The behavior of each neighbor is shown plotting one value per hour through a dotted-line.

5.4. Convergecasting The convergecasting protocol has been tested by varying dn 2 {0.05, 0.1, 0.3}. Fig. 23 shows the average end-toend latency experienced by packets transmitted by selected sensor nodes for different duty cycles. For example, nodes 36, 39 and 50 show the worst performance as these nodes are placed farthest away from the sink in the considered WSN topology (Fig. 19). Packet delivery ratios are always greater than 95%. We have compared testbed and simulation results for IRIS convergecasting end-to-end latency. Results are again comparable. The difference between results from the two experimental methodologies is always within 7% for dn = 0.3, and it is never more than 27% for dn 2 {0.05, 0.1}. 5.5. Comparison against existing implementations We compared IRIS convergecasting performance with that of TinyOS MAC and routing modules. More precisely,

10

Dissemination Duration [s]

Estimated Number of Neighbors

quickly to values very close to those of the actual number of neighbors, confirming the results obtained by simulations. Fig. 21 shows the accuracy of neighbor estimation for increasing number of interest disseminations. The figure refers to selected nodes 22, 92, 39 and 67 observed between 9 am and 6 pm as they go through 10 subsequent executions of the interest dissemination procedure (i.e., dissemination rounds), setting c = 4,p = 0.2 and dn = 0.1. The neighbor estimates of nodes 22 and 92 converge to the exact number of neighbors after 6 and 7 disseminations, respectively. However, we note that 87% and 77% of the neighbors are discovered by node 22 and 92, respectively, after only three dissemination rounds. The same happens for nodes 39 and 67, which quickly discover the right number of neighbors, but have more unstable links to their neighbors, due to higher interference. This interference is reflected into the estimate of the number of their neighbors. From the figure we see that the neighbor estimation algorithm is able to adapt to such changes. Specifically, the estimate of node 67 stabilizes to 7 nodes at round 3 and it stabilizes again at round 8 to 4 neighbors, due to a change in the connectivity graph. The estimate of node 39 keeps oscillating between 2 and 4 nodes as the links to its neighbors suffer strong interference and is thus quite unstable.

We test the interest dissemination protocol for c 2 {2, 4}, p 2 {0.01, 0.2} and dn 2 {0.05, 0.1, 0.3}. As expected, the worst performance in terms of coverage was obtained for c = 2, which led to a coverage ratio of 77%. For c = 4 we obtained coverage ratios of at least 98% for all duty cycles. By transmitting two interest disseminations in a row, we observe that all nodes are reached by the interest packet. Testbed results (labeled ‘‘exp’’ in the figure) are compared with ns2 simulations (‘‘ns2’’) in Fig. 22. The tested scenario considers c = 4, p = 0.2 and a varying duty cycle dn across 10 interest disseminations. We have derived a simulation topology from running connectivity experiments on the testbed and choosing only those links with a beacon delivery ratio greater than or equal to 95%. The slot duration (for the window contention) has been set to consider guard times introduced in the testbed implementation. Results obtained through simulations and the testbed are comparable, leading to dissemination delays of around 10 s for dn = 0.3, which increase up to 3 min when dn = 0.05. In the latter case, nodes have to wait longer to contact c neighbors because sensor nodes spend most of their time asleep.

9 8 7

node 22 node 92 node 39 node 67

6 5 4 3 2 1

exp - dn=0.05 exp - dn =0.1 exp - d n =0.3 ns2 - d n =0.05 ns2 - dn=0.1 ns2 - dn=0.3

250 200 150 100 50 0

1

2

3

4

5

6

7

8

9

10

Number of Interest Disseminations Fig. 21. Estimated number of neighbors vs. interest disseminations for nodes 22, 39, 67 and 92.

1

2

3

4

5

6

7

8

9

10

Number of Interest Disseminations Fig. 22. Interest dissemination duration for c = 4, p = 0.2 by varying dn 2 {0.05, 0.1, 0.3}.

A. Camillò et al. / Ad Hoc Networks 11 (2013) 654–671

End-to-End Packet Latency [s]

670

200

dn =5% dn=10% dn=30%

150

100

50

0 10 16 22 27 32 36 39 50 67 69 252 253

Node ID Fig. 23. End-to-end data latency from selected sensor nodes for different dn.

Table 1 IRIS and TinyOS modules: packet delivery ratio [%]. Node ID

10 22 27 32 36 67 69 252 253

TinyOS

IRIS

Avg

Stdev

Avg

Stdev

93.75 90.0 90.0 93.75 97.5 87.5 92.5 95.0 92.5

6.95 10.0 12.24 6.95 4.33 9.68 6.61 7.07 9.68

95.0 96.0 95.0 98.0 98.0 100.0 100.0 100.0 97.0

9.21 4.89 5.0 6.0 4.0 0 0 0 4.58

we used BoX-MAC [23] at the MAC layer and CTP (Collection Tree Protocol) [24] to route data towards the sink. Comparisons have been performed for dn = 0.1 in scenarios like those described above. Table 1 shows the packet delivery ratio (PDR) in terms of average (avg) and standard deviation (stdev) performance for selected nodes, comparing IRIS and the solution based on TinyOS components. These results were collected during the day, i.e., in scenarios with unstable links. We observe that the cross-layer approach of IRIS, where routing is integrated with channel access and density estimation, provides a higher reliability in terms of average PDR and also makes the delivery performance stabler, through a reduction of the PDR standard deviation. Note that while IRIS packet delivery ratio is greater than or equal to 95% in all cases, it can be as low as 87% for BoXMAC and CTP. 6. Conclusions In this paper we presented IRIS, an integrated data gathering and interest dissemination system for wireless sensor networks. IRIS features interest dissemination and convergecasting designed according to a cross-layer approach. IRIS performance evaluation has been investigated through ns2 simulation as well as experiments performed on a testbed of TmoteSky sensor nodes. Interest dissemina-

tion reliably reaches network nodes in reasonable time and consumes even less energy than that allowed by the node nominal duty cycle in specific scenarios. Embedding density estimation into interest dissemination and convergecasting is very effective to enhance IRIS performance. The adoption of aggressive sleeping behavior together with fast wake up provides energy gains up to 50% with respect to nodes following a fixed duty cycle. Additional energy gains (an extra 10%) are possible by combining the data aggregation feature of IRIS with its adaptive duty cycling. In this case, 100% data packet delivery ratio is achieved for fourfold traffic load. Testbed-based experimental results confirm the validity of our approach, showing results in line with simulations for all configurations of the WSN testbed.

Acknowledgments The authors are indebted to Michele Mastrogiovanni for providing the core of the simulation software used in this work. Michele Mastrogiovanni and Stefano Basagni are also thanked for insightful discussions. This work has been supported in part by the CaRiPaRo Foundation, Italy, within the WISE-WAI project, see http://cariparo.dei.unipd.it and by the ARTEMIS project eDIANA (Embedded Systems for Energy Efficient Buildings).

References [1] W. Ye, J. Heidemann, D. Estrin, An energy-efficient MAC protocol for wireless sensor networks, in: IEEE INFOCOM, New York, NY, US, 2002. [2] V. Rajendran, K. Obraczka, J.G. Luna Aceves, Energy-efficient, collision-free medium access control for wireless sensor networks, in: ACM SENSYS, Los Angeles, CA, US, 2003. [3] J. Polastre, J. Hill, D. Culler, Versatile low power media access for wireless sensor networks, in: Second ACM Conference on Embedded Networked Sensor Systems, SenSys, Baltimore, Maryland, USA, 2004. [4] M. Buettner, G.V. Yee, E. Anderson, R. Han, X-MAC: a short preamble MAC protocol for duty-cycled wireless sensor networks, in: Fourth ACM Conference on Embedded Networked Sensor Systems, SenSys, Boulder, Colorado, USA, 2006. [5] 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: ACM SenSys, Raleigh, NC, US, 2008. [6] M. Xia, Y. Dong, D. Lu, W-MAC: a workload-aware MAC protocol for heterogeneous convergecast in wireless sensor networks, Sensors (11) (2011) 2505–2524. [7] H. Füßler, J. Widmer, M. Käsemann, M. Mauve, H. Hartenstein, Contention-based forwarding for mobile ad-hoc networks, Elsevier’s Ad Hoc Networks 1 (4) (2003) 351–569. [8] E. Fasolo, M. Rossi, J. Widmer, M. Zorzi, In-network aggregation techniques for wireless sensor networks: a survey, IEEE Wireless Communication Magazine 14 (2) (2007) 70–87. [9] H. Tian, J. Stankovic, L. Chenyang, T. Abdelzaher, SPEED: a stateless protocol for real-time communication in sensor networks, in: International Conference on Distributed Computing Systems, ICDCS, Providence, Rhode Island, USA, 2005. [10] B.N. Karp, H. Kung, GPSR: greedy perimeter stateless routing for wireless networks, in: ACM MobiCom, Boston, Massachusetts, USA, 2000. [11] M. Zorzi, R.R. Rao, Geographic random forwarding (GeRaF) for ad hoc and sensor networks: multihop performance, IEEE Transactions on Mobile Computing 2 (2003) 337–348. [12] C.E. Perkins, E.M. Belding-Royer, S.R. Das, Ad hoc On-Demand Distance Vector (AODV) Routing, RFC Experimental 3561, Internet Engineering Task Force, July 2003. [13] M. Rossi, R.R. Rao, M. Zorzi, Statistically assisted routing algorithms (SARA) for hop count based forwarding in wireless sensor networks, Springer Wireless Networks 14 (1) (2008) 55–70.

A. Camillò et al. / Ad Hoc Networks 11 (2013) 654–671 [14] K. Langendoen, N. Reijers, Distributed localization in wireless sensor networks: a quantitative comparison, Computer Networks 43 (4) (2003) 499–518. [15] Y.-C. Tseng, S.-Y. Ni, Y.-S. Chen, J.-P. Sheu, The broadcast storm problem in a mobile ad hoc network, Springer Wireless Networks 8 (2–3) (2002) 153–167. [16] H. Lim, C. Kim, Multicast tree construction and flooding in wireless ad hoc networks, in: ACM MSWIM, Boston, Massachusetts, 2000. [17] D. Dubhashi, O. Häggström, L. Orecchia, A. Panconesi, C. Petrioli, A. Vitaletti, Localized techniques for broadcasting in wireless sensor networks, Algorithmica 49 (4) (2007) 412–446. [18] D. Feldman, M. Fox, Estimation of the parameter n in the binomial distribution, Journal of American Statistical Association 63 (1968) 150–158. [19] The VINT Project, The ns Manual, , 2002. [20] Chipcon, CC2420 tranceiver datasheet, (accessed May 2011). [21] D. Ferrara, L. Galluccio, G. Morabito, A. Leonardi, S. Palazzo, MACRO: an integrated MAC/routing protocol for geographical forwarding in wireless sensor network, in: Proceedings of the 24th IEEE Annual Conference on Computer Communications, INFOCOM 2005, Miami, FL, 2005. [22] Crossbow, . [23] D. Moss, P. Levis, BoX-MACs: Exploiting physical and link layer boundaries in low-power networking, Technical Report SING-08-00, Stanford University, 2008. [24] O. Gnawali, R. Fonseca, K. Jamieson, D. Moss, P. Levis, Collection tree protocol, in: ACM SenSys, Berkeley, California, USA, 2009.

Alessandro Camillò received the MSc in Computer Science, summa cum laude, from the University of Rome La Sapienza in 2008. He is a PhD student in computer science at the same university. His research focuses on the design, evaluation, implementation and test of complete protocol stacks for wireless sensor networks.

Michele Nati received the MSc in Computer Engineering (2003) and the PhD in Computer Science (2008), both from the University of Rome ‘‘La Sapienza.’’ He is currently Research Fellow at the Centre for Communication System Research (CCSR), University of Surrey. He has published a dozen papers in international conferences and journals in the field of mobile computing and wireless sensor networks. His current research interests concern the design, analysis, evaluation and implementation of efficient cross-layer protocols for WSNs, with particular emphasis on real deployments.

Chiara Petrioli received the BS in Computer Science (summa cum laude) from the University of Rome ‘‘La Sapienza’’ in 1993 and the PhD in computer engineering from the same university in 1998. She is currently Associate Professor at the CS Department University of Rome ‘‘La Sapienza’’. She is also director of the SENSES (SEnsor Networks and Embedded Systems) Lab and deputy director of the networked embedded and mobile system activities of the joint lab on security research of ‘‘Sapienza Innovazione’’, the technology incubator of the University of Rome ‘‘La Sapienza’’. She is currently member of the steering committee and member of the editorial board of IEEE

671

Transactions on Mobile Computing, member of the editorial board of the ACM Wireless Network Journal, and member of the steering committee of ACM Sensys. She has been program co-chair of IEEE SECON 2009 and of ACM MobiCom 2006. From 2005 to 2009 she has been ACM SIGMOBILE executive committee member. Her research focuses on design and performance evaluation of network protocols. Topics recently addressed include green wireless networking, wireless sensor and actor networks (both terrestrial and underwater), cognitive radio networks, RFID based systems, personal area networks, security of wireless systems, energyefficient wireless systems and protocols for next generation Internet, where she has published over 80 papers published in prominent international journals and conferences. Such papers have received over 1800 citations. She is an IEEE senior member and a Fulbright scholar.

Michele Rossi received the Laurea degree in Electrical Engineering (with honors) and the PhD in Information Engineering from the University of Ferrara in 2000 and 2004, respectively. From March 2000 to October 2005 he has been a Research Fellow at the Department of Engineering of the University of Ferrara. During 2003 he was on leave at the Center for Wireless Communications (CWC) at the University of California San Diego (UCSD), where he performed research on wireless sensor networks. In November 2005 he joined the Department of Information Engineering of the University of Padova, Italy, where he is an Assistant Professor. His research interests are centered around the dissemination of data in distributed ad hoc and wireless sensor networks, including integrated MAC/routing schemes, data dissemination via network coding, the application of compressive sensing techniques for the reconstruction of signals in wireless sensor networks and cooperative routing policies for ad hoc networks.

Michele Zorzi (S’89, M’95, SM’98, F’07) was born in Venice, Italy, in 1966. He received the Laurea degree and the PhD in Electrical Engineering from the University of Padova, Italy, in 1990 and 1994, respectively. During the Academic Year 1992/93, he was on leave at the University of California, San Diego (UCSD) doing research on multiple access in mobile radio networks. In 1993, he joined the faculty of the Dipartimento di Elettronica e Informazione, Politecnico di Milano, Italy. After spending three years with the Center for Wireless Communications at UCSD, in 1998 he joined the School of Engineering of the University of Ferrara, Italy, and in 2003 joined the Department of Information Engineering of the University of Padova, Italy, where he is currently a Professor. His present research interests include performance evaluation in mobile communications systems, random access in mobile radio networks, ad hoc and sensor networks, energy constrained communications protocols, and cognitive radio and networks. He was the Editor-In-Chief of the IEEE Wireless Communications Magazine from 2003 to 2005, is currently the Editor-In-Chief of the IEEE Transactions on Communications, and serves on the Editorial Boards of the the Wiley Journal of Wireless Communications and Mobile Computing and the ACM/Kluwer Journal of Wireless Networks. He was also guest editor for special issues in the IEEE Personal Communications Magazine (Energy Management in Personal Communications Systems) and the IEEE Journal on Selected Areas in Communications (Multi-media Network Radios).