KAIS T Medium Access Control with Coordinated Adaptive Sleeping for Wireless Sensor Network Wei Ye, John Heidemann, Deborah Estrin 2003 IEEE/ACM TRANSACTIONS ON NETWORKING Hong Nan-Kyoung Network & Security LAB at KAIST
2/22 S-MAC Contents Introduction MAC attributes Sensor-MAC (S-MAC) overview S-MAC major components Periodic listen and sleep Collision avoidance Coordinated Sleeping Overhearing avoidance Massage passing Implementation Experiments Conclusion
3/22 S-MAC Introduction Where is the medium access control (MAC) A sublayer of the Link layer Directly controls the radio Only cares about its neighborhood The role of MAC Controls when and how each node can transmit Why do we need MAC? Shared medium Same frequency band interfere with each other – collisions Application layer Transport layer Network layer Link/MAC layer Physical layer
4/22 S-MAC MAC attributes Characteristics of wireless sensor network (WSN) Battery powered Large number of nodes Sensor-triggered bursty traffic Topology and density change In-network data processing Nodes for a common task WSN can often tolerate some delay Primary attributes Energe-efficiency, scalability, adaptability Secondary attributes Latency, fairness, throughput
5/22 S-MAC S-MAC overview Goal Reducing energe consumption in WSN Major sources of energy waste Collision Overhearing Control packet overhead Long idle listening Tradeoffs Latency & Fairness Energy
6/22 S-MAC S-MAC major components Collision avoidance Coordinated Sleeping Periodic listen and sleep Schedule Synchronization Adaptive Listening Overhearing avoidance Massage passing
7/22 S-MAC Collision avoidance S-MAC is based on contention Collision-Avoidance Strategy ~= ad hoc mode RTS/CTS for hidden terminal problem Physical carrier sense Virtual carrier sense: network allocation vector (NAV) Randomized backoff time RTS Sender Receiver CTS Other Sensors DATA ACK NAV (based on RTS) NAV (based on CTS) Contend for medium access defer access
8/22 S-MAC Coordinated Sleeping Problem: Idle listening consumes significant energy Solution: Periodic listen and sleep Turn off radio when sleeping Reduce duty cycle to ~ 10% Latency Energy duty cycle = listen interval / frame length sleep listen sleep Frame Sleep for SYNCfor RTSfor CTS Receiver Sender Tx SYNC CS Tx RTSGot CTS Send data
9/22 S-MAC Coordinated Sleeping Schedules can differ Prefer neighboring nodes have same schedule Easy broadcast & low control overhead Node 1 Node 2 sleep listen sleep listen sleep Border nodes : two schedules or broadcast twice Schedule 2 Schedule 1
10/22 S-MAC Coordinated Sleeping Schedule Synchronization New node tries to follow an existing schedule Remember neighbors’ schedules To know when to send to them Broadcasts its schedule using SYNC pkt Re-sync when receiving a schedule update Periodic neighbor discovery Keep awake in a full sync interval Syncronization period (SP) SP ListenSleep Frame
11/22 S-MAC Coordinated Sleeping Adaptive listening Reduce multi-hop latency due to periodic sleep Wake up for a short period of time at end of each transmission Reduce latency by at least half CTS RTS CTS listen t1 t2
12/22 S-MAC Latency Analysis N hop total delay Dn = D1 + D D10 Delay = Carrier sense (t cs ) + Transmission (t tx ) + Sleep (t s ) MAC without sleeping E[D(n)] = N(t cs + t tx ) S-MAC without adaptive listening E[D(n)] = NT f – T f /2 + t cs + t tx S-MAC with adaptive listening E[D(n)] = NT f /2 –T f /2 + 2t cs + 2t tx
13/22 S-MAC Overhearing avoidance Problem: Receive packets destined to others Solution: Sleep when neighbors talk Use in-channel signaling Who should sleep? All immediate neighbors of sender and receiver How long to sleep? The duration field in each packet informs other nodes the sleep interval Use NAV to schedule the sleep timer ECABDF ECABDFECABDFECABDF
14/22 S-MAC Massage passing Problem: Sensor net in-network processing requires entire message Solution: Don’t interleave different messages Sending a long message? Fragmented & sent in burst RTS/CTS/ACK – duration fields Fragment-level error recovery — ACK Extend Tx time and re-transmit immediately Other nodes sleep for whole message time RTS Sender Receiver CTS Other Sensors FRAG1 ACK NAV (based on RTS) NAV (based on CTS) defer access FRAG-N ACK
15/22 S-MAC Massage passing Difference between & S-MAC Medium is reserved upfront for the whole transmission in S-MAC Fairness Energy & Msg-level latency
16/22 S-MAC Implementation on Testbed Nodes Platform Mica Motes (UC Berkeley) TinyOS: event-driven Configurable S-MAC options Low duty cycle with adaptive listen Low duty cycle without adaptive listen Fully active mode (no periodic sleeping) Layered model on Motes MAC layer: S-MAC Physical layer Radio state control, Carrier sense
17/22 S-MAC Experimentation Two-hop network at different traffic load Avoiding overhearing Effeciently transmitting long messages Periodic sleeping Source 1 Source 2 Sink 1 Sink 2 <Mean energy consumption on radios in each source node>
18/22 S-MAC Experimentation Ten-hop linear network at different traffic load <Aggregate energy consumption on radios in the entire ten-hop network using three S-MAC modes> Message inter-arrival period (S) Energy consumption (J) 10% duty cycle without adaptive listen No sleep cycles 10% duty cycle with adaptive listen Energy consumption at different traffic load
19/22 S-MAC Experimentation Adaptive listen significantly reduces latency causes by periodic sleeping Number of hops 10% duty cycle without adaptive listen 10% duty cycle with adaptive listen No sleep cycles Number of hops Average message latency (S) 10% duty cycle without adaptive listen 10% duty cycle with adaptive listen No sleep cycles Average message latency (S)
20/22 S-MAC Experimentation Adaptive listen significantly increases throughput Using less time to pass the same amount of data Number of hops Effective data throughput (Byte/S) No sleep cycles 10% duty cycle with adaptive listen 10% duty cycle without adaptive listen
21/22 S-MAC Experimentation Periodic sleeping provides excellent performance at light traffic load With adaptive listening, S-MAC achieves about the same performance as no- sleep mode at heavy load Message inter-arrival period (S) Energy-time product per byte (J*S/byte) No sleep cycles 10% duty cycle without adaptive listen 10% duty cycle with adaptive listen
22/22 S-MAC Conclusion S-MAC Medium access control protocol for wireless sensor networks Main goal :Energy efficiency Components Periodic sleeping Low-duty-cycle operation + Overhearing avoidance + Message passing Periodic sleeping increase latency and reduces throughput + Adaptive listening
23/22 S-MAC