The use of wireless sensor networks (WSN) in tracking applications is growing rapidly. In these applications, the nodes detect, monitor, and track a target, object, or event. In this paper, we consider the problem of tracking mobile objects in wireless sensor networks (WSN). We present a novel tracking model, named Grouping based Location Tracking (GLT), scaling well with the number of nodes and the number of mobile objects. GLT is based on the Grouping Hierarchy Structure, GHS. In GHS, nodes are partitioned into groups (not clusters) according to their maximum covered region (MCR) such that each group contains a number of nodes and a number of leaders. GLT consists of two tiers. The first tier, which is called the Notification Tree (NT), enhances the activation mechanism, the data cleaning mechanism, and the energy balancing mechanism. On the other hand, the second tier, which is called the Hierarchical Spanning Tree (HST), supports the data reporting mechanism and the lifetime prolonging mechanism. Simulations results show that GLT reduces the communication node selections overhead without diminishing object tracking accuracy and achieves a significant energy consumption reduction and network lifetime extension compared with the state-of-the-art approaches.

1. Introduction

In contrast to sophisticated surveillance technologies such as RADARS, which are in fact reliable, robust, and accurate but expensive, WSN enable a cheap technology which do not rely on any centralized infrastructure [1, 2]. WSN is a collection of nodes, which are of low cost, low power, and small size, carrying out the task of sensing, performing simple data processing, and communicating wirelessly over a short distance. The node contains three main subsystems: (1) the sensing subsystem contains one or more physical sensor devices and one or more analog-to-digital converters as well as the multiplexing mechanism to share them. (2) The processing subsystem executes instructions pertaining to sensing, communication, and self-organization. (3) The communication subsystem contains the transmitter and receiver for sending or receiving information [35].

Location tracking has many applications in our daily life in different areas, for example, military intrusion detection, vehicular networks, and habitat monitoring [6]. These applications must periodically collect the sensory data (locations, velocities, and trajectories) and use it to reconstruct the overall status of the monitored area through data aggregation. When the sensor nodes detect an event, they record it and rely on a distributed routing protocol to send the relevant information toward a base station or sink. The target events must be detected with an acceptable degree of accuracy. In addition, the event report should be received by the sink in a very short time, especially for time-critical events [7].

In object tracking sensor networks, power consumption is a key issue, which directly affects network lifetime. The power can be conserved in object tracking sensor networks by switching a sensor node to sleep when there is no object in the node’s sensing range and turn on a sensor node when an object is to enter the node’s sensing range [8]. Energy conservation can be achieved using different methods: prediction and nonprediction [1]. In prediction-based tracking models [911], the nodes are woken up on demand following the target path. The previous active nodes predict the activation zone in which not all the nodes can effectively detect the target but only a subset of them. On the other hand, in nonprediction tracking, the nodes are periodically put to sleep in order to conserve energy and they wake up after a period of time to monitor the sensing region and collect the object movement information [1, 8]. Nevertheless, prediction and nonprediction strategies have shortcomings such as missing target trajectory and duplicated packet reporting and the predictions may not be entirely correct. This leads to loss of object, and large amount of energy may be wasted in recovering the object. Additionally, in object tracking sensor networks, the data aggregation model, nodes activation model, and data reporting model play an essential role that could maximize the lifetime of network [1215]. Those models should be designed to reduce the communication overhead in the network taking in to consideration the hardware limitations of nodes.

With these motivations, we propose GLT, a model to detect movements of a target using Grouping Hierarchy Structure (GHS) [16], which does not fall into existing tracking categories and is, to the best of our knowledge, the first of its kind. GLT is a two-tier tracking and reporting tree. The first tier is the NT. This tier is designed to achieve three goals. (1) Activation mechanism: it notifies the nodes in the Notification Tree to wake up and collect the data. (2) Data cleaning mechanism: when the object is detected in an overlapped region, NT prevents the redundant sensed data during data aggregation. (3) Energy balancing mechanism: the nodes in the NT consume approximately the same amount of energy. On the other hand, the second tier of GLT is HST (Hierarchical Spanning Tree). HST is designed to work as two mechanisms: data reporting mechanism and lifetime prolonging mechanism. HST and NT are working together to achieve their best performance in terms of network lifetime, tracking accuracy, traffic reduction, and transmission delay reduction.

