58
Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Embed Size (px)

DESCRIPTION

Other Location-Based Services Emergency services (E911 in US and 112 in Europe) Traveler information systems in transportation Traffic and incident Management Other industries –Location-aware gaming –Advertising services –Environmental Monitoring We focus our discussion on Location-based Queries that are important to Location-based Services.

Citation preview

Page 1: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Range Monitoring Queries in

Location-based ServicesKien A. Hua

School of EECSUniversity of Central Florida

Page 2: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Location-Based Services

• $6 a month• The phone uploads

its GPS coordinates to the Mologogo server every few minutes.

• You can view up to 100 of the last reported spots the person has been on a google map.

Integrate a mobile device’s position with other information so as to provide added value to the users.

Page 3: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Other Location-Based Services

• Emergency services (E911 in US and 112 in Europe)

• Traveler information systems in transportation• Traffic and incident Management• Other industries

– Location-aware gaming – Advertising services– Environmental Monitoring

• We focus our discussion on Location-based Queries that are important to Location-based Services.

Page 4: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Location-Based Queries• Two kinds of location-based queries:

– Snapshot queries: “Tell me 3 nearest cars around me now ”

– Continuous queries: “Monitor 3 nearest restaurants around me for the next 10 minutes ”

• We focus on one continuous query type called Range Monitoring Query (RMQ).

Page 5: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Range-Monitoring Query

What is range-monitoring query ?– Retrieve mobile objects in a spatial

region, and

– Continuously monitor the population in the area

Page 6: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

aQ2

Q1 bc

f

d

e

Range Monitoring Queries

Page 7: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

a

Q2

Q1bc

f

d

e

Range Monitoring Queries

Page 8: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

• How to minimize location updates ? – Each update involves mobile

communication costs and server processing costs

• How to minimize query processing cost ?– Query results keep changing

• Traditional and spatial databases are not suitable for these tasks

Research Issues

Page 9: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Q1

Q5

Q2

Q4

Q3

Circular Safe Region

RectangularSafe Region

a

Safe Region

Page 10: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Problems with Safe Regions

• Computing a safe region takes from O(n) to O(n log3n)

• Adding a new query requires recomputation of safe regions for all objects

• A solution - Monitoring Query Management (MQM)

Page 11: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

MQM - Resident Domain

A mobile object A contacts the server when A– exits the current

resident domain, or

– enters or exits a query in the resident domain

Q1

Q2

Q7

Q6Q3

Q5

Q4

Resident Domain

A

N = 3

Q8

Q9

Page 12: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Safe Region vs. Resident Domain

Q1

Q2

Q7

Q6Q3

Q5

Q4

Resident Domain

A

Q8

Q9

Safe Region

Safe Region incurs substantially more communication messages

Page 13: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Q1

Q4

Q2

Q3

R1

R42

R21

R31

R22

R41

Determine the Resident Domain

Query Q2 overlaps query Q3

Q2 and Q3 are relevant to monitoring region R22

Space is dynamically partitioned into disjoint subdomains

A monitoring

region

Page 14: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Q1

Q4

Q2

Q3

R1

R42

R21

R31

R22

R41

a

Determine the Resident Domain

Too small

Page 15: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Q1

Q4

Q2

Q3

R1

R42

R21

R31

R22

R41

a

Determine the Resident Domain

Resident domain for a

Page 16: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Domain Decomposition• Suddomains and monitoring regions

are maintained using BP-tree (Binary Partitioning Tree)

• For each new query, – Search BP-tree to find the overlapping

subdomains, each corresponding to a monitoring region.

– Insert the monitoring regions into their subdomain

– Split a subdomain if its number of monitoring regions exceeds the threshold

R11R12

Query

Overlapping subdomains

Two monitoring regions

Page 17: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

D

D domain node

data node

BP-tree Example

Q1Q1

Page 18: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

D

d1

d1 d2d2

BP-tree Example

Q7Q1 R72

R71

Page 19: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

d1

d1 d2d21

d22

d21 d22

D

BP-tree Example

Q9R91

R911 R912

Page 20: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Advantages over Safe Regions

• Resident domains can be determined efficiently

• A new query generally affects only a small number of existing resident domains

• Resident domain are generally much larger resulting in less location updates

• Offloads query processing tasks to mobile units– Distributed processing – Trading computation for communications to

conserve energy

Page 21: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

0

5

10

15

20

25

30

10 20 30 40 50 60 70 80 90 100Num

ber o

f mes

sage

s se

nt b

y m

obile

obj

ects

(mill

ions

)

Number of monitoring queries (thousands)

MQMSafe Region

Mobile Communication Cost

Page 22: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

0.1

1

10

100

1000

10 20 30 40 50 60 70 80 90 100Num

ber o

f ind

ex n

odes

acc

esse

d (m

illio

ns)

Number of monitoring queries (thousands)

MQMSafe Region

Server Processing Cost

Page 23: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

