An Intelligent Energy-aware Routing Protocol in Mobile Ad-hoc Networks

Mobile ad hoc networks (MANETs) are infrastructure free networks created by wireless mobile devices with restricted battery life. Limited battery capacity and dynamic topology of MANETs put forward routing issue as one of highly active research areas. TORA is a reactive with highly adaptive routing protocol for MANETs, but it has low life time and this cause its performance is low. Binary Particle Swarm Optimization algorithm (BPSO) is an optimization algorithm that it is better for continues problems. Hence in this paper we employ BPSO to improve TORA and present a new routing protocol called IMP-TORA. By simulation in NS-2 simulator environment we show that IMP-TORA has better performance comparing with TORA.


Introduction
A MANET is an autonomous collection of mobile users that offers infrastructure-free architecture for communication over a shared wireless medium [1,2]. MANET nodes have limited processing speed and power, battery, storage, and communication capabilities. These features of MANETs with non-existence of central base station bring many new problems and challenges for the researchers. One of the most challenging aspects in MANETs is its routing [3,4]. Routing protocols for ad hoc networks can be divided into two categories, namely the proactive (table-driven) [5,6] and the reactive (on-demand) routing [7,8], based on when and how the routes are discovered. For the table-driven routing protocols, consistent and up-to-date routing information for all the mobile hosts are maintained at each mobile host. In the case of on-demand routing, the routes are created only when desired by a source host. Hence, for the table-driven protocols each mobile host maintains one or more tables containing routing information to every other mobile host in the network. When a network topology changes, the mobile hosts propagate the updated messages throughout the network in order to maintain the routing information about the whole network. These routing protocols differ in the method by which the topology change information is distributed across the network and in the number of routing-related tables.
In this paper we employ the Binary Particle Swarm Optimization (BPSO) algorithm to improve TORA routing protocol. The rest of this paper is organized as follows: we explain preliminaries including Binary Particle Swarm Optimization in section 2. In section 3, we describe TORA routing protocol and present IMP-TORA routing protocol. We evaluate the performance of the proposed routing protocol in Section 4. Finally we conclude in section 5.

Binary Particle Swarm Optimization
Particle Swarm Optimization (PSO) is a population based search algorithm inspire from bird flocking in nature, originally designed and introduced by Kennedy and Eberhart in 1995 [9]. A PSO algorithm contains a swarm of particles where in every particle includes a potential solution [10,11].
The original PSO algorithm can only optimize problems in which the elements of the solution are continuous real numbers. Because it is not possible to continuously ''fly" particles through a discrete-valued space [12]. In BPSO method each particle is composed of D elements which indicate a potential solution. In order to evaluate the appropriateness of solutions a fitness function is always used. Each particle is considered as a position in a D-dimensional space and each element of a particle position can take the binary value of 0 or 1 in which 1 means "included" and 0 means "not included". Each element can change from 0 to 1 and vice versa. The process of implementing the binary PSO (BPSO) is described as follows: Step 1: Initialize the discrete particles P and the elements of these particles.
Step 2: For all particles: Compute fitness for each element of this particle. Compute velocity of elements for this particle by using equation 3. Update position of elements for this particle by using equation 4.
Step 3: Update pbest and gbest for all particles.
Step 4: Loop to Step 2 until one of the stopping criteria is satisfied. (3), j is the identifier of element.
There is a local version of BPSO, in which c2 is considered 0 and therefore gbest is ignored.

IMP-TORA: Proposed Routing Protocol
In this section, we describe in detail the proposed routing protocol. This protocol that is called IMP-TORA, that based on TORA protocol and employs BPSO to improve TORA routing protocol. We first briefly explain TORA routing protocol and then show how BPSO can be used to increase its performance.

