630 likes | 647 Views
This paper presents the ADCA MAC protocol, which aims to improve energy efficiency in wireless sensor networks by reducing idle listening and collisions. The protocol adjusts the duty cycle of sensor nodes asynchronously, without degrading performance or increasing transmission delay. Experimental results show significant improvements in energy consumption.
E N D
ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks GLOBECOM 2008 Yu-Chia Chang, Jehn-Ruey Jiang and Jang-Ping Sheu CSIE Department National Central University
Outline • Introduction • Related work • ADCA MAC protocol • Experiments and simulation results • Conclusions
Introduction • A wireless sensor network (WSN) is composed of a large number of battery-operated sensor nodes • Energy conservation is one of the most important issues • RF transceiver is the biggest power consumer in a sensor node
Introduction (Cont.) • Four modes of the radio transceiver: • transmitting • receiving • listening • sleeping • The first three modes are also called active or wakemodes • The power consumption of the four modes of MICAz mote is 52.5, 59.1, 59.1 and 1.278 mW
Dominant in WSNs Introduction (cont.) • What causes energy waste? • Collisions • Control packet overhead • Overhearing unnecessary traffic • Long idle time • bursty traffic in sensor-net apps • Idle listening consumes 50—100% of the power for receiving (Stemm97, Kasten)
Introduction (cont.) • Idle listening can be solved by sleep/wake protocols • When the duty cycle (i.e., active period) of the radio is reduced to 1 percent, the power consumption of the sensor node can be reduced by a factor of 50.
Introduction (cont.) • Collision can be solved by RTS/CTS (CSMA/CA ) (up to 36% improvement) • Overhearing can be solved by RTS/CTS with NAV (Network Allocation Vector) • However, the overhead of RTS/CTS is relatively large when used in WSNs since WSN packets are usually very small. • In MICA Mote, the maximum data packet size is 41 bytes and the size of an RTS/CTS packet is 18 bytes.
C A B Hidden terminal: A is hidden from C’s CS CSMA/CA • Contention-based protocols • CSMA — Carrier Sense Multiple Access • Ethernet (CSMA/CD) is not suitable for wireless (collision at receiver cannot be detected at sender) • MACA — Multiple Access w/ Collision Avoidance • RTS/CTS for hidden terminal problem • RTS/CTS/DATA
CSMA/CA • Contention-based protocols (contd.) • MACAW — improved over MACA • RTS/CTS/DATA/ACK • Fast error recovery at link layer • IEEE 802.11 Distributed Coordination Function (DCF) • Largely based on MACAW • Called CSMA/CA
Hidden Terminal Problem A and C want to send data to B • A senses medium idle and sends data • C senses medium idle and sends data • Collision occurs at B Data Data B A C
Collision Avoidance w/ RTS/CTS A and C want to send to B • A sends RTS (Request To Send) to B • B sends CTS (Clear To Send) to AC “overhears”CTS from B • C waits for duration of A’s transmission 1.RTS 2.CTS 2.CTS B A 3.Data C
Virtual Carrier Sense • Timing relationship
Introduction (cont.) • ADCA MAC protocol for WSNs • Asynchronous sleep/wake protocol • Duty cycle adjustment • Goals • Energy efficiency • Without degrading performance • Without lengthening transmission delay • Without lowering throughput
Related work • preamble-based • B-MAC, Wise-MAC, SyncWUF • slot-based • P-MAC, TRAMA, Z-MAC, H-MAC • duty cycle synchronization-based • S-MAC, T-MAC, U-MAC
B-MAC • Drawbacks • Overhearing • Bad performance at heavy traffic case • Long transmission latency
Wise-MAC • Drawbacks • Maintain neighbors’ time offset • Transmission latency is increased
P-MAC - Pattern MAC • P-MAC [12]divides time axis into frames, each of which consists of two parts: the Pattern Repeat part and the Pattern Exchange part. Both parts contain many slots. • During the Pattern Exchange part, nodes advertise their intended sleep/wake patterns, which represent one slot by one bit (0 for sleeping mode and 1 for active mode) and can be dynamically adjusted based on traffic conditions. • And during the Pattern Repeat part, a node wakes up according to the advertised pattern. • A node also wakes up at a time slot t, if one of its neighbors has advertised to be awake at the time slot t and it has data for sending to the node.
S-MAC or Sensor-MAC Medium Access Control with Coordinated, Adaptive Sleeping for Wireless Sensor Networks [YHE03]
Listen Sleep Listen Sleep Listen C A B D S-MAC: Periodic Listen & Sleep • Frame • Frame schedule • Nodes are free to choose their listen/sleep schedule • Requirement: neighboring nodes synchronize together • Exchange schedules periodically (SYNC packet) • Synchronization period (SP) • Nodes communicate in receivers scheduled listen times
Node 1 sleep sleep listen listen Node 2 sleep sleep listen listen Schedule 1 Schedule 2 Periodic Listen and Sleep • Schedules can differ • Prefer neighboring nodes have same schedule • — easy broadcast & low control overhead Border nodes: two schedules broadcast twice
S-MAC: Coordinated Sleeping (1) Frame Schedule Maintenance • Choosing a schedule • Listen to the medium for at least SP • Nothing heard, choose a schedule • Broadcast a SYNC packet (should contend for medium) • Following a schedule • Receives a schedule before choosing/announcing • Follows the schedule • Re-broadcast a SYNC packet • Adopting multiple schedules • Receives a schedule after choosing/announcing • Follow both the schedules – suffer more energy loss • A node only re-broadcast SYNC for the first schedule heard
S-MAC: Coordinated Sleeping (2) Neighbor Discovery • chance of failing to discover an existing neighbor • corrupted SYNC packet, collisions, interference • New sensor in the border of two schedules discover only the first schedule, if schedules do not overlap • Periodically, listen for the complete SP • frequency? • - if a sensor has no neighbors • S-MAC experimental values: • SP = 10 seconds • Neighbor discovery period = 2 minutes, if at least 1 nbr
Listen Sleep for SYNC for RTS for CTS Receiver S-MAC: Coordinated Sleeping (3) Maintaining Synchronization • Clock drifts – not a major concern (listen time = 0.5s, which is 105 times longer than typical drift rates) • Need to mitigate long term drifts – schedule updating using SYNC packet (sender ID, its next scheduled sleep time – relative); • Listen is split into 2 parts – for SYNC and RTS/CTS • Once RTS/CTS is established, data sent in sleep interval
ListenR ListenON RTS DATA Sender CTS ACK Receiver Wakes up even though it is not the correct listen-interval Sleep (based on RTS) Overhearing nodes (ON) Sleep (based on CTS) S-MAC: Coordinated Sleeping (4) Adaptive Listening – Low-duty cycle to active mode * Overhearing nodes – wakeup at the end of the current transmission (duration field in RTS/CTS)
S-MAC Summary • Latency and throughput are problems, but adaptive listening improves it significantly • Energy saving is significant compared to “non-sleeping” protocols
S-MAC Information • URL: http://www.isi.edu/scadds/ • Released S-MAC source code (for TinyOS 0.6.1) • Currently porting to nesC environment (TinyOS 1.0)
T-MAC or Timeout-MAC An Adaptive Energy-Efficient MAC Protocol for Wireless Sensor Networks [vL03]
Drawbacks of S-MAC • Active (Listen) interval – long enough to handle the highest expected load • If message rate is lower – energy is still wasted in idle-listening • S-MAC fixed duty cycle – is NOT OPTIMAL
Active Active Active Sleep Sleep TA TA TA T-MAC: Preliminaries • Adaptive duty cycle: • A node is in sleep mode if no activation event occurs for time TA
T-MAC: Choosing TA • Requirement: a node should not sleep while its neighbors are communicating, potential next receiver • TA > C+R+T • C – contention interval length • R – RTS packet length • T – turn-around time (a short time between the end of the RTS packet and the beginning of the CTS packet) • TA = 1.5 * (C+R+T);
contend RTS CTS DATA ACK A B contend C active sleep D RTS? TA T-MAC: Asymmetric Communication (1) Early-Sleeping Problem – in convergecast (A to D) • C – may lose medium to B (RTS) or A (B’s CTS) • C loses to B; D will hear CTS from C; • C loses to A; D will hear nothing, since C is silent;
contend RTS CTS DS DATA ACK A B contend C active active D FRTS RTS TA TA = C+R+T+CTS_length T-MAC: Asymmetric Communication (2) Future RTS (FRTS) • Let others know that it cannot access the medium; C – sends FRTS – has duration field; receiver of FRTS – schedule timer; • FRTS might affect data; so, DATA postponed until FRTS is over; Prevent others from taking medium, send dummy DS packet;
T-MAC: Asymmetric Communication (3) Full-Buffer Priority – suitable for unidirectional flows • Buffer – almost full – prefer sending than receiving • Receive RTS, send its own RTS back instead of CTS • Higher chance of transmitting its own message, lesser probability of early-sleeping, limited form of flow control contend A contend B contend C RTS active D RTS CTS DATA ACK TA
U-MAC • Similar to S-MAC • Calculate utilization (U) • U = (Ttx + Trx) / (Ttx + Trx+Tidle) • Duty cycle adjustment • If U> high traffic threshold duty cycle increase • If U> low traffic threshold duty cycle decrease • Drawbacks • High contention • Preliminary parameter setting (un-adaptable) • Rule of thumb • The experience or knowledge of the experiments
ADCA- Initial phase • Decide its start time of its sleep/wake schedule • Broadcast its schedule to the neighbors • The initial period last for a certain time to collect neighbors’ schedules
ADCA- Adjusting phase • The cycle length of all the nodes is the same • The schedule of ADCA is adjustable • Contention period • SYN period • Extended period • Sleeping period
ADCA • Listen to the channel for the incoming packets at the contention period • Broadcast the SYN packet at the SYN period • The extended period prolongs the active time immediately • Tune into sleeping period to save energy
The adjustment of ADCA • The extended period adjustment • The next contention period adjustment
The radio status • Bad situation • Success reception but destining to other nodes • Failed reception • Channel unstable
The adjustment of ADCA • The extended period compensates for the bad receiving situations • The next contention period accommodates to the variable traffics • Time records • Ti: idle listen • Tb: channel busy • Noh: number of overheard packets
The length of the extended period Tbad = time of collision + channel unstable
The length of the next contention period • CCP is the length of the current contention period • : negative value (idle time) • Decrease the length • : positive value (busy time) • Increase the length
Simulation environments • NS-2 simulator • Two scenarios • All-to-one and end-to-end (n-to-n) • Packet size • Data packet: 50 bytes • Control packet: 10 bytes • Deploy 20, 30 and 40 nodes in 100 x 100 m2 area (average node degree is 4, 6 and 8) • Traffic (CBR) • 1, 10, 20, 30, 40, 50 and 60 packets per second • Energy consumption • Tx:Rx:Idle:Sleep = 52.5: 59.1: 59.1: 1.278 (mW) =17.4: 19.7: 19.7: 0.426 (mA)