Processing Monitoring Queries on Mobile Objects Lecture for COMS 587 Department of Computer Science Iowa State University
What is a mobile database? A mobile database is a set of mobile devices -Centralized: there exists a central server with which each mobile device can communicate -Decentralized: these devices form a network by themselves -Mobile ad hoc network (MANET) -Mesh networks
Characteristics Large number of mobile objects Continuous movement of mobile objects -Limited battery power -Limited communication bandwidth
Processing Range-Monitoring Query What is range-monitoring query? – Retrieve mobile objects in a spatial region, and – continuously monitor the population in the area
Range-Monitoring Queries a Q2Q2 Q1Q1 b c f d e
a Q2Q2 Q1Q1 b c f d e
Tourist guiding Automatic traffic control Digital battlefield vehicle tracking Wild animal tracking Some Potential Applications
How to minimize location updates? –Excessive mobile communication could drain battery power quickly How to minimize server processing cost? –Query results keep changing Research Issues
Related Works Location Estimation [Woflson98, Woflson99, etc.] Trajectory Indexing [Kollios99, Saltenis00, etc.] Safe Region Approach [Prabhakar00, Prabhakar01]
Q1Q1 Q5Q5 Q2Q2 Q4Q4 Safe Regions Q3Q3 Circular Safe Region Rectangular Safe Region a
Problems with Safe Regions Computing a safe region takes from O(n) to O(n log 3 n) Adding a new query requires to re- compute safe regions for all objects
How to provide –accurate query results, and –real-time updates? Challenge
Proposed: Monitoring-Query Management Q1Q1 Q2Q2 Q7Q7 Q6Q6 Q3Q3 Q5Q5 Q4Q4 a Resident Domain
Given an object’s position P and its processing capability N, its resident domain should Computing a Resident Domain – contain position P, and – be as large as possible, but – contain no more than N queries
Domain and Query Decomposition Q1Q1 Q4Q4 Q2Q2 Q3Q3 R1R1 R 42 R 21 R 31 R 22 R 41
Domain and Query Decomposition Q1Q1 Q4Q4 Q2Q2 Q3Q3 R1R1 R 42 R 21 R 31 R 22 R 41 a
Domain and Query Decomposition Q1Q1 Q4Q4 Q2Q2 Q3Q3 R1R1 R 42 R 21 R 31 R 22 R 41 a
Domain Tree (D-tree) D D domain node data node
D d1d1 d1d1 d2d2 d2d2 Domain Tree (D-tree)
d1d1 d1d1 d2d2 d 21 d 22 d 21 d 22 D Domain Tree (D-tree)
Mobile Communication Cost Number of messages sent by mobile objects (millions) Number of monitoring queries (thousands) MQM Safe Region
Server Processing Cost Number of index nodes accessed (millions) Number of monitoring queries (thousands) MQM Safe Region
Significant and Impact of MQM MQM is the first scalable technique, in terms of mobile communication and server processing costs, for real-time range- monitoring query management
Mobile Range Monitoring Queries (M-RMQ) A M-RMQ retrieves the mobile objects within a range centered on a mobile object It is associated with a mobile object called focal node The movement of the focal node and other mobile objects may lead to the change of query results
Proposed: MobiEye The network domain is divided into a number of grid cells Each focal node reports its velocity to the server and update when such information changes Each query window is associated with a bounding box All nodes within a bounding box are notified of the velocity of the query When a node detects that its moves into/out of a bounding box, report to the server
Decentralized Mobile Database Management Mobile ad hoc networks A set of mobile objects form a network by themselves The communications among these objects are done through packet relaying Without relying on any fixed infrastructures Low cost and easy setup (great for battlefields) Many protocols have been developed for efficient routing discovery and communications a b c f d e g h
Handling Stationary Range Monitoring Queries Key research issue: where the queries are stored Solution 1: each node keeps a copy of each query Great for query evaluation Expensive for query installation and removal Solution 2: each node keeps only the queries it issues Great for query installation and removal Expensive for query evaluation a b c f d e g h
Handling Stationary Range Monitoring Queries Network partitioning Each node caches all queries relevant to its home cell While moving inside a cell, a node monitors its movement against the queries it knows if crossing over any boundary, update the query issuer What happens when moving into/out of a cell?
Handling Stationary Range Monitoring Queries Network partitioning Each node caches all queries relevant to its home cell While moving inside a cell, a node monitors its movement against the queries it knows if crossing over any boundary, update the query issuer What happens when moving into/out of a cell?
Handling Stationary Range Monitoring Queries When moving out of its cell, a node checks if it is the last node No - remove the queries Yes – keep the queries, the node becomes the retaining node to the cell When moving into a new cell, a node retrieves the new relevant queries either from any node in the cell, or from the cell’s retaining node
Handling Stationary Range Monitoring Queries Searching for a retaining node can be done by expanding the search range step by step A cell’s retaining node may move far away from the cell Keep the queries in a node that is close to the cell Compute the distance whenever moving into a new cell, and if necessary, unload the queries to some nearby node
Handling Mobile Range Monitoring Queries
Concept of safe boundary
Handling Mobile Range Monitoring Queries Concept of safe boundary
Handling Stationary KNN queries
Handling Mobile KNN queries
Questions Any other types of queries? Can any type of queries be converted into one or more stationary range monitoring queries?