86
Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University of Minnesota Minneapolis, MN, USA [email protected] Department of Computer Science, Purdue University West Lafayette, Indiana, USA. [email protected]

Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

Location-aware Query Processing and Optimization: A Tutorial

Mohamed F. Mokbel Walid G. Aref

Department of Computer Science and Engineering, University of MinnesotaMinneapolis, MN, [email protected]

Department of Computer Science, Purdue UniversityWest Lafayette, Indiana, USA.

[email protected]

Page 2: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

2May 2007 MDM Tutorial

Motivation

Page 3: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

3May 2007 MDM Tutorial

Applications Traffic Monitoring

How many cars are in the downtown area?

Send an alert if a non-friendly vehicle enters a restricted region

Report any congestion in the road network

Once an accident is discovered, immediately send alarm to the nearest police and ambulance cars

Make sure that there are no two aircrafts with nearby paths

Page 4: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

4May 2007 MDM Tutorial

Applications (Cont.) Location-based Store Finder / Advertisement

Where is my nearest Gas station?

What are the fast food restaurants within 3 miles from my location?

Let me know if I am near to a restaurant while any of my friends are there

Send E-coupons to all customers within 3 miles of my stores

Get me the list of all customers that I am considered their nearest restaurant

Page 5: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

5May 2007 MDM Tutorial

Location-based Database Servers

Layered Approach

DBMS

GIS

Spatio-temporal

Built-in Approach

GIS Interface

ST-Index

ST Query Processing

DBMS

Page 6: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

6May 2007 MDM Tutorial

Variety of Location-aware Queries

Query: Stationary Object: Moving

Continuously report the number of cars in the freeway Type: Range query Time: Present Duration: Continuous

What are my nearest McDonalds for the next hour? Type: Nearest-Neighbor query Time: Future Duration: Continuous

Query: Moving Object: Stationary

Send E-coupons to all cars that I am their nearest gas station Type: Reverse NN query Time: Present Duration: Snapshot

Query: Stationary Object: Moving

What was the closest dist. between Taxi A & me yesterday? Type: Closest-point query Time: Past Duration: Snapshot

Query: Moving Object: Moving

Page 7: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

7May 2007 MDM Tutorial

Tutorial Outline Location-aware EnvironmentsLocation-aware Environments

Location-aware Snapshot Query Processing Snapshot Past Queries Snapshot Present Queries Snapshot Future Queries Spatio-temporal Access Methods

Location-aware Continuous Query Processing

Scalable Execution of Continuous Queries

Location-aware Query Optimization

Uncertainty in Location-aware Query Processing

Case Study

Open Research Issues

Page 8: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

8May 2007 MDM Tutorial

Location-aware Snapshot Query Processing Querying the Past

Examples:Querying Along the Temporal Dimension:

What was the location of a certain object from 7:00 AM to 10:00 AM yesterday?

Querying Along the Spatial Dimension: Find all objects that were in a certain area at 7:00 AM yesterday

Querying Along the Spatio-temporal Dimension: Find all objects that were close to each other from 7:00 AM to 8:00 AM yesterday

Features: Large number of historical trajectoriesPersistent read-only dataThe ability to query the spatial and/or

temporal dimensions

Page 9: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

9May 2007 MDM Tutorial

Location-aware Snapshot Query ProcessingIndexing the Time Dimension

Historical trajectories are represented by their three-dimensional Minimum Bounding Rectangle (MBR)

3D-R-tree is used to index the MBRs

Technique simple and easy to implement

Does not scale well Does not provide efficient

query support

Time

Page 10: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

10May 2007 MDM Tutorial

Location-aware Snapshot Query ProcessingMulti-version Index Structures

Maintain an R-tree for each time instance R-tree nodes that are not changed across consecutive time instances are

linked together

Timestamp 1Timestamp 0

3D-R

-tre

e

A multi-version R-tree can be combined with a 3D-R-tree to support interval queries

Page 11: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

11May 2007 MDM Tutorial

Location-aware Snapshot Query ProcessingQuerying the Present

Time is always NOW Example Queries:

Find the number of objects in a certain area What is the current location of a certain

object?

Features: Continuously changing data Real-time query support is required Index structures should be update-tolerant

Present data is always accessed through continuous queries

Page 12: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

12May 2007 MDM Tutorial

Location-aware Snapshot Query ProcessingUpdating Index Structures

Traditional R-tree updates are top-down

Updates translated to delete and insert transactions

To support frequent updates: Updates can be managed in

space without the need for deletion or insertions

Bottom-up approaches through auxiliary index structures to locate the object identifier Hash based on OID

Page 13: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

13May 2007 MDM Tutorial

Location-aware Snapshot Query ProcessingUpdate Memos

Keep a memo with the R-tree

The memo contains the recent updates to the existing R-tree

The query answer returned from the R-tree should be passed through the memo

The update memo is reflected to the R-tree once the relevant disk page is retrieved

Update Memo

Spatio-temporal Queries

Raw answer set

Final answer set

Page 14: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

14May 2007 MDM Tutorial

Location-aware Snapshot Query ProcessingQuerying the Future

Examples: What will my nearest restaurant be

after 30 minutes? Does my path conflict with any other

cars for the next hour?

Features: Predict the movement through a

velocity vector Prediction could be valid for only a

limited time horizon in the future

Page 15: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

15May 2007 MDM Tutorial

Location-aware Snapshot Query ProcessingDuality Transformation

A line (trajectory) in the two-dimensional space can be transformed into a point in another dual two-dimensional space

Trajectory: x(t) = vt + a Point: (v,a)

All queries will need to be transformed into the dual space

Rectangular queries will be represented as polygons

Page 16: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

16May 2007 MDM Tutorial

Location-aware Snapshot Query ProcessingTime-Parameterized Data Structures

A bounding rectangle with MBR & VBR is guaranteed to contain all its moving objects as long as they maintain their velocity vector

High degree of overlap when the velocity vector is not updated

The Time-parameterized R-tree (TPR-tree) consists of: Minimum bounding rectangles (MBR) Velocity bounding rectangles (VBR)

Page 17: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

17May 2007 MDM Tutorial

Location-aware Snapshot Query ProcessingIndexing Past, Present, and Future

A unified index structure for both past, present, and future data

Makes use of the partial-persistent R-tree for past data and the TPR-tree for current and future data

Double Time-Parameterized Bounding rectangles are used to bound moving objects. Double TPBR has two components: Tail MBR that starts at the time of the last update and

extends to infinity. The tail is a regular TPBR of the TPR-tree Head MBR to bound the finite historical trajectories. The head

is an optimized TPBR

Querying is similar to regular PPR-tree search with the exception of redefining the intersection function to accommodate for the double TPBR

Page 18: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

18May 2007 MDM Tutorial

Spatio-temporal Access Methods

Red: Future

Blue: Past

Green: Present

Brown: All

RPPF-tree

Page 19: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

19May 2007 MDM Tutorial

Tutorial Outline Location-aware EnvironmentsLocation-aware Environments

Location-aware Location-aware SnapshotSnapshot Query Processing Query Processing

Location-aware Continuous Query Processing Continuous Queries Vs. Snapshot Queries Approaches for Continuous Query Evaluation

Scalable Execution of Continuous Queries

Location-aware Query Optimizer

Uncertainty in Location-aware Query Processing

Case Study

Open Research Issues

Page 20: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

20May 2007 MDM Tutorial

Continuous Queries

DataQuery

Snapshot vs. Continuous Query Processing

Traditional (Snapshot) Queries

