Spatio-temporal Pattern Queries M. Hadjieleftheriou G. Kollios P. Bakalov V. J. Tsotras.
-
Upload
chester-armstrong -
Category
Documents
-
view
215 -
download
2
Transcript of Spatio-temporal Pattern Queries M. Hadjieleftheriou G. Kollios P. Bakalov V. J. Tsotras.
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!