The major contributions of this paper include the following: (1) Notification Tree: we proposed NT to wake up the nodes in the activation zone in order to reduce the overhead of the proxy node. Moreover, NT reduces the communication overhead during data aggregation. (2) Hierarchical Spanning Tree: to reduce the communication overhead from the source node (aggregation node) to the sink, we proposed HST, which is based on GHS [16]. (3) GLT: it is a combination of NT and HST to ensure tracking accuracy and to minimize the data reporting delay. (4) Find a closed form for the number of deployment patterns for nodes. The remainder of this paper is organized as follows. In Section 2, the related work is presented. Grouping structure, NT, and HST are explained in Section 3. In Section 4, we have given an analysis for GHS and NT; moreover, we have provided a mathematical model for grouping of GHS, which is designed to compute the average communication cost and network deployment patterns. The simulation results are shown in Section 5. Finally, Section 6 concludes this work.

Tracking mobile object using WSN is a hard problem, since the nodes have limited power and computational capability. In recent years, tracking mobile objects in WSN has gained a great deal of attention. It is classified into three categories: tree-based tracking [1720], cluster-based tracking [1215, 21], and prediction-based tracking [911].

In case of prediction-based tracking [911], the next location of mobile object is calculated using distributed structure or using the historical data or the information of object. During each defined time step, only some nodes near the predicted location are activated while the other nodes stay in sleep mode to save energy. Different approaches with different types of measurements have been used in target tracking systems, such as Angle of Arrival (AOA), Received Signal Strength (RSS), Time of Arrival (TOA), and the Time Difference of Arrival (TDOA). Additionally, Variational Filter (VF), Kalman Filter, Extended Kalman Filters (EKF) [9], Distributed Kalman Filter, Particle Filter, and data mining [10, 11] are the most commonly used models to predict the next location of object.

The prediction-based models have a shortcoming such as missing the trajectory of object and the predictions may not be entirely correct. This leads to loss of object, and large amount of energy may be wasted in the recovery mechanism for the object. In tree-based target tracking [1720], nodes in a network organized in a hierarchical tree or represented as a graph in which vertices represent sensor nodes and edges link between nodes that can directly communicate with each other. Scalable Tracking Using Networked Sensors (STUN) [17] is a tree-based tracking algorithm that scales well to large numbers of sensors and moving objects by using hierarchy. It utilizes drain-and-balance (DAB) method to build an efficient tracking hierarchies implemented in 1D and 2D sensor network topologies. The total communication cost of STUN is reduced in [18] by extending the location part. In [19] the authors improved about 9.9% of energy consumption compared with shortest path tree (SPT). They utilized heuristic object tracking algorithm that formulates the problem as 0/1 integer programming. STUN has a drawback; the drain-and-balance tree does not replicate physical sensor network as it is in the logical tree; hence an edge may consist of multiple communication hops.

In cluster-based tracking [1215, 21], the nodes are organized into clusters, with each cluster consisting of a cluster head (CH) and several neighboring sensors (members). The cluster-based tracking is further divided into static cluster-based tracking and dynamic cluster-based tracking. In static cluster-based target tracking, the clusters are formed when the nodes are deployed and the clustering nodes and CHs are defined before target tracking. However, in the dynamic clustering, the sensor nodes are from different clusters at different times according to the movement of the target. Clustering-based networks suffer from more traffic due to cluster members and cluster heads intercommunication. Additionally, more energy will be dissipated when the nodes, which belong to multiple clusters, detect one target. This leads to redundant data transmissions from cluster heads to the sink. This issue is avoided in [12] (CAICS) and this is why it archives better energy saving compared to DLC [13, 14] and HMC [15, 21]. In DLC, the packets are transmitted to the sink over a long distance since each cluster head aggregates the sensed data from its cluster members and directly transmits it to the sink. This issue is managed in HMC; HMC adopts a hierarchical cluster heads model and the data can be transmitted to the sink hop by hop through multiple intermediate cluster heads. In [12] a coordinated and adaptive information collecting strategy (CAICS) for target tracking WSN is proposed. CAICS uses a joint distance weighted measurement to estimate the information utility of sensing nodes. CAICS achieves a very good performance in terms of number of control packets and energy saving. However, due to the frequent selection of aggregation node in CAICS, the transmission delay is increased as the number of nodes increases. In addition, when the velocity of the target is getting higher the transmission delay in CAICS will be increased.

3. Proposed GLT Model