DataQuery

Answer

Query

Answer

Data

Page 21: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

21May 2007 MDM Tutorial

Location-aware Continuous Query Processing Approaches

Straightforward Approach Abstract the continuous queries to a series of

snapshot queries evaluated periodically

Result Validation

Result Caching

Result Prediction

Incremental Evaluation

Page 22: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

22May 2007 MDM Tutorial

Location-aware Continuous Query ProcessingResult Validation

Associate a validation condition with each query answer

Valid time (t): The query answer is valid for the

next t time units Valid region (R)

The query answer is valid as long as you are within a region R

It is challenging to maintain the computation of valid time/region for querying moving objects

Once the associated validation condition expires, the query will be reevaluated

Page 23: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

23May 2007 MDM Tutorial

Location-aware Continuous Query ProcessingCaching the Result

K-NN query Initially, retrieve more than k

Range query Evaluate the query with a larger range

Observation: Consecutive evaluations of a continuous query yield very similar results

Idea: Upon evaluation of a continuous query, retrieve more data that can be used later

How much we need to pre-compute? How do we do re-caching?

Page 24: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

24May 2007 MDM Tutorial

Location-aware Continuous Query ProcessingPredicting the Result

Given a future trajectory movement, the query answer can be pre-computed in advance

The trajectory movement is divided into N intervals, each with its own query answers Ai

The query is evaluated once (as a snapshot query). Yet, the answer is valid for longer time periods

Once the trajectory changes, the query will be reevaluated

Nearest-Neighbor Query

Page 25: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

25May 2007 MDM Tutorial

Location-aware Continuous Query ProcessingIncremental Evaluation

The query is evaluated only once. Then, only the updates of the query answer are evaluated

There are two types of updates. Positive and Negative updates

+_+

Query Result

Only the objects that cross the query boundary are taken into account

Need to continuously listen for notifications that someone cross the query boundary

Page 26: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

26May 2007 MDM Tutorial

Tutorial Outline Location-aware EnvironmentsLocation-aware Environments

Location-aware Location-aware SnapshotSnapshot Query Processing Query Processing

Location-aware Location-aware ContinuousContinuous Query Processing Query Processing

Scalable Execution of Continuous Queries Location-aware Centralized Database Systems Location-aware Distributed Database Systems Location-aware Data Stream Management Systems

Location-aware Query Optimizer

Uncertainty in Location-aware Query Processing

Case Study

Open Research Issues

Page 27: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

27May 2007 MDM Tutorial

How many cars in the highlighted

area?

Range QueryContinuous

Monitor the traffic in the red areas

Range QueryContinuous

Alert me if there are less than 3 police cars within

5 miles

Range QueryContinuous

Keep me updated by nearest 3 hospitals

K-NN QueryContinuous

Make sure that the nearest 3 airplanes are

FRIENDLY

K-NN QueryContinuous

Location-aware Database Server

Scalability of Location-aware Continuous Queries Motivation

Page 28: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

28May 2007 MDM Tutorial

Scalability of Location-aware Continuous Queries Main Concepts

Continuous queries last for long times at the server side While a query is active in the server, other queries will be submitted Shared execution among multiple queries

Should we index data OR queries? Data and queries may be stationary or moving Data and queries are of large size Data and queries arrive to the system with very high rates Treat data and queries similarly

Queries are coming to data OR data are coming to queries? Both data and queries are subjected to each other Join data with queries

Page 29: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

29May 2007 MDM Tutorial

Scalability of Location-aware Continuous Queries Main Concepts (Cont.)

Evaluating a large number of concurrent continuous spatio-temporal queries is abstracted as a spatio-temporal join between moving objects and moving queries

Each query is a single thread

ST Query 1 . . .

. .

. . .

. . .

.

ST Query 2 ST Query N

Data Objects

D-Index

Data Objects

D-Index

Data Objects

D-Index

Shared ST Join

Q1

Split

Q2 QN

One thread for all continuous queries

ST Queries

. .

.

Data Objects

D-Index

Q-Index

Page 30: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

30May 2007 MDM Tutorial

Scalability of Location-aware Continuous Queries Location-aware Centralized Database Systems

Centralized index structures Index the queries instead of data

Moving Objects

(Stationary) ST Queries in an R-tree index structure

Valid only for stationary queries

Page 31: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

31May 2007 MDM Tutorial

Scalability of Location-aware Continuous Queries Location-aware Centralized Database Systems (Cont.)

To accommodate for the continuous movement of both data and queries:

Concurrent continuous queries share a grid structure

Moving objects are hashed to the same grid structure as queries

The spatio-temporal join is done by overlaying the two grid structures

Page 32: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

32May 2007 MDM Tutorial

Scalability of Location-aware Continuous Queries Location-aware Distributed Database Systems

Motivation: Centralized location-aware servers will have a bottleneck at the server side

Assumption: Moving objects have devices with the capability of doing some computations

Idea: Server will ship some of its processing to the moving

objects Server will act as a mediator among moving objects

Implementation: Moving objects should welcome cooperation in such environments

Page 33: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

33May 2007 MDM Tutorial

Scalability of Location-aware Continuous Queries Location-aware Distributed Database Systems (Cont.)

Each moving object O maintains a list of the queries that O may be part of their answer

It is the responsibility of the moving object O to report that O becomes part of the answer of a certain query

Once a query updates its location, it sends the new location to the server, which will propagate the new location to the interested users

The server is responsible in determining which objects will be interested in which queries

Page 34: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

34May 2007 MDM Tutorial

Scalability of Location-aware Continuous Queries Location-aware Data Stream Management Systems

Motivation: Very high arrival rates that are beyond the system capability to store

Idea: Only store those objects that are likely to produce query results, i.e., only significant objects are stored, all other data are simply dropped

Significant objects: A moving object O is significant if there is at least one query that is interested in O’s location

Challenge: Discovering that an object becomes insignificant

Page 35: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

35May 2007 MDM Tutorial

Scalability of Location-aware Continuous Queries Location-aware Data Stream Management Systems (Cont.)

Cache Area Only significant objects are

stored in-memory

An object is considered significant if it is either in the query area or the cache area

Due to the query and object movements, a stored object may become insignificant at any time

Larger cache area indicates more storage overhead and more accurate answer

Page 36: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

36May 2007 MDM Tutorial

The first k objects are considered an initial answer

K-NN query is reduced to a circular range query

K = 3However, the query area may shrink or grow

Scalability of Location-aware Continuous Queries Location-aware Data Stream Management Systems (Cont.)

Page 37: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

37May 2007 MDM Tutorial

Shared Spatio-temporal Join

. .

Q1

+/-

Split

. .

Q2

+/-

. .

QN

+/-

Stream of Moving Objects

Stream of Moving Queries

Scalability of Location-aware Continuous Queries Location-aware Data Stream Management Systems (Cont.)

Each query is a single thread One thread for all continuous queries

Shared Operator

Shared Memory Buffer among all C. Queries

Stationary Range

+/-

. .

.

+/- +/-

. .

. . .

. . .

. Q1 Q2 QN

Stream of Moving Objects

Moving kNN

Moving Range

Page 38: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

38May 2007 MDM Tutorial

Query Load Shedding Reduce the cache area Possibly reduce the query area Immediately drop insignificant tuples Intuitive and simple to implement

Scalability of Location-aware Continuous Queries Location-aware Data Stream Management Systems (Cont.)

Object Load Shedding Objects that satisfy less than k

queries are insignificant Lazily drop insignificant tuples Challenge I: How to choose k? Challenge II: How to provide a

