Title: Processing RangeMonitoring Queries in Mobile Databases
1Processing Range-Monitoring Queries in Mobile
Databases
CS587x Lecture Department of Computer
Science Iowa State University
2What is a mobile database?
- A mobile database is a set of mobile devices
- Decentralized these devices form a network by
themselves - Mobile ad hoc network (MANET)
- Mesh networks
- Centralized there exists a central server with
which each mobile device can communicate
3Characteristics
- Large number of mobile objects
- Continuous movement of mobile objects
- Limited battery power
- Limited communication bandwidth
4Range-monitoring Query
- Retrieve mobile objects in a spatial region, and
- continuously monitor the population in the area
5Examples of Range-Monitoring Queries
Q2
a
d
e
Q1
c
b
f
6Examples of Range-Monitoring Queries
Q2
a
d
Q1
e
b
c
f
7Some Potential Applications
- Tourist guiding
- Traffic control
- Digital battlefield vehicle tracking
- Wild animal tracking
8Research Issues
- How to minimize location updates?
- Each update involves mobile communication cost
and server processing cost - How to minimize monitoring update cost?
- Query results keep changing
9Solution I
- A simple solution
- Index the locations of mobile objects, and
- Update the index each time a mobile object moves
- Problems
- Excessive location updates
- Overwhelming server processing
10Solution II
- Location estimation and trajectory indexing
- The object movement is estimated using segments
- The segments are indexed at server side
- Problems
- No real-time monitoring updates
- No accurate query results
11Solution III
- Safe Region Approach
- Query rectangles are indexed at server side
- Safe regions are used to reduce location updates
- Problems
- Determining a safe region is computation-intensive
- Adding a new query requires to re-compute safe
regions for all mobile objects
12Safe Regions
Rectangular Safe Region
Q1
Q2
Q5
a
Q3
Q4
Circular Safe Region
13Challenge
- How to provide
- accurate query results, and
- real-time updates?
14Monitoring Query Management (MQM)
Q2
Q3
R1
R21
R22
Q1
R31
Q4
R42
R41
15Highlights of MQM
- Domain is decomposed into many subdomains
- Each query is handled as one or more monitoring
regions - D-tree is used to index the domain and query
decomposition - Each object is assigned a resident domain
- An object reports server in the following two
cases - Crosses any query boundary
- Moves out of its resident domain
16D-tree Domain Tree
D
D
Domain Node
Data Node
Domain D
17D-tree Domain Tree
D1
D2
Domain Node
D1
D2
Data Node
D is split into D1 and D2
18D-tree Domain Tree
D11
D11
D2
D12
Domain Node
D2
D12
Data Node
D is split into D1 and D2 D1 is split into D11
and D12
19D-tree Domain Tree
D11
D11
D2
D121
Domain Node
D122
D2
D122
D121
Data Node
D is split into D1 and D2 D1 is split into D11
and D12 D12 is split into D121 and D122
20D-tree Domain Tree
D11
D1
D2
Domain Node
D2
D121
D122
D11
D121
D122
D2
D is split into D1 and D2 D1 is split into D11
and D12 D12 is split into D121 and D122
Data Node
21D-tree Domain Tree
D11
D21
D1
D2
Domain Node
D121
D122
D22
D11
D121
D122
D21
D22
D is split into D1 and D2 D1 is split into D11
and D12 D12 is split into D121 and D122 D2 is
split into D21 and D22
Data Node
22D-tree operations
- Search
- Search the subdomain that contains an objects
location - Insert
- Insert a new query rectangle, which is handled as
one or more monitoring regions - Delete
- Delete an existing query rectangle
23Server-Client Communication
- Messages from mobile objects
- updateQueryResult ( oid, r, p )
- requestResidentDomain ( oid, p )
24Server-Client Communication
- Messages from server
- setResidentDomain ( oid, domain, MRs )
- addMonitoringRegion ( r )
- deleteMonitoringRegion ( r )
- splitDomain ( d, d1, d2 )
- mergeDomain ( d1, d2, MRs )
25Handling Client Heterogeneity
Q1
Q6
Q3
Q2
a
Q5
Q7
Q4
Resident Domain
26Computing a Resident Domain
- Given an objects position P and its processing
capability N, its resident domain should
- be as large as possible, but
- contain no more than N queries
27Domain and Query Decomposition
Q2
Q3
R1
R21
R22
Q1
R31
Q4
R42
R41
28Domain and Query Decomposition
Q2
Q3
R1
R21
R22
Q1
R31
a
Q4
R42
R41
29Domain and Query Decomposition
Q2
Q3
R1
R21
R22
Q1
R31
a
Q4
R42
R41
30Binary Partitioning Tree (BP-tree)
D
domain node
D
data node
31Binary Partitioning Tree (BP-tree)
D
d1
d2
d1
d2
32Binary Partitioning Tree (BP-tree)
D
d21
d1
d2
d1
d21
d22
d22
33Mobile 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)
34Server 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)
35Concluding Remarks
- Power Conservation
- Mobile devices do not report their positions
constantly - Scalability
- Server does not track mobile objects and query
results - Reliability
- MQM does not use location estimation
- Adaptive
- More capable objects can save power by loading
more queries at one time