GLT is a tree-based tracking model. It consists of two tiers. The first tier, the activation zone (Notification Tree), enhances the activation mechanism, data cleaning mechanism, and the energy balancing mechanism. The second tier is called Hierarchical Spanning Tree. It supports data reporting mechanism and lifetime prolonging mechanism. The first and second tiers are based on the GHS [16]. Before going any further, we first explain GHS, which is explained comprehensively in [16].

Definition 1 (neighbor list). For any node , its neighbor list is defined as a set of nodes , where and are the sensing ranges for and , respectively; is the set for all sensor nodes in the network. is an array of neighbor lists.

Definition 2 (group). A set of nodes, noted as , is said to be a group of size (i.e., contains nodes) if and only if occurs exactly times as a subset in the array . The array of all groups in the network is denoted by . For example, the six nodes in Figure 2 are partitioned into three groups , , and .

Definition 3 (associated groups). The associated groups for are defined as a set of groups . For example, in Figure 2, the associated groups for each node are , , , , , and , where , , and .

3.1. Structure Models
3.1.1. Network Model

Network’s nodes are divided into groups (Definition 2) such that the all nodes are represented by , where , and are integers (indicating the number of nodes in , and , resp.). Consider a graph to represent the network, where , is the edge set such that and indicates the weight function where such that . The edge is a node that belongs to two groups also known as leader node. An example of this network model is shown in Figure 1: (a) shows the deployed nodes; (b) shows the network model, which contains the groups (vertices) and the edges (leader nodes).

3.1.2. Activation Zone Model

Given a set of mobile objects ; at a given time, each moves in the field randomly and should be tracked by one node . To continuously track , the node set up an activation zone (Notification Tree). This tree is rooted at and contains all nodes in . The nodes in are partitioned into subtrees and these subtrees are attached to the Notification Tree . The nodes in are partitioned into subtrees as follows: given graph , where and , take as cut vertex in such that , where is a component or a subgraph in . Each subgraph builds a subtree , such that all subtrees are . All the trees in are attached to . For example, in Figure 2, to build the NT(), we take as a cut vertex; the generated subgraphs are , where and (see Figure 2(b)). Thus, NT() contains two subtrees. The first subtree contains the nodes and , while the second subtree contains , and . Finally, two subtrees are attached to the root node as shown in Figure 2(c). The notifications trees of other nodes , and are shown in Figure 2(d).

3.1.3. Object Tracking Model

We define three states for each node: active, idle, and sleep. In active state, the node collects the sensory data and reports it to the aggregation node, while in idle state, the node gets ready to track object and waits for an activation from the currently selected proxy node. In the sleep state, no sensory data could be collected. We assume that the nodes support two types of messages (i.e., control packets): (1) INSERT control packet: this control packet is sent from the currently selected proxy node (the node that detects the object). The main role of this control packet is to let the receiver nodes change their state from sleep to idle and be ready for the object when the object crosses their sensing ranges. The other role of this control packet is to let all nodes in the activation zone know that there is a proxy node that has been selected, and they should not be activated until the proxy node send them DELETE packet. (2) DELETE control packet: this control packet is sent from the proxy node to let the nodes in its NT know that the object is out of its range currently, and one of NT nodes should be selected as a new proxy node. All the receiver nodes should change their state from idle to sleep excluding the new selected proxy node.

We consider that any has only one proxy node at any given moment. When the object moves in area (), the proxy node can be selected upon three main parameters: (1) the residual energy of node (i.e., the node with more energy wins), (2) the distance to object (i.e., the nearest node wins), and (3) the current state of node (i.e., busy or free). For , we assume that it has a Sensed Objects Table denoted by to save the information of the sensed object (i.e., current position, image, etc.) and a Notifications Messages Table denoted by to store the notification sent/received to/from other nodes (see Figure 3). When is detected by , will create a new entry in for if and only if has no notification record received from other . When creates a new entry in it will send an INSERT notification message to its activation zone via its Notification Tree . will notify all nodes in its activation zone and ask them to add the notification message to their tables; hence the other nodes in will not sense until sends a DELETE notification message indicating that has gone out of its range. After receiving DELETE, all nodes in will delete the notification messages and will enter any other node in . The tracking model is explained in the main objectives of NT below.

3.2. The Two Tiers
3.2.1. First Tier: The Notification Tree

