/
Location-based services M Location-based services M

Location-based services M - PowerPoint Presentation

pamella-moone
pamella-moone . @pamella-moone
Follow
343 views
Uploaded On 2018-11-10

Location-based services M - PPT Presentation

oving Object D databases Kien A Hua University of Central Florida Overview Background Locationbased services amp challenges Range Query in Open Space Dynamic Range Query in Road Networks ID: 726634

object query objects server query object server objects range location region moving queries mobile monitoring time resident cawa result

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Location-based services M" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Location-based servicesMoving Object Ddatabases

Kien A. Hua

University of Central FloridaSlide2

OverviewBackground - Location-based services & challengesRange Query in Open SpaceDynamic Range Query in Road NetworksSensor Approach to Location-based ServicesSlide3

Location-based Services (LBS)Rapid development and commercialization ofwireless network technologylocalization technologiessmart mobile devicessensor networksLocation-based Services

Allow

users to query their environment and use the spatial data for various purposesSlide4

A Simple LBS ExampleThe phone uploads its GPS coordinates to the LBS server every few seconds.

You can

share with friends

your

location history on a map.

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

Example 2: Evacuation Management

No

Reponse

Steven

Jason

MISSING:

12

12 people remain in danger zone

Look up people still in danger zone

Not yet respond to the evacuation orderSlide6

Identify a Person

No

Response

Steven

Jason

MISSING:

12

Jason

Identify a person Slide7

Call The Person

No

Response

Steven

Jason

MISSING:

12

Jason

Call JasonSlide8

Spatial Query - Who are still here ?

People

Steven

Mike

MISSING:

12

Spatial range query -

Find people still in this rectangular area

Query result

Amanda

JasonSlide9

Indoor Positioning Using BLE Beacons

In room 229

BLE beacon = Bluetooth Low Energy signal

BLE beacons are small devices which can be mounted on walls

Jessica in Room 229

229Slide10

Range Monitoring Queries in Location-based ServicesSlide11

Moving Object DatabaseMoving object database is the core of a location-based serviceA

B

C

D

E

H

I

G

F

J

K

L

k

-NN Query

Range QuerySlide12

Location-Based QueriesTwo kinds of location-based queries:Snapshot queries: “Tell me the 3 nearest cars around me now ”

Continuous queries

: “

Monitor 3 nearest restaurants around me for the

next 10 minutes

”Range Monitoring Query (RMQ) is a continuous querySlide13

Range-Monitoring QueryWhat is range-monitoring query ?Retrieve mobile objects in a spatial region, and

continuously monitor the population in the regionSlide14

a

Q

2

Q

1

b

c

f

d

e

Range Monitoring QueriesSlide15

a

Q

2

Q

1

b

c

f

d

e

Range Monitoring QueriesSlide16

Key ChallengesServer Communication bottleneckVery large number of mobile objects repeatedly update their locationsServer Computation bottleneck Maintain a very large constantly changing location databasesConstantly compute many queriesLocation uncertaintyLocation of moving objects known when sampled, may have moved by time server processes the queriesSlide17

How to minimize location updates ? Each update involves mobile communication costs and server processing costsHow to minimize query processing cost ?

Query results keep changing

Traditional and spatial databases (based on a database snapshot) are not suitable for these tasks

Performance

IssuesSlide18

Q1Q5

Q

2

Q

4

Q

3

Circular

Safe Region

Rectangular

Safe Region

a

Safe Region

Object does not need to report its location while moving within its “safe” regionSlide19

Weaknesses of Safe RegionsComputing a safe region takes from O(n) to O(n log3n)A solution -

Using

Resident Domain

Adding a new query requires

recomputation

of safe regions for all objects

A solution - Using Spatial

Index Slide20

MQM - Resident DomainA mobile object A contacts the server when Aexits the current resident domain (to report its location)

, or

enters or exits a query in the resident domain

(to update the query)

Q

1

Q

2

Q

7

Q

6

Q

3

Q

5

Q

4

Resident Domain

A

N

= 3

Q

8

Q

9Slide21

Safe Region vs. Resident DomainQ1

Q

2

Q

7

Q

6

Q

3

Q

5

Q

4

Resident

d

omain of

mobile object A

A

Q

8

Q

9

Safe region

