Range monitoring queries in location based services
This presentation is the property of its rightful owner.
Sponsored Links
1 / 57

Range Monitoring Queries in Location-based Services PowerPoint PPT Presentation


  • 90 Views
  • Uploaded on
  • Presentation posted in: General

Range Monitoring Queries in Location-based Services. Kien A. Hua School of EECS University of Central Florida. Location-Based Services. Integrate a mobile device’s position with other information so as to provide added value to the users. $6 a month

Download Presentation

Range Monitoring Queries in Location-based Services

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Range monitoring queries in location based services

Range Monitoring Queries in Location-based Services

Kien A. Hua

School of EECS

University of Central Florida


Location based services

Location-Based Services

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

  • $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.


Other location based services

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.


Location based queries

Location-Based Queries

  • Two kinds of location-based queries:

    • Snapshot queries: “Tell me 3 nearest cars around menow”

    • Continuous queries: “Monitor 3 nearest restaurants around me for thenext 10 minutes”

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


Range monitoring query

Range-Monitoring Query

What is range-monitoring query ?

  • Retrieve mobile objects in a spatial region, and

  • Continuously monitor the population in the area


Range monitoring queries

Range Monitoring Queries

Q2

a

d

e

Q1

c

b

f


Range monitoring queries1

Range Monitoring Queries

Q2

a

d

Q1

e

b

c

f


Range monitoring queries in location based services

Research Issues

  • 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


Safe region

Safe Region

Rectangular

Safe Region

Q1

Q2

Q5

a

Q3

Q4

Circular

Safe Region


Problems with safe regions

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)


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

MQM - Resident Domain

Q9

Q1

Q6

Q3

Resident Domain

Q2

A

Q5

Q7

Q4

N = 3

Q8


Determine the resident domain

Determine the Resident Domain

Q2 and Q3 are relevant to monitoring region R22

Space is dynamically partitioned into disjoint subdomains

Q2

Q3

R1

R21

R22

Q1

R31

Q4

R41

R42

Query Q2 overlaps query Q3


Determine the resident domain1

Determine the Resident Domain

Q2

Q3

R1

R21

R22

Q1

R31

a

Q4

R41

R42

Too small


Determine the resident domain2

Determine the Resident Domain

Q2

Q3

R1

R21

R22

Q1

R31

a

Q4

R41

R42

Resident domain for a


Domain decomposition

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


Bp tree example

BP-tree Example

D

domain node

D

data node

Q1

Q1


Bp tree example1

BP-tree Example

D

d1

d2

d1

d2

Q1

Q7

R71

R72


Bp tree example2

BP-tree Example

D

d21

d1

d2

d1

Q9

d21

d22

R91

d22

R911

R912


Advantages over safe regions

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


Mobile communication cost

Mobile Communication Cost

30

25

20

Safe Region

15

Number of messages sent by mobile objects (millions)

MQM

10

5

0

10

20

30

40

50

60

70

80

90

100

Number of monitoring queries (thousands)


Server processing cost

Server Processing Cost

1000

100

Safe Region

10

MQM

Number of index nodes accessed (millions)

1

0.1

10

20

30

40

50

60

70

80

90

100

Number of monitoring queries (thousands)


Mqm summary

MQM - Summary

MQM is highly scalable in terms of

  • Mobile communication costs, and

  • Server processing costs

    for real-time range monitoring queries


Dynamic range query in spatial network environments

Dynamic Range Query in Spatial Network Environments


Moving range query

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) currently inside the specified range.


Example moving range query

Example - Moving Range Query

UCF

Show me Italian restaurants within 5 miles

Airport


Query properties

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


Dynamic range query drq

Dynamic Range Query (DRQ)

*Shape of query footprint changes dynamically


Network distance

Network Distance

Included in the query result

d

Moving

Range Query

Not included in the query result

d

Dynamic Range Query


Example dynamic range query

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 ?


Drq dynamic footprint

DRQ - Dynamic Footprint

Query Object


Drq dynamic footprint1

DRQ - Dynamic Footprint


Drq dynamic footprint2

DRQ - Dynamic Footprint


Drq dynamic footprint3

DRQ - Dynamic Footprint


Drq dynamic footprint4

DRQ - Dynamic Footprint


Challenges

Challenges

  • Server workload

  • Communication bandwidth

  • Limited battery power on client side

  • Dynamic query footprints


System assumptions

System Assumptions

  • Every moving object is equipped with a positioning device.

  • Every moving object has some computing capability.


Modeling graph

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

n4 - end node

n3 - start node


Edge distance

SS

SE

ES

EE

Edge Distance

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

Edge distance is the shortest distance between two edges:

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


Moving objects

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


Object distance

nb

nd

nb

nd

nb

nd

nb

nd

oi

oi

oi

oi

oj

oj

oj

oj

na

na

na

na

nc

nc

nc

nc

SS

SE

ES

EE

Object Distance

Four possible network distances between two objects

The object distance is the minimum of the four


Dynamic range query drq1

Dynamic Range Query (DRQ)

Query object Q, query range = 5

  • 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

Footprint

Od

Oq

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


Monitoring region

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 , ei )  length }


Monitoring region example

Monitoring Region Example

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

<n1n6, SM, 0>

n10

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

4

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

n3

n4

5

n2

2

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

2

3

n5

6

n6

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

n1

Q

4

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

6

7

6

n9

n7

The SE-distance from n1n6 is 4

n8

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


Some storage techniques for networks

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


Processing on mobile host 1

Processing on Mobile Host (1)

Query object Q at location 3.6 on edge n1n6, query range is 5.

Data object D at location 0.5 on edge n2n10.

Multicast Message:

n10

4

<n1n6, SM, 0>

n3

n4

5

2

D

n2

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

2

4

6

n5

3

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

n6

Q

n1

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

6

7

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

6

n9

n7

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

n8

Object D picks up only:

{<n2n10, SS, 3> , <n2n10, SE, 4> , object Q’s information}

Edge distance from n1n6


Processing on mobile host 2

Processing on Mobile Host (2)

Query object Q at location 3.6 on edge n1n6, query range is 5.

Data object D at location 0.5 on edge n2n10.

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

n10

4

n3

n4

5

2

D

n2

2

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

4

6

n5

3

n6

Q

n1

6

7

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

0.5 + 3 + 3.6

= 7.1 > 5

6

n9

n7

n8

  • Object D should be included in the query’s result.

  • Object D continues to monitor its distance from Q and updates the query accordingly


Summary

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.


Simulation setup

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


Performance comparisons

Performance Comparisons

  • Server computation cost

    • Compared to a centralized scheme, which we adapted from the Query Indexing technique [Prabhakar, 2002] for spatial network environments.

  • 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.

      • No real query processing is done on server, i.e., just a reference “technique” for studying communication costs


Server computation cost segments loaded per time unit

Server Computation Cost(#segments loaded per time unit)

Effect of # of queries on server work load


Server communication cost

Server Communication Cost

Effect of # of queries on server side communication

Naïve: Every object repeatedly reports its new location


Object communication cost

Object Communication Cost

Effect of # of queries on moving object side communication

Query-blind Optimal - Server Computation Cost is very high


Remarks

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


P2p approach

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


Four categories of moving object databases

Four categories ofmoving object databases

  • Centralized Server

  • Distributed Servers

  • P2P

  • Hybrid (Distributed Servers + P2P)


Four categories of moving object databases1

Four Categories ofMoving Object Databases


Hybrid system

Hybrid System

Communication Network

Location-based Services

Queries

Network

Distributed Servers


  • Login