Title: Wireless Sensor Networks
1Wireless Sensor Networks the next IT
Revolution
- David Culler
- University of California, Berkeley
35th Korea Electronics Show Oct. 7, 2004
http//webs.cs.berkeley.edu
2IT growth is rooted in Moores Law
- Transistors per chip doubles every 12-18 months
- Microprocessors
- DRAM
3IT revolutions stem from Bells Law
log (people per computer)
streaming information to/from physical world
- Enabled by technological opportunities
- Smaller, more numerous and more intimately
connected - Ushers in a new kind of application
- Ultimately used in many ways not previously
imagined
year
4CMOS Trends miniaturization and
more
nearly a thousand 8086s would fit in a modern
microprocessor
5The New Power Point
- Microcontrollers
- 1-10 mW active, 1 uW passive gt 10-100 uW
average - Micro-sensors (MEMS, Materials, Circuits)
- acceleration, vibration, gyroscope, tilt,
magnetic, heat, motion, pressure, temp, light,
moisture, humidity, barometric - chemical (CO, CO2, radon), biological,
microradar, ... - actuators too (mirrors, motors, smart surfaces,
micro-robots) - Micro-Radios
- CMOS, short range (10 m), low bit-rate (200
kbps), 1-10 mW - Micro-Power
- Batteries 1,000 mWs/mm3, fuel cells
- solar (10 mW/cm2, 0.1 mW indoors), vibration
(uW/gm), flow - 1 cm3 battery gt 1 year at 1 msgs/sec
6Revolutionary Applications
- Monitoring Space the Macroscope
- Environment Monitoring, Conservation biology, ...
- Precision agriculture,
- Building comfort efficiency, HVAC ...
- Alarms, security, surveillance, treaty
verification ...
Intelligent Alarms
7Example Redwood Microclimates
- 70 of H2O cycle is through trees, not ground
- Can only observe top surface of the forest
- Need to understand what happens within the trees
8Wireless 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
9Dense Self-Organized Multihop Network
1010m
20m
34m
30m
36m
2003, unpublished
11Revolutionary 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
- urban terrain mapping monitoring
12Example Equipment Health Monitoring in
Semiconductor Fab
- Equipment failures in production fabs is very
costly - Predict and perform preemptive maintenance
- Typical fab has 5,000 vibration sensors
- Pumps, scrubbers,
- Electricians collect data by hand few times a
year - Sample 10s kilohertz, high precision, few
seconds
Fab Equipment
Intranet
Intranet isolation
Ad Hoc Mote Network
Root Node
802.11 Mesh
Mote Vibration Sensors
13Revolutionary 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
- urban terrain mapping monitoring
- Interactive Environments
- Ubiquitous computing
- handicap assistance
- home/elder care
- asset tracking
- Integrated robotics
CENS.ucla.edu
14Interactions of Space and Things
ElderCare
Sensor Augmented Fire Response
Clinical Management
Asset Management
Manufacturing
15Typical Characteristics
- nodes gtgt people
- sensor/actuator data stream
- Unattended, inaccessible
- prolonged deployment
- energy constrained
- operate in aggregate
- in-network processing is necessary
- what they do changes over time
- gt must be self-organized, self-maintaining and
programmed in situ to operate at very low duty
cycle - gt Wide variation is application needs
16The 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
17TinyOS/Mote - Open Platform
WeC 99 Smart Rock
Small microcontroller - 8 kb code, - 512
B data Simple, low-power radio - 10
kb EEPROM (32 KB) Simple sensors
Crossbow
18Technical Challenges in Sensor Nets
- Architecture
- Operating System
- Networking
- Network Services
- Programming the Ensemble
19Architecture
20Key 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
21Mote Platform Evolution
22Recent 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
23Korean Motes
KETI MICA2 variant
24An Operating System for Tiny Devices embedded in
the Physical World
25Traditional 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
26by 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
27Tiny 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
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)
28Application Graph of Components
Route map
router
sensor appln
application
Active Messages
Radio Packet
Serial Packet
packet
Temp
photo
SW
Example ad hoc, multi-hop routing of photo
sensor readings
HW
UART
Radio byte
ADC
byte
3450 B code 226 B data
clocks
RFM
bit
Graph of cooperating state machines on shared
stack
29Early TinyOS study
- UAV drops 10 nodes along road,
- hot-water pipe insulation for package
- Nodes self-configure into linear network
- Synchronize (to 1/32 s)
- Calibrate magnetometers
- Each detects passing vehicle
- Share filtered sensor data with 5 neighbors
- Each calculates estimated direction velocity
- Share results
- As plane passes by,
- joins network
- upload as much of missing dataset as possible
from each node when in range - 7.5 KB of code!
- While servicing the radio in SW every 50 us!
29 palms, 3/01
30Resource-Constrained Concurrency
- Application lines bytes data tasks events
- Surge 2,860 14,794 1,188 7 221
- Mate 4,736 25,040 1,710 13 317
- TinyDB 11,681 64,910 11,681 18 722
The nesC Language A Holistic Approach to
Networked Embedded Systems, PLDI03
31Cooperative Interfaces
- Power management extends std control
- 1000-fold range of power draw
- Components informed of intention to go to sleep
- Take internal actions
- Propagate control
- Scoreboard determined permissible depth of sleep
state - Scheduler drops to sleep on idle
- Key interrupts drive wake-up
- Rich communication interfaces
- Signal strength
- Post-MAC time-stamping
- Sub-carrier signaling
32TinyOS evolution
- de facto std in sensor nets
- active open source community
- www.tinyos.net tinyos.sourceforge.net
- several platforms rene, mica, dot, mica2, bosch,
iMOTE, dust, micaZ, Telos - OEP for DARPA Network Embedded Systems Technology
- framework for appln. specific OS
- communication centric, event driven, modular
- Expressed in nesC
- Permits whole-system optimization
- setting for CS explorations across the stack
33Vast 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
34How 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
- Example
- retransmit new messages gt Broadcast
- Remember parent gt build spanning tree
35Radio Cells
36Network Discovery
0
37Routing Mechanism
- Upon each transmission, one of the recipients
retransmits - 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
39TinyOS view of networking
Applications Compose Just What they need
Tracking Application
Sensing Application
Multiple Network Layer Protocols
40Example Adaptive Data Collection
- 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
41Local 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
- 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)
- Routes traffic upward
- Collectively they build and maintain a stable
spanning tree - takes energy to maintain structure
node depth child? parent? link goodness
17 1 yes 90 .7
6 3 yes 75 .6
...
Predictable global behavior built from local
operations on uncertain data
42Example Study
- 50 nodes
- 3 off ground
- 8 spacing
- Low xmit power
- 4,500 ft2
43Behavior over Time
Est. Link Quality
Tree Depth
1
2
3
44Route Stability
45Dissemination
- Configuration, commands, queries, scripts, data
- Mechanism?
- Flood
- For each new dissemination, all receivers
retransmit once - Epidemic
- Occasionally, each node announces what it has
- When a node hears a new one, take it
- may adjust announcement rate
- Goal density independent rate of transmission
- the more often you hear, the less often you
should speak
46Reprogramming the network
- Every byte must (eventually) be correctly
received by all nodes! - Program size (128k) gtgt RAM (4k)
FLASH
Program Image
Prog EEPROM
Packets
1
2
3
4
N
RAM
47Deluge Network Programming
- 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
48Real long linear reprogramming
- 31 node in a line outdoors, 3-4 hops
- Internal logging, Data collection, Replay
49Simulated Dissemination (10x10)
announcement
requests
- Smooth pipelined wavefront of multiple pages
50Simulation at Larger Scale (16x16)
Wavefront propagates more rapidly along the edges
due to lower density - long linear structures
are fast Behavior exacerbated by conservative
interference model in TOSsim
51Canonical Sensor Net Structure
Patch Network
Sensor Node
Sensor Patch
Gateway
Transit Network
Basestation
Client Data Browsing and Processing
Base-Remote Link
Data Service
52Dissemination from multiple sources
9 m pitch
source
53Emerging Sensor Network Architecture
- Narrow waist roughly drops to layer 2
- Diversity of network (routing) protocols
54Programming Challenges
- thousands of constrained nodes,
- interacting in real-time with physical world,
- where you cannot touch them,
- and what you want them to do changes with time...
- How do you program the network?
- How do you specify what you want it to do?
55Programmable network fabric
- Architectural approach
- new code image pushed through the network as
packets - assembled and verified in local flash
- second watch-dog processor reprograms main
controller - Viral code approach
- each node runs a tiny virtual machine interpreter
- captures the high-level behavior of application
domain as individual instructions - packets are capsule sequence of high-level
instructions - capsules can forward capsules
- Rich challenges
- security
- energy trade-offs
- DOS
pushc 1 Light is sensor 1 sense Push
light reading pushm Push message
buffer clear Clear message buffer add
Append val to buffer send Send message
using AHR forw Forward capsule halt
56Higher-level Programming?
- Ideally, would specify the desired global
behavior - Compilers would translate this into local
operations - High-Performance Fortran (HPF) analog
- program is sequence of parallel operations on
large matrices - each of the matrices are spread over many
processors on a parallel machine - compiler translates from global view to local
view - local operations message passing
- highly structured and regular
- We need a much richer suite of operations on
unstructured aggregates on irregular, changing
networks
57Sensor 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
58TinyDB
Sam Madden, Joe Hellerstein, Wei Hong, Michael
Franklin
59TinyOS Appln Sensor Kit - TASK
TASK Client Tools
External Tools
JDBC/ODBC
Internet
JDBC
Basestation
TASK Server
TASK Field Tools
Sensor Network
60TASK 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
61From local operations networkingto distributed
services
- Time
- synchronization, coordination, correlation
- Localization
- ranging measurements -gt coordinate system
- Discovery
- Coordination
- leader election, voting
- Aggregation
- Data Sharing
- ...
62Building Confidence in Novel Data
gt 1000 ft
63Occupancy VerificationValidating Burrows
Readings with Infrared Web Cameras
Parent and chick
CLICK IMAGE
IR web camera kits
Chick with parent
CLICK IMAGE
CLICK IMAGE
64(No Transcript)
65TinyOS-driven architecture
- 3K RAM 1.5 mm2
- CPU Core 1mm2
- multithreaded
- RF COMM stack .5mm2
- HW assists for SW stack
- Page mapping
- SmartDust RADIO .25 mm2
- SmartDust ADC 1/64 mm2
- I/O PADS
- Expected sleep 1 uW
- 400 years on AA
- 150 uW per MHz
- Radio
- .5mm2, -90dBm receive sensitivity
- 1 mW power at 100Kbps
- ADC
- 20 pJ/sample
- 10 Ksamps/second .2 uW.
jhill mar 6, 2003
66Turning the Physical World into Information
- The Sensors are out there
- The network is the breakthrough
- About Fundamental Productivity
- A new kind of scope
- Unprecedented spatial temporal fidelity
100,000
1,000
gateways, aggregators
10-100
wireless sensor nodes
1-10
RF id tag
.01 0.1
67Small 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
68Acknowledgments
- Supported by
- DARPA Network Embedded Systems Technology (NEST)
program, - National Science Foundation,
- Intel, Sun, CrossBow, Microsoft, HP, NTT DoCoMo
- CITRIS and California MICRO.
- Where to go for more
- www.tinyos.net
- webs.cs.berkeley.edu
Thanks