Indexing the Past, Present, and Anticipated Future Positions of Moving Objects Mindaugas Pelanis, Simonas Saltenis, and Christian S. Jensen http://portal.acm.org/citation.cfm?id=1132863.1132870.

Slides:



Advertisements
Similar presentations
1 DATA STRUCTURES USED IN SPATIAL DATA MINING. 2 What is Spatial data ? broadly be defined as data which covers multidimensional points, lines, rectangles,
Advertisements

Temporal Databases S. Srinivasa Rao April 12, 2007
Spatial Indexing SAMs. Spatial Indexing Point Access Methods can index only points. What about regions? Z-ordering and quadtrees Use the transformation.
 Definition of B+ tree  How to create B+ tree  How to search for record  How to delete and insert a data.
I/O-Algorithms Lars Arge Fall 2014 September 25, 2014.
Indexing and Range Queries in Spatio-Temporal Databases
Query Processing in Databases Dr. M. Gavrilova.  Introduction  I/O algorithms for large databases  Complex geometric operations in graphical querying.
Multiversion Access Methods - Temporal Indexing. Basics A data structure is called : Ephemeral: updates create a new version and the old version cannot.
Indexing the Positions of Continuously Moving Objects Saltenis, Jensen, Leutenegger and Lopez.
2-dimensional indexing structure
--Presented By Sudheer Chelluboina. Professor: Dr.Maggie Dunham.
Indexing the Present and Future Positions of Moving Objects Simonas Šaltenis Aalborg University Nykredit Center for Database Research Department of Computer.
Accessing Spatial Data
Spatio-Temporal Databases
Temporal Indexing MVBT. Temporal Indexing Transaction time databases : update the last version, query all versions Queries: “Find all employees that worked.
Temporal Indexing MVBT. Temporal Indexing Transaction time databases : update the last version, query all versions Queries: “Find all employees that worked.
I/O-Algorithms Lars Arge Spring 2009 March 3, 2009.
Dieter Pfoser, LBS Workshop1 Issues in the Management of Moving Point Objects Dieter Pfoser Nykredit Center for Database Research Aalborg University, Denmark.
Spatio-Temporal Databases. Introduction Spatiotemporal Databases: manage spatial data whose geometry changes over time Geometry: position and/or extent.
R-Trees 2-dimensional indexing structure. R-trees 2-dimensional version of the B-tree: B-tree of maximum degree 8; degree between 3 and 8 Internal nodes.
Spatio-Temporal Databases. Outline Spatial Databases Temporal Databases Spatio-temporal Databases Multimedia Databases …..
Spatial Indexing I Point Access Methods. Spatial Indexing Point Access Methods (PAMs) vs Spatial Access Methods (SAMs) PAM: index only point data Hierarchical.
R-Trees: A Dynamic Index Structure for Spatial Data Antonin Guttman.
Indexing. Goals: Store large files Support multiple search keys Support efficient insert, delete, and range queries.
Spatial Database Souhad Daraghma.
AAU A Trajectory Splitting Model for Efficient Spatio-Temporal Indexing Presented by YuQing Zhang  Slobodan Rasetic Jorg Sander James Elding Mario A.
AAU Novel Approaches to the Indexing of Moving Object Trajectories Presented by YuQing Zhang  Dieter Pfoser Christian S. Jensen Yannis Theodoridis.
R ++ -tree: an efficient spatial access method for highly redundant point data Martin Šumák, Peter Gurský University of P. J. Šafárik in Košice.
CSIS7101 – Advanced Database Technologies Spatio-Temporal Data (Part 1) On Indexing Mobile Objects Kwong Chi Ho Leo Wong Chi Kwong Simon Lui, Tak Sing.
R-Trees: A Dynamic Index Structure For Spatial Searching Antonin Guttman.
Spatio-Temporal Databases
R* Tree By Rohan Sadale Akshay Kulkarni.  Motivation  Optimization criteria for R* Tree  High level Algorithm  Example  Performance Agenda.
Temporal Indexing MVBT. Temporal Indexing Transaction time databases : update the last version, query all versions Queries: “Find all employees that worked.
Spatio-Temporal Databases. Term Project Groups of 2 students You can take a look on some project ideas from here:
Presenters : Virag Kothari,Vandana Ayyalasomayajula Date: 04/21/2010.
Advanced Database Aggregation Query Processing
Spatial Data Management
Mehdi Kargar Department of Computer Science and Engineering
Spatio-Temporal Databases
Tree-Structured Indexes
COP Introduction to Database Structures
CS522 Advanced database Systems
CS522 Advanced database Systems
Chapter 25: Advanced Data Types and New Applications
RE-Tree: An Efficient Index Structure for Regular Expressions
Spatial Indexing I Point Access Methods.
Temporal Indexing MVBT.
Temporal Indexing MVBT.
Database Management Systems (CS 564)
B-Trees Disk Storage What is a multiway tree? What is a B-tree?
Query Processing in Databases Dr. M. Gavrilova
Database Applications (15-415) DBMS Internals- Part III Lecture 15, March 11, 2018 Mohammad Hammoud.
Predictive Performance
B+ Trees What are B+ Trees used for What is a B Tree What is a B+ Tree
Spatio-Temporal Databases
B+-Trees and Static Hashing
Tree-Structured Indexes
B+Trees The slides for this text are organized into chapters. This lecture covers Chapter 9. Chapter 1: Introduction to Database Systems Chapter 2: The.
CSE373: Data Structures & Algorithms Lecture 5: AVL Trees
Temporal Databases.
B-Trees Disk Storage What is a multiway tree? What is a B-tree?
Spatial Indexing I R-trees
B-Trees Disk Storage What is a multiway tree? What is a B-tree?
File Processing : Multi-dimensional Index
Continuous Density Queries for Moving Objects
Hash-Based Indexes Chapter 11
Tree-Structured Indexes
Donghui Zhang, Tian Xia Northeastern University
CSE 326: Data Structures Lecture #14
Efficient Aggregation over Objects with Extent
Presentation transcript:

Indexing the Past, Present, and Anticipated Future Positions of Moving Objects Mindaugas Pelanis, Simonas Saltenis, and Christian S. Jensen http://portal.acm.org/citation.cfm?id=1132863.1132870 Kathy Pham CS 4440 August 31, 2007

Introduction: Me 5th Year Computer Science, graduating December! Loved CS 4400 Wonder how the world operated before database systems Initial interest in databases: mySQL and PHP No background in database theory yet Christian S. Jensen: “But, as you may have discovered, this is fairly complex stuff to present... Good luck with the presentation!”

Introduction: Article E-services to provide context-aware functionality to individual users Feasibility of storing all position information online Efficient indexing techniques required Current techniques index past or current/future positions Proposed technique to capture position of moving objects at all points in time by combining and extending past research. Examples of users (from class): Insurance risk manager considering location risk profiles Doctor comparing Magnetic Resonance Images (MRIs) Emergency response determining quickest route to victim Mobile phone companies tracking phone usage Current techniques capture position of object up most recent position sample. Others capture position of object as constant/linear function of time for present and future. This article: all points Massive amounts of data, disk resident Great Disk capacities, slower advances in I/O

Position of moving objects No index supports all three solid, solid-dashed, dashed parts Two objects in 1-D space. One index supports solid, other supports dashed. Problem: no existing method indexes time between most recent sample and current time.

Related Work: Past Position Ephemeral data structures do not record history of changes (B+ and R-trees were briefly discussed in class) B+ trees: single dimensional indexes R-tree: better than B+ trees, balanced on insert and delete N-dimensional extension of B+ trees. TB-tree STR-tree MV3R-tree: combined R-tree with partially persistent R-tree can index past trajectory data SETI: two-level indexign that separates spatial and temporal - This section is funny. They critique other groups. - They cover all their bases! They discuss in detail all the other projects.

Record of Movement: 1-D x time Linear prediction of future movement Recorded polyline u2 u3 u4 CT x time Each vertical line represents an update Trajectory of 1-dimentional moving object Christian S. Jensen

Related Work: Present and Future Position Partially persistence data structures record history changes PMR-Quadtrees Time-Parameterized R-tree (TPR): Based of R*-tree, index current/future, positions in 1-d, 2-d, 3-d REXP-tree: extends TPR-tree to accommodate data with expiration times BBx-tree: past, present and future positions indexed, but no trajectory segment corrections so disconnected trajectories are indexed. - This section is funny. They critique other groups. They cover all their bases! They discuss in detail all the other projects. Partially persistence: supports transaction time

