adca: an asynchronous duty cycle adjustment mac protocol for wireless sensor networks

63
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

Upload: art

Post on 05-Jan-2016

38 views

Category:

Documents


4 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 2: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

Outline

Introduction Related work ADCA MAC protocol Experiments and simulation results Conclusions

Page 3: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

Introduction

A wireless sensor network (WSN) 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

Page 4: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 5: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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 WSNs

Page 6: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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.

Page 7: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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 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.

Page 8: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 9: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 10: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 11: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 12: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

Virtual Carrier Sense

Timing relationship

Page 13: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 14: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

Related work

Energy efficient MAC protocols

Preamble based scheme

Slot based scheme

Sleep/wake MAC protocols

Preamble-based

Slot-based

Duty cycle synchronization-based

Page 15: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 16: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

B-MAC

Drawbacks Overhearing Bad performance at heavy traffic case Long transmission latency

Page 17: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 18: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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.

Page 19: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

S-MAC or Sensor-MAC

Medium Access Control with Coordinated, Adaptive Sleeping for Wireless Sensor Networks

[YHE03]

Page 20: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 21: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 22: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 23: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 24: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 25: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 26: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

S-MAC Summary

Latency and throughput are problems, but adaptive listening improves it significantly

Energy saving is significant compared to “non-sleeping” protocols

Page 27: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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)

Page 28: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

T-MAC or Timeout-MAC

An Adaptive Energy-Efficient MAC Protocol for Wireless Sensor Networks

[vL03]

Page 29: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 30: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 31: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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);

Page 32: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 33: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 34: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 35: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

S-MAC and T-MAC

Page 36: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 37: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 38: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 39: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

The schedule of ADCA

Page 40: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 41: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 42: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

The radio status

Bad situation Success reception but destining to other nodes Failed reception Channel unstable

Page 43: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 44: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

The length of the extended period

Tbad = time of collision + channel unstable

dataohdata

bad TNT

TEP

)(

ratedata

sizepacketslotdata TcwT

2

Page 45: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 46: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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)

Page 47: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

Energy consumption (all-to-one)

Page 48: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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)

Page 49: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

Transmission delay (all-to-one)

Page 50: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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)

Page 51: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

Goodput (all-to-one)

Page 52: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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)

Page 53: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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.

Page 54: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

Implementation And each node is also attached to a USB

interface that provides both power supply and a backchannel for programming and data collection.

Page 55: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

Implementation

Page 56: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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

Page 57: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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)

Page 58: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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)

Page 59: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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)

Page 60: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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)

Page 61: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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)

Page 62: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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)

Page 63: ADCA: An Asynchronous Duty Cycle Adjustment MAC Protocol for Wireless Sensor Networks

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