Network Architecture General-purpose Sensor Networks for Omprakash Gnawali

advertisement
Embedded Networks Laboratory
Network Architecture
for
General-purpose Sensor Networks
Omprakash Gnawali
gnawali@usc.edu
http://enl.usc.edu/
CSSE March 17, 2009
Embedded Networks Laboratory
Sensor Network
• Network of small form-factor sensors
• Resource constraints
– CPU (<10 MHz)
– RAM (<10 KB)
– Low power
• Embedded in the physical world
• Wireless communication
2
Embedded Networks Laboratory
Building Vibrations
Forced Vibration Testing
at the Four Seasons Building
in Los Angeles
3
Embedded Networks Laboratory
Bridge Vibrations
4
Embedded Networks Laboratory
Pursuit Evasion
5
Embedded Networks Laboratory
Habitat Imaging
James Reserve, Riverside, CA
6
Embedded Networks Laboratory
Sensor Network Applications
• Examples
– Industrial space
– Environment
– Infrastructure
• Hardware and Software Optimizations
– Components
– Scenarios
7
Embedded Networks Laboratory
Outline
• Sensor Network
• Programming a Sensor Network
• Tenet: A General-purpose Sensor Network
8
Embedded Networks Laboratory
Programming a SensorNet
Programming Abstraction
Services
9
Embedded Networks Laboratory
Programming Abstraction
• Node-level API
– “Node x: execute program y”
– Reasoning and Debugging Challenging
• Program the network
– “Network: Collect light readings”
– No fine-grained control
– Network and Node Services
10
Embedded Networks Laboratory
Collection Routing
• Collect data from the network
– From all the nodes
– To a small number of “sinks”
• Challenges
– Link estimation
– Dynamics
• Tree Routing
– CTP, MultihopLQI
11
Embedded Networks Laboratory
Collection
12
Embedded Networks Laboratory
Reliable Transport
•
•
•
•
Prevent data-loss
End-to-end retransmission
Used with Collection
Challenges
– Limited RAM
– Congestion
13
Embedded Networks Laboratory
Congestion Collapse
• Four Seasons
building deployment
• Some packets took
more than an hour
to recover while
collecting 10
minutes worth of
data
Loss recovery latency
14
Embedded Networks Laboratory
Dissemination
• Delivers data to every node in a network
• Challenges
– Rate
– “Broadcast storm”
• Many uses
– Reconfiguring a network
– Injecting queries and tasks
– Substrate for more complex protocols
15
Embedded Networks Laboratory
Timing
• Timestamps for sensor readings
• Globally synchronized time
• Challenges
– Different clock rates on the nodes
– Wireless
• Approaches
– Hardware: GPS
– Software: FTSP
16
Embedded Networks Laboratory
Sensing and Actuation
• Sensors
– Light, Temperature, Accelerometer
• Actuators
– LED, Relays
• Portable abstraction
17
Embedded Networks Laboratory
Data Processing Services
• Raw data not always needed
• Data filters
– Specify (un)wanted data
• Data processing
– Statistics
– Transforms, Coefficients
18
Embedded Networks Laboratory
General-purpose API
• Provides Services
– Collection routing
– Reliable transport
– Dissemination
– Timing
– Sensing and Actuation
– Data processing
• Allows flexible composition of services
19
Embedded Networks Laboratory
Outline
• Sensor Network
• Programming a Sensor Network
• Tenet: A General-purpose Sensor Network
20
Embedded Networks Laboratory
Tenet
• Masters and Motes
• Tasks and
Responses
• Linear data-flow
programs
repeat(1s)->sense(LIGHT)->send(RELIABLE)
21
Embedded Networks Laboratory
Tenet Services
22
Embedded Networks Laboratory
Tenet Programs
• Linear data flow language
– natural choice for sensor data processing
• Tasklets specify elementary actions
– sense(), set_leds(), avg()
• Tasklets can be composed to form a task
– sense(LIGHT,10 samples)avg(LIGHT)send()
– repeat(10 mins)get(ROUTING_PARENT)send()
• No branches
23
Embedded Networks Laboratory
Executing Tenet Programs
Applications run on masters,
and masters task motes
Motes produce, process data,
and return responses
24
Embedded Networks Laboratory
Tenet Performance
400
min
avg
max
350
msg/min
300
250
200
150
100
50
0
Mote-PEG
Tenet-PEG
Tenet applications perform comparably with
software optimized for a particular application.
25
Embedded Networks Laboratory
Deployments
26
Embedded Networks Laboratory
Conclusion
• Deployments
– Software reuse
– No performance
penalty
• Looking ahead
– General-purpose
radio duty-cycling
27
Download