Spatio-temporal Pattern Queries

Post on 03-Jan-2016

39 views 0 download

description

Spatio-temporal Pattern Queries. M. Hadjieleftheriou G. Kollios P. Bakalov V. J. Tsotras. Motivation. The need to locate spatio-temporal objects that follow specific patterns. Examples: Identify vehicles that were close to the three recent sniper incidents - PowerPoint PPT Presentation

Transcript of Spatio-temporal Pattern Queries

Spatio-temporal Pattern Queries

M. HadjieleftheriouG. Kollios

P. BakalovV. J. Tsotras

2

Motivation The need to locate spatio-temporal

objects that follow specific patterns. Examples: Identify vehicles that were close to the three

recent sniper incidents Identify clients with specific credit card usage

patternsAnalyze connectivity/mobility patterns in

mobile ad-hoc networks (e.g., verify that a given pattern is prevalent)

3

Example

X

Y

T

Q2, t2

Q3, t3

Q1, t1

4

Formulation

Syntax: S can be any spatial predicate, T can be any

temporal constraint or empty Score object trajectories according to how

well they satisfy the query pattern Problem: Given a query pattern use an

index to score trajectories incrementally Ideally: Access only parts of trajectories

necessary to guarantee correct answers. Prune trajectories fast!

Q = {(S1,T1),...,(Sn ,T n)}

5

Two Separate Problems

STP Queries With TimeEvery query predicate is associated with an

absolute temporal constraint STP Queries With Order

Query predicates are associated with relative temporal constraint

6

Types of STP Queries Range predicates: Crosses, Leaves, Meets, …

Use Boolean score functions (crosses or not) Distance based predicates: Nearest neighbor,

Group nearest neighbor, all other neighbors, …Use aggregate score functions (min, max,

average, sum, …), as long as they are monotonic

Combinations of the aboveUse combined scoring functions and answer

each group of queries individually

7

STP Queries With Time

We use existing spatio-temporal index structures to answer all predicates

We employ concepts from T.A. (Fagin et al.) to answer predicates incrementally

We prune trajectories according to upper and lower bounds

We access the actual trajectories only when good candidates have been found

8

A Simple Example

P1

P2

Q

P3

T

X

0

2

-2

21

21

51

0

9

A Simple Example

P1

P2

Q

P3

T

X

0

2

-2

23

21

3

10

STP Queries With Order

X

Y

T

Q2

Q3, t3

Q1, t1

Q3

11

The Exact Distance is Expensive

Cost increases exponentially as the number of predicates increases

Can be computed more efficiently by using the T.A. algorithm

Can we take predicate ordering into account and speed up T.A. as well?

12

Previous Approaches Cannot Help

Spatio-temporal indices cannot be used!Full scan of temporal dimension of the index

Projecting out the temporal dimension does not help!

Ideally, we need to find a method that will retrieve only the trajectories that satisfy the predicates in the specified order

13

Solution Decompose the space into a grid Keep a list of trajectory ids that intersect

each grid cell, along with the respective time-periods

Given the query predicates compose respective lists of trajectory ids/time-instants, from the constituent cells

Use a merge-join algorithm to prune trajectories that do not satisfy the order of the query

14

P1 P3

P2

The Index Structure

A = { (P1, 1) }

A B . . .

B = { (P2, [2, 3]) }

F = { (P1, [3,4]), (P2, 18) }

This is the index that we will store

15

Example

P1 P3

P2

A B . . .

Q1

Q2

1

3

5

(P2, 2) (P2, 7)

Q1 Q2

(P2, {2,3,15,16}),(P1, {4,5}), (P3, 5)

U = {P2}

1

9

(P2, {7,8,9,17,18}),(P3, {3,4})

P

16

Idea!

Run T.A. using only the candidate trajectory data loaded so far to compute the exact distance

Prove that the answer will be correct even if we don’t see the rest of the trajectory

We speed up the computation cost associated with the queries as well!

17

Experimental Evaluation Synthetic datasets on the freeways of Illinois Up to 500K objects and 6,000,000 MBRs Measure the average number of disk

accesses for the index and the total number of candidate trajectories that need to be retrieved

Compared linear scan, R-tree, MVR-tree

18

STP Queries with OrderRange Predicates

0

200

400

600

800

1000

5 10 20

Number of predicates

Avg. index I/O

CellList

R-tree

1

10

100

1000

10000

5 10 20

Number of predicates

Total I/O(log scale)

CellList

R-tree

19

STP Queries with OrderDistance Based Predicates

1

10

100

1000

10000

100000

5 10 20

Number of predicates

Avg. index I/O(log scale)

LazyEagerR-tree

1

10

100

1000

10000

100000

1000000

5 10 20

Number of predicates

Total I/O(log scale)

LazyEagerR-tree

20

Conclusions

Introduced a novel type of query Proposed a simple yet efficient expression

mechanism Designed an efficient algorithm for STP

Queries with Time Designed an efficient index structure and

algorithms for STP Queries with Order Conducted extensive experiments

Thank you!