lower bound for the query accuracy?

1

4

56

2

3

7

K = 2

Page 39: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

39May 2007 MDM Tutorial

Tutorial Outline

Location-aware EnvironmentsLocation-aware Environments

Location-aware Location-aware SnapshotSnapshot Query Processing Query Processing

Location-aware Location-aware ContinuousContinuous Query Processing Query Processing

Scalable Execution of Continuous QueriesScalable Execution of Continuous Queries

Location-aware Query Optimization

Uncertainty in Location-aware Query Processing

Case Study

Open Research Issues

Page 40: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

40May 2007 MDM Tutorial

Location-aware Query Optimization

Spatio-temporal pipelinable query operators Range queries Nearest-neighbor queries

Selectivity estimation for spatio-temporal queries/operators Spatio-temporal histograms Sampling

Adaptive query optimization for continuous queries

Page 41: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

41May 2007 MDM Tutorial

Continuously report the trucks in this area

Scalar functions (Stored procedure)

Database Engine

Only produce objects in the areas of interest

The performance of scalar functions

is limited

Spatio-temporal Query Operators

Existing Approaches are Built on Top of DBMS (at the Application Level)

Database Engine

Spatio-temporal Operators

SELECT O. ID

FROM Objects O

WHERE O.type = truck

INSIDE Area A

Page 42: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

42May 2007 MDM Tutorial

SELECT M.ObjectID

FROM MovingObjects M, AvisCars A

WHERE M.ID = A.ID

INSIDE RegionR

INSIDE

JOIN+/-

AvisCars

+/-

Moving Objects

Spatio-temporal Query Operators

“Continuously report the Avis cars in a certain area”

0

500

1000

1500

2000

2500

3000

2 4 8 16 32 64

Query Size

Tupl

es in

the

Pip

elin

e

INSIDE Operator

Table FunctionScalar Function

INSIDE

JOIN

+/-

AvisCars Moving Objects

Scalar FunctionSpatio-temporal

Operators

Page 43: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

43May 2007 MDM Tutorial

Spatio-temporal Selectivity Estimation Estimating the selectivity of spatio-temporal operators is crucial

in determining the best plan for spatio-temporal queries

SELECT ObjectID

FROM MovingObjects M

WHERE Type = Truck

INSIDE Region R

SELECT

INSIDE SELECT

INSIDE

Page 44: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

44May 2007 MDM Tutorial

Spatio-temporal Histograms Moving objects in D-dimensional space are mapped to 2D-

dimensional histogram buckets

x

t

x

t

Page 45: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

45May 2007 MDM Tutorial

Spatio-temporal Histograms with Query Feedback

Estimating the selectivity of spatio-temporal operators is crucial in determining the best plan for spatio-temporal queries

Query Optimizer Spatio-temporal Histogram

Query Executer

Query

Query plan

Feedback

6.98%

6.98%

6.98%

6.98%

6.01%

6.01%

6.01%

6.01%

6.01%

6.01%

6.01%

6.01%

6.01%

6.01%

6.01%

6.01%

6.25%

6.25%

6.25%

6.25%

6.25%

6.25%

6.25%

6.25%

6.25%

6.25%

6.25%

6.25%

6.25%

6.25%

6.25%

6.25%

10%

Q1

Page 46: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

46May 2007 MDM Tutorial

Adaptive Query Optimization

SELECT ObjectID

FROM MovingObjects M

WHERE Type = Truck

INSIDE Region R

Continuous queries last for long time (hours, days, weeks) Environment variables are likely

to change The initial decision for building a

query plan may not be valid after a while

Need continuous optimization and ability to change the query plan: Training period: Spatio-temporal

histogram, periodicity mining Online detection of changes

SELECT

Moving Objects

INSIDE SELECT

Moving Objects

INSIDE

Page 47: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

47May 2007 MDM Tutorial

Tutorial Outline

Location-aware EnvironmentsLocation-aware Environments

Location-aware Location-aware SnapshotSnapshot Query Processing Query Processing

Location-aware Location-aware ContinuousContinuous Query Processing Query Processing

Scalable Execution of Continuous QueriesScalable Execution of Continuous Queries

Location-aware Query OptimizerLocation-aware Query Optimizer

Uncertainty in Location-aware Query Processing

Case Study

Open Research Issues

Page 48: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

48May 2007 MDM Tutorial

Uncertainty in Moving Objects

Location information from moving objects is inherently inaccurate

Sources of uncertainty: Sampling. A moving object sends its location information

once every t time units. Within any two consecutive locations, we have no clue about the object’s exact location

Reading accuracy. Location-aware devices do not provide the exact location

Object movement and network delay. By the time that a certain reading is received by the server, the moving object has already changed its location

Page 49: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

49May 2007 MDM Tutorial

Uncertainty in Moving Objects

Historical data (Trajectories)

Current data

T0+Є0T0+Є1T0+Є2T0T1

Page 50: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

50May 2007 MDM Tutorial

Uncertainty in Moving ObjectsError in Query Answer

Range Queries

Nearest Neighbor Queries

Page 51: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

51May 2007 MDM Tutorial

Representing Uncertain Data usingEllipses

Given : Start point End point Maximum possible speed Maximum traveling distance S

If S is greater than the distance between the two end points, then the moving object may have deviated from the given route

Page 52: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

52May 2007 MDM Tutorial

Representing Uncertain Data usingCylinders

Given: Start and end points

Constraint: An object would report its location only if it is deviated by

a certain distance r from the predicted trajectory

r

Page 53: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

53May 2007 MDM Tutorial

Representing Uncertain Data in Road Networks

Given: Start and end points

Constraints : Deviation threshold r Speed threshold v

Page 54: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

54May 2007 MDM Tutorial

Querying Uncertain DataUncertain Keywords

KEYWORDS: Probability: possibly, definitely Temporal: sometimes, always Spatial: somewhere, everywhere

Examples: What are the objects that are possibly sometimes within area

R at time interval T? What are the objects that definitely passed through a certain

region? Retrieve all the objects that are always inside a certain region Retrieve all the objects that are sometimes definitely inside

region R

Page 55: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

55May 2007 MDM Tutorial

Querying Uncertain DataUncertain Keywords (Cont.)

Object O is definitely always in Q1

Q1

Q2

Q3

Q4

O

Object O is possibly always in Q2

Object O is definitely sometimes in Q3

Object O is possibly sometimes in Q4

Page 56: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

56May 2007 MDM Tutorial

Querying Uncertain DataProbabilistic Queries

With each query answer, associate a probability that this answer is true

The answer set of a query Q is represented as a set of tuples <ID, p> where ID is the tuple identifier and p is the probability that the object ID belongs to the answer set of Q

Assumptions: Objects can lie anywhere uniformly within their

uncertainty region

Page 57: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

57May 2007 MDM Tutorial

Querying Uncertain DataProbabilistic Range Queries

Query Answer: (B, 50%) (C, 90%) D E (F, 30%)

AC

B

E

D

F

Page 58: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

58May 2007 MDM Tutorial

Query Answer (k=1): (C, p1) (D, p2) (E, p3)

AC

B

E

D

F

Querying Uncertain DataProbabilistic Nearest-Neighbor Queries

Page 59: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

59May 2007 MDM Tutorial

Tutorial Outline Location-aware EnvironmentsLocation-aware Environments

Location-aware Location-aware SnapshotSnapshot Query Processing Query Processing

Location-aware Location-aware ContinuousContinuous Query Processing Query Processing

