210 likes | 379 Views
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
E N D
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 • Identify clients with specific credit card usage patterns • Analyze connectivity/mobility patterns in mobile ad-hoc networks (e.g., verify that a given pattern is prevalent)
Example T Y Q3, t3 Q2, t2 Q1, t1 X
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!
Two Separate Problems • STP Queries With Time • Every query predicate is associated with an absolute temporal constraint • STP Queries With Order • Query predicates are associated with relative temporal constraint
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 above • Use combined scoring functions and answer each group of queries individually
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
A Simple Example X P1 2 0 P3 2 1 Q 0 2 1 -2 P2 T 1 5
A Simple Example X P1 2 1 P3 2 2 3 Q 0 3 -2 P2 T
STP Queries With Order T Y Q3 Q3, t3 Q2 Q1, t1 X
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?
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
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
The Index Structure P2 A = { (P1, 1)} B = { (P2, [2, 3]) } … F = { (P1, [3,4]), (P2, 18) } … P1 P3 B A . . . This is the index that we will store
Example Q1 Q2 P2 1 (P2, 7) (P2, 2) Q2 P (P2, {2,3,15,16}), (P1, {4,5}), (P3, 5) (P2, {7,8,9,17,18}), (P3, {3,4}) 1 5 Q1 U = {P2} P1 P3 3 B 9 A . . .
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!
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
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