Energy-Efficient and Reliable Medium Access in Sensor ... - IEEE Xplore

1 downloads 0 Views 4MB Size Report
Vivek Jain, Ratnabali Biswas and Dharma P. Agrawal. OBR Centerfor Distributed and Mobile Computing. Department ofECECS, University ofCincinnati. {ainvk ...
Energy-Efficient and Reliable Medium Access in Sensor Networks Vivek Jain, Ratnabali Biswas and Dharma P. Agrawal OBR Center for Distributed and Mobile Computing Department ofECECS, University of Cincinnati {ainvk, biswasr, dpa} @ececs. uc. edu Abstract

inherently unpredictable and error-prone. Moreover,

Energy efficiency and reliable data delivery are the two most important parameters for designing wireless sensor network protocols. Wireless communication is inherently unpredictable and error-prone. Hence, reliability is required to ensure that a packet reaches its desired destination; otherwise the energy expended in forwarding the packet is wasted On the other hand, energy-saving mechanisms are required for batteryconstrained sensor networks. In this paper, we have designed an on-demand energy-efficient and reliable medium access control (E2RM:AC) protocol that enables reliable data delivery and energy conservation without affecting packet latency. We have demonstrated the superior performance of E2RMAC over existing energy-efficient and reliability-enforcing approaches in terms of reliability, latency, scalability and energy-efficiency.

1. Introduction

on reliability enforcing and energy conserving

Recent years have witnessed the proliferation of wireless sensor networks for environment monitoring and information collection. A wireless sensor network is comprised of a large number of tiny wireless sensor nodes that are capable of sensing the environment and communicating in an ad-hoc manner to deliver relevant information to the user. The small form factor of these

nodes limits the battery power available for their

operation. Thus, reliable reporting of data with minimum energy consumption is the ultimate goal for wireless sensor networks. However, there is a tradeoff among throughput, latency and energy consumption of the network. Most of the existing work in literature is either directed towards reliable communication (i.e. maximizing throughput) [1-3] or energy-efficient communication [4-9]. Reliability is especially important for wireless sensor networks since the wireless channel is This work has been supported in part by the Ohio Board of

Regents, Doctoral Investment Funds and National Foundation Grant CCR-01 13361

1-4244-0992-6/07/$25.OO © 2007 IEEE

sensor networks are generally deployed in inhospitable terrains and consist of a dense deployment of sensor nodes. This leads to throughput degradation due to hidden terminal problems, multipath fading and packet loss due to channel contention. Also, for many real-life applications of sensor networks, a critical event detected by the sensor network should be delivered to the user as soon as possible. Energy conservation, on the other hand, is one of the most important design parameters for wireless sensor networks. Being battery operated, sensor nodes require energy conservation mechanisms so as to ensure the extended network lifetime. In this paper, we present a novel medium access protocol, Energy-Efficient Reliable Medium Access Control (E2RMAC) protocol, which tries to achieve both reliable data delivery and energy conservation with minimal latency. The rest of the paper is organized as follows. Section II discusses related work

Science

mechanisms at MAC layer for sensor networks. Section III outlines design issues at hardware and MAC layer and presents our proposed protocol. Section IV compares the performance of the E2RMAC with some existing MAC protocols. Section V concludes the paper highlighting its contributions and our future work.

2. Related Work Contention-based on-demand MAC protocols have been the preferred choice for wireless sensor networks, since TDMA systems suffer from synchronization problems and are not well suited for distributed unpredictable environments. Most of the contentionbased MAC protocols proposed in the literature follow the operational model of CSMA that use a back-off mechanism to reduce probability of collisions. CSMAbased methods have a lower delay and better throughput at lower traffic loads and hence are wellsuited for wireless sensor networks.

2.1. Reliability Enforcing Mechanisms To enforce reliability in wireless sensor networks, most of the existing schemes use retransmissions or transmission of multiple copies of packets. The HHR (Hop-by-Hop Reliability) and HHRA (Hop-by-Hop Reliability with Acknowledgements) schemes [1], rely on sending multiple copies of the same packet. The HHB (Hop-by-Hop Broadcast) and HHBA (Hop-byHop Broadcast with Acknowledgements) schemes [1] further reduce the number of copies retransmitted by exploiting the broadcast property of the wireless medium, since a broadcast packet is considered successful if any of the sender's neighbors (towards the destination) forwards the packet further. ReInForM [2] is a similar scheme where multiple copies of the same packet are transmitted over randomly chosen routes. In all these schemes, a collision-free environment has been considered by assuming the presence of a TDMA MAC layer. The RMAC protocol [3] is a CSMA-based MAC protocol for erroneous environments that achieves reliable and timely delivery of data by employing mechanisms for implicit Ack, transmission rate control and adaptive retransmissions.

2.2. Energy Conserving Mechanisms Energy conservation schemes generally involve sleeping and wakeup cycles for the nodes. Based on the way the sleep cycles are employed, the existing energy-efficient MAC protocols can be broadly classified as follows: * Adaptive duty-cycling protocols: In these protocols a duty cycle is defined, which lets each node sleep periodically [4], [5], [6]. Thus, neighboring nodes must synchronize and exchange scheduling information about when they listen for possible

transmissions and when they sleep. Also

sleep/wakeup cycles introduce additional delay, referred to as the sleep delay, since a node needs to wait till its next hop node wakes up and is ready for reception. * Wakeup on-demand protocols: These protocols assume that the sensor nodes are equipped with two radios viz. a high power radio is used for data communication, while a low power radio is used to wake up the high-power radio when needed [7], [8]. The second radio uses much less power via either a low-duty cycle or hardware design. Accordingly, the wakeup message can take the form of a beacon packet or simply a busy tone. These protocols generally exhibit lower latencies than adaptive duty-cycling protocols, but require the sensor nodes to be equipped with two radios operating in different frequency channels.

One of the most cited MAC protocols for sensor networks is Sensor-MAC (SMAC) [4]. The basic idea of SMAC is to switch nodes to sleep mode for scheduled periods of time. Neighboring nodes form virtual clusters to set up a common schedule. The lowduty-cycle operation of SMAC reduces energy waste due to idle listening. However, throughput reduces and latency increases because a message may be generated during sleep time and will be queued until the start of the next active period. Timeout-MAC (T-MAC) [5] and Dynamic Sensor-MAC (DS-MAC) [6] are additional optimization over SMAC to improve its latency performance. STEM [7] proposes two variants, viz. STEM-B and STEM-T. In STEM-B, the low-power radio is in lowduty cycling mode and is capable of transmitting data. Thus, beacon signals are transmitted over the lowpower radio, where each beacon contains the MAC address of both the sender and receiver nodes. On the other hand, the STEM-T variant employs a low-power radio with a simplified hardware design that is capable of transmitting only wake-up tones and not actual data. The disadvantage in this case, is that not only the intended receiver node, but all neighbors of the sender node wake up on hearing the wake-up tone. The authors have compared the two variants and have proposed a hybrid scheme which employs different variants in different conditions. Miller and Vaidya [8] have also proposed a wakeup on-demand protocol that achieves greater energy savings by periodically listening on the primary channel and buffering the packets. The protocol uses a rate estimation algorithm to selectively wake up the data radio at nodes that have previously engaged in communication. However, the protocol assumes a error-free environment.

3. Proposed Protocol The E2RMAC protocol is a CSMA-based MAC protocol that aims to achieve energy-efficiency, while maintaining reliability and latency bounds. In order to avoid sleep delay, we have employed the wakeup ondemand technique as opposed to adaptive duty cycling.

3.1. Hardware Considerations As mentioned in Section 2.2, the wakeup ondemand technique can be implemented by the use of two radios. Since the radio typically accounts for less than 15 percent of the cost of a sensor node [7], the resultant increase in the cost of the sensor node is minimal. Moreover, the E2RMAC protocol only sends a wakeup tone on the wakeup radio (instead of actual data) and the nodes wake up when they detect the

presence of signal energy. Thus, in principle, the data and wakeup radios can be different. The data radio needs a complex power consuming hardware since data transmission and reception require good channel quality and high speed. On the other hand, the wakeup radio can have a much simpler and energy-efficient design, since it only needs to send out a tone and detect it. The E2RMAC protocol achieves energy-efficiency by exploiting this energy-saving nature of the wakeup radio.

3.2. MAC Considerations Measurements have shown that the wireless radio consumes the most power in the operation of sensor nodes. The potential reasons for energy waste can be summarized as follows: * Collision: When a receiver node receives more than one packet at the same time, the packets are said to have collided, even if they coincide partially. All collided packets have to be discarded and hence retransmitted, thereby increasing the energyconsumption and end-to-end latency. * Control overhead. Since energy is consumed in sending and receiving control packets, minimal number of control packets should be used for data transmission. For example, Request-to-Send (RTS) and Clear-to-Send (CTS) packets are usually used to mitigate the hidden node problem [9]. However for sensor networks where the packet size is small, a RTS-CTS-DATA-ACK handshake can constitute a large overhead [10]. Hence alternative methods are required to solve the hidden node problem. * Idle listening: This is a problem for energyconstrained wireless sensor networks where a node wastes energy listening to an idle channel and waiting for possible traffic. * Overhearing: This problem also leads to waste of energy when a node receives packets destined for other nodes. Radios typically have different power levels corresponding to four different states: transmitting, receiving, listening and sleeping. The power required for listening is about the same as the power required for transmitting and receiving, while sleeping requires much less power. Hence, to limit the energy wastage due to idle listening and overhearing, a sensor node can be switched to sleep mode when it is not transmitting or receiving. Although this power saving method seemingly provides significant energy gains, the following problems need to be handled: * Increased latency: Introducing sleep cycles automatically increases the latency of the system and decreases the throughput. Thus, it is a

challenge to make the protocol energy-efficient at minimal expense of throughput and latency. * Overemitting: This happens when a node transmits a message while its next hop node is in sleep mode and not ready for reception. This again results in a waste of system resources and ought to be avoided. * Excessive state changes of the radio circuit: Idle listening should be reduced without having excessive transitions between active and sleep states. Switching a radio on and off very frequently can sometimes result in even more energy consumption than leaving the transceiver unit in idle mode, because of the startup power involved. For small-sized packets, the transition energy could become dominant over the energy consumed in transmitting and receiving of packets. Therefore, it is important to take this issue into account when designing energy-efficient MAC protocols.

3.3. Basic Operation The general working of the E2RMAC protocol is as follows: * All the nodes are initially in sleep mode, i.e., the primary data radio is in sleep mode while the lowpower wakeup radio is in listen mode. * When a node has a packet to send, it sends a wakeup tone on the wakeup radio after a random backoff period. * All the neighbors of the sender node on hearing the wakeup tone switch on their primary radios. * The sender node then switches on its primary radio and sends a filter packet on the primary radio. The filter packet contains a ReceiverID to identify the intended receiver. * The intended receiver node on receiving the filter packet keeps its primary radio on, while the other neighbor nodes switch off their primary radio and go back to sleep mode. * The sender node then sends the data packet to its next hop node on the primary radio and switches back to sleep mode. * The receiver node also keeps its primary radio on till it receives the packet. If it receives the packet successfully, it sends an Ack and switches back to sleep mode. On the other hand, if the packet was not successfully received, it simply discards the packet and goes back to sleep mode without sending Ack. Note that, as mentioned above, a sender node does a random backoff before sending the wakeup tone on the low-power radio. If it finds the wakeup channel busy, it recalculates the backoff depending on its contention window, goes back to sleep mode for that duration and

tries sending the wakeup signal after that duration. Similarly, after sending the wakeup signal, the sender node senses the primary channel before sending the filter packet. If the primary channel is busy, it again goes back to sleep mode and repeats the process by sending a wakeup signal after a random backoff. On the receiver node side, thus it is possible that it does not receive the filter packet after waking up. This may happen when the sender node finds the primary channel busy and is unable to send the filter packet. In either case, the node switches back to sleep mode. 3.4. Additional Optimizations The E2RM4AC protocol has the following additional features to further enhance energy-efficiency and link reliability: * An intermediate node on successfully receiving a data packet skips backoff and immediately transmits the packet to the next hop. To do so, it immediately sends a wakeup signal on the wakeup radio upon successful reception of a packet. After that it sends a filter packet followed by the data packet on the primary radio. * This sending of wakeup tone by intermediate node can be considered to be an implicit Ack by the previous hop node, because of the broadcast nature of the wireless medium. For example in Figure 1, node A transmits packet to node B. If node B receives the packet successfully, it skips backoff and sends a wakeup tone to initiate transmission with node C. Thus, when node A overhears the wakeup tone after processing, propagation and switching delays, node A considers it to be positive Ack. However, if node A does not receive the implicit Ack, it waits for a backoff period and then sends a wakeup tone and filter packet to retransmit the packet to node B. If the receiver node is the final destination of the packet, it sends a wakeup tone to denote an explicit Ack. * As mentioned in Section 3.2, RTS/CTS packets can constitute a large overhead for sensor networks. Consequently, a transmission rate control mechanism has also been employed to mitigate the hidden node problem and allow the next hop node to successfully forward a packet. A sender node, on receiving an Ack, refrains from transmitting for transmission backoff duration, which is equal to twice the communication delay involved data transmission from one node to its next hop node. Since we employ the skip-backoff mechanism, this communication delay includes the time required to send the filter and data packets as well the time consumed in switching on and off the primary radio (propagation delay is assumed to be negligible).

* A sender node on receiving an implicit Ack also sets a ReceiveTimer for one communication duration. It ignores wakeup signals (may even switch off the wakeup radio) during this time interval, i.e., until the ReceiveTimer expires. The reason for doing so is that during this interval its next hop node is engaged in forwarding the packet and this node would not be able to receive packets without collision. Consequently the ReceiveTimer is set to avoid wasting energy in unnecessarily waking up this node and making it receive collided packets. This also ensures that the node does not wake up unnecessarily when the next hop node sends a wakeup tone to actually forward the packet down the route towards the final destination. As mentioned in Section 3.3, when a node has a packet to send, it transmits a wakeup signal, thereby waking up all its neighbors. The sender node then sends a filter packet to identify its intended receiver. The other neighbors process the filter packet and go back to sleep mode. They also refrain from transmitting and receiving for two communication durations. To do so, both the NAV and ReceiveTimer are set for two communication durations. This ensures that the nodes that are neighbors of both the sender and the receiver node avoid overhearing and unnecessary state changes during the time required to transmit the packet from the sender node to receiver node and from the receiver node to its next hop node. This also prevents possible collisions at and from these nodes due to hidden node interference problem. Note that setting the ReceiveTimer can lead to overemitting. Since the intended receiver node does not acknowledge the receipt of a filter packet, the sender node is not aware of the situation when the receiver node's ReceiveTimer is set and it is not available for reception. Consequently, the sender node sends the data packet unaware of the sleeping receiver node. When the sender node does not receive an Ack, it itself goes to sleep mode and reinitiates transmission after a random backoff duration. However, since all the neighbor nodes set their ReceiveTimers at the same time, the probability of such a situation occurring is considerably low. Alternatively, overemitting of data could be avoided by having the intended receiver acknowledge a filter packet when it is ready for reception. This, however, introduces an additional delay at every hop of the route, thereby increasing endto-end latency. Considering such situations for overemitting rarely occur, the E2RMAC protocol chooses the former approach to maintain its throughput and reliability requirements, albeit at the cost of occasional energy wastage.

Also note that, when a node sends an explicit Ack to its previous hop node, it also inadvertently wakes up all its other neighbor nodes. However, since it does not

Ra dom

A

C

,

D

send any filter packet in such cases, these neighbor lroeessIng nodes would simply wait for the time required for transmitting a filter packet and then go back to sleep. n-L PrDoen Thus, even though they do wakeup unnecessarily, they Processing Dela 'ackof Sk pped Implicit Ack do not waste energy in idle listening or in overhearing for long periods. Figure 1 shows the basic operation the E2RMAC protocol as described above. The dark thicker lines signify the time periods during which a node is awake Tansmission acko with its primary radio on. Note that, some of the (2xCbmmnunXatbn_Dlra bn ) optimizations for collision avoidance and reliabilityiabity_D enforcement are similar to those employed by the Explitit Ack RMAC protocol. However compared to the RMAC Figure 1. Basic operation of E2RMAC protocol, the E2RMAC protocol boasts huge energysavings by significantly reducing both idle listening 4.1. Simulation Setup and overhearing, while still maintaining throughput and latency bounds. These following metrics underpin the major

4. Performance Evaluation

motivation behind the design of the E2RMAC

Parsec [11], a discrete event simulator has been used to study the performance of the E2RMAC protocol with respect to several evaluation metrics. In order to emphasize the benefits of E2RMAC, it has been compared with CSMA-Ack scheme, RMAC, IEEE 802.11, SMAC and STEM (tone version). The CSMA-Ack scheme is a simple CSMA scheme with retransmissions and positive acknowledgements, but does not have any RTS/CTS mechanism. The RMAC, SMAC and STEM protocols have been discussed in Section 2. As mentioned earlier, the objective of our E2RMAC protocol is to achieve energy-efficiency while minimizing latency. Thus for our simulation studies, we have compared E2RMAC with SMAC and STEM at 100% duty cycle so as to maintain their minimum latencies (lower duty cycles lead to increased latency). For both SMAC and STEM, we have considered that the neighbor nodes of a sender/receiver on hearing a RTS/CTS packet, switch to sleep mode to avoid overhearing the packet. The other protocols mentioned in Section 2 have not been considered in our simulation studies for the following reasons. Of all the reliability enforcing mechanisms, we have considered CSMA-Ack and RMAC since their superior performance over the other schemes has been already demonstrated in [3]. For our simulation studies, we have preferred to compare with wakeup on-demand protocols since they exhibit lower latencies than those protocols with periodic sleep cycles. In particular, we have considered STEM for our comparative study since it also follows a simple tone-based wakeup scheme.

* Packet Delivery Ratio (PDR): This is the ratio of the total number of packets successfully received at the destination to the total number of packets sent by the source nodes over the simulation time. Hence it is a measure of the reliability of the

protocol:

system.

* Latency per Hop: This is the average time between the generation of a packet at a source node and its successful reception at the destination. Thus, it measures the average delay a packet experiences at each node on the route to its destination. * Energy Expenditure per Node: This is the average energy expended by a sensor node for each successful reception at the destination. Note that in case of STEM and E2RMAC, only the nodes on the route and their neighbor nodes have active periods, while the all the other nodes in the network always remain in sleep mode. Thus, we have also compared the average energy expenditure of the nodes on the route of packet, as well as, the intermediate nodes. The important simulation parameters are listed in Table 1. The radio parameters have been taken from Chipcon CC2420 [12] and Telos specifications [13], while the packet formats are as specified by the 802.15.4 standard [14]. Each packet includes five bytes of Synchronization Header (SHR), one byte of Physical layer Header (PHR), two bytes of frame control, two bytes of Frame Check Sequence (FCS) and one byte of sequence number. Thus, Ack includes no additional information, Filter/CTS messages include additional 8 bytes for receiver address and

TABLE 1. SIMULATION PARAMETERS

1200,uis

parameters are self explanatory. Each simulation is run for 100 seconds and is averaged over 25 random seeds. Packet arrival at source nodes is considered as Poisson process. The channel error is depicted by the packet error rate and is varied from 0 to 0.4. This is the probability with which a successfully received packet will be dropped by the receiver considering the packet as corrupted due to channel error.

200,us 1

4.2. Single Flow Performance

Value

Parameter Packet size Filter/CTS size RTS size

77 bytes 19 bytes 27 bytes

Ack size 11 bytes TrAnsmissionerate250 kbpts

TransmisslotnTime1200 slotTime

kbps

TSIFS

CWmin

CWmax Tx Attempts Psensing= PTX= PRX Psleep

4

We consider two cases to evaluate the performance of protocols under various channel conditions. In the first case (Figures 2-4), we vary the number of hops in the linear route keeping the traffic load constant (data arrival rate of 5 packets per second at the source node). For the second case (Figures 5-7), the traffic load is varied for a linear 8-hop topology. In order to have a fair comparison, the average energy expended by the nodes on the route has only been considered. We observe that PDR of E2RMAC, RMAC and CSMA degrade due to rise in hidden terminal problem

5

41 mW 0.015 mW 35 mW

PTx_on = PTX_off TTX_on Pwakeup_sensing= Pwakeup_Tx= Pwakeup_Rx

580 ps

0.015 mW

RTS/Data messages include 8 additional bytes each for transmitter and receiver addresses. TTX_si and TTX_of denote the respective times required to switch on and switch off the primary radio; the rest of the simulation + -CSMA

12

RI"C

-UfSMAC IIEEE

~ ~ ~~

~RCSM -

-MA

EAMAC ~~~~~~~~~~~~~~~~~~~~~~~~~~-*STEM ----- 4 E2RMAC.1

0A

,,

4--

o .................................................................... L _=._.E4XPF~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.........................................

OA~~~~~~~~RA

EfiiAC

R A

2 5il S4G : __STEMH

21

2,

--

.

4

5

6

7

Number of Hops

i

3

4

5

6

7

Number of Hops

8

9

10

W6 Iw 7:_ Number of Hops

3

9

Figure 2. Performance of protocols with channel error as 0.0 1:2r

CMA }4

I

---ee

v 0* _* 1WiD

@

ta'~~~-

--71

+

) wq 0 -- - IRMAC M]S

0

X 0m40

IX +W;CSltK Q 44 W< -+ g--4e-~~~~~~~~~~~~~~~~~~~~~4(

IE-- 1EEE

02 ~~~~~~~~CMAC

2

3

4

5 6 7z Number of Hops

A.E2R,1 a

9

2

1

3

4

5

6

7

Number of Hops

aS

S_

-

STEEMl

w

I

500

.

IEEE

10

4

6

7

Number of Hops -

*

-

Figure 3. Performance of protocols with channel error as 0.2 16

""RMAC

-cIEEE

oWlFX l cRblLi.C

2OA

4

I

f

61!

i'l'w'llPtMAS

A

14~471 | ~~~~~~-- -IEEEi ----IEEEIu

I

I

Numriber of Hops

--I- STEMi

I~~~~-*-2R C

i-+- -

2S.

sS

RMA i-&EkW

S

Number of Hops

Figure 4. Performance of protocols with channel error as 0.4

Number of HopW

a

9

10

i 76 0 i . i s e | - * ~ IE

CSMA

RMA

14

i"01

M+

1

tE2RM

t

t.L~ .........-$-o ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~C s