1 / 21

Spatio-temporal Pattern Queries

Explore the need to locate objects following specific patterns like vehicle proximity in incidents or analyzing mobility patterns in networks. Formulate queries, tackle separate problems, and combine query types efficiently. Present a solution by decomposing space and utilizing a merge-join algorithm. Evaluate performance using synthetic datasets on Illinois freeways. Novel query type introduction and proposed expression mechanism along with efficient algorithm and index structure design.

garzaa
Download Presentation

Spatio-temporal Pattern Queries

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Spatio-temporal Pattern Queries M. Hadjieleftheriou G. Kollios P. Bakalov V. 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 patterns • Analyze connectivity/mobility patterns in mobile ad-hoc networks (e.g., verify that a given pattern is prevalent)

  3. Example T Y Q3, t3 Q2, t2 Q1, t1 X

  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!

  5. 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

  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 above • Use 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 X P1 2 0 P3 2 1 Q 0 2 1 -2 P2 T 1 5

  9. A Simple Example X P1 2 1 P3 2 2 3 Q 0 3 -2 P2 T

  10. STP Queries With Order T Y Q3 Q3, t3 Q2 Q1, t1 X

  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. 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

  15. 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 . . .

  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

  19. STP Queries with OrderDistance Based Predicates

  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

  21. Thank you!

More Related