1 / 38

Continuous Nearest Neighbor Monitoring in Road Networks K. Mouratidis 1

Continuous Nearest Neighbor Monitoring in Road Networks K. Mouratidis 1 Joint work with: M.L. Yiu 2 , D. Papadias 3 , N. Mamoulis 2 1 School of Information Systems, Singapore Management University 2 Dept. of Computer Science, University of Hong Kong

lphilips
Download Presentation

Continuous Nearest Neighbor Monitoring in Road Networks K. Mouratidis 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Continuous Nearest Neighbor Monitoring in Road Networks K. Mouratidis1 Joint work with: M.L. Yiu2, D. Papadias3, N. Mamoulis2 1 School of Information Systems, Singapore Management University 2 Dept. of Computer Science, University of Hong Kong 3 Dept. of Computer Science, Hong Kong Uni. of Science & Technology

  2. Introduction The k-NN problem: Given a query point q and a set of objects P, find the k objects in P that are closest to q.

  3. Introduction Continuous NN monitoring: Long-running queries demand constant update of their results. Existing methods are designed for Euclidean spaces. Consider a road network(where edge weights correspond to their length, or travel time). Queries and objects move in the network. Network distance: the length (i.e., sum of weights) of the shortest path connecting them. (Example: taxi – pedestrians)

  4. Introduction Continuous NN monitoring in a Road Network: Queries and objects move in an unpredictable manner in the network, issuing an update whenever they move Network edges issue weight updates Central server processes the stream of updates, and continuously reports the k NNs of each query according to network distance Aim: to minimize the query processing time

  5. Related Work Snapshot NN in road networks: e.g., Papadias et al. VLDB’03, Kolahdouzan and Shahabi VLDB’04 - Static data objects, One-time results Path NN in road networks: Cho and Chung VLDB’05, Kolahdouzan and Shahabi STDBM’04 - Staticdata objects, Known query trajectory Euclidean NN monitoring: Yu et al. ICDE’05, Xiong et al. ICDE’05, Mouratidis et al. SIGMOD’05 Grid index: cannot capture network-imposed constraints Circles/rectangles: no mapping to network distance space Do not deal with edge updates

  6. Incremental Monitoring (IMA) and Group Monitoring (GMA) Algorithms Two methods (IMA, GMA) for: monitoring NNs according to network distance, with low CPU cost. Edges: indexed with a quadtree. We store with each edge (i) the objects in it, and (ii) an influence list. Queries: For each query we store its current NNs, and its expansion tree.

  7. IMA: Initial NN computation Initial result (k=3): expansion tree, infl. intervals, and marks Only updates affecting the expansion tree can alter the result! Store q in influence lists of affecting edges

  8. IMA: Object updates (Case 1) Outgoing no more than incoming NNs: update result + shrink expansion tree

  9. IMA: Object updates (Case 1) New (shrunk) expansion tree

  10. IMA: Object updates (Case 2) More outgoing than incoming: re-compute from marks + expand tree

  11. IMA: Object updates (Case 2) New (grown) expansion tree

  12. IMA: Query updates Re-compute starting from valid tree marks

  13. IMA: Edge updates - Weight increase

  14. IMA: Edge updates - Weight decrease

  15. IMA: Multiple concurrent updates Order of updates: Decreasing edge weights Increasing edge weights Query movement Object updates For each affected query q NN set= k best among remaining NNs and incomers Expand from marks in valid expansion tree

  16. GMA: Main idea Sequence: path between consecutive intersection or terminal nodes The k-NN set of any query in sequence s is in the union of (i) the objects in s, (ii) the k-NNs of its intersection nodes (endpoints).

  17. GMA: Main idea (example) Objects on sequence between n1 and n5 = {p4, p5} 2-NNs of intersection n1 = {p1, p5} 2-NNs of intersection n5 = {p3, p2} 2-NNs of q1 or q2 {p4, p5} {p1, p5}  {p3, p2}

  18. GMA: Active nodes active node: intersection node of nonempty sequence GMA monitors the k-NNs of active nodes (using IMA), and uses them to compute the NNs of the actual user queries GMA reduces CPU time by shared execution among queries in the same sequence reduction from NN monitoring of moving queries to NN monitoring of static active nodes.

  19. GMA: Update processing Initial Result: utilizing active node NNs NN Maintenance: In every processing cycle do: Update NNs of active nodes with IMA. If NNs of active node n change, re-compute affected queries in sequences adjacent to n If object/edge updates occur in sequence s, re-compute affected queries within sequence s Re-compute moving queries

  20. Sample experimental results N=100K, k=50, fobj=fqry=10%, fedg=4% Competitor: no previous work. OVH: re-computes from scratch.

  21. Sample experimental results n=5K, N=100K, k=50, fobj=10%, fedg=4%

  22. Sample experimental results n=5K, N=100K, k=50, fobj=fqry=10%

  23. Sample experimental results n=5K, N=100K, fobj=fqry=10%, fedg=4%

  24. Summary First work on NN monitoring in road networks. - No assumption about query/object moving patterns - Edge weights fluctuate We propose two methods: IMA: incremental NN maintenance GMA: query grouping - shared execution GMA is faster and requires less space.

  25. Thank you!

  26. 4. Road-CNN (IMA) Incremental Monitoring Algorithm (Uobj, Uqry, Uedg) For each query q in Uqry that moves outside q.tree Delete q from the influence lists of affecting edges ; Discard q.tree and q.best_NN For each edge e in Uedg with decreasing weight For each query q in e.IL Delete invalid part of q.tree ;Remove q from invalid inf. lists ; Remove invalid NNs Update distances of nodes in valid part of q.tree ;Update the distances of NNs in valid q.tree For each edge e in Uedg with increasing weight For each query q in e.IL (same as lines 5, 6) For each query q in Uqry that moves inside q.tree (same as lines 5, 6) For each object p in Uobj Delete p from its old edge ; Insert p into its new edge For each query affected by p Treat p as outgoing, incoming, or moving NN For each query q affected in lines 1, 4, 8, 9, 12 q.best_NN = k best objects among remaining NNs and incomers Insert into min-heap H the marks of the valid q.tree If head of H has key < distance of the kth object in q.best_NN Consider all nodes in the valid q.tree as verified ; Perform NN search initializing heap to H If necessary, shrink q.tree ; Update influence lists accordingly

  27. 4. Road-CNN (GMA) Four events may alter NNs of a query q in s: (i) movement of q, (ii) changes in the NN sets of active nodes of s, (iii) object updates in s, and (iv) edge updates in s. Group Monitoring Algorithm (Uobj, Uedg, Qins, Qdel) For each query q in Qins (Qdel) Insert (delete) q in the corresponding edge ; Update n.k for active nodes of containing sequence Invoke IMA for active nodes, taking into account changes in n.k For each node n whose result changed in line 3 Mark as affected each query in n.Q influenced by n For each update <p.id, pold, pnew> in Uobj For each query q in old (new) sequence that is affected by pold (pnew) Mark q as affected For each edge e in Uedg //Let s be the sequence containing e Mark as affected each query in s that is affected by e For each query q marked as affected or in Qins Compute q.best_NN from scratch (utilizing active node NN sets)

  28. Road-CNN experimental settings

  29. Experimental results

  30. Experimental results

  31. Experimental results

  32. Experimental results

  33. Experimental results

  34. Experimental results

  35. Experimental results

  36. Experimental results (Space)

  37. Experimental results (with Brinkhoff data)

  38. Experimental results (with Brinkhoff data)

More Related