Optimal Nearest Neighbor Queries in Sensor Networks Gokarna Sharma and Costas Busch Division of Computer Science and Eng. Louisiana State University 1
Problem Description Distributed sensor network 2
Problem Description Objects are tracked by the sensors Red nodes are proxy nodes that detect the objects (one proxy per object) 3
Problem Description Query from a node: find the closest object Where is the closest object? 4
Problem Description Response to query: proxy to closest object Closeness is measured with graph hops (or graph distance) 5
Problem Challenges • Queries may initiate from arbitrary nodes • Objects can move • Unknown number of objects 6
Performance Metrics Use a distributed data structure to maintain position information for the objects Two performance cost metrics: Query cost: distance to returned proxy node Update cost: total communication cost to maintain data structure as the objects move 7
Update Cost Update cost lower bound: d i the total distance that the objects (proxies) have moved in the graph d 1 d d 3 2 d 5 d 4 8
Contributions A distributed directory approach based on a hierarchical clustering of the graph Low doubling dimension graphs: Query cost approximation: O 1 Update cost approximation: O log n n is the number of nodes 9
Contributions The results can be generalized to general graphs General weighted graphs: 4 Query cost approximation: O log n Update cost approximation: 3 O log n n is the number of nodes 10
Closeness Due to the directory structure, the absolute nearest object may be missed closest proxy node d Query node O ( d ) returned proxy We guarantee closeness in ( 1 ) O low doubling dimension graphs 11
Distributed Directory Approaches (for single object) Protocol Move Cost Network Runs on Kind Arrow O(S ST )=O(D) General Spanning tree [DISC’98] Relay O(S ST )=O(D) General Spanning tree [OPODIS’09] Combine O(S OT )=O(D) General Overlay tree [SSS’10] Ballistic O(log D) Constant- Hierarchical directory [DISC’05] doubling with independent sets dimension Spriral Arbitrary Hierarchical directory log 2 O n log D [IPDPS/12] Graphs with sparse covers ➢ D is the diameter of the network kind ➢ S is the stretch of the tree used 12
Problem of Spanning Tree Approaches These two nodes are far in tree 13
Hierarchical Clustering Network graph 14
Hierarchical Clustering Alternative representation as a hierarchy tree with leader nodes 15
Hierarchical Clustering At the lowest level (level 0) every node is a cluster 16
p-Doubling Dimension Graphs Every ball of radius R can be completely covered by at most balls of radius R/2. 2 2-doubling dimension
Overlay Tree Layers of independent sets of leaders root k k log D 2 k 1 2 2 k k 1 2 k 2 k 3 …… … Graph nodes 0 18
Parent Node Level i+1 2 i 1 Level i i 2 Refinement of independent sets 19
Parent Set Constant number of Level i+1 potential parent nodes 2 i 1 Level i i 2 Useful for query lookups 20
General Graphs The clusters are built from sparse covers i Each cluster has diameter 1 O ( 2 log n ) The parent set size is at most O (log n ) 21
Multiple Objects 22
Publish Object root proxy node ξ ➢ Assume that is the creator of which invokes the Publish operation ξ ➢ Nodes know their parent in the hierarchy 23
Publish Object Send request to the parent leader root 24
Publish Object Continue up phase root Sets downward pointer while going up 25
Publish Object Continue up phase root Sets downward pointer while going up 26
Publish Object Root node found, stop up phase root 27
Publish Object root ξ A successful Publish operation 28
Publish Object – multiple objects root The publish operation ends at any node with downward path 29
Move Object Classic directory approach root destination origin ξ ➢ Initially, nodes point downward to object owner (predecessor node) due to Publish operation ➢ Nodes know their parent in the hierarchy 30
Move Object Send request to parent leader node root 31
Move Object Continue up phase until downward pointer found root Sets downward path while going up 32
Move Object Continue up phase root Sets downward path while going up 33
Move Object Continue up phase root Sets downward path while going up 34
Move Object Downward pointer found, start down phase root Discards path while going down 35
Move Object Continue down phase root Discards path while going down 36
Move Object Continue down phase root Discards path while going down 37
Move Object Predecessor reached, object move completed root Query Lookup is similar without changing the directory structure 38
Move Object - Limitation For multiple objects the origin path and destination path may not be matched with the same object. x delete wrong path move 39
Move Object – new scenario Concurrent - Insert operations from destination & Synchronous Delete operations from source Common ancestor insert delete Inserts and delete eventually meet at lowest common ancestor 40
Move Object – 2 approaches 41
Conclusions O(1) query lookup, and polylog update cost In low doubling dimension graphs Polylog approximation for general graphs Open problem: • Prove matching lower bounds for move costs or improve upper bounds • Analyze concurrent multiple moves 42
Recommend
More recommend