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 Q2 a d Q1 c f b e Range-Monitoring Queries Q2 a d Q1 c f b e Some Potential Applications Tourist guiding Automatic traffic control Digital battlefield vehicle tracking Wild animal tracking Research Issues How to minimize location updates? – Excessive mobile communication could drain battery power quickly How to minimize server processing cost? – Query results keep changing Related Works Location Estimation [Woflson98, Woflson99, etc.] Trajectory Indexing [Kollios99, Saltenis00, etc.] Safe Region Approach [Prabhakar00, Prabhakar01] Safe Regions Rectangular Safe Region Q1 Q2 a Q5 Q3 Q4 Circular Safe Region Problems with Safe Regions Computing a safe region takes from O(n) to O(n log3 n) Adding a new query requires to recompute safe regions for all objects Challenge How to provide – accurate query results, and – real-time updates? Proposed: Monitoring-Query Management Q1 Q6 Q3 Q2 a Q5 Q7 Q4 Resident Domain Computing a Resident Domain Given an object’s position P and its processing capability N, its resident domain should – contain position P, and – be as large as possible, but – contain no more than N queries Domain and Query Decomposition Q1 R1 Q2 R21 Q3 Q4 R22 R31 R41 R42 Domain and Query Decomposition Q1 R1 Q2 Q3 Q4 R41 R42 R21 R22 a R31 Domain and Query Decomposition Q1 R1 Q2 Q3 Q4 R41 R42 R21 R22 a R31 Domain Tree (D-tree) D D domain node data node Domain Tree (D-tree) D d1 d2 d1 d2 Domain Tree (D-tree) D d21 d1 d22 d1 d2 d21 d22 Number of messages sent by mobile objects (millions) Mobile Communication Cost 30 25 20 Safe Region MQM 15 10 5 0 10 20 30 40 50 60 70 80 90 Number of monitoring queries (thousands) 100 Number of index nodes accessed (millions) Server Processing Cost 1000 100 Safe Region MQM 10 1 0.1 10 20 30 40 50 60 70 80 90 Number of monitoring queries (thousands) 100 Significant and Impact of MQM MQM is the first scalable technique, in terms of mobile communication and server processing costs, for real-time rangemonitoring 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 h a 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 d c f e b g 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 h a d c f e b g 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 Handling Mobile Range Monitoring Queries Concept of safe boundary Handling Mobile Range Monitoring Queries Concept of safe boundary Handling Stationary KNN queries Handling Stationary KNN queries 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?