=Paper= {{Paper |id=None |storemode=property |title=TrIMPI: A Data Structure for Efficient Pattern Matching on Moving Objects |pdfUrl=https://ceur-ws.org/Vol-1020/paper_11.pdf |volume=Vol-1020 |dblpUrl=https://dblp.org/rec/conf/gvd/PolomskiK13 }} ==TrIMPI: A Data Structure for Efficient Pattern Matching on Moving Objects== https://ceur-ws.org/Vol-1020/paper_11.pdf
  TrIMPI: A Data Structure for Efficient Pattern Matching on
                       Moving Objects

                          Tsvetelin Polomski                                             Hans-Joachim Klein
                 Christian-Albrechts-University at Kiel                         Christian-Albrechts-University at Kiel
                    Hermann-Rodewald-Straße 3                                      Hermann-Rodewald-Straße 3
                              24118 Kiel                                                     24118 Kiel
                  tpo@is.informatik.uni-kiel.de                                   hjk@is.informatik.uni-kiel.de

ABSTRACT                                                                   qualitative description, e.g. return all trajectories where the under-
Managing movement data efficiently often requires the exploita-            lying object slowed down (during any time interval) and after that
tion of some indexing scheme. Taking into account the kind of              it changed its course. Obviously, the motion properties slowdown
queries issued to the given data, several indexing structures have         and course alteration as well as their temporal adjustment can be
been proposed which focus on spatial, temporal or spatio-temporal          computed using formal methods. The crucial point is that, even if
data. Since all these approaches consider only raw data of moving          an indexing structure is used, the stated properties must be com-
objects, they may be well-suited if the queries of interest contain        puted for each trajectory and this results in sequential scan(s) on
concrete trajectories or spatial regions. However, if the query con-       the whole trajectory data. Time consuming processing of queries
sists only of a qualitative description of a trajectory, e.g. by stating   is not acceptable, however, in a scenario where fast reaction on in-
some properties of the underlying object, sequential scans on the          coming data streams is needed. An example of such a situation with
whole trajectory data are necessary to compute the property, even          so-called tracks computed from radar and sonar data as input is the
if an indexing structure is available.                                     detection of patterns of skiff movements typical for many piracy
The present paper presents some results of an ongoing work on a            attacks [14]. A track comprises the position of an object at a time
data structure for Trajectory Indexing using Motion Property In-           moment and can hold additional information e.g. about its current
formation (TrIMPI). The proposed approach is flexible since it al-         course and velocity. Gathering the tracks of a single object over a
lows the user to define application-specific properties of trajecto-       time interval yields its trajectory over this interval.
ries which have to be used for indexing. Thereby, we show how              To address the efficiency problem, we propose an indexing scheme
to efficiently answer queries given in terms of such qualitative de-       which is not primarily focused on the “time-position data” of tra-
scriptions. Since the index structure is built on top of ordinary data     jectories but uses meta information about them instead.
structures, it can be implemented in arbitrary database management         We start with a discussion of related work in Section 2. Section 3
systems.                                                                   provides some formal definitions on trajectories and their motion
                                                                           properties. In section 4 we introduce the indexing scheme itself
                                                                           and illustrate algorithms for querying it. Section 5 summarizes the
Keywords                                                                   present work and outlines our future work.
Moving object databases, motion patterns, indexing structures
                                                                           2. RELATED WORK
1.    INTRODUCTION AND MOTIVATION                                             In this section we provide a short overview on previous contri-
                                                                           butions which are related to our approach. We start the section
   Most index structures for trajectories considered in the literature
(e.g. [8]) concentrate on (time dependent) positional data, e.g. R-        by reviewing classical indexing structures for moving objects data.
Tree [9] or TPR*-Tree [17]. There are different approaches (e.g.           Next to this, we show an approach which is similar in general terms
[1], [12]) exploiting transformation functions on the original data        to the proposed one and finally we review literature related to se-
                                                                           mantical aspects of moving objects.
and thereby reducing the indexing overhead through “light ver-
sions” of the trajectories to be indexed. In these approaches only         2.1 Indexing of Spatial, Temporal and Spatio-
stationary data is being handled. In cases where the queries of in-
terest consist of concrete trajectories or polygons covering them,
                                                                               Temporal Data
such indexing schemata as well as trajectory compression tech-                The moving object databases community has developed several
niques (e.g. [1], [6], [10], [12], [13]) may be well-suited. However,      data structures for indexing movement data. According to [8], these
there are applications [14] where a query may consist only of a            structures can be roughly categorized as structures indexing only
                                                                           spatial data, also known as spatial access methods (SAM); index-
                                                                           ing approaches for temporal data, also known as temporal index
                                                                           structures; and those which manage both - spatial and temporal
                                                                           data, also known as spatio-temporal index structures. One of the
                                                                           first structures developed for SAMs is the well-known R-Tree [9].
                                                                           Several extensions of R-Trees have been provided over the years,
                                                                           thus yielding a variety of spatio-temporal index structures. An in-
                                                                           formal schematic overview on these extensions, including also new
25th GI-Workshop on Foundations of Databases (Grundlagen von Daten-
banken), 28.05.2013 - 31.05.2013, Illmenau, Germany.                       developments as the HTPR*-Tree [7] can be found in [11]. Since
Copyright is held by the author/owner(s).                                  all of the proposed access methods focus mainly on the raw spatio-
temporal data, they are well-suited for queries on history of move-       “real time” and use any time domain instead. A time domain is any
ment and predicting new positions of moving objects, or for re-           set which is interval scaled and countably infinite. The first re-
turning most similar trajectories to a given one. If a query consists     quirement ensures that timestamps can be used for ordering and,
only of a qualitative description, however, all the proposed index-       furthermore, that the “delay” between two time assignments can
ing structures are of no use.                                             be determined. The second requirement ensures that we have an
                                                                          infinite number of “time moments” which can be unambiguously
2.2 Applying Dimensionality Reduction upon                                indexed by elements of N. In the following we denote a time do-
    Indexing - the GEMINI Approach                                        main by T.
   The overall approach we consider in this work is similar to the           Since objects move in a space, we also need a notion for a spa-
GEMINI (GEneric Multimedia INdexIng method) indexing scheme               tial domain. In the following, let S denote the spatial domain. We
presented in [6]. This approach was originally proposed for time          require that S is equipped with an adequate metric, such as the Eu-
series and has been applied later for other types of data, e.g. for       clidean distance (e.g. for S = R × R), which allows us to measure
motion data in [16]. The main idea behind GEMINI is to reduce the         the spatial distance between objects.
dimensionality of the original data before indexing. Therefor, rep-          Having the notions of time and space we can define formally the
resentatives of much lower dimensionality are created for the data        term trajectory.
(trajectory or time series) to be indexed by using an appropriate
transform and used for indexing. A crucial result in [6] is that the         Definition 1. Let T, S and O denote a time domain, a space do-
authors proved that in order to guarantee no false dismissals [12],       main and a set of distinct objects, respectively. Then, the trajectory
the exploited transform must retain the distance (or similarity) of       τo of an object o ∈ O is a function τo : T → S.
the data to be indexed, that is, the distance between representatives
should not exceed the distance of the original time series.                  For brevity, we can also write the trajectory of an object o ∈ O
In the mentioned approaches, the authors achieve encouraging re-          in the form (o, t0 , s0 ), (o, t1 , s1 ) . . . for those t ∈ T where τo (t) = s is
sults on querying most similar trajectories (or time series) to a given   defined. A single element (o, ti , si ) is called the track of object o at
one. However, since the representatives of the original data are tra-     time ti .
jectories or time series, respectively, evaluating a query which only
describes a motion behavior would result in the inspection of all         3.2 Motion Patterns
representatives.                                                             We consider a motion pattern as a sequence of properties of
                                                                          trajectories which reveal some characteristics of the behavior of
2.3 Semantical Properties of Movement                                     the underlying moving objects. Such properties may be expressed
   Semantical properties of movement data have been considered in         through any predicates which are important for the particular anal-
various works, e.g. in [2], [5], and [15].                                ysis, such as start, stop, turn, or speedup.
The authors of [2] propose a spatio-temporal representation scheme
for moving objects in the area of video data. The considered rep-            Definition 2. Let T be a time domain, T be the set of trajectories
resentation scheme distinguishes between spatio-temporal data of          of an object set O over T, and IT be the set of all closed inter-
trajectories and their topological information, and also utilizes in-     vals over T. A motion property on T is a function p : 2T × IT →
formation about distances between pairs of objects. The topolog-          {true, f alse}.
ical information itself is defined through a set of topological re-
lations operators expressing spatial relations between objects over       That is, a motion property is fulfilled for a set of trajectories and
some time interval, including faraway, disjoint, meet, overlap, is-       a certain time interval if the appropriate predicate is satisfied. To
included-by/includes and same.                                            illustrate this definition, some examples of motion properties are
In [5], a comprehensive study on the research that has been carried       provided below:
out on data mining and visual analysis of movement patterns has
been provided. The authors propose a conceptual framework for                 • Appearance: Let t ∈ T. Then we define appear(·, ·) as
movement behavior of different moving objects. The extracted be-                follows: appear({τo }, [t, t]) = true ⇔ ∀t′ ∈ T : τo (t′ ) ,
havior patterns are classified according to a taxonomy.                         undefined → t ≤ t′ . That is, an object “appears” only in the
In [15], the authors provide some aspects related to a semantic view            “first” moment it is being observed.
of trajectories. They show a conceptual approach for how trajectory
behaviors can be described by predicates that involve movement                • Speedup: Let t1 , t2 ∈ T and t1 < t2 . Then speedup(·, ·) is de-
attributes and/or semantic annotations. The provided approach is                fined as follows: speedup({τo }, [t1 , t2 ]) = true ⇔ v(τo , t1 ) <
rather informal and considers behavior analysis of moving objects               v(τo , t2 ) ∧ ∀t ∈ T : t1 ≤ t ≤ t2 → v(τo , t1 ) ≤ v(τo , t) ≤ v(τo , t2 )
on a general level.                                                             where v(τo , t) denotes the velocity of the underlying moving
                                                                                object o at time t. That is, the predicate speedup is satisfied
                                                                                for a trajectory and a time interval if and only if the velocity
3.    FORMAL BACKGROUND                                                         of the underlying object is increasing in the considered time
   This section provides the formal notions as well as the definitions          interval. Note that the increase may not be strictly mono-
needed throughout the rest of the paper. We start with the term                 tonic.
trajectory and then direct later our attention to motion properties
and patterns.                                                                 • Move away: Let t1 , t2 ∈ T and t1 < t2 . Then we define:
                                                                                moveaway({τo1 , τo2 }, [t1 , t2 ]) = true ⇔ ∀t, t′ ∈ T : t1 ≤ t <
3.1 Trajectories                                                                t′ ≤ t2 → dist(τo1 , τo2 , t) < dist(τo1 , τo2 , t′ ) where the term
   In our approach we consider the trajectory τo of an object o sim-            dist(τo1 , τo2 , t) denotes the distance between the underlying
ply as a function of time which assigns a position to o at any point            moving objects o1 and o2 at time t. That is, two objects are
in time. Since time plays only a role for the determination of tem-             moving away from each other for a time interval, if their dis-
poral causality between the positions of an object, we abstract from            tance is increasing during the considered time interval.
                                                                                the trajectory data in blocks. This has the advantage that extract-
                                                                                ing the complete trajectory requires only loading as much blocks as
                                                                                needed for storing a trajectory.

                                                                                4.2 Indexing Motion Patterns
                                                                                   For the maintenance of motion patterns we consider two cases -
                                                                                single motion properties and sequences of motion properties. Stor-
                                                                                ing single motion properties allows the efficient finding of trajec-
                                                                                tories which contain the considered motion property. This is ad-
                                                                                vantageous if the searched property is not often satisfied. Thus, for
                                                                                each motion property p a “list” DBT p holding all trajectories sat-
                                                                                isfying this property is maintained. As we shall see in Algorithm
             Figure 1: Overview of the index structure                          4.3, we have to combine such lists and, thus, a simple unsorted list
                                                                                would not be very favourable. Therefore, we implement these lists
                                                                                through B+ -Trees (ordered by the trajectory/object identifiers). An
   Using motion properties, a motion pattern of a single trajectory
                                                                                evaluation of union and intersection of two B+ -Trees with m and n
or a set of trajectories is defined as a sequence of motion properties
                                                                                leaves can be performed in O(m log m+n  m
                                                                                                                          )[4].
ordered by the time intervals in which they are fulfilled. It is impor-
                                                                                The search for motion patterns with more than one motion property
tant to note, that this common definition of a motion pattern allows
                                                                                can be conducted through the single DBT p structures. However, if
multiple occurrences of the same motion property in the sequence.
                                                                                the query motion pattern is too long, too many intersections of the
In order to get a well-defined notion it has to be required that the
                                                                                DBT p structures will happen and the resulting trajectories will have
time intervals in which the motion properties are fulfilled are dis-
                                                                                to be checked for containing properties that match the given order,
joint or that meaningful preferences on the motion properties are
                                                                                as well. To overcome this problem, sequences of motion properties
specified in order to allow ordering in case the time intervals over-
                                                                                are stored in an additional B+ -Tree structure DBT . The elements of
lap.
                                                                                DBT have the form (p, τo ) where p is a motion pattern, and o ∈ O.
                                                                                To sort the elements of DBT , we apply lexicographical ordering.
4.    TRAJECTORY INDEXING USING MO-                                             As a result, sequences with the same prefix are stored consecu-
      TION PROPERTIES                                                           tively. Thus, storing of motion patterns that are prefixes of other
   In this section we explain how the proposed index is being cre-              motion patterns can be omitted.
ated and used. Index creation starts with the determination of the              4.3 Building the Index
motion pattern of each trajectory to be indexed. For this purpose,
the motion predicates specified by the user are computed. The re-                  The algorithm for the index creation is quite simple. It consists
sulting motion patterns are indexed with references to the original             primarily of the following steps:
trajectories.                                                                      • Determine the motion properties for each trajectory τo . Con-
   The resulting index is schematically depicted in Figure 1. TrIMPI                 sider, if needed, a sliding window or some reduction or seg-
consists mainly of a data structure holding the raw trajectory data,                 menting technique as proposed in [1], [6], [10], [12], [13],
and secondary index structures for maintaining motion patterns.                      for example. Generate a list f of the motion properties of τo ,
Thereby, we differentiate between indexing single motion proper-                     ordered by their appearance in τo .
ties and indexing motion patterns.
A query to the index can be stated either through a motion pattern or              • Store τo into the trajectory record file.
through a concrete trajectory. The index is searched for motion pat-
terns containing the given one or the computed one, respectively. In               • Apply Algorithm 4.1 to f to generate access keys relevant
both cases, the associated trajectories are returned. The following                  for indexing.
subsections consider the outlined procedures more precisely.                       • For each generated access key, check whether it is already
4.1 Indexing Trajectory Raw Data                                                     contained in the index. If this is not the case, store it in the
                                                                                     index. Link the trajectory record file entry of τo to the access
    Since the focus of TrIMPI is not on querying trajectories by ex-
                                                                                     key.
ample, the index structure for the raw trajectory data can be rather
simple. For our implementation, we considered a trajectory record               Algorithm 4.1 is used to generate index keys of a pattern. An index
file as proposed by [3]. This structure (Figure 1) stores trajectories          key is any subpattern p′ = (p′j )m−1                       n−1
                                                                                                                 j=0 of a pattern p = (pi )i=0 which is
in records of fixed length. The overall structure of the records is as          defined as follows:
follows
                                                                                   • For each j ≤ m − 1 exists i ≤ n − 1 such that p′j = pi
       IDo    next_ptr      prev_ptr      {track0 , . . . , tracknum−1 } .
                                                                                   • For each j, k such that 0 ≤ j < k ≤ m − 1 exist i, l such that
IDo denotes the identifier of the underlying moving object, next_ptr                 0 ≤ i < l ≤ n − 1 and p′j = pi and p′k = pl .
and prev_ptr are references to the appropriate records holding fur-
ther parts of the trajectory, and {track0 , . . . , tracknum−1 } is a list of   To generate the list of index keys, algorithm 4.1 proceeds itera-
tracks of a predefined fixed length num. If a record ri for a tra-              tively. At each iteration of the outer loop (lines 3 to 16) the algo-
jectory τo gets filled, a new record r j is created for τo holding its          rithm considers a single element p of the input sequence f . On the
further tracks. In this case, next_ptrri is set up to point to r j , and        one hand, p is being added as an index key to the (interim) result
prev_ptrr j is set up to point to ri .                                          (lines 14 and 15) and on the other hand it is being appended as a
Using a trajectory record file, the data is not completely clustered,           suffix to each previously generated index key (inner loop - lines 5
but choosing appropriate record size leads to partial clustering of             to 13). Algorithm 4.1 utilizes two sets whose elements are lists of
motion properties - supplist and entries. The set supplist               that each trajectory of the interim result has to be checked whether
contains at each iteration the complete set of index keys, includ-       it matches the queried pattern (lines 9 to 13).
ing those which are prefixes of other patterns. The set entries is       The other special case are queries longer than G (lines 16 to 24). As
built in each iteration of the inner loop (lines 5 to 13) by appending   we have seen in algorithm 4.1, in such cases the index keys are cut
the current motion property of the input sequence to any element         to prefixes of length G. Thus, the extraction in this case considers
of supplist. Thereby, at line 14 entries holds only index keys           the prefix of length G of the query sequence (lines 17) and extracts
which are no prefixes of other index keys. Since the resulting lists     the appropriate trajectories (line 18). Since these trajectories may
of index keys are stored in a B+ -Tree by applying a lexicographical     still not match the query sequence, e.g. by not fulfilling some of the
order, sequences of motion properties which are prefixes of other        properties appearing on a position after G − 1 in the input sequence,
sequences can be omitted. Therefore, the set entries is returned         an additional check of the trajectories in the interim result is made
as final result (line 17).                                               (lines 19 to 23).
Since the given procedure may result in the computation of up to         The last case to consider are query sequences with length between
2k0 different indexing keys for an input sequence with k0 motion         α and G. In these cases, the index DBT holding the index keys is
properties, a global constant G is used to limit the maximal length      searched through a call to algorithm 4.2 and the result is returned.
of index keys. Using an appropriate value for G leads to no draw-        Finally, the function Match (algorithm 4.4) checks whether a tra-
backs for the application. Furthermore, the proposed querying al-
gorithm can handle queries longer than G.                                Algorithm 4.3 Querying trajectories with a sequence of arbitrary
                                                                         length
Algorithm 4.1 Building the indexing keys                                 Require: s is a sequence of motion properties
Require: f is a sequence of motion properties                            Require: G is the maximal length of stored sequences
Require: G is the maximal length of sequences to be indexed              Require: DBT p is the index of the property p
 1 function createIndexKeys( f )                                         Require: 1 ≤ α < G maximal query length for searching single property indexes
 2     supplist ← empty set of lists                                      1 function GetEntries(s)
 3    for all a ∈ f do                                                    2     result ← empty set
 4        entries ← empty set of lists                                    3     if |s| < α then
 5        for all l ∈ supplist do                                         4          result ← T
 6            new ← empty list                                            5          for all p ∈ s do
 7            if |l| ≤ G then                                             6              suppset ← DBT p
 8                  new ← l.append(a)                                     7              result ← result ∩ suppset
 9            else                                                        8          end for
10                  new ← l                                               9          for all τo ∈ result do
11             end if                                                    10              if ! match(τo , s) then
12             entries ← entries ∪ {new}                                 11                   result ← result\{τo }
13         end for                                                       12              end if
14         entries ← entries ∪ {[a]}                                     13          end for
15         supplist ← entries ∪ supplist                                 14     else if |s| ≤ G then
16     end for                                                           15          result ← GetEntriesFromDBT (s)
17     return entries                                                    16     else
18 end function                                                          17          k ← s[0..G − 1]
                                                                         18          result ← GetEntriesFromDBT (k)
                                                                         19          for all τo ∈ result do
                                                                         20              if ! match(τo , s) then
4.4 Searching for Motion Patterns                                        21                   result ← result\{τo }
                                                                         22              end if
   Since the index is primarily considered to support queries on se-     23          end for
quences of motion properties, the appropriate algorithm for eval-        24     end if
                                                                         25     return result
uating such queries given in the following is rather simple. In its      26 end function
“basic” version, query processing is just traversing the index and re-
turning all trajectories referenced by index keys which contain the
queried one (as a subpattern). This procedure is illustrated in algo-    jectory τo fulfills a pattern s. For this purpose, the list of motion
rithm 4.2. There are, however, some special cases which have to          properties of τo is being generated (line 2). Thereafter, s and the
                                                                         generated pattern of τo are traversed (lines 5 to 14) so that it can be
                                                                         checked whether the elements of s can be found in the trajectory
Algorithm 4.2 Basic querying of trajectories with a sequence of
                                                                         pattern of τo in the same order. In this case the function Match
motion properties
                                                                         returns true, otherwise it returns false.
Require: s is a sequence of motion properties; |s| ≤ G
Require: DBT is the index containing motion patterns
 1 function GetEntriesFromDBT(s)                                         5. CONCLUSIONS AND OUTLOOK
 2    result ← {τo | ∃p s.t. s ≤ p ∧ (p, τo ) ∈ DBT }
 3     return result                                                        In this paper we provided some first results of an ongoing work
 4 end function                                                          on an indexing structure for trajectories of moving objects called
                                                                         TrIMPI. The focus of TrIMPI lies not on indexing spatio-temporal
be taken into account. The first of them considers query sequences       data but on the exploitation of motion properties of moving objects.
which are “too short”. As stated in Section 4.2, it can be advan-        For this purpose, we provided a formal notion of motion proper-
tageous to evaluate queries containing only few motion properties        ties and showed how they form a motion pattern. Furthermore, we
by examination of the index structures for single motion proper-         showed how these motion patterns can be used to build a meta in-
ties. To be able to define an application specific notion of “short”     dex. Algorithms for querying the index were also provided. In
queries, we provide besides G an additional global parameter α for       the next steps, we will finalize the implementation of TrIMPI and
which holds 1 ≤ α < G. In algorithm 4.3, which evaluates queries         perform tests in the scenario of the automatic detection of piracy at-
of patterns of arbitrary length, each pattern of length shorter than α   tacks mentioned in the Introduction. As a conceptual improvement
is being handled in the described way (lines 3 to 8). It is important    of the work provided in this paper, we consider a flexibilisation of
Algorithm 4.4 Checks whether a trajectory matches a motion pat-              Notes in Computer Science, pages 26–39. Springer Berlin
tern                                                                         Heidelberg, 2012.
Require: τo is a valid trajectory                                        [8] R. H. Güting and M. Schneider. Moving Object Databases.
Require: s is a sequence of motion properties
 1 function match(τo , s)                                                    Data Management Systems. Morgan Kaufmann, 2005.
 2    motion_properties ← compute the list of motion properties of τo    [9] A. Guttman. R-Trees: a dynamic index structure for spatial
 3    index_s ← 0
                                                                             searching. In Proceedings of the 1984 ACM SIGMOD
 4    index_props ← 0
 5    while index_props < motion_properties.length do                        international conference on Management of data, SIGMOD
 6        if motion_properties[index_props] = s[index_s] then                ’84, pages 47–57, New York, NY, USA, 1984. ACM.
 7             index_s ← index_s + 1
                                                                        [10] J. Hershberger and J. Snoeyink. Speeding Up the
 8        else
 9             index_props ← index_props + 1                                 Douglas-Peucker Line-Simplification Algorithm. In
10         end if                                                            P. Bresnahan, editor, Proceedings of the 5th International
11         if index_s = s.length then
                                                                             Symposium on Spatial Data Handling, SDH’92, Charleston,
12              return true
13         end if                                                            South Carolina, USA, August 3-7, 1992, pages 134–143.
14     end while                                                             University of South Carolina. Humanities and Social
15     return false                                                          Sciences Computing Lab, August 1992.
16 end function
                                                                        [11] C. S. Jensen. TPR-Tree Successors 2000–2012.
                                                                             http://cs.au.dk/~csj/tpr-tree-successors, 2013.
                                                                             Last accessed 24.03.2013.
the definition of motion patterns including arbitrary temporal rela-
                                                                        [12] E. J. Keogh, K. Chakrabarti, M. J. Pazzani, and S. Mehrotra.
tions between motion predicates.
                                                                             Dimensionality reduction for fast similarity search in large
                                                                             time series databases. Journal Of Knowledge And
6.     ACKNOWLEDGMENTS                                                       Information Systems, 3(3):263–286, 2001.
  The authors would like to give special thanks to their former stu-    [13] E. J. Keogh, S. Chu, D. Hart, and M. J. Pazzani. An online
dent Lasse Stehnken for his help in implementing TrIMPI.                     algorithm for segmenting time series. In N. Cercone, T. Y.
                                                                             Lin, and X. Wu, editors, Proceedings of the 2001 IEEE
                                                                             International Conference on Data Mining, ICDM’01, San
7.     REFERENCES                                                            Jose, California, USA, 29 November - 2 December 2001,
 [1] R. Agrawal, C. Faloutsos, and A. N. Swami. Efficient                    pages 289–296. IEEE Computer Society, 2001.
     similarity search in sequence databases. In D. B. Lomet,           [14] T. Polomski and H.-J. Klein. How to Improve Maritime
     editor, Proceedings of the 4th International Conference on              Situational Awareness using Piracy Attack Patterns. 2013.
     Foundations of Data Organization and Algorithms,                        submitted.
     FODO’93, Chicago, Illinois, USA, October 13-15, 1993,              [15] S. Spaccapietra and C. Parent. Adding meaning to your steps
     volume 730 of Lecture Notes in Computer Science, pages                  (keynote paper). In M. Jeusfeld, L. Delcambre, and T.-W.
     69–84. Springer, 1993.                                                  Ling, editors, Conceptual Modeling - ER 2011, 30th
 [2] J.-W. Chang, H.-J. Lee, J.-H. Um, S.-M. Kim, and T.-W.                  International Conference, ER 2011, Brussels, Belgium,
     Wang. Content-based retrieval using moving objects’                     October 31 - November 3, 2011. Proceedings, ER’11, pages
     trajectories in video data. In IADIS International Conference           13–31. Springer, 2011.
     Applied Computing, pages 11–18, 2007.                              [16] Y.-S. Tak, J. Kim, and E. Hwang. Hierarchical querying
 [3] J.-W. Chang, M.-S. Song, and J.-H. Um. TMN-Tree: New                    scheme of human motions for smart home environment. Eng.
     trajectory index structure for moving objects in spatial                Appl. Artif. Intell., 25(7):1301–1312, Oct. 2012.
     networks. In Computer and Information Technology (CIT),            [17] Y. Tao, D. Papadias, and J. Sun. The TPR*-tree: an
     2010 IEEE 10th International Conference on, pages                       optimized spatio-temporal access method for predictive
     1633–1638. IEEE Computer Society, July 2010.                            queries. In J. C. Freytag, P. C. Lockemann, S. Abiteboul,
 [4] E. D. Demaine, A. López-Ortiz, and J. I. Munro. Adaptive                M. J. Carey, P. G. Selinger, and A. Heuer, editors,
     set intersections, unions, and differences. In Proceedings of           Proceedings of the 29th international conference on Very
     the eleventh annual ACM-SIAM symposium on Discrete                      large data bases - Volume 29, VLDB ’03, pages 790–801.
     algorithms, SODA ’00, pages 743–752, Philadelphia, PA,                  VLDB Endowment, 2003.
     USA, 2000. Society for Industrial and Applied Mathematics.
 [5] S. Dodge, R. Weibel, and A.-K. Lautenschütz. Towards a
     taxonomy of movement patterns. Information Visualization,
     7(3):240–252, June 2008.
 [6] C. Faloutsos, M. Ranganathan, and Y. Manolopoulos. Fast
     subsequence matching in time-series databases. In R. T.
     Snodgrass and M. Winslett, editors, Proceedings of the 1994
     ACM SIGMOD international conference on Management of
     data, SIGMOD ’94, pages 419–429, New York, NY, USA,
     1994. ACM. 472940.
 [7] Y. Fang, J. Cao, J. Wang, Y. Peng, and W. Song.
     HTPR*-Tree: An efficient index for moving objects to
     support predictive query and partial history query. In
     L. Wang, J. Jiang, J. Lu, L. Hong, and B. Liu, editors,
     Web-Age Information Management, volume 7142 of Lecture