Scalable Execution of Continuous QueriesScalable Execution of Continuous Queries

Location-aware Query OptimizerLocation-aware Query Optimizer

Uncertainty in Location-aware Query ProcessingUncertainty in Location-aware Query Processing

Case Studies DOMINO SECONDO PLACE

Open Research Issues

Page 60: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

60May 2007 MDM Tutorial

Case Study IDOMINO

DOMINO: Databases fOr MovINg Objects tracking

Built on top of database management systems using a three-layers approach; the DBMS layer, the GIS layer, and the DOMINO layer

Utilize dynamic attributes for future predicted locations

Manage uncertainty that is inherent in future motion plans

Support various location models: Exact point location An area in which the object is located in An approximate motion plan A complete motion plan

Page 61: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

61May 2007 MDM Tutorial

DOMINO Architecture

Object-Relational DBMS

Arc-View GIS

DOMINO

Informix/Oracle

Stores the information about each moving object, including each object’s plan of motion

Provide capabilities and user interface primitives for storing, querying, and manipulating geographic information

Provide temporal capabilities, uncertainty management, and location prediction

Page 62: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

62May 2007 MDM Tutorial

Uncertainty Management in DOMINO

Uncertainty operators are implemented as user-defined functions (UDFs) in Oracle

Uncertainty operators: E.g., Always_Definitely_Inside, Sometime_Definitely_Inside,

Possibly_Always_Inside, Possibly_Sometime_Inside

Example:

SELECT oidFROM MovingObjectsWHERE Possibly_Always_Inside (trajectory, region,

time interval)

Page 63: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

63May 2007 MDM Tutorial

Case Study IISECONDO

SECONDO: An Extensible DBMS Architecture and Prototype

A generic database system frame that can be filled with implementation of various data models (relational, object-oriented, or XML) and data types (spatial data, moving objects)

A database is a set of SECONDO objects of the form (name, type, value), where type is one of the implemented algebras

About 20 implemented algebras, e.g., standard algebra, relational algebra, R-Tree algebra, and spatial algebra

Query optimizer includes optimization of conjunctive queries, selectivity estimation, and implementation of an SQL-like query language

Page 64: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

64May 2007 MDM Tutorial

SECONDO Architecture

SECONDO Kernel

Berkeley DB (C++)

Built on top of Berkeley DB. Includes specific data models, algebra modules, and query processors over the implemented algebra.

The core functionality is the optimization of conjunctive queries, i.e., producing an efficient query plan

Generic GUI independent of data models. The interface includes command prompt and is extensible by a set of different viewers

Optimizer

PROLOG

GUI

Java

On top of the query optimizer, there is a SQL-like language in a notation adopted to PROLOG

Page 65: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

65May 2007 MDM Tutorial

Case Study III The PLACE Server

PLACE: Pervasive Location-Aware Computing Environments

Scalable execution of continuous queries over spatio-temporal data streams

Shared execution among concurrent continuous queries

Built inside a database engine

Incremental evaluation of continuous queries

Spatio-temporal query operators

Page 66: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

66May 2007 MDM Tutorial

Storage Engine

Relational Operators

Query Processor

Query Parser

Continuous / Moving Queries

INSIDE, kNN

Negative updates

Stream of Moving Objects/Queries

INSIDE, KNN, operators

Scalable shared operators

PLACE Architecture

DBMS PLACE

Page 67: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

67May 2007 MDM Tutorial

PLACE Architecture

A Query Processor for Real-time Spatio-temporal Data Streams

A Query Processing Engine for Data Streams

PREDATOR

Abstract data types

Storage engine

Query processor

SQL Language

Continuous time-based Sliding Window Queries

Continuous Predicate-based Window Queries

Moving Queries

Stream data types

Stream of Moving Objects/Queries

Stream_Scan Operator

W-Expire OperatorNegative Tuples

INSIDE OperatorkNN Operator

WINDOW window_clausekNN knn_clause

PLACE

NILE

INSIDE inside_clause

Page 68: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

68May 2007 MDM Tutorial

Extended SQL Syntax

inside_clause: Stationary query: (x1,y1,x2,y2) Moving query: (‘M’,OID, width, length)

knn_clause: Stationary query: (k,x,y) Moving query: (‘M’, OID, k)

Page 69: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

69May 2007 MDM Tutorial

Tutorial Outline Location-aware EnvironmentsLocation-aware Environments

Location-aware Location-aware SnapshotSnapshot Query Processing Query Processing

Location-aware Location-aware ContinuousContinuous Query Processing Query Processing

Scalable Execution of Continuous QueriesScalable Execution of Continuous Queries

Location-aware Query OptimizerLocation-aware Query Optimizer

Uncertainty in Location-aware Query ProcessingUncertainty in Location-aware Query Processing

Case StudyCase Study

Open Research Issues

Page 70: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

70May 2007 MDM Tutorial

Open Research Issues Location Privacy

“New technologies can pinpoint your location at any time and place. They promise safety and convenience but threaten privacy and security”

Cover story, IEEE Spectrum, July 2003

YOU ARE TRACKED…

!!!!

Page 71: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

71May 2007 MDM Tutorial

Open Research Issues Spatio-temporal Data Mining

Mining the history Predicting the future

Online outlier detection for moving objects

Suspicious movement in video surveillance

Analysis of tsunami, hurricanes, or earthquakes

Phenomena detection and tracking

Page 72: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

72May 2007 MDM Tutorial

Open Research Issues Reducing the Gap between ST Databases and DBMSs/DSMSs

What do Spatio-temporal researchers offer? 50+ spatial index structure, 30+ spatio-temporal indexing structure Wide variety of spatio-temporal query processing techniques

What do DBMS designers want? Little disturbance to their code Large number of customers

The result is: DB2 and SQLServer do not support the R-tree (and may not be willing

to) Oracle supports only R-tree and Quadtree

Can we reduce this gap? YES. Think in the minimal additions to the engine Example I: B-tree with SFC Example II: GiST and SP-GiST Example III: Add-in query operators

Page 73: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

73May 2007 MDM Tutorial

References Overview Papers:

1. Ouri Wolfson, Bo Xu, Sam Chamberlain, and Liqin Jiang. Moving Objects Databases: Issues and Solutions. In Proceeding of the International Conference on Scientific and Statistical Database Management, SSDBM, pages 111-122, Capri, Italy, July 1998.

2. Mohamed F. Mokbel, Walid G. Aref, Susanne E. Hambrusch, and Sunil Prabhakar. Towards Scalable Location-aware Services: Requirements and Research Issues. In Proceeding of the ACM Symposium on Advances in Geographic Information Systems, ACM GIS, pages 110-117, New Orleans, LA, November 2003.

3. Christian S. Jensen. Database Aspects of Location-based Services. In Location-based Services, pages 115-148. Morgan Kaufmann, 2004.

4. Dik Lun Lee, Manli Zhu, and Haibo Hu. When Location-based Services Meet Databases. Mobile Information Systems, 1(2):81-90, 2005.

Spatio-temporal Access Methods:

5. Mohamed F. Mokbel, Thanaa M. Ghanem, and Walid G. Aref. Spatio-temporal Access Methods. IEEE Data Engineering Bulletin, 26(2):40-49, June 2003.

6. X. Xu, Jiawei Han, and W. Lu. RT-Tree: An Improved R-Tree Indexing Structure for Temporal Spatial Databases. In Proceeding of the International Symposium on Spatial Data Handling, SSDH, pages 1040-1049, Zurich, Switzerland, July 1990.