In this subsection, we introduce the first tier of GLT. We first explain how to build the NT and then explain its main goals. Note that each vertex is a group of nodes according to Definition 2. Let the vertex set of subgraph be denoted by ; the process to build the subtree for the subgraph is as follows:(1)Select a vertex with the minimum degree .(2)Assume that . Select a node to be the root of and then link them; that is, if we select to be the root then the linking operation will be as follows: is the parent of , will be the parent of , and will be the parent of ; .(3)Select a leader node from and then link it to the tail of : . If is empty then will be the root node of .(4)Mark as visited. Then select as an incident of such that and .(5)Repeat the steps from (2) to (4) for until all nodes are marked.

The main objectives of NT are as follows.

(1) Activation Mechanism. In GLT, the activation zone is the nodes in the NT only. When any object moves within the range of , all nodes in will be in idle state except that will be in active state. That is to say, the root of (namely, ) will be in active state, while the other nodes will be in idle state. When moved out the range of , it will move to one node, say , in . will be selected as new proxy node and will be activated by the last proxy , while the other nodes in will be in the idle state. After selecting as proxy node, will be tracked by . Unlike GLT, in the prediction-based protocols [1, 8], the previous active nodes predict the activation zone in which not all nodes can detect the target but only a subset of them. On the other hand, in the nonprediction-based protocols which define a schedule or a plan for nodes activation and/or sleeping, following the object trajectory, some of the nodes are woken up to execute the sensing and the communication tasks for a scheduled time, and then they change their states to the sleep state. Both of prediction-based protocols and nonprediction-based protocols may contain some prediction errors that may lead to more energy dissipation. Although a recovery mechanism is provided [10], the recovery mechanism consumes much energy. In GLT, there is no need for recovery mechanism since the NT is not prediction based.

(2) Data Cleaning Mechanism. NT provides a dynamic data cleaning mechanism by avoiding the redundant sensed data. When the proxy node is selected, it will send an INSERT message to its children and its children will pass the message to their children downward until all nodes in the activation zone are notified and change their state to idle. However, when the nodes received the message, they will get ready for the mobile target and will not start sensing and collecting the location of the target. When the target goes out the range of current proxy, the proxy node will send a DELETE notification to all nodes in the activation zone (the nodes in the NT of the current proxy). When any node received a DELETE notification, it will not execute the DELETE command immediately. Nevertheless, it will check first whether the object is currently in its range. When the object moves in area (), the proxy node can be selected upon three main parameters: the residual energy of node (i.e., the node with more energy wins), the distance to object (i.e., the nearest node wins), and the status of the node (i.e., busy or free).

(3) Energy Balancing Mechanism. When there is a notification message (i.e., INSERT, DELETE) to be sent from to its associated groups (i.e., activation zone ), will not send it to all nodes in separately. However, sends the notifications to its children in . Additionally, the needed energy per notification will be distributed among all the nodes in . To clarify the importance of the Notification Tree, we use the First-Order Model [16] to evaluate the consumed energy by each node during intercommunications. The First-Order Model is explained in (see [16] for symbols used in the equations)

When has a notification to be sent to , without using NT, it will dissipate the energy of according to (2). is the total energy needed to send the notifications message to all nodes in . In (2), is consumed by node :where is the number of nodes in . By using NT, the energy, which is needed to let all nodes in know that detects the object, is distributed among the nodes in as shown in

3.2.2. The Second Tier: The Hierarchical Spanning Tree (HST)

In this section, we explain the second tier of GLT, which is called Hierarchical Spanning Tree (HST). The data reporting mechanism and the lifetime prolonging mechanism are the two main objectives of this tier. The first tier achieves data collection process. However, the length of the first tier is not enough to reach the sink due to the limited height of NT. On the contrary, the height of HST expands to reach all nodes in the network. Nevertheless, the NT tree plays an important role in the data reporting mechanism; NT excludes the nodes, which have lower energy than threshold; this is an important role, which enhances the lifetime prolonging mechanism of HST. We first show how to construct the HST; second, we explain the reporting mechanism using HST. Finally, we show how HST and NT cooperate to achieve network lifetime prolonging.

(1) Construction Process of HST. Here we explain how to use the Notification Tree and Notification Spanning Tree to build the Hierarchical Spanning Tree (HST); see Figure 4. The process of building HST tree is based on NT. For the convenience, let be the levels of the tree, , where is the number of nodes in the network. Each level contains a set of nodes such that . We assume that the root node (sink node) is located in the first level of the tree; for example, in Figure 4, . For the nodes already existing in HST we mark them by . The process of building of HST tree runs from the sink to the leaves (top-down) as follows.(1)For the root node, it will be added to , and then for each node in the Notification Tree ; if is not marked by , then add to and will be a child of . For example, in Figure 4, , (all nodes in are not marked by ; thus, all of them will be added to , and will be the parent of them).(2)For the other nodes in other levels, the processing method is the same as the first level. The only difference is that the first level contains only a node, namely, the root.

