Presentation on theme: "Multi-Guarded Safe Zone: An Effective Technique to Monitor Moving Circular Range Queries Presented By: Muhammad Aamir Cheema 1 Joint work with Ljiljana."— Presentation transcript:
Multi-Guarded Safe Zone: An Effective Technique to Monitor Moving Circular Range Queries Presented By: Muhammad Aamir Cheema 1 Joint work with Ljiljana Brankovic 2, Xuemin Lin 1, Wenjie Zhang 1, Wei Wang 1 1 University of New South Wales, Australia 2 University of Newcastle, Australia
Introduction Problem Description: Given a positive value r and a query point q moving in a Euclidean space. Continuously report the objects that lie within distance r of the moving query. Applications: A ship may want to continuously monitor the icebergs within 100 Km of its location. A person driving a car may want to continuously monitor the gas stations within 10 Km of her location. A fighter plane may want to continuously monitor the enemy targets within its missile range. 2
Introduction Solution Strategy: Assign the query a safe zone such that results remain valid if q is in safe zone Re-compute the results only if q moves outside its safe zone Advantages: Reduced overall computation time Supports on-demand service Low main-memory requirement 3
Introduction Related Work: Distributed processing of range queries (e.g., MobiEyes [Gedik et al. EDBT 04] ) Continuous monitoring of static range queries on moving objects [Hu et al. SIGMOD 05] Safe zone based approaches for moving kNN and window queries over static objects [Zhang et al. SIGMOD 03] Contributions: Present a close to optimal technique Supports object insertions and deletions from the dataset Rigorous theoretical analysis verified by experiments 4
Solution Overview Internal object: lies within the range External object: lies outside the range Safe zone: (C 1 C 2 ) - C 3 Guard object: defines the shape of safe zone Aim Efficiently prune objects that do not contribute to safe zone Checking q lies in safe zone or not Check distances from guard objects Data structure In Disk R-tree (to index objects) In memory (temporary) Location of query Guard objects (along with associated vertices of safe zone) Internal objects 5
Algorithm Overview Access entries of R-tree in a suitable order Initially the safe zone is whole data space For each accessed entry e –If e is not pruned If e is a leaf or intermediate node –Insert children of e in the heap If e is an object –Trim the shape of safe zone using e 6
Pruning based on rectangles 7 q RsRs R1R1 maxdist( R 1, R s ) < r R2R2 mindist( R 1, R s ) > r
Pruning based on guard objects A circle that affects the safe zone must pass through the safe zone Safe zone is contained by intersection of circles of internal objects (e.g., (C 1 C 2 ) - C 3 ) The circle must intersect the circles of all internal objects An object cannot affect the safe zone if its distance from any internal object is greater than 2r Pruning rule: A rectangle R can be pruned, if its minimum distance to any internal guard object is greater than 2r. 8
Observation The distance between E and D monotonously increases as D moves from C to F. 9 rM E D D ED = x 2 + r 2 – 2.r.x. Cos(θ) where x = EM C F ED > ED θ
Observation 10 For every point D on the arc, dist(E,D) < r dist(E,D) < dist(E,A) and dist(E,A) < r For any arc with end points AB and subtending angle less than 180 o, the circle of an object E does not affect the arc if its distance to both A and B is at most r.
Pruning Rule 11 Let all arcs of the safe zone have angles less than 180 o. An object does not affect the safe zone if its distance to every vertex of the safe zone is at most r. A rectangle r can be pruned if its maximum distance to each vertex is at most r.
Observation 12 An object E cannot affect the arc AB if it satisfies one of the following; a) E lies within angle range and dist(E,M) > 2r b) E lies outside the angle range, dist(E,A) > r and dist(E,B) > r dist(E 2,D) > dist(E 2,A) OR dist(E 2,D) > dist(E 2,B) For every point D on the arc, dist(E,D) > r
Pruning Rule 13 An object E cannot affect the safe zone if it satisfies the observation for each arc of the safe zone.
Pruned area using all pruning rules 14
Access order 15 The entries that are closer to the boundary of the range query should be accessed first. Let o i be an object that is closer to the boundary of range query than all current guard objects. The object o i is guaranteed to affect the safe zone.
Theoretical Analysis 16 Assumptions: A unit space where the objects are uniformly distributed. r: range N: number of objects x: distance the query moves in one time unit Escape probability: The probability that a query leaves the safe zone within one time unit.
Theoretical Analysis q d max Assumptions: A unit space where the objects are uniformly distributed. r: range N: number of objects Expected distance: The expected distance a query moves before it leaves the safe zone. Let d max be the maximum distance a query can travel before it leaves the safe zone. For the queries that have d max < C*m up, the expected number of guard objects is 4.14*C. Experiment results show that 30-50% queries have d max < 2*m up, hence for such queries the expected upper bound on number of guard objects is around 8.
Experiments  T. Brinkhoff. A framework for generating network-based moving objects. GeoInformatica, Naive: prune every object for which its circle does not intersect the circle of any guard object. Optimal: assume we already know the safe zone, compute traditional range query whenever query leaves the safe zone Real data: 175,813 POIs in North America (data space 5000Km X 5000 Km) Synthetic data: Uniform distribution (used to verify theoretical analysis) 1000 moving queries using Brinkhoff  generator Each query is monitored for 5 minutes
Escape Probability 20
Expected Distance 21
Number of guard objects 22 Nominated queries are those for which d max < 2*m up
Trimming Safe Zone 26 Let o be the new object and C i be its circle Add o as a guard object For each circle C k of the existing guard objects compute the intersections of C i and C k remove the intersection points that lie outside the safe zone For each existing intersection point p remove p if it lies outside the safe zone Remove objects that do not have any associated intersection point