7. Yannis Theodoridis, Michael Vazirgiannis, and Timos Sellis. Spatio-temporal Indexing for Large Multimedia Applications. In Proceeding of the IEEE Conference on Multimedia Computing and Systems, ICMCS, pages 441-448, Hiroshima, Japan, June 1996.

8. Mario A. Nascimento and Jeerson R. O. Silva. Towards Historical R-Trees. In Proceeding of the ACM Sympo-sium on Applied Computing, SAC, pages 235-240, Atlanta, GA, February 1998.

9. Jamel Tayeb, Ozgur Ulusoy, and Ouri Wolfson. A Quadtree-Based Dynamic Attribute Indexing Method. The Computer Journal, 41(3):185-200, 1998.

Page 74: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

74May 2007 MDM Tutorial

References Spatio-temporal Access Methods (Cont.):

10. Dieter Pfoser, Christian S. Jensen, and Yannis Theodoridis. Novel Approaches in Query Processing for Moving Object Trajectories. In Proceeding of the International Conference on Very Large Data Bases, VLDB, pages 395-406, Cairo, Egypt, September 2000.

11. Yufei Tao and Dimitris Papadias. MV3R-Tree: A Spatio-temporal Access Method for Timestamp and Interval Queries. In Proceeding of the International Conference on Very Large Data Bases, VLDB, pages 431-440, Roma, Italy, September 2001.

12. Yufei Tao and Dimitris Papadias. Efficient Historical R-Trees. In Proceeding of the International Conference on Scientific and Statistical Database Management, SSDBM, pages 223-232, Fairfax, VA, July 2001.

13. George Kollios, Vassilis J. Tsotras, Dimitrios Gunopulos, Alex Delis, and Marios Hadjieleftheriou. Indexing Animated Objects Using Spatiotemporal Access Methods. IEEE Transactions on Knowledge and Data Engineering, TKDE, 13(5):758-777, 2001.

14. Marios Hadjieleftheriou, George Kollios, Vassilis J. Tsotras, and Dimitrios Gunopulos. Efficient Indexing of Spatiotemporal Objects. In Proceeding of the International Conference on Extending Database Technology, EDBT, pages 251-268, Prague, Czech Republic, March 2002.

15. Zhexuan Song and Nick Roussopoulos. SEB-Tree: An Approach to Index Continuously Moving Objects. In Proceeding of the International Conference on Mobile Data Management, MDM, pages 340-344, Melbourne, Australia, January 2003.

16. Elias Frentzos. Indexing Objects Moving on Fixed Networks. In Proceeding of the International Symposium on Advances in Spatial and Temporal Databases, SSTD, pages 289-305, Santorini Island, Greece, July 2003.

17. V. Prasad Chakka, Adam Everspaugh, and Jignesh M. Patel. Indexing Large Trajectory Data Sets with SETI. In Proceeding of the International Conference on Innovative Data Systems Research, CIDR, Asilomar, CA, January 2003.

18. Yuhan Cai and Raymond T. Ng. Indexing Spatio-temporal Trajectories with Chebyshev Polynomials. In Proceeding of the ACM International Conference on Management of Data, SIGMOD, pages 599-610, Paris, France, June 2004.

Page 75: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

75May 2007 MDM Tutorial

References Spatio-temporal Access Methods (Cont.):

19. Dieter Pfoser and Christian S. Jensen. Trajectory Indexing Using Movement Constraints. GeoInformatica, 9(2):93-115, June 2005.

20. Jinfeng Ni and Chinya V. Ravishankar. PA-Tree: A Parametric Indexing Scheme for Spatio-temporal Trajectories. In Proceeding of the International Symposium on Advances in Spatial and Temporal Databases, SSTD, pages 254-272, Angra dos Reis, Brazil, August 2005.

21. Mario A. Nascimento, Jeerson R. O. Silva, and Yannis Theodoridis. Evaluation of Access Structures for Discretely Moving Points. In Proceeding of the International Workshop on Spatio-temporal Database Management, STDBM, pages 171-188, Edinburgh, UK, September 1999.

22. Zhexuan Song and Nick Roussopoulos. Hashing Moving Objects. In Proceeding of the International Conference on Mobile Data Management, MDM, pages 161-172, Hong Kong, January 2001.

23. Dongseop Kwon, Sangjun Lee, and Sukho Lee. Indexing the Current Positions of Moving Objects Using the Lazy Update R-Tree. In Proceeding of the International Conference on Mobile Data Management, MDM, pages 113-120, Singapore, January 2002.

24. Mahdi Abdelguer, Julie Givaudan, Kevin Shaw, and Roy Ladner. The 2-3 TR-Tree, A Trajectory-Oriented Index Structure for Fully Evolving Valid-time Spatio-temporal Datasets. In Proceeding of the ACM Symposium on Advances in Geographic Information Systems, ACM GIS, pages 29-34, McLean, VA, November 2002.

25. Mong-Li Lee, Wynne Hsu, Christian S. Jensen, Bin Cui, and Keng Lik Teo. Supporting Frequent Updates in R-Trees: A Bottom-Up Approach. In Proceeding of the International Conference on Very Large Data Bases, VLDB, pages 608-619, Berlin, Germany, September 2003.

26. Yuni Xia and Sunil Prabhakar. Q+R-Tree: Efficient Indexing for Moving Object Database. In Proceeding of the International Conference on Database Systems for Advanced Applications, DASFAA, pages 175-182, Kyoto, Japan, March 2003.

27. Christian S. Jensen, Dan Lin, and Beng Chin Ooi. Query and Update Efficient B+-Tree Based Indexing of Moving Objects. In Proceeding of the International Conference on Very Large Data Bases, VLDB, pages 768-779, Toronto, Canada, August 2004.

Page 76: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

76May 2007 MDM Tutorial

References Spatio-temporal Access Methods (Cont.):

28. Reynold Cheng, Yuni Xia, Sunil Prabhakar, and Rahul Shah. Change Tolerant Indexing for Constantly Evolving Data. In Proceeding of the International Conference on Data Engineering, ICDE, pages 391-402, Tokyo, Japan, April 2005.

29. Bin Lin and Jianwen Su. Handling Frequent Updates of Moving Objects. In Proceeding of the International Conference on Information and Knowledge Management, CIKM, pages 493-500, Bremen, Germany, October 2005.

30. Xiaopeng Xiong, Mohamed F. Mokbel, and Walid G. Aref. LUGrid: Update-tolerant Grid-based Indexing for Moving Objects. In Proceeding of the International Conference on Mobile Data Management, MDM, Nara, Japan, May 2006.

31. Xiaopeng Xiong and Walid G. Aref. R-Trees with Update Memos. In Proceeding of the International Conference on Data Engineering, ICDE, Atlanta, GA, April 2006.

32. George Kollios, Dimitrios Gunopulos, and Vassilis J. Tsotras. On Indexing Mobile Objects. In Proceeding of the ACM Symposium on Principles of Database Systems, PODS, pages 261-272, Philadelphia. PA, May 1999.

33. Simonas Saltenis, Christian S. Jensen, Scott T. Leutenegger, and Mario A. Lopez. Indexing the Positions of Continuously Moving Objects. In Proceeding of the ACM International Conference on Management of Data, SIGMOD, pages 331-342, Dallas, TX, May 2000.

34. Pankaj K. Agarwal, Lars Arge, and Je Erickson. Indexing Moving Points. In Proceeding of the ACM Symposium on Principles of Database Systems, PODS, pages 175-186, Dallas, TX, May 2000.