(2) Data Reporting Mechanism Using HST. In GLT, NT aggregates the data and the proxy node will start the forwarding process. Any node in the path from the proxy to the sink forwards the collected data to its parent in HST or its parent in NT. The parent in HST is the default. If the energy of the parent in HST is greater than the threshold value, then the parent in HST is selected. Otherwise, the parent in NT is selected (see Algorithm 1).

Input: Reporter Node
Output: The data of Reporter Node is forwarded to its parent
(6) ;
(7) ;
(8) ;// // recursive call
(11) // select a node from the NT of
(12) ;// see Algorithm 2.
(13) ;
(14) ;
(15) ; // // recursive call
Input: and
Output: select a new parent for (maximum energy node in NT tree of
(3) ;
(6) ;
(7) ;
(8) ;
(9) ;
(11) ;
(15) ;
(20) ;
(23) ;
(24) ;
(25) ;
(27) ;

(3) Lifetime Prolonging Mechanism. From GLT structure, each node may have two parents; one parent for NT and the other for HST. The routing mechanism is based on HST tree and NT tree; two of them are working together in order to maximize the lifetime of the network. Although the main task of NT is to avoid the data redundancy and duplication, it plays an important role in maximizing the lifetime of network. When the HST parent of the reporter node has a lower power (i.e., lower than the threshold value), the reporter node should switch its parent according to the switch-operation. The switch-operation of the parent is managed by NT, which is entirely based on the remaining energy of the nodes in NT. The node with the greatest energy will be selected as parent for the reporter node. For example, in Figure 4, NT will switch the routing path from node 10 to node 20 if node 8 is busy or it has a lower battery power.

The HST is the default tree for reporting the data to the sink; however, it should be updated according to energy distribution and consumption requirements. The energy threshold value for the nodes in NT will be reduced per switch-operation. With the assistance of NT, the nodes in HST consume their energy as evenly as possible (see Algorithm 2).

4. Analysis of GLT and HST

4.1. The -Covered Regions

To analyze the GLT, we assume that the nodes are deployed systemically (i.e., using the deployment methods in [3, 4]). With considering that in all nodes deployment schemes there will be regions covered by more than one node, such regions are called regions (covered by nodes). Without managing internotification between the nodes, the regions will be monitored by multiple nodes, which lead to duplicated packets. For example, in Figure 5(b), suppose the object is appearing in the region marked as , which means the four nodes will sense and report the same data for the same object in the same region. NT provides a solution to avoid the packet duplication and data redundancy. Nevertheless, sometimes it sends unnecessary notifications. The number of INSERT notification messages depends on the number of regions, so here we can find the number of regions where ; here is the number of sensors in a group. A group contains regions (e.g., Figure 5(a)). We can count easily by considering the number of regions in with no repetition; that is to say, among there will be one area which is , areas are , areas are , and areas are . Let be the notation for region in and let be the number of in . Thengenerally,


Furthermore, among there will be one area which is , area is , areas are , areas are , and areas are covered; for example, see Figure 5(b). We denote to the regions in the range of node by (), and let be the number of regions; then for any , , where . We can obtain that and . It is easy to see that

Therefore, we can get number of regions , where is the set of associated groups of such that . Let , then

Any object moves in a group ; its location should be detected within the group range with respect to the probability space . However, any object moves in the range of node ; its location should be detected with respect to the probability space . For networks deployment using [3], . The Maximum Coverage Efficiency is shown in (9), while the Minimum Coverage Redundancy is shown in (10).

4.2. Optimal Coverage Pattern for NT and HST

The size of NT is strongly related to the number of groups while the number of groups is related to the deployment pattern of network. In what follows, we will find the number of groups that can be created by nodes. For the convenience, let be a group that contains nodes. We define the plug operation as follows: : a group of nodes; : plugging a new node to . The new node should cross any region in the group . The results of plug operation are expressed as shown in (12). Figure 6(a) shows the set of patterns for , while Figure 6(b) shows .

We use to be the distinct patterns set; each is called a pattern of deployment . Thus, the set of distinct patterns of is as follows: , , , and . Let (the size of distinct patterns set); for example, , , , and . Let be the number of groups of the pattern , so we have , , , and