Safe Region is relatively smaller, and incurs

significant

ly

more communication

(location updates)

and computation

(computing new safe regions)Slide22

Safe Region vs. Resident DomainQ1

Q

2

Q

7

Q

6

Q

3

Q

5

Q

4

A

Q

8

Q

9

Note

: When an object enters a query region, both techniques need to communicate with the serverSlide23

Safe Region vs. Resident DomainQ1

Q

2

Q

7

Q

6

Q

3

Q

5

Q

4

Resident

d

omain of

mobile object A

A

Q

8

Q

9

Safe region

Safe Region is based on centralized query processing. Resident Domain benefits from distributed processing

Resident Domain

: the object tells the server which queries to update

Safe Region

: The server needs to determine the queries to update given the object locationSlide24

Q1Q4

Q

2

Q

3

R

1

R

42

R

21

R

31

R

22

R

41

Determine the Resident Domain

Query Q

2

overlaps query Q

3

R

22

i

s the monitoring region of both Q

2

and Q

3

Space is dynamically partitioned into disjoint subdomains

R

31

is a

monitoring region of Q

3Slide25

Q1Q4

Q

2

Q

3

R

1

R

42

R

21

R

31

R

22

R

41

a

Determine the Resident Domain

Too small for

aSlide26

Q1Q4

Q

2

Q

3

R

1

R

42

R

21

R

31

R

22

R

41

a

Determine the Resident Domain

Use a larger Resident domain for

a, less communication but more

local query computationSlide27

Domain DecompositionSuddomains and monitoring regions are maintained using BP-tree (Binary Partitioning Tree)For each new query, Search BP-tree to find subdomains that overlap with the footprint of the query.

Insert the monitoring regions of the query into their respective subdomain

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

R

11

R

12

Overlapping subdomains

Two monitoring regions

Queries are indexed as spatial data

These subdomains can be looked up quickly using index

QuerySlide28

DD

domain node

data node

BP-tree Example

Q1

R

1Slide29

D

d

1

d

2

BP-tree Example

Q

7

Q1

d

1

d

2

R

72

R

71

A subdomain

R

71

R

72Slide30

D

d

1

d

1

d

2

BP-tree Example

Q

7

Q1

Q

3

R

3

1

d

2

d

21

R

321

d

22

R

3

22Slide31

Find Resident Domain for an Objectd7

d

6

d

8

d

9

D

R

1

R

2

R

3

d

1

d

2

d

3

d

4

d

5

Each tree node corresponds to a resident domain

Given the location of an object, descend the tree to select a desired tree node as its new resident domain

The selected tree node spatially contains the object

Note

: Tree nodes in the lower level of the tree correspond to smaller resident domains

Select this one

Select this one if the user desires a bigger resident

domain

More queries to process locally

 

Queries relevant to the resident domainSlide32

Advantages over Safe RegionsResident domains can be determined efficiently (descending the tree instead of computation)A new query generally affects only a small number of existing resident domains (i.e., mobile nodes)Resident domain are generally much larger resulting in less location updatesOffloads query processing tasks to mobile units

Distributed processing

Trading computation for communications to conserve energySlide33

0

5

10

15

20

25

30

10

20

30

40

50

60

70

80

90

100

Number of messages sent by mobile objects (millions)

Number of monitoring queries (thousands)

MQM

Safe Region

Mobile Communication CostSlide34

0.1

1

10

100

1000

10

20

30

40

50

60

70

80

90

100

Number of index nodes accessed (millions)

Number of monitoring queries (thousands)

MQM

Safe Region

Server Processing CostSlide35

Resident Domain - SummaryResident Domain approach is highly scalable in terms ofMobile communication costs, andServer processing costsfor real-time range monitoring queriesSlide36

Moving Queries over Stationary ObjectsSafe Region and Resident Domain are proposed for stationary queries over moving objectsMoving queries over stationary objectsExample: Tell me gas stations within 3 miles of my current location

Technique:

The server sends a

Self Computing Region

(SCR) to each querying object

This SCR includes a set of stationary objects (e.g., gas stations) in the proximity

The querying object computes and updates its own query result

The querying object contacts the server when it moves out of its current SCRSlide37

