Title: Range Monitoring Queries in Locationbased Services
1Range Monitoring Queries in Location-based
Services
Kien A. Hua School of EECS University of Central
Florida
2Location-Based Services
Integrate a mobile devices 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.
3Other 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.
4Location-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).
5Range-Monitoring Query
- What is range-monitoring query ?
- Retrieve mobile objects in a spatial region, and
- Continuously monitor the population in the area
6Range Monitoring Queries
Q2
a
d
e
Q1
c
b
f
7Range Monitoring Queries
Q2
a
d
Q1
e
b
c
f
8Research 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
9Safe Region
Rectangular Safe Region
Q1
Q2
Q5
a
Q3
Q4
Circular Safe Region
10Problems 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)
11MQM - Resident Domain
Q9
Q1
- A mobile object A contacts the server when A
- exits the current resident domain, or
- enters or exits a query in the resident domain
Q6
Q3
Resident Domain
Q2
A
Q5
Q7
Q4
N 3
Q8
12Safe Region vs. Resident Domain
Q9
Safe Region incurs substantially more
communication messages
Q1
Q6
Q3
Safe Region
Q2
A
Resident Domain
Q5
Q7
Q4
Q8
13Determine 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
R42
R41
A monitoring region
Query Q2 overlaps query Q3
14Determine the Resident Domain
Q2
Q3
R1
R21
R22
Q1
R31
a
Q4
R42
R41
Too small
15Determine the Resident Domain
Q2
Q3
R1
R21
R22
Q1
R31
a
Q4
R42
R41
Resident domain for a
16Domain 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
Overlapping subdomains
Query
R12
R11
Two monitoring regions
17BP-tree Example
D
domain node
D
data node
Q1
Q1
18BP-tree Example
D
d1
d2
d1
d2
Q1
Q7
R71
R72
19BP-tree Example
D
d21
d1
d2
d1
Q9
d21
d22
R91
d22
R911
R912
20Advantages 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
21Mobile 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)
22Server 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)
23MQM - Summary
- MQM is highly scalable in terms of
- Mobile communication costs, and
- Server processing costs
- for real-time range monitoring queries
24Dynamic Range Query in Spatial Network
Environments
25Moving 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.
26Example - Moving Range Query
UCF
Show me Italian restaurants within 5 miles
Airport
27Query 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
28Dynamic Range Query (DRQ)
Shape of query footprint changes dynamically
29Network Distance
Included in the query result
d
Moving Range Query
Not included in the query result
d
Dynamic Range Query
30Example 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 ?
-
31DRQ - Dynamic Footprint
Query Object
32DRQ - Dynamic Footprint
33DRQ - Dynamic Footprint
34DRQ - Dynamic Footprint
35DRQ - Dynamic Footprint
36Challenges
- Server workload
- Communication bandwidth
- Limited battery power on client side
- Dynamic query footprints
37System Assumptions
- Every moving object is equipped with a
positioning device. - Every moving object has some computing capability.
38Modeling Graph
- Network
- Undirected graph G (N, E)
- N a set of nodes
- E a set of edges
- Edge
- e ltni, njgt
- ni start node
- nj end node
- i lt j
n4 - end node
n3 - start node
39Edge 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 netwrok distance
between two edges - d(ei , ej) min( (dSS(ei , ej), dSE(ei , ej),
dES(ei , ej), dEE(ei , ej) )
40Moving 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 - lt o, pos, direction, speed, reportTime, IsQuery gt
- 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
41Object Distance
- Four possible network distances between two
objects
The object distance is the minimum of the four
42Dynamic Range Query (DRQ)
Query object Q, query range 5
- Query has two parameters
- q ltOq , lengthgt
- 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
43Monitoring 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
44Monitoring Region Example
- For a query object Q moving on edge n1 n6 with a
query range as 5, the monitoring region is as
follows
ltn1n6, SM, 0gt
n10
ltn1n2, SS, 0gt, ltn1n8, SS, 0gt, ltn1n9, SS, 0gt
4
ltn2n3, SS, 3gt, ltn2n10, SS, 3gt
n3
n4
5
n2
2
ltn3n6, EE, 0gt, ltn5n6, EE, 0gt, ltn6n7, SE, 0gt
2
3
n5
6
n6
ltn2n3, EE, 2gt, ltn3n4, SE, 2gt
n1
Q
4
ltn1n2, EE, 4gt, ltn2n10, SE, 4gt
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
45Some 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
46Processing 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.
Multicast Message
n10
4
ltn1n6, SM, 0gt
n3
n4
5
2
D
n2
ltn1n2, SS, 0gt, ltn1n8, SS, 0gt, ltn1n9, SS, 0gt
2
4
6
n5
3
ltn2n3, SS, 3gt, ltn2n10, SS, 3gt
n6
Q
n1
ltn3n6, EE, 0gt, ltn5n6, EE, 0gt, ltn6n7, SE, 0gt
6
7
ltn2n3, EE, 2gt, ltn3n4, SE, 2gt
6
n9
n7
ltn1n2, EE, 4gt, ltn2n10, SE, 4gt
n8
Object D picks up only ltn2n10, SS, 3gt ,
ltn2n10, SE, 4gt , object Qs information
Edge distance from n1n6
47Processing 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.
Object D uses the multicast information to
compute its distance to Q
n10
E
4
n3
n4
5
2
D
S
n2
2
ltn2n10, SS, 3gt ltn2n10, SE, 4gt
4
6
n5
3
E
n6
Q
S
n1
6
7
0.5 4 (4 3.6) 4.9 lt 5
0.5 3 3.6 7.1 gt 5
6
n9
n7
n8
- Object D should be included in the querys
result. - Object D continues to monitor its distance from Q
and updates the query accordingly
48Summary
- 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 querys range.
49Simulation 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
50Performance 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.
51Server Communication Cost
- Effect of of queries on server communication
cost
Naïve Every object repeatedly reports its new
location
52Object Communication Cost
- Effect of of queries on object-side
communication cost
Query-blind Optimal - Server Computation Cost
is very high
53Server Computation Cost(segments loaded per
time unit)
- Effect of of queries on server workload
54Remarks
- 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
55A 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
56Four categories ofmoving object databases
- Centralized Server
- Distributed Servers
- P2P
- Hybrid (Distributed Servers P2P)
57Four Categories ofMoving Object Databases
58Hybrid System
Communication Network
Location-based Services
Queries
Network
Distributed Servers