270 likes | 385 Vues
This paper discusses advanced methodologies for querying mobile objects within spatio-temporal databases, focusing on indexing techniques crucial for performance. We introduce Native Space Indexing (NSI) and Parametric Space Indexing (PSI) to handle location and velocity parameters efficiently. The authors conduct experiments comparing these methodologies and provide insights into future directions for spatio-temporal queries. This work is motivated by the need for robust systems that can manage dynamic data, such as terrain and weather, improving applications in various fields.
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