Moving Queries over Stationary ObjectsSafe Region and Resident Domain are proposed for stationary queries over moving objectsMoving queries over stationary objectsExample: Tell me gas stations within 3 miles of my current location

Your Self Computing Region

1

Process my own query

2

The querying object contacts the server when it moves out of its current SCR

3Slide38

Dynamic Range Query in Spatial Network EnvironmentsSlide39

Moving Range QueryDefined 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.Slide40

Example - Moving Range Query

Airport

Show me Italian restaurants within 5 milesSlide41

Query PropertiesQuery Mobility: moving vs. stationaryQuery Shape: static vs. dynamicObjects: moving vs. stationaryEnvironment: open space vs. networkOpen space: dealing with Euclidean distance

Network: dealing with network distanceSlide42

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 dynamicallySlide43

Network Distance

d

d

Not included in the query result

Included in the query result

Moving

Range Query

Dynamic Range QuerySlide44

Example – Dynamic Range QueryGive 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 ? Slide45

DRQ - Dynamic Footprint

Query ObjectSlide46

DRQ - Dynamic FootprintSlide47

DRQ - Dynamic FootprintSlide48

DRQ - Dynamic FootprintSlide49

DRQ - Dynamic FootprintSlide50

ChallengesServer workloadCommunication bandwidthLimited battery power on client sideDynamic query footprints

One additional challenge !Slide51

System AssumptionsEvery moving object is equipped with a positioning device.Every moving object has some computing capability.

Example: A smart phoneSlide52

Modeling GraphNetworkUndirected graph G = (N, E)N: a set of nodesE: a set of edges

Edge

e = <

n

i

,

nj>i < j

n

i

: start node

n

j

: end node

n

3

- start node

n

4

- end node

<n

3

, n

4>Slide53

