A Source-Initiated On-Demand Routing Algorithm Based on the Thorup-Zwick Theory for Mobile Wireless Sensor Networks

The unreliability and dynamics of mobile wireless sensor networks make it hard to perform end-to-end communications. This paper presents a novel source-initiated on-demand routing mechanism for efficient data transmission in mobile wireless sensor networks. It explores the Thorup-Zwick theory to achieve source-initiated on-demand routing with time efficiency. It is able to find out shortest routing path between source and target in a network and transfer data in linear time. The algorithm is easy to be implemented and performed in resource-constrained mobile wireless sensor networks. We also evaluate the approach by analyzing its cost in detail. It can be seen that the approach is efficient to support data transmission in mobile wireless sensor networks.


Introduction
As a kind of wireless technology, wireless sensor networks (WSNs) [1,2] are systems that comprise large numbers (usually hundreds or thousands) of wirelessly connected heterogeneous sensor nodes that are spatially distributed across a large field of interest. There is a wide range of applications where the WSNs are extensively used, and their development in other applications is still growing. Mobile wireless sensor networks (MWSNs) are a particular class of WSN in which mobility plays a key role in the execution of the application. In many cases, MWSNs suffer from link breakages and frequent changes of network topology. For example, a sensor node with a limited battery life may sleep periodically in order to reserve energy. A sensor node may also be blocked by data packets from its neighbours at some time or jammed by malicious nodes. Hence, a normal sensor node will lead to denial of service in those situations. Moreover, intermediate nodes are often required to carry out end-to-end communications since the transmission range of sensor nodes is also limited. Therefore, the intrinsic features of MWSNs make it hard to perform end-to-end communications, especially for largescale data transmission [3,4].
In this paper, we propose a novel approach of sourceinitiated on-demand routing [5][6][7] for MWSNs. We explore the Thorup-Zwick theory [8] to achieve efficient end-to-end communications in MWSNs. The remaining of the paper is organized as follows. Section 2 illustrates the network model and problem statement for the approach. In Section 3, we present an efficient algorithm for source-initiated on-demand routing in MWSNs. We evaluate the algorithm from the point of cost and complexity in Section 4 and discuss the simulation results in detail. Section 5 gives an overview of the related works. Section 6 concludes the paper with an outlook to future research directions.

Network Model and Problem Statement
In this paper, we consider a relatively simple MWSN model. = {1, 2, . . . , } and assume a MWSN with nodes. We assume the whole network consists of three tiers (see Figure 1). In the bottom, there are a number of sensor nodes. Each node has a unique identity ( ∈ ) in the network. Each node in the network is battery-powered and has limited computation and wireless communication capabilities. We assume that the locations of the sensor nodes are relatively static, rather than moving. Without confusion, we will also use to denote the location of a sensor node , ∈ .
There is a sink node in the top level. We assume that the sink is a center equipped with sufficient computation and storage capabilities. Although the sink is able to communicate with each sensor node directly, direct communication between the sink and a sensor node is time consuming and energy consuming. For example, if a sensor node sends a large file (e.g., video file) to the sink, the energy of the sensor node will soon be exhausted. Therefore, we will decrease this kind of direct communication. Instead, the sink will allocate information from the covering nodes timely.
There are several covering nodes in the middle level, which are similar with cluster heads in clustering hierarchy or relay nodes in flat hierarchy. These nodes are only used to collect status information from sensor nodes, without any further processing or computation. Each covering node covers a part of the network with a number of sensor nodes. The placement of the covering nodes will ensure that all the sensor nodes in the network are covered. Also we will ensure that there are no more than hops between a covering node and a sensor node that it covers (usually ≤ 3). Covering nodes are able to communicate with the sink directly.
Let and be two points in the Euclidean plane, then [ , ] denotes the line segment connecting and , and | , | denotes the Euclidean distance between and . Two sensor nodes and can communicate with each other if | , | < , where is the communication range of a sensor node in the MWSN.
The major task of a sensor node in the network is to communicate with other nodes and transmit data to others by routing. As we have mentioned before, intermediate nodes are often required to carry out end-to-end communications. Therefore, routing in this network should provide a path from source to destination and the path itself should be as short as possible. In this work, we do not consider the situation when there are selfish nodes in the network. We assume that each node is willing to cooperate with its neighbours.