Indexing Past separately from the Present TPBR: time-parameterized bounding rectangle Tightening: recomputing bounding rectangles each time tree node bounded by a rectangle is updated. A rectangular bounding box is associated with each tree node. -Bounding box of a leaf node is a minimum sized rectangle that contains all the rectangles/polygons associated with the leaf node. -The bounding box associated with a non-leaf node contains the bounding box associated with all its children. -Bounding box of a node serves as its key in its parent node (if any) -Bounding boxes of children of a node are allowed to overlap Left: To bridge gap, updates stored in near-past structure. Gap becomes arbitrarily large. Partially persistence index that disregards present and future. Right: Insertion times stored for all entries, no tightening possible, both must be queried to get past queries (b/c of overlap)

New Ideas Apply partial persistence (supports transaction time) to TPR-tree For all time points the time-slice query performance should be asymptotically the same as the time-slice performance for the ephemeral structure. The amount of space used by partial persistence index must be proportional in terms of the number of updates. Modify partial persistence to support valid time for monitoring applications TPR-tree produced TPBR cannot be used in RPPF-tree New TPBR proposals Partial persistence: supports transaction time

Types of TPBRs Straightforward TPBRs The calculation of coordinates of bounding rectangles is modified: the TPBR is computed to be minimum at its insertion time t├ Optimized TPBRs Minimizes the integral of the area of the bounding rectangle from t├ to CT+H (where H is a workload-specific parameter. Adjusted by observing the index workload) Double TPBRs “Head” bounds the segments of the trajectories of objects from t├ to the time of last update. “Tail” starts at the time of last update, and it is the regular TPR-tree TPBR. Two types of double TPBRs: “heads” are optimized TPBRs “heads” are static (zero speed)

Straightforward TPBR Time of last update TPBR in TPR-tree CT TPBR in TPR-tree TPBR in TPR-tree INSERT DELETE INSERT CT The calculation of the coordinates of the bounding rectangles is modified: the TPBR is computed to be minimum at its insertion time t├.

Straightforward TPBR Time spilt Alive entry Dead entry INSERT CT CT Cons: These TPBRs may result in bounding rectangles that grow fast and are not minimum at any point in time. Not possible to do ”tightening”. Bad bounding rectangles produced by the time split of bad alive bounding rectangles.

Optimized TPBR Time spilt Dead entry Alive entry INSERT DELETE INSERT CT CT Minimizes the integral of the area of the bounding rectangle from t├ to CT+H. (The workload-specific parameter H is adjusted by observing the worload.)

Optimized TPBR Pros: After the time split – possible to update the TPBR of the old node. Cons: Computation (using a convex hull) is complex and takes O(mn log n) time, where n is the number of objects bounded. Not possible to do tightening.

Double TPBR: a head and a tail Double entry Double entry INSERT DELETE INSERT CT CT ”Head” bounds the segments of the trajectories of objects from t├ to the time of last update. The optimized TPBRs are used. ”Tail” starts at the time of last update, and it is the regular TPBR.

Double TPBR: a head and a tail Time spilt Dead entry INSERT

Double TPBR: static heads insert I insert II & time split “Head” bounds the segments using the TPBR with static (zero speed) bounds. Pros: With respect to double optimized TPBRs, static TPBRs have the following advantages: Reduces the size of the index entry Omits the zero speeds in the double TPBR representation. Computation is as simple as of MBRs in R-tree or TPBRs in TPR-tree. Supports “tightening” (not possible in single optimized TPBRs). Cons: Heads may not be optimized. Might cover more space than double optimized TPBRs. The time of the last update must be updated for all live ancestors at each update. Update costs might be higher than using single optimized TPBRs.

RPFF-tree Use Double TPBRs with static heads Performance comparison of the single and double optimized TPBRs: I/O performance is similar, but the computation is much simpler. TPBRs are rectangular (not trapezoids), therefore, less corrections of TPBRs will be done. Indexes the past, present, and future positions of moving objects. Past positions are captured as polylines. Present and future positions are captured as linear functions. Uses partial persistence Uses novel kinds of time-parameterized bounding rectangles (TRBR)

Future Research Apply partial persistence framework to other indexing techniques like Bx-trees BBx trees can index past, present, future positions but trajectories from online updates have disconnected segments. Use this partial persistence and compare to Rppf tree. Different methods of main memory use in Rppf trees. Use this Rppf-tree for sensor data (like temperature, barometric pressure, humidity, etc)

Article Critique Strengths Short summaries inserted for clarification Extensive research of previous ideas Use of previous ideas Build their case Weaknesses Tree discussion is confusing (when pro-ing and when con-ing) Figure labels not well defined

Thanks to Christian S. Jensen for his notes. Thoughts? kathy.pham@gatech.edu Thanks to Christian S. Jensen for his notes.