290 likes | 400 Views
Lazy Updates: An Efficient Technique to Continuously Monitoring Reverse kNN. Presented By: Ying Zhang Joint work with Muhammad Aamir Cheema, Xuemin Lin, Wei Wang, Wenjie Zhang. University of New South Wales, Australia. Reverse Nearest Neighbor. Nearest Neighbor Query (NN)
E N D
Lazy Updates: An Efficient Technique to Continuously Monitoring Reverse kNN Presented By:Ying Zhang Joint work with Muhammad Aamir Cheema, Xuemin Lin, Wei Wang, Wenjie Zhang University of New South Wales, Australia
Reverse Nearest Neighbor • Nearest Neighbor Query (NN) • Find the object closest to q • Reverse Nearest Neighbor Query (RNN) • Korn et. al. Sigmod 2000 • Find objects s.t. q is their NN • Reverse k Nearest Neighbor Query (RkNN) • Find objects s.t. q is their kNN p2 is the nearest neighbor of q p1 and p4 are the reverse nearest neighbors of q
Applications • Location based services, • Location based games, • Army strategic planning … Continuous Monitoring of RkNN
Related Work • Continuous RNN and RkNN • Benetis et. al (IDEAS 2002) : motion patterns (e.g., speed, direction) of objects and query are known • Xia et. al (ICDE 2006) : continuous RNN without motion patterns • Kang et. al (ICDE 2007) : improve the ICDE 2006 techniques • Wu et. al (MDM 2008) : extend to RkNN monitoring
Preliminaries Half-space Pruning [VLDB04] Objects in the half-space containing a can be pruned Filtering Repeat until no objects in unpruned area Verification p is RNN iff no object p’ s.t. dist(p,p’) < dist( p,q) Static RNN query Unpruned area b c a q d e
Preliminaries Do filtering starting from the existing “candidates” if Query moves, or Candidate objects move, or An object moves to the unpruned area Do verification Continuous RNN query [ICDE07] Unpruned area b c a q d e
Proposed Framework Assign rectangular safe regions to objects and queries Prune objects using safe regions Advantages Low Computation Cost Low Communication Cost b c a q d e
Challenges Based on : Shortest pair ? Longest pair ? Combination of them ? NO R ? Q
Half-Space Pruning • Any x on right side of LN : • mindist(x,MN) = dist(x,N) • Hp:N : the half-space containing p and defined by the bisector between p and N • Any x on left side of LM : • mindist(x,MN) = dist(x,M) • Any x between LM and LN : • a parabola with mindist(x, MN) = dist(x,p) mindist(x,MN) > dist(x,p) LN LM x p x x Hp:N Hp:M q M N
Challenges R ? Q
Half-Space Pruning: Normalization • Frontier point Fp • Moved to Fp, the intersection of the half-spaces correctly bounds the pruned area • Hp:N passing Fp : normalized half-space H’p:N Hp:M p Fp H’p:N Hp:N H’p:M q M N
Half-space Pruning: Pruning Rule 1 HM:B HP:A N O R P M Fp H’N:E B A H’M:B Q H’O:D D E H’P:A Pairs of antipodal corners are (B,M), (A,P), (E,N) and (D,O)
Dominance Pruning : pruning rule 2 O N R P M Fp H’N:C H’M:B A B Q H’O:D C D H’P:A
Trimming the rectangle R RF2 RF1 Q
Metric based pruning : pruning rule 3 R’ R mindist(R’,Q) maxdist(R,R’) Q
Order of pruning rules R3 R1 RF R2 Fp Q
Algorithm Overview • Initial Computation • Filtering: Determine candidates • Verification: Verify each candidate • Continuous Monitoring • Update candidate objects (filtering) if • Query or a candidate moves out of safe region, or • An object enters the unpruned area • Verify all candidates
Illustration of Filtering O7 O5 O6 O3 O2 O1 Q O4 18
Illustration of Verification O7 O5 O5 O6 ? O6 O3 O2 O3 O2 O1 Q O1 Q O4 19
Data structure • Query table : id, safe region, candidate objects • Object table : id, safe region • Use grid data structure to support update • Each cell c of the grid : • Object list : objects whose safe regions overlap c • Influence list : queries whose unpruned area overlaps c
Theoretical Analysis Communication Cost : |Q| x (M1 + M2 + 1) + M3 • M1: # candidate objects • M2: #objects need exact location during the boolean range queries • M3: #objects that leave the safe regions N: Total number of objects w : width of the safe region v: average speed of objects |Q| : The number of queries
Experiment settings • Generate Moving objects and queries using Brinkhoff Generator [1] on road map of Texas • Data space : 1000 Km X 1000 Km • Our algorithm (SAC) is compared with IGERN [2] for RNN queries and CRkNN [3] for RkNN queries [1] T. Brinkhoff. A framework for generating network-based moving objects. GeoInformatica, 2002. [2] J. M. Kang, M. F. Mokbel, S. Shekhar, T. Xia, and D. Zhang. Continuous evaluation of monochromatic and bichromatic reverse nearest neighbors. ICDE, 2007. [3] W. Wu, F. Yang, C. Y. Chan, and K.-L. Tan. Continuous reverse k-nearest-neighbor monitoring. MDM, 2008
Evaluation of pruning rules Avg. time for PR3 : 1.1 µs ( metric based pruning rule ) PR2 : 2.3 µs ( dominance pruning rule ) PR1 : 10.5 µs ( half space based pruning rule )
Experiments: Number of objects IGERN : ICDE 2007 work for RNN SAC : Our algorithm
Experiments: Effect of data mobility • Data mobility is the percentage of objects/queries that change their location within one time unit
Experiments: RkNN queries CRkNN : MDM 2008 work for continuous monitoring RkNN SAC : Our algorithm
Conclusion • Study the problem of continuously monitoring reverse kNN • . • Propose new framework based on safe region • Outperform previous algorithms in terms of computation cost and communication cost