Lazy Updates: An Efficient Technique to Continuously Monitoring Reverse kNN

Post on 08-Jan-2016

18 views 0 download

Tags:

description

Lazy Updates: An Efficient Technique to Continuously Monitoring Reverse kNN. Presented By: Ying Zhang Joint work with Muhammad Aamir Cheema, Xuemin Lin, Wei Wang, Wenjie Zhang. University of New South Wales, Australia. Reverse Nearest Neighbor. Nearest Neighbor Query (NN) - PowerPoint PPT Presentation

Transcript of Lazy Updates: An Efficient Technique to Continuously Monitoring Reverse kNN

Lazy Updates: An Efficient Technique to Continuously Monitoring Reverse kNN

Presented By: Ying ZhangJoint work with

Muhammad Aamir Cheema, Xuemin Lin, Wei Wang, Wenjie Zhang

University of New South Wales, Australia1

Reverse Nearest Neighbor• Nearest Neighbor Query (NN)

– Find the object closest to q

• Reverse Nearest Neighbor Query (RNN)– Korn et. al. Sigmod 2000– Find objects s.t. q is their NN

• Reverse k Nearest Neighbor Query (RkNN)– Find objects s.t. q is their kNN

p2 is the nearest neighbor of qp1 and p4 are the reverse nearest neighbors of q 2

Applications

• Location based services,

• Location based games,

• Army strategic planning …

Continuous Monitoring of RkNN

3

Related Work

• Continuous RNN and RkNN

– Benetis et. al (IDEAS 2002) : motion patterns (e.g., speed, direction) of objects and query are known

– Xia et. al (ICDE 2006) : continuous RNN without motion patterns

– Kang et. al (ICDE 2007) : improve the ICDE 2006 techniques

– Wu et. al (MDM 2008) : extend to RkNN monitoring

4

Preliminaries• Half-space Pruning [VLDB04]

– Objects in the half-space containing a can be pruned

• Filtering– Repeat until no objects in

unpruned area

• Verification– p is RNN iff no object p’ s.t.

dist(p,p’) < dist( p,q) q

c

b

a

de

Static RNN query

5

Unpruned area

Preliminaries• Do filtering starting from the

existing “candidates” if – Query moves, or– Candidate objects move, or – An object moves to the

unpruned area

• Do verification

q

c

b

a

de

Continuous RNN query [ICDE07]

6

Unpruned area

Proposed Framework

• Assign rectangular safe regions to objects and queries

• Prune objects using safe regions

• Advantages

– Low Computation Cost

– Low Communication Cost

q

c b

a

d

e

7

8

Challenges

R

Q

?

Based on : Shortest pair ?Longest pair ?Combination of them ?

NO

Half-Space Pruning

qM N

p

mindist(x,MN) > dist(x,p)

x

Hp:M

Hp:N

x

x

– Any x on right side of LN :• mindist(x,MN) = dist(x,N)

– Hp:N : the half-space containing p and defined by the bisector between p and N

– Any x on left side of LM :• mindist(x,MN) = dist(x,M)

– Any x between LM and LN :• a parabola with mindist(x,

MN) = dist(x,p)

LMLN

9

Challenges

10

R

Q

?

qM N

p

Hp:M

Hp:N

– Frontier point Fp

– Moved to Fp, the intersection of the half-spaces correctly bounds the pruned area

– Hp:N passing Fp : normalized half-space H’p:N

Half-Space Pruning: Normalization

Fp

11

H’p:M

H’p:N

Half-space Pruning: Pruning Rule 1

RM

N O

P

QD

A B

E

H’M:B

H’P:A

H’N:E

H’O:D

Fp

Pairs of antipodal corners are (B,M), (A,P), (E,N) and (D,O)

HM:B HP:A

12

Dominance Pruning : pruning rule 2

RM

N O

P

QD

A B

C

H’M:B

H’P:A

H’N:C

H’O:D

Fp

13

Trimming the rectangle

14

Q

RF1RF2

R

Metric based pruning : pruning rule 3

Q

R

R’

maxdist(R,R’)

mindist(R’,Q)

15

16

Order of pruning rules

Q

RF

R1

R2

R3

Fp

Algorithm Overview• Initial Computation

– Filtering: Determine candidates– Verification: Verify each candidate

• Continuous Monitoring– Update candidate objects (filtering) if

• Query or a candidate moves out of safe region, or

• An object enters the unpruned area – Verify all candidates

17

Illustration of Filtering

O3

Q

O2

O1

O4

O6

O5

O7

18

Illustration of Verification

O3

Q

O2

O1

O4

O6

O5

O7

O1

O2

O3

O5

O6

19

Q

?

Data structure• Query table : id, safe region, candidate objects

• Object table : id, safe region

• Use grid data structure to support update

• Each cell c of the grid :– Object list : objects whose safe regions overlap c– Influence list : queries whose unpruned area

overlaps c

20

Theoretical AnalysisCommunication Cost : |Q| x (M1 + M2 + 1) + M3

M1: # candidate objects

M2: #objects need exact location during the boolean range queries

M3: #objects that leave the safe regions

21

N: Total number of objects w : width of the safe regionv: average speed of objects |Q| : The number of queries

Experiment settings• Generate Moving objects and queries using Brinkhoff Generator [1] on

road map of Texas• Data space : 1000 Km X 1000 Km• Our algorithm (SAC) is compared with IGERN [2] for RNN queries and

CRkNN [3] for RkNN queries

[1] T. Brinkhoff. A framework for generating network-based moving objects. GeoInformatica, 2002.

[2] J. M. Kang, M. F. Mokbel, S. Shekhar, T. Xia, and D. Zhang. Continuous evaluation of monochromatic and bichromatic reverse nearest neighbors. ICDE, 2007.

[3] W. Wu, F. Yang, C. Y. Chan, and K.-L. Tan. Continuous reverse k-nearest-neighbor monitoring. MDM, 2008

22

23

Evaluation of pruning rules

Avg. time for PR3 : 1.1 µs ( metric based pruning rule ) PR2 : 2.3 µs ( dominance pruning rule ) PR1 : 10.5 µs ( half space based pruning rule )

Experiments: Size of safe region

24

Experiments: Number of objects

25

IGERN : ICDE 2007 work for RNNSAC : Our algorithm

Experiments: Effect of data mobility

• Data mobility is the percentage of objects/queries that change their location within one time unit

26

Experiments: RkNN queries

27

CRkNN : MDM 2008 work for continuous monitoring RkNNSAC : Our algorithm

28

Conclusion

Study the problem of continuously monitoring reverse kNN. Propose new framework based on safe region

Outperform previous algorithms in terms of computation cost and communication cost

Thanks

29