adca: an asynchronous duty cycle adjustment mac protocol for wireless sensor networks globecom 2008...
TRANSCRIPT
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 DepartmentNational 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 wake modes
The power consumption of the four modes of MICAz mote is 52.5, 59.1, 59.1 and 1.278 mW
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)
Dominant in sensor nets
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.
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
A B C
Hidden terminal: A is hidden from C’s CS
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 B1. A senses medium idle and sends data2. C senses medium idle and sends data3. Collision occurs at B
A B C
Data Data
Collision Avoidance w/ RTS/CTS
A and C want to send to B1. A sends RTS (Request To Send) to B2. B sends CTS (Clear To Send) to A
C “overhears” CTS from B3. C waits for duration of A’s transmission
A B C
1.RTS
2.CTS2.CTS
3.Data
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
Energy efficient MAC protocols
Preamble based scheme
Slot based scheme
Sleep/wake MAC protocols
Preamble-based
Slot-based
Duty cycle synchronization-based
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
sender
receiver
Tcycle
Arrival
Tp
active Preamble DATA ACK
transmit
busy idle
WAITsender
receiver
Tcycle
Arrival
Tp
active Preamble DATA ACK
transmit
busy idle
WAIT
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]
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
Listen Listen ListenSleep Sleep
C A B D
Periodic Listen and Sleep Schedules can differ
• Prefer neighboring nodes have same schedule— easy broadcast & low control overhead
Border nodes: two schedules broadcast twice
Node 1
Node 2
sleeplisten listen sleep
sleeplisten listen sleep
Schedule 2
Schedule 1
S-MAC: Coordinated Sleeping (1)Frame Schedule Maintenance1. Choosing a schedule
• Listen to the medium for at least SP• Nothing heard, choose a schedule• Broadcast a SYNC packet (should contend for medium)
2. Following a schedule• Receives a schedule before choosing/announcing• Follows the schedule• Re-broadcast a SYNC packet
3. 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
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 intervalReceiver
Listen
Sleepfor SYNC for RTS for 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)ListenR ListenON
RTSSender
Receiver CTS
Overhearing nodes (ON)
DATA
ACK
Sleep (based on RTS)
Sleep (based on CTS)
Wakes up even though it is not the correct listen-interval
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
T-MAC: Preliminaries Adaptive duty cycle:
A node is in sleep mode if no activation event occurs for time TA
Active Active Active
Sleep Sleep
TA TATA
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);
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;
A
B
C
D
contend
contend
RTS CTS DATA ACK
RTS?
active sleep
TA
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;
A
B
C
D
contend
contend
RTS CTS DATA ACK
RTS
active
TA
DS
FRTS
active
TA = C+R+T+CTS_length
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
A
B
C
D
contend
contend
RTS
CTS DATA ACK
active
TARTS
contend
S-MAC and T-MAC
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
The schedule of ADCA
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
ADCA
cycle period
Control periodContention period Extended period Sleep period
A2 : next contention period
A1 : extended period
adjustment point
observed active period
ADCA
cycle period
Control periodContention period Extended period Sleep period
A2 : next contention period
A1 : extended period
adjustment point
observed active period
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
dataohdata
bad TNT
TEP
)(
ratedata
sizepacketslotdata TcwT
2
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
)1(rx
b
rx
i
TT
TTCCPCP
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)
Energy consumption (all-to-one)
Energy consumption (n-to-n)
Energy consumption (n-to-n)
0
10
20
30
40
50
60
70
1 10 20 30 40 50 60
traffic (packets/s)
ener
gy con
sum
ptio
n (K
J) TMAC(4)
ADCA(4)
TMAC(6)
ADCA(6)
TMAC(8)
ADCA(8)
Transmission delay (all-to-one)
Transmission delay (n-to-n)
Hop Delay (n-to-n)
0
0.5
1
1.5
2
2.5
3
3.5
1 10 20 30 40 50 60
Traffic (packets/s)
time (s
econ
d)
TMAC(4)
ADCA(4)
TMAC(6)
ADCA(6)
TMAC(8)
ADCA(8)
Goodput (all-to-one)
Goodput (n-to-n)
Goodput (n-to-n)
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
1 10 20 30 40 50 60
Traffic (packets/s)
Goo
dput
TMAC(4)
ADCA(4)
TMAC(6)
ADCA(6)
TMAC(8)
ADCA(8)
Implementation
an indoor wireless sensor network testbed which consists of a number of Octopus II sensor nodes
Each Octopus II sensor node is equipped with a MSP430 microcontroller and a CC2420 radio module, which operates at 2.4 GHz and transmits at 250 Kbps.
Implementation And each node is also attached to a USB
interface that provides both power supply and a backchannel for programming and data collection.
Implementation
15
10 14 16 17
7 8 9 6 13
2 11 12
1 3 4 5
18 19
21
22 23
24
25 26
20
15
10 14 16 17
7 8 9 6 13
2 11 12
1 3 4 5
18 19
21
22 23
24
25 26
20
The average energy consumption for the all-to-one scenario
Average energy consumptions
0
10
20
30
40
50
60
70
80
1 5 10 15 20
Traffic loads (packets/cycle)
Ene
rgy
cons
umpt
ion
(KJ)
ADCA
ADCA(sim)
TMAC
TMAC(sim)
The average energy consumption for the end-to-end scenario
Average energy consumptions
0
10
20
30
40
50
60
70
80
1 5 10 15 20
Traffic loads (packets/cycle)
Ene
rgy
cons
umpt
ion
(KJ)
ADCA
ADCA(sim)
TMAC
TMAC(sim)
The average transmission delay for the all-to-one scenario
Average delay
00.30.60.91.21.51.82.12.42.7
33.3
1 5 10 15 20
Traffic loads (packets/cycle)
Del
ay tim
e (s
)
ADCA
ADCA(sim)
TMAC
TMAC(sim)
The average transmission delay for the end-to-end scenario
Average delay
0
0.3
0.6
0.9
1.2
1.5
1.8
1 5 10 15 20
Traffic loads (packets/cycle)
Del
ay tim
e (s
)
ADCA
ADCA(sim)
TMAC
TMAC(sim)
The average packet transmission success rate for the all-to-one scenario
Success rate
0.6
0.7
0.8
0.9
1
1 5 10 15 20
Traffic loads (packets/cycle)
Succ
ess
rate
(%
)
ADCA
ADCA(sim)
TMAC
TMAC(sim)
The average packet transmission success rate for the end-to-end scenario
Success rate
0.7
0.8
0.9
1
1 5 10 15 20
Traffic loads (packets/cycle)
Succ
ess
rate
(%
)
ADCA
ADCA(sim)
TMAC
TMAC(sim)
Conclusion Asynchronous Duty Cycle Adjustment
MAC protocol Two adjustments are presented to
compensate for bad situation and to adapt to the current traffic
The asynchronous scheme separates the competitors into different transmission period which reduce the affection of collision and overhearing
Improve utilization, lower energy consumption, lower transmission delay and increase success rate