=Paper= {{Paper |id=Vol-174/paper-2 |storemode=property |title=Update-efficient Indexing of Moving Objects in Road Networks |pdfUrl=https://ceur-ws.org/Vol-174/paper2.pdf |volume=Vol-174 |dblpUrl=https://dblp.org/rec/conf/stdbm/ChenMGX06 }} ==Update-efficient Indexing of Moving Objects in Road Networks== https://ceur-ws.org/Vol-174/paper2.pdf
    Update-efficient Indexing of Moving Objects in Road
                          Networks

               Jidong Chen            Xiaofeng Meng            Yanyan Guo              Zhen Xiao
                               School of Information, Renmin University of China
                                 {chenjd, xfmeng, guoyy, xiaozhen}@ruc.edu.cn



                     Abstract                              dexes to improve the update performance is an impor-
                                                           tant challenge.
    Recent advances in wireless sensor networks               Current work on reducing the index updates of mov-
    and positioning technologies have boosted              ing objects mainly contains three kinds of approaches.
    new applications that manage moving objects.           First, most efforts [4, 9, 10, 15] focus on the update
    In such applications, a dynamic index is often         optimization of the existing multi-dimensional index
    built to expedite evaluation of spatial queries.       structures especially the adaptation and extension of
    However, development of efficient indexes is a         the R-tree [6]. To avoid the multiple paths search op-
    challenge due to frequent object movement. In          eration in the R-tree during the top-down update, re-
    this paper, we propose a new update-efficient          cent work proposes the bottom-up approach [9, 10] and
    index method for moving objects in road net-           memo-based [15] structure to reduce the updates of
    works. We introduce a dynamic data struc-              the R-tree. Another method [4] exploits the change-
    ture, called adaptive unit, to group neighbor-         tolerant property of the index structure to reduce the
    ing objects with similar movement patterns.            number of updates that cross the MBR boundaries of
    To reduce updates, an adaptive unit captures           R-tree.
    the movement bounds of the objects based                  However, the indexes based on MBRs exhibit high
    on a prediction method, which considers the            concurrency overheads during node splitting, and each
    road-network constraints and stochastic traf-          individual update is still costly. Therefore, some index
    fic behavior. A spatial index (e.g., R-tree) for       methods based on a low-dimensional index structure
    the road network is then built over the adap-          (e.g. B + -tree) are proposed [7, 16], which construct
    tive unit structures. Simulation experiments,          the second category of index methods. They combine
    carried on two different datasets, show that an        the dimension reduction and linearization technique
    adaptive-unit based index is efficient for both        with a single B + -tree to efficiently update the index
    updating and querying performance.                     structure.
                                                              The third kind of approaches use a prediction
Keywords      Spatial-Temporal Databases, Moving           method with a time-parameterized function to reduce
Objects, Index Structure, Road Networks                    the index updates [12, 13, 14]. They describe a mov-
                                                           ing object’s location by a linear function and the index
1   Introduction                                           is updated only when the parameters of the function
Recent advances in wireless sensor networks and po-        change, for example, when the moving object changes
sitioning technologies have enabled a variety of new       its speed or direction. The MBRs of the index vary
applications such as traffic management, fleet manage-     with the time as a function of the enclosed objects.
ment, and location-based services that manage contin-      However, the linear prediction is hard to reflect the
uously changing positions of moving objects [11, 12].      movement in many real application and therefore leads
In such applications, a dynamic index is often built to    to low prediction accuracy and frequent updates.
expedite evaluation of spatial queries. However, exist-       Though these index structures solve the problem
ing dynamic index structures (e.g. B-tree and R-tree)      of index updates to some extent, they are designed
suffer from poor performance due to the large over-        to index objects performing free movement in a two-
head of keeping the index updated with the frequently      dimensional space. We focus on the index update
changing position data. Development of efficient in-       problem in real life environments, where the objects
                                                           move within constrained networks, such as vehicles on
Proceedings of the third Workshop on STDBM                 roads. In such setting, the spatial property of objects’
Seoul, Korea, September 11, 2006                           movement is captured by the network. Therefore, the




                                                       9
spatial location of moving objects can be indexed by       2     Related Work and Underlying Model
means of the road-network index structure. For ex-
                                                           2.1   Related Work
ample, moving objects can be accessed by each road
segment indexed by the R-tree. Since the road net-         There are lots of efforts at reducing the need for index
work seldom change and objects just move from one          updates of moving objects. In summary, they can be
part to the other part of the network, the R-tree in       classified into three categories.
this case remains fixed. Existing index work that han-         First, most work focuses on the update optimiza-
dles network-constrained moving objects [1, 5, 11] is      tion of existing multi-dimensional index structures es-
based on this feature. They separate spatial and tem-      pecially the adaptation and extension of the R-tree [6].
poral components of the moving objects’ trajectories       The top-down update of R-tree is costly since it needs
and index the spatial aspect by the network with a         several paths for searching the right data item con-
R-tree. However, they are mostly concerned with the        sidering the MBR overlaps. In order to reduce the
historical movement and therefore they do not consider     overhead, Kwon et al. [9] develop the Lazy Update R-
the problem of index updates.                              tree, which is updated only when an object moves out
    In this paper, we address the problem of efficient     of the corresponding MBR. With adding a secondary
indexing of moving objects in road networks to sup-        index on the R-tree, it can perform the update oper-
port heavy loads of updates. We exploit the con-           ation in the bottom-up way. Recently, by exploiting
straints of the network and the stochastic behavior of     the change-tolerant property of the index structure,
the real traffic to achieve both high update and query     Cheng et al. [4] present the CTR-tree to maximize
efficiency. We introduce a dynamic data structure,         the opportunity for applying lazy updates and reduce
called adaptive unit (AU for short) to group neigh-        the number of updates that cross MBR boundaries.
boring objects with similar movement patterns in the       [10] extends the main idea of [9] and generalizes the
network. A spatial index (e.g., R-tree) for the road       bottom-up update approach. However, they are not
network is then built over the adaptive units to form      suitable to the case where consecutive changes of ob-
the index scheme for moving objects in road networks.      jects are large. Xiong and Aref [15] present the RUM-
The index scheme optimizes the update performance          tree that processes R-tree updates in a memo-based
for the following reasons: (1) An AU functions as          approach, which eliminates the need to delete the old
a one-dimensional MBR in the TPR-tree [13], while          data item during an index update. Therefore, its up-
it minimizes expanding and overlaps by considering         date performance is stable with respect to the changes
more movement features. (2) The AU captures the            between consecutive updates. In our index structure,
movement bounds of the objects based on a predic-          however, the R-tree remains fixed since it indexes the
tion method, which considers the road-network con-         road network and only the adaptive units are updated.
straints and stochastic traffic behavior. (3) Since the        The second type of methods are based on the dimen-
movement of objects is reduced to occur in one spatial     sion reduction technique [11] and a low-dimensional in-
dimension and attached to the network, the update of       dex [7, 16] (e.g. B + -tree). The B x -tree [7, 16] combine
the index scheme is only restricted to the update of the   the linearization technique with a single B + -tree to ef-
AUs. We have carried out extensive experiments based       ficiently update the index structure. They uses space
on two datasets. The results show that an adaptive-        filling curves and a pre-defined time interval to parti-
unit based index not only improves the efficiency of       tion the representation of the locations of the moving
each individual update but also reduces the number of      objects. This makes the B + -tree capable to index the
updates and is efficient for both updating and querying    two-dimensional spatial locations of moving objects.
performance.                                               Therefore, the cost of individual update of index is
    The main contributions of this paper are:              reduced. However, the B x -tree imposes discrete rep-
                                                           resentation and may not keep the precise values of lo-
  • The introduction of Adaptive Units that optimize       cation and time during the partitioning. For our set-
    for frequent index updates of moving objects in        ting, the two-dimensional spatial locations of moving
    road networks.                                         objects can be reduced to the 1.5 dimensions [8] by the
  • An experimental evaluation and validation of the       road network where objects move.
    efficient update as well as query performance of           The techniques in third category use a prediction
    the proposed index structure.                          method represented as the time-parameterized func-
                                                           tion to reduce the index updates [12, 13, 14]. They
   The rest of the paper is organized as follows. Sec-     store the parameters of the function, e.g. the veloc-
tion 2 surveys related work and introduces underlying      ity and the starting position of an object, instead of
model. Section 3 describes the structure and algo-         the real positions. In this way, they update the in-
rithms of adaptive units for efficient updates. Sec-       dex structure only when the parameters change (for
tion 4 contains algorithm analysis and experimental        example, the speed or the direction of a moving ob-
evaluation. We conclude and propose the future work        ject changes). The Time-Parameterized R-tree (TPR-
in Section 5.                                              tree) [13] and its variants (e.g. TPR*-tree) [12, 14] are




                                                      10
the examples of this type of index structures. They         ing patterns. Specifically, for objects in the same net-
all use a linear prediction model, which relates ob-        work edge, we use a distance threshold and a speed
jects’ positions as a linear function of time.However,      threshold to cluster the adjacent objects with the same
the linear prediction is hard to reflect the movement       direction and similar speed. In comparison, the AU
in many real application especially in traffic networks     has no obvious enlargement because objects in the AU
where vehicles change their velocities frequently. The      move in a cluster.
frequent changes of the object’s velocity will incur re-       We now formally introduce the AU. An AU is a
peated updates of the index structure. Our technique        8-tuple:
also fall into this category and apply an accurate pre-
diction method we proposed in [3] by considering more       AU    = (auID, objSet, upperBound, lowerBound,
transportation features.                                             edgeID, enterTime, exitTime, auInitLen)
   Several methods have been proposed for index-
ing moving objects in spatially constrained networks.       where auID is the identifier of the AU, objSet is a list
Pfoser et al. [11] propose to convert the 3-dimensional     that stores objects belonging to the AU, upperBound
problem into two sub-problems of lower dimensions           and lowerBound are upper and lower bounds of pre-
through certain transformation of the networks and          dicted future trajectory of the AU. The trajectory
the trajectories. Another approach, known as the            bounds will be explained in details in Section 3.3. We
FNR-tree [5], separates spatial and temporal compo-         assume the functions of trajectory bounds as follows:
nents of the trajectories and indexes the time intervals
that each moving object spends on a given network                  upperBound : D(t) = αu + βu · t
link. The MON-tree approach [1] further improves                    lowerBound : D(t) = αl + βl · t
the performance of the FNR-tree by representing each
edge by multiple line segments (i.e. polylines) instead     edgeID denotes the network edge that the AU belongs
of just one line segment. However, they all focus on        to, enterTime and exitTime record the time when the
the historical movement and cannot support frequent         AU enters and leaves the edge and auInitLen repre-
index updates. To the best of our knowledge, there is       sents the initial length of the AU.
no current index method to support efficient updates            In the road network, multiple AUs are associated
of moving objects in road networks.                         with a network edge. Since AUs in the same edge are
                                                            likely to be accessed together during query process-
2.2   Underlying Model
                                                            ing, we store AUs by clustering on their edgeID. That
We use the GCA model we proposed in [3] to model the        is, the AUs in the same edge are stored in the same
network and moving objects. A road network is mod-          disk pages. To access AUs more efficiently, we create
eled as a graph of cellular automata (GCA), where           an in-memory, compact summary structure called the
the nodes of the graph represent road intersections         direct access table for each edge. A direct access ta-
and the edges represent road segments with no inter-        ble stores the summary information of each AU on an
sections. Each edge consists of a cellular automaton        edge (i.e. number of objects, trajectory bounds) and
(CA), which is represented, in a discrete mode, as a        pointers to AU disk pages. Each AU corresponds to
finite sequence of cells.                                   an entry in the direct access table, which has the fol-
   In the GCA, a moving object is represented as a          lowing structure (auID, upperBound, lowerBound,
symbol attached to the cell and it can move several         auPtr, objNum), where auPtr points to a list of AUs
cells ahead at each time unit. Intuitively, the velocity    in disk storage and objNum is the number of objects
is the number of cells an object can traverse during        included in the AU. In order to minimize I/O cost, we
a time unit. The motion of an object is represented         use the direct access table to filter AUs and only access
as some (time, location) information. Generally, such       the disk pages when necessary.
information is treated as a trajectory.                     3.2   The Index Scheme
3     The Adaptive Unit                                     We build a spatial index (e.g., R-tree) for the road net-
                                                            work over the adaptive units to form the index scheme
3.1   Structure and Storage
                                                            for the network-constrained moving objects. The AU
Conceptually, an adaptive unit is similar to a one-         index scheme is a two-level index structure. At the
dimensional MBR in the TPR-tree, that expands with          top level, it consists of a 2D R-tree that indexes spa-
time according to the predicted movement of the ob-         tial information of the road network. On the bottom
jects it contains. However, in the TPR-tree, it is possi-   level, its leaves contain the edges representing road
ble that an MBR may contain objects moving in oppo-         segments included in the corresponding MBR of the
site directions, or objects moving at different speeds.     R-tree and point to the lists of adaptive units. The
As a result, the MBR may expand rapidly, which may          top level R-tree remains fixed during the lifetime of
create large overlaps with other MBRs. The AU avoids        the index scheme (unless there are changes in the net-
this problem by grouping objects having similar mov-        work). The index scheme is developed with the R-tree




                                                       11
                                                                                road                                  road

                                                                                    d                                      d
                                                                                                                                upper bound
               leaf     node                                                            fastest
                                                          R-Tree                        movement

            auID      upperBd                                                                                              d2
                             lowerBd


                                                          Direct Access                                                    d1
                                                                                                   slowest movement                           lower bound
                                                             Table

               objSet      AU          objSet   objSet

               objSet           ...    objSet   objSet   Adaptive Units          cars                          t      AU                 tq                 t
               objSet           ...    objSet   objSet

                                                                                 (a) Simulated trajectories            (b) Trajectory bounds
      Figure 1: Structure of the AU index scheme
                                                                                         Figure 2: The simulation-based prediction

in this paper, but any existing spatial index can also                         trajectories of objects by setting Pd (i) to values that
be used without changes.                                                       model different traffic conditions. In this setting, Pd (i)
   Figure 1 shows the structure of the AU index                                is treated as a random variable to reflect the stochas-
scheme, which also includes the direct access table.                           tic, dynamic nature of traffic system. By giving Pd (i)
The R-tree and adaptive units are stored in the disk.                          two values (e.g. 0 and 0.1 in our experiments), we can
However, the direct access table is in the main memory                         derive two future trajectories, which describe, respec-
since it only keeps the summary information of adap-                           tively, the fastest and slowest movements of objects.
tive units. In the index scheme, each leaf node of the                         Finally, we translate the two regression lines, until all
R-tree can be associated with its direct access table by                       estimated future positions fall within to obtain the pre-
its edgeID and the direct access table can connect to                          dicted trajectory bounds. The SP method is shown in
corresponding adaptive units by auPtr in its entries.                          Figure 2. Through the SP method, we obtain two pre-
Therefore, we only need to update the direct access                            dicted future trajectory bounds of objects. We apply
table when AUs change, which greatly enhances the                              this technique to the AU - a set of moving objects that
performance of the index scheme.                                               have similar movement and are treated as one object.
3.3   Optimizing for Updates                                                      The future trajectory bounds are predicted as soon
                                                                               as AU is created. The trajectory bounds will not be
An important feature of the AU is that it groups ob-                           changed along the edge that the AU moves on until
jects having similar moving patterns. The AU is capa-                          the objects in the AU move to another edge in the net-
ble of dynamically adapting itself to cover the move-                          work. It is evident that the range of predicted bounds
ment of the objects it contains. By tightly bounding                           of AU will become wider with the time, which leads to
enclosed moving objects for some time in the future,                           lower accuracy of future trajectory prediction. How-
the AU alleviates the update problem of MBR rapid                              ever, if we issue another prediction when the predicted
expanding and overlaps in the TPR-tree like methods.                           bounds are not accurate any more, the costs of sim-
   For reducing the updates further, the AU captures                           ulation and regression are high. Considering that the
the movement bounds of the objects based on a predic-                          movement of objects along one network edge is sta-
tion method we proposed in [3], which considers the                            ble, we can assume the same trends of the trajectory
road-network constraints and stochastic traffic behav-                         bounds and adjust only the initial locations when the
ior. Since objects in an AU have similar movement, we                          prediction is not accurate. Specifically, when the pre-
then predict the movement of the AU, as if it were a                           dicted position exceeds its actual position above the
single moving object. In the following, we describe the                        predefined accuracy, the AU treats its actual locations
application and adaptation of the prediction method                            (the locations of the boundary objects) at that time
to the AU.                                                                     as the initial locations of the two trajectory bounds
   We use GCAs not only to model road networks,                                and follow the same movement vector (e.g. slope of
but also to simulate the movements of moving objects                           the bounds) as the previous bounds to provide more
by the transitions of the GCA. Based on the GCA,                               accurate predicted trajectory bounds. In this way, the
the Simulation-based Prediction (SP) method to an-                             predicted trajectory bounds can be effectively revised
ticipate future trajectories of moving objects is pro-                         with few costs. Figure 2(b) shows the adaptation of
posed. The SP method treats the objects’ simulated                             the trajectory bounds. tq is the time slice when actual
results as their predicted positions. Then, by the lin-                        locations of boundary objects in the AU exceeds the
ear regression, a compact and simple linear function                           predicted bounds of the AU above precision threshold
that reflects future movement of a moving object can                           and the d1 ,d2 are the actual locations of the first object
be obtained. To refine the accuracy, based on differ-                          and last object respectively in the AU. The trajectory
ent assumptions on the traffic conditions we simulate                          bounds are revised according to the actual locations
two future trajectories to obtain its predicted move-                          and the original bounds’ slopes. Therefore, without
ment function. Specifically, we extend the CA model                            executing more prediction, the prediction accuracy of
used in traffic flow simulation for predicting the future                      the objects’ future trajectories can be kept high.




                                                                          12
   Since the R-Tree indexes the road network, it re-       the AU that the object belongs to unless its position
mains fixed, and the update of the AU index scheme         exceeds the bounds of the AU. In that case, we execute
restricts to the update of adaptive units. Specifically,   the same updates as those when it moves to another
an AU is usually created at the start of one edge and      edge or only revise the predicted trajectory bounds of
dropped at the end of the edge. Since the AU is a          the AU. Factually, we find, from the experiment eval-
one-dimensional structure, it performs update opera-       uation, that the chances that objects move beyond the
tions much more efficiently than the two-dimensional       trajectory bounds of its AU on an edge are very slim.
indexes. We will describe these operations in details.     The algorithm 1 shows the update algorithm of AUs.
3.4   Update Operations
                                                            Algorithm 1: Update(objID, position, velocity, edgeID)
The update of an AU can be of the following form:
                                                             input : objID is the object identifier, position and
creating an AU, dropping an AU, adding objects to an                   velocity are its position and velocity,
AU and removing objects from an AU.                                    edgeID is the edge identifier where the
Creating an AU                                                         object lies
                                                             Find AU where objID is included before update;
To create an AU, we first compose the objSet – a list of     if AU.edgeID 6= edgeID or (position <
objects traveling in the same direction with similar ve-     AU.lowerBound or position > AU.upperBound)
locities, and in close-by locations. We then predict the     then
future trajectories of the AU by simulation and com-             // The object moves to a new edge or
pute its trajectory bounds. In fact, we treat the AU                 exceeds bounds of its original AU
as one moving object (the object closest to the center           Find the nearest AU AU1 for objID on edgeID;
of the AU) and predict its future trajectory bounds by           if GetNum(AU1 .objSet) < M AXOBJN U M and
predicting this object. The prediction starts when the           ObjectFitAU(objID, position, velocity, AU1 )
AU is created and ends at the end the edge. Finally,             then
                                                                     InsertObject(objID, AU1 .auID, AU1 .edgeID);
we write the created AU to the disk page and insert
                                                                 else AU2 ← CreateAU(objID,edgeID);
the AU entry to its summary structure.                           if GetNum(AU.objSet) > 1 then
Dropping an AU                                                       DeleteObject(objID, AU.auID, AU.edgeID);
                                                                 else DropAU(AU.edgeID, AU.auID);
When objects in an AU move out of the edge, they             end
may change direction independently. So we need to
drop this AU and create new AUs in adjacent edges to
regroup the objects. When the front of an AU touches          In summary, updating the AU-based index is easier
the end of the edge, some objects in the AU may start      than updating the TPR-tree. It never invoke any com-
moving out of the edge. However, the AU cannot be          plex node splitting and merging. Moreover, thanks to
dropped because a query may occur at that time. Only       the similar movement features of objects in an AU and
after the last object in the AU enters another edge and    the accurate prediction of the SP method, the objects
joins another AU, can the AU be dropped. Dropping          are seldom removed or added from their AU on an
an AU is simple. Through its entry in direct access        edge, which reduces the number of index updates.
table, we find the AU and delete it.                       3.5   Query Algorithm
Adding and removing objects from an AU                     Query processing in the AU index scheme is straight-
When an object leaves an AU, we remove this object         forward. Given a query, we use the top level R-tree
from the AU and find another AU in the neighborhood        to get the edges involved and then scan the direct
to check if the object can fit that AU. If it can, the     access tables of the edges. With the upperBound
object will be inserted into that AU, otherwise, a new     and the lowerBound in the direct access table, we
AU is created for this object. Specifically, when adding   can easily find AU entries that intersect the query,
an object into an AU, we first find the direct access      and then visit the disk pages to get more informa-
table of the edge that the object lies and, by its AU      tion about these AUs. For space limitation, we just
entry in the table, access the AU disk storage. Finally,   take window range query for example. Given a range
we insert into the objects list of the AU and update       with (X1 , Y1 , X2 , Y2 ), we first perform a spatial range
the AU entry in the direct access table. Removing an       search in the top level R-Tree to locate the edges (e.g.
object from an AU has the similar process.                 e1 , e2 , e3 , . . .). For each selected edge ei , we trans-
   Therefore, when updating an object in the AU index      form the original search (X1 , Y1 , X2 , Y2 ) to a 1D search
scheme, we first determine whether the object is leav-     range (S1 , S2 ) (S1 ≤ S2 ), where S1 and S2 are the rel-
ing the edge and entering another one. If it is moving     ative distances from the start vertex along the edge ei .
to another edge, we delete it from the old AU (if it is    In the case of multiple intersecting edges, we can di-
the last object in the old AU, the AU is also dropped)     vide the query range into several sub-ranges by edges
and insert it into the nearest AU or create a new AU       and apply the transformation method to each edge.
in the edge it is entering. Otherwise, we do not update    The method is also applicable to the various modes




                                                      13
that the query and edges intersect. Here, we only il-
lustrate the case when the query window range only                    Table 1: Parameters and their settings
                                                                 Parameters                        Settings
intersects one edge and compute its relative distances             Page size                          4K
S1 and S2 . It can be easily extended to other cases.            Node capacity                        100
Suppose Xstart , Ystart , Xend , Yend are the start vertex     Numbers of queries                     200
coordinates and the end vertex coordinates of the edge        Numbers of mo(cars)         10K, ... , 50K, ... , 100K
                                                              Numbers of updates          100K, ... , 500K, ... , 1M
ei . According to Thales Theorem about similar trian-          Dataset Generator    CA Simulator, Network-based Generator
gles, we obtain S1 and S2 as follows:
             p                                                  We implemented both the AU index scheme and
      r =       (Xstart − Xend )2 + (Ystart − Yend )2        the TPR-tree in Java and carried out experiments on
              X1 − Xstart                                    a Pentium 4, 2.4 GHz PC with 512MB RAM running
     S1 =                     r
             Xend − Xstart                                   Windows XP. To improve the performance of the index
              Y1 − Ystart                                    structure, we employed a LRU buffer of the same size
     S2 =                   r                                as the one used in the TPR-tree [13]. We summarize
             Yend − Ystart
                                                             workload parameters in Table 1, where values in bold
   The transformed query (S1 , S2 ) is then executed in      are default values.
each of the AUs in the direct access table of the cor-
                                                             4.2   Update Cost
responding edge ei . By the trajectory bounds of the
AU, we can determine whether the transformed query           We compare the cost of index update for the AU index
intersects the AU, thus filtering the unnecessary AUs        and the TPR-tree in terms of the average individual
quickly. Finally, we access the selected AUs in disk         update cost, update frequency and total update cost.
storage and return the objects satisfying the query          Individual Update Cost
window. In summary, the query processing is efficient
due to the grouping of similar objects in AUs and the        We study the individual update performance of the in-
dimensionality reduction of the query.                       dex while varying the number of moving objects and
                                                             updates. Figure 3 shows the average individual update
4     Performance Analysis                                   cost when increasing the data size from 10K to 100K.
We evaluate the AU index scheme (denoted as “AU              Figure 4 shows how the performance varies over time.
index”) by comparing it with the TPR-tree and the            Clearly, updating the TPR-tree tends to be costly,
AU index scheme when the direct access table is not          and the problem is exacerbated when the data size in-
used (denoted as “AU index without DT”). We mea-             creases. In each case of different data size and different
sure their their update performance with the individ-        number of updates, the AU index has much lower up-
ual update, update frequency and total update costs          date cost than the TPR-tree. The main reason can
and their query performance.                                 be explained as follows. Each update of the TPR-tree
                                                             involves the search of an old entry and a new entry, as
4.1   Datasets
                                                             well as the modification of the index structure (node
We use two datasets for our experiments. The first           splitting, merging, and the propagating of changes up-
is generated by the CA simulator, and the second by          wards). The cost increases with larger data size due
the Brinkhoff’s Network-based Generator [2]. We use          to more overlaps among MBRs. The changes of index
the CA traffic simulator to generate a given number of       structure with the increase of data updates also affect
objects in a uniform network of size 10000×10000 con-        the performance of the TPR-tree. However, the AU
sisting of 500 edges. Each object has its route and is       index has better performance because its update only
initially placed at a random position on its route. The      restricts to the AU’s update and as a one-dimensional
initial velocities of the objects follow a uniform random    access structure, the AU has few overlaps and incurs
distribution in the range [0, 30]. The location and ve-      no cost associated with node splitting and the propa-
locity of every object is updated at each time-stamp.        gation of MBR updates.
The Brinkhoff’s Network-based Generator is used as a            The direct access table of the AU index has a signif-
popular benchmark in many related work. The gen-             icant contribution in improving update performance.
erator takes a map of a real road network as input           This is because the search of the specific AU is accel-
(our experiment is based on the map of Oldenburg             erated by the in-memory structure.
including 7035 edges). The positions of the objects
are given in two dimensional X-Y coordinates. We             Update Frequency
transform them to the form of (edgeid, pos), where           Frequent updates of moving objects (a.k.a. data up-
edgeid denotes the edge identifier and pos denotes           dates) may lead to frequent updates of index. When
the object relative position on the edge. The generator      an object’s position exceeds the MBR or AU, the index
places a given number of objects at random positions         needs to be updated to delete the object from the old
on the road network, and updates their locations at          MBR or AU and insert it to another one. In this ex-
each time-stamp.                                             periment, we measure the index update rate, which is




                                                        14
                             11                                                                      11                                                                                                                                                              4
                                                     AU-index                                                                   AU-index                                           14                            AU-index                                                                        AU-index
                             10            AU-index without DT                                       10               AU-index without DT                                                              AU-index without DT                                          3.5                AU-index without DT




                                                                                                                                                      Rate of index updates (%)




                                                                                                                                                                                                                                        Rate of index updates (%)
                                                     TPR-tree                                                                   TPR-tree                                           12                            TPR-tree                                                                        TPR-tree
                             9                                                                       9                                                                                                                                                               3
 Update I/Os




                                                                         Update I/Os
                             8                                                                       8                                                                             10                                                                               2.5
                             7                                                                       7                                                                             8                                                                                 2
                             6                                                                       6                                                                             6                                                                                1.5
                             5                                                                       5                                                                                                                                                               1
                                                                                                                                                                                   4
                             4                                                                       4                                                                                                                                                              0.5
                                                                                                                                                                                   2
                             3                                                                       3                                                                                                                                                               0
                             10K     30K     50K        70K       90K                                10K         30K     50K        70K       90K                                  100K          300K    500K       700K         900K                                100K        300K    500K       700K       900K
                                       Number of moving objects                                                    Number of moving objects                                                         Number of data updates                                                          Number of data updates

                                    (a) Brinkhoff                                                               (b) CA                                                                      (a) Brinkhoff                                                                       (b) CA


Figure 3: Individual Update Cost with Different Datasize                                                                                                                                Figure 6: Index Update Frequency over Time

                                                                                                                                                                                   100000                                                                           25000
                             14                      AU-index                                        14                         AU-index                                                                             AU-index                                                                      AU-index
                                           AU-index without DT                                                        AU-index without DT                                           90000                  AU-index without DT                                                           AU-index without DT
                             12                      TPR-tree                                        12                         TPR-tree                                                                             TPR-tree                                                                      TPR-tree




                                                                                                                                                      Total index update I/Os




                                                                                                                                                                                                                                        Total index update I/Os
                                                                                                                                                                                    80000                                                                           20000
                                                                                                                                                                                    70000
 Update I/Os




                                                                         Update I/Os




                             10                                                                      10
                                                                                                                                                                                    60000                                                                           15000
                             8                                                                       8
                                                                                                                                                                                    50000
                             6                                                                       6                                                                              40000                                                                           10000
                                                                                                                                                                                    30000
                             4                                                                       4
                                                                                                                                                                                    20000                                                                           5000
                             2                                                                       2                                                                              10000
                             100K    300K    500K       700K      900K                               100K       300K    500K       700K       900K                                        0                                                                               0
                                                                                                                                                                                          10K        30K     50K      70K      90K                                        10K      30K     50K      70K        90K
                                        Number of data updates                                                     Number of data updates
                                                                                                                                                                                                      Number of moving objects                                                      Number of moving objects
                                    (a) Brinkhoff                                                               (b) CA
                                                                                                                                                                                            (a) Brinkhoff                                                                       (b) CA

                                  Figure 4: Individual Update Cost over Time                                                                                                      Figure 7: Total Update Cost with Different Datasize
the ratio between number of index updates and num-
                                                                                                                                                        For each data size, the update costs of the two in-
ber of data updates, for every 100K data updates and
                                                                                                                                                     dexes in the Brinkhoff’s dataset are both higher than
different data size. Figure 5 and 6 show that the up-
                                                                                                                                                     those in the CA dataset due to the higher complex-
date rate of the TPR-tree is nearly 4 to 5 times more
                                                                                                                                                     ity of road network and skewed spatial distribution of
than that of the AU index. The index update rate
                                                                                                                                                     objects in the Brinkhoff’s dataset.
depends on the prediction method. In the AU index,
the future positions of the object are predicted more                                                                                                4.3                                Query Cost
accurately, so the object is likely to remain in its AU,
                                                                                                                                                     We study the window range query performance of the
which leads to fewer index updates.
                                                                                                                                                     TPR-tree and the AU index with different update set-
Total Update Costs                                                                                                                                   tings. We increase the number of updates from 100K
The total update costs depend on the update fre-                                                                                                     to 1M to examine how query performance is affected.
quency and the average individual update cost, and                                                                                                   We issued 200 range queries for every 100K updates
it can reflect the index update performance more ac-                                                                                                 in a 1M dataset. Figure 9 shows that the cost of the
curately. From both Figure 7 and 8, we can see that                                                                                                  TPR-tree increases much faster as the number of up-
although the AU index has to deal with the creation                                                                                                  dates increases. The cost of the AU index is consider-
and dropping of AUs, the TPR-tree incurs much higher                                                                                                 ably lower and is less sensitive to the number of up-
update costs than the AU index and its performance                                                                                                   dates. This is because the adaptive units in the AU
deteriorates dramatically as data size increases. This                                                                                               index have much less overlaps than the MBRs in the
is mainly due to the inaccuracy of the linear prediction                                                                                             TPR-tree, and the overlaps to a large extent determine
model and the complex reconstruction of the TPR-tree                                                                                                 the range query cost. Besides, as objects move apart,
(e.g. splitting and merging).                                                                                                                        the amount of dead space in the TPR-tree increases,

                                                                                                                                                                                                                                                                    30000
                                                                                                          4                                                                        140000                            AU-index                                                                      AU-index
                             14                      AU-index                                                                     AU-index                                                                 AU-index without DT                                                           AU-index without DT
                                           AU-index without DT                                       3.5                AU-index without DT                                                                          TPR-tree                                       25000                          TPR-tree
 Rate of index updates (%)




                                                                         Rate of index updates (%)




                                                                                                                                                                                   120000
                                                                                                                                                      Total index update I/Os




                                                                                                                                                                                                                                        Total index update I/Os




                             12                      TPR-tree                                                                     TPR-tree
                                                                                                          3
                                                                                                                                                                                   100000                                                                           20000
                             10                                                                      2.5
                                                                                                                                                                                    80000
                             8                                                                            2                                                                                                                                                         15000
                                                                                                                                                                                    60000
                             6                                                                       1.5                                                                                                                                                            10000
                                                                                                          1
                                                                                                                                                                                    40000
                             4
                                                                                                                                                                                                                                                                    5000
                                                                                                     0.5                                                                            20000
                             2
                                                                                                          0                                                                               0                                                                               0
                              10K    30K     50K        70K       90K                                     10K    30K      50K       70K       90K                                         100K      300K   500K       700K       900K                                     100K    300K    500K       700K      900K
                                       Number of moving objects                                                    Number of moving objects                                                           Number of data updates                                                         Number of data updates

                                    (a) Brinkhoff                                                               (b) CA                                                                      (a) Brinkhoff                                                                       (b) CA


Figure 5: Index Update Frequency with Different Datasize                                                                                                                                    Figure 8: Total Update Cost over Time




                                                                                                                                              15
which makes false hits more likely. Also, updates lead                                                                           Program for New Century Excellent Talents in Uni-
to the expanding and overlaps of MBRs, which further                                                                             versity (NCET); Program for Creative PhD Thesis in
deteriorate the performance of the TPR-tree. For the                                                                             University. The authors would like to thank Jianliang
AU index, the increase of the updates hardly affect the                                                                          Xu and Haibo Hu from Hong Kong Baptist Univer-
total number of AUs, and the chances of overlaps of                                                                              sity and Stéphane Grumbach from CNRS, LIAMA in
different AUs are very slim.                                                                                                     China for many helpful advice and assistance.
   We also study the query performance while varying                                                                             References
the number of moving objects and query window size.
For the space limitation, we do not report the exper-                                                                            [1] V. T. Almeida, R. H. Güting. Indexing the Trajec-
imental results. Also, in each case, the AU index has                                                                                tories of Moving Objects in Networks (Extended
                                                                                                                                     Abstract). In SSDBM, 2004, 115-118.
lower query cost than the TPR-tree and scales well.
                                                                                                                                 [2] T. Brinkhof. A framework for generating network-
                    1200
                                               AU-index
                                                                                     100
                                                                                                              AU-index
                                                                                                                                     based moving objects. In GeoInformatica, 6(2),
                    1000
                                     AU-index without DT
                                               TPR-tree
                                                                                     90             AU-index without DT
                                                                                                              TPR-tree
                                                                                                                                     2002, 153-180.
 Range query I/Os




                                                                  Range query I/Os




                                                                                     80
                     800
                                                                                     70
                                                                                                                                 [3] J. Chen, X. Meng, Y. Guo, S. Grumbach, H.
                     600
                                                                                     60
                                                                                                                                     Sun. Modeling and Predicting Future Trajectories
                     400
                                                                                     50
                                                                                                                                     of Moving Objects in a Constrained Network. In
                     200                                                             40
                                                                                                                                     MDM, 2006, 156 (MLASN workshop).
                      0
                      100K     300K    500K       700K     900K
                                                                                     30
                                                                                      100K    300K    500K       700K     900K   [4] R. Cheng, Y. Xia, S. Prabhakar, R. Shah. Change
                                  Number of data updates                                         Number of data updates
                                                                                                                                     Tolerant Indexing for Constantly Evolving Data.
                             (a) Brinkhoff                                                   (b) CA                                  In ICDE, 2005, 391-402.
                                                                                                                                 [5] E. Frentzos. Indexing objects moving on Fixed net-
                    Figure 9: Effect of Updates on Query Performance                                                                 works. In SSTD, 2003, 289-305.
5                    Conclusions and Future Work                                                                                 [6] A. Guttman. R-trees: A Dynamic Index Structure
                                                                                                                                     for Spatial Searching. In SIGMOD, 1984, 47-57.
Indexing objects moving in a constrained network es-
pecially the road network is a topic of great practical                                                                          [7] C. S. Jensen, D. Lin, B. C. Ooi. Query and Up-
importance. We focus on the index update issue for                                                                                   date Efficient B+-Tree Based Indexing of Moving
the current positions of network-constrained moving                                                                                  Objects. In VLDB, 2004, 768-779.
objects. We introduce a new access structure, adap-                                                                              [8] G. Kollios, D. Gunopulos, V. J. Tsotras. On index-
tive unit that exploits as much as possible the charac-                                                                              ing mobile objects. In PODS, 1999, 261-272.
teristics of the movements of objects. The updates of
the structure are minimized by an accurate prediction                                                                            [9] D. Kwon, S. J. Lee, S. Lee. Indexing the current
method which produces two trajectory bounds based                                                                                    positions of moving objects using the lazy update
                                                                                                                                     R-tree. In MDM, 2002, 113-120.
on different assumptions on the traffic conditions. The
efficiency of the structure also results from the possi-                                                                         [10] M. L. Lee, W. Hsu, C. S. Jensen, B. Cui, K. L.
ble reduction of dimensionality of the trajectory data                                                                               Teo. Supporting Frequent Updates in R-Trees: A
to be indexed. Our experimental results performed                                                                                    Bottom-Up Approach. In VLDB, 2003, 608-619.
on two datasets show that the efficiency of the index                                                                            [11] D. Pfoser, C. S. Jensen. Indexing of network con-
structure is one order of magnitude higher than the                                                                                  strained moving objects. In ACM-GIS, 2003, 25-32.
TPR-tree.
    In the future, we will compare the update perfor-                                                                            [12] S. Saltenis, C. S. Jensen. Indexing of Moving Ob-
                                                                                                                                     jects for Location-Based Service. In ICDE, 2002,
mance with the work of the R-tree-based updating op-                                                                                 463-472.
timization such as RUM-tree [15] and CTR-tree [4].
On the other hand, since the adaptive units contain                                                                              [13] S. Saltenis, C. S. Jensen, S. T. Leutenegger, M.
the predicted future trajectories of moving objects,                                                                                 A. Lopez. Indexing the Positions of Continuously
                                                                                                                                     Moving Objects. In SIGMOD, 2000, 331-342.
the predictive query algorithms can be developed nat-
urally based on the adaptive unit-based index. Fur-                                                                              [14] Y. Tao, D. Papadias, J. Sun. The TPR*-Tree: An
thermore, we will extend the query algorithms to sup-                                                                                Optimized Spatiotemporal Access Method for Pre-
port the KNN query and continuous query for moving                                                                                   dictive Queries. In VLDB, 2003, 790-801.
objects in the road network.                                                                                                     [15] X. Xiong, W. G. Aref. R-trees with Update
                                                                                                                                     Memos. In ICDE, 2006, 22.
Acknowledgments
This research was partially supported by the grants                                                                              [16] M. L. Yiu, Y. Tao, N. Mamoulis. The B dual−T ree :
                                                                                                                                     Indexing Moving Objects by Space-Filling Curves
from the Natural Science Foundation of China under                                                                                   in the Dual Space. To appear in Very Large Data
grant number 60573091, 60273018; the Key Project of                                                                                  Base Journal, 2006.
Ministry of Education of China under Grant No.03044;




                                                                                                                          16