Академический Документы
Профессиональный Документы
Культура Документы
WSN Definition
Wikipedia entry
A wireless sensor network (WSN) is a wireless network consisting of spatially distributed autonomous devices using sensors to cooperatively monitor physical or environmental conditions, such as temperature, sound, vibration, pressure, motion or pollutants, at different locations.
Sensor
CPU
Radio
Technology that enables WSN is relatively new (wireless data networks, microcontrollers/computers)
Internet: slowly.
Wireless products sometimes earlier, work also pushed forward in industry consortia (ZigBee Alliance, Bluetooth SIG, WiFi Alliance, WiMAX Forum)
1981: The first portable computer, the Osborne 1, is unveiled. The 25-pound unit was designed to fit underneath an airline seat. One problem for users was the machine's minuscule 5-inch display.
Tens, hundreds, thousands of nodes scattered throughout an environment Sensor nodes have to be cheap Each sensor can collect data Data routed via other sensors to
One or more sink or base station nodes Other sensors
Complete Architecture: multiple WSN, fixed Core (Example: surveying multiple airports, border crossings, etc.)
IP Router
Monitoring data processing Event dissemination 1st responder notification
XML Router
Wireless Transceiver
Monitored Area
Sensor
IP
sensor data collection and archive: information made available via web services
WSN Applications
Many ways to categorize them
IEEE Computer, August 2004: special issue on sensor networks Monitoring Space Habitat monitoring, precision agriculture, surveillance, treaty verification, indoor climate control, . Monitoring Things Structural monitoring, ecophysiology, medical diagnostics, urbain terrain mapping, . Monitoring interaction of Things with each other and surrounding Space Wildlife habitat, disaster management, pervasive computing, asset tracking, manufacturing process flow, . 2008 PhD Thesis Disaster Relief and Response Medicine and Health Care Environmental Monitoring and Control Intelligent Buildings Military Applications
Collecting detailed data about some phenomenon can help advance respective science/knowledge
Contaminant Transport
Marine Microorganisms
Ecosystems, Biocomplexity
10
Collect heart rate (HR), oxygen saturation (SpO2), and EKG data, relay it over a short-range (100m) wireless network to any number of receiving devices Display data in real time. The sensor devices process the vital sign data, for example, raise an alert condition when vital signs fall outside of normal parameters. Any adverse change in patient status signaled to a nearby medical expert. Challenges: wearable sensors, reliability, QoS/prioritization, privacy, .
11
12
13
Later, more applications about impacting everyday life in new and useful ways (includes humans in the loop very much)
FireBug: monitor for fire fronts, help firefighters to combat fire, warn them about changes, etc. CodeBlue: monitor patients, alert medical personal Smart Homes: allow elderly/sick to stay at home, in their usual environment RUNES: provide improved tunnel safety
All applications above are still single-purpose WSN: designed for one purpose, run by a single organization, very centralized approach What happens if single WSN supports many different applications for different users (resource scheduling and contention), application requires data from multiple sensors/domains/networks,
WSN Challenges
14
WSN Limitations
Communication
Bandwidth is limited and must be shared among all the nodes in the sensor network Spatial reuse essential Efficient local use of bandwidth needed
Sensor energy
Each sensor node has limited energy supply Nodes may not be rechargeable Eventually nodes may be self-powered Energy consumption in sensing, data processing, and communication Communication often the most energy-intensive For some sensors (e.g., imagers), sensing may also be energy-intensive Must use energy-conserving protocols
Are there reusable architectures, platforms, design tools, run-time services, estimation algorithms etc.? Answer is probably still out Standards are being developed: TinyOS, Zigbee, etc. Lots of efforts still going on to develop customized solutions (for example, http://www.thisisant.com)
15
Sensor
Sensor duty cycle period determined by latency and dynamics Sample rate determined by signal b/w
CPU
Radio
Sensor Processor
Rare EVENT
Radio Tx
16
Multidisciplinary Challenges
Embed numerous distributed devices to monitor and interact with physical world Network devices to coordinate and perform higher-level tasks
Embedded
Control system w/ Small form factor Untethered nodes
Networked
Exploit collaborative Sensing, action
Combines the hard problems of the Internet, Embedded Systems, Wireless Networks, and Distributed Computing!
17
Programming-in-the-Large
WSN are large: programming abstractions for programming and reprogramming 100s or 1000s of nodes Software development tools: Testing applications before deployment Monitoring nodes
WirelessNetworking
Design of network protocol stack (layered, cross-layered, .?) New WSN-specific protocol paradigms (data-centric routing, security, energy-efficient protocols, .) New protocol requirements (localization, clock synchronization, in-network data aggregation, coverage and topology control, )
Wired Networking:
impact of sensor data flows how to route what data to interested parties discovering sensors/WSN
18
CPU
radio
Storage
battery
Radio
Power
Sensors
Vast majority of work uses Sensors, few examples include actuators Used to be taken for granted, but
Sensor capabilities determine core WSN functionality (hence new sensor developed all the time) Sensors may consume a significant amount of energy (cameras, for example) Provide very different types and amount of data, may be programmable/controllable Biomedical sensors have unique constraints Calibrating sensors is not trivial even for trivial sensors
19
Capabilities
XYZ
MICA Mote
Microcontroller (8 16b) Narrow Band radio Low bit rate, low performance sensors Long relative lifetime at continuous operation
Microprocessor (32b) Broad Band radio High performance sensors Short relative lifetime at continuous operation
Mote-class Node
Microserver-class Node
~ 6000 ops/bit
20
Not really an operating system in the traditional sense More like an application specific operating system Application = Scheduler + Graph of Components Concurrency Model - Event-driven architecture Naturally implies a Single shared stack Static memory allocation, whole program analysis and optimization Programming in NesC, an extension of C
Cons
A new programming language Static memory allocation => resource over subscription. Not really an OS. Blur resource abstraction. No resource management. Simple concurrency model => lots of critical sections. Monolithic firmware image hard to reconfigure dynamically
21
Beyond TinyOS
Three key aspects of TinyOS
Component model (static graph) Concurrency model (foreground-background, non-preemptive FIFO scheduled tasks) Memory model (static)
E.g. sensor networks for environmental observation evolving towards a shared observatory model
NSF NEON initiative
22
Reconfiguration Options
Entire Image (TinyOS) Modular Binary (SOS) Differential Binary Patching Lightweight Scripts (VMs - e.g. Mat)
Flexibility
Approach
Execution environment with capability to remotely insert and remove binary modules without disruption in mote-class devices Efficient multihop module distribution protocol
Dynamic Modules
Dynamic Loadable Binary Modules Dynamic Loadable Binary Modules Drivers, protocols, and applications Inexpensive to modify after deployment Position independent
Static Kernel
Hardware abstraction and common services Costly to modify after deployment Data structures to enable module loading
23
Contiki
Event-driven kernel, neat light-weight protothread feature, per-process optional pre-emptive multithreading, TPC/IP stack, GUI subsystem with VNC support, loading and unloading of programs http://www.sics.se/~adam/contiki/
Mantis
Thread-based kernel with subset of POSIX threa API http://mantis.cs.colorado.edu/
uC/OS-II, uClinux etc. Note: for high-end sensors, increasingly use (embedded) Linux
Programming-in-the-Large
How do we task a 1000+ node dynamic sensor network to conduct complex, long-lived queries and tasks ?
What constructs does the query language need to support?
What sorts of mechanisms need to be running in the background in order to make tasking efficient?
Small databases scattered throughout the network, actively collecting data of nearby nodes, as well as accepting messages from further away nodes? Active messages traveling the network to both train the network and identify interesting or anomalous conditions?
24
Macroprogramming
Higher level programming designed to remove node specifics from sensor network programming Abstractions
Basic How should the network be exposed, how to do distributed control and data flow, etc. How to be language agnostic Advanced Allow dynamic user-level control of heterogeneity, resource management,
Robustness
How to programmably discover, recover from, and tolerate faults
Efficiency
How to minimize energy consumption by optimizing network traffic How to minimize the effect of a layered architecture on nodes
25
Macroprogramming Space
Macroprogramming
Abstractions
Support
Global Behavior
Local Behavior
Composition
Snack DFuse Sensorware
Safe Execution
Mate Tofu Agilla Sensorware
Services
Impala Emstar
26
Database Model
Macroprogramming
Abstractions
Support
Global Behavior
Local Behavior
Composition
Safe Execution
Services
Node Dependent
Data/Task Centric
Geometric
27
Sensor Network
Streaming data Large number of nodes Multi-hop network No global knowledge about the network Frequent node failure Energy is the scarce resource, limited memory Autonomous
Warehouse
Front-end
Sensor Nodes
28
Front-end
Sensor DB
Sensor DB
Sensor DB Sensor DB
Sensor DB
Sensor Nodes
Performance Metrics
High accuracy
Distance between ideal answer and actual answer? Ratio of sensors participating in answer?
Low latency
Time between data is generated on sensors and answer is returned
29
Sensor Queries
Conditions on time and space Location dependent queries Constraints on time stamps or aggregates over time windows Event notification
Divide time into epochs Every epoch, sensors evaluate query over local sensor data and data from children
Aggregate local and child data Each node transmits just once per epoch Pipelined approach increases throughput
30
SQL-like syntax
The sensors relation (table) has one column for each reading-type one row for each value
SELECT AVG(light) FROM sensors WHERE sound < 100 GROUP BY roomNo HAVING AVG(light) < 50
Abstractions
Support
Global Behavior
Local Behavior
Composition
Safe Execution
Services
Node Dependent
Node Independent
Data/Task Centric
Geometric Hood
31
Hood
Neighborhood is a common concept Hood supports neighborhood as a programming primitive Neighborhood-based algorithms are decomposed into
Neighbor lists Data caches Messaging Protocols
32
WSN: Networking
How to revisit/redesign known protocols under energy-constraints New protocol challenges (network protocols: nodes jointly solve a task)
Topology control: ensure all sensors are connected, even if some sensors sleep or use less than maximum transmission power Coverage: ensure that set of currently no sleeping sensors cover the area, given a certain sensing range (maybe ensure n-times coverage) Clock Synchronization Localization
33
FTP - A TCP - A
C A
D TCP - E
E FTP - E
Cross-layer Architectures
Application Transport Network MAC Physical Conventional Application Transport Network MAC Physical Cross-layer Application & Transport
Physical
34
Localization
Many devices embedded in real-world artifacts, so GPS is not an option
Tunnel: no LOS to satellites, unlikely to upgrade tunnels with pseudolites Also imposes additional cost on sensor nodes and drain on energy
Software-based solutions
Communicate with neighbors to determine location Iteratively, starting with nodes with known locations (anchors), will provide either relative or absolute location information Cooperatively (relative location information) If some nodes are anchors, can turn this into absolute location info Ranging measurements based in wireless interface helpful where available, but not always available or of sufficient accuracy to be useful SNR not a really good indicator of distance (noise, non-linear relationship) UWB: more accurate ranging possible
35
Basics of Localization
Iterative Trilateration/Triangulation: utilize distance/angle information between the node and the anchor nodes
Often requires high volume of anchor nodes (12 channel GPS receiver better than 8 channel) Iterations of messaging
Cooperative Localization: joint utilization of all connectivity/distance information among all nodes
Require minimum anchor nodes or anchor free High level of accuracy Computationally intensive
10 10
8
8 6 4
8 6 4 2 0 5 10 0 0 5 10
2 0
(b)
(c)
10
(a)
36
MDS-MAP(P,R) CCA-MAP
10
30
0.4 Median Error (r) 0.3 0.2 0.1 0
10
30
10
15 20 Connectivity
25
30
10
15 20 Connectivity
25
30
Network Time-Synchronization
Objective => To align the time processes T(t) of all the clocks belonging to a network through the use of the links (wireless in our case) used for communication purposes. A clock:
Oscillator Counter
dT =1 dt
Tp
Clocks are inaccurate (run at different speeds): IEEE 802.11 requires clocks with 25 ppm accuracy IEEE 802.15 requires clocks with 40 ppm accuracy
37
Excessive Overhead Hu and Servettos Protocol: Node Located in the networks center of mass (How to find it? What if it breaks?)
Rx
Rx
Rx
Receiving nodes Rx. time info. at same time and then exchange their observations
44 33 11
55
22
2 3 4
5
aBeaconPeriod
38
1 0.9 0.8 Pany of IEEE TSF with DSSS PHY. Pgiven of IEEE TSF Pany of IEEE TSF with DSSS PHY
The diffe re nce be twe e n Pany and Pgive n sugge sts a pote ntial gain by using the information carrie d in any be acon trans mitte d succe s sfully
How?
10
20
40 60 Number of nodes
80
100
150
3
4 4 3 3 1 1 2 2 5 5
1 2 3 4 5
39
WSN OS/Middleware
????
WSN Testbeds/Prototypes
CRC SCE
40
Throughput bounds for multihop wireless networks Network coding in the presence of link/node/route errors
41