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