Title: Querying Mobile Objects in Spatio-Temporal Databases
1Querying Mobile Objects in Spatio-Temporal
Databases
- Kriengkrai Porkaew1
- Iosif Lazaridis2
- Sharad Mehrotra2
- 1 King Monkuts University of Technology
- at Thonburi, Thailand
- 2 University of California, Irvine
- SSTD 2001, Redondo Beach, CA
2Talk Outline
- Related Work
- Query Types over Mobile Objects
- Indexing Query Evaluation Strategies
- Native Space Indexing (NSI)
- Parametric Space Indexing (PSI)
- Experiments
- Conclusions
3Motivation - VGIS
- VGIS
- a 3D terrain visualization system
- Data
- terrain, weather data, static dynamic 3D
objects - Functionality
- spatio-temporal queries over mobile objects
4Update Model
- Linear Motion with constant velocity
- Update consists of ltts, te, xi, vigt
- Next update arrives at time of previous updates
expiration te. - Both historical and future queries are supported
location
time
5Related 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
6Query TypesSpatial/Temporal Range
location
Q.xH
Q.xL
time
Q.tH
Q.tL
Which objects were in spatial range Q.xL,Q.xiL
during time interval Q.tL,Q.tL?
7Query 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
8Query 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
9Indexing ApproachesNative Space Indexing (NSI)
- represents objects with bounding boxes in native
space (time/location) - bounding box ltL,Hgt
- L R.tL,R.x1L,,R.xnL HR.tH,R.x1H,,R.xnH
- To eliminate false admission
- line-segment lts,egt
- sO.ts,O.x1s,,O.xns eO.te,O.x1e,,O.xne
10Native 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
11Native Space IndexingRange Query Line Segment
location
TiQ.T? O.T ? Li.T T ?i Ti If T is empty,
ignore Else retrieve
Q.xiH
Q.xiL
time
time
Li.Ttime interval that the line of the object
cuts the upper/lower boundary of the query along
dimension i
12k Nearest Neighbor Algorithm
Priority Queue
answer
h
f
g
13Native Space IndexingTemporal kNN
- Temporal kNN query ltQ.t Q.xiL, Q.xiHgt
- retrieve objects in ltQ.xiL, Q.xiHgt with minimum
tQ.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 ltt, Rgt in the priority
queue
14Native Space IndexingTemporal kNN Line Segment
location
Ti O.T ? Li.T Tov ?i Ti
time
15Native Space IndexingSpatial kNN
- Spatial kNN query ltQ.tL, Q.tH Q.xigt
- 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 di21/2
Bounding Box
Line Segment
xi
diR.xL-Q.xH
di0
Q.xi
di Q.xL-R.xH
time
16Indexing ApproachesParametric Space Indexing
(PSI)
- represent objects with their motion parameters
- time ltts, tegt
- starting location O.xi
- velocity O.vi
- Location Function
- O.xi(t)O.xiO.vi(t - O.ts)
- where ts ? t ? te
- Bounding box R
- lttL,xiL,viL tH,xiH,viHgt
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
17Parametric 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,iTi ? Q.T ? R.T
- if Tov,I is not empty on all dimensions, then
explore R, else ignore it
location
viH
R
viL
time
18Parametric 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
19Parametric Space IndexingSpatial kNN
Query
Q.xi
xi
di
- First, compute the temporal overlap
- K.T Q.T ? R.T
- Then, compute Si the extent of R in dimension i
within the time range K.T - Compute spriority by taking the mindist of the
query point Q.xi and the range Si and summing up
over all dimensions
viH
Si
Bounding Box R
Spriority ?i di21/2
time
20Experiments
- 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
21Range QueriesI/O Cost
22Range QueriesCPU Cost
23Range QueriesVarying Object Speed
24Temporal kNNI/O Cost
25Spatial kNNI/O Cost
26Interpretation
- 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
27Conclusions
- 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