1 / 63

ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

The paper introduces ADCA, a MAC protocol for wireless sensor networks designed to conserve energy by adjusting duty cycles. It addresses issues like energy waste, collisions, and overhead, enhancing efficiency without performance degradation.

vjames
Download Presentation

ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Outline • Introduction • Related work • ADCA MAC protocol • Experiments and simulation results • Conclusions

  3. Introduction • Wireless sensor networks 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

  4. 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

  5. Dominant in sensornets 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)

  6. 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.

  7. 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 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.

  8. 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

  9. 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

  10. 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

  11. 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

  12. Virtual Carrier Sense • Timing relationship

  13. 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

  14. Related work

  15. 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

  16. B-MAC • Drawbacks • Overhearing • Bad performance at heavy traffic case • Long transmission latency

  17. Wise-MAC • Drawbacks • Maintain neighbors’ time offset • Transmission latency is increased

  18. 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.

  19. S-MAC or Sensor-MAC Medium Access Control with Coordinated, Adaptive Sleeping for Wireless Sensor Networks [YHE03]

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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)

  26. S-MAC Summary • Latency and throughput are problems, but adaptive listening improves it significantly • Energy saving is significant compared to “non-sleeping” protocols

  27. 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)

  28. T-MAC or Timeout-MAC An Adaptive Energy-Efficient MAC Protocol for Wireless Sensor Networks [vL03]

  29. 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

  30. 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

  31. 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);

  32. 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;

  33. 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;

  34. 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

  35. S-MAC and T-MAC

  36. 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

  37. 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

  38. 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

  39. The schedule of ADCA

  40. 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

  41. The adjustment of ADCA • The extended period adjustment • The next contention period adjustment

  42. The radio status • Bad situation • Success reception but destining to other nodes • Failed reception • Channel unstable

  43. 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

  44. The length of the extended period Tbad = time of collision + channel unstable

  45. 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

  46. 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)

  47. Energy consumption (all-to-one)

  48. Energy consumption (n-to-n)

  49. Transmission delay (all-to-one)

  50. Transmission delay (n-to-n)

More Related