Source-Initiated On-Demand Routing Algorithm
We attempt to find a short path for a source node in a MWSN by using some routing algorithm. The major difficulty Algorithm 1: The source-initiated on-demand routing algorithm for MWSNs. of designing the routing algorithm is the cost in path construction. Due to the link breakages and frequent changes of network topology, a source node has to update its routing paths frequently, which is obviously time consuming. The situation becomes worse when the network grows up in size. In this work, we explore the Thorup-Zwick theory to solve the problem and achieve efficient routing in MWSNs.

Algorithm
Overview. An overview of the source-initiated on-demand routing algorithm is given in Algorithm 1. Given a time t, the network topology of a MWSN can be denoted by a weighted undirected graph = ( , ). is the sets of sensor nodes in the network. E is the sets of connection status among the nodes. When node attempts to send data to node v, it first checks its local cache. If there is no existing routing path between them, u will send a routing request to the sink (s). Then the sink will query its local database that contains the data structure. Here the data structure is generated by preprocessing . The sink will send back a notification to u, which contains the shortest path from to V. Finally, u sends data to V by using the feedback path.
The algorithm is straightforward. The key point is how to perform path query from to V. We will give the detailed explanation in Sections 3.3 and 3.4.

Status Allocation.
As we have mentioned in Section 2, sensor nodes are not encouraged to communicate with the sink directly. However, the sink requires some basic information from sensor nodes in order to support sourceinitiated on-demand routing. This information contains the location of a sensor node as well as its connection status currently. The algorithm for this process of status allocation is illustrated in Algorithm 2.
The algorithm in Algorithm 2 is trivial. Each sensor sends a status vector to its covering node. The status vector contains the factors that have impacts on data communication. The status vector of a sensor node can be formally represented by V = ⟨ , PRR , , ⟩, where is the value of available energy of , PRR denotes the packet reception ratio (PRR) at , which is a metric for evaluating link quality, is the load of , and denotes the connection status of (the direct neighbors of the node).
For each window of Δ received packets at , PRR is computed as follows: where Num rp denotes the number of successfully received packets, while Num sp the number of transmitted packets. For a given timeframe Δ , the load is computed as follows: where Num rdp denotes the number of relayed data packets (not locally generated), while Num lgp the number of locally generated packets. After collecting the information, the covering node then forwards it to the sink together.
Moreover, there are different cases for status allocation in a MWSN. If we set to 3, there are three kinds of cases for status allocation. Take the subnetwork shown in Figure 2 for example: (a) to the sensor nodes ( 3 and 5 ) directly adjacent to a covering node ( ), they are able to send status vectors to it. (b) To the sensor nodes ( 2 , 4 and 6 ) directly adjacent to the ones in the first case, they could send status vectors to the covering node by two hops. (c) To the rest of the sensor nodes ( 1 ), they have to send status vectors by three hops.

Graph Construction.
After allocating status from distributed sensor nodes, the sink is able to get the overall information of the network. Given a time , the network topology of a MWSN can be denoted by a weighted undirected graph = ( , ). Assume | | = and | | = . Each element in denotes a sensor node in the MWSN and each element in denotes a link between two nodes. For all ∈ , we have the following equation: It means that the distance between any two nodes in the graph is a weighted value. If the Euclidean distance between two nodes is greater than the communication rage , we just set the distance value to be ∞ in the graph. The key to the graph construction is to fix the weight values for each edge in the graph. Weight is formally defined as follows: The weight depends on several factors. denotes the energy status for the two nodes. The value of is calculated by where and are the values of available energy for and and is the energy required for an operation of data transmission.
denotes the link quality between and . Here we try to use software-based link quality estimators [9][10][11][12][13] to evaluate the link quality. We integrate the ETX estimator [14] to get an estimate of the link quality. is calculated as follows: where PRR reflects the uplink quality from to , while PRR the downlink quality from to . denotes the load status for the two nodes. The value of is calculated by , , and are coefficients for the weight and we have + + = 1.