35. Mengchu Cai and Peter Revesz. Parametric R-Tree: An Index Structure for Moving Objects. In International Conference on Management of Data, COMAD, 57-64, Pune, India, December 2000.

36. Hae Don Chon, Divyakant Agrawal, and Amr El Abbadi. Storage and Retrieval of Moving Objects. In International Conference on Mobile Data Management, MDM, 173-184, Hong Kong, January 2001.

37. Kriengkrai Porkaew, Iosif Lazaridis, and Sharad Mehrotra. Querying Mobile Objects in Spatio-temporal Databases. In Proceeding of the International Symposium on Advances in Spatial and Temporal Databases, SSTD, pages 59-78, Redondo Beach, CA, July 2001.

Page 77: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

77May 2007 MDM Tutorial

References Spatio-temporal Access Methods (Cont.):

38. Cecilia Magdalena Procopiuc, Pankaj K. Agarwal, and Sariel Har-Peled. STAR-Tree: An Efficient Self-Adjusting Index for Moving Objects. In Proceeding of the International Workshop on Algorithm Engineering and Experimentation, ALENEX, pages 178-193, San Francisco, CA, January 2002.

39. Simonas Saltenis and Christian S. Jensen. Indexing of Moving Objects for Location-based Services. In Proceeding of the International Conference on Data Engineering, ICDE, pages 463-472, San Jose, CA, February 2002.

40. Khaled M. Elbassioni and Ibrahim Kamel Amr Elmasry. An Efficient Indexing Scheme for Multi-dimensional Moving Objects. In Proceeding of the International Conference on Database Theory, ICDT, pages 425-439, Siena, Italy, January 2003.

41. Yufei Tao, Dimitris Papadias, and Jimeng Sun. The TPR*-Tree: An Optimized Spatio-temporal Access Method for Predictive Queries. In Proceeding of the International Conference on Very Large Data Bases, VLDB, pages 129-140, Berlin, Germany, September 2003.

42. Jignesh M. Patel, Yun Chen, and V. Prasad Chakka. STRIPES: An Efficient Index for Predicted Trajectories. In Proceeding of the ACM International Conference on Management of Data, SIGMOD, pages 637-646, Paris, France, June 2004.

43. George Kollios, Dimitris Papadopoulos, Dimitrios Gunopulos, and Vassilis J. Tsotras. Indexing Mobile Objects Using Dual Transformations. VLDB Journal, 14(2):238-256, April 2005.

44. Dan Lin, Christian S. Jensen, Beng Chin Ooi, and Simonas Saltenis. Efficient Indexing of the Historical, Present, and Future Positions of Moving Objects. In Proceeding of the International Conference on Mobile Data Management, MDM, pages 59-66, Ayia Napa, Cyprus, May 2005.

45. Zhao-Hong Liu, Xiao-Li Liu, Jun-Wei Ge, and Hae-Young Bae. Indexing Large Moving Objects from Past to Future with PCFI+-Index. In Proceeding of the International Conference on Management of Data, COMAD, pages 131-137, January 2005.

46. Mindaugas Pelanis, Simonas Saltenis, and Christian Jensen. Indexing the Past, Present, and Anticipated Future Positions of Moving Objects. ACM Transactions of Database Systems, TODS, 31(1), 255-298, March 2006.

Page 78: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

78May 2007 MDM Tutorial

References Location-aware Snapshot Query Processing:

47. Ouri Wolfson, Bo Xu, and Sam Chamberlain. Location Prediction and Queries for Tracking Moving Objects. In Proceeding of the International Conference on Data Engineering, ICDE, pages 687-688, San Diego, CA, February 2000.

48. Rimantas Benetis, Christian S. Jensen, Gytis Karciauskas, and Simonas Saltenis. Nearest Neighbor and Reverse Nearest Neighbor Queries for Moving Objects. In Proceeding of the International Database Engineering and Applications Symposium, IDEAS, pages 44-53, Alberta, Canada, July 2002.

49. Yufei Tao and Dimitris Papadias. Time Parameterized Queries in Spatio-temporal Databases. In Proceeding of the ACM International Conference on Management of Data, SIGMOD, pages 334-345, Madison, WI, June 2002.

50. Yufei Tao and Dimitris Papadias. Spatial Queries in Dynamic Environments. ACM Transactions on Database Systems, TODS, 28(2):101-139, June 2003.

51. Yufei Tao, Jimeng Sun, and Dimitris Papadias. Analysis of Predictive Spatio-temporal Queries. ACM Transactions on Database Systems, TODS, 28(4):295-336, December 2003.

