Title: A Unifying Abstraction for Wireless Sensor Networks
1A Unifying Abstractionfor Wireless Sensor
Networks
- Joseph Polastre David CullerJonathan Hui
Scott ShenkerPhilip Levis Ion StoicaJerry
Zhao
2Sensor Network Protocols Today
Obligatory David Culler Slide
Appln
EnviroTrack
Hood
TinyDB
Regions
FTSP
Diffusion
SPIN
Transport
TTDD
Trickle
Deluge
Drip
MMRP
Arrive
Routing
TORA
Ascent
MintRoute
CGSR
AODV
GPSR
ARA
DSR
GSR
GRAD
DBF
DSDV
TBRPF
Scheduling
Resynch
SPAN
FPS
GAF
ReORg
Topology
PC
Yao
SMAC
WooMac
PAMAS
BMAC
TMAC
WiseMAC
Link
Pico
802.15.4
Bluetooth
Phy
eyes
RadioMetrix
CC1000
nordic
RFM
What if I want to use any two protocols together??
3Types of solutions
- MintRoute
- Network protocol includes link functionality
- Link Estimation
- S-MAC
- Link protocol includes network functionality
- Neighborhood maintainance
4Types of solutions
- UNPF Unified Network Protocol Framework
- Requires all combinations of link/network
protocols to be combined - Each application or protocol combination requires
new UNPF implementation
5SP Proposal
- Provide a unified interface to link protocols
- Key goals
- Network protocols above operate efficiently
- Work equally well with both single-hop and
multi-hop protocols - Co-existence of multiple link/network protocols
- Network Protocol evolution independent of
underlying link technology - as IP provides for transport protocols
- Separation of concerns
- Network protocols perform network functionality
- Link protocols perform single hop link
functionality
6Properties of SP
- SP provides mechanisms for network protocols to
operation - Network protocols may introduce policy
- Three key elements of SP
- Data Reception
- Data Transmission
- Neighbor Management
7Message Reception
Receive
SP
- Message arrives from link
- SP dispatches
- Network protocols establish
- naming/addressing
- filtering
8Message Transmission
Send
Receive
SP
- Messages placed in shared message pool
- All entries are a promise to send a packet in
the future - Messages include
- Pointer to first packet and of packets
- Message Futures Similar to Lazy Task Creation
- Control information reliability and urgency
- Feedback information congestion and phase
9Neighbor Management
Neighbors
Send
Receive
SP
- SP provides a shared neighbor table
- Cooperatively managed
- SP mediates interaction using table
- No policy on admission/eviction by SP
- Scheduling information
10SP Architecture
11Neighbor Table
Message Pool
sp_message_t
Network
Link
Required
Neighbor
1
destinationmessage quantity urgent reliability p
hase congestion
address_t 1st TOSMsg to send of pkts to send on
or off on or off D adjustment true or false
2
control
addresstime on time off listen quality
address_t local time node wakes local time node
sleeps true or false estimated link quality
feedback
SP
12Collaborative Interface
- Control
- Reliability Best effort to transmit the msg
- Urgency Priority mechanism
- Feedback
- Congestion Was the channel busy?
- Should I slow down?
- Phase Was there a better time to send?
- Decouple appl sampling from communication
13SP Message Futures
Network Protocol
packets
SP Message
- Submit an SP Message for Transmission
- Message added to message pool
- SP requests the link transmit the 1st packet
- Link tells SP the transmission completed
- SP asks protocol for next packet
- Protocol updates packet entry in message pool
1st packet
(1)
Next PacketHandler
(5)
(6)
Send
(2)
Message Dispatch
msg
SP
transmit
completed
inspect
(3)
(4)
Link Protocol
14TinyOS Implementation of SP
- Neighbor table
- Iterator (max, get, etc)
- Commands
- Insert, Remove
- Adjust
- Find Neighbors
- Events
- Admit
- Evicted
- Expired
- Message Pool
- SP message pointers stored
- nextPacket() event
- Control and feedback stored in message structure
15Link Protocols
- Slotted
- Communication is synchronized
- Data transfers occur in slots
- S-MAC, T-MAC, TRAMA, 802.15.4, etc
- Sampled
- Communication is unsynchronized
- Data transfer wakes up receiver
- B-MAC, Aloha with Preamble Sampling, Mica1 LPL,
CC2500, Reactive Radio, PAMAS
16Slotted Protocols 15.4 Beacons
- 15.4 Protocol
- Each node beacons on its own schedule
- Other nodes scan for 15.4 beacons, synchronize
- SP
- Neighbor information inserted by 15.4
- Instructs 15.4 to wake during other beacon
periods
CSMA Contention Period
Beacon
Beacon
Data
Data
Ack
sleep
Superframe Duration
Beacon Frame Duration
17Sampling Protocols BMAC LPL
wakeup
- Periodically samples the channel for activity
- Messages are sent at wakeup time
- Receivers can synchronize to senders
- Subsequent messages piggybacked on long messages
TX preamble
sleep
sleep
sleep
packet
Node 1
time
RX
sleep
sleep
sleep
Node 2
packet
time
18Sampling Protocols BMAC LPL
- What does SP do?
- Controls the length of the preamble
- Controls backoffs based on message type
- Counts backoffs for congestion feedback
- Controls clear channel assessment
- B-MAC
- Returns schedule information about wakeups
- Provides phase feedback hints
19Network Protocols
- Collection Routing (MintRoute)
- Dissemination (Trickle)
- Aggregation (Synopsis Diffusion)
20MintRoute
Send
Receive
Intercept
forwarding queue
SP Message
SendRoute Beacons
UpdateNeighbor ETX
ChooseParent
MintRoute
1st packet
MultiHop Engine
MultiHop Neighbors
Next PacketHandler
Send
Receive
Send
Receive
Neighbors
SP
Message Dispatch
Neighbor Functions
Link Estimator
Link Protocol
21Trickle
- Suppression mechanism assumes message broadcasts
are immediate and atomic - Cancel command in SPSend is required due to
- Transmission delays from SP, collision avoidance,
TDMA slots - Slotted protocols require broadcast emulation.
(1)
(5)
(2)
(4)
(3)
22Synopsis Diffusion
- Sends synopses towards a collection point
- Needs a gradient to know which way to aggregate
Synopsis Diffusion
Simple Implementation
Gradient Manager
Node Address
Send
Receive
Neighbors
SP
Message Dispatch
Neighbor Functions
Link Estimator
Link Protocol
23Synopsis Diffusion
- Requires a gradient to the collection point
Collaborative Implementation
Synopsis Diffusion
MintRoute Maintaining Hop Count
Gradient Manager
Send
Receive
Neighbors
SP
Message Dispatch
Neighbor Functions
Link Estimator
Link Protocol
24Benchmarks
- Minimal performance reduction in single hop
- Compare to B-MAC paper
- Compare to IEEE 802.15.4
- Simpler multihop/network protocol code
- Power consumption
- Network protocol co-existence
25Results mica2 Throughput
26Results mica2 Throughput
27Results mica2 Throughput
28Results mica2 Throughput
29Results mica2 Throughput
30ResultsSingle Hop Benchmarks (802.15.4)
31ResultsMintRoute
- Code Size
- mica2 28 smaller
- Telos 23 smaller
- Comparable if SP code size included
32Results Trickle
33Results Combining Network Protocols (mica2)
- Neither MR nor SD know about each other
- SPs message pool allows batching and power
savings - Overall power savings of 35extends node
lifetime by over 54
34Subtle Points
- SP does not dictate any header fields
- Messages are opaque to SP
- Instead, rely on abstract data types
- Can query for address, length, etc
- No explicit security mechanism
- Message content opaque to SP
- Link, Network, and App security can be built
transparently to SP
35Open Issues
- Naming
- SP takes no position on naming
- Network protocols need mechanism
- Establish mapping between names
- Multicast
- Providing group addressing can simply link and
network protocols similar to neighbor table
36Open Issues
- Time Synchronization
- Pass post-arbitration time stamping
- Data correlation
- Protocol synchronization
37Conclusion
- Effective link abstraction, SP, allows network
protocols to run efficiently on varying power
management schemes - Low Power Listening
- Slotting
- Multiple network protocols benefit from
coexistence