270 likes | 375 Views
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
E N D
Querying Mobile Objects in Spatio-Temporal Databases Kriengkrai Porkaew1 Iosif Lazaridis2 Sharad Mehrotra2 1 King Monkut’s University of Technology at Thonburi, Thailand 2 University of California, Irvine SSTD 2001, Redondo Beach, CA
Talk Outline • Related Work • Query Types over Mobile Objects • Indexing & Query Evaluation Strategies • Native Space Indexing (NSI) • Parametric Space Indexing (PSI) • Experiments • Conclusions
Motivation - VGIS • VGIS • a 3D terrain visualization system • Data • terrain, weather data, static & dynamic 3D objects • Functionality • spatio-temporal queries over mobile objects
Update Model • Linear Motion with constant velocity • Update consists of <ts, te, xi, vi> • Next update arrives at time of previous update’s expiration te. • Both historical and future queries are supported location time
Related Work Spatio-Temporal Index Structures • Theodoridis et. al. SSDBM 1998 “Specifications for Efficient Indexing in Spatio-Temporal Databases” Indexing Mobile Objects • Tayeb et. al. Computer Journal 41(3) “A quadtree based dynamic attribute indexing method” • Kollios et. al. PODS 1999 “On Indexing Mobile Objects” • Saltenis et. al. SIGMOD 2000 “Indexing the Positions of Continuously Moving Objects” General • Wolfson et. al. SSDBM 1998 “Moving Objects Databases: Issues and Solutions” Focus of Current Techniques: • Future Spatio-Temporal Range Queries
Query TypesSpatial/Temporal Range location Q.xH Q.xL time Q.tH Q.tL Which objects were inspatial range [Q.xL,Q.xiL] during time interval [Q.tL,Q.tL]?
3 1 2 Query TypesTemporal kNN location Q.xH Q.xL time Q.t k top objects closest temporally to query time Q.t that lie in spatial range [Q.xL, Q.xH], ordered by time
4 3 2 Query TypesSpatial kNN location Q.x 1 time Q.tL Q.tH k top objects closest spatial to query location Q.x during time interval [Q.tL, Q.tH], ordered by proximity
Y Object’s trajectory Time X H s e L Indexing ApproachesNative Space Indexing (NSI) • represents objects with bounding boxes in native space (time/location) • bounding box: <L,H> • L =R.tL,R.x1L,…,R.xnL ; H=R.tH,R.x1H,…,R.xnH • To eliminate false admission: • line-segment: <s,e> • s=O.ts,O.x1s,…,O.xns ; e=O.te,O.x1e,…,O.xne
Native Space IndexingRange Query • Range Query Q • For a Bounding Box R: • if overlaps (Q, R), i.e., Q overlaps with R along the temporal and all spatial dimensions explore node • For a line segment L: • if L does not overlap with Q in time ignore • else …
Q.T O.T Ti Li.T Native Space IndexingRange Query – Line Segment location Ti=Q.T O.T Li.T T = i Ti — If T is empty, ignore — Else retrieve Q.xiH Q.xiL time time Li.T=time interval that the line of the object cuts the upper/lower boundary of the query along dimension i
f D A E B C D E A B C f C D E g h A B C D E f g h B k Nearest Neighbor Algorithm Priority Queue answer h f g
Native Space IndexingTemporal kNN • Temporal kNN query: <Q.t; Q.xiL, Q.xiH> • retrieve objects in <Q.xiL, Q.xiH> with minimum t=|Q.t-O.t| • explore nodes in ascending order of t using a priority queue • Bounding Box testing • for each i, if [R.xiL, R.xiH] not overlap [Q.xiL, Q.xiH] ignore • else, compute t and insert <t, R> in the priority queue
Q.t O.T Ti Li.T Native Space IndexingTemporal kNN – Line Segment location Ti=O.T Li.T Tov = i Ti time
Q Q Q Native Space IndexingSpatial kNN • Spatial kNN query: <Q.tL, Q.tH; Q.xi> • 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.xi • Bounding Box testing • if [R.tL, R.tH]not overlap [Q.tL, Q.tH] ignore R • else, compute d = mindist (P, Q) = [I di2]1/2 Bounding Box Line Segment xi di=R.xL-Q.xH di=0 Q.xi di= Q.xL-R.xH time
Object’s motion Indexing ApproachesParametric Space Indexing (PSI) • represent objects with their motion parameters • time <ts, te> • starting location O.xi • velocity O.vi • Location Function O.xi(t)=O.xi+O.vi(t - O.ts) where ts t te • Bounding box R= • <tL,xiL,viL; tH,xiH,viH> Location (x) Time (t) Velocity (v) Spatio-temporal Query (projected on a bounding box) • Historical Queries feasible since past segments are kept in index • Maximum locality since ts the time reference of the most recent update is used
Q.T Tov,i Ti R.T Parametric Space IndexingRange Query • Bounding Box testing • if [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.TR.T • if Tov,I is not empty on all dimensions, then explore R, else ignore it location viH R viL time
tpriority Tov,i Ti R.T Parametric Space IndexingTemporal kNN Q.t location • Bounding Box testing • compute time interval Tov,i that R overlaps Q in the native space along dimension i Tov,i= Ti R.T Tov = i Ti viH Bounding Box R viL time
Q.T K.T viL viL R.T Parametric Space IndexingSpatial kNN Query Q.xi xi di • First, compute the temporal overlap: K.T= Q.T R.T • Then, compute Sithe extent of R in dimension i within the time range K.T • Compute spriorityby taking the mindist of the query point Q.xiand the range Si and summing up over all dimensions viH Si Bounding Box R • Spriority= [idi2]1/2 time
Experiments • Data • 5,000 mobile objects moving in a 100x100 grid • Objects send ~1 update/time unit • Simulations with 1, 2, 4 velocity units were run • Duration of simulation 100 time units (~500,000 line segments in index) • Queries • Ranges of sizes 0.25 to 10 along each spatial dim. • Average results over 1,000-query loads
Interpretation Parametric Space Indexing + compact representation + no false alarms - need transformation - not so good locality - specific to the type of motion used Native Space Indexing + good locality + general for all kinds of motions: linear, circular, constant speed, constant acceleration + easy to deal with - highly overlapped boxes
Conclusions • Classification of selection queries over mobile objects with range or nearest neighbor predicate on space/time • Query processing techniques using two indexing approaches: Native– and Parametric-Space Indexing • Native Space Indexing outperforms Parametric Space Indexing besides being conceptually simpler