Upload
kelly-townsend
View
221
Download
0
Embed Size (px)
DESCRIPTION
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.
Citation preview
Range Monitoring Queries in
Location-based ServicesKien A. Hua
School of EECSUniversity of Central Florida
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.
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.
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).
Range-Monitoring Query
What is range-monitoring query ?– Retrieve mobile objects in a spatial
region, and
– Continuously monitor the population in the area
aQ2
Q1 bc
f
d
e
Range Monitoring Queries
a
Q2
Q1bc
f
d
e
Range Monitoring Queries
• 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
Q1
Q5
Q2
Q4
Q3
Circular Safe Region
RectangularSafe Region
a
Safe Region
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)
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
Q1
Q2
Q7
Q6Q3
Q5
Q4
Resident Domain
A
N = 3
Q8
Q9
Safe Region vs. Resident Domain
Q1
Q2
Q7
Q6Q3
Q5
Q4
Resident Domain
A
Q8
Q9
Safe Region
Safe Region incurs substantially more communication messages
Q1
Q4
Q2
Q3
R1
R42
R21
R31
R22
R41
Determine the Resident Domain
Query Q2 overlaps query Q3
Q2 and Q3 are relevant to monitoring region R22
Space is dynamically partitioned into disjoint subdomains
A monitoring
region
Q1
Q4
Q2
Q3
R1
R42
R21
R31
R22
R41
a
Determine the Resident Domain
Too small
Q1
Q4
Q2
Q3
R1
R42
R21
R31
R22
R41
a
Determine the Resident Domain
Resident domain for a
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
R11R12
Query
Overlapping subdomains
Two monitoring regions
D
D domain node
data node
BP-tree Example
Q1Q1
D
d1
d1 d2d2
BP-tree Example
Q7Q1 R72
R71
d1
d1 d2d21
d22
d21 d22
D
BP-tree Example
Q9R91
R911 R912
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
0
5
10
15
20
25
30
10 20 30 40 50 60 70 80 90 100Num
ber o
f mes
sage
s se
nt b
y m
obile
obj
ects
(mill
ions
)
Number of monitoring queries (thousands)
MQMSafe Region
Mobile Communication Cost
0.1
1
10
100
1000
10 20 30 40 50 60 70 80 90 100Num
ber o
f ind
ex n
odes
acc
esse
d (m
illio
ns)
Number of monitoring queries (thousands)
MQMSafe Region
Server Processing Cost
MQM - SummaryMQM is highly scalable in terms of
– Mobile communication costs, and– Server processing costs
for real-time range monitoring queries
Dynamic Range Query in Spatial Network Environments
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.
Example - Moving Range Query
Airport
Show me Italian restaurants
within 5 miles
UCF
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
Dynamic Range Query (DRQ)
Moving Range Query
Dynamic Range Query
Query Mobility Moving Moving
Query Shape Static Dynamic*Database Objects Moving Moving
Environment Network Network
Complexity Less challenging More challenging
* Shape of query footprint changes dynamically
Network Distance
d
d
Not included in the query
result
Included in the query result
Moving Range Query
Dynamic Range Query
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 ?
DRQ - Dynamic FootprintQuery Object
DRQ - Dynamic Footprint
DRQ - Dynamic Footprint
DRQ - Dynamic Footprint
DRQ - Dynamic Footprint
Challenges• Server workload
• Communication bandwidth
• Limited battery power on client side
• Dynamic query footprints
System Assumptions
• Every moving object is equipped with a positioning device.
• Every moving object has some computing capability.
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 n3 - start
node
n4 - end node
Edge Distance
Edge distance is the shortest netwrok distance between two edges:
d(ei , ej) = min( (dSS(ei , ej), dSE(ei , ej), dES(ei , ej), dEE(ei , ej) )
SS SE ES 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
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
Object DistanceFour possible network distances between two objects
SS SE ES EE
na
nb
oi
nc
nd
oj
nb
oi
nc
nd
oj
nb
oi
nc
nd
ojna na
nb
oi
nc
nd
oj
na
The object distance is the minimum of the four
Dynamic Range Query (DRQ)
• 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 object Q, query range = 5
Query result = {oi | oi O, d(oi , oq ) ≤ length}
Oq
QueryFootprint
Od
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 , e) length }
Monitoring Region ExampleFor a query object Q moving on edge n1 n6 with a query range as 5, the monitoring region is as follows
<n1n6, SM, 0>
<n1n2, SS, 0>, <n1n8, SS, 0>, <n1n9, SS, 0>
<n2n3, SS, 3>, <n2n10, SS, 3>
<n3n6, EE, 0>, <n5n6, EE, 0>, <n6n7, SE, 0>
<n2n3, EE, 2>, <n3n4, SE, 2>
<n1n2, EE, 4>, <n2n10, SE, 4>
n1n6
n2n3
n10
n9 n7
n8
n5
n4
4
32 2
4
66
7
6
5
Q
The SE-distance from
n1n6 is 4The server computes and multicasts this list to objects in the monitoring region
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
n1
n6
n2
n3
n10
n9 n7
n8
n5
n4
43
22
4
66
7
6
5
Q
D
Processing on Mobile Host (1)
Query object Q /w range = 5, at location 3.6 on edge n1n6.
Data object D at location 0.5 on edge n2n10.
<n1n6, SM, 0>
<n1n2, SS, 0>, <n1n8, SS, 0>, <n1n9, SS, 0>
<n2n3, SS, 3>, <n2n10, SS, 3>
<n3n6, EE, 0>, <n5n6, EE, 0>, <n6n7, SE, 0>
<n2n3, EE, 2>, <n3n4, SE, 2>
<n1n2, EE, 4>, <n2n10, SE, 4>
Object D picks up only: {<n2n10, SS, 3> , <n2n10, SE, 4> , object Q’s
information}
Multicast Message:
Edge distance from n1n6
n1
n6
n2
n3
n10
n9 n7
n8
n5
n4
43
22
4
66
7
6
5
Q
D
Processing on Mobile Host (2)
Query object Q /w Range = 5, at location 3.6 on edge n1n6
Data object D at location 0.5 on edge n2n10.
<n2n10, SS, 3> <n2n10, SE, 4>
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
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.
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
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.
Server Communication Cost
Effect of # of queries on server communication cost
0
20000
40000
60000
80000
100000
120000
10 20 50 100 200 500 1000
# of Queries
# of
Mes
sage
s/Ti
me
unit
DRQ Query-blind Optimal Naive
Naïve: Every object repeatedly reports its new location
Object Communication Cost
Effect of # of queries on object-side communication cost
0
20000
40000
60000
80000
100000
120000
10 20 50 100 200 500 1000
# of Queries
# of
Mes
sage
s/Ti
me
unit
DRQ Query-blind Optimal Naive
Query-blind Optimal - Server Computation Cost is very high
Server Computation Cost(#segments loaded per time unit)
Effect of # of queries on server workload
1
10
100
1000
10000
100000
10 20 50 100 200 500 1000# of Queries
# Se
gmen
ts/T
ime
unit
DRQ Query Index
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
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
Four categories ofmoving object databases
• Centralized Server• Distributed Servers• P2P• Hybrid (Distributed Servers + P2P)
Four Categories ofMoving Object Databases
Approach Location Update Reduction
Server Load Reduction
Centralized Server
Yes, ifuse safe region No
Distributed Servers
Yes, ifuse safe region
No, load distributed among servers
P2P Yes Yes
Hybrid YesYes + load distributed among servers
Hybrid System
Communication Network
Network
Queries
Distributed Servers
Location-based Services