Title: Toward the Sensor Network Macroscope
1Toward the Sensor Network Macroscope
- David Culler
- UCB
- With Gil Tolle, Robert Szewczyk,
- Todd Dawson, Kevin Tu and team, (UCB IB)
- Wei Hong, David Gay, and Phil Buonadonna (intel)
- Mobihoc 2005
2Enabling Technology for Science
the complex
- macroscope
- P. Anthony 1969
- J. de Rosnay, 1979
Perceive
the imperceptible
the atomic
the small
the far
3The (A) Promise of Sensor Networks
- Dense monitoring and analysis of complex
phenomena over large regions of space for long
periods - Many, small, inexpensive sensing devices
- Frequent sampling over long durations
- Non-perturbing
- Close to the physical phenomena of interest
- Compute, communicate, and coordinate
- Many sensory modes and vantage points
- Observe complex interactions
4Diverse Applications
- Monitoring Spaces
- Env. Monitoring, Conservation biology, ...
- Precision agriculture,
- built environment comfort efficiency ...
- alarms, security, surveillance, treaty
verification ... - Monitoring Things
- condition-based maintenance
- disaster management
- Civil infrastructure
- Interactions of Space and Things
5Case Study Redwood Ecophysiology
- 70 of H2O cycle is through trees, not ground
- Complex interactions of tree growth and
environment - Effected by and effect the microclimate
- Need to understand dynamic processes within the
trees
6State of the Art
- Solid understanding of leaf physiology
- Good models, good empirical data, good fit
- Extension to the entire tree canopy is open
problem - Various models focused on particular aspects
- Nutrient transport, transpiration,
- Extremely limited empirical basis
- Data Dirth
- Satellite observations wide coverage, low
resolution, canopy surface - Spot weather stations single point in space
- Instrument elevator haul data logger along
vertical transect - Wide range of sensors climate, sap-flow, dew,
- Goal dense monitoring throughout canopy of
sampling of trees throughout forest
7The alternative
8What was Todd looking for?
10m
20m
34m
30m
36m
2003, unpublished
9The Systems Challenge
- Monitoring Managing Spaces and Things
applications
Store
Comm.
uRobots actuate
MEMS sensing
Proc
Power
technology
Miniature, low-power connections to the physical
world
10Study Format
- Site Sonoma Coast Grove of the big Trees
- Near Occidental, CA
- Adjacent to winery
- Interior and Exterior Trees
- 40-50 nodes per tree
- Range of elevations
- Multiple nodes per level, center and periphery
- 25 day duration
- 5 min sample interval
- - all sensors, battery, parent
- Ground level weather station, fog sensors
- Sap Flow sensors
- Internal indicator of level of photosynthetic
activity
11Instrument Positions
12May 15
13 Groundbreaking Science
Unpublished in preparation
14The Systems Challenge
- Monitoring Managing Spaces and Things
applications
Store
Comm.
uRobots actuate
MEMS sensing
Proc
Power
technology
Miniature, low-power connections to the physical
world
15How does a bunch of wireless devices become a
(programmable) network?
- Localized algorithms Distributed computation
where each node performs local operations and
communicates within some neighborhood to
accomplish a desired global behavior - D. Estrin, 21st Century Challenges
16Macroscopic Programming
- Ideally, scientist would specify the desired
global behavior - Compilers would translate this into local
operations
17Sensor Databases a start
- Relational databases rich queries described by
declarative queries over tables of data - select, join, count, sum, ...
- user dictates what should be computed
- query optimizer determines how
- assumes data presented in complete, tabular form
- First step database operations over streams of
data - incremental query processing
- Big step process the query in the sensor net
- query processing content-based routing?
- energy savings, bandwidth, reliability
SELECT AVG(light) GROUP BY roomNo
18TinyDB
Sam Madden, Joe Hellerstein, Wei Hong, Michael
Franklin
19Canonical Architecture
20TinyOS Appln Sensor Kit - TASK
TASK Client Tools
External Tools
JDBC/ODBC
Internet
JDBC
Basestation
TASK Server
TASK Field Tools
Sensor Network
21TASK Mote Components
Tiny DB
Diagnostics
Tiny Schema Attributes and Commands
Multi-hop routing
Service Scheduler
Watchdog
EEPROM FS
Time Sync.
Abs. Timer
Power Mgmt
TinyOS Core
22Node Design
- Monitoring Managing Spaces and Things
applications
service
data mgmt
network
system
architecture
Store
Comm.
uRobots actuate
MEMS sensing
Proc
Power
technology
Miniature, low-power connections to the physical
world
23Mote Platform Evolution
24Node design lessons
- Components of a sensor net node
- Processor / Radio / Storage / Interface
- Sensor suite
- Power subsystem
- Mechanical design
- Which are specific to the application?
- Let the expert pick the sensors
- Previous experience
- Reference design
- Lab tools for calibration
- Trust
25Wireless Micro-weather Mote
26Wireless Micro-weather Mote
- Incident Light Sensors
- TAOS total solar
- Hamamatsu PAR
- Mica2 dot mote
- Power board
- Power supply
- SAFT LiS02 battery, 1 Ah _at_ 2.8V
- Weatherproof Packaging
- HDPE tube with coated sensor boards on both ends
of the tube - O-ring seal for two water flows
- Additional PVC skirt to provide extra shade and
protection against the rain - Radiant Light Sensors
- PAR and Total Solar
- Environmental Sensors
- Sensirion humidity temp
- Intersema Pressure temp
mote
Deep Collaboration with Intel
27System
- Monitoring Managing Spaces and Things
applications
service
data mgmt
network
system
architecture
Store
Comm.
uRobots actuate
MEMS sensing
Proc
Power
technology
Miniature, low-power connections to the physical
world
28Embedded Network System
- TinyOS 1.1.x
- Rich, stable event-driven OS for embedded
networking - Component-based design methodology for robustness
- Wireless stack, uart, sensor stack, storage,
timer - BMAC expressive, power-aware sub-MAC with
low-power listening - MINT route adaptive N-1 multihop min-cost
routing with link-by-link retransmission - TinyDB
- Stream SQL-like in-network query processing
- Periodic sampling with local filters stream data
to root - Epoch-based power mamangement
- Tiny Application Sensor Kit
- Stream to archival table, metadata table, query
GUI - Postgress on stargate linux gateway
- Push the technology to meet the science vision
- Backfill in case reality falls short (logged all
the physical samples)
29Traditional Systems
- Well established layers of abstractions
- Strict boundaries
- Ample resources
- Independent Applications at endpoints communicate
pt-pt through routers - Well attended
Application
Application
User
System
Network Stack
Transport
Threads
Network
Address Space
Data Link
Files
Physical Layer
Drivers
Routers
30by comparison ...
- Highly Constrained resources
- processing, storage, bandwidth, power
- Applications spread over many small nodes
- self-organizing Collectives
- highly integrated with changing environment and
network - communication is fundamental
- Concurrency intensive in bursts
- streams of sensor data and network traffic
- Robust
- inaccessible, critical operation
- Unclear where the boundaries belong
- even HW/SW will move
- gt Provide a framework for
- Resource-constrained concurrency
- Defining boundaries
- Appln-specific processing and power management
- allow abstractions to emerge
31TinyOS
- Small, robust, communication centric design
- Resource-constrained concurrency
- Component abstractions
- World-wide adoption
- 65,000 downloads in past year
- Corporate and academic
- Dozen of platforms
- de facto sensor net standard
32Tiny OS Concepts
- Scheduler Graph of Components
- constrained two-level scheduling model threads
events - Component
- Commands,
- Event Handlers
- Frame (storage)
- Tasks (concurrency)
- Constrained Storage Model
- frame per component, shared stack, no heap
- Very lean multithreading
- Efficient Layering
- structured event-driven execution
- Never wait or spin
Events
Commands
send_msg(addr, type, data)
power(mode)
init
Messaging Component
Internal State
internal thread
TX_packet(buf)
Power(mode)
TX_packet_done (success)
init
RX_packet_done (buffer)
33Networking
- Monitoring Managing Spaces and Things
applications
Store
Comm.
uRobots actuate
MEMS sensing
Proc
Power
technology
Miniature, low-power connections to the physical
world
34Vast Networks of Tiny Devices
- Past 25 years of internet technology built up
around powerful dedicated devices that are
carefully configured and very stable - local high-power wireless subnets at the edges
- 1-1 communication between named computers
- Here, ...
- every little node is potentially a router
- work together in application specific ways
- collections of data defined by attributes
- connectivity is highly variable
- must self-organize to manage topology, routing,
etc - and for power savings, radios may be off 99 of
the time
35Common Communication Patterns
- Internet
- Many independent pt-pt stream
- Parallel Computing
- Shared objects
- Message patterns (any, grid, n-cube, tree)
- Collective communications
- Broadcast, Grid, Permute, Reduces
- Sensor Networks
- Dissemination (broadcast epidemic)
- Collection
- Aggregation
- Tree-routing
- Neighborhood
- Point-point
Disseminate the Query - eventual
consistency Collect (aggregate) results
The Emergence of Networking Abstractions and
Techniques in TinyOSPhilip Levis, Sam Madden,
David Gay, Joseph Polastre, Robert Szewczyk,
Alec Woo, Eric Brewer, and David Culler, NSDI'04
36The Basic Primitive
- Transmit a packet
- Received by a set of nodes
- Dynamically determined
- Depends on physical environment at the time
- What other communication is on-going
- Each selects whether to retransmit
- Potentially after modification
- And if so, when
37Routing Mechanism
- Upon each transmission, one of the recipients
retransmit - determined by source, by receiver, by
- on the edge of the cell
38The Most Basic Neighborhood
- Direct Reception
- Non-isotropic
- Large variation in affinity
- Asymmetric links
- Long, stable high quality links
- Short bad ones
- Varies with traffic load
- Collisions
- Distant nodes raise noise floor
- Reduce SNR for nearer ones
- Many poor neighbors
- Good ones mostly near, some far
39BCAST Fundamental building block
- Commands
- Wake-up
- Form routing tree
- Discover route
- Source-destination discovery (DSR, AODV)
- Exploration in directed diffusion
- Time-synchronization
- Constructed from underlying local broadcast
40Flooding
- Simple Address-Free Algorithm Schema
- if (new bcast msg) then
- take local action
- retransmit modified request
- Naturally adapts to available connectivity
- Minimal state and protocol overhead
- gt surprising complexity in this simple mechanism
41Radio Cells
42Flood Spanning Tree
0
43Empirical Dynamics of Flood
- Experimental Setup
- 13x13 grid of nodes
- separation 2ft
- flat open surface
- Identical length antennas, pointing vertically
upwards. - Fresh batteries on all nodes
- Identical orientation of all nodes
- The region was clean of external noise sources.
- Range of signal strength settings
- Log many runs
Ganesan, Krishnamachari, Woo, Culler, Estrin and
Wicker, Complex Behavior at Scale An
Experimental Study of Low-Power Wireless Sensor
Networks , UCLA Computer Science Technical Report
UCLA/CSD-TR 02-0013
44Final Tree
45Factors
- Long asymmetric links are common
- Many children
- Nodes out of range may have overlapping cells
- hidden terminal effect
- Collisions gt these nodes hear neither parent
- become stragglers
- As the tree propagates
- folds back on itself
- rebounds from the edge
- picking up these stragglers.
- Mathematically complex because behavior is not
independent beyond singe cell - Redundancy
- Geometric overlap gt lt41 additional area
Ni, S.Y., Tseng, Y.C., Chen, Y.S., Sheu, J.P.
The broadcast storm problem in a mobile ad hoc
network. MobiCom'99
46Selective Retransmission Schemes
- Probabilistic Retransmission
- Fixed prob.
- What would be the right choice?
- Counter
- When hear msg, start random delay
- If hear C msgs during wait, dont retransmit
- Distance
- If nearest node from which msg is heard is less
than some threshold, dont retransmit - Location
- If portion of cell not covered by transmitting
neighbors is less than some threshold, dont
retransmit - Cluster-based
- Partition graph into cluster heads, gateways, and
members - Members dont transmit
47Adaptive BCAST rate
- Upon first msg
- Start random delay
- If new msg arrives during delay
- Filter message (eg., discard if signal strength
below threshold) - If passes filter, Utilize message
- Start new delay
- Upon expiration of delay
- Complete local processing
- E.g., pick lowest depth node with strongest
signal as parent - Retransmit
- Delay is proportion to cell density
- Wait till ngbrs go quiet before transmit
- gt Approx uniform transmissions per unit area,
regardless of node density - Exploit long links when appropriate
48Example Tree
49Flooding vs Gossip
- In gossip protocols, at each step pick a random
neighbor - Assumes an underlying connectivity graph
- Typically used when graph is full connected
- E.g., ip
- Much slower propagation
50Reliable, Epidemic Dissemination
- TinyDB query dissemination
- Periodically transmit current query
- If hear new query, accept it and start
retransmitting it - Does not scale well over density
- Is not responsive at low rate of management
- gt Trickle (Levis, NSDI 04)
51Epidemic Dissemination - Trickle
- Key Idea maintain constant flux of communication
per unit area, regardless of node density - More nbrs gt listen more, talk less
- Announcement rate a 1/cell_density
- Trickle Algorithm
- Listen for random interval
- If too few announcements, announce current
version - Low maintenance costs
- Interval increases in absence of new
announcements - Quick response
- Contract window upon new announcement
- Low contention
- If hear old version announcement, open
suppression wider
Trickle A Self-Regulating Algorithm for Code
Propagation and Maintenance in Wireless Sensor
Networks, Levis et al, NSDI'04
52Collection
- Common use monitoring
- Collection of nodes take periodic samples
- Stream data towards a root node
- Root announces interest
- depth 0
- Nodes listen
- When hear neighbor with smaller depth
- start transmitting data to best lower neighbor
- set own depth to one greater (and include with
data) - Data transmission continuously reinforces
adjusts routes - Aggregation within nodes or within the tree
53How Should We Think About Routing?
- Classical View
- Discover the connectivity graph
- Determine the routing subgraph
- relative to traffic pattern
- Compute a path and Route data hop-by-hop
- Destination selection
- Queuing, multiplexing, scheduling,
retransmission, coding, - Here?
- What does it mean to be connected?
- What does it mean to route?
54Building Neighborhoods Routes
- Node transmits to some unknown set
- Candidate nbrs are sources of incoming packets
- Estimate of inbound link reliability
- Occasionally announce inbound link states
- Provides reverse link estimate to outbound
neighbors - Basis for cost-based routing
- Cost-based Parent Selection
- depth(me) MIN nbr(me) depth(i)
- loss(me) MIN nbr(me) loss(i)est(me,i)
- trans(me) MIN nbr(me) trans(i)etrans(me,i)
- What about the nbrs that dont fit in the table?
- FIFO, LRU, Frequency
Taming the Challenges of Reliable Multihop
Routing in Sensor Networks, Alec Woo and David
Culler, SenSys. 2003.
55Local Operations gt Global Behavior
- Nodes continually sense network environment
- uncertain, partial information
- Packets directed to a parent neighbor
- all other neighbors hear too
- carry additional organizational information
- Each nodes builds estimate of neighborhood
- adjusted with every packet and with time
- Interactively selects parent
- trans 1/ParentRate trans(Parent-gtroot)
- Routes traffic upward
- Collectively they build and maintain a stable
spanning tree - takes energy to maintain structure
Predictable global behavior built from local
operations on uncertain data
56Behavior over Time
Est. Link Quality
Tree Depth
1
2
3
57The Amoeboed cell
Distance
58Which node do you route through?
59What does this mean?
- Always routing through nodes at the hairy edge
- Wherever you set the threshold, the most useful
node will be close to it - The underlying connectivity graph changes when
you use it - More connectivity when less communication
- Discovery must be performed under load
60Communication and Power
listen
off
off
RX
TX
- Costs power whenever radio is on
- Transmitting, receiving, or just listening
- Transmit is easy, Rcv is whats tricky
- Want to turn it on just when there is something
to hear - Two approaches
- Schedule transmission intervals
- Statically, dynamically, globally, locally
- Make listening cheap
61TDMA variants
- Time Division Media Access
- Each node has a schedule of awake times
- Typically used in star around coordinator
- Bluetooth, ZIGBEE
- Coordinator hands out slots
- Far more difficult with multihop (mesh) networks
- Further complicated by network dynamics
- Noise, overhearing, interference
62S-MACYe, Heidemann, and Estrin, INFOCOM 2002
- Carrier Sense Media Access
- Synchronized protocol with periodic listen
periods - Integrates higher layer functionality into link
protocol - Hard to maintain set of schedules
- T-MAC van Dam and Langendoen, Sensys 2003
- Reduces power consumption by returning to sleep
if no traffic is detected at the beginning of a
listen period
Node 1
sleep
sleep
listen
listen
Node 2
63TinyDB approach
- Divide time into epochs
- Each epoch
- Wake-up
- Propagate query downward
- Propagate / aggregate data upward
- Till epoch expired
- In-transit packets deferred till next epoch
- High contention despite low average duty cycle
- Developed uniform multihop collection/aggregation
interface - Tested many routing layers against same
application - Shifted to stock mintroute with low-power
listening - Today several partially-scheduled alternatives
- FPS (Holte), xmesh (Hill)
64Low Power Listening (LPL)
- Energy Cost RX TX Listen
- Scheduling tries to reduce listening
- Alternative, reduce listen cost
- Example of a typical low level protocol
mechanism - Periodically
- wake up, sample channel, sleep
- Properties
- Wakeup time fixed
- Check Time between wakeups variable
- Preamble length matches wakeup interval
- Robust to variation
- Complementary to scheduling
- Overhear all data packets in cell
- Duty cycle depends on number of neighbors and
cell traffic
TX
sleep
sleep
sleep
Node 1
time
RX
sleep
sleep
sleep
Node 2
time
65Communication Scheduling
- TDMA-like scheduling of listening slots
- Node allocates
- listen slots for each child
- Transmission slots to parent
- Hailing slot to hear joins
- To join listen for full cycle
- Pick parent and announce self
- Get transmission slot
- CSMA to manage media
- Allows slot sharing
- Little contention
- Reduces loss overhearing
- Connectivity changes cause mgmt traffic
66Communication Trade-offs
- Connectivity graph is not static
- Complicates explicit scheduling
- Time Synchronization
- Time of reference required for rendezvous
- Low-power listening (preamble sampling)
- Reduce the cost to listen
- Allows coarser time synch and more flexible
schedules
67Power-aware Routing
- Cost-based Routing
- Minimize number of hops
- Minimize loss rate along the path
- Perform local retransmissions, minimize number
along path - Energy balance
- Utilize nodes with larger energy resources
- Utilize redundancy
- Nodes near the sink route more traffic, hence use
more energy - Give them bigger batteries or provide more of
them and spread the load - Randomize routes
- Utilize heterogeneity
- Route through nodes with abundant power sources
68The Program
- SELECT result_time, epoch, nodeid, parent,
voltage, depth, humidity, humid_temp, hamatop,
hamabot - FROM sensors
- SAMPLE PERIOD 5 min
69Trust?
- Now that you have unprecedented data streaming
in, why do you believe it? - gt calibration
- Rooftop calibration against reference sensors
- Revealed that k weather station contained
sophisticated lenses over light sensors to
broaden field of view - Weather chamber calibration
- Revealed that microsensors are more uniform than
regions of the chamber
70Predeployment calibration
71Deployment methodology
- Program and start all the nodes
- Place them on a rack
- Cycle them through a couple of synthetic days
- Stick them in the truck, drive, climb the tree
- Watch the network form
- Let it run for a few months
- Dumping the data into postgress
- Post calibrate
72Systems analysis
- GDI revealed much about the network from the data
stream (output) - But, didnt know the input
- gt fall back to a data logger
- Log each sample to flash just before sending the
packet - Circular buffer of about a month
73So how did we do?
Too much data
74Analysis methodology
- Compress time and space gt look at overall
distribution of values - Compress space gt time series from distributed
instrument - Compress time gt distributions
- Time series over each point in space
75Overall data yield / lifetime
- The real world IS tougher than the lab
- Management first!
- Need interactive mgmt queries during installation
and throughout deployment - Greater visibility
- More resources gt more reliability
- Yes, hop-by-hop retransmission is a good idea
76Local log yield
- Management!
- Logged till they died (but logs filled up on May
26) - Stopped collecting data on June 2 (some still
ticking) - Custody transfer
- Beware complexity
- More significant limiter than memory, processing,
or energy
77So what about the real data
78Distributions
79Time-series of Distributed Instrument
80Spatial Trends (difference from mean)
81Dynamics
Movies for every day at http//www.cs.berkeley.edu
/get/sonoma
82in situ validation
83Just the beginning
- Real time and post hoc correlations of dense in
situ instrumentation with satellite data (modis) - Sensor networks as a part of the larger
information enterprise - Weather, remote sensing,
- Correlation with internal physiology
- Sap flow as estimate of photosynthetic activity
- Model-based analysis
- Feed empirical data into models to estimate
transpiration - Compare with assumed microclimate
- Sampling across forest regions
- (10 year) Understanding role of trees in
(coastal) hydrological cycle - (25 year) Understanding the elements of the
carbon fixation cycle
84Sensor Net Application Taxonomy
Power Availability
scarce
- Also
- Scale
- Processing
- Time correlation
trickle
plentiful
burst
benign
Sampling
harsh
Environment
85Monitoring Environments and Living Things
From ltplantmon_at_intel-research.netgtTo ltwhong_at_int
el-research.netgtDate Tue, 17 May 2005 060011
-0700Subject Help! Water! Water!Your plant
(Bayview, LWPID 10) is dying - PLEASE WATER IT
(humidity 19)
86Machine Health Monitoring (Intel)
87Structural Monitoring
88Footbridge Deployment
mid-span
quarter-span
260ft
5
9
2
7
1
16ft
11
12
Berkeley
SF Bay
14
13
10
3
8
4
L3
L5
L1
L4
L2
Base Station
89Time-plots of calibrated data
90Frequency-plots of calibrated data
91First Vertical Mode of Vibration
1.00
0.74
0.19
-0.73
-0.99
Frequency 1.41 Hz Damping Ratio 2
- Analysis of multiple Time correlated, high sample
rate readings - Reliable bulk transfer
92Second Vertical Mode of Vibration
0.94
1.00
0.68
0.33
0.41
Frequency 1.78 Hz Damping Ratio 1
93Installation on GGB Span
94Technology Snapshot
- 100,000 motes in use
- 100-1,000 node deployments
- Many different platforms and companies
- UCB, Crossbow, Intel, EYES, KETI, MIT, Digital
Sun, TIP, BTNODE3, - Dust, Sensicast, ember, millennial,
- IEEE standard radio that is usable
- 802.15.4 not perfect, but a whole lot better
than bluetooth - Distinct from ZIGBEE the industry effort to
standardize higher levels of the network - Inter-platform interoperability
- TELOS, MicaZ, ChipCon dev, iMOTE2
- Emerging open network architecture
- Active and effective international open source
community - Miniaturization will happen when it makes
business sense
95Nucleus Wireless Sensor Network Management
- lightweight management system to provide
introspection and debugging in cooperation with
applications
Design
Application and System Components
Resource Discovery Retrieval of node names and
types Performance Monitoring Remote access to
system attributes Problem Awareness Persistent
logging of system events Separate Network
Layers Uses own collection dissemination
Attributes
Events
RAM
Sensor Network Management System
Names and Descriptors
AttributeRetrieval
EventLogger
Lightweight Collection and Dissemination Protocols
Implementation
Minimal Resource Usage Core requires lt 300 bytes
of RAM Generates little network traffic when
network is not being managed Responds quickly
during interactive management operations
Monitored Systems Task Scheduler Network
Interfaces Persistent Storage Bootloader Protocols
Multiple Naming Schemes Debugging - local names
require less coordination, but management of
heterogeneous systems is harder Management -
global names create a framework that can contain
different applications, but are often incomplete
Tolle, EWSN 05
96Key Node Design Elements
Flash Storage
timers
proc
data logs
Wireless Net Interface
antenna
RF transceiver
pgm images
WD
Wired Net Interface
serial link USB,EN,
Low-power Standby Wakeup
- Efficient wireless protocol primitives
- Flexible sensor interface
- Ultra-low power standby
- Very Fast wakeup
- Watchdog and Monitoring
- Data SRAM is critical limiting resource
System Architecture Directions for Networked
Sensors, Hill,. Szewcyk, Woo, Culler, Hollar,
Pister, ASPLOS 2000
97Newer 802.15.4 Platforms
- Focused on low power
- Sleep - Majority of the time
- Telos 2.4mA
- MicaZ 30mA
- Wakeup
- As quickly as possible to process and return to
sleep - Telos 290ns typical, 6ms max
- MicaZ 60ms max internal oscillator, 4ms external
- Process
- Get your work done and get back to sleep
- Telos 4MHz 16-bit
- MicaZ 8MHz 8-bit
- TI MSP430
- Ultra low power
- 1.6mA sleep
- 460mA active
- 1.8V operation
- Standards Based
- IEEE 802.15.4, USB
- IEEE 802.15.4
- CC2420 radio
- 250kbps
- 2.4GHz ISM band
- TinyOS support
- New suite of radio stacks
- Pushing hardware abstraction
- Must conform to std link
- Ease of development and Test
- Program over USB
- Std connector header
- Interoperability
- Telos / MicaZ / ChipCon dev
UCB Telos
Xbow MicaZ
98Power States at Node Level
Active
Active
Telos Enabling Ultra-Low Power Wireless
Research, Polastre, Szewczyk, Culler, IPSN/SPOTS
2005
99Prometheus Perpetually Powered Telos
- Solar energy scavenging system for Telos
- Super capacitors buffer energy
- Lithium rechargeable battery as a backup
- Uses MCU to manage charge cycles to extend system
lifetime - Manage limited recharges
Perpetual Environmentally Powered Sensor
Networks, Jiang, Polastre, Culler, IPSN/SPOTS,
2005
100TinyOS 2.x Hardware abstraction model
- Combine the component model with a flexible,
three-tier hardware abstraction
Hardware independence
101Robust Dissemination Deluge
- Every byte must (eventually) be correctly
received by all nodes! - Reliable Pipelined Epidemic Distribution of
series of pages - Constrained storage hierarchy
- Packet (32 bytes) ltlt RAM (4K) ltlt program (128K) lt
external flash (512K) - Lossy links, Critical Contention
- Density-aware
- Robust to asymmetric links
- Dynamic adjustment of advertisements
- Minimize set of concurrent data broadcasts
- Spatial multiplexing
- Page Advertise, Request/Fix, Xfer
- Density-aware suppression and snoop on each
- Packet CRC Page CRC
- 159 Byte memory footprint
flash
102Dissemination Dynamics
103Mate ASVM
- Three program representations
- Source
- Network transport
- Execution
- TinySQL compiles to bytecode
- For database VM
- Simpler, smaller, faster
104Role of a sensor net architecture
- Wide range of long-lived applications
- Diverse, constrained, evolving resources
- Low duty cycle
- Small tables
- Loss, noise change
- Embedded in adapting to phy. env.
- In-network processing, not E2E
- Highly application specific
- Few applications over many nodes
- WSN needs a narrow waist too!
105view of SNA stack
Applications Compose what they need
Tracking Application
Sensing Application
Multiple Network Layer Protocols
106Bells Law new class per decade
log (people per computer)
streaming information to/from physical world
- Enabled by technological opportunities
- Smaller, more numerous and more intimately
connected - Brings in a new kind of application
- Used in many ways not previously imagined
year
107Small Technology, Broad Agenda
- Social factors
- security, privacy, information sharing
- Applications
- long lived, self-maintaining, dense
instrumentation of previously unobservable
phenomena - interacting with a computational environment
- Programming the Ensemble
- describe global behavior, synthesis local rules
that have correct, predictable global behavior - Distributed services
- localization, time synchronization, resilient
aggregation - Networking
- self-organizing multihop, resilient, energy
efficient routing - despite limited storage and tremendous noise
- Operating system
- extensive resource-constrained concurrency,
modularity - framework for defining boundaries
- Architecture
- rich interfaces and simple primitives allowing
cross-layer optimization - Components
- low-power processor, ADC, radio, communication,
encryption, sensors, batteries
108The Time is Right
- Dont be afraid to go out and tackle REAL
problems. - They often reveal interesting challenges.
- The technology is (just barely) ready for it.
- There is much innovation ahead.
109Acknowledgments
- Supported by
- DARPA Network Embedded Systems Technology (NEST)
program, - National Science Foundation,
- Intel, Sun, CrossBow, Microsoft, HP, NTT DoCoMo,
Samsung - CITRIS and California MICRO.
- Where to go for more
- www.tinyos.net
- webs.cs.berkeley.edu
Thanks