The Announcement Layer: Beacon Coordination for the Sensornet Stack

31
The Announcement Layer: Beacon Coordination for the Sensornet Stack Adam Dunkels, Luca Mottola, Nicolas Tsiftes, Fredrik Österlind, Joakim Eriksson, Niclas Finne [email protected] Swedish Institute of Computer Science (SICS)

description

The Announcement Layer: Beacon Coordination for the Sensornet Stack. Adam Dunkels , Luca Mottola, Nicolas Tsiftes , Fredrik Österlind , Joakim Eriksson, Niclas Finne [email protected] Swedish Institute of Computer Science (SICS). The Message. Data Collection. Data Dissemination. - PowerPoint PPT Presentation

Transcript of The Announcement Layer: Beacon Coordination for the Sensornet Stack

Page 1: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

The Announcement Layer: Beacon Coordination for the Sensornet StackAdam Dunkels, Luca Mottola, Nicolas Tsiftes,Fredrik Österlind, Joakim Eriksson, Niclas Finne

[email protected] Institute of Computer Science (SICS)

Page 2: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

The MessageBroadcast is expensiveControl traffic expensive

◦Trend: protocol concurrencyAn announcement layer

◦Beacon coordination◦Push and pull operations

Reduced control traffic cost for concurrent protocols◦Reduced power consumption

Data Collection

Data Disseminati

onNeighbor Discovery

Medium Access ControlRadio Duty Cycling

Radio

Announcements

Page 3: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Why should we care?Radio duty cycle (%)

0

0.5

1

1.5

2

Control traffic: Beacons Data

Data collection

Data dissemination

Data collection

Data collection

Data collection

Page 4: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

BROADCAST

Page 5: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Wireless Broadcast

Page 6: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Duty Cycling, Asynchronous

SleepingActive

Page 7: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Broadcast gets expensive – Asynchronous Duty Cycling

SleepingActive

Page 8: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Broadcast is still expensive – Synchronous Broadcast Slot

SleepingActive

Page 9: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Just how expensive is broadcast?Radio duty cycle (%)

Transmissions per second1 2 3 4 5 6 7 8

0

10

20

30

40

UnicastBroadcast

Page 10: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

WHY BROADCAST?

Page 11: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Why Broadcasts?Control traffic in network, transport,

application layer protocols◦Periodic beacons

Discovery beacons Presence beacons Routing beacons Meta data beacons

DataLow-level protocols

◦Time synchronization, duty cycling, …

Page 12: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Control Traffic: Periodic Beacons, Push & PullPeriodic beacons

◦Randomized to avoid synchronizationPush and pull

◦Pull – request data from neighbors CTP, Contiki collect: loop detected Trickle: boot up

◦Push – transmit data to neighbors CTP, RPL, Contiki collect: improved route

found Trickle: new version

Page 13: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Reducing broadcastsAdaptive beaconing

◦CTP [Gnawali et al. SenSys 2009]Beacon suppression

◦Trickle [Levis et al. NSDI 2004]◦RPL [IETF ROLL 2011]

Rethinking broadcast◦Politecast [Lundén, Dunkels ACM

CCR 2011]

Page 14: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

AN ANNOUNCEMENT LAYER

Page 15: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Data Collection Data Dissemination

Neighbor Discovery

Medium Access Control

Radio Duty Cycling

Radio

Page 16: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Data Collection Data Dissemination

Neighbor Discovery

Medium Access Control

Radio Duty Cycling

Radio

Announcements

Page 17: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Announcement LayerBeacon Coordination

◦Piggyback multiple beacons in each transmission

◦One transmission within each beacon interval

Push and pull operations

Page 18: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Announcement Layer APIAn announcement is a (key,

value, rate) tupleAPI

◦register(key)◦setValue(key, value)◦setMinRate(key, rate)◦push(key)◦pull(key)

Page 19: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Beacon CoordinationTime

App 1

App 2

NoCoordination

WithCoordination

Page 20: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Push and PullPush

◦Transmit registered beacons

Pull◦Ask for registered

beacons from neighbors

Push and pull needs only be done once, for all announcements

Page 21: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

EVALUATION

Page 22: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Microbenchmark: Beacon Transmissions

Transmissions / second

Registered announcements1 2 3 4 5 6 7 8

0

2

4

6

8

10

Without coordinationWith coordination

Page 23: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Microbenchmark: Power Consumption

Radio duty cycle (%)

Registered announcements1 2 3 4 5 6 7 8

0

2

4

6

8

10

Without coordinationWith coordination

Not horizontal

Page 24: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Contiki shell: collect + trickle

Beacons Data

Duty cycle (%) No coordinationWith coordination

0.5

1

1.5

The difference is (almost) equal to the cost of trickle

Page 25: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

DRAWBACKS?

Page 26: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Potential drawbacksCode size overhead?

◦Less code needed for each protocol implementation

Are protocols affected?What about unbalanced

announcements?

Page 27: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Are Protocols Affected?What if a protocol expects a beacon,

but the beacon is cancelled?◦Beacon is cancelled because already

transmitted◦No visible effect for the protocol

Protocol concurrency affects protocols though

Announcements for periodic, randomized beacons◦Otherwise, use direct broadcast

Page 28: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Unbalanced BeaconsTwo beacons:

◦One small and fast◦One large and slow

Always piggybacking will increase power consumption

This is a real problem◦But only in our current implementation

Having a beacon layer allows us to solve it◦Improved beacon coordination algorithm◦Hysteresis for when to piggyback

Page 29: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

CONCLUSIONS

Page 30: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

ConclusionsControl traffic is expensive,

concurrent protocols make it worse◦Because broadcast is expensive

Announcement layer◦Beacon coordination◦Push and pull

To be included in Contiki 2.5+Beacon coordination reduces the

power consumption of concurrent control traffic

Page 31: The Announcement Layer:  Beacon Coordination for the Sensornet Stack

Thank you!Questions?