Edge DistanceEdge distance is the shortest netwrok distance between two edges:d(

e

i

,

e

j

) = min( (

d

SS

(

e

i

,

e

j

),

dSE(e

i

, e

j

),

dES(

ei

, e

j

),

dEE(

ei

,

ej) )

Network Distance between two edges

Four types of edge distance between two distinct edges:

d

SS

,

d

SE

,

d

ES

, and

d

EE

d

SS

d

SE

d

ES

d

EESlide54

n

1

n

6

n

2

n

3

n

10

n

9

n

7

n

8

n

5

n

4

4

3

2

2

4

6

6

7

6

5

Q

Edge Distance Example

D(

n

1

n

6

, n

2

n

10

) = min (3, 4, 7, 8) = 3

2+2

4+3

4+2+2Slide55

Two Types of Moving ObjectsQuery object: the moving object defined as the spatial center of the dynamic range query Data object

: other objects

Query object

Data objectSlide56

Moving ObjectsA moving object is a moving point in the road network< o, pos, direction, speed,

reportTime

,

IsQuery

>

Compute New position of a moving object:

newPos

= (

currentTime

reportTime

)

speed

direction + pos

S

E

o

pos

+1

Previous position

pos

= relative position from the S-node (start 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 objectSlide57

Object DistanceFour possible network distances between two objects

SS

SE

ES

EE

n

a

n

b

o

i

n

c

n

d

o

j

n

b

o

i

n

c

n

d

o

j

n

b

o

i

n

c

n

d

o

j

n

a

n

a

n

b

o

i

n

c

n

d

o

j

n

a

The object distance is the minimum of the four, i.e., the shortest network distance.

Network distanceSlide58

Dynamic Range Query (DRQ)Query has two parameters q = <Oq

, range>

O

q

:

query object

range

: the network space within the

range

distance from

O

q

makes up the query range

Query result

all moving objects within the query range (e.g.,

Od

in diagram)

Example

Query object

Oq

&query range = .5 Km

Query result =

{

oi

|

oi

oq

, d(oi

, oq) ≤ range

}

O

q

Query

range

O

d

Query

object

In the

result

range

range

Query objectSlide59

Query Range The current position of query object Q defines the current query range (orange color)

A query range overlaps with a set of road segments (edges in white)Slide60

Monitoring RegionThe road segments (in green) that overlap with the spatial union of the query ranges corresponding to the different positions of Q in E is the

monitoring region

of

Q

w.r.t.

E.

As

Q

moves over a road segment

E

, the query range changes accordinglySlide61

Monitoring Region Example

Monitoring region consists of road segments relevant to the query from Time 1 to Time 3

Time 1

Time 2

Time 3

Spatial union of Times 1-3

Monitoring regionSlide62

Monitoring Region ExampleConsider a query object Q moving on edge n1 n

6

with a query range of 5

n

1

n

6

n

2

n

3

n

10

n

9

n

7

n

8

n

5

n

4

4

3

2

2

4

6

6

7

6

5

Q

The server first

computes the segments (in purple) of the monitoring region, e.g.,

D(

n

1

n

6

, n

2

n

10

) = min (3, 4, 7, 8) < 5

n

2

n

10

is part of the monitoring region

<n

1

n

6

, SS, 0>,

<n

1

n

6

, EE, 0>

<n

1

n

2

, SS, 0>, <n

1

n

8

, SS, 0>, <n

1

n

9

, SS, 0>

<n

2

n

3

, SS, 3>, <n

2

n

10

, SS, 3>

<n

3

n

6

, EE, 0>, <n

5

n

6

, EE, 0>, <n

6

n

7

, SE, 0>

<n

2

n

3

, EE, 2>, <n

3

n

4

, SE, 2>

<n

1

n

2

, EE, 4>, <n

2

n

10

, SE, 4>

The SE-distance from

n

1

n

6

is 2

For each edge in the monitoring region, the

server multicasts its 4 edge distances from

<n

1

,n

6

>

to all objects in the monitoring region.

Monitoring regionSlide63

n

1

n

6

n

2

n

3

n

10

n

9

n

7

n

8

n

5

n

4

4

3

2

2

4

6

6

7

6

5

Q

D

Processing on Mobile Host (1)

Query object

Q

/w range = 5, at location 3.6 on edge n

1

n

6.

Data object

D

at location 0.5 on edge n

2

n

10

.

Object

D

picks up only relevant part of the message:

{

<

n

2

n

10

, SS, 3>

,

<

n

2

n

10

, SE, 4>

, …,

object

Q

’s information }

<n

1

n

6

, SS, 0

> , <n

1

n

6

, EE, 0>

<n

1

n

2

, SS, 0>, <n

1

n

8

, SS, 0>, <n

1

n

9

, SS, 0>

<n

2

n

3

, SS, 3>,

<

n

2

n

10

, SS, 3>

<n

3

n

6

, EE, 0>, <n

5

n

6

, EE, 0>, <n

6

n

7

, SE, 0>

<n

2

n

3

, EE, 2>, <n

3

n

4

, SE, 2>

<n

1

n

2

, EE, 4>,

<

n

2

n

10

, SE, 4>

, …

Multicast Message:

Edge distances from <n

1

,n

6

>

E

S

S

ESlide64

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 n

2

n

10

<n

2

n

10

, SS, 3>

<n

2

n

10

, SE, 4>

0.5 + 3 + 3.6= 7.1 > 50.5 + 4 + (4 – 3.6) = 4.9 < 5

Object D

uses the edge distances received from the multicast to compute its distance to Q

n

1

n

6

n

2

n

3

n

10

n

9

n

7

n

8

n

5

n

4

4

3

2

2

4

6

6

7

6

5

Q

D

E

S

S

E

Information about

Q

3.6

0.4

n

1

n

6

4.0Slide65

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 n

2

n

10

Object

D

continues to monitor its distance from

Q (by estimating Q’s current positions)

and update the query result on the server accordingly

n

1

n

6

n

2

n

3

n

10

n

9

n

7

n

8

n

5

n

4

4

3

2

2

4

6

6

7

6

5

Q

D

E

S

S

E

<n

2

n

10

, SS, 3>

<n

2

n

10

, SE, 4>

0.5 + 3 + 3.6

= 7.1 > 5

0.5 + 4 + (4 – 3.6) =

4.9

< 5

d(D,Q) =

4.9

< 5

Object D should be included in the query’s resultSlide66

Some Storage Techniques for NetworksJ. Zhao and A. Zaki, “Spatial Data Traversal in Road Map Databases: A Graph Indexing Approach,” CIKM ’94D. 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), 1997Slide67

SummaryThe 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 the query’s range.

updates the server only when the new location changes the query result

(no location update is necessary)

SERVER

A

B

C

Q

Multicast Monitoring region for

Q

Update query

Q

I am within the rangeSlide68

Simulation SetupArea of interesta square shaped region of 100x100 square miles2000 nodes (intersections)4000 edges (road segments)100,000 moving objects

Speeds vary between 0.5 and 1 mile per time unit

Initial speeds follow a

Zipf

distribution with a skew factor of 0.7 (i.e., most have similar speeds)

Every time step, 10% of the objects change their speed at a small increment

10 to 1,000 queriesSlide69

Performance StudyCompare DRQ to a Query-Blind Optimal (QBO) technique:Moving objects send messages to server whenever they change speed or move to a new road segment

No location update

This scheme incurs very low communication cost (“optimal”)

Server estimates object locations and update query results.

Server processes all queries

→ It can become a severe bottleneckSlide70

Server Communication CostEffect of # of queries on server communication cost

Every object constantly updates its location regardless of number of queries.

Objects updates their location when they enter a new road segment or change speed regardless of number of queries.

As number of queries increases, objects have more queries to update their resultsSlide71

Object Communication CostEffect of # of queries on object-side communication cost

Query Blind Optimal - Server Computation Cost is very high

This cost is distributed among 100,000 objectsSlide72

Query IndexingAdapted the Query Indexing technique to improve server computation cost for the Naïve solutionServer maintains a list of relevant k-

NN queries for each road segment

E

The results of these queries are potentially affected by the moving objects in

E

Server does not need to recompute all queries when an object moves

Expensive

Significant savingsSlide73

Query Indexing - Query ProcessingWhen server receives location update from an object, the serverdetermines the segment the object is onretrieves the relevant k

-NN queries using a spatial index on the queries,

computes the distances and updates the affected queries.Slide74

Server Computation Cost(#segments loaded per time unit)

Offloading query processing to mobile nodes greatly reduces server computation cost

100x more computationSlide75

RemarksUse “road segment” as the unit for monitoring regions Moving objects utilize their own computing power to help reduce server load and save wireless bandwidthDistributed servers can be used for a very-large deployment, in which case the proposed technique keeps the number of servers lowSlide76

A Semi-P2P ApproachCentralized Query ProcessingTracking the moving objects and the query regionsUpdate query results when objects move in or out of the query regionsThe DRQ solution is a semi-P2P approach Every moving object participates in query processing as a computation peer

Server only provides the database service Slide77

A Sensor-BASED approach toLocation-based ServicesSlide78

LimitationsTo mitigate communication bottleneck at the database serverSafe RegionResident DomainLimitationsCommunication Cost: still increases with the increases in number of participating objects

Deployment Cost

: is proportional to the number of participating objects

Objects must be equipped with a GPS, computing device, and communication apparatusSlide79

ChallengeA solution in which the deployment cost and the demand on server bandwidth are fixed regardless of the number of participants is desirable.Such an approach would be less expensive, andscalable to support a very large user communitySlide80

Using SensorsSensor-based Location-based Services (SLBS)As opposed to sending location updates from the objects to the server, mobile sensors (e.g., RFID readers) report the identities of mobile objects they detectSlide81

SLBS - AdvantagesNumber of sensors required is proportional to the area of the application terrain, not the number of participantsDemand on server bandwidth is proportional to the number of sensors, not the number of participantsParticipants are not required to carry GPS and computing equipmentSlide82

SLBS - ChallengesStandard LBS approach processes queries based on “precise” locations of moving objectsSLBS processes queries based on the presence of moving objectsDue to location uncertainty, server must fuse information from multiple sensors to deduct the query resultsSlide83

Standard LBS deals with a Different Kind of Location UncertaintyLocation uncertainty due to communication delaySome solutionsApply dead-reckoning update policyBoth server and mobile node estimate the new node location using the same algorithmIf an estimated location deviates from the actual location by a certain threshold, the mobile node updates its location with the server

Algorithm

Car at X

Y

Algorithm

Car at X

Change location to Y

ServerSlide84

Standard LBS deals with a Different Kind of Location UncertaintyLocation uncertainty due to communication delaySome solutionsApply dead-reckoning update policyBoth server and mobile node estimate the new node location using the same algorithmIf an estimated location deviates from the actual location by a certain threshold, the mobile node updates its location with the server

Update when condition changes

Assume that objects generally move at constant speed on a known road

Objects notify server every time there is a change in direction or speed of movementSlide85

SLBS Example - RFIDRFID tags and readersPassive Tags: Use the radio frequency from the reader to transmit their data signal (i.e.. ID)Active Tags: Have on-board battery for power to transmit their data signal.RFID Readers can detect the identification of mobile objects in the proximity (as opposed to sending location updates from objects to server)

The

exact locations

of the target objects are

not known Slide86

CAWA: Continuous Approximate Where-About QueriesA CAWA query is a continuous query that tracks locations of a moving object to determine its whereabouts

in the past

t

time units

The

whereabouts

of the object are represented by an MBR that encompasses the locations of the query object in the past t time units

t

= 1

t

= 2

t

= 3

t

= 4

t

= 5

Query result

Whereabouts in the past 4 time unitsSlide87

MotivationMany applications do not demand the precise locations of the objects of interestParents want to know if their child is still waiting at school A student wants to know if a particular book has been returned to the libraryA passenger wants to know if the next bus is arriving soonThe army wants to know that the convoy is currently contained within a friendly areaSlide88

Uncertainty RegionIf a target object is detected by one sensor, its uncertainty region is the entire sensing areaIf a target object is detected by multiple sensors, its whereabouts can be narrowed down to a small region

Whereabouts

WhereaboutsSlide89

Approximate Sensing RangeApproximating the sensing area with a minimum bounding square.Slide90

Uncertainty Region

Moving object

Sensing range

Object detected by a single sensorSlide91

Uncertainty Region

Sensing range

Uncertainty region (i.e., whereabouts) equals the sensing range

Object detected by a single sensor

Moving objectSlide92

Uncertainty Region

Smaller whereabouts means Less uncertainty

Object detected by two sensorsSlide93

Uncertainty Region

Uncertainty reduces rapidly with increases in number of sensors

Object detected by multiple sensorsSlide94

CAWA: Continuous Approximate Whereabouts Query

t

= 1

t

= 2

t

= 3

t

= 4

t

= 5

Precise AnswerSlide95

CAWA Query Processingt = 1

t

= 2

CAWA result

at time 2

Whereabouts

at time 1

Whereabouts

at time 2Slide96

CAWA Query Processingt = 1

t

= 2

t

= 3

CAWA result at

time 3Slide97

CAWA Query Processingt = 1

t

= 2

t

= 3

t

= 4

CAWA result at

time 4Slide98

CAWA Query Processingt = 1

t

= 2

t

= 3

t

= 4

t

= 5

CAWA answer

Query Window = 4Slide99

CAWA Query Processingt = 1

t

= 2

t

= 3

t

= 4

t

= 5

CAWA answer

Query Window = 4

t

= 5

Next CAWA answer, i.e., whereabouts in the last

5 time unitsSlide100

False Positivet = 1

t

= 2

t

= 3

t

= 4

t

= 5

CAWA answer

Precise answer

False positiveSlide101

CAWA Algorithm

In

SensorLocTable

In

QueryTable

In

DetectedObjTable

at

t

= 5

In

WhereaboutsTable

at

t

= 4

Mobile sensor

SensorLocTable

Contains mobile sensor locations

QueryTable

Contains current query objects

DedectedObjTable

Contains query objects

and their detecting sensors (in the current iteration)

WhereaboutsTable

The whereabouts of each query object

Q

i

for each of the last

t

i

time units (i.e., the

last

ti

whereabouts)Slide102

Localization

CAWA Algorithm

SensorLocTable

Contains mobile sensor locations

QueryTable

Contains current query objects

DedectedObjTable

Contains query objects

and their detecting sensors (in the current iteration)

WhereaboutsTable

The whereabouts of each query object

Q

i

for each of the last

t

i

time units (i.e., the

last t

i

whereabouts)

Localization of query object

SensorLocTable

DetectedObjTable

WhereaboutsTable

Update Query Results

Query ResultsSlide103

CAWA AlgorithmSensorLocTableContains mobile sensor locations

QueryTable

Contains current query objects

DedectedObjTable

Contains query objects

and their detecting sensors (in the current iteration)

WhereaboutsTable

The whereabouts of each query object

Q

i

for each of the last

t

i

time units (i.e., the

last

t

i whereabouts)Periodically, the server performs the following procedureReceives updates from sensors, updates SensorLocTable and DetectedObjTable /* location info. for localizationUpdate the WhereabotsTable with new whereabouts computed from DetectedObjTable /* Localize query objects

Scan

WhereaboutsTable to compute the query result for each query object Qi by computing the MBR for the whereabouts in the past Wi time units.

Reports new query results to users

Localization of query object

1

2Slide104

Distributed Processing - Initial AssignmentA query can be submitted to any one of the serversWhen a query object leaves the subdomain of its current host server, the server notifies other servers about this missing query The server that detects the missing query object takes ownership of this new query (query handover)Slide105

Distributed Processing - HandoverWhen a query object is within a threshold of a neighboring subdomain belonging to server SiThe current server informs Si about the querySi activates a timer and expects the query object to cross over by the end of the set time

O

O

on its way to you

Server S

iSlide106

Distributed Processing - HandoverWhen a query object is within a threshold of a neighboring subdomain belonging to server SiThe current server informs Si about the querySi activates a timer and expects the query object to cross over by the end of the set time

If

S

i

still does not see the query object when the timer expires,

S

i can discard this handover request; otherwise Si is elevated to be the new host for this particular query Slide107

Performance StudyMetric

Description

TP, true positive

The overlapping area between the CAWA area and the true area (correct answer)

FN, false negative

The area of the true area that is not a part of the TP area

FP, false positive

The CAWA area that is not a part of the TP area

FP

TP

FN

Query

Result

Correct Answer

How true is the result

Percentage of truth retrievedSlide108

Parameters - Default ValuesTerrain: 200  200 m2Sensing Coverage: 500%Sensing Range: 2  2 m2Number of mobile nodes: 1,000Number of queries: 100Mobility Model: Random Waypoint modelTotal simulation time is 1,000 secondsQuery window is 50 seconds

For each iteration, new location of each object is determined randomly and independently of other objects.Slide109

Effect of Sensor Coverage

Sensor CoverageSlide110

Performance Study

Query

Result

Correct answer

Not enough sensors

large

whereabout

areas

large CAWA result

good recall, but very bad precision

 

FP

TP

FN

Query

Result

Correct answer

Increasing number of sensors

better localization result

smaller

whereabout

areas

more precise CAWA result

precision improves

 Slide111

Effect of Sensor RangeSensor range too small Not enough sensors to achieve precise

whereabouts

Large whereabouts result in bad precision

 

Better precisionSlide112

Effect of Node Mobility

Moving fasterSlide113

Effect of relatively slow mobilityThe object moves within some initial where-about areaA large CAWA answer compared to the correct answerTo address this effect, we need more mobile sensors to better localize mobile objects.

Sensor S

1

Sensor S

2

Correct answer

CAWA answerSlide114

ConclusionsCAWA is a less expensive framework for location-based servicesDeployment cost is proportional to the area of the application terrain, not the number of participating mobile objectsPrecision and Recall are excellent with adequate sensing coverage (about 300% in our simulation study)Communication cost is proportional to the number of sensors, not mobile objects.Slide115

k-NN QueryObject is assumed to be at center of its uncertainty region3-NN of query Ok

are

T

1

,

T3 , T4.

Uncertainty regionSlide116

k-NN QueryObject is assumed to be at center of its uncertainty region3-NN of query Ok

are

T

1

,

T3 , T4.

Comparing the query objects against all the objects in the database is very expensive

How do we determine the small number of candidates for k-NN comparisons ?Slide117

k-NN Query ProcessingDetermine the MBR that encloses the sensing ranges of all sensors that detect the query object

Q

S

1

S

2

S

3

MBRSlide118

k-NN Query ProcessingDetermine the MBR that encloses the sensing ranges of all sensors that detect the query objectCount number of objects, OMBR

, detected inside the MBR

Compute area per object (i.e., inverse of density):

Q

S

1

S

2

S

3

MBRSlide119

k-NN Query ProcessingDetermine query area:Determine dimensions of initial query area S×S

:

Expand the query area

, centered at query object, if there are less than

k

objects inside

Determine the

k

-NN

from the set of objects inside the query area

Q

S

1

S

2

S

3

S

x

S

square query areaSlide120

Performance