multi-guarded safe zone: an effective technique to monitor moving circular range queries
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Multi-Guarded Safe Zone: An Effective Technique to Monitor Moving Circular Range Queries
Presented By: Muhammad Aamir Cheema1
Joint work withLjiljana Brankovic2, Xuemin Lin1, Wenjie Zhang1, Wei Wang1
1University of New South Wales, Australia2University of Newcastle, Australia
IntroductionProblem 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
IntroductionSolution 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
IntroductionRelated 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: (C1 ∩ C2) - C3• 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
qRs
R1
maxdist( R1, Rs) < r
R2
mindist( R1, Rs) > 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., (C1 ∩ C2) - C3 ) • 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 = √ x2 + r2 – 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 180o, 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 180o.
• 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) > 2rb) E lies outside the angle range, dist(E,A) > r and dist(E,B) > r
dist(E2,D) > dist(E2,A) OR dist(E2,D) > dist(E2,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 oi be an object that is closer to the boundary of range query than all current guard objects. The object oi 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
dmax
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 dmax be the maximum distance a query can travel before it leaves the safe zone.
For the queries that have dmax < C*mup , the expected number of guard objects is 4.14*C.
Experiment results show that 30-50% queries have dmax < 2*mup, hence for such queries the expected upper bound on number of guard objects is around 8.
Experiments• 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 [1] generator • Each query is monitored for 5 minutes
[1] T. Brinkhoff. A framework for generating network-based moving objects. GeoInformatica, 2002 18
Efficiency
19
Escape Probability
20
Expected Distance
21
Number of guard objects
22Nominated queries are those for which dmax < 2*mup
Thanks
24
25
Trimming Safe Zone
26
• Let o be the new object and Ci be its circle• Add o as a guard object• For each circle Ck of the existing guard objects
• compute the intersections of Ci and Ck
• 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