Querying Mobile Objects in Spatio-Temporal Databases

  • View

  • Download

Embed Size (px)


Querying Mobile Objects in Spatio-Temporal Databases. Kriengkrai Porkaew 1 Iosif Lazaridis 2 Sharad Mehrotra 2 1 King Monkut’s University of Technology at Thonburi, Thailand 2 University of California, Irvine SSTD 2001, Redondo Beach, CA. Talk Outline. Related Work - PowerPoint PPT Presentation

Text of Querying Mobile Objects in Spatio-Temporal Databases

  • Querying Mobile Objects in Spatio-Temporal DatabasesKriengkrai Porkaew1 Iosif Lazaridis2Sharad Mehrotra2

    1 King Monkuts University of Technology at Thonburi, Thailand2 University of California, Irvine

    SSTD 2001, Redondo Beach, CA

  • Talk OutlineRelated WorkQuery Types over Mobile ObjectsIndexing & Query Evaluation StrategiesNative Space Indexing (NSI)Parametric Space Indexing (PSI)ExperimentsConclusions

  • Motivation - VGISVGISa 3D terrain visualization systemDataterrain, weather data, static & dynamic 3D objectsFunctionalityspatio-temporal queries over mobile objects

  • Update ModelLinear Motion with constant velocityUpdate consists of Next update arrives at time of previous updates expiration te. Both historical and future queries are supported


  • Related WorkSpatio-Temporal Index StructuresTheodoridis et. al. SSDBM 1998 Specifications for Efficient Indexing in Spatio-Temporal DatabasesIndexing Mobile ObjectsTayeb et. al. Computer Journal 41(3) A quadtree based dynamic attribute indexing methodKollios et. al. PODS 1999 On Indexing Mobile ObjectsSaltenis et. al. SIGMOD 2000 Indexing the Positions of Continuously Moving ObjectsGeneralWolfson et. al. SSDBM 1998 Moving Objects Databases: Issues and SolutionsFocus of Current Techniques: Future Spatio-Temporal Range Queries

  • Query TypesSpatial/Temporal RangeWhich objects were in spatial range [Q.xL,Q.xiL] during time interval [Q.tL,Q.tL]?


  • Query TypesTemporal kNNk top objects closest temporally to query time Q.t that lie in spatial range [Q.xL, Q.xH], ordered by time


  • Query TypesSpatial kNNtimelocationQ.tL1Q.tHQ.xk top objects closest spatial to query location Q.x during time interval [Q.tL, Q.tH], ordered by proximity

  • Indexing ApproachesNative Space Indexing (NSI)represents objects with bounding boxes in native space (time/location)bounding box: L =R.tL,R.x1L,,R.xnL ; H=R.tH,R.x1H,,R.xnHTo eliminate false admission:line-segment: s=O.ts,O.x1s,,O.xns ; e=O.te,O.x1e,,O.xne

  • Range Query QFor a Bounding Box R:if overlaps (Q, R), i.e., Q overlaps with R along the temporal and all spatial dimensions explore nodeFor a line segment L:if L does not overlap with Q in time ignoreelse Native Space IndexingRange Query

  • Native Space IndexingRange Query Line SegmenttimeQ.xiHtimeLi.T=time interval that the line of the object cuts the upper/lower boundary of the query along dimension iQ.xiLlocationTi=Q.T O.T Li.TT = i Ti

    If T is empty, ignore Else retrieve

  • k Nearest Neighbor AlgorithmPriority Queuefghanswer

  • Native Space IndexingTemporal kNNTemporal kNN query: retrieve objects in with minimum t=|Q.t-O.t|explore nodes in ascending order of t using a priority queueBounding Box testingfor each i, if [R.xiL, R.xiH] not overlap [Q.xiL, Q.xiH] ignoreelse, compute t and insert in the priority queue

  • Native Space IndexingTemporal kNN Line SegmenttimelocationTi= O.T Li.TTov = i Ti

  • Spatial kNN query: retrieve the k nearest objects to Q.xi during the time interval [Q.tL, Q.tH]explore node in ascending order of d = distance from Q.xiBounding Box testingif [R.tL, R.tH] not overlap [Q.tL, Q.tH] ignore Relse, compute d = mindist (P, Q) = [I di2]1/2Native Space IndexingSpatial kNNxiQ.xidi=R.xL-Q.xHdi= Q.xL-R.xHdi=0timeBounding BoxLine Segment

  • Indexing ApproachesParametric Space Indexing (PSI)represent objects with their motion parameters time starting location O.xi velocity O.viLocation FunctionO.xi(t)=O.xi+O.vi(t - O.ts) where ts t teBounding box R=

    Velocity (v)Time (t)Location (x)Spatio-temporal Query(projected on a bounding box)Historical Queries feasible since past segments are kept in indexMaximum locality since ts the time reference of the most recent update is used

  • Bounding Box testingif [Q.tL,Q.tH] not overlap [R.tL,R.tH] ignore R;else compute time interval tov,i that R overlaps Q in the native space along dimension i:Tov,i=Ti Q.T R.Tif Tov,I is not empty on all dimensions, then explore R, else ignore ittimeviHlocationParametric Space IndexingRange QueryviLR

  • Bounding Box testingcompute time interval Tov,i that R overlaps Q in the native space along dimension iTov,i= Ti R.TTov = i Ti

    viHviLtimeBounding Box RParametric Space IndexingTemporal kNNQ.tlocation

  • First, compute the temporal overlap:K.T= Q.T R.TThen, compute Si the extent of R in dimension i within the time range K.TCompute spriority by taking the mindist of the query point Q.xi and the range Si and summing up over all dimensionsParametric Space IndexingSpatial kNNviHtimexiBounding Box RQuerySidiQ.xiSpriority = [i di2]1/2

  • ExperimentsData5,000 mobile objects moving in a 100x100 gridObjects send ~1 update/time unitSimulations with 1, 2, 4 velocity units were runDuration of simulation 100 time units (~500,000 line segments in index)QueriesRanges of sizes 0.25 to 10 along each spatial dim.Average results over 1,000-query loads

  • Range QueriesI/O Cost

  • Range QueriesCPU Cost

  • Range QueriesVarying Object Speed

  • Temporal kNNI/O Cost

  • Spatial kNNI/O Cost

  • InterpretationParametric Space Indexing+ compact representation+ no false alarms- need transformation - not so good locality - specific to the type of motion usedNative Space Indexing+ good locality+ general for all kinds of motions: linear, circular, constant speed, constant acceleration+ easy to deal with- highly overlapped boxes

  • ConclusionsClassification of selection queries over mobile objects with range or nearest neighbor predicate on space/timeQuery processing techniques using two indexing approaches: Native and Parametric-Space IndexingNative Space Indexing outperforms Parametric Space Indexing besides being conceptually simpler