an energy-efficient mac protocol for wireless sensor networks (s-mac) wei ye, john heidemann,...
TRANSCRIPT
An Energy-Efficient MAC Protocol for Wireless Sensor Networks (S-MAC)
Wei Ye, John Heidemann, Deborah Estrin
Sensor Network MAC Differences Energy Consumption
Difficult to recharge Request long lifetime of work
Major source of energy waste Collision Overhearing Control Overhead Idle Listening
Listening to possible traffic that is not sent 50%-100% energy drain compared with receiving
Main Contributions
Periodic listen and sleep Collision avoidance Overhearing avoidance Message passing
What is the main idea this paper propose? Duty Cycles
Listen for SYNC
td
Listen/Sleep Schedule AssignmentChoosing Schedule (1)
Sleep
Listen
Go to sleep after time t
Sleep
Listen
Broadcasts
A
B
Broadcasts
Go to sleep after time t- td
Synchronizer• Listen for a mount of time• If hear no SYNC, select its
own SYNC• Broadcasts its SYNC
immediately
Follower• Listen for a mount of time• Hear SYNC from A, follow
A’s SYNC• Rebroadcasts SYNC after
random delay td
Listen for SYNC Go to sleep after time t2
td
Listen for SYNC
Listen/Sleep Schedule AssignmentChoosing Schedule (2)
Sleep
Listen
Go to sleep after time t1
Sleep
Listen
A
Broadcasts
Sleep
Listen
C
Broadcasts
B
Only need to broadcast once
1. B receive A’s schedule and rebroadcast it.
2. Hear a different SYNC from C.
3. Adapt both schedules
• Late sleep results to longer listening period
• Early sleep results to early wake up in the next schedule
Nodes only rarely adopt multiple schedules
Listen/Sleep Schedule AssignmentMaintaining Schedule Reason: Clock drift Solution: Sent SYNC periodically
Listen interval is divided into two parts SYNC RTS/CTS/DATA/ACK No data transmission during synchronization
Node B listen
Node A listenNode A listen
Node B listen
Collision and Overhearing Avoidance Collision Avoidance
Similar to 802.11 RTS/CTS Virtual carrier sense (NAV) Physical carrier sense
Overhearing Avoidance Problem: A node picks up packets that are
destined to other nodes Solution: Interfering nodes go to sleep when
overhear RTS, CTS or ACK.
Example (To sleep, or not to sleep, this is a question)
A is talking to BD receives CTS from B -> sleep• D’s transmission will collide B’s
C receives RTS from A -> sleep• C cannot receive CTS/DATA from E
All immediate neighbours of transmitting node sleep
How long should they sleep?C and D update their NAVKeeping sleeping until NAV count down to zero
Message Passing
How to transmit long message? One long packet Many small packets with RTS/CTS/DATA/ACK for
each
S-MAC: Divide into fragments, transmit all in burst RTS/CTS reserve medium for the entire sequence Fragment-errors recovery with ACK - no control
packets for fragments
Acknowledgment to Pro. Jun Yang
Why use ACK?
Hidden Terminal Example
CDATA
A B
CACK
A BACK
Why utilize message passing?
Message Passing
Advantages: Energy saving: immediate node go to sleep when sense
transmissions Reduces control overhead by sending multiple ACK
Disadvantage: Node-to-node fairness reduces
However, message-level latency reduces
Experiment Listen time: 300msSleeping time: 1sSYNC: every 13s (10 listen/sleep period)A, B, C use the same schedule
Heavy Traffic Light Traffic
Energy save due to avoiding overhearing by using message passing
Energy save due to periodic sleep 802.11
OA
SMAC
OA: In light traffic status, sources nodes keep listening for quite a long time
Heavy Traffic Light Traffic
SYNC overhead
Overhearing avoidance still benefit
Discussion
What is the tradeoff by using duty cycles? How can we make the schedule more
intelligent?
Acknowledgment to Jun Yang (CS, Duke) and Romit Roy Choudhury