Académique Documents
Professionnel Documents
Culture Documents
Sensor Networks
Ramesh Govindan and Jim Kurose
Infocom 2009, Rio de Janeiro
*Workshop and travel grant sponsors, and sponsors requesting support be given to student workshop and tutorial
Acknowledgements
Andrew Campbell Andrea Gaglione Omprakash Gnawali Shuai Hao Young-Jin Kim Nupur Kothari Victor Lesser Nilesh Mishra Jongkeun Na Jeongyeup Paek Sumit Rangwala Moo Ryong Ra Abhishek Sharma Marcos Vieira
Slides Available at
http://sruti.usc.edu/tutorial.pdf
without whose help this tutorial would not have been possible!
Many Definitions
Networks of tiny battery-operated sensors
Wireless Sensor Networks Focus of most of the tutorial
A Systems Perspective
Systems approach
Will talk about components, architectures, programmability etc. More breadth, rather than depth
Theory is important
Lots of interesting work in theory, especially for wireless sensor networks Theory based on deployed systems and components (or evolution thereof) can have impact
Body sensors
Contaminant Transport
Marine Microorganisms
Ecosystems, Biocomplexity
www.objectvideo.com
Vehicle tracking
data rates
Remote sensing sense data at remote location e.g., radar, lidar, camera single sensor
In situ sense data at senor location e.g., temperate, pressure,chemical single sensor
networked sensors
power constrained sensors mostly data push, retasking possible low bit rate data network design: from scratch
available power
actuation, configurability
data rates
powered radars rapidly steerable beams data rates: 2 Mbps - 100 Mbps per radar multiple data consumers network design space: above IP
available power
actuation, configurability
others??
Data-centric Routing
Data-centric Storage
Localization
Time Synchronization
Medium Access
Calibration
All of them self-configure, and magically produce an interesting result A challenging vision that drove much of early research
Motes Low-power, short-range radios Enable flexible deployment Contain sensing and actuation of dense instrumentation
Dissemination Routing
Mote
SensingUnit
Sensors
Hardware Platforms
Power Battery
NetworkProtocols
USB/SerialData Transfer
FiltrationandData Fusion
Power Management
Enclosure
Top
Top
A Sensor Node
CPU
Bottom
Bottom
Source:Tmoteskydatasheet
Source:Tmoteskydatasheet
Top
Top
Radio
Memory
Bottom
Bottom
Source:Tmoteskydatasheet
Source:Tmoteskydatasheet
CPU
Top
Sensors
Bottom
Dominated by microcontrollers due to integrated CPU core, memory (RAM + FLASH) and peripherals (ADC, USART, DAC) Low power operation desired with fine grained control over power states Fast wakeup, sleep state, integrated controllers, on board programming Alternatives: FPGAs (difficult to program), DSP (narrow scope), Microprocessors (too power hungry)
Source:Tmoteskydatasheet
CPU
(upto)8MHz16bitMCUwithDMA 10KBRAMwith48KBFlash 12bitADC,2DAC,3timers,2USART,I2CHardware watchdog 1.83.6Voperationrangewith6swakeuptime 330A(activepower@1MHz,2.2V),1.1A(standby), 0.2A(Offmode:RAMretention)
Communication
Primarily radio communication in free ISM band (868MHz, 902MHz and 2.4GHz) Popular radios: 802.15.4 and Bluetooth Low data rate (30Kbps1Mbps) and low power operation (10100mA @ transmit, 2-20mA @ receive ) Communication range governed by transmit power (0-23 dBm) and receiver sensitivity (-95 to 101 dBm) Use of external and directional antenna Alternatives: Laser (alignment), Hydrophones (Under water), Powerline Ethernet
Radio
2.4GHzDSSSoperationwith802.15.4compliance 250Kbpseffectivedatarate Lowcurrentconsumption(RX:18.8mA,TX:17.4 mA).1.6 3.6Voperation 0dBm maxtx power,95dBm rx sensitivity ~100mrangewith2dBi antenna
Memory
Integrated RAM and Flash Memory RAM range: 512 B 32 MB Integrated Flash range: 0 32 MB
Flash becoming cheaper Different energy tradeoffs
Additional memory via on-board chips (1 MB) or SD /CF card adapters (up to 2GB)
Sensors
Any device which produces electrical response to a physical condition Range of sensors:
Temperature and Humidity Camera, light, infrared Accelerometer, gyroscope, magnetic sensors RFID readers, Radio as RF sensor
Sensors
InfraredMotion sensor
Lightsensors
RFIDtagreader withmote
Magneticsensor
Accelerometerand Gyroscope
Temperatureand Humiditysensor
Camerasensors
Battery
Needed for remote deployments Battery type governed by:
Energy needs and deployment time Cost Use of energy harvest techniques (Solar cells) or easy node access (rechargeable batteries) Environment concern Weight and peak current drain
Battery
Conventional Emerging
UltraCapacitors
Rechargeable
FlexibleSolarCells
Popular Batteries: Alkaline-MnO2 (AA, D-cell), Li-ion (solar cells) and Ni-MH (rechargable) Alternative: Fuel cell (not mature), Super capacitors (costly)
NonRechargeable FuelCells
Power Management
Crucial for long term survival of motes in deployments. Close knit control by software of hardware feature. Power Management support in hardware:
Low power operation state for radio and microcontrollers (sleep state) Dynamic voltage scaling (Imote2) Selective turn off of unused devices (ADC, sensors) at compile and runtime.
Enclosures
Sensors need to be deployed in harsh environments:
Moisture or immersion in water/soil. Curious animals and humans Lightening, strong winds, dust.
Enclosures
Asimpleenclosure
Hard plastic (transparent/opaque), Metal (Aluminum or Cast Iron) Needed for isolation from electromagnetic interference for sensitive sensors and mote electronics Provision for sun light (in case of solar cells)
Enclosures
Enclosures
MiniMote (1998)
Mote Universe
250kbps 2.4GHz IEEE 802.15.4 Radio with integrated antenna 8MHz 10k RAM, 48k Flash CPU < 6 s wake up time 21A (sleep) 23 mA (full op) ~ 80m LOS range 31mm x 65 mm
Rene (2000)
SunSpot (2008)
Mica (2001)
MicaZ (2004)
Imote2 (2006)
EpicMote (2007)
Future
More emphasis towards modular design
Imote2s stackable design Epic modular design
Hierarchical power management using low power cpu for controlling main cpu
Leap2 SunSpot
Gateway Nodes
Gateway nodes interface the mote universe with existing networks (LAN, WLAN) or internet. Nodes characterized by presence of multiple network interfaces Higher computation and storage ability and more bandwidth
Testbeds
Testbed Motes (Total number of motes) Gateway device Area covered Motelab Tmote-Sky (190) Tmote-connect 70,000 sq. ft Tutornet TelosB (96) Twist Tmote-Sky (100) + eyesIFXv2 (100) Tmote-connect ~ 16,000 sq. ft Edgar Mines Tmote-Sky (10) Tmote-connect Linear topology in Underground mine ----
Public/Private
Public
Private
----
10
Radome
Elevation Actuator
Azimuth Positioner
Main Power
A/C Register
Web-cam
Connectors
Duplexer
11
Off The Grid (OTG) Radars OTG: energy become dominant design, operational constraint energy input: solar energy harvesting energy expenditure: sensing, computing, communication
?
Gauges, motes (in situ) Small Scale Medium Scale NETRAD Large Scale NEXRAD 0 - 100 m 0 - 15 km 0 - 30 km 0 - 240 km Observation Domain Size
low-power, short distance radars low power processors, storage communication using long-distance wireless with directional antenna
Prototype Node
4 kW (incoherent) Marine Radar low power embedded PC 60 W solar panel 110 Ah battery
Marine Radar
802.11b/g
Medium Access
Sensor MACs
Focusing on energy efficiency
Scalability Adaptability
IEEE 802.15.1 Bluetooth IEEE 802.15.2 Coexistence of WLAN and WPAN IEEE 802.15.3 High data rate WPAN IEEE 802.15.4 Low data rate WPAN
Ultra-low complexity, Ultra-low cost Extremely low power consumption Data rates: 20-250 kbps Off-the-shelf devices E.g. Sensor Motes
Telos Motes, Sun SPOTS platform, MicaZ motes
12
Sensor MACs
CSMA TDMA
Distributed
AI-LMAC, Crankshaft, Y-MAC
Periodic listen and sleep Contention during listening Scheduled Listening Maintain synchronization S-MAC(2002),T-MAC(2003) Low Power Listening Asynchronous listening B-MAC(2004)
Asynchronous
B-MAC, X-MAC, RI-MAC, IEEE 802.15.4. Non-Beacon Enabled
RI-MAC(2008)
S-MAC [Ye04b]
Periodic Listen & Sleep
Listen Sleep Listen Sleep Listen
Frame scheduling
Nodes are free to choose their listen/sleep schedule Requirement: neighboring nodes synchronize together Exchange schedules periodically (SYNC packet)
Synchronization period (SP)
sleep
Basedonpreamblesamplingtechnique
Simpleandscalablebut...
Theexcessivelongpreambleisused Theunnecessaryoverhearingisunavoidable
Sender
RTS
DATA
S
ACK Contend for medium access
Preamble
T
Data
Receiver
CTS
NAV (based on RTS) Other Sensors defer access NAV (based on CTS) From [Ye04b]
Overhearing
78
13
SCP-MAC (SenSys06)
[Ye06a]
SCP-MAC Performance
Optimal energy consumption
Analysis of LPL vs. SCP
SCP piggyback - time sync info.
Experimentalevaluation
Optimalsetupwithperiodictraffic 10nodes,eachnodeperiodically broadcastsamessage
3~6times
Moreinformationisavailableathttp://www.isi.edu/ilense/software/scpmac/
Figures from [Ye06a] Figures from [Ye06a]
X-MAC (SenSys06)
Basic idea
Using short preambles
Embedding the Target ID Early acknowledgement
[Buettner06a]
X-MAC Performance
Experimental evaluation
One receiver, multiple senders Sleep interval (preamble length) : 500ms A packet is sent out every 5s from senders
Reducing excessive preamble and overhearing This short preamble approach is adopted in current TinyOS 2.x LPL implementation [Moss08]
From [Buettner06a] From [Buettner06a] From [Moss08]
preamblelisteningtimeatreceiver overhearingtimeatsenders
Lowdutycycle ofXMAC
Funneling-MAC (SenSys06)
Funneling effect in WSNs
All traffic to one sink (many-to-one)
[Ahn06]
Key observation
Network-wide CSMA
Contention problem
Adaptive sleeping
Receivers beacon interval
Network-wide TDMA
Scalability problem
Hybrid approach
Network-wide CSMA Localized TDMA at intensity region
From [Sun08] From [Ahn06]
14
xi = loss rate in
interval i
Error rate vs SNR UDP packets sharp fall off: works well, or not at all
Error rate dependence on rate (for given SNR) increasing error rate with increasing transmit rate, as expected
Goal: adaptively choose modulation technique (802.11 PHYlayer) that provides highest throughput subject to BER constraint
10 20 30 40
BER
Energy Management
SNR(dB)
Lucent WaveLAN II
after 10 successful frame transmissions (ACKs) or timeout, increase rate. after 2 unsuccessful frame transmissions in a row, decrease rate similar to TCP bandwidth probing
QAM256 (8 Mbps)
throughput
distance
15
Sleep Scheduling
Idle-listening causes significant drain of energy
1pkt/min requires just 10ms of radio on-time every minute.
Approaches
Approach
MAC Network Cross-layer
Examples
SCP-MAC, LPL, LPP FPS Dozer, Koala
Application-informed AEM
FPS Protocol
Demand = number of pkts to be forwarded Supply = bandwidth available supply > demand, => offer reservations demand > supply, => request reservations
Broadcast Receiver ADV Sender
From [Hohlt, 2005]
cycle
Rx Tx REQ CONF
Tx Rx
Dozer
Low-power data gathering system Combines
TDMA MAC Routing
Dozer Details
Broadcast and Data schedules No global TDMA
Parent-child negotiation
TX Bcast
RX TX Data R X
RX
RX
RX
TX Data
R X
16
Koala
Low-power bulk-data gathering system Ultra-low duty-cycle as its goal Sink orchestrates the network
Builds routing tree Requests sensors to report data
Bulk data download Uses LPP as its MAC Achieves 0.2% duty-cycle
AEM Overview
wait(2)periodic(10s)sense(LIGHT)send() dataframe(start=2, period=10s) Task Analysis
AEM Schedules
Control schedule RadioState Data schedule
Controlframe Dataframe
Setup Schedules
[on=2] [on=2]
On
ooo
Data Delivery
[on=2] [on=2] [on=2]
99
Off Time
100
AEM Duty-cycle
RadioState
On Off Time
Low duty-cycle with AEM
17
Schedules in a node
On Off Time Task1 Task2 Control
B A
B
On
Combined
103 104
Off
Wake-on-Wireless
even when idle, device consumes energy (e.g., wireless NIC listening) idea: power device completely off, except for low-power wake/control channel requires additional hardware (2nd radio)
MiniBrick turns on the iPAQ by toggling the Data Carrier Detect (DCD) line on serial port
Wake-on-wireless: more
cell-phone user: wake on wireless
can be signaled from base station
Low Power (2nd) Channel
trace-based evaluation
Routing
Find paths from source to destination
Sensor data Commands
Routing
18
Routing Approaches
Approach
Data-centric Coordinate-space Ad-hoc Collection Tree Standard (in progress)
Point-to-point Routing
Ad-hoc routing
Route to a node TinyAODV, TYMO State overhead too high
Protocols
Directed Diffusion GPSR, BVR TinyAODV,TYMO MultiHopLQI, CTP IETF
Route on a coordinate-space
Route to a location GPSR (Geographical coordinates) BVR (Virtual coordinates)
Geographic Routing
Greedy Forwarding
Keep a table of positions of neighboring nodes Forward to the nearest neighbor
Geographic Routing
Greedy traversal sometimes fails
Geographic Routing
Face Traversal using right hand rule
Cross links
GPSR only works on planar graphs Detect and remove cross links Nodes probe for p[crossings of(S,A)?] cross-links B
A
p[(B,C)crosses(S,A)!] p[crossings of(S,A)?]
Failswhentherearecrosslinksinthegraph!
p[(B,C)crosses(S,A)!]
19
Beacon-Vector Routing
B
Crosslinks!
A
caseA
caseB
Data-Centric Networking
Networking for application-specific data
Combine routing, storage, and compression
Categorization of applications:
Push-based: continuous data collection Pull-based: distributed storage and query
Aggregation/Compression Gains of energy and throughput Distributed source coding Spatial correlations on routing with compression
Data-Centric Routing
Internet routing: route to address sensor net routing: route data to consumers
often more than one consumer (1-many)
Interests
A node requests data by sending interests for named data
Gradients
Gradients is set up within the network designed to draw events, i.e. data matching the interest.
Reinforcement
Sink reinforces particular neighbors to draw higher quality ( higher data rate) events
20
Data-centric routing: Diffusion Routing in-network data processing (e.g., aggregation, caching) distributed algorithms using localized interactions application-aware communication primitives
expressed in terms of named data
Naming
Content based naming Tasks are named by a list of attribute value pairs Task description specifies an interest for data matching the attributes Animal tracking:
Request Interest ( Task ) Description Type = four-legged animal Interval = 20 ms Duration = 1 minute Location = [-100, -100; 200, 400] Reply Node data Type =four-legged animal Instance = elephant Location = [125, 220] Confidence = 0.85 Time = 02:10:35
Interest
sink periodically broadcasts interest messages to each of its neighbors every node maintains an interest cache each item corresponds to a distinct interest no information about the sink interest aggregation : identical type, completely overlap rectangle attributes each entry in the cache has several fields timestamp: last received matching interest several gradients: data rate, duration, direction
Publish/subscribe systems
Publisher Adv.
Subscriber
event
Setting Up Gradient
Source
Sink
Subscriber
21
Data Propagation
sensor node computes the highest requested event rate among all its outgoing gradients when a node receives a data:
find a matching interest entry in its cache
examine the gradient list, send out data by rate
cache keeps track of recent seen data items (loop prevention) data message is unicast individually to the relevant neighbors
Sink
For reinforcement
reinforce paths based on observed delays losses, variances etc.
compare diffusion to
flooding centrally computed tree (omniscient multicast)
22
Diffusion Simulation
Surveillance application
5 sources are randomly selected within a 70m x 70m corner in the field 5 sinks are randomly selected across the field High data rate is 2 events/sec Low data rate is 0.02 events/sec Event size: 64 bytes Interest size: 36 bytes all sources send same location estimate for base experiments
0.016 0.014 0.012 0.01 0.008 0.006 0.004 0.002 0 0 50 100 Diffusion
Flooding
Omniscient Multicast
150
200
250
300
Network Size
Diffusion can outperform flooding and even omniscient multicast. (suppress duplicate location estimates)
Aggregation/Compression Distributed algorithms using localized interactions Application-aware communication primitives expressed in terms of named data
1. Sources publish data and flood the network 2. Subscribers setup a state to match incoming data with local queries 3. Matching data is forwarded to the subscribers
Data Sink
Steps
1. Interest is flooded to the network 2. Nodes maintain gradient towards the sink Source 3. Source picks the best path locally and forwards data to it 4. Gradient in the nodes guides data to the sink
Sink
23
Storage
Local Storage: couple storage location from where information is sensed. Query-intensive processing Distributed-Centric Storage (DCS): decouple storage location from where information is sensed. Eliminate Flooding by Queries (or Events) Scalability and Robustness against Failures
Querying
Flooding: Directed Diffusion Controlled Flooding: Extended Ring Search Regional Flooding: Active query forwarding Greedy Search: Information-driven sensor query Flooding & Greedy Search: Fingerprint gradients Rendezvous between queries and events:
Rumor Routing (WSNA02), Comb-Needle technique(Sensys04)
Sink
Query Event
Rendezvous approaches
Reverse Comb-Needle, Double-Rulings (Mobicom06)
Comb Needle
Double-Rulings
Hash data to a circle, instead of a point
Distance-sensitive Retrieval (GHT may hash to far way nodes)
24
Collection Routing
Collectdatafromthenetworktooneora smallnumberofroots Treerouting
Features
4-bit Link Estimator Exponential-timer based beacons Data transmission as topology probe
145
COMPARE
Isthisauseful link?
ACK
Apackettransmission wasacknowledged
WHITE
Apackethasalow probabilityof decodingerror
CTP Reliability
6lowpan : IPv6 frame specified (RFC 4944) Identify routing requirements for applications Determine no current IETF protocol meets the requirements
Likely direction
Collection for upstream data Source route for downstream and point-to-point
25
Dissemination
Service for reliably delivering data/information to every node in the network
Allows administrators to reconfigure, query, command, task, and reprogram a network.
Dissemination
Challenges
Consistent
All nodes should agree on same information
Design space - 1
Size of the disseminated object
Three categories
Large program binary for reprogramming (Deluge, PSFQ) Medium size binary or task (Tenet, TOSThread/TinyLD) Small values for configuration parameters (Drip, RBP)
Method Configuration Parameters Scripts/ Tasks New Binary Flexibility Low Med Very High Cost Low Med Very High Frequency High Med Very Low
Up-to-date
All nodes should agree on the most new/updated information
Robust/Reliable
Should be robust to temporary disconnections or high packet loss Eventual consistency:
The network should eventually reach consensus on the newest information as long as the network is not disconnected
In theory, transfer service of any large object can be built on top of transfer service of smaller objects at the cost of efficiency.
Design space - 2
Reliability guarantees
Re-programming or re-tasking requires 100% reliability
Ex> Deluge, TRD, PSFQ, RMST
Taxonomy
Small data, commands, config. parameters Re-tasking, program updates Re-programming
Performance optimization
Channel switching (Ex> Typhoon) Sender selection (Ex> Sprinkler, Infuse, GARUDA) Tiered network with multiple points of dissemination adds extra complexity (Ex> Tenet)
Non-Reliable
RBP Flooding
Size of data
26
Drip
Disseminating small (smaller than a single packet payload) pieces of data for reconfiguration
establishes eventual consistency on a shared variable and tells an application when the variable changes
Deluge
Network programming
provides the ability to wirelessly install a new program image by propagating a program binary over the wireless network and having each node program themselves with the new image.
Object
Page
1 2 3 4 N
Packet
TRD
Tasking
Small pieces of programs that can be dynamically loaded or deleted, and run concurrently.
Conclusion
Dissemination is an important service in wireless sensor networks that enables the user to control the behavior of large number of devices
Task
1 2 3 4 N
Packet
Selective NACK
Time Synchronization
Synchronize clocks of nodes across network GPS
Not always available, Energy, $
Time Synchronization
Requirement
Desired sub-ms, sometimes 10s accuracy
27
Timing Challenges
Cheap clocks drift up to 50ppm
Each clock is unique
Time-Synchronization Approaches
Approach
On-demand Data-sync Relative Clocks Online Hierarchical Online Flat
Protocols
TSS RBS TPSN FTSP
Time-stamp Synchronization
Track time a packet spends on each hop Time of origin = now total time in transit
App
{Pkt,T} T1 T2 T3 T4 {Pkt,T} T5 Timeoforigin =T5 T
Multi-hop synchronization through nodes that can receive multiple reference broadcasts
T=T2T1
T=T +T4T3
Mechanism
Accurate sender and receiver time-stamps Linear interpolation after n samples
28
FTSP Time-stamps
Sender Time-stamp
Global clock Non-deterministic delays: Send, MAC
sender: send access propagation receiver: reception receive transmission
FTSP Algorithm
Leader election
Leaders reference clock Smallest node ID Robust
Receiver Time-stamp
FTSP Performance
Localization
Occasional desynchronization
Localization
A mechanism for discovering spatial relationships among objects
Goal
Determine the location of wireless sensor nodes
Known Location Unknown Location
29
Motivation
Support Location Aware Applications
Track Objects Report event origins Evaluate network coverage Assist with routing, GF Support for upper level protocols.
2.
3.
Ranging phase (distance estimation) Each node estimate its distance from its neighbors Initial Estimation phase (distance combining) Nodes use ranging information and beacon node locations to estimate their positions Refining estimation iteratively refining the position estimate
Phase1
Step1estimation of distance to an anchor. There are two classes of approaches to estimating distance to anchors: topological and geometric. Topological approaches: DV-dist and DVhop. Geometric approaches: Relative localization scheme and Euclidean scheme.
Phase1
Distance measuring methods Signal Strength
Uses RSSI readings
Ranging Techniques
Approaches Acoustic ranging (time of flight) A. Sound B. Ultrasound Radio signal strength (RSS) GPS Differential GPS Infrared light Magnetic field Radio Interferometric Ranging range (30m) accurate (9cm), stealthy no extra HW, stealthy single node, global time very accurate (1cm) inexpensive accuracy (1mm) accurate (5cm), stealthy, long range, no extra HW
Taken fromRadio Interferometric Geolocation
Phase1
Cons extra HW (actuator, detector), line of sight not stealthy, echoes limited range, directionality imprecise beyond few meters, extensive calibration Extra HW, outdoors only, inaccurate extra HW, outdoors only, very expensive extra HW, accuracy, direct line of sight, sunlight range (3m), metal interference multipath
Taken fromRadio Interferometric Geolocation
Pros
Time of flight
acoustic ranging: sound tens of meters range; 10cm accuracy; ultrasound 5m range, 6cm accuracy;
Radio interference
RIPS: 170m range; 4cm accuracy;
RF Time of flight:
GPS anywhere outdoors;
30
RSSI
RSSI approach is based on the radio path loss model:
radio signal attenuates during its transmission
RSS
RSS is susceptible to environmental interference: Irregularity Multipath Fading Attitude of antenna
RSS
PS dn
Interferometry: cross-correlate signals received at two different nodes; many other applications Key idea: utilize two transmitters to produce low frequency interference signal directly
31
Phase 2
Hyperbolic Trilateration Triangulation
B
b Sines Rule c
A B C = = sin a sin b sin c
C 2 = A2 + B 2 + 2 AB cos(c)
Multilateration
The basic idea of Multilateration is to minimize differences between estimated distances and measured distances from an unknown node to beacons Maximum Likelihood Estimation (MLE) is one approach to solving the problem
P0 = arg min ( P0 Pi di ) 2
P0 i =1 n
C
Cosines Rule
B 2 = A 2 + C 2 2 BC cos(b) C 2 = B 2 + C 2 2 BC cos(a)
Multi-lateration
Phase 3
Refinement
Least-Mean-Squared Refinement (LMSR)
Phase 3 Collaborative Multilateration Unknown node may never have three neighboring beacon nodes One node estimates its position by considering use of location information over multiple hops
(xi x j )T ( xi x j ) rij = 0
LMSR attempts to minimize the objective function,
(1)
(2)
Mobility
Problem definition: keep track of location and velocity of cooperating moving objects continuously over time. Key idea:
Estimate Doppler shift using interferometry
430MHz+300Hz T
430MHz A
2 nodes T, A transmit sine waves at same frequency When one of them, say T is moving, Doppler shift induces beat frequency at S Can estimate distances as before
Si
300Hz + fi,T
From: Tracking Mobile Nodes Using RF Doppler Shifts
32
Summary
All the efforts in the research of sensor network localization are to achieve sufficient positioning accuracy based on the limited resources available from sensor networks. Various approaches have been published to satisfy different application requirements by adopting a different tradeoff between accuracy and costs. Challenges are to deploy sensor localization algorithms to a complex terrain.
Challenges
Time varying channel conditions Interference Achievable rates highly sensitive to topology
55nodenetwork
4/19/2009 195 4/19/2009
Courtesy:MitigatingCongestioninWirelessSensorNetworks,Hulletal.,SenSys2005
196
Addressing Congestion
Two design perspectives
Congestion Control
11 12 10
Routes Neighbor
f11
f13
f15 f19
Congestion Mitigation
Avoid starvation and improve network efficiency
No notion of target fairness or efficiency 55nodenetwork
4/19/2009
From:MitigatingCongestioninWirelessSensorNetworks,Hullet al.,SenSys2005
13
14
15
f20
16 17 18 19
20
21
197
4/19/2009
198
33
Taxonomy
Cong. Mitigation Distributed Fusion,CODA Cong.Control Cong.Control Cong.Control (Fairnessand (Fairness) (Efficiency) Efficiency) Ee etal. IFRC
Taxonomy
Cong. Mitigation Distributed Fusion,CODA Cong.Control Cong.Control Cong.Control (Fairnessand (Fairness) (Efficiency) Efficiency) Ee etal. IFRC,WRCP
Centralized
RCRT
ESRT
QCRA
Centralized
RCRT
ESRT
QCRA
4/19/2009
199
4/19/2009
200
Fusion: Efficiency
Congestion Mitigation
Hop by Hop backpressure
Non-congested neighbors refrain from sending packets
Rate Limiting
Send packets after parent forwards n (number of descendents) packets
At all times
Gracefuldegradationofefficiency withincreasingload
4/19/2009 201 4/19/2009
Courtesy:MitigatingCongestioninWirelessSensorNetworks,Hulletal.,SenSys2005
202
IFRC: Overview
Congestion detection
Locally for a link, based on queue length calculated as
qavg = wq * qinst + (1- wq) * qavg
10
Routes
Neighbor
f11
Design space
Distributed Fairness and Efficiency
Congestion Signaling
To all flow traversing the neighborhood
f13
11
12
f15 f19
Rate adaptation
Additive Increase during no congestion
rf = rf + / rf
13
14
15
f20
16 17 18 19
204
34
Unfair
Averagegoodput foreachnode
Numberofpacketsreceivedw.r.t. time
Averagegoodput foreachnode
IFRCachieves80%of theoptimalfairrate
IFRCachieves60%of theoptimalfairrate
IFRCachieves6080%oftheoptimalfairrate
206
Design Space
Centralized Fairness, Efficiency not a goal
Goal
Configure the sending rate, f, of source nodes so as to achieve the required event detection reliability, R, at the sink with minimum resource utilization.
4/19/2009
207
4/19/2009
208
Characteristic Regions
NoCongestion, HighReliability OptimalOperatingPoint HighCongestion, HighReliability
RCRT: Overview
CongestionDetection
Basedontimetorecover endtoendlossatthe sink The network is not congested as long as end-to-end losses are repaired quickly enough
R(t ) = ri (t )
i =ri/R
R (t + 1) = R (t ) + A
R (t + 1) = M (t ) R (t )
NoCongestion LowReliability
HighCongestion, LowReliability
4/19/2009
From:ESRT03
209
4/19/2009
210
35
RCRT: Fairness
Discard approaches:
Discard application-layer units (e.g. Frames, GOPs) Static priorities (e.g., I frame higher than P, B) Drop P, B if corresponding I already dropped Evict P, B from queue to make room for I
Instantaneousfairrate
AveragepernodeFairness
Evaluation metrics:
Inaddition,achieves100%reliability
4/19/2009 211
Application-layer quality (e.g., SNR, I-frames received) Network impact (e.g., Received bytesCalvert, IWANN 2005 discarded)
% packet loss
% packet loss
RCRT: Efficiency
Reliabletransportwithout congestioncontrol RCRT
RCRTachieves88% ofsustainablereliableandfairrate
4/19/2009 215
36
Representative of Adaptive Distributed Sensor Network Issues need for coordination/distributed resource allocation
multiple sensors need to collaborate on tasks
view objects of interest from multiple angles with different types of sensors sensing time windows need to be closely aligned
environmental dynamics
Sensor configuration changes as target moves
scalability: need to be able to handle large numbers of sensor nodes robustness: local failures should not induce global collapse
handle uncertain information, sensor/processor/communication failures
specialize members of the agent population to dynamically take on multiple, different goals/roles.
individual agents become managers of different aspects of the problem. managers form high-level plans to address their goals, and negotiate with other nodes to achieve them.
Sector Manager
Tracking Manager
Scanning Agent
Tracking Agent
37
Partitioning of Nodes
Nodes are arranged or scattered, and have varied orientations. One agent is assigned to each node.
The environment is first partitioned into sectors. Sector managers are then assigned.
Sector members send their capabilities to their managers. Each manager then generates and disseminates a scan schedule.
Nodes in the scan schedule perform scanning actions. Detections reported to Manager and a Track Manager selected.
Track Manager discovers and coordinates with tracking nodes. New tracking tasks may conflict with existing tasks at the node.
Tracking data sent to an agent which performs the fusion. Results sent back to track manager for path prediction.
38
Multiplexing Roles
Fault Tolerance
sensor node information is propagated through use of directory services (x, y, orientation, etc.).
sensors provide sector managers with their information. track managers query sector managers for sensor details. this information is cached for future use at each step
Security
Unreliable communication
unreliable transfer conflicts (due to the broadcast nature of WSN) latency
Data confidentiality
protect information traveling through the network
Data integrity
ensures the receiver that the received data has not been altered in transit by an adversary achieved through data authentication
Unattended operations
exposure to physical attack remote management makes impossible to detect physical tampering and physical maintenance issues
Data freshness
implies that the data is recent ensures protection against replay attack
39
Alice
Bob
plaintext
encryption
ciphertext
decryption
plaintext
Several implementation of the SKC algorithms for WSN (RC5, Skipjack, DES, 3DES, AES, RC6) Implementation of architecture for network security
TinySec, MiniSec, SNEP (part of the SPINS protocol suite), ZigBee
Main drawbacks
reduced level of security (to ensure low energy consumption) single network-wide key it does not attempt to protect against replay attack implementations for Mica motes only
Major drawback
how to distribute keys?
Comparison
High MiniSec SPINS ZigBee
Security
Energy Consumption
http://sparrow.ece.cmu.edu/group/projects/minisec/minisecipsn07.ppt
General idea
K1, K2, , Ks
each node randomly picks R keys from a key pool S Key use the common shared key to establish pool secure communication with its neighbors very sensitive to the choice of parameters (R,S)
{K1, K5}
{K3, K7}
40
Alice
Bob
plaintext
Choose random KA
Alic e
Bob
Choose random KB
Compute KA * TB Agree on KA * KB * G
Compute KB * TA
Authenticity of keys
Attackers can easily impersonate any node by claiming its public key and launch the man-in-the-middle attack
node C may impersonate node B node A and also impersonate A to B in this way C can act as invisible router and learn all messages between A and B to
A B
Broadcast Authentication
Ensuring that a broadcast message has been sent by the claimed sender Two-party communication
achieved through a symmetric mechanism based on the Message Authentication Code (MAC)
Conventional solution
making use of a certificate signed by a trusted Certificate Authority (usually the base station) B can send its public key with corresponding certificate to node A such that A can verify the correctness of the certificate with the well-known public key of the CA
Attacks
Physical layer
Jamming: adversary interferes radio signals emitted by sensors, or continuously generates a request-to-send signal
Countermeasure:
detect jamming and route messages around the jammed area
Attacks
Link layer
Collision: adversary transmits signals, which result in frame errors; colliding frames are discarded and retransmission requires energy
Countermeasure:
use error-correcting codes
Exhaustion: adversary may exploit the interactive nature of link protocols in interrogation attack, and sensor runs out of energy
Countermeasure:
limit interrogation rate
Acknowledgment spoofing:
Some routing protocols use link layer acknowledgments Adversary spoofs acknowledgments, changing targets estimate of link quality
41
Sybil attack
adversary creates multiple identities (mostly affects geographical routing protocols) Countermeasure:
adopt validation techniques shortest
Wormholes
Adversary close to sink implements a sinkhole Another laptop class node advertises high route to the base station, through the malicious node
Countermeasure: tight clock synchronization http://comp.ist.utl.pt/pdis-srm/Acetatos/WSN-security.pdf
quality other
Selective forwarding
compromised node may refuse to forward packets or may forward selected packets
Countermeasures:
neighbors assume the compromised node failed and start using another route multipath routing
http://comp.ist.utl.pt/pdis-srm/Acetatos/WSN-security.pdf
Programming
Architectures
A lot of research on developing communication and software architectures for sensor networks
Should be general and extensible Should support heterogeneity Should be designed with the constraints of sensor networks in mind
TENET
Masters control motes Applications run on masters, and masters task motes
Hierarchical Architectures TENET Software architectures defying norms set for traditional networks SP Architecture Software architectures designed using lessons from traditional networks An IPv6 Architecture
42
SP Architecture
Propose that sensor networks have a narrow waist, like that Internet Application Layer Due to their unique constraints, routing Timing, Power protocols inSecurity networks are application Mgmt., sensor Routing Components specific etc. SP Layer Thus lower the waist to between the data-link Data-Link Layer layer and the network layer Hardware Components Propose Sensornet Protocol (SP), a best-effort single link broadcast layer as the narrow waist of sensor network systems
IPv6 Architecture
Claim that an IPv6 based network architecture would be well suited to sensor networks
Highly scalable General and extensible Amenable to compression (6LowPAN), and allows for more efficient implementations than IPv4
Propose and implement a complete IPv6 network architecture for sensor networks
Uses 6LowPAN compressed header format Incorporates many WSN essentials Allows for integration of sensor networks into the Internet
From J. Hui etal., SenSys 2008
Operating Systems
General-purpose operating systems too heavy-weight to run on sensor nodes Sensor network operating systems should
Be lightweight Enable some form of concurrency Provide mechanisms to access hardware sensors etc Provide services to enable applications e.g. routing, neighbor discovery
TinyOS
Most popular sensor network operating system Written in nesC, an extension of C designed for sensor nodes Main Features
High concurrency, interrupt driven Monolithic (no kernel) Small Footprint Component Based Contains components for Routing, Timers, etc. Static memory allocation Asynchronous functions called Tasks scheduled for execution by a Task Scheduler, allow for concurrency and split-phase execution
SOS
A dynamic sensor network operating system written in C Main Features
Contains a core kernel which provides essential services Modules that can be inserted and removed at runtime Message based rather than event based Dynamic memory No memory protection, modules assumed to be cooperative
Contiki
Lightweight flexible sensor network operating system written in C Main Features
Consists of an event-based kernel Supports pre-emptive multi-threading on a per-process basis Allows for dynamic loading/unloading of modules Dynamic memory Has the concept of a service a dynamically linked process implementing functions used by other processes managed by a service layer
43
nesC
Most popular sensor networking language used with the TinyOS operating system Extension of C Completely static
No dynamic memory or function pointers
Programming Abstractions
Protothreads, Abstract Regions
Macro-programming Languages
Regiment, Flask, DSN, Pleiades
Parameterized interfaces to allow multiple instances of same module Provides atomic keyword to annotate asynchronous code
Programming Abstractions
Protothreads - allow for writing even-driven programs in a thread like style
Provide a conditional blocking wait abstraction Protothreads are stackless
Share same stack, context switching done by stack rewinding
Macro-programming Languages
Regiment
High-level language for spatiotemporal macro-programming based on Functional Reactive Programming Network seen as a set of spatially distributed data-streams Primitives for performing aggregation over regions, manipulating individual streams, triggering new computation etc.
Flask
domain-specific language embedded in Haskell Staging mechanism to separate node-level code from macro-code Macro-code in Haskell, node-level code in Red, subset of Haskell Seamlessly integrates nesC with Red
Macro-programming Languages
DSN
Declarative in nature (main constructs are predicates, tuples, facts and rules) @ used to specify the location of any tuple, e.g. @n Links to hardware (sensors, actuators) using built-in predicates Users can pose queries for the DSN runtime to output
Pleiades
Procedural macro-programming language an extension of C Provides abstractions for nodes, global and node-local variables, sensors, timers etc. @ used to specify the location of any node-local variable Provides a concurrent loop abstraction cfor guarantees serializability of cfor using locking
Has inbuilt deadlock detection and recovery mechanisms
Levels
Programming abstraction for energy-aware applications Programmer defines multiple energy levels and a lifetime goal
Annotates blocks of code with possible energy levels
Optimal level-assignment for various code blocks decided at runtime in order to best satisfy lifetime goals
44
Data Integrity
Utility to scientists, engineers, and domain experts. Ideally, comparable in quality to the data collected using traditional sensors.
Data faults
Data faults cause the affected sensor readings to deviate from the pattern exhibited by the true sensor readings.
For example, a visual or statistical anomaly.
Figures from Ni et al., Sensor Network Data Fault Types, ToSN, vol.5, #3, Aug09
Fault Taxonomy
Data-centric view
Defined with respect to the true/normal sensor readings. Significant deviation from normal is a fault. Anomalies/outliers.
System-centric view
Anomalous sensor readings are due to faults in system components (root cause analysis).
45
Hardware faults
Loose connection, sensor damage, low battery
Software faults
Errors in data logging
Sharma et al. On the Prevalence of Sensor Faults in Real-World Deployments. SECON, 2007.
Define normal pattern based on sensor data. Flag significant deviations from the normal pattern as faulty.
Key drawback:
Efficacy depends on the parameter settings.
Monitoring
Collect periodic measurements of the supplied voltage. Monitor unusual or lack of activity at a sensor.
46
Applications Applications
Security Security
Applications
Security Security
Transport Transport
Localization Localization
Routing Routing
Dissemination Dissemination
Storage Storage
MAC MAC
WSN Applications
Monitoring Environments
Great Duck Island, Redwood forest, James Reserve Volcano Underwater monitoring
Common Challenges
Long-lived, robust operation
Limited Energy Limited Memory Large number of nodes deployed over possibly large area Error/fault tolerance
Industrial/Infrastructure Monitoring
Machine monitoring, Energy/Water monitoring
Application-specific Requirements
Data rate vs. Duty cycle
High data rate for high fidelity data
SHM (GGB, VTB), Volcano, Image-based monitoring (JR)
Taxonomy
Low latency Reliable delivery Long lifetime
47
Environmental Monitoring
GDI, Redwood, ESS (at JR), LUSTER
Low sampling rate Low duty cycle, long life time Large-scale multi-hop network
10,000 ft 3.05 km 4 km 1 km 2 km
tornado
ea
gap
ac e
Horz. Scale: 1 = 50 km Vert. Scale: 1 -=- 2 km 0 40 80 120 RANGE (km) 160 200
rth su rf
240
There is insufficient knowledge about what is actually happening (or is likely to happen) at the Earths surface where people live. [NRC 1998]
3.05 km
snow wind
5.4 km
48
10,000 ft 3.05 km
snow
3.05 km
wind tornado
ea rth su rf
ac
40
80
160
200
240
finer spatial resolution beam focus: more energy into sensed volume multiple looks: sense volume with most appropriate radars
8:15 pm
Norman OK (NOC)
Lawton
MESOCYCLONE NEAR STERLING CONTINUES MESOCYCLONE NEAR STERLING CONTINUES TO STRENGTHEN PER TWO RADAR VIEWS. TO STRENGTHEN PER TWO RADAR VIEWS. CASA NETWORK ALSO SHOWING CASA NETWORK ALSO SHOWING PRONOUNCED HOOK. STORM WILL PRONOUNCED HOOK. STORM WILL ENCOUNTER WARM FRONT...WITH POSSIBLE ENCOUNTER WARM FRONT...WITH POSSIBLE ENHANCED LOW LEVEL SHEAR JUST EAST OF ENHANCED LOW LEVEL SHEAR JUST EAST OF STERLING AND WEST OF RUSH SPRINGS. STERLING AND WEST OF RUSH SPRINGS. TORNADO WARNING IS POSSIBLE IF NOT TORNADO WARNING IS POSSIBLE IF NOT LIKELY TO BE ISSUED AS STORM REACHES LIKELY TO BE ISSUED AS STORM REACHES SOUTHWEST GRADY COUNTY. SOUTHWEST GRADY COUNTY. BURKE BURKE
7:21pm
KSWO TV
7:26pm 7:28pm
7:32pm
7:34pm
7:36pm
7:38pm
7:39pm
CASAs Adaptive Sector scanning at multiple elevations from 1 to 14 degrees, 40 sec. sector scan
7:28pm
7:34pm
7:39pm
49
Architectural worldview
application-layer functionality, control, protocols
Architecture overview
storage
data
query interface
streaming storage
blackboard
prediction
A B C D E F G H I J K 1 G3 G3 G3 G3 G3 G3 G3 R1 R1 R1 R1 2 3 4 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 R1 R2 R2 F1 F2, R1 F2,H2 H1,F1 H1 ,F1 T2,R1 H1 T2,H1 T2,R1 5 G3 G3 G3 G3 G3 G3 G3 R1 R1 R1 R1
Feature Repository
6 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3
7 G3 G3 G3 G3 G3 G3 G3 C2 C2 C2 G3
8 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3
9 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3
IP backplane
SNR data policy Meteorological Task Generation
30 sec. heartbeat
resource allocation
feature detection
second s
LB
. . .
LB grid constructor
0.5
0.6
Radar 2
10
20
30
40
50
seconds
t-30
data ingest
itera tions
LB
. . .
t+30
radars
Repository/blackboard
A B C D E F G H I J K 1 2 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 R1 R1 R1 F 1 R1 H1 ,F1 R1 H1 3 4 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 R2 R2 F 2,R1 F 2,H2 H1 T ,F1 2,R1 T 2,H1 T 2,R1 5 G3 G3 G3 G3 G3 G3 G3 R1 R1 R1 R1 6 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 7 G3 G3 G3 G3 G3 G3 G3 C2 C2 C2 G3 8 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 9 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 Feature Repository
repository/ blackboard
A B C D E F G H I J K
1 2 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 R1 R1 R1 F 1 R1 H1 ,F1 R1 H1
5 G3 G3 G3 G3 G3 G3 G3 R1 R1 R1 R1
6 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3
7 G3 G3 G3 G3 G3 G3 G3 C2 C2 C2 G3
8 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3
9 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3
20
40
60 iterations
80
100
120
140
300 250 runtime (msec) Optimization 200 150 100 50 0 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97 heartbeat Tas k Generation
A B C D E F G H I J K
1 G3 G3 G3 G3 G3 G3 G3 R1 R1 R1 R1
5 G3 G3 G3 G3 G3 G3 G3 R1 R1 R1 R1
6 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3
7 G3 G3 G3 G3 G3 G3 G3 C2 C2 C2 G3
8 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3
9 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3
task generation
feature repository
Michael Zink, David Westbrook, Sherief Abdallah, Bryan Horling, Vijay Lakamraju, Eric Lyons, Victoria Manfredi, Jim Kurose, Kurt Hondl, "Meteorological Command and Control: An End-to-end Architecture for a Hazardous Weather Detection Sensor Network," 2005 ACM Mobisys Workshop on End-end Sense-and-response Systems, June 200
data
query interface
streaming storage
J=
configurations ,C
max
tasks ,t
U (t , k )Q(t , C )
blackboard
A B C D E F G H I J K 1 G3 G3 G3 G3 G3 G3 G3 R1 R1 R1 R1 2 3 4 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 R1 R2 R2 F1 F2, R1 F2,H2 H1,F1 H1 ,F1 T2,R1 H1 T2,H1 T2,R1 5 G3 G3 G3 G3 G3 G3 G3 R1 R1 R1 R1
Feature Repository
R1 configurations
6 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 7 G3 G3 G3 G3 G3 G3 G3 C2 C2 C2 G3 8 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 9 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3 G3
R2 configurations
SNR data
policy
30 sec. heartbeat
U (t , k ) =
groups , g
w U (t , k )
g g
resource allocation
Quality how good is scanning configuration C (distance, coverage, # radars) for task t?
50
J=
separation of how important, U(t,k), from how good,Q(t,C) U(t,k,Q(t,C)) would have been possible but: complex to solve complex to specify and update U(t,k,Q(t,C)) stovepipe design
configurations ,C
max
tasks ,t
U (t , k )Q(t , C )
User feedback: NWS: want mental movie scanning areas of interest at regular intervals need context: scan areas around features (storm cell) want to joystick system (want their own network)
E3
task size
lowest
2+
Yes
1/ 2.5 min
User feedback: NWS: want mental movie scanning areas of interest at regular intervals need context: scan areas around features (storm cell) want to joystick system want to joystick system (want their own network) (want their own network)
51
instead of this.
storage
CASA code CASA code CASA code CASA code
CASA code
observed state policy utliity fcn end users
instead of this.
storage
CASA code CASA code CASA code CASA code
CASA code
observed state policy utliity fcn end users
CASA code
resource allocation
CASA code
resource allocation
CASA CASA code code observed state user code end users
CASA code
CASA code
user
user
CASA code
resource allocation
Why virtualization?
users want programmability/resources at in-network nodes: computing over local data, storage good application: avoid active networking redux challenges: virtualizing sensing resources: sharing: sensed data from one user usable by another (unlike bandwidth, computing) admission control: mediating among different users with different priorities
partially satisfiable user requests? (negotiate?) time-vary allocation of resources? priorities among users (policy)?
Sensing the world with mobile devices (Nokia Research Center) http://research.nokia.com/files/insight/NTI_Sensing_-_Dec_2008.pdf
Emerging Directions
Participatory Sensing
Use sensors on cell phones in order to record environmental conditions, personal usage, and so forth Enables citizen sensing
52
Sample Projects
Personal Environmental Impact measurement
UCLA
Research Challenges
Privacy, privacy, privacy Application development, role of cloud computing Mobile social networking
Recreational Networking
Dartmouth
Traffic management
UC Berkeley
Urban Documentation
USC
Challenges in Bodynets
Some commonality with sensornets Differences
Non-invasive design Smaller batteries, more stringent tradeoffs Packaging and placement details crucial
http://people.virginia.edu/~bhc2b/papers/HansonEtalComputer09.pdf
Application
Most works in medical health-care. There is an effort to combine with mobile device
53
Questions?
54