Title: Wireless Sensor Networks
1Wireless Sensor Networks Parallel and
Distributed Processing Meets the Real World
- David E. Culler
- University of California, Berkeley
- IDPDS Keynote
- April 5, 2005
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 - Brings in a new kind of application
- Used in many ways not previously imagined
year
4CMOS Trends miniaturization and
more
nearly a thousand 8086s would fit in a modern
microprocessor
5Diverse 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
6The (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
Smart Sensors to Network the World, Culler and
Mulder, Scientific American, June 2004.
7Case 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
810m
20m
34m
30m
36m
2003, unpublished
9Canonical Architecture
- An Analysis of a Large Scale Habitat Monitoring
Application, Szewczyk, Polastre, Mainwaring,
Anderson, and Culler, Sensys04
10Wireless 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
11Embedded 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)
12Deployment and the Scientific Process
Pre-deployment exercise Node calibrations against
high-precision reference center on roof
top. Calibrate entire deployment set in climate
chamber en route to install
13Study Format
- Site Sonoma Coast Grove of the big Trees
- Need Occidental
- 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
14Day in the life
5/2/04 Grove of the big trees Sonoma County
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 of 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
17Open Experimental Platform to Catalyze a Community
WeC 99 Smart Rock
Small microcontroller - 8 kb code, - 512
B data Simple, low-power radio - 10
kb EEPROM (32 KB) Simple sensors
Crossbow
18Key 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
19Mote Platform Evolution
3
20802.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
21Power States at Node Level
Active
Active
Telos Enabling Ultra-Low Power Wireless
Research, Polastre, Szewczyk, Culler, IPSN/SPOTS
2005
22Prometheus 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
Duty Cycle Light Required System Lifetime
1 5 hrs / 1 mo 43 years
10 5 hrs / 4 days 4 years
100 10 hrs / 1 day 1 year
Perpetual Environmentally Powered Sensor
Networks, Jiang, Polastre, Culler, IPSN/SPOTS,
2005
23Traditional 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
24by 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
25TinyOS
- 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
26Tiny 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)
27Vast 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
28How 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
29Common 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
- Collection
- Aggregation
- Tree-routing
- Neighborhood
- Point-point
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
30The 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
31Routing Mechanism
- Upon each transmission, one of the recipients
retransmit - determined by source, by receiver, by
- on the edge of the cell
32The 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
33BCAST 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
34Flooding
- 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
35Radio Cells
36Flood Spanning Tree
0
37Empirical 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
38Final Tree
39Factors
- 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
40Selective 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
41Adaptive 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
42Example Tree
43Flooding 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
44Epidemic 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
45Deluge Network Programming
- 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
46Deluge Basic Protocol (1)
- Advertise Version Periodically (trickle)
- Dynamic adjustment of period
- Duplicate suppression
1
1
1
1
1
1
1
47Deluge Basic Protocol (1)
- Advertise Version Periodically (trickle)
- Dynamic adjustment of period
- Duplicate suppression
Version 2 Pages (0,1,2)
1
2
1
1
1
1
1
1
48Deluge Basic Protocol (2)
- Request Advertised Page
- Lowest numbered page needed
- Bit-vector for specific packets (initially all)
- Suppress requests upon hearing others
Page 0
1
2
Page 0
1
Page 0
1
1
1
1
1
49Deluge Basic Protocol (3)
- Broadcast page contents
- Series of packets
- Targeted receiver, but others snoop
Page 0, Packet 15
1
2
Version 2
1
1
1
1
1
1
50Deluge Basic Protocol (4)
- Selective Negative Ack (SNACK)
- Notify sender of all missing packets
- Gives up after a few tries in case of asymmetric
links - Snoopers can present additional snacks
Page 0, Packet 24
1
2
1
Page 0, Packet 15
Packet 2
1
1
1
1
1
51Deluge Basic Protocol (5)
- Advertise New Pages
- Basic After receiving entire image
- Pipelined After receiving each page (with delay)
1
2
1
Page 0
2
1
2
1
1
52Deluge Simulation (10x10)
53Deluge Simulation (16x16)
54Deluge _at_ EXSCAL under TOSSIM
9 m pitch
Stargate source
- 2 of 30 sections, 721 nodes, 21 Stargate
- 5 pages (512 B) color coded
- empirical 4 minutes for 33k to 40 nodes 1 hop
55Collection
- 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
56How 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?
57Building 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.
58Local 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
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
59Behavior over Time
Est. Link Quality
Tree Depth
1
2
3
60The Amoeboed cell
Distance
61Which node do you route through?
62What 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
63Neighborhood Communication
- Example detect vehicle entering sensitive area,
track using magnetics, pursue and capture by UGV. - Components
- 10x10 array of robust wireless, self-localizing
sensors over 400 m2 area - Low cost, robust mote device magnetometer,
microcontroller, radio network, ultrasonic
transceiver - Evader human controlled Rover
- Pursuer autonomous rover with mote, embedded PC,
GPS - Operation
- Nodes inter-range (Ultrasonic) and self localize
from few anchors, correct for earth mag, go into
low-power sentry state - Detect entry and track evader
- Local mag signal processing determines event and
announces to neighbors - Neighborhood aggregates and estimates position
- Network routes estimate from leader to tracker
(multihop) - Pursuer enters and navigates to intercede
- Motes detect and estimate multiple events
- Route to mobile Pursuer node
- Disambiguates events to form map
- Closed inner-loop navigation control
- Closed information-driven pursuit control
- Capture when within one meter
evader
pursuer
64Regionalized Entity Detection
- Local signal processing of magnetometer readings
- Generate local sighting of strength s at time t
- Node with max s over time window elected leader
- Aggregates sightings into entity position
estimate - Communicate entity detect to entity authority (EA)
65Self-Organized Routing Structure
66Landmark-based Routing
- Build routing tree (forest) to landmark node(s)
- Entity leader routes up to landmark
- Each Pursuer EA handshakes w/ close sensor node
(crumb) - Path to landmark forms crumb trail
- Routes up to landmark, beam-form down to multiple
EAs - Incremental crumbs
67Communication 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
68Low Power Listening (LPL)
- Energy Cost RX TX Listen
- Scheduling tries to reduce listening
- Alnternative, 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
Versatile Low Power Media Access for Wireless
Sensor Networks, Polastre and Culler, Sensys04
69Power-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
70TinyOS view of networking
Applications Compose Just What they need
Tracking Application
Sensing Application
Multiple Network Layer Protocols
71Programming 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?
72Programmable 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
73Higher-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
74Sensor 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
75TinyDB
Sam Madden, Joe Hellerstein, Wei Hong, Michael
Franklin
76Enabling Technology for Science
the complex
- macroscope
- P. Anthony 1969
- J. de Rosnay, 1979
Perceive
the imperceptible
the atomic
the small
the far
77Small 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
78Acknowledgments
- 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
79TinyOS-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
80Dissemination SPIN (large objects)
- Assume data gtgt protocol message
- 600 bytes vs 16
- 3-phase handshake
- ADV advertise new data
- Send to indicate have data to xmit
- REQ request for data
- Response saying go ahead
- Data
- If all nbrs have data, no req comes back
- Request suppression
- Upon receiving ADV, if not already received data
or AD, set random timer - When expires, if still no data, send REQ
- If receive REQ
- Cancel own REQ
- Must eliminate redundancy in ADV
- Loss is fundamental since hidden nodes are
pervasive
W. Heinzelman, J. Kulik, and H. Balakrishnan,
Adaptive Protocols for Information
Dissemination in Wireless Sensor Networks,'
MobiCom '99
81Aggregation
- Compute a reduction over unstructured network
- Max, sum, ave
- Dont want to pull all the data out
- Comm. Cost size of sub tree
- Embed spanning tree and form reduction
- Loss on any link drops subtree
- When have you got enough to sum?
- TAG
- Treat aggregation as stream operator
- Aggr. Over epoch
- Distribute a portion of partial sum to each
parent in DAG
Madden, . Franklin, Hellerstein, and Hong. TAG
a Tiny AGgregation Service for Ad-Hoc Sensor
Networks. OSDI 02
82Synopsis Diffusion
- Order Duplicate Independent Aggregates
- Max, min, and, or
- Vectors of the above
- Establish any gradient toward root
- Compute partial aggregate of all inputs from
below - Transmit
- Will be aggregated into all higher nodes
- Use statistical estimation on bit vectors to
approximate more general set of aggregators
Nath, Gibbons, Anderson, and Seshan, "Synopsis
Diffusion for Robust Aggregation in Sensor
Networks". In proceedings of ACM SenSys'04.
83TDMA 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
84S-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
85Communication 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