Download presentation
Presentation is loading. Please wait.
Published byKelly Townsend Modified over 9 years ago
1
Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida
2
Location-Based Services $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. Integrate a mobile device’s position with other information so as to provide added value to the users.
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 me now ” –Continuous queries: “Monitor 3 nearest restaurants around me for the next 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
a Q2Q2 Q1Q1 b c f d e Range Monitoring Queries
7
a Q2Q2 Q1Q1 b c f d e
8
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 Research Issues
9
Q1Q1 Q5Q5 Q2Q2 Q4Q4 Q3Q3 Circular Safe Region Rectangular Safe Region a
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
MQM - Resident Domain A mobile object A contacts the server when A –exits the current resident domain, or –enters or exits a query in the resident domain Q1Q1 Q2Q2 Q7Q7 Q6Q6 Q3Q3 Q5Q5 Q4Q4 Resident Domain A N = 3 Q8Q8 Q9Q9
12
Safe Region vs. Resident Domain Q1Q1 Q2Q2 Q7Q7 Q6Q6 Q3Q3 Q5Q5 Q4Q4 Resident Domain A Q8Q8 Q9Q9 Safe Region Safe Region incurs substantially more communication messages
13
Q1Q1 Q4Q4 Q2Q2 Q3Q3 R1R1 R 42 R 21 R 31 R 22 R 41 Determine the Resident Domain Query Q 2 overlaps query Q 3 Q 2 and Q 3 are relevant to monitoring region R 22 Space is dynamically partitioned into disjoint subdomains A monitoring region
14
Q1Q1 Q4Q4 Q2Q2 Q3Q3 R1R1 R 42 R 21 R 31 R 22 R 41 a Determine the Resident Domain Too small
15
Q1Q1 Q4Q4 Q2Q2 Q3Q3 R1R1 R 42 R 21 R 31 R 22 R 41 a Determine the Resident Domain Resident domain for a
16
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 R 11 R 12 Query Overlapping subdomains Two monitoring regions
17
D D domain node data node BP-tree Example Q1 Q1Q1
18
D d1d1 d1d1 d2d2 d2d2 BP-tree Example Q7Q7 Q1 R 72 R 71
19
d1d1 d1d1 d2d2 d 21 d 22 d 21 d 22 D BP-tree Example Q9 R 91 R 911 R 912
20
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
21
0 5 10 15 20 25 30 102030405060708090100 Number of messages sent by mobile objects (millions) Number of monitoring queries (thousands) MQM Safe Region Mobile Communication Cost
22
0.1 1 10 100 1000 102030405060708090100 Number of index nodes accessed (millions) Number of monitoring queries (thousands) MQM Safe Region Server Processing Cost
23
MQM - Summary MQM is highly scalable in terms of –Mobile communication costs, and –Server processing costs for real-time range monitoring queries
24
Dynamic Range Query in Spatial Network Environments
25
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, other cars) currently inside the specified range.
26
Example - Moving Range Query Airport Show me Italian restaurants within 5 miles UCF
27
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
28
Dynamic Range Query (DRQ) Moving Range QueryDynamic Range Query Query Mobility Moving Query Shape StaticDynamic* Database Objects Moving Environment Network Complexity Less challengingMore challenging * Shape of query footprint changes dynamically
29
Network Distance d d Not included in the query result Included in the query result Moving Range Query Dynamic Range Query
30
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 ?
31
DRQ - Dynamic Footprint Query Object
32
DRQ - Dynamic Footprint
36
Challenges Server workload Communication bandwidth Limited battery power on client side Dynamic query footprints
37
System Assumptions Every moving object is equipped with a positioning device. Every moving object has some computing capability.
38
Modeling Graph Network –Undirected graph G = (N, E) –N: a set of nodes –E: a set of edges Edge –e = –n i : start node –n j : end node –i < j n 3 - start node n 4 - end node
39
Edge Distance Edge distance is the shortest netwrok distance between two edges: d(e i, e j ) = min( (d SS (e i, e j ), d SE (e i, e j ), d ES (e i, e j ), d EE (e i, e j ) ) SSSEES EE 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
40
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 –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
41
Object Distance Four possible network distances between two objects SSSEES EE nana nbnb oioi ncnc ndnd ojoj nbnb oioi ncnc ndnd ojoj nbnb oioi ncnc ndnd ojoj nana nana nbnb oioi ncnc ndnd ojoj nana The object distance is the minimum of the four
42
Dynamic Range Query (DRQ) Query has two parameters –q = –O q : query object –length : query range The network space within the length distance from O q makes up the query footprint Query result includes all moving objects within the query footprint (e.g., O d ) Query object Q, query range = 5 Query result = {o i | o i O, d(o i, o q ) ≤ length} OqOq Query Footprint OdOd
43
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 = {e i | e i E, d(e i, e) length }
44
Monitoring Region Example For a query object Q moving on edge n 1 n 6 with a query range as 5, the monitoring region is as follows,,,,,, n1n1 n6n6 n2n2 n3n3 n 10 n9n9 n7n7 n8n8 n5n5 n4n4 4 3 2 2 4 6 6 7 6 5 Q The SE-distance from n 1 n 6 is 4 The server computes and multicasts this list to objects in the monitoring region
45
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
46
n1n1 n6n6 n2n2 n3n3 n 10 n9n9 n7n7 n8n8 n5n5 n4n4 4 3 2 2 4 6 6 7 6 5 Q D Processing on Mobile Host (1) Query object Q /w range = 5, at location 3.6 on edge n 1 n 6. Data object D at location 0.5 on edge n 2 n 10.,,,,,, Object D picks up only: {,, object Q’s information} Multicast Message: Edge distance from n 1 n 6
47
n1n1 n6n6 n2n2 n3n3 n 10 n9n9 n7n7 n8n8 n5n5 n4n4 4 3 2 2 4 6 6 7 6 5 Q D Processing on Mobile Host (2) Query object Q /w Range = 5, at location 3.6 on edge n 1 n 6 Data object D at location 0.5 on edge n 2 n 10. 0.5 + 3 + 3.6 = 7.1 > 5 0.5 + 4 + (4 – 3.6) = 4.9 < 5 Object D should be included in the query’s result. Object D continues to monitor its distance from Q and updates the query accordingly Object D uses the multicast information to compute its distance to Q S S E E
48
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.
49
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
50
Performance Comparisons 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. Query processing is done on server - very expensive. QBO is used just as a reference to study communication costs Server computation cost –Compared to a centralized scheme, which we adapted from the Query Indexing technique [Prabhakar, 2002] for spatial network environments.
51
Server Communication Cost Effect of # of queries on server communication cost Naïve: Every object repeatedly reports its new location
52
Object Communication Cost Effect of # of queries on object-side communication cost Query-blind Optimal - Server Computation Cost is very high
53
Server Computation Cost (#segments loaded per time unit) Effect of # of queries on server workload
54
Remarks Use “road segment” as the unit for monitoring regions Moving objects utilize their own computing power to help reduce server load and save wireless bandwidth Distributed servers can be used for a very- large deployment, in which case the proposed technique keeps the number of servers low A limitation - query result is an approximation due to location estimation –A solution: Query objects must report their new speed
55
A P2P Approach Query Processing –Tracking the moving objects and the query regions –Update query results when objects move in or out of the query regions In the UCF techniques, –every moving object participates in query processing as a peer –server only provides the database service –It is a P2P computing technique
56
Four categories of moving object databases Centralized Server Distributed Servers P2P Hybrid (Distributed Servers + P2P)
57
Four Categories of Moving Object Databases Approach Location Update Reduction Server Load Reduction Centralized Server Yes, if use safe region No Distributed Servers Yes, if use safe region No, load distributed among servers P2PYes HybridYes Yes + load distributed among servers
58
Hybrid System Communication Network Network Queries Distributed Servers Location-based Services
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.