330 likes | 579 Views
An Adaptive Energy-Efficient MAC Protocol for Wireless Sensor Networks. Tijs van Dam Koen Langendoen Presenter: Michael Curcio. ACM SenSys 2003. Sensor Networks. Low message rate Insensitive to latency Low processing power and memory capacity Lots of redundancy Often battery operated!.
E N D
An Adaptive Energy-Efficient MAC Protocol for Wireless Sensor Networks • Tijs van Dam • Koen Langendoen • Presenter: Michael Curcio ACM SenSys 2003
Sensor Networks • Low message rate • Insensitive to latency • Low processing power and memory capacity • Lots of redundancy • Often battery operated!
Goals • Focus has moved away from maximizing throughput and fairness; minimizing latency • Power consumption kept to a minimum • Memory/Network processing kept low
Energy Sinks • Processor • Radio • Receiving/Transmitting • Idle Listening • Collisions • Protocol Overhead • Overhearing
What else addresses this? • TDMA • 802.11 (CSMA) • Extra wake-up radio • TinyOS • S-MAC • Radio-triggered wake-up hardware
How do they do that? • TDMA • Built-in duty cycle; eliminates collisions • But-- Hard to do for ad-hoc network • Scheduling, slot allocation, coordination • Clock drift (especially for small slots) • Extra radio • Solve problems with more hardware • Add a radio on a different frequency that can wake up other nodes
How do they do that? • 802.11 • Has power-saving features, but not good enough for sensor networks • Was designed for nodes all existing in one cell (no multi-hop) • TinyOS • Instead of listening really long for a short transmission, listen realy short for a long transmission • Makes the transmitter, not the receiver pay the energy bill
How do they do that? • S-MAC • Fixed duty cycle • Compress spread out transmits and receives into a shorter amount of time so we can sleep the rest • Event, issue, request-based transfer of information hop-to-hop • Radio-triggered wake-up • Stay awake for Soji’s presentation • Teaser: On-demand node wake-up
T-MAC Approach • “Timeout”-MAC • Adaptive duty cycle • Period of radio activity can be ended dynamically • Reduce idle listening to a minimum • Better handle variable network load
Sensor Network Communication Patterns • Local uni-/broadcast • Event processed in network among nodes • Nodes to sink(s) reporting • Messages move through the network in a generally unified direction (to the sink(s)) • May or may not be aggregated/processed en-route
Sensor Network Communication Patterns • Traditional, multi-hop routing not used • Might there be a case where it would be useful? • Time dependence • Nothing to do if no events occur • Location dependence • Network in proximity to sink nodes experiences heavier traffic than at remote edge of network
EYES Nodes • 16-bit, 5MHz, variable clock rate processor • 2KB RAM • 60KB FLASH • 2MB EEPROM • JTAG, RS232, 2 LEDs, 16 GPIO (8 ADC) pins • Runs on 2 AA batteries Photo Courtesy: Eyes - Energy Efficient Sensor Networks, http://www.eyes.eu.org/
T-MAC Duty Cycle • Variable length duty cycle • Transmit in bursts • Maintain optimal active time under variable load • Sleep after time of hearing nothing
S-MAC Duty Cycle • Fixed duty cycle • Frame time - limited by latency requirements and buffer space • Active time - configured to be long enough to handle highest expected load
T-MAC Protocol Basics • Burst communication schedule • Messages are queued while node is asleep • Buffer capacity determines Frame Time • RTS/CTS/<Data>/ACK • Collision avoidance • Reliability • Active Period (Active Time)
T-MAC Active Period • Starts at scheduled intervals • Ends when no Activation Event is heard for a time = TA • firing of a periodic frame timer • reception of any data • sensing of any communication activity • end-of-transmission of own data or acknowledgment • overhearding end of neighbor’s data exchange
T-MAC Considerations • Clustering and Synchronization • RTS Operation and Choosing TA • Overhearing Avoidance • Asymmetric Communication
Clustering and Synchronization • From S-MAC protocol • Virtual Clustering • Frame schedules and SYNC packets define a node’s active time • Shared with neighbors to ensure transmissions go to nodes that are awake
RTS and TA • Fixed contention window at beginning of active time for RTS signaling • RTS retry after loss (max of two times) • TA > C + R + T
Overhearing Avoidance • Results in energy savings, but decreases max throughput (do not use if speed is required) • Experiments show going to sleep to avoid overhearing makes nodes miss other RTS/CTS transmissions. When they wake-up, they cause interference collisions.
Asymmetric Communication • Most communication is unidirectional (node-to-sink) • Early Sleeping Problem • Future-Request-to-Send (FTRS) • Full-buffer Priority
Future RTS • Nodes that lose RTS/CTS contention have opportunity to send FRTS • Collides with empty DS packet of contention winner • Requires increase in TA (increased energy usage) • 75% throughput gain
Full-buffer Priority • When a node’s sender buffer is or is almost full, it can decide to ignore an incoming RTS, i.e., refuse to send a CTS reply, and sends its own RTS to a different node • But... heavy load increases collisions rapidly
Experimental Setup • OMNeT++ discrete event simulation package • EYES nodes modeling • 100 nodes on 10 x 10 grid; non-edge nodes have 8 neighbors each • Local Unicasts • Nodes-to-sink communication; shortest-path routing
Results • Simulations • Homogenous local unicast • Nodes-to-sink communication • The effects of early sleep • Event-based local unicast and node-to-sink reporting • Real Implementation • Energy use
Future Work • Experimentation with FRTS and full-buffer priority to solve early sleeping problem • Node mobility • Virtual clustering and multi-hop synchronization
Conclusions • Power consumption reductions achieved • As much as 96% with low loads as compared to traditional protocols • Improves upon S-MAC performance in volatile environments where message rates change with both time and place