EM-MAC: A Dynamic Multichannel Energy-Efficient MAC Protocol for Wireless Sensor Networks Lei Tang1, Yanjun Sun2, Omer Gurewitz3, and David B. Johnson1 1Department of Computer Science, Rice University, USA and Applications R&D Center, Texas Instruments, USA 3Department of Communication Systems Engineering, Ben Gurion University, Israel 2Systems ACM MobiHoc 2011 (Best Paper Award) Outline Introduction System Model and Assumptions EM-MAC Protocol Design Evaluation on MICAz Motes Conclusion Introduction Energy efficiency is crucial in wireless sensor networks (WSNs). Many energy-efficient wireless MAC protocols have been proposed that utilize duty cycling. In real world, WSN MAC protocols must operate under a number of significant challenges. collision or contention interference from wireless transmissions by other types of devices, such as Wi-Fi nodes, or jamming attack time synchronization Goals This paper proposes a new multichannel energy-efficient MAC Protocol, called EM-MAC (Efficient Multichannel MAC). EM-MAC is a distributed protocol. is a asynchronous duty-cycling MAC protocol. utilizes the available multiple orthogonal radio channels common with many types of wireless devices. avoids jamming attack System Model and Assumptions Each node equips with only one transceiver. The network is a multichannel environment. Nodes do not require to synchronize their clocks. There is no common control channel. EM-MAC Overview k A A A A i j A A A EM-MAC Overview 1 B DATA ACK S: 2 B DATA ACK B DATA ACK 3 1 B DATA ACK R: 2 3 B EM-MAC How to choose the set of switching channels? How to avoid using congested channels and to be robust against wireless interference and jamming? How to address the rendezvous problem in an asynchronous environment? How to choose the set of switching channels? Switching Channel Selection Linear Congruential Generator (LCG) X n1 aXn c modm m>0 is a modulus, a is a multiplier, c is an increment, Xn is the current seed, and Xn+1 is the next seed. D. E. Knuth,A:“The Congruential The Art of 1, 4, Linear 8, 11, 14, 2, 7, 12, 13,Method,” 15, 1, 2, … Computer Programming, Third Edition, Volume 2: Seminumerical Algorithm, pages 10-26. Addison-Wesley, A: 1, 4, 8, 4, 8, 1, 1, 4, 8, 4, 4, 8, 1, 4, … 1997. How to avoid using congested channels and to be robust against wireless interference and jamming? Basic Concept A: 1, 4, 8, 11, 14, 1, 4, 8, 11, 14, 1, 4, … Blacklisted Channel Blacklist: 4, 8 A: 1, 11, 14, 1, 11, 14, 1, 11, … 1 4 8 11 14 A A A A A A A A A A Dynamic Channel Selection Detecting Channel Conditions Multichannel Rendezvous with Blacklisted Channels Detecting Channel Conditions Badness metric (which is a non-negative metric) k S: i j B DATA ACK B DATA ACK k R: i j Both S and R decrease that channel’s badness metric by 1. Detecting Channel Conditions Badness metric (which is a non-negative metric) k S: i j B DATA B DATA B DATA k R: i j B B B R increases that channel’s badness metric by 2. R S R Detecting Channel Conditions S Badness metric (which is a non-negative metric) k S: i j B DATA B DATA DATA DATA k R: i j ACK DATA ACK DATA ACK S increases that channel’s badness metric by 2. Detecting Channel Conditions Badness metric (which is a non-negative metric) k Random backoff S: i j DATA B B DATA B k R: i j DATA retransmission B DATA R increases that channel’s badness metric by 2. Detecting Channel Conditions Badness metric (which is a non-negative metric) k S: Random backoff i j DATA B B DATA B k R: i j DATA retransmission B DATA S increases that channel’s badness metric by 2. ACK Multichannel Rendezvous with Blacklisted Channels For each node When the badness metric of a channel is above a threshold Cbad, the channel will be added to the node’s blacklist. If the next pseudorandomly chosen channel is on the node’s channel blacklist, the node stays on its current channel. The maximum number of channels allowed on a node’s blacklist is the total number of available channels minus 1. To enable potential senders to learn its blacklisted channels, a node R represents its blacklisted channels using a bitmap and embeds it in its wake-up beacons. How to address the rendezvous problem in an asynchronous environment? Adaptive Time Modeling tr=kts+b (y=kx+b) ts: the current time of Sender tr: the current time of Receiver k: clock rate difference b: initial clock difference If k = 1, we have tr= ts+b. S and R have the same clock rate but have a time difference of b. Adaptive Time Modeling 1 B DATA ACK S: 2 B DATA ACK B DATA ACK 3 1 B DATA ACK R: 2 3 1 tr=ts+b (assume t r1 ktk=1) s b S : 2 t r kts2 b b=tr–ts wake-up advance time Exponential Chase Algorithm k B DATA ACK B DATA ACK S: i j k R: i j B B Evaluation on MICAz Motes The proposed EM-MAC is implemented on MICAz motes running TinyOS. Each wake-up interval for a node using EM-MAC was pseudorandomly chosen between 500 ms and 1500 ms. On average, a sender generates one new data packet every second. Cbad is configured as 15. The sender wake-up advance time here is configured as 20 ms, The random number generator resetting interval is configured as 300 s. Duty Cycles of Sender and Destination Multichannel: McMAC and Y-MAC Single Channel: PW-MAC, WiseMAC, RI-MAC, and X-MAC Delivery Ratio and Delivery Latency Multichannel: McMAC and Y-MAC Single Channel: PW-MAC, WiseMAC, RI-MAC, and X-MAC Performances of Rendezvous and with Large Clock Rate Difference Performance with Wireless Interference and Jamming Conclusion EM-MAC uses no control channel and enables a node to dynamically select the channels it switches among based on the channel conditions it senses. By effectively utilizing multiple orthogonal radio channels, EM-MAC is able to avoid using channels that are currently heavily loaded or are otherwise undesirable such as due to interference or jamming. Thank You ~