52. Dimitris Papadias, Qiongmao Shen, Yufei Tao, and Kyriakos Mouratidis. Group Nearest Neighbor Queries. In Proceeding of the International Conference on Data Engineering, ICDE, pages 301{312, Boston, MA, March 2004.

53. Jimeng Sun, Dimitris Papadias, Yufei Tao, and Bin Liu. Querying about the Past, the Present and the Future in Spatio-temporal Databases. In Proceeding of the International Conference on Data Engineering, ICDE, pages 202-213, Boston, MA, March 2004.

Page 79: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

79May 2007 MDM Tutorial

References Location-aware Snapshot Query Processing (Cont.):

54. Bin Lin and Jianwen Su. Shapes Based Trajectory Queries for Moving Objects. In Proceeding of the ACM Symposium on Advances in Geographic Information Systems, ACM GIS, pages 21-30, Bremen, Germany, November 2005.

55. Panfeng Zhou, Donghui Zhang, Betty Salzberg, Gene Cooperman, and George Kollios. Close Pair Queries in Moving Object Databases. In Proceeding of the ACM Symposium on Advances in Geographic Information Systems, ACM GIS, pages 2-11, Bremen, Germany, November 2005.

56. Yufei Tao and Dimitris Papadias. Historical Spatio-temporal Aggregation. ACM Transactions on Information Systems, TOIS, 23(1):61-102, January 2005.

57. Man Lung Yiu, Nikos Mamoulis, and Dimitris Papadias. Aggregate Nearest Neighbor Queries in Road Networks. IEEE Transactions on Knowledge and Data Engineering, TKDE, 17(6):820-833, June 2005.

58. Elias Frentzos, Kostas Gratsias, Nikos Pelekis, and Yannis Theodoridis. Nearest Neighbor Search on Moving Object Trajectories. In Proceeding of the International Symposium on Advances in Spatial and Temporal Databases, SSTD, pages 328-345, Angra dos Reis, Brazil, August 2005.

59. Hyung-Ju Cho and Chin-Wan Chung. An Efficient and Scalable Approach to CNN Queries in a Road Network. In Proceeding of the International Conference on Very Large Data Bases, VLDB, pages 865-876, Trondheim, Norway, August 2005.

60. Marios Hadjieleftheriou, George Kollios, Petko Bakalov, and Vassilis J. Tsotras. Complex Spatio-temporal Pattern Queries. In Proceeding of the International Conference on Very Large Data Bases, VLDB, pages 877-888, Trondheim, Norway, August 2005.

61. Lei Chen, M. Tamer Ozsu, and Vincent Oria. Robust and Fast Similarity Search for Moving Object Trajectories. In Proceeding of the ACM International Conference on Management of Data, SIGMOD, pages 491-502, Baltimore, MD, June 2005.

Page 80: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

80May 2007 MDM Tutorial

References

Location-aware Continuous Query Processing:62. Baihua Zheng and Dik Lun Lee. Semantic Caching in Location-Dependent Query Processing. In Proceeding

of the International Symposium on Advances in Spatial and Temporal Databases, SSTD, pages 97-116, Redondo Beach, CA, July 2001.

63. Zhexuan Song and Nick Roussopoulos. K-Nearest Neighbor Search for Moving Query Point. In Proceeding of the International Symposium on Advances in Spatial and Temporal Databases, SSTD, pages 79-96, Redondo Beach, CA, July 2001.

64. Iosif Lazaridis, Kriengkrai Porkaew, and Sharad Mehrotra. Dynamic Queries over Mobile Objects. In Proceeding of the International Conference on Extending Database Technology, EDBT, pages 269-286, Prague, Czech Republic, March 2002.

65. Sunil Prabhakar, Yuni Xia, Dmitri V. Kalashnikov, Walid G. Aref, and Susanne E. Hambrusch. Query Indexing and Velocity Constrained Indexing: Scalable Techniques for Continuous Queries on Moving Objects. IEEE Transactions on Computers, 51(10):1124-1140, October 2002.

66. Yufei Tao, Dimitris Papadias, and Qiongmao Shen. Continuous Nearest Neighbor Search. In Proceeding of the International Conference on Very Large Data Bases, VLDB, pages 287-298, Hong Kong, August 2002.

67. Marios Hadjieleftheriou, George Kollios, Dimitrios Gunopulos, and Vassilis J. Tsotras. On-Line Discovery of Dense Areas in Spatio-temporal Databases. In Proceeding of the International Symposium on Advances in Spatial and Temporal Databases, SSTD, pages 306-324, Santorini Island, Greece, July 2003.

68. Glenn S. Iwerks, Hanan Samet, and Ken Smith. Continuous K-Nearest Neighbor Queries for Continuously Moving Points with Updates. In Proceeding of the International Conference on Very Large Data Bases, VLDB, pages 512-523, Berlin, Germany, September 2003.

Page 81: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

81May 2007 MDM Tutorial

References Location-aware Continuous Query Processing (Cont.):

69. Jun Zhang, Manli Zhu, Dimitris Papadias, Yufei Tao, and Dik Lun Lee. Location-based Spatial Queries. In Proceeding of the ACM International Conference on Management of Data, SIGMOD, pages 443-454, San Diego, CA, June 2003.

70. Bugra Gedik, Kun-Lung Wu, Philip S. Yu, and Ling Liu. Motion Adaptive Indexing for Moving Continual Queries over Moving Objects. In Proceeding of the International Conference on Information and Knowledge Management, CIKM, pages 427-436, Washington, DC, November 2004.

71. Mohamed F. Mokbel, Xiaopeng Xiong, and Walid G. Aref. SINA: Scalable Incremental Processing of Continuous Queries in Spatio-temporal Databases. In Proceeding of the ACM International Conference on Management of Data, SIGMOD, pages 623-634, Paris, France, June 2004.

72. Ying Cai, Kien A. Hua, and Guohong Cao. Processing Range-Monitoring Queries on Heterogeneous Mobile Objects. In Proceeding of the International Conference on Mobile Data Management, MDM, page January, Berkeley, CA, 2004.

73. Bugra Gedik and Ling Liu. MobiEyes: Distributed Processing of Continuously Moving Queries on Moving Objects in a Mobile System. In Proceeding of the International Conference on Extending Database Technology, EDBT, Crete, Greece, March 2004.

74. Xiaopeng Xiong, Mohamed F. Mokbel, Walid G. Aref, Susanne Hambrusch, and Sunil Prabhakar. Scalable Spatio-temporal Continuous Query Processing for Location-aware Services. In Proceeding of the International Conference on Scientific and Statistical Database Management, SSDBM, pages 317-328, Santorini Island, Greece, June 2004.

75. Haibo Hu, Jianliang Xu, and Dik Lun Lee. A Generic Framework for Monitoring Continuous Spatial Queries over Moving Objects. In Proceeding of the ACM International Conference on Management of Data, SIGMOD, pages 479-490, Baltimore, MD, June 2005.

76. Kyriakos Mouratidis, Dimitris Papadias, and Marios Hadjieleftheriou. Conceptual Partitioning: An Efficient Method for Continuous Nearest Neighbor Monitoring. In Proceeding of the ACM International Conference on Management of Data, SIGMOD, pages 634-645, Baltimore, MD, June 2005.

Page 82: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

82May 2007 MDM Tutorial

References

Location-aware Continuous Query Processing (cont.):77. Mohammad R. Kolahdouzan and Cyrus Shahabi. Alternative Solutions for Continuous K Nearest

Neighbor Queries in Spatial Network Databases. GeoInformatica, 9(4):321-341, December 2005.78. Xiaopeng Xiong, Mohamed F. Mokbel, and Walid G. Aref. SEA-CNN: Scalable Processing of

Continuous K-Nearest Neighbor Queries in Spatio-temporal Databases. In Proceeding of the International Conference on Data Engineering, ICDE, pages 643-654, Tokyo, Japan, April 2005.

79. Donghui Zhang, Dimitrios Gunopulos, Vassilis J. Tsotras, and Bernhard Seeger. Temporal and Spatio-temporal Aggregations over Data Streams Using Multiple Time Granularities. Journal of Information Systems, 28(1-2):61-84, March 2003.

80. Xuegang Huang and Christian S. Jensen. Towards A Streams-Based Framework for Defining Location-based Queries. In Proceedings of the International Workshop on Spatio-temporal Database Management, STDBM, pages 73-80, Toronto, Canada, August 2004.

81. Yufei Tao, George Kollios, Jerey Considine, Feifei Li, and Dimitris Papadias. Spatio-temporal Aggregation Using Sketches. In Proceeding of the International Conference on Data Engineering, ICDE, pages 214-226, Boston, MA, March 2004.

82. Mohamed F. Mokbel and Walid G. Aref. SOLE: Scalable Online Execution of Continuous Queries on Spatiotemporal Data Streams. Technical Report TR CSD-05-016, submitted for a journal publication, Purdue University Department of Computer Science, July 2005.

83. Mohamed F. Mokbel and Walid G. Aref. GPAC: Generic and Progressive Processing of Mobile Queries over Mobile Data. In Proceeding of the International Conference on Mobile Data Management, MDM, pages 155-163, Ayia Napa, Cyprus, May 2005.

84. Rimma Nehme and Elke Rundensteiner. SCUBA: Scalable Cluster-Based Algorithm for Evaluating Continuous Spatio-Temporal Queries on Moving Objects. In Proceeding of the International Conference on Extending Database Technology, EDBT, Munich, Germany, March 2006.

Page 83: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

83May 2007 MDM Tutorial

References

Location-aware Query Optimization:85. Yong-Jin Choi and Chin-Wan Chung. Selectivity Estimation for Spatio-temporal Queries to Moving

Objects. In Proceeding of the ACM International Conference on Management of Data, SIGMOD, pages 440-451, Madison, WI, June 2002.

86. Yufei Tao, Jimeng Sun, and Dimitris Papadias. Selectivity Estimation for Predictive Spatio-temporal Queries. In Proceeding of the International Conference on Data Engineering, ICDE, pages 417-428, Bangalore, India, March 2003.

87. Marios Hadjieleftheriou, George Kollios, and Vassilis J. Tsotras. Performance Evaluation of Spatio-temporal Selectivity Estimation Techniques. In Proceeding of the International Conference on Scientific and Statistical Database Management, SSDBM, pages 202-211, Cambridge, MA, July 2003.

88. Qing Zhang and Xuemin Lin. Clustering Moving Objects for Spatio-temporal Selectivity Estimation. In Proceedings of the Australasian Database Conference, pages 123-130, Dunedin, New Zealand, January 2004.

89. Yufei Tao, Dimitris Papadias, Jian Zhai, and Qing Li. Venn Sampling: A Novel Prediction Technique for Moving Objects. In Proceeding of the International Conference on Data Engineering, ICDE, pages 680-691, Tokyo, Japan, April 2005.

90. Hicham G. Elmongui, Mohamed F. Mokbel, and Walid G. Aref. Spatio-temporal Histograms. In Proceeding of the International Symposium on Advances in Spatial and Temporal Databases, SSTD, pages 19-36, Angra dos Reis, Brazil, August 2005.

91. Slobodan Rasetic, Jorg Sander, James Elding, and Mario A. Nascimento. A Trajectory Splitting �Model for Efficient Spatio-temporal Indexing. In Proceeding of the International Conference on Very Large Data Bases, VLDB, pages 934-945, Trondheim, Norway, August 2005.

Page 84: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

84May 2007 MDM Tutorial

References

Uncertainty and Probabilistic Queries:92. Dieter Pfoser and Christian S. Jensen. Capturing the Uncertainty of Moving-Object Representations. In

Proceeding of the International Symposium on Advances in Spatial Databases, SSD, pages 111{132, Hong Kong, July 1999.

93. Reynold Cheng, Dmitri V. Kalashnikov, and Sunil Prabhakar. Evaluating Probabilistic Queries over Imprecise Data. In Proceeding of the ACM International Conference on Management of Data, SIGMOD, pages 551{562, San Diego, CA, June 2003.

94. Reynold Cheng, Dmitri V. Kalashnikov, and Sunil Prabhakar. Querying Imprecise Data in Moving Object Environments. IEEE Transactions on Knowledge and Data Engineering, TKDE, 16(9):1112{1127, September 2004.

95. Jinfeng Ni, Chinya V. Ravishankar, and Bir Bhanu. Probabilistic Spatial Database Operations. In Proceeding of the International Symposium on Advances in Spatial and Temporal Databases, SSTD, pages 140{158, Santorini Island, Greece, July 2003.

96. Goce Trajcevski, Ouri Wolfson, Fengli Zhang, and Sam Chamberlain. The Geometry of Uncertainty in Moving Objects Databases. In Proceeding of the International Conference on Extending Database Technology, EDBT, pages 233{250, Prague, Czech Republic, March 2002.

97. Ouri Wolfson and Huabei Yin. Accuracy and Resource Concumption in Tracking and Location Prediction. In Proceeding of the International Symposium on Advances in Spatial and Temporal Databases, SSTD, pages 325{343, Santorini Island, Greece, July 2003.

98. Goce Trajcevski, OuriWolfson, Klaus Hinrichs, and Sam Chamberlain. Managing Uncertainty in Moving Objects Databases. ACM Transactions on Database Systems, TODS, 29(3):463{507, September 2004.

99. Victor Teixeira de Almeida and Ralf Hartmut Guting. Supporting Uncertainty in Moving Objects in Network �Databases. In Proceeding of the ACM Symposium on Advances in Geographic Information Systems, ACM GIS, pages 31{40, Bremen, Germany, November 2005.

100. Dieter Pfoser, Nectaria Tryfona, and Christian S. Jensen. Indeterminacy and Spatiotemporal Data: Basic Denitions and Case Study. GeoInformatica, 9(3):211{236, September 2005.

101. Xiangyuan Dai, Man Lung Yiu, Nikos Mamoulis, Yufei Tao, and Michail Vaitis. Probabilistic Spatial Queries on Existentially Uncertain Data. In Proceeding of the International Symposium on Advances in Spatial and Temporal Databases, SSTD, pages 400{417, Angra dos Reis, Brazil, August 2005.

Page 85: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

85May 2007 MDM Tutorial

References

Case Studies:102. Mohamed F. Mokbel, Xiaopeng Xiong, Walid G. Aref, Susanne Hambrusch, Sunil Prabhakar, and Moustafa Hammad.

PLACE: A Query Processor for Handling Real-time Spatio-temporal Data Streams (Demo). In Proceeding of the International Conference on Very Large Data Bases, VLDB, pages 1377{1380, Toronto, Canada, August 2004.

103. Mohamed F. Mokbel, Xiaopeng Xiong, Moustafa A. Hammad, and Walid G. Aref. Continuous Query Processing of Spatio-temporal Data Streams in PLACE. In Proceedings of the International Workshop on Spatio-temporal Database Management, STDBM, pages 57{64, Toronto, Canada, August 2004.

104. Mohamed F. Mokbel and Walid G. Aref. PLACE: A Scalable Location-aware Database Server for Spatiotemporal Data Streams. IEEE Data Engineering Bulletin, 28(3):3{10, September 2005.

105. Mohamed F. Mokbel, Xiaopeng Xiong, Moustafa A. Hammad, and Walid G. Aref. Continuous Query Processing of Spatio-temporal Data Streams in PLACE. GeoInformatica, 9(4):343{365, December 2005.

106. Stefan Dieker and Ralf Hartmut Guting. Plug and Play with Query Algebras: SECONDO-A Generic DBMS Development �Environment. In Proceeding of the International Database Engineering and Applications Symposium, IDEAS, pages 380{392, Yokohoma, Japan, September 2000.

107. Ralf Hartmut Guting, Thomas Behr, Victor Teixeira de Almeida, Zhiming Ding, Frank Homann, and Markus Spiekermann. SECONDO: An Extensible DBMS Architecture and Prototype. Technical Report Informatik- Report 313, Fernuniversitat �Hagen, March 2004.

108. Thomas Behr and Ralf Hartmut Guting. Fuzzy Spatial Objects: An Algebra Implementation in SECONDO. In Proceeding of the International Conference on Data Engineering, ICDE, pages 1137{1139, Tokyo, Japan, April 2005.

109. Ralf Hartmut Guting, Victor Teixeira de Almeida, Dirk Ansorge, Thomas Behr, Zhiming Ding, Thomas Hose, Frank Homann, Markus Spiekermann, and Ulrich Telle. SECONDO: An Extensible DBMS Platform for Research Prototyping and Teaching. In Proceeding of the International Conference on Data Engineering, ICDE, pages 1115{1116, Tokyo, Japan, April 2005.

110. Goce Trajcevski, Ouri Wolfson, Hu Cao, Hai Lin, Fengli Zhang, and Naphtali Rishe. Managing Uncertain Trajectories of Moving Objects with Domino. In Proceeding of the International Conference on Enterprise Information Systems, ICEIS, pages 218{225, Ciudad Real, Spain, April 2002.

111. Ouri Wolfson, A. Prasad Sistla, Bo Xu, Jutai Zhou, and Sam Chamberlain. DOMINO: Databases fOr MovINg Objects tracking (Demo). In Proceeding of the ACM International Conference on Management of Data, SIGMOD, pages 547{549, Philadephia, PA, June 1999.

112. Ouri Wolfson, Hu Cao, Hai Lin, Goce Trajcevski, Fengli Zhang, and Naphtali Rishe. Management of Dynamic Location Information in DOMINO (Demo). In Proceeding of the International Conference on Extending Database Technology, EDBT, pages 769{771, Prague, Czech Republic, March 2002.

Page 86: Location-aware Query Processing and Optimization: A Tutorial Mohamed F. Mokbel Walid G. Aref Department of Computer Science and Engineering, University

86May 2007 MDM Tutorial

Thank you