200 likes | 312 Views
Tracking Nearest Surrounders in Moving Object Environments *. Ken C. K. Lee 1 Josh Schiffman 1 Baihua Zheng 2 Wang-Chien Lee 1 Hong Va Leong 3. 1 Pennsylvania State University 2 Singapore Management University 3 Hong Kong Polytechnic University.
E N D
Tracking Nearest Surrounders in Moving Object Environments* Ken C. K. Lee1 Josh Schiffman1 Baihua Zheng2 Wang-Chien Lee1 Hong Va Leong3 1 Pennsylvania State University 2 Singapore Management University 3 Hong Kong Polytechnic University * International Conference on Pervasive Service, Lyon, France, June 2006 ICPS'06
Outline • Introduction • Nearest Surrounder Query • Proposed Techniques • Performance Evaluation • Conclusion 2
Location-Based Services Mobile Commerce Local weather Navigation Logistics Traffic info Geographical Information System (GIS) Tracking Emergency service 3
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 4
Nearest Surrounder Query • 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? 5
NS Query - Definition • 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. scenario 6
Continuous NS Query • 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 7
Our Contribution • 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. 8
System Framework • 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. 9
Database Architecture • 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 updater 1. Query Lookup 2. Partial Query Evaluation 10
Safe Regions • 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 11
Safe Region Approximation • Safe region for closed angular range Bounding Circle Quadrant-Based Bounding Box 12
Safe Region Approximation • Safe region for open angular range • Bounded region of empty angular range inside the service area. • Cover a lot of unnecessary space. Approximated safe region 13
Query Re-Evaluation • 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 14
Partial Evaluation - Deletion • 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. 15
Partial Evaluation - Insertion • 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. 16
Performance Evaluation • 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 17
Real Datasets BF 1000 SR SR+PE 100 10 1 Processing time (sec) 0.1 0.01 RI PA • 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. 18
Safe Region Approximation • QB Box outperforms BCircle because of more precise safe regions. 19
Conclusion & Future Work • 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 20