Multi-Resolution Storage and Search in Large Wireless Sensor Networks Konrad Iwanicki and Maarten van Steen Vrije Universiteit Amsterdam The Netherlands J une 17, 2009 ICC 2009, Dresden, Germany 2 Introduction Many sensor network applications require: large numbers of sensor nodes continuously collecting data from the surrounding environment. Examples: habitat and microclimate monitoring, precision agriculture, structural monitoring, asset tracking. J une 17, 2009 ICC 2009, Dresden, Germany 3 Fidelity vs. scalability Such an amount of data forces a trade-off between: system scalability data fidelity Centralized data-collection mechanisms generally scale poorly beyond tens of nodes. Better scalability requires in-network aggregation. In-network aggregation, however, precludes high data fidelity: One can query the aggregate reading for the whole network, but not the readings of individual sensors. Low data fidelity is inadequate in many large-scale applications of sensor networks. J une 17, 2009 ICC 2009, Dresden, Germany 4 Principal idea Provide scalable adaptive data fidelity: explore the trade-off between the system scalability and the data fidelity. Employ a distributed multi-resolution storage and search mechanisms: Each sensor node participates in a distributed storage system. The storage system is based on a multi-level recursive overlay that enables: In-network aggregation, Querying. J une 17, 2009 ICC 2009, Dresden, Germany 5 Multi-resolution aggregation Coarsest Resolution (Level 2) Finer Resolution (Level 1) Finest Resolution (Level 0) Compressed data from Level 1 is decompressed and re-compressed jointly with higher compression factor. This jointly compressed data is forwarded up the hierarchy. Spatial Aggregation Temporal Aggregation Raw data of a node is temporarily aggregated at the node. level-2 aggregator level-1 aggregators Source: Ganesan et al. Multiresolution storage and search in sensor networks, ACM Trans. Comput. Syst., vol. 1, no. 3, p. 277-315, August 2005. J une 17, 2009 ICC 2009, Dresden, Germany 6 Drill-down querying Source: Ganesan et al. Multiresolution storage and search in sensor networks, ACM Trans. Comput. Syst., vol. 1, no. 3, p. 277-315, August 2005. Coarsest Resoluti on (Level 2) Finer Resolution (Level 1) Fi nest Resolution (Level 0) The query is processed on the available view of data and is forwarded to the region that is most likely to satisfy the query. A query is first addressed to the root of the hierarchy. J une 17, 2009 ICC 2009, Dresden, Germany 7 Problems The current design is based on geographic coordinates: the overlay is a quad tree aggregates and queries use geographic routing Problems (untrue assumption that geographic proximity implies connectivity): Special mechanisms to handle different cases. Difficulty of porting geographic routing to three dimensions. Special localization hardware or algorithms. Can we use a different network organization? J une 17, 2009 ICC 2009, Dresden, Germany 8 Our approach Observation: Connectivity usually implies proximity. Employ a network organization based on actual physical connectivity rather than artificial geographic coordinates: Area hierarchy. J une 17, 2009 ICC 2009, Dresden, Germany 9 Area Hierarchy Area hierarchy based on connectivity, nodes self-organize into a multi-level hierarchy of nested network areas. This is a basis for: Naming Routing. P L I B Q G K C R E D J H F O M N A J une 17, 2009 ICC 2009, Dresden, Germany 10 Area Hierarchy Area hierarchy based on connectivity, nodes self-organize into a multi-level hierarchy of nested network areas. This is a basis for: Naming Routing. P.L L.L I.H B.G Q.G G.G K.G C.G R.G E.G D.D J .D H.H F.H O.H M.H N.H A.L J une 17, 2009 ICC 2009, Dresden, Germany 11 Area Hierarchy Area hierarchy based on connectivity, nodes self-organize into a multi-level hierarchy of nested network areas. This is a basis for: Naming Routing. P.L.G L.L.G I.H.G B.G.G Q.G.G G.G.G K.G.G C.G.G R.G.G E.G.G D.D.G J .D.G H.H.G F.H.G O.H.G M.H.G N.H.G A.L.G J une 17, 2009 ICC 2009, Dresden, Germany 12 Aggregation Each node is a head of a group at some level, thereby also the aggregator for that group. P.L.G L.L.G I.H.G B.G.G Q.G.G G.G.G K.G.G C.G.G R.G.G E.G.G D.D.G J .D.G H.H.G F.H.G O.H.G M.H.G N.H.G A.L.G Level-1 group head. Level-0 group head. Level-2 group head. J une 17, 2009 ICC 2009, Dresden, Germany 13 Aggregation Each node is a head of a group at some level, thereby also the aggregator for that group. P.L.G Level-0 group head. Aggregator for G 0 P . J une 17, 2009 ICC 2009, Dresden, Germany 14 Aggregation Each node is a head of a group at some level, thereby also the aggregator for that group. L.L.G Level-1 group head. Aggregator for G 0 L and G 1 L . J une 17, 2009 ICC 2009, Dresden, Germany 15 Aggregation Each node is a head of a group at some level, thereby also the aggregator for that group. G.G.G Level-2 group head. Aggregator for G 0 G , G 1 G and G 2 G . J une 17, 2009 ICC 2009, Dresden, Germany 16 Aggregation At level-0, temporal aggregation of local readings. P.L.G L.L.G I.H.G B.G.G Q.G.G G.G.G K.G.G C.G.G R.G.G E.G.G D.D.G J .D.G H.H.G F.H.G O.H.G M.H.G N.H.G A.L.G J une 17, 2009 ICC 2009, Dresden, Germany 17 Aggregation At higher levels, spatial aggregation at parent aggregators. P.L.G L.L.G I.H.G B.G.G Q.G.G G.G.G K.G.G C.G.G R.G.G E.G.G D.D.G J .D.G H.H.G F.H.G O.H.G M.H.G N.H.G A.L.G J une 17, 2009 ICC 2009, Dresden, Germany 18 Aggregation At higher levels, spatial aggregation at parent aggregators. L.L.G G.G.G D.D.G H.H.G J une 17, 2009 ICC 2009, Dresden, Germany 19 Querying A query is first processed by the top-level aggregator. G.G.G N.H.G Query issuer. J une 17, 2009 ICC 2009, Dresden, Germany 20 Querying And then by the aggregators at subsequent hierarchy levels. L.L.G G.G.G D.D.G H.H.G N.H.G Query issuer. J une 17, 2009 ICC 2009, Dresden, Germany 21 Aggregation And then by the aggregators at subsequent hierarchy levels. P.L.G L.L.G N.H.G A.L.G Query issuer. J une 17, 2009 ICC 2009, Dresden, Germany 22 Querying And then by the aggregators at subsequent hierarchy levels. P.L.G N.H.G Query issuer. The reply is found here. J une 17, 2009 ICC 2009, Dresden, Germany 23 In the paper, we discuss the details of: How does the hierarchical naming work? How does the routing of aggregates and queries work? How are the naming and routing used to provide the aggregation and querying? How can one maintain the names and the routes? J une 17, 2009 ICC 2009, Dresden, Germany 24 Evaluation Simulations (application-blind): Event driven. Unit-disk connectivity. No message loss. Experiments: Only the hierarchy maintenance and routing algorithm. No full system prototype yet. J une 17, 2009 ICC 2009, Dresden, Germany 25 Sample results 0 20000 40000 60000 80000 100000 120000 140000 1 4 16 64 256 1024 4096 #
m e s s a g e s network size average over 100 runs optimal centr. w/ aggr. optimal centr. w/o aggr. 0 1000 2000 3000 4000 5000 6000 7000 1 4 16 64 256 1024 4096 #
m e s s a g e s network size 0% 14% 17.3% 25.8% 29.9% 30.5% 31.3% hier.-based muti-res. stor. optimal centr. w/ aggr. Cost of multi-resolution aggregation. J une 17, 2009 ICC 2009, Dresden, Germany 26 Conclusion Multi-resolution storage based on area hierarchy is an appealing solution. Warrants more research. More real-world experimentation is necessary to truly evaluate its potential. More in-depth analysis on potential applications is necessary. Open question: Will our idea remain an academic exercise or will it lead to real world systems? J une 17, 2009 ICC 2009, Dresden, Germany 27 Thank you Any questions?