1 / 101

Location-based services M moving Object D databases

Kien A. Hua University of Central Florida. Location-based services M moving Object D databases. Overview. Background - Location-based services & challenges Range Query in Open Space Dynamic Range Query in Road Networks Sensor Approach to Location-based Services.

tibor
Télécharger la présentation

Location-based services M moving Object D databases

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kien A. Hua University of Central Florida Location-based servicesMmoving Object Ddatabases

  2. Overview • Background - Location-based services & challenges • Range Query in Open Space • Dynamic Range Query in Road Networks • Sensor Approach to Location-based Services

  3. Location-based Services (LBS) Rapid development and commercialization of • wireless network technology • localization technologies • smart mobile devices • sensor networks Location-based Services Allow users to query their environment and use the spatial data for various purposes

  4. LBS Example Integrate a mobile device’s position with other information so as to provide added value to the users. • The phone uploads its GPS coordinates to the LBSserver every few minutes. • You can view up to 100 of the last reported spots the person has been on a Google map.

  5. Range Monitoring Queries in Location-based Services

  6. Moving Object Database Moving object database is the core of a location-based service J E G C K F H D L A I B Range Query k-NN Query

  7. Location-Based Queries • Two kinds of location-based queries: • Snapshot queries: “Tell me the 3 nearest cars around menow ” • Continuous queries: “Monitor 3 nearest restaurants around me for thenext 10 minutes ” • We focus on one continuous query type called Range Monitoring Query (RMQ).

  8. Range-Monitoring Query What is range-monitoring query ? • Retrieve mobile objects in a spatial region, and • continuously monitor the population in the area

  9. Range Monitoring Queries Q2 a d e Q1 c b f

  10. Range Monitoring Queries Q2 a d Q1 e b c f

  11. Key Challenges • Communication bottleneck • Very large number of mobile objects repeatedly update their locations • Computation bottleneck • Maintain a very large constantly changing location databases • Constantly compute many queries • Location uncertainty • Location of moving objects known when sampled, may have moved by time server processes the queries

  12. PerformanceIssues • 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

  13. Safe Region Rectangular Safe Region Q1 Q2 Q5 a Q3 Q4 Circular Safe Region

  14. Weaknesses of Safe Regions • Computing a safe region takes from O(n) to O(n log3n) • A solution - Using Resident Domain • Adding a new query requires recomputation of safe regions for all objects • A solution - Using SpatialIndex

  15. A mobile object A contacts the server when A exits the current resident domain, or enters or exits a query in the resident domain MQM - Resident Domain Q9 Q1 Q6 Q3 Resident Domain Q2 A Q5 Q7 Q4 N = 3 Q8

  16. Safe Region vs. Resident Domain Safe Region is relatively smaller, and incurs substantially more communication messages Q9 Q1 Q6 Q3 Safe Region Q2 A Resident Domain Q5 Q7 Q4 Q8

  17. Determine 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 R41 R42 A monitoring region Query Q2 overlaps query Q3

  18. Determine the Resident Domain Q2 Q3 R1 R21 R22 Q1 R31 a Q4 R41 R42 Too small for a

  19. Determine the Resident Domain Q2 Q3 R1 R21 R22 Q1 R31 a Q4 R41 R42 Use a larger Resident domain for a

  20. 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 Overlapping subdomains Query R12 R11 Two monitoring regions

  21. BP-tree Example D domain node D data node Q1 Q1

  22. BP-tree Example D d1 d2 d1 d2 Q1 Q7 R71 R72

  23. BP-tree Example D d21 d1 d2 d1 Q9 d21 d22 R91 d22 R911 R912

  24. 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

  25. Mobile 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)

  26. Server 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)

  27. Summary • Safe Region Object A does not need to update its location as long as it moves within the safe region • Resident Domain When Object A enters or exits a query’s area, A updates its location (and the query result) Q9 Q1 Q6 Q3 Safe Region Q2 A Resident Domain Q5 Q7 Q4 Q8

  28. Resident Domain - Summary Resident Domain approach is highly scalable in terms of • Mobile communication costs, and • Server processing costs for real-time range monitoring queries

  29. Many Variants Some examples: • Jun Zhang, Manli Zhu, DimitrisPapadias, Yufei Tao, and Dik Lee, “Location-based Spatial Queries,” in SIGMOD’03 • BugraGelik and Ling Liu, “MobiEyes: Distributed Processing of Continuously Moving Queries on Moving Objects in Mobile Systems,” in EDBT’04 • Fuyu Liu, Kien A. Hua, and Tai Do, “A P2P Technique for Continuous kNN Query in Road Networks,” in DEXA’07 • Kihwan Kim, Ying Cai, and Wallapak Tavanapong, “Safe Time: Distributed Real-time Monitoring of cKNN in Mobile Peer-to-Peer Networks,” in MDM’08

  30. Moving Queries over Stationary Objects • Safe Region and Resident Domain are proposed for stationary queries over moving objects • Moving queries over stationary objects • Example: Tell me gas stations within 3 miles of my current location • Technique: • The server sends a Self Computing Region (SCR) to each querying object • This SCR includes a set of stationary objects (e.g., gas stations) in the proximity • The querying object computes and updates its own query result • The querying object contacts the server when it moves out of its current SCR

  31. Dynamic Range Query in Spatial Network Environments

  32. 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.

  33. Example - Moving Range Query UCF Show me Italian restaurants within 5 miles Airport

  34. 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

  35. Dynamic Range Query (DRQ) *Shape of query footprint changes dynamically

  36. Network Distance Included in the query result d Moving Range Query Not included in the query result d Dynamic Range Query

  37. 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 ?

  38. DRQ - Dynamic Footprint Query Object

  39. DRQ - Dynamic Footprint

  40. DRQ - Dynamic Footprint

  41. DRQ - Dynamic Footprint

  42. DRQ - Dynamic Footprint

  43. Challenges • Server workload • Communication bandwidth • Limited battery power on client side • Dynamic query footprints One additional challenge !

  44. System Assumptions • Every moving object is equipped with a positioning device. • Every moving object has some computing capability.

  45. Modeling Graph • Network • Undirected graph G = (N, E) • N: a set of nodes • E: a set of edges • Edge • e = <ni, nj> • Ifi < j • ni: start node • nj: end node n4 - end node n3 - start node

  46. SS SE ES EE Edge Distance • Network Distance between two edges • Four types of edge distance between two distinct edges: SS, SE, ES, EE 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) )

  47. 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 (start 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

  48. nb nd nb nd nb nd nb nd oi oi oi oi oj oj oj oj na na na na nc nc nc nc EE SE ES SS Object Distance Four possible network distances between two objects The object distance is the minimum of the four, i.e., the shortest network distance.

  49. Dynamic Range Query (DRQ) • Query has two parameters q = <Oq, range> • Oq:query object • range : the network space within the length distance from Oq makes up the query range • Query result all moving objects within the query range (e.g., Od) Query object Qq & query range = 5 Query range In the result Od Query object Oq Query result = {oi|oiO, d(oi, oq ) ≤ length}

  50. Monitoring Region • Position of query object Q determines the set of edges (road segments) that overlap with the current query range • As Q moves over an edge E, the union of the sets of overlapping edges corresponding to the different positions of Q defines the monitoring regionof the DRQ when Q moves on E.

More Related