Vertical Indexing for Moving Objects in Multifloor Environments

. The indexing and tracking of objects moving in indoor spaces has increasingly become an important area of research, which presents a fundamentally diﬀerent challenge. There are two main reasons for why indoor should be treated as cellular space. Firstly, an indoor space has entities, such as rooms and walls, that constrain the movement of the moving objects. Secondly, the relevant notion of locations of an object is cell based rather than an exact Euclidean coordinate. As a solution, in our earlier works, we proposed a cell-based indexing structure, called the C-tree, for indexing objects moving in indoor space. In this paper, we extend the C-tree to solve another interesting problem. It can be observed that many indoor spaces (such as shopping centers) contain wings/sections. For such a space, there are queries for which the wing/section location of an object, rather than the cellular location, is the relevant answer (e.g., “the object is in the east wing”). In this paper, we propose a new index structure, called the GMI-tree (“GMI” stands for “Graph-based Multidimensional Index”). The GMI-tree is based on two notions of distance, or equivalently, two notions of adjacency: one represents horizontal adjacency and the other represents vertical adjacency.

In addition, indoor environments are rapidly becoming larger and more complex.For example, the Beijing subway is a rapid transit rail networks with 227 stations and passengers numbering in excess of 7 million daily.Consequently, the positioning and monitoring of mobile objects indoors on different floors have become an essential research field with many applications for the location of mobile objects, indoor multifloor wayfinding, and security [10][11][12][13][14].
Until now, a great deal of research has been devoted to the indexing, querying, and tracking of objects moving in outdoor spaces.Unfortunately, such works often cannot be applied to objects moving in indoor spaces [15].Indoor spaces contain entities such as walls and doors which play an important role in controlling and restricting the movement of an object in the environment.Also, the cells (e.g., rooms) which can contain objects are entities of primary interest in indexing and querying.For example, a query may be performed to locate object O 5 ; in an indoor space, the logical answer is the room/cell in which O 5 is residing (e.g., room/cell 313).In this case, the exact locations of the moving objects, in terms of the numerical values of their coordinates, are not important.at is, indoor space is not to be treated as Euclidean space or as a spatial road network.It is also relevant to note that indoor spaces are not compatible with GPS tracking because of the inaccuracy of GPS systems in indoor environments [8,[16][17][18].Given these factors, the notion of position to be used for indoors is based on the notion of cell-based space (or cellular space).Consequently, the current moving object researches that are based on metric distribution cannot be applied to an indoor situation [19][20][21][22][23].
In light of the starkly different nature of indoor space, compared to outdoor space, a fundamental challenge is how to build a cell-based index that can efficiently serve the purpose of querying and tracking of objects moving in indoor spaces.From a conceptual viewpoint, an indoor space can be regarded as a graph which consists of nodes (representing cells and rooms) and edges (representing connections between cells such as doors and stairways).Based on this model of indoor space, we propose a method for constructing the cell-based index, which is called the C-tree ("C" for "cell").e work has been reported in [24].
e method for constructing the C-tree, together with associated concepts, will be described in Section 3.
In addition to our proposed solution to the fundamental problem described above, the C-tree can also be extended to provide a solution to another problem, which is the subject matter of this paper.Many queries can be raised in multi oor buildings which can be considered as multioor queries regardless of the oor.erefore, some queries can be raised such as "Where is object O 3 ?";however, the exact location (in terms of cell) of the object may not be important at all, whereas the expected answer may be "north section/wing."Moreover, queries regarding the objects nearest to a certain lift can be considered as RNN queries in multi oor environments (detail with examples in Section 3).
ese types of queries raise the question whether grouping the moving objects vertically in addition to the traditional grouping (horizontally) can achieve e ciency of the indexing and querying processing.e challenge now is how to construct an index that is based on the primary location concept of cells while taking into account the secondary location concept of wing/section.Or, put simply, how can we build an index that can e ciently support queries regarding cells, but at the same time can support the wing queries and the multi oor RNN queries and pool queries?
As a solution, we proposed a mobile objects index structure called the GMI-tree ("GMI" stands for "Graphbased Multidimensional Index"), in which we extend the C-tree approach to account for more than one concept of adjacency (in the same or nearby cell and in the same wing/section).If the index structure is based solely on the cell-based distance (as treated in the previous section), then it will require many veri cation steps in order to reach the targeted answer (in case of wing or multi oor RNN queries) (see Figure 1).
is is obvious since, if the moving objects are grouped close to each other according to cell-based distance, then the index structures will need to check all the descending nodes on each oor individually, thereby incurring high access costs.In addition, it will cause many crossover nodes between the indoor areas of a building.at is, nodes might cross a wing to another in order to group the moving objects as in Figure 1, whereas in Figure 2 the objects are grouped in each wing without any crossover.
We call the new index "multidimensional" because, as will be seen in Section 4, our solution is based on two types of links: the usual "horizontal" links between the cells connected by doors (called the primary links) and the newly introduced "vertical" links which involve cells that are directly above or below one another (called the secondary links).
Our major contributions are as follows: (i) We propose a model for representing indoor spaces.
(ii) Based on that model, we propose the C-tree as a fundamental indexing method for moving objects in indoor spaces.(iii) We carry out experiments to thoroughly evaluate the C-tree approach.(iv) We extend the basic indoor space model for multidimensional grouping (e.g., based on cells and wings) and identify typical situations where such a model can be usefully applied.(v) We develop a mobile object index structure for multidimensional grouping, the GMI-tree.(vi) Under a simulation environment, we conduct experiments in order to evaluate the proposed index structure of the GMI-tree by studying the costs of construction and insertion, and query performances.Mobile Information Systems e rest of the paper is organized as follows.Section 2 presents works related to the indexing of moving objects.Section 3 describes and illustrates the basic method for indexing objects moving in indoor spaces: the C-tree.Section 4 presents the structure and construction of the GMI-Tree, our proposed solution for indexing objects moving in indoor spaces which involves multidimensional grouping.Section 5 presents the results of a performance evaluation of the proposed GMI-tree.Section 6 concludes the paper and suggests possible directions for future work.

Related Work
As mentioned above, since the development of indoor positioning systems, the importance of indexing and querying mobile objects in indoor environments has become more signi cant.A number of works have been published in this area, although to the best of our knowledge, these are few in number.
e earliest paper on this topic is [7].ey proposed two types of index trees: RTR-tree and TP2R-tree.Both are based on the positions of RFID readers that are installed in the indoor environments.e RTR-tree is based on the R-tree method of node organization.e RTR-tree includes the form (MBR and recordID), where MBR is identi ed by recordID.However, the trajectories are treated as line segments in the indoor space (see Figure 3).e insertion of new index entries into an RTR-tree is carried out similar to the R-tree; however, the calculation of the MBR area will be based on the RFID readers, where the calculation of the area of an MBR in the RTR-tree is Area (readerID max -readerID min ) * (t≺ t≻) [7].In order to deal with a range query, the search will be conducted in the same way as for the R-tree; however, instead of searching on Euclidean space, the search will be done on a set of RFID readers.
On the other hand, the TP2R-tree changes the trajectories of data into a set of points in the indoor space which is di erent from the RTR-tree.e TP2R-tree can obtain fewer node accesses since it handles the case over ow nodes by the time extents.Here, the leaf node in the TP2R-tree includes the form (MBR, Δt, and recordID), where Δt is a time parameter that determines the duration of the continuous reading by the same reader.Note that the TP2R-tree has a better node organization than the RTR-tree does.A TP2Rtree is illustrated in Figure 4.
In [25], Lu et al. proposed a distance-aware indoor space structure which integrates indoor space distances.
is structure provides an algorithm for calculating the indoor space distances.Indoor space rooms are connected by doors; therefore, a door connects two adjacent rooms (partitions).is distance-aware model proposed topology information mappings which basically map the indoor oor partitions and doors.Here, there are two concepts: rst, D2P(D2Pdi) which can be unidirectional and bidirectional, if |D2P(di)| 1 is considered as unidirectional, whereas |D2P(di)| 2 is considered as bidirectional.
In our view, the three methods make some use of the characteristics of indoor space and associated tracking technologies.However, there are important characteristics that are not taken into account.An indoor space has rooms, doors, walls, corridors, staircase, oors, etc.At least at a high level of abstraction, it consists of a set of cells (rooms, corridors, etc.) and connections between them (doors and staircases).Our idea is to build index trees that are based on these essential characteristics.erefore, we proposed the C-tree which is e cient for calculating the moving objects in 2D space [24].e C-tree considers the uniqueness of the indoor space which contains partitions, walls, doors, and corridors.e C-tree represents indoor space as a connectivity graph.It also proposes an indexing method that is based on the concepts of cells and connections between cells.We call it a C-tree, "C" for "cell."e basic methodology for the C-tree is to construct the moving objects in the indoor oor as a horizontal grouping, whereby moving objects will be grouped with its adjacent moving objects in the same cell or in adjacent cells.
However, the methodology used for the C-tree can be e cient in some indoor queries such as positioning queries or Knn.However, in the case of some buildings, the importance of the position of mobile objects depends on the structure of the building.In some buildings (such as shopping centers), the positioning queries can be obtained by wings/sections of the building.In these cases, the locationing of any moving objects based on their wing location might be more useful to the user.erefore, we proposed the GMI-tree in order to group moving objects both horizontally and vertically.Hence, we have a multidimensional Figure 3: Example of the RTR-tree.Mobile Information Systems connectivity graph which considers the moving objects construction in a multidimensional way.Note that the concepts and techniques for C-Tree will be essential for the method/approach which is the subject of this work.erefore, we devote Section 3 below to describe the method applied for the construction of the C-tree.

Basic Method for Indexing Object Moving in Indoor Space
In this section, we describe and illustrate our proposed method for indexing objects moving in indoor spaces.e outcome of the method is the C-tree, the indexing structure.
Taking an example of an indoor space, we show (i) how to convert the given indoor space into a connectivity graph; (ii) how to derive the connectivity tree from the connectivity graph; (iii) how to construct the C-tree.

Connectivity Graph.
Consider the indoor space (a building) shown in Figure 5.An indoor space typically contains elements such as rooms, doors, corridors, oors, stairs, elevators, and pathways between buildings.
Our rst step is to map the domain concepts (such as room, door, etc.) into the modeling concepts of cells and connections.e way to perform the mapping is summarized in Table 1.e result of the mapping is a connectivity graph, which represents the given indoor space (see Figure 6).More speci cally, the graph is an undirected graph of cells (nodes) and edges (connections), which, in addition, is a connected graph (i.e., there is a path between every pair of nodes).

Connectivity Tree.
Given a connectivity graph representing an indoor space, the next step is to construct the connectivity tree, which is done as follows: (1) First we select one cell as the default cell of the connectivity graph.For our example, we choose cell C 1 in Figure 6.(2) We then construct a spanning tree by performing a breadth-rst search on the connectivity graph, starting from the default cell.(3) We then order the siblings (nodes at the same level) of the spanning tree by the number of descendants.ose with more descendants are said to be higher.For siblings with the same number of descendants, we select an arbitrary order.In this way, all the nodes in the trees are ordered.
We refer to the tree, thus ordered, as the connectivity tree.
Example: for the indoor connectivity in Figure 6, we get the connectivity tree shown in Figure 7. C 1 is on level 1: it is the highest node according to our de nition.On level 2, we have cells C 12 , C 17 , C 2 , and C 7 .e connectivity tree will be used as the major input for the construction of our C-tree.
Note that the connectivity tree not only represents the connections between the cells but also establishes an ordering of the cells.is ordering of cells is of fundamental importance to the construction of the C-tree.Formally, given a connectivity graph G and a default cell C, a connectivity tree T is a tree such that (1) T is obtained as a spanning tree by performing a breadth-rst search on G from default cell C; (2) there is a function position that maps each cell (node) in the tree to a number such that where level is the level of the cell on the tree and descendants is the number of descendants of the cell.Figure 7 shows an example of the connectivity tree.Before describing the index construction algorithm, we de ne three terms that, though simple in their de nitions, are very useful in showing how the index construction algorithm works.

De nition 1: Given a Connectivity Tree
(a) A node is an expanding node if it is a nonleaf node.
(b) A node is a nonexpanding node if it is a leaf node.
(c) e expanding node of a node C is C itself if C is an expansion node; otherwise, it is the parent of C.
Example: In Figure 7, all the expanding nodes are drawn as broken circles.e rest of the nodes are nonexpanding circles.

C-Tree.
e construction of the C-tree uses as inputs: (a) a connectivity tree and (b) a set of objects which are distributed into the cells.e output is a C-tree, which has nonleaf nodes and leaf nodes, whose structures are described below.
A nonleaf node has two parts: (a) PTRs, which are pointers to the children of the node, and (b) the range of expanding cells, denoted by RC. e RC of a nonleaf node are the highest and the lowest expanding cells in that nonleaf node.Consider, for example, the N2 nonleaf node of the C-tree in Figure 8.Its RC is determined as follows: (  A leaf node of the C-tree has two parts: (a) PTRs, which are pointers to the objects it contains, and (b) HE, which stands for "highest expanding cell."Consider, for example, the N1b leaf node in Figure 8.Its HE is determined as follows: We now illustrate how the C-tree is constructed.Consider, as an example, Figure 9, which shows a number of objects occupying the cells in the indoor space.We will be inserting the objects O 1 , O 2 , O 3 , O 5 , O 4 , O 6 , O 7 , O 8 , and O 9 into the C-tree in that listed order.We also assume that the C-tree is of order 3; that is, each node can have a maximum of three child nodes or objects.
Initially, the C-tree is empty.When inserting objects O 1 and O 2 , the C-tree is as shown in Figure 10(a).It has one node, represented by a rectangle.e object, represented by a circle, is considered to be part of the node.e node has HE (C 12 ).
e insertion of objects O 3 and O 5 requires splitting the node.e splitting is carried out as follows.First, we insert O 3 and O 5 into the root node (conceptually).is causes an over ow: there are more than the maximum of three objects.
e node has to be split.e new objects are grouped together.Our strategy is to group the inserted object with the nearest object.In this case, O 3 and O 5 are the objects nearest to each other since they are in the same cell.With this grouping choice and using the splitting procedure of B+tree, we get the C-tree in Figure 10(b).e insertion of object O 4 , which is in cell C 19 , requires us to move down the tree because the root has two children.
For this purpose, we examine the HEs of the children which are the expanding nodes C 12 and C 17 .e strategy is to go with the nearest expanding node.In this example, we chose C 17 since it is the nearest (two hops away).Note that the RC of the root node is now updated to be C 12 which is the highest and C 19 which is the lowest (see Figure 10(c)).is procedure will continue to insert the remaining objects to produce the nal C-tree as shown in Figure 8.

Multidimensional Index: GMI-Trees
e importance of the position of moving objects can di er depending on building structures.Some buildings (such as airports and shopping centers) contain wings/sections that determine the success or otherwise of the positioning queries.From observation, in some buildings, the positioning of mobile objects can be based on their section [13].For example, "Where is object O 9 ?" e accuracy of the position here is not important, because the query can obtain the answer "east wing."Moreover, here we note that the accuracy of the oor is not important in this case.Not only is the exact room/cell not needed but it could also be useless to the user.For instance, for the query "Where is object O 9 ?",answers such as "cell/room 15" could not be useful to the user who has no information about where cell 15 is located.However, answering with the wing location (e.g., it is in the south wing) might be more useful to the user.
Furthermore, the main reason for building a multidimensional indoor index is to obtain an index that can efciently support queries regarding cells but at the same time can support the multi oor queries such as the wing queries and the multi oor RNN queries and pool queries.Wing queries have been explained in detail previously.e multi oor RNN queries, usually in indoor spaces, take the interests of a certain item then locate the objects that are nearest to it.For example, we may want the location of a moving object that is the nearest to Lift A. Here, the oor is not important, since a lift is basically located on all oors.erefore, grouping the moving objects on both the same oor and on the oor above can obtain an e cient result for this type of query (the multi oor RNN queries).Another important query that can take advantage of our approach is a pool query. is type of query usually occurs in a multioor indoor space; hence, it is a range query that intersects with many cells on di erent oors in order to retrieve the moving objects within that range.For example, in Figure 5, the dash lines show the retrieval of objects that are located within that range, which is shaped like a pool.Vertical and horizontal grouping is appropriate for all these queries and others that have moving objects in a multi oor environment, regardless of the oor(s) on which they are located.

Multidimensional Indoor Spaces.
Our task, in this context, can be stated as follows: in addition to the primary queries that are based on cells as locations, how can we support multi oor queries such as wing queries, or multioor RNN (for simplicity, we will use the term "wing" to include "section" and similar entities).

6
Mobile Information Systems Considering wing queries as an example, several issues arise.How are we to represent, or capture, the concept of "wing" in our model?
We will address this issue rst.In doing this, we will consider, as an example, an indoor space which is clearly applicable to the queries.
Consider the indoor space in Figure 5. Observe that it has two wings connected by a single node and each of the wings has rooms on more than one oor.
For a multi oor building with wings, our proposed solution is introduced as an additional edge.us, the cells can be connected by primary edges and secondary edges.e primary edges are the same as those in the previous section: two cells (rooms) are connected by a primary edge if there is a door or staircase between them.e secondary edges, in this case, represent the "is_above" relationship.If two cells are on two adjacent oors and one is partly above another, we say that they are connected by a secondary edge.In our example (see Figure 5), cell C 20 is directly above cell C 5 ; hence, there is a secondary edge between them.Recall that we will use the term "multidimensional" to refer to the existence of more than one type of edge.

Indoor Multidimensional Connectivity Graph.
Given a multidimensional indoor space, that is, one for which we can conceive of two or more types of edges, our rst step is to convert it into a multidimensional (MD) connectivity graph.Figure 11 shows the MD connectivity graph that represents the indoor space in Figure 5.
e graph has primary edges, shown by solid lines between the cells, and secondary edges, shown by dotted lines.e primary edges are derived from the indoor space (Figure 5) as described in the previous section (see Table 1).e secondary edges between two cells are obtained by virtue of one cell being directly above the other.Note that the secondary "is_above" connection refers to the cells that are located above each other.is includes the case where a cell is connected vertically with more than one cell (vertically overlapped); the "is_above" connectivity will be made to all the overlapped cells regardless of the extent of the overlap.

MD Connectivity Tree.
e MD connectivity tree is constructed from the MD connectivity graph by ignoring the secondary edges and applying the same procedure as described in Section 3 for constructing the basic (or 1D) connectivity tree.Figure 7 shows a connectivity tree for the MD connectivity graph shown in Figure 11. is connectivity tree on the surface looks exactly like a one-dimensional connectivity tree.Furthermore, it will play a similar role in the construction of the MD index tree.However, when using that connectivity tree in the index tree construction, we will take into account the secondary edges, which will have an e ect on what we regard as the overall distance between pairs of cells (as given in De nition 2 below).

Constructing the Multidimensional Index Tree.
e construction of an MD-tree is essentially the process of inserting an object into an existing MD-tree. is task has two major subtasks: (i) in which the new object is to be inserted and (ii) in the case where we need to split a node,   Mobile Information Systems choosing which objects (in the node) are to be grouped with the new object.
For navigation down the tree, we use exactly the same strategy as we did in Section 3. at is, suppose we need to insert an object occupying the cell C new , we examine the RC and HE of the nodes, and at any particular stage, (i) if possible, we choose the nonleaf node whose RC covers C new according to the MD connectivity tree and which has an RC cell (either a lower bound or the upper bound) that is closest to C new ; (ii) otherwise, we examine the RC and HE of all the candidate nodes and choose the node that has an RC or HE cell which is closest to the cell C new .
However, the distance between any pair of cells is now modi ed according to the de nition below.

De nition 2.
Let d P (x, y) and d S (x, y) denote the primary and secondary distances between cells x and y based on the number of primary edges and secondary edges between them.e distance between x and y is de ned to be Figure 12 shows the adjacency order of C 1 horizontally and vertically.
Apart from the above modi cation for calculating the distance between cells, the rest of the algorithm is the same as for the basic 1-dimensional case.
e algorithm for constructing the GMI-tree is given in Algorithm 1 and Algorithm 2.

MD Indexing-Applicable Indoor Spaces.
In principle, we can apply the MD index construction procedure to any indoor space that is represented by an MD connectivity; that is, it has two types of edges.However, in practice, as will be seen in Section 5, the types of indoor spaces to which the MD procedure can be applied with desirable bene ts are those with certain characteristics.To describe those characteristics, the notion of cut node de ned below will be useful.
Consider a graph G of nodes (cells) and edges.Suppose we have a subset S of node G such that when we remove the nodes in S from the graph, what we get is a number of unconnected subgraphs.en, we say that S is a set of cut nodes and each element of S is called a cut node.Formally, we have the following de nition.(Note that an edge e is an unordered pair (i.e., a set) of two nodes.) In addition, in practice, we also choose the set S of cut nodes that is minimal in the sense that if we remove any node from S, we would get a smaller number of islands.
Intuitively, and as will be seen in Section 5, the types of indoor spaces to which the MD procedure can be applied with desirable bene ts are those with the following properties: (1) It is a graph with cut nodes.
(2) e graph after the removal of cut nodes forms a number of islands (isolated subgraphs) of reasonable sizes.(3) ere are no secondary edges among the cut nodes (this is reasonable because cut nodes should not be part of a wing: they separate wings from one another).( 4) ere are no secondary edges between nodes that belong to di erent islands (secondary edges are con ned to separate islands).
Under those conditions, we can formalize the concept of a wing as follows.11, which is the connectivity graph of an indoor space (Figure 5), shows that C 1 is the cut node: by removing C 1 , we will have two unconnected subgraphs.Other examples of the cut nodes are shown in Figure 13.
As another example, Figure 14 shows a set of moving objects O 1 , O 2 ,. .., O 10 in a multifloor indoor space.e GMI-tree will group the objects based on their section/wing as follows: e GMI-tree begins by grouping the moving objects that are located in the same cell and then starts to evaluate the adjacency levels in case of overflow or underflow.erefore, O 4 is grouped with the above cell entity which is O 3 .Figure 14 shows the GMI-tree of objects O 1 , O 2 ,. .., O 10 .Note that the objects in the west wing are grouped together (O 1 , O 2 , O 3 , and O 4 ) and east wing has the objects (O 5 , O 6 , O 7 , O 8 , O 9 , and O 10 ).In this grouping technique, the distance will be based on the number of the hops between the cells (on both horizontal and vertical adjacent levels).Consequently, with this resulting index, queries that concern the objects' wing locations are processed easily with a lower access cost.
Regarding the search operation efficiency, the GMI-tree is very similar to the R-tree [1,6] in three crucial aspects: (a) the tree structure, which is B-tree like; (b) the tree construction process in which the nodes are split in a similar manner to those of the B-tree; and (c) the search procedure (from the root, the search examines the children of a node N if the searched object is "contained" in the RC of N (for GMI-tree) or the MBB (for R-tree)).Consequently, similar to the R-tree, the worst case complexity of a GMI-tree search is O(n) due to overlapping RCs, and the average case complexity can be expected to be O(log(n)).In addition, for a given connectivity graph, different choices of the default cell can result in connectivity trees of different shapes.is presents the possibility of performing a pre-tree-construction exploration to find a connectivity tree that is wide and shallow Insert_Object / * To Insert an object into the current index tree.e tree is of order M � maximum number of child nodes * / Data: The connectivity tree CONNECT_TREE; the Current index tree INDEX_TREE: the object to be inserted OBJECT; the cell that is occupied by the object, OBJECT_CELL Result: The updated index tree.Mobile Information Systems because such a connectivity tree will tend to produce a GMItree with fewer overlapping RCs.We can also note that the cell connections, which are xed for an indoor space, can be stored in an adjacency matrix and can be looked up very quickly for tree construction and querying.

Experimental Results and Performance Analysis
In this section, under a simulation environment, we present the results of experiments that have been conducted in order to evaluate the proposed index structure, the Graph-based Multidimensional Indoor-tree (GMI-tree).We compared this new structure with the Basic Index (C-tree) (which only groups the moving objects horizontally based on a single type of edge) [24].e experiment was carried out on an Intel Core i5-2400S processor 2.50 GHz PC, with 4 GB of RAM running on 64-bit Windows 7 Professional.e maximum number of entries per node is M 80 and the minimum is m 40.e data structure was implemented in Java.e data set size ranged from 20 to 5000 moving objects in multi oor indoor spaces.We used synthetic datasets of moving objects due to the lack of real data for indoor environments.In the experiment, we used a real case of a 20-cell indoor space.We will focus on the following features.First, we aim to compare the capacities of the GMI-tree and the basic C-tree in grouping the moving objects according to their primary distance and secondary distance.e grouping on primary distance is referred to as "horizontal grouping," and the grouping on secondary distance, "vertical grouping."Second, we compare the number of the crossover nodes between the two index trees.A crossover node is the one that groups together objects from di erent wings of the indoor space.Crossovers are regarded as undesirable "false hits."ird, we compare the costs of construction of the GMI-tree and the C-tree.And nally, we compare their insert and search performances.For all operations, the execution time was measured.Each operation was performed ve times, and the average was calculated.
Figure 15(a) shows the number of nodes of the GMI-tree and the C-tree that group together the objects that are in close proximity according to their primary distance

First floor
Ground floor

First floor
Ground floor

First floor
Ground floor     Mobile Information Systems ("horizontal grouping").e result shows that the GMI-tree (which is based on both the primary and secondary distances) performs virtually as well as the basic C-tree (which is based on the primary distance only). is result is very encouraging because we would want to maintain good efciency for the primary horizontal grouping.Figure 15(b) shows the number of nodes that the GMI-tree and the C-tree group the moving objects vertically; that is, the number of Mobile Information Systems nodes which group together the objects that are close to one another according to their secondary (vertical) distances.e result shows that the GMI-tree performs clearly better than the basic C-tree in this respect.ough expected, this result proves the decidedly positive e ect of the vertical grouping of the GMI-tree.
Taking both results together, they clearly illustrate that the GMI-tree has been successful in grouping the moving objects both horizontally and vertically.Consequently, it successfully groups objects that are close to each other in each of the wings of this indoor space with a cut node.Moreover, Figure 16 compares the crossover nodes of the GMI-tree with those of the basic C-tree.e crossover nodes are those that group together objects from the two di erent wings of the indoor space.e result shows that the GMI-tree groups the moving objects in each wing with a signi cantly very low crossover between the wings of the building.
Furthermore, here we investigate the measurement of the tree construction in both the R-tree and the proposed GMI-tree.e TP2R or RTR trees basically used R-tree through RFID readers.As explained in Section 2, the TP2R or RTR trees have a recordID on which the area of the MBR will be based.Here, the criteria are di erent from our prospective.ey are entirely based on RFID in order to control the area of the MBRs.erefore, we will not compare our work with TP2R or RTR trees, although we compare it with their baseline which is R-tree which similarly uses the Euclidean distance to group the moving objects.Here, we calculate the false hits of the mobile objects in an indoor environment for both the GMI-tree and the R-tree in order    Mobile Information Systems to illustrate the advantage of using the cell-based data structure in indoor space compared with any Euclideanbased data structures.Figure 17(a) shows that many objects have been forced to be grouped based on the Euclidean distance when the R-tree data structure is used.However, in indoor environments, there are many walls and partitions which control the movement of moving objects.erefore, using any metric index structures in indoor may lead to deficiency of the data structure through the many false hits that occurred.Moreover, the insert costs are shown in Figure 17(b).We notice in Figure 17(b) that in most cases the cost of the GMI-tree is lower than that of the R-tree insert costs.e GMI-tree takes into account the two ways of grouping (horizontally or vertically) which give the data structure more options, thereby reducing the cost significantly.
As the next objective in our experiment, we compared the construction costs and the insert costs of the GMI-tree and the C-tree.e result is shown in Figures 18(a As we can note from the graph, the construction cost for the GMI-tree is no different from that of the Basic Index.e basic point here is that with the new method of indexing the mobile objects on the basis of two links of the indoor graph, we find that construction is still good.In fact, in most cases, the construction costs and the insert costs of the GMItree are less than those of the Basic Index.For example, in Figure 18(a), for 800 objects, the GMI-tree is decreased by around 28%.
As the last result to be reported here, we compared the search performance of the GMI-tree and the basic C-tree.
e result is shown in Figure 19.From the graph, we can observe a significant improvement in the new index structure for all density cases.e improvement in search performance can be explained thus: In the GMI-tree, the moving objects are separately grouped based on their section through two links of the connectivity tree which makes the index tree more flexible and less costly.For example, Figure 19 shows that in the case of 600 densities, the search cost is reduced by over 44.
e experimental results clearly show that the newly proposed index structure, the Graph-based Multidimensional Indoor-tree, can successfully produce a reliable, robust, cost-effective, and query-efficient index for multifloor indoor spaces.

Conclusion and Future Work
is paper addresses the challenge of indexing moving objects as a multidimensional grouping in multifloor indoor environments.It is clear that the exact positions of objects moving about indoors are often not needed and cannot be regarded as a primary characteristic.e indoor environments are related to the symbolic notion of cellular space (or cell-based space), which contains restriction entities (e.g., walls) that play important roles in restricting an object's movements.Hence, the indoors locationing is based primarily on the notion of cellular space.In addition, it is also clear that in some interiors of buildings, the locationing of the moving objects can be based on their section/wing.erefore, in this paper, we present a new index structure that considers the multidimensional grouping of mobile objects in a multifloor indoor space.More specifically, the indoor environment is a connectivity environment where the rooms/venues are connected with each other by doors; therefore, we take advantage of the graph that results from this primary indoor connectivity.We group the moving objects based on their adjacency on the same floor and in the same section (based on the adjacency/connectivity between the cells) and extend that to the grouping of the objects in each section as multidimensional grouping for the multilevel via a distance metric that is based on both the primary distance and secondary distance.e other basic idea is to determine the types of indoor spaces that can be advantageously considered for multidimensional grouping.
is work can be extended in several directions.First, the temporal aspects of objects moving in indoors are an important factor.e moving objects are expected to be more dynamic in corridors or on stairs, but more stabilized in a room.erefore, the indexing of moving objects based on their temporal stabilization is an interesting area of study (considering vertical transits such as stairs).Another avenue of future work is the consideration of the data structure of moving objects with certain pattern movements in the indoor environment buildings.us, we aim to extend our index structure to involve certain movement patterns of moving objects in indoor environments.

Figure 1 :
Figure 1: N2b and N1b are crossed-over nodes between the wings.

Figure 2 :
Figure 2: e moving objects are grouped in each wing.

Figure 5 :
Figure 5: Example of an indoor space.

Figure 6 :
Figure 6: Connectivity graph for the indoor space of Figure 5.

Figure 9 :
Figure 9: Occupancy of objects in the indoor space cells (shown on the connectivity tree).

4. 5 . 1 .
De nition 3. (Graph with Cut Nodes): Let G(Cells, Edges) be a connected undirected graph.Let S be a subset of nodes in cells.en, we say that S is a set of cut nodes if the graph G′ (Cells ′ , Edges ′ ) is an unconnected graph, where (i) Cells ′ Cells\S; (ii) Edges ′ {e ∈ Edges : ∀x ∈ S, x ∉ e}.

ALGORITHM 1 CONSTRUCT_INDEX_TREE
/ * To construct an index tree for a set of objects * / Data: The connectivity tree CONNECT_TREE; set of objects OBJECTS; function OCCUPIES : OBJECTS ® CELLS Result: The index tree.1: Let Index_Tree � ∅; 2: each object O i of OBJECTS 3: | Call algorithm INSERT_OBJECT to insert O i into INDEX_TREE; 4: endfor 5: return Index_Tree; ALGORITHM 2

Figure 12 :
Figure 12: e adjacency levels of C 1 .(a) First level adjacent of C 1 .(b) Vertical level adjacent of C 1 .(c) Second level adjacent of C 1 .(d) Second vertical level adjacent of C 1 .

Figure 11 :
Figure 11: MD connectivity graph for the indoor space in Figure 5.

Figure 16 :
Figure16: Crossed-over nodes between the building wings.

Figure 15 :
Figure 15: Horizontal and vertical grouping.(a) Number of nodes that horizontally grouped the moving objects.(b) Number of nodes that vertically grouped the moving objects.

Figure 17 :Figure 18 :Figure 19 :
Figure 17: Metric performance (R-tree) compared with the GMI-tree.(a) False hits in the R tree and the GMI-tree.(b) Insert costs for the R-tree and the GMI-tree.

Table 1 :
Mapping domain concepts to modeling concepts.
Corridor One or more cells with one or more edges Stair One or more cells with one or more edges Elevator One cell with several edges Pathway One or more cells with several edges 1) is node, regarded as a subtree, contains four objects O 6 , O 7 , O 8 , and O 9 .(2) ey are in cells C 9 and C 11 .
1: / * Find the leaf node to insert the new object * / 2: Let p � root of INDEX_TREE; 3: while p is not a leaf node do 4: | Construct the set EXPANDING_CELLS from all the RC and LE of the children of p; 5: | Choose from EXPANDING_CELLS, a cell NEAREST_CELL that is nearest to the OBJECT_CELL, according to d(x, y) � IF d P (x, y) ≤ d S (x, y) THEN d P (x, y) ELSE d S (x, y); Insert OBJECT and GROUPED_CELLS into a sibling node of p; 17: | Split the node, using the standard node-splitting procedure for B+Tree, and insert OBJECT and GROUPED_CELLS into a sibling node of p; 18: endif 19: For nodes that contain new objects, update RC and LE