1 / 57

Range Monitoring Queries in Location-based Services

Range Monitoring Queries in Location-based Services. Kien A. Hua School of EECS University of Central Florida. Location-Based Services. Integrate a mobile device’s position with other information so as to provide added value to the users. $6 a month

Télécharger la présentation

Range Monitoring Queries in Location-based Services

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. Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

  2. Location-Based Services Integrate a mobile device’s position with other information so as to provide added value to the users. • $6 a month • The phone uploads its GPS coordinates to the Mologogo server every few minutes. • You can view up to 100 of the last reported spots the person has been on a google map.

  3. Other Location-Based Services • Emergency services (E911 in US and 112 in Europe) • Traveler information systems in transportation • Traffic and incident Management • Other industries • Location-aware gaming • Advertising services • Environmental Monitoring • We focus our discussion on Location-based Queries that are important to Location-based Services.

  4. Location-Based Queries • Two kinds of location-based queries: • Snapshot queries: “Tell me 3 nearest cars around menow” • Continuous queries: “Monitor 3 nearest restaurants around me for thenext 10 minutes” • We focus on one continuous query type called Range Monitoring Query (RMQ).

  5. Range-Monitoring Query What is range-monitoring query ? • Retrieve mobile objects in a spatial region, and • Continuously monitor the population in the area

  6. Range Monitoring Queries Q2 a d e Q1 c b f

  7. Range Monitoring Queries Q2 a d Q1 e b c f

  8. Research Issues • How to minimize location updates ? • Each update involves mobile communication costs and server processing costs • How to minimize query processing cost ? • Query results keep changing • Traditional and spatial databases are not suitable for these tasks

  9. Safe Region Rectangular Safe Region Q1 Q2 Q5 a Q3 Q4 Circular Safe Region

  10. Problems with Safe Regions • Computing a safe region takes from O(n) to O(n log3n) • Adding a new query requires recomputation of safe regions for all objects • A solution - Monitoring Query Management (MQM)

  11. A mobile object A contacts the server when A exits the current resident domain, or enters or exits a query in the resident domain MQM - Resident Domain Q9 Q1 Q6 Q3 Resident Domain Q2 A Q5 Q7 Q4 N = 3 Q8

  12. Determine the Resident Domain Q2 and Q3 are relevant to monitoring region R22 Space is dynamically partitioned into disjoint subdomains Q2 Q3 R1 R21 R22 Q1 R31 Q4 R41 R42 Query Q2 overlaps query Q3

  13. Determine the Resident Domain Q2 Q3 R1 R21 R22 Q1 R31 a Q4 R41 R42 Too small

  14. Determine the Resident Domain Q2 Q3 R1 R21 R22 Q1 R31 a Q4 R41 R42 Resident domain for a

  15. Domain Decomposition • Suddomains and monitoring regions are maintained using BP-tree (Binary Partitioning Tree) • For each new query, • Search BP-tree to find the overlapping subdomains, each corresponding to a monitoring region. • Insert the monitoring regions into their subdomain • Split a subdomain if its number of monitoring regions exceeds the threshold

  16. BP-tree Example D domain node D data node Q1 Q1

  17. BP-tree Example D d1 d2 d1 d2 Q1 Q7 R71 R72

  18. BP-tree Example D d21 d1 d2 d1 Q9 d21 d22 R91 d22 R911 R912

  19. Advantages over Safe Regions • Resident domains can be determined efficiently • A new query generally affects only a small number of existing resident domains • Resident domain are generally much larger resulting in less location updates • Offloads query processing tasks to mobile units • Distributed processing • Trading computation for communications to conserve energy

  20. Mobile Communication Cost 30 25 20 Safe Region 15 Number of messages sent by mobile objects (millions) MQM 10 5 0 10 20 30 40 50 60 70 80 90 100 Number of monitoring queries (thousands)

  21. Server Processing Cost 1000 100 Safe Region 10 MQM Number of index nodes accessed (millions) 1 0.1 10 20 30 40 50 60 70 80 90 100 Number of monitoring queries (thousands)

  22. MQM - Summary MQM is highly scalable in terms of • Mobile communication costs, and • Server processing costs for real-time range monitoring queries

  23. Dynamic Range Query in Spatial Network Environments

  24. Moving Range Query • Defined by a range (e.g., within 5 miles) • Moves in accordance with a specific moving object (e.g., car) • Results include objects (e.g., gas stations) currently inside the specified range.

  25. Example - Moving Range Query UCF Show me Italian restaurants within 5 miles Airport

  26. Query Properties • Query Mobility: moving vs. stationary • Query Shape: static vs. dynamic • Objects: moving vs. stationary • Environment: open space vs. network • Open space: dealing with Euclidean distance • Network: dealing with network distance

  27. Dynamic Range Query (DRQ) *Shape of query footprint changes dynamically

  28. Network Distance Included in the query result d Moving Range Query Not included in the query result d Dynamic Range Query

  29. Example – Dynamic Range Query • Give me all the AAA vehicles on service within five miles from me, while I am driving from Orlando to Miami. • How to answer such queries efficiently ?

  30. DRQ - Dynamic Footprint Query Object

  31. DRQ - Dynamic Footprint

  32. DRQ - Dynamic Footprint

  33. DRQ - Dynamic Footprint

  34. DRQ - Dynamic Footprint

  35. Challenges • Server workload • Communication bandwidth • Limited battery power on client side • Dynamic query footprints

  36. System Assumptions • Every moving object is equipped with a positioning device. • Every moving object has some computing capability.

  37. Modeling Graph • Network • Undirected graph G = (N, E) • N: a set of nodes • E: a set of edges • Edge • e = <ni, nj> • ni: start node • nj: end node • i < j n4 - end node n3 - start node

  38. SS SE ES EE Edge Distance Network Distance between two edges • Four types of edge distance between two distinct edges: SS, SE, ES, EE • If the two edges are the same, we have SM type Edge distance is the shortest distance between two edges: d(ei, ej) = min( (dSS(ei , ej), dSE(ei, ej), dES(ei , ej), dEE(ei, ej) )

  39. Moving Objects • Two types of moving objects for a given query • Query object: the moving object defined as the spatial center of the dynamic range query • Data object: other objects • A moving object is a moving point in the road network < o, pos, direction, speed, reportTime, IsQuery > • pos = relative position from the S-node • direction = +1 if moving from S-node to E-node; -1, otherwise. • Speed = object speed. Query objects must report new speed • IsQuery = 1 if the object is a query object Compute New position of a moving object: newPos = (currentTime – reportTime)  speed  direction + pos

  40. nb nd nb nd nb nd nb nd oi oi oi oi oj oj oj oj na na na na nc nc nc nc SS SE ES EE Object Distance Four possible network distances between two objects The object distance is the minimum of the four

  41. Dynamic Range Query (DRQ) Query object Q, query range = 5 • Query has two parameters • q = <Oq , length> • Oq :query object • length : query range • The network space within the length distance from Oq makes up the query footprint • Query result includes all moving objects within the query footprint (e.g., Od) Query Footprint Od Oq Query result = {oi | oiO, d(oi , oq ) ≤ length}

  42. Monitoring Region • Position of query object o determines the set of edges overlapping with the current query footprint • As o moves over an edge e, the distinct footprints define a set of edges, referred to as the monitoring region of the DRQ when o moves on e. MonitoringRegion = {ei| ei  E, d(ei , ei )  length }

  43. Monitoring Region Example For a query object Q moving on edge n1 n6 with a query range as 5, the monitoring region is as follows <n1n6, SM, 0> n10 <n1n2, SS, 0>, <n1n8, SS, 0>, <n1n9, SS, 0> 4 <n2n3, SS, 3>, <n2n10, SS, 3> n3 n4 5 n2 2 <n3n6, EE, 0>, <n5n6, EE, 0>, <n6n7, SE, 0> 2 3 n5 6 n6 <n2n3, EE, 2>, <n3n4, SE, 2> n1 Q 4 <n1n2, EE, 4>, <n2n10, SE, 4> 6 7 6 n9 n7 The SE-distance from n1n6 is 4 n8 The server computes and multicasts this list to objects in the monitoring region

  44. Some Storage Techniques for Networks • J. Zhao and A. Zaki, “Spatial Data Traversal in Road Map Databases: A Graph Indexing Approach,” CIKM ’94 • D. Papadias, J. Zhang, N. Mamoulis and Y. Tao, “Query Processing in Spatial Network Databases,” VLDB ’03 • S. Shekhar and D. Liu, “CCAM: A Connectivity Clustered Access Method for Networks and Network Computations,” IEEE Trans. on Knowledge and Data Engineering, 9(1), 1997

  45. Processing on Mobile Host (1) Query object Q at location 3.6 on edge n1n6, query range is 5. Data object D at location 0.5 on edge n2n10. Multicast Message: n10 4 <n1n6, SM, 0> n3 n4 5 2 D n2 <n1n2, SS, 0>, <n1n8, SS, 0>, <n1n9, SS, 0> 2 4 6 n5 3 <n2n3, SS, 3>, <n2n10, SS, 3> n6 Q n1 <n3n6, EE, 0>, <n5n6, EE, 0>, <n6n7, SE, 0> 6 7 <n2n3, EE, 2>, <n3n4, SE, 2> 6 n9 n7 <n1n2, EE, 4>, <n2n10, SE, 4> n8 Object D picks up only: {<n2n10, SS, 3> , <n2n10, SE, 4> , object Q’s information} Edge distance from n1n6

  46. Processing on Mobile Host (2) Query object Q at location 3.6 on edge n1n6, query range is 5. Data object D at location 0.5 on edge n2n10. Object D uses the multicast information to compute its distance to Q n10 4 n3 n4 5 2 D n2 2 <n2n10, SS, 3><n2n10, SE, 4> 4 6 n5 3 n6 Q n1 6 7 0.5 + 4 + (4 – 3.6) = 4.9 < 5 0.5 + 3 + 3.6 = 7.1 > 5 6 n9 n7 n8 • Object D should be included in the query’s result. • Object D continues to monitor its distance from Q and updates the query accordingly

  47. Summary • The server • computes the monitoring region for each DRQ, and • multicasts the information to moving objects inside the monitoring region. • Moving object • uses the information received from the server to monitor if it is inside a query’s range.

  48. Simulation Setup • Area of interest • a square shaped region of 10,000 square miles • 2000 nodes • 4000 edges • 100, 000 moving objects • Speeds vary between 0.5 and 1 mile per time unit • Initial speeds follow a Zipf distribution with deviation of 0.7 • Every time step, 10% of the objects change their speed at a small increment • 10 to 1,000 queries

  49. Performance Comparisons • Server computation cost • Compared to a centralized scheme, which we adapted from the Query Indexing technique [Prabhakar, 2002] for spatial network environments. • Communication cost • Compared to Query-Blind Optimal (QBO) technique: • moving objects send messages to server whenever they change speed or move to a new road segment. • No real query processing is done on server, i.e., just a reference “technique” for studying communication costs

  50. Server Computation Cost(#segments loaded per time unit) Effect of # of queries on server work load

More Related