Title: A Sensor Network Architecture SNA
1A Sensor Network Architecture (SNA)
- Prabal Datta David Culler
- Cheng Tien Ee Scott Shenker
- Rodrigo Fonseca Ion Stoica
- Joseph Polastre Jonathan Hui Philip
Levis Jerry Zhao - Gillman Tolle
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??
3Network Model
- Dense patches of sensing nodes
- Many resource constrained
- Non-homogeneous
- Modalities, roles, HW, SW
- Power, BW
- Transit tier
- Often specialized wireless
- Provides gateways
- Internet Tier
- Multiple connections to infra
- Deep storage, proc. Viz
- SNA should not require unconstrained nodes
- Should utilize unconstrained nodes to reduce
burden on constrained ones - Mobility within physically embedded context
Patch Network
Sensor Node
Sensor Patch
Gateway
Transit Network
Basestation
Client Data Browsing and Processing
Base-Remote Link
Data Service
4What is an Architecture?
- Architecture is how to organize implementations
- What interfaces are supported
- Where functionality is implemented
- Architecture is the modular design of the network
- Architecture is not the implementation itself
5Why not IP?
- One or very few applications running on a
sensornet vs huge number running in the Internet - Large variety of traffic patterns (most not
point-to-point) - Any-to-any, many-to-one, many-to-few, one-to-many
- Inneficient to impl. these patterns over
point-to-point - IP does not address (well)
- Resource and energy constraints
- Unattended operation
- Intermittent connectivity
- Space embeded nodes
- ...
6A Sensor Network Architecture (SNA)
- Narrow waist Sensornets Protocol (SP)
- Goals generality and efficiency
- Position between data-link and network layers
- Service best-effort, single hop
- Common to both single- vs multiple-hop deployments
7This talk
- SP layer
- Network layer (work in progress)
8SP Service
- Data reception and transmission
- Message futures
- Manage Neighbor Table
- Support different network protocols
Network Protocol 1
Network Service Manager
Network Protocol 2
Network Protocol 3
Neighbors
Send
Receive
SP
SP Adaptor A
SP Adaptor B
Link Estimator
Link Estimator
Data Link A
Data Link B
PHY A
PHY B
9SP 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
10What SP Isnt
- 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
11Benchmarks
- 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
12Results mica2 Throughput
13Results mica2 Throughput
14Results mica2 Throughput
15Results mica2 Throughput
16Results mica2 Throughput
17ResultsSingle Hop Benchmarks (802.15.4)
18Network Layer (work in progress)
- Typical network layer functionality (in
Sensornets) - Create and maintain the routing structure (e.g.
tree) - Forwards packets towards a destination
- Retransmits packets to different neighbors if
previous attempts failed - Send multiple copies of a packet to different
neighbors - Challenge handle multiple network protocols,
e.g., - Trickle software updates
- IP management
- MintRoute data collection
19Functionality Division
- Divide network layer into two
- Routing Control (FC)
- Forwarding Engine (FE)
- Routing Control (RC)
- Create/maintain routing structure (e.g. tree
topology, routing tables) - Forwarding Engine (FE)
- Decides whether to forward incoming packets,
where to send them, and when - Updates packet header fields, e.g. decrement TTL
20FE/RC Interface
FE
RC
- Two basic functions
- Get a list of next hops
- Get cost of path to destination for given
neighbour/myself (optional)
Interface BasicRouting neighbor_list
nextHops(RoutingHeader)
Interface CostBasedRouting cost_t
getCost(RoutingHeader, neighbor)
21Example MintRoute
- Tree based routing, classic forwarding
nextHops(RH)
neighbor_list
data packet flow
Tree maintenance traffic
control signals
22Example Geographic Routing
- Greedy geographic routing, classic forwarding
Classic FE
Forward nextHops(RH) SPSend(first_in_list)
nextHops(RH)
neighbor_list
data packet flow
Coordinates exchange with neighbors
control signals
23Example Opport. Tree Routing
- Tree based routing, opportunistic forwarding
(receiver-oriented forwarding)
Tree RC
- Routing Tree maintains
- Cost to root
- Neighbor's costs
- Parent
getCost(RH, me)
cost
data packet flow
Tree maintenance traffic
control signals
24FE/RC Combinations
25Resources
- SP described in our SenSys paper
- A Unifying Link Abstraction for Wireless Sensor
Networks - For the latest updates on SNA check
- http//today.cs.berkeley.edu/SNA/
- http//www.tinyos.net/
- http//sourceforge.net/projects/tinyos/
- Please send us any comments you might have
- We will be happy to collaborate!
26Conclusion
- SNA provide context for sharing our community
work and accelerate the development and
deployment of sensornet applications - Effective link abstraction, SP, allows network
protocols to run efficiently on varying power
management schemes - Network layer, allows for customized routing
protocols by decoupling forwarding and routing
functionalities