Page 1
6/26/2006 ICPS'06
Tracking Nearest Surrounders in Moving Object Environments*
Ken C. K. Lee1 Josh Schiffman1 Baihua Zheng2
Wang-Chien Lee1 Hong Va Leong3
1 Pennsylvania State University2 Singapore Management University 3 Hong Kong Polytechnic University
* International Conference on Pervasive Service, Lyon, France, June 2006
Page 2
6/26/20062ICPS'06
Outline
Introduction Nearest Surrounder Query Proposed Techniques Performance Evaluation Conclusion
Page 3
6/26/20063ICPS'06
Traffic infoNavigation
Local weather
Emergency service
Logistics
Location-Based Services
Geographical InformationSystem (GIS)Tracking
Mobile Commerce
Page 4
6/26/20064ICPS'06
Moving Object Tracking One of the essential LBSs
Moving object tracking Perform a spatial query on moving objects continuously
Existing studies Continuous Window Query Continuous Nearest Neighbor Query
Above queries are based on (Euclidean) distance. Angle is also an important and interesting factor in
spatial queries. Our focus:
Nearest Surrounder Query
Page 5
6/26/20065ICPS'06
What is Nearest Surrounder (NS) Query? A query which finds nearest objects to a query point
at every distinct angle. Recently reported at ICDE’06.
Applications Robot football: How a robot
decide where to pass the ball? Digital battlefield: How a soldier finds a fire clearing
path?
Nearest Surrounder Query
Page 6
6/26/20066ICPS'06
Given a query point, q, NS(q) searches the database to return a result set:
{<object, angular range>}
where object is the nearest to q within the specified angular range.
Example: NS(q) =
{ <o1, [g, a)>, <o3, [a, b)>,
<o6, [b, c)>, <o7, [c, d)>,
<o8, [d, e)>, <o9, [e, f)>,
<NULL,[f, g) }
NULL means no object found Objects o2, o4, o5, o10, are not NS.
αd αe
αcq
o7
o6
O3
o1
o9o8
o5
o4 o2
o10
αb
αf
αg
αa
scenario
NS Query - Definition
Page 7
6/26/20067ICPS'06
Previous work on NS Query is based on static objects.
What about the moving object environments? Scenario
o1 moved down a bit
o2 (previously blocked by o1) is
now included in the result set. Part of the empty angular range
is now covered by o1.
scenario
αd αe
αcq
o7
o6
O3
o9o8
o5
o4
o10
αaαb
αf
αh
o1
o2
αi
Continuous NS Query
Page 8
6/26/20068ICPS'06
This work presents a framework for continuously tracking NS query results.
Two major costs in keeping NS query results up-to-date in a moving object environment. Query lookup Query result update
Safe region is used to address the issue of query lookup
Partial query evaluation rather than query reevaluation is used to reduce the cost of query result update.
Through experimentation, we show the efficiency of these two techniques adopted in our framework.
Our Contribution
Page 9
6/26/20069ICPS'06
Users (query clients) register their queries at the database server.
Moving objects update the server periodically. Base station relays messages between wireless
and wired network Database server matches updates to NS queries.
movingobject
movingobject
change ofquery result(centralized)
database serverobject
locationupdate
basestation
querysubscription
query clientService area
System Framework
Page 10
6/26/200610ICPS'06
Request queue Pending requests
Data storage Object index (R-tree) Query index (R-tree)
Processes Query processor
1. Query evaluartion
2. Determining Safe Regions for Queries
Location updater1. Query Lookup
2. Partial Query Evaluation
queryregistry
queryindex
objectindex
locationupdater
queryprocessor
requ
est q
ueue
objectlocationupdate
querysubscription/
withdraw
Database Architecture
Page 11
6/26/200611ICPS'06
Used to alleviate query lookups Two types of safe regions
Safe regions for closed angular ranges Safe regions for open angular ranges
Safe regions are indexed in query index. Two indices: Closed Angular Range/Open Angular
Range
If a query whose safe region is not touched by moved objects (old/new positions), query evaluation is not needed.
Issues The more precise a safe region, the less false hits
Safe Regions
Page 12
6/26/200612ICPS'06
Safe region for closed angular range
Bounding Circle Quadrant-Based Bounding Box
αd αe
αcq
o7
o6
O3
o1
o9o8
o5
o4 o2
o10
αaαb
hollowpolygon
αf
αg
αd αe
αc
o7
o6
O3
o1
o9o8
o5
o4 o2
o10
αaαb
αf
αg
q
Safe Region Approximation
Page 13
6/26/200613ICPS'06
Safe region for open angular range Bounded region of empty angular range inside the
service area. Cover a lot of unnecessary space.
αd αe
αcq
o7
o6
O3
o1
o9o8
o5
o4 o2
o10
αaαb
αg
Service area
empty space
αf
empty space
safe region
Subregionnot
covered
Approximated safe region
Safe Region Approximation
Page 14
6/26/200614ICPS'06
Full query revaluation Evaluate a query whenever a moved object touches its
safe region.
Partial query re-evaluation Evaluate only the portion of a NS query result affected by
moved object. Object movement considered as
deletion of the old position followed by insertion of the new position
Query Re-Evaluation
Page 15
6/26/200615ICPS'06
Deletion of an object position may introduce other objects (previously hidden by the
removed object) to the result set; may introduce open angular range.
Example: Deleting o1
Remove <o1:[g, a)>
from existing result. Add <o2:[g’, a)> and
<NULL: [g, g’)> to the result.
αd αe
αcq
o7
o6
O3
o1
o9o8
o5
o4 o2
o10
αaαb
αf
αg
αg'
(deleted)
Partial Evaluation - Deletion
Page 16
6/26/200616ICPS'06
Insertion of a new object position may remove some existing objects from the resultt set; may remove an open angular range.
Example: Adding o1
Remove <o2:[g ’, a)> and <NULL: [f, g’)>
from existing result. Add <NULL:[f, h)>,
<o1: [h, i)>, and <o2:[i, a)>
to the result.
αd αe
αcq
o7
o6
O3
o9o8
o5
o4
o10
αaαb
αf
αh
o1
o2
αi
αg
αg'
Partial Evaluation - Insertion
Page 17
6/26/200617ICPS'06
Experiment Settings Candidates:
Brute Force (BF) (search queries and reevaluate them when objects move)
Safe Region (SR) lookup queries with safe regions as filters Partial Evaluation (PE) determine the partial change to the NS
result. Parameter settings:
Runtime environment: RedHat Linux Enterprise 3.0 on Xeon 2.6 computers
Performance Evaluation
Page 18
6/26/200618ICPS'06
Processing time (log) – elapse time for a query to be identified and updated.
SR+PE outperform all others, SR is the second best. BF, the baseline case, does the worst.
Real Datasets
0.01
0.1
1
10
100
1000
RI PA
BF
SR
SR+PE
Pro
cess
ing
time
(se
c)
Page 19
6/26/200619ICPS'06
QB Box outperforms BCircle because of more precise safe regions.
0.01
0.1
1
10
Uniform RI PA
BCircle
QB BBoxP
roce
ssin
g tim
e (s
ec)
1
10
100
Uniform RI PA
1
10
100
1000
10000
CP
U t
ime
(sec
)
Safe Region Approximation
Page 20
6/26/200620ICPS'06
This paper studies the issues of tracking nearest surrounder query in moving object environment
Based on a centralized approach Safe region and partial evaluation are effective for
query lookup and query result updates
Future work Moving query point. Distributed approach
Conclusion & Future Work