170 likes | 199 Views
Wireless Sensor Networks. Ramesh Govindan ramesh@usc.edu Lab Home Page: http://enl.usc.edu/ Personal Home Page: http://cs.usc.edu/~ramesh/. The Progress of Technology. Platforms with Processors Memory (flash, RAM) Low-power radios Sensors! Temperature Light Humidity Acceleration
E N D
Wireless Sensor Networks Ramesh Govindan ramesh@usc.edu Lab Home Page: http://enl.usc.edu/ Personal Home Page: http://cs.usc.edu/~ramesh/
The Progress of Technology • Platforms with • Processors • Memory (flash, RAM) • Low-power radios • Sensors! • Temperature • Light • Humidity • Acceleration • Battery operated
Networked Embedded Sensing • Put many of these nodes close to phenomena • Network them • Wireless, multi-hop • Deployment becomes easy! • Computation and processing is necessarily distributed • Nodes are battery-powered • … and communication requires energy • … and likely to stay that way
Application Areas Seismic Structure response Contaminant Transport Ecosystems, Biocomplexity Marine Microorganisms Structural Condition Assessment Computers in the Physical World!
Data Logger Sensor
Where’s the Computer Science in this? To build a software infrastructure for developing networked embedded sensing applications
An Example • Treat a sensor network as a database and use in-network storage. • Provide an efficient solution for multi-dimensional range queries. • e.g. List all events whose temperature lies between 70 and 80 and whose light levels are between 10 and 15. • Useful for searching and correlating events of interests with multiple attributes. • Drill-down searching, trigger and action, … • Fascinating example of the confluence between databases and networking!
Functionality Efficient range query for multidimensional data. Approaches Divide sensor field into bins. Locality preserving mapping from m-d space to geographic locations. Use geographic routing such as GPSR. Assumptions Nodes know their locations and network boundary No node mobility E2= <0.6, 0.7> E1 = <0.7, 0.8> Q1=<.5-.7, .5-1> Distributed Index for Multi-Dimensional Data (DIM)
Divide network into zones. Each node mapped to one zone. Encode zones based on division. Each zone has a unique code. Map m-d space to zones. Zones organized into a virtual binary tree. L[0, 1/2) L[1/2, 1) T[3/4, 1) 3 6 5 4 8 2 1 7 9 T[1/2, 1) T[1/2, 3/4) T[1/4, 1/2) T[0, 1/2) T[0, 1/4) L[1/4, 1/2) L[1/2, 3/4) L[3/4, 1) L[0, 1/4) Building Zones 010 0111 110 1111 1110 0110 0001 10 10 001 0000 L: Light, T: Temperature
1 0 1 0 3 9 6 2 4 7 8 1 5 6 1 8 9 5 7 4 3 2 1 0 1 0 1 1 0 0 1 1 0 0 1 0 10 Virtual Binary Tree L[0, 1/2) L[1/2, 1) 010 110 0111 1111 T[3/4, 1) T[1/2, 1) 1110 T[1/2, 3/4) 0110 T[1/4, 1/2) 0001 T[0, 1/2) 10 T[0, 1/4) 10 001 0000 L[1/4, 1/2) L[1/2, 3/4) L[0, 1/4) L[3/4, 1)
Encode events Compute geographic destination Hand to GPSR Intermediate nodes can refine the destination estimation L[0, 1/2) L[1/2, 1) 1111 010 0111 110 T[3/4, 1) T[1/2, 1) E1= <0.8, 0.7> 1110 T[1/2, 3/4) 2 3 4 5 1 9 8 6 7 0110 Store E1 T[1/4, 1/2) 0001 T[0, 1/2) 10 T[0, 1/4) 001 0000 10 L[1/4, 1/2) L[1/2, 3/4) L[3/4, 1) L[0, 1/4) Data Insertion L: Light, T: Temperature
Split a large query into smaller subqueries. Encode each subquery. Process subqueries separately, resolving locally or forwarding to other nodes based on their codes. L[0, 1/2) L[1/2, 1) 1111 010 0111 110 Q11= <.5-.75, . 5-1> T[3/4, 1) T[1/2, 1) Q12= <.75-1, .75-1> 1110 T[1/2, 3/4) 7 2 3 4 1 5 6 8 9 0110 Q10= <.75-1, .5-.75> T[1/4, 1/2) 0001 T[0, 1/2) 10 Q1= <0.5-1, 0.5-1> T[0, 1/4) 001 0000 10 L[1/4, 1/2) L[1/2, 3/4) L[3/4, 1) L[0, 1/4) Query L: Light, T: Temperature
Use TinyDB Schema Tuple Storage on Flash/RAM Insertion, deletion, search GPSR implemented with priority-based hop-by-hop reliability Favor query and reply messages different over other messages. DIM’s components Zone, Query, Insertion, Dispatcher Zone Query Insertion DIM Dispatcher Protocol- Independent Routing Shim Tuple Storage TinyDB Schema GPSR Flash/RAM Implementation on the Motes