MQM - SummaryMQM is highly scalable in terms of

– Mobile communication costs, and– Server processing costs

for real-time range monitoring queries

Page 24: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Dynamic Range Query in Spatial Network Environments

Page 25: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Moving Range Query• Defined by a range (e.g., within

5 miles)• Moves in accordance with a

specific moving object (e.g., car)• Results include objects (e.g., gas

stations, other cars) currently inside the specified range.

Page 27: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Query Properties• Query Mobility: moving vs. stationary• Query Shape: static vs. dynamic• Objects: moving vs. stationary• Environment: open space vs. network

– Open space: dealing with Euclidean distance

– Network: dealing with network distance

Page 28: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Dynamic Range Query (DRQ)

Moving Range Query

Dynamic Range Query

Query Mobility Moving Moving

Query Shape Static Dynamic*Database Objects Moving Moving

Environment Network Network

Complexity Less challenging More challenging

* Shape of query footprint changes dynamically

Page 29: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Network Distance

d

d

Not included in the query

result

Included in the query result

Moving Range Query

Dynamic Range Query

Page 30: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Example – Dynamic Range Query

• Give me all the AAA vehicles on service within five miles from me, while I am driving from Orlando to Miami.

• How to answer such queries efficiently ?

Page 31: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

DRQ - Dynamic FootprintQuery Object

Page 32: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

DRQ - Dynamic Footprint

Page 33: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

DRQ - Dynamic Footprint

Page 34: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

DRQ - Dynamic Footprint

Page 35: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

DRQ - Dynamic Footprint

Page 36: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Challenges• Server workload

• Communication bandwidth

• Limited battery power on client side

• Dynamic query footprints

Page 37: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

System Assumptions

• Every moving object is equipped with a positioning device.

• Every moving object has some computing capability.

Page 38: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Modeling Graph• Network

– Undirected graph G = (N, E)– N: a set of nodes– E: a set of edges

• Edge– e = <ni, nj>– ni: start node– nj: end node– i < j n3 - start

node

n4 - end node

Page 39: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Edge Distance

Edge distance is the shortest netwrok distance between two edges:

d(ei , ej) = min( (dSS(ei , ej), dSE(ei , ej), dES(ei , ej), dEE(ei , ej) )

SS SE ES EE

Network Distance between two edges– Four types of edge distance between two

distinct edges: SS, SE, ES, EE– If the two edges are the same, we have SM

type

Page 40: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Moving Objects• Two types of moving objects for a given query

– Query object: the moving object defined as the spatial center of the dynamic range query

– Data object: other objects• A moving object is a moving point in the road network

< o, pos, direction, speed, reportTime, IsQuery >– pos = relative position from the S-node– direction = +1 if moving from S-node to E-node;

-1, otherwise.– Speed = object speed. Query objects must report new speed– IsQuery = 1 if the object is a query object

Compute New position of a moving object:newPos = (currentTime – reportTime) speed direction +

pos

Page 41: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Object DistanceFour possible network distances between two objects

SS SE ES EE

na

nb

oi

nc

nd

oj

nb

oi

nc

nd

oj

nb

oi

nc

nd

ojna na

nb

oi

nc

nd

oj

na

The object distance is the minimum of the four

Page 42: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Dynamic Range Query (DRQ)

• Query has two parameters – q = <Oq , length>– Oq : query object– length : query range

• The network space within the length distance from Oq makes up the query footprint

• Query result includes all moving objects within the query footprint (e.g., Od )

Query object Q, query range = 5

Query result = {oi | oi O, d(oi , oq ) ≤ length}

Oq

QueryFootprint

Od

Page 43: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Monitoring Region• Position of query object o determines

the set of edges overlapping with the current query footprint

• As o moves over an edge e, the distinct footprints define a set of edges, referred to as the monitoring region of the DRQ when o moves on e.

MonitoringRegion = {ei | ei E, d(ei , e) length }

Page 44: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Monitoring Region ExampleFor a query object Q moving on edge n1 n6 with a query range as 5, the monitoring region is as follows

<n1n6, SM, 0>

<n1n2, SS, 0>, <n1n8, SS, 0>, <n1n9, SS, 0>

<n2n3, SS, 3>, <n2n10, SS, 3>

<n3n6, EE, 0>, <n5n6, EE, 0>, <n6n7, SE, 0>

<n2n3, EE, 2>, <n3n4, SE, 2>

<n1n2, EE, 4>, <n2n10, SE, 4>

n1n6

n2n3

n10

n9 n7

n8

n5

n4

4

32 2

4

66

7

6

5

Q

The SE-distance from

n1n6 is 4The server computes and multicasts this list to objects in the monitoring region

Page 45: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Some Storage Techniques for Networks

• J. Zhao and A. Zaki, “Spatial Data Traversal in Road Map Databases: A Graph Indexing Approach,” CIKM ’94

• D. Papadias, J. Zhang, N. Mamoulis and Y. Tao, “Query Processing in Spatial Network Databases,” VLDB ’03

• S. Shekhar and D. Liu, “CCAM: A Connectivity Clustered Access Method for Networks and Network Computations,” IEEE Trans. on Knowledge and Data Engineering, 9(1), 1997

Page 46: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

n1

n6

n2

n3

n10

n9 n7

n8

n5

n4

43

22

4

66

7

6

5

Q

D

Processing on Mobile Host (1)

Query object Q /w range = 5, at location 3.6 on edge n1n6.

Data object D at location 0.5 on edge n2n10.

<n1n6, SM, 0>

<n1n2, SS, 0>, <n1n8, SS, 0>, <n1n9, SS, 0>

<n2n3, SS, 3>, <n2n10, SS, 3>

<n3n6, EE, 0>, <n5n6, EE, 0>, <n6n7, SE, 0>

<n2n3, EE, 2>, <n3n4, SE, 2>

<n1n2, EE, 4>, <n2n10, SE, 4>

Object D picks up only: {<n2n10, SS, 3> , <n2n10, SE, 4> , object Q’s

information}

Multicast Message:

Edge distance from n1n6

Page 47: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

n1

n6

n2

n3

n10

n9 n7

n8

n5

n4

43

22

4

66

7

6

5

Q

D

Processing on Mobile Host (2)

Query object Q /w Range = 5, at location 3.6 on edge n1n6

Data object D at location 0.5 on edge n2n10.

<n2n10, SS, 3> <n2n10, SE, 4>

0.5 + 3 + 3.6= 7.1 > 5

0.5 + 4 + (4 – 3.6) = 4.9 < 5

• Object D should be included in the query’s result.• Object D continues to monitor its distance from Q and updates

the query accordingly

Object D uses the multicast information to compute its distance to Q

S

S

E

E

Page 48: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Summary• The server

– computes the monitoring region for each DRQ, and

– multicasts the information to moving objects inside the monitoring region.

• Moving object– uses the information received from

the server to monitor if it is inside a query’s range.

Page 49: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Simulation Setup• Area of interest

– a square shaped region of 10,000 square miles– 2000 nodes– 4000 edges

• 100, 000 moving objects– Speeds vary between 0.5 and 1 mile per time

unit– Initial speeds follow a Zipf distribution with

deviation of 0.7– Every time step, 10% of the objects change their

speed at a small increment• 10 to 1,000 queries

Page 50: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Performance Comparisons• Communication cost

– Compared to Query-Blind Optimal (QBO) technique:• moving objects send messages to server

whenever they change speed or move to a new road segment.

• Query processing is done on server - very expensive. QBO is used just as a reference to study communication costs

• Server computation cost– Compared to a centralized scheme, which we

adapted from the Query Indexing technique [Prabhakar, 2002] for spatial network environments.

Page 51: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Server Communication Cost

Effect of # of queries on server communication cost

0

20000

40000

60000

80000

100000

120000

10 20 50 100 200 500 1000

# of Queries

# of

Mes

sage

s/Ti

me

unit

DRQ Query-blind Optimal Naive

Naïve: Every object repeatedly reports its new location

Page 52: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Object Communication Cost

Effect of # of queries on object-side communication cost

0

20000

40000

60000

80000

100000

120000

10 20 50 100 200 500 1000

# of Queries

# of

Mes

sage

s/Ti

me

unit

DRQ Query-blind Optimal Naive

Query-blind Optimal - Server Computation Cost is very high

Page 53: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Server Computation Cost(#segments loaded per time unit)

Effect of # of queries on server workload

1

10

100

1000

10000

100000

10 20 50 100 200 500 1000# of Queries

# Se

gmen

ts/T

ime

unit

DRQ Query Index

Page 54: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Remarks• Use “road segment” as the unit for

monitoring regions • Moving objects utilize their own

computing power to help reduce server load and save wireless bandwidth

• Distributed servers can be used for a very-large deployment, in which case the proposed technique keeps the number of servers low

• A limitation - query result is an approximation due to location estimation– A solution: Query objects must report their

new speed

Page 55: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

A P2P Approach• Query Processing

– Tracking the moving objects and the query regions

– Update query results when objects move in or out of the query regions

• In the UCF techniques, – every moving object participates in query

processing as a peer– server only provides the database service – It is a P2P computing technique

Page 56: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Four categories ofmoving object databases

• Centralized Server• Distributed Servers• P2P• Hybrid (Distributed Servers + P2P)

Page 57: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Four Categories ofMoving Object Databases

Approach Location Update Reduction

Server Load Reduction

Centralized Server

Yes, ifuse safe region No

Distributed Servers

Yes, ifuse safe region

No, load distributed among servers

P2P Yes Yes

Hybrid YesYes + load distributed among servers

Page 58: Range Monitoring Queries in Location-based Services Kien A. Hua School of EECS University of Central Florida

Hybrid System

Communication Network

Network

Queries

Distributed Servers

Location-based Services