Graph Preprocessing.
In order to perform efficient path query in the graph for a MWSN, we need to preprocess the weighted undirected graph first. Assume | | = and | | = . Thorup and Zwick in [8] have proposed an approach of preprocessing in ( status information, the sink is able to get the topology of the MWSN. Therefore, we could use the Thorup-Zwick theory directly to preprocess the graph structure of the MWSN (see Algorithm 3).

Path Query.
After preprocessing the graph structure of the MWSN, the sink is able to answer a path query in linear time. The algorithm of path query is given in Algorithm 4. Here we make use of the Thorup-Zwick theory to perform path query in the database structure returned by the preprocessing algorithm.

Evaluation
In this section, we mainly evaluate the performance of the proposed algorithm by analyzing its complexity and cost, against existing routing algorithms for MWSNs. The cost for the proposed algorithm is mainly generated from four activities: status allocation, graph construction, graph preprocessing, and path query. The first three activities are preprocessing ones. We try to evaluate the cost for these four activities by analyzing the time complexity.
We evaluate the cost for status allocation at first. According to Section 3.2, we have the following equation: Here 1 , 2 , and 3 denote the number of sensor nodes in the three cases in status allocation, respectively. Assume that the one hop (sensor node to sensor node or sensor node to covering node) cost for status allocation is Δ 1 , and the one hop between covering node and sink is Δ 2 . Then the total cost Δ for status allocation is as follows: We could reduce (9) into As | 3 − 1 | < , then we have: Therefore, the cost for status allocation is ( ).
We have to compute the weight for each edge in graph construction. Therefore, the cost for graph construction is ( ). According to [8], the cost for graph preprocessing is ( 1/ ) and the approximate cost for answering path query is ( ). Finally, we can get the preprocessing cost as ( ) + ( ) + ( ) + ( 1/ ) = (2 + + 1/ ) = ( + + 1/ ) and the query cost as ( ). We can see that the activities in our algorithm have linear cost except graph preprocessing. If we set to be a large integer, then the cost for graph preprocessing is also not very high and acceptable to MWSNs.

Related Works
Generally, existing routing protocols for WSNs fall into two categories: table-driven and on-demand routing [7] based on when and how the routes are discovered. For the tabledriven routing protocols, consistent and up-to-date routing information for all the sensor nodes are maintained at each mobile host. It has been shown in [15] and stated in [16] that on-demand routing protocols can perform better than tabledriven protocols in WSNs.
There have been many on-going research efforts in ondemand routing for WSNs or wireless networks. For example, the ad hoc on-demand distance vector routing (AODV) [17] is an improvement of the destination-sequenced distancevector (DSDV) algorithm. AODV minimizes the number of broadcasts by creating routes on-demand as opposed to the DSDV that maintains a list of all the routes. The dynamic source routing protocol (DSR) [18] is another on-demand routing protocol. A sensor node maintains the route caches containing the source routes that it is aware of. The mobile host updates the entries in the route cache as soon as it learns about new routes. The temporally ordered routing algorithm (TORA) [19] is a highly adaptive, efficient, and scalable distributed routing algorithm based on the concept of link reversal. TORA is proposed for highly dynamic mobile and multihop wireless networks. It is a source-initiated ondemand routing protocol. However, none of these algorithms take the case that how to perform efficient routing in a WSN with link breakages and frequent changes of network topology into consideration.
Some routing algorithms just enhance the abovementioned ones with fault-tolerant or energy-balancing mechanism [20][21][22][23]. However, these algorithms are not able to provide short path for routing or they do not provide an efficient way for constructing short path. Moreover, there are also a few algorithms about shortest path routing [24,25]; however, these algorithms fall short of efficiency due to high cost or large complexity.
Compared with existing works in this field, our approach uses a novel graph-based mechanism that makes full use of the Thorup-Zwick theory to improve the end-to-end communication in MWSNs. The algorithm is of time efficiency and the overhead is acceptable to large-scale MWSNs. The advantage of our approach is that we can still achieve efficient routing even the number of the nodes in a MWSN grows up.

Conclusion
In this study, we mainly present a novel source-initiated ondemand routing algorithm for efficient data transmission in MWSNs. We explore the Thorup-Zwick theory to achieve source-initiated on-demand routing with time efficiency. With this algorithm, we are able to find out shortest routing path between source and target in a network and transfer data in linear time. The algorithm is also easy to be implemented and performed in resource-constrained MWSNs. We also evaluate the algorithm by analyzing its time complexity in detail. It can be seen that the approach is efficient to support end-to-end data communication in MWSNs. Compared with existing works in this field, our approach is of time efficiency and the overhead is acceptable to large-scale MWSNs. The advantage of our approach is that we can still achieve efficient routing even the number of the nodes in a MWSN grows up.
Future works may include: (1) improving the efficiency of the algorithms to reduce the operations of graph preprocessing; (2) considering a more complex MWSN model to implement and evaluate the approach; and (3) considering the security problem of routing in MWSNs.