280 likes | 450 Views
Motion Adaptive Indexing for Moving Continual Queries over Moving Objects. CIKM, November, 2004 Bugra Gedik, KunLung Wu, Phlip Yu, Ling Liu. Outline . Introduction The System Model Evaluation of Range MCQs Motion Sensitive Bounding Boxes Predictive Query Results
E N D
Motion Adaptive Indexing for Moving Continual Queries over Moving Objects CIKM, November, 2004 Bugra Gedik, KunLung Wu, Phlip Yu, Ling Liu
Outline • Introduction • The System Model • Evaluation of Range MCQs • Motion Sensitive Bounding Boxes • Predictive Query Results • Determining PQRs Using MSBs • Motion Adaptive Indexing (MAI) • Adaptive Parameter Selection • Experimental Results • Conclusion
Introduction (1/2) • Here are some examples of MCQs: • MCQ1 – “Give me the positions of those customers who are looking for taxi and are within 5 miles during next 20minutes.” • MCQ2 – “Give me the locations and names of the gas stations offering gasoline for less than $1.2 per gallon within 10miles, during the next half an hour.” • MCQ3 – “Give me the list of AAA vehicles that are currently on service call in 5 miles from my office location, during the next hour.”
Introduction (2/2) • There are two major types of MCQs - moving continual range queries and moving continual k-NN queries. • A moving continual range query has an associated moving object, called the focal object of the query. • In this paper, we use the concept of motion-sensitive bounding boxes (MSBs) to model moving objects and moving queries, and index them by MAI method. • We index less frequently changing object and query MSBs, where updates to the bounding boxes are needed only when objects and queries move across the boundaries of their boxes. • We also use predictive query results to optimistically pre-calculate query results.
The System Model (1/4) • First, we denote the set of moving or still objects as O, where O = Om∪ Os and Om∩ Os = empty set. Om denotes the set of moving objects and Os denotes the set of still objects. • Also, we denote the set of moving or still queries as Q, where Q = Qm∪ Qs and Qm∩ Qs = empty set. Qm denotes the set of moving continual queries and Qs denotes the set of static continual queries.
The System Model (2/4) • Moving Objects: < io, , , ap > • io : the unique object identifier • : the current location (px, py) of moving object • : the velocity vector (vx, vy) of the moving object • ap: a set of properties about the object • A still object can be modeled as a special case of moving objects where the velocity vector is set to zero.
The System Model (3/4) • Moving Queries: < iq, io, r, f > • iq: the unique query identifier. • io: the object identifier of the focal object of the query. • r : defines the shape of the spatial query region bound to the focal object of the query. • f : a Boolean predicate, called filter, defined over the properties (ap) of the target objects of the query. • A static spatial continual query:qs Qs, qs.io = null or qs.io Os
The System Model (4/4) • Motion Modeling and Update: • Motion Modeling – • It uses approximation for prediction. Moving objects only report their velocity vectors and position updates when their velocity vectors change significant enough. • The future position of the object at time t + Δt could be predicted as + Δt × . • Motion update generation – • If a moving object’s difference of motion update is larger than a specified threshold, say ΔD, the new motion function parameters are relayed to the server.
Evaluation of Range Query (1/13) • Motion Sensitive Bounding Boxes: • For all o Om : MSB (o) = Rect ( o. , o. + α(o) × o. )
Evaluation of Range Query (2/13) • Motion Sensitive Bounding Boxes: • For all q Qm : MSB (q) = Rect ( of. - q.r × sign (q. ), of. + β(q) × q. + q.r × sign (q. ))
Evaluation of Range Query (3/13) • Predictive Query Results: • Each object in the predictive query result has an associated time interval indicating time period in which the object is expected to be included in the query result. • Each entry in a predictive query result of takes the form < o, [ts, te] >. • We can calculate the time interval in which the object o is expected to be in the result set of query q by solving the following formula, where Dist (a, b) denotes the Euclidean distance between a and b:Dist ( of . + t × of . , o. + t × o. ) ≦ qm.r
Evaluation of Range Query (4/13) • Issues of Predictive Query Results : • Prediction?For each moving query, should we perform prediction on all moving objects? • Invalidation?When and how to update the predictive results?
Evaluation of Range Query (5/13) • Determining PQRs Using MSBs:
Evaluation of Range Query (6/13) • Motion Adaptive Indexing: • Processing Moving Queries • The Scan Algorithms
Evaluation of Range Query (7/13) • MAI (Processing Moving Queries): • Two MSB indexes are built: and . • Two tables are maintained: MOT and MQT.
Evaluation of Range Query (8/13) • MAI (The Scan Algorithms):Two scans will be performed. • MOT Scan: • Check whether the associated object of the entry has invalidated its MSB or changed its motion function. • Update if upper case happens. • Search , update query results by MSBold and MSBnew. • MQT Scan.
Evaluation of Range Query (9/13) • Adaptive Parameter Selection: • ※ There are two important characteristics of object motions: • the speed of the object; • the period of constant motion of the object, Pcm. • For instance, for a query whose focal object changes its motion function frequently, it may not be a good idea to perform too much prediction.
Evaluation of Range Query (10/13) • Adaptive Parameter Selection:Analytical Model for IO Estimation ~ Amo ≒ ( α × | v |/ )2 Amq ≒ ( β × | v |/ + 2 × Rmq )2 Ao ≒ Amo × Nmo/No ......... (assume still objects’ MSB = 0) Aq ≒ × ( Amq × Nmq + × (Nq – Nmq)) Assuming that the x and y components of the velocity vector are equal.
Evaluation of Range Query (11/13) • Example:
Nmot ≒ + - × Evaluation of Range Query (12/13) • Adaptive Parameter Selection: Analytical Model for IO Estimation ~ If Ps/Pcm < 1, that is, only some of the moving objects will cause velocity change events, then, ≒ Nmo × min (1, ) ≒ × ≒ min ( , 1) × Nmo ≒ min ( , 1) × Nmq Nmot ≒ + - ×
Evaluation of Range Query (13/13) • Adaptive Parameter Selection:Analytical Model for IO Estimation ~ Finally, we have a total IO cost for the periodic scan, Cio, can then be calculated as follows:Cio = Nmot × ( + 2 × ) + Nmqt × ( + ) where : node IO cost during processing an object table entry for updating the : node IO cost during processing an object table entry for searching the : node IO cost during processing a query table entry for updating the : node IO cost during processing a query table entry for searching the
Experimental Result (1/6) • System parameters Besides, in this paper, they build a off-line computed αβTable, which gives the optimal pair (α, β) to a object and its associated query.
Experimental Result (2/6) • Performance Comparison: BF: Brute ForceOI : Object-only IndexingQI : Query-only IndexingOQI: Object and Query IndexingMAI: Motion Adaptive IndexingOIB: Object Indexing with MSBs Scan Period
Experimental Result (3/6) • Performance Comparison (cont.): BF: Brute ForceOI : Object-only IndexingQI : Query-only IndexingOQI: Object and Query IndexingMAI: Motion Adaptive IndexingOIB: Object Indexing with MSBs
Experimental Result (4/6) • Effect of Adaptive Parameter Selection: Class A: moving slow, but change their motion function frequently. Class B: moving and change their motion function as default settings. Class C: moving fast, but seldom change their motion function. Conclusion: It’s expensive to deal with Class A and Class C.
Experimental Result (5/6) • Scalability :Effect of query range and moving object percentage on performance ~
Experimental Result (6/6) • Scalability (cont.): Effect of number of objects on performance~
Conclusion • This paper presented a system and a motion-adaptive indexing scheme for efficient processing of moving continual queries over moving objects.