Download presentation
Presentation is loading. Please wait.
1
Kien A. Hua University of Central Florida
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 The phone uploads its GPS coordinates to the LBS server every few minutes. You can view up to 100 of the last reported spots the person has been on a Google map. Integrate a mobile device’s position with other information so as to provide added value to the users.
5
Range Monitoring Queries in Location-based Services
6
Moving Object Database Moving object database is the core of a location-based service A B C D E H I G F J K L k-NN QueryRange Query
7
Location-Based Queries Two kinds of location-based queries: Snapshot queries: “Tell me the 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).
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
a Q2Q2 Q1Q1 b c f d e Range Monitoring Queries
10
a Q2Q2 Q1Q1 b c f d e
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
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 Performance Issues
13
Q1Q1 Q5Q5 Q2Q2 Q4Q4 Q3Q3 Circular Safe Region Rectangular Safe Region a
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 Spatial Index
15
MQM - Resident Domain A mobile object A contacts the server when A exits the current resident domain, or enters or exits a query in the resident domain Q1Q1 Q2Q2 Q7Q7 Q6Q6 Q3Q3 Q5Q5 Q4Q4 Resident Domain A N = 3 Q8Q8 Q9Q9
16
Safe Region vs. Resident Domain Q1Q1 Q2Q2 Q7Q7 Q6Q6 Q3Q3 Q5Q5 Q4Q4 Resident Domain A Q8Q8 Q9Q9 Safe Region Safe Region is relatively smaller, and incurs substantially more communication messages
17
Q1Q1 Q4Q4 Q2Q2 Q3Q3 R1R1 R 42 R 21 R 31 R 22 R 41 Determine the Resident Domain Query Q 2 overlaps query Q 3 Q 2 and Q 3 are relevant to monitoring region R 22 Space is dynamically partitioned into disjoint subdomains A monitoring region
18
Q1Q1 Q4Q4 Q2Q2 Q3Q3 R1R1 R 42 R 21 R 31 R 22 R 41 a Determine the Resident Domain Too small for a
19
Q1Q1 Q4Q4 Q2Q2 Q3Q3 R1R1 R 42 R 21 R 31 R 22 R 41 a Determine the Resident Domain 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 R 11 R 12 Query Overlapping subdomains Two monitoring regions
21
D D domain node data node BP-tree Example Q1 Q1Q1
22
D d1d1 d1d1 d2d2 d2d2 BP-tree Example Q7Q7 Q1 R 72 R 71
23
d1d1 d1d1 d2d2 d 21 d 22 d 21 d 22 D BP-tree Example Q9 R 91 R 911 R 912
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
0 5 10 15 20 25 30 102030405060708090100 Number of messages sent by mobile objects (millions) Number of monitoring queries (thousands) MQM Safe Region Mobile Communication Cost
26
Server Processing Cost
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) Q1Q1 Q2Q2 Q7Q7 Q6Q6 Q3Q3 Q5Q5 Q4Q4 Resident Domain A Q8Q8 Q9Q9 Safe Region
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, Dimitris Papadias, Yufei Tao, and Dik Lee, “Location-based Spatial Queries,” in SIGMOD’03 Bugra Gelik 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
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 Airport Show me Italian restaurants within 5 miles UCF
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) Moving Range QueryDynamic Range Query Query Mobility Moving Query Shape StaticDynamic* Database Objects Moving Environment Network Complexity Less challengingMore challenging * Shape of query footprint changes dynamically
36
Network Distance d d Not included in the query result Included in the query result Moving Range Query 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
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 = If i < j ○ n i : start node ○ n j : end node n 3 - start node n 4 - end node
46
Edge Distance Edge distance is the shortest netwrok distance between two edges: d(e i, e j ) = min( (d SS (e i, e j ), d SE (e i, e j ), d ES (e i, e j ), d EE (e i, e j ) ) SSSEES EE Network Distance between two edges –Four types of edge distance between two distinct edges: SS, SE, ES, EE
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 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
Object Distance Four possible network distances between two objects SS SEES EE nana nbnb oioi ncnc ndnd ojoj nbnb oioi ncnc ndnd ojoj nbnb oioi ncnc ndnd ojoj nana nana nbnb oioi ncnc ndnd ojoj nana 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 = O q : query object range : the network space within the length distance from O q makes up the query range Query result all moving objects within the query range (e.g., O d ) Query object Q q & query range = 5 Query result = {o i | o i O, d(o i, o q ) ≤ 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 region of the DRQ when Q moves on E.
51
Monitoring Region Example Consider a query object Q moving on edge n 1 n 6 with a query range of 5 n1n1 n6n6 n2n2 n3n3 n 10 n9n9 n7n7 n8n8 n5n5 n4n4 4 3 2 2 4 6 6 7 6 5 Q The server first computes the monitoring region (purple segments), e.g., D( n 1 n 6, n 2 n 10 ) = min (3, 4, 7, 8) < 5 n 2 n 10 is part of the monitoring region,,,,,,, The SE- distance from n 1 n 6 is 2 For each edge in the monitoring region, the server then multicasts its edge distance from to all objects in the region
52
n1n1 n6n6 n2n2 n3n3 n 10 n9n9 n7n7 n8n8 n5n5 n4n4 4 3 2 2 4 6 6 7 6 5 Q D Processing on Mobile Host (1) Query object Q /w range = 5, at location 3.6 on edge n 1 n 6. Data object D at location 0.5 on edge n 2 n 10. Object D picks up only part of the message: {,, object Q ’s information },,,,,,, Multicast Message: Edge distances from E S S E
53
n1n1 n6n6 n2n2 n3n3 n 10 n9n9 n7n7 n8n8 n5n5 n4n4 4 3 2 2 4 6 6 7 6 5 Q D Processing on Mobile Host (2) Query object Q /w Range = 5, at location 3.6 on edge n 1 n 6 Data object D at location 0.5 on edge n 2 n 10 0.5 + 3 + 3.6 = 7.1 > 5 0.5 + 4 + (4 – 3.6) = 4.9 < 5 d(D,Q) = 4.9 < 5 Object D should be included in the query’s result. Object D continues to monitor its distance from Q (by estimating Q’s current positions) and update the query result on the server accordingly Object D uses the edge distances received from the multicast to compute its distance to Q S S E E
54
Some 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
55
Summary 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 the query’s range. updates the server only when the new location changes the query result
56
Simulation 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 a skew factor of 0.7 Every time step, 10% of the objects change their speed at a small increment 10 to 1,000 queries
57
Performance Comparisons (1) 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 ○ Server estimates object locations and update query results. Server can become a bottleneck This scheme incurs low communication cost and is used as a reference to study communication costs.
58
Performance Comparisons (2) Server computation cost Compared to Query Indexing technique We adapted the Query Indexing technique for spatial network environments. Server maintains a list of relevant k-NN queries for each road segment When server receives location update from an object, the server ○ determines the segment the object is on, ○ retrieve the relevant k-NN queries, ○ updates the affected queries.
59
Server Communication Cost Effect of # of queries on server communication cost Naïve: Every object repeatedly reports its new location Every object constantly updates its location regardless of number of queries. Objects updates their location when they enter a new road segment or change speed regardless of number of queries. As number of queries increases, objects have more queries to update their results
60
Object Communication Cost Effect of # of queries on object-side communication cost Query Blind Optimal - Server Computation Cost is very high
61
Server Computation Cost (#segments loaded per time unit) Offloading query processing to mobile nodes greatly reduces server computation cost
62
Remarks 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
63
A Semi-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 The DRQ solution is a semi-P2P approach Every moving object participates in query processing as a peer Server only provides the database service
65
Limitations To mitigate communication bottleneck with the database server Safe Region Resident Domain Limitations Communication Cost: still increases rapidly with the increases in number of participating objects Deployment Cost: is proportional to the number of participating objects Objects must be equipped with a GPS, computing device, and communication apparatus
66
Challenge Is there a solution such that the deployment cost and the demand on server bandwidth are fixed regardless of the number of participants ? Such an approach would be less expensive, and scalable to support a very large user community
67
Using Sensors Sensor-based Location-based Services (SLBS) As opposed to sending location updates from the objects to the server, mobile sensors (e.g., RFID readers) report the identities of mobile objects they detect
68
SLBS - Advantages Number of sensors required is proportional to the area of the application terrain, not the number of participants Demand on server bandwidth is proportional to the number of sensors, not the number of participants Participants are not required to carry GPS and computing equipment → SLBS is applicable to a variety of applications
69
SLBS - Challenges Standard LBS approach processes queries based on “precise” locations of moving objects SLBS must process queries based on the presence of moving objects Due to location uncertainty, server must fuse information from multiple sensors to deduct the query results
70
Standard LBS deals with a Different Kind of Location Uncertainty Location uncertainty due to communication delay Some solutions Apply dead-reckoning update policy ○ Both server and mobile node estimate the new node location ○ If an estimated location deviates from the actual location by a certain threshold, the mobile node updates its location with the server Update when condition changes ○ Assume that objects move at constant speed on a known road ○ Objects notify server every time there is a change in direction or speed of movement
71
SLBS Example - RFID RFID tags and readers Passive Tags: Use the radio frequency from the reader to transmit their data signal (i.e.. ID) Active Tags: Have on-board battery for power to transmit their data signal. RFID Readers can detect the identification of mobile objects in the proximity (as opposed to sending location updates from objects to server) The exact locations of the target objects are not known
72
CAWA: Continuous Approximate Where-About Queries A CAWA query is a continuous query that tracks locations of a moving object to determine its whereabouts in the past t time units The whereabouts of the object are represented by an MBR that encompasses the locations of the query object in the past t time units t = 1 t = 2 t = 3 t = 4 t = 5 Whereabouts in the past 4 time units
73
Motivation Many applications do not demand the precise locations of the objects of interest Parents want to know if their child is still waiting at school A student wants to know if a particular book has been returned to the library A passenger wants to know if the next bus is arriving soon The army wants to know that the convoy is currently contained within a friendly area
74
Uncertainty Region If a target object is detected by one sensor, its uncertainty region is the entire sensing area If a target object is detected by multiple sensors, its whereabouts can be narrowed down to a small region Whereabouts
75
Approximate Sensing Range Approximating the sensing area with a minimum bounding square.
76
Uncertainty Region Moving object Sensing range Object detected by a single sensor
77
Uncertainty Region Moving object Sensing range Uncertainty region (i.e., whereabouts) equals the sensing range Object detected by a single sensor
78
Uncertainty Region Less uncertainty Object detected by two sensors
79
Uncertainty Region Uncertainty reduces rapidly with increases in number of sensors Object detected by multiple sensors
80
CAWA: Continuous Approximate Whereabouts Query t = 1 t = 2 t = 3 t = 4 t = 5 Precise Answer
81
CAWA Query Processing t = 1 t = 2 CAWA result at time 2 Whereabouts at time 1 Whereabouts at time 1
82
CAWA Query Processing t = 1 t = 2 t = 3 CAWA result at time 3
83
CAWA Query Processing t = 1 t = 2 t = 3 t = 4 CAWA result at time 4
84
CAWA Query Processing t = 1 t = 2 t = 3 t = 4 t = 5 CAWA answer Query Window = 4
85
CAWA Query Processing t = 1 t = 2 t = 3 t = 4 t = 5 CAWA answer Query Window = 4 t = 5 Next CAWA answer, i.e., whereabouts in the last 5 time units
86
False Positive t = 1 t = 2 t = 3 t = 4 t = 5 CAWA answer Precise answer False positive
87
CAWA Algorithm SensorLocTable Contains mobile sensor locations QueryTable Contains current query objects DedectedObjTable Contains query objects detected by sensor in the current iteration WhereaboutsTable The whereabouts of all query objects for each iteration of the last T max time units (there could be multiple queries on the same query object) Periodically, the server performs the following procedure 1. Receives updates from sensors, updates SensorLocTable, and create new DetectedObjTable 2. Update the WhereabotsTable with new whereabouts computed from DetectedObjTable 3. Scan WhereaboutsTable to compute the query result for each query object Q i by computing the MBR for the whereabouts in the past W i time units. 4. Reports query results to users as the results become available
88
Distributed Processing - Initial Assignment A query can be submitted to any one of the servers If the initial server does not find the query object in its subdomain, it broadcasts the query to all other servers The server that detects the new query object takes ownership of this new query
89
Distributed Processing - Handover When a query object is within a threshold of a neighboring subdomain belonging to server S i The current server informs S i about the query S i activates a timer and expects the query object to cross over by the end of the set time If S i still does not see the query object when the timer expires, S i can discard this handover request; otherwise S i is elevated to be the new responsible query server for this particular query
90
Performance Study FP TP FN Query Result Ground Truth
91
Parameters - Default Values Terrain: 200 200 m 2 Sensing Coverage: 500% Sensing Range: 2 2 m 2 Number of mobile nodes: 1,000 Number of queries: 100 Mobility Model: Random Waypoint model Total simulation time is 1,000 seconds Query window is 50 seconds
92
Effect of Sensor Coverage
93
Effect of Sensor Range
94
Effect of Node Mobility
95
Effect of relatively slow mobility The object moves within some initial where-about area A large CAWA answer compared to the correct answer To address this effect, we need more mobile sensors. Sensor S 1 Sensor S 2 CAWA answer Correct answer
96
Summary & Conclusions CAWA is a less expensive framework for location-based services Deployment cost is proportional to the area of the application terrain, not the number of participating mobile objects Precision and Recall are excellent with adequate sensing coverage (about 300% in our simulation study) Computation complexity is O(N), with respect to number of sensors, not tracked objects Scalable – computation dependent on number of sensors, not number of moving objects Similarly, communication cost is proportional to the number of sensors, not mobile objects.
97
k-NN Query Object is assumed to be at center of its uncertainty region 3-NN of query O k are T 1, T 3, T 4. Uncertainty region
98
k-NN Query Processing 1. Determine the MBR that encloses the sensing ranges of all sensors that detect the query objects Q S1S1 S2S2 S3S3 MBR
99
k-NN Query Processing 1. Determine the MBR that encloses the sensing ranges of all sensors that detect the query objects 2. Count number of objects, O MBR, detected inside the MBR 3. Compute area per object (i.e., inverse of density): Q S1S1 S2S2 S3S3 MBR
100
k-NN Query Processing 1. Determine the MBR that encloses the sensing ranges of all sensors that detect the query objects 2. Count number of objects, O MBR, detected inside the MBR 3. Compute area per object (i.e., inverse of density): 4. Determine query area: 5. Determine dimensions of initial query area S×S: 6. Expand the query area, centered at query object, if there are less than k objects inside 7. Determine the k-NN from the set of objects inside the query area
101
Performance
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.