multi-guarded safe zone: an effective technique to monitor moving circular range queries presented...
TRANSCRIPT
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
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
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
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
[1] T. Brinkhoff. A framework for generating network-based moving objects. GeoInformatica, 2002 18
• 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
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