670 likes | 957 Views
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
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 • 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
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 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)
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 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)