TORA Routing Protocol
TORA [13] is a highly adaptive distributed routing algorithm that is well-suited for use in mobile ad hoc networks. TORA can be divided into three phase: creating routes, maintaining routes and erasing routes. In creating routes phase create all routes between source and destination nodes. This phase requires use of the QRY packets and UPD packets. In maintaining routes phase, routes that occurred with a link failure repair. Maintaining routes is only performed for nodes that their height is non-NULL. In erasing routes phase, routes that become multipart, erase. By using these three phases, TORA discover and modify routes between source and destination nodes. Fig. 1 shows the routes creating process in TORA. When routes created, each node has the height structure. Also each node has an array that keeps information of neighbours. In this way, in each node we have situation of node and neighbours.

Particle Structure of the Routing Protocol
Although TORA can typically provide multiple routes for any source/destination pair, it always chooses route with fewer hops. We believe that this can put some routes under heavy load and hence energy of the nodes in these routes deplete earlier than other nodes. These unbalanced loads lead to decreased network life time and hence throughput of the network decreases [14,15]. To solve this problem we borrow some principles of BPSO algorithm to develop a novel protocol that distributes the traffic uniformly among routes and selects the routes with the high level of energy and fewer hops. This causes the energy of nodes to deplete with same rates and leads to increased lifetime of the network.
To improve TORA routing protocol by using BPSO, two main elements of BPSO must be specified: the particle and the fitness function. We define the node that runs the routing algorithm as particle and a neighbour node that is selected as next hop in the route as Particle position. By using above descriptions, with start from source node until destination node, in each node i in neighbours of the current node, we first calculate fitness of node i by using equation (3)and update pbest's position, then we calculate velocity of node i by using equation (4). Then we find the node with highest velocity. Finally in neighbours of current node: if node i has highest velocity among neighbours then Position of node i (x i t+1 )(5) else Position of node i (x i t+1 ) = 0 (5) Then current node send data packet to neighbour i with position value 1. On the other hand, fitness of candidate position i (neighbour node i) is given by equation (3). Obviously this fitness function aims to find neighbour nodes with enough energy and short distance to the destination.
: Energy of node i max _ : Highest energy level among neighbors of the current node max _ℎ : Maximum hop count ℎ : Hop count of node i w1: Weight of energy factor w2: Weight of distance factor +1 = + 1 1( − ) (4) 1 = 2 and 1= random number between[0, 1] In this way, when a data packet is sent from source node to the destination, each node in the path runs above algorithm.

Simulation and Results
To investigate the impact of our enhancements, we implement IMP-TORA by making some modification over TORA module of ns-2 simulator [16]. Three performance metrics that are used to compare TORA and IMP-TORA are as follow: 1. The network lifetime: it is defined as the time when a node finished its own battery for the first time.
2. The system lifetime: it is defined as the time when 20% of nodes finish their own battery.
3. The total data delivered: it is defined as the total number of data packets that delivered during of system lifetime.
The   This figures show a full comparison between TORA and IMP-TORA, because this parameters have a direct ratio with performance of routing protocol. Fig. 2 shows the total delivered data of these protocols as the number of nodes changes. We observe that the total delivered data of IMP-TORA is considerably better than TORA, namely the performance of IMP-TORA is better than TORA. On the other hand Fig. 3-4 shows the network life time and system life time of these protocols as the number of nodes changes. In these Figs we see the life time of network and system in IMP-TORA is higher than TORA. From this simulation we conclude that IMP-TORA has better performance in compared with TORA. Better performance of IMP-TORA is due to this reason that it uses those routes that have high energy and short hop count. This leads to balanced consumption of power in various routes; hence IMP-TORA experiences less route breakages and achieves better performance.

Conclusions
We have presented IMP-TORA, an improving on TORA routing protocol for mobile ad hoc networks. It uses from principles in BPSO algorithm and improve TORA routing protocol. It change process of sending data packets in TORA and distribute load between routs with considering energy and hop count of routes. By doing simulation in ns-2 simulator, we observe that the IMP-TORA outperforms TORA in terms of delivery data and life time.