Proposal to Enhance Network Routing by Using Ant Colony Optimization

This research introduces a proposal to enhance routing in internetworking depending on Ant Colony Optimization (ACO). The proposal concentrate on truth said: ACO itself is a metaheuristic, so when combined with an actual problem area, it can lead to several heuristics. From that, the two ACO algorithms Ant Colony System (ACS) and MAX-MIN Ant System (MMAS)have been successfully applied to NP-hard combinatorial optimization problems, like TSP (Travel Salesman Problem), are extended to be used for solving routing problems. This research presented AntNet, based on mobile agents, whose use is currently oriented towards packet switching wirednetworks, such as Internet, which inspired from ACO, implemented then obtained results are analyzed and critical parameters are determined and so several modifications of AntNet were proposed, in what was called AntNet3.


INTRODUCTION
outing algorithms, at the core of network control systems, play an important role in the exponentially growing communication systems worldwide.Ifappropriately configured, they can provide faster, smoother and more reliable data packet routing, and in particular greatly influence several measures of network performance such as end-to-end delay and throughput.Conventional routing algorithms depend on global exchange of information among nodes and hence become impractical as network size increases.These algorithms are based on finding shortest path such as in distance-vector algorithms, Router Information Protocol (RIP) and Link-State algorithms, Open Shortest First Protocol (OSPF) [1,2].
A wide variety of routing protocols and algorithms exist for communication networks.In the traditional approach to routing, the routing tables are updated by exchanging routing information between the routers.Various routing protocols differ in their approaches to exchange the routing information.For example, in OSPF the routers exchange link-state information by flooding [3].A relatively new approach to routing is R PDF created with pdfFactory Pro trial version www.pdffactory.comthe use of mobile agents for updating and maintaining the routing tables.Recently, a number of routing algorithms inspired by the ant colony metaphor and using mobile agents have been proposed for both wired and wireless networks.Traditional routing algorithms are not intelligent and do not have enough flexibility to satisfy new routing demands and they need human assistance in order to adapt themselves to failure and changes [1].
Ant Colony Optimization (ACO) is the general name of the algorithm which is inspired by a behavior of feeding of ant.ACO algorithms such as ACS and MMAS are applied to the route searching problem such as Travel Salesman Problem (TSP) [4].ACO is a family of optimization algorithms based on real ants' behavior.ACO is inspired by the foraging behavior of ant colonies, where in they are able to find shortest path to food source.It has been observed that of available routes, ants find shortest route to food source.In real life, ants deposit some kind of chemical substances to mark the path that they used.Then on their way back they choose the path with the highest pheromones which becomes the shortest path [5,6].AntNet is an Ant Colony Optimization (ACO) meta heuristic for data network routing proposed by Gianni Di Caro and Marco Dorigo.In this network routing algorithm, a group of mobile agents (or artificial ants) build paths between pair of nodes, exploring the network concurrently and exchanging obtained information to update the routing tables.This information is also used to direct the data packets towards their destination relation of routing and ant colony [7,6].

RELATED WORK
A number of routing algorithms based on the ant-colony metaphor have been proposed for communication networks, there has no information on the routing technique used in analysis of ant-routing algorithms.Antnet is an agent based routing algorithm based on real ants behavior technique is discovered so many algorithms have been proposed: • Cauvery N K, Dr.K Viswanatha., proposed in 2009, "Routing in Dynamic Network using Ants and Genetic Algorithm", using ant algorithm to explore the network using intelligent packets.The paths generated by ants are given as input to genetic algorithm.The genetic algorithm finds the set of optimal routes.The importance of using ant algorithm is to reduce the size of routing  [7].

PROPOSEDACO ALGORITHMS FOR NETWORK ROUTING
The proposal concentrates on using ACO algorithms (ACS and MMAS) used in Travel Salesman Problem (TSP) as routing algorithm, then apply the ACO AntNet routing algorithm and from obtained results some of modifications are suggested to modify AntNet to a proposed AntNet3.That through introducing algorithm satisfying specifications serves routing process such as performance of routing in consideration to delay and congestions with respect to preservation of routing process standard which implemented in classical routing algorithms to accommodate real world technologies.

Proposed MMAS algorithm for Networking Routing Problem
MMAS algorithm including the head steps for implementation of this algorithm taking in consider the thought of using artificial ants as a number selected by user with making free to select the desire option of nodes wanted as case study of this algorithm.There is an important option must be considered in mind, that is determined by using two values for pheromone trail as Maximum and Minimum which is represent the basic concept for MMAS algorithm with strength and optimality.In order to get best solutions with best results it's tend to make ants pass through nodes for a number of iterations which leads to get best acceptable results by comparing the best length done at each iteration with others which means that is the path that can be depended in future passing.Proposed MMAS Routing Algorithm Input: Number of artificial ants to be used and data file contains statistical nodes information.
• Reading file then assign it's data to node X and node Y coordinates.
• TaoMaxand TaoMin for determining the maximum and minimum values for pheromone trail respectively, default TaoMax=10, TaoMin=0.01.• MaxIterations to determine the maximum iterations needed for implementation, default MaxIterations=30.Output: The output is a list of the results of working ants on the algorithm passing through nodes with the best path made by MaxIterationsand save these results in data file and use these values to draw line charts that represents the progress of the process.Process: At the beginning of the process there is a mission must be done, that is determined by selecting starting point for each ant which is assumed as random selection with a probability of duplicating that point so here a function written to override that probability and making sure of not choosing the same starting point twice, so the following steps will be suggested Step one: After initialization for the parameter mentioned above put iteration =1.
Step two: Select random starting node for each ant.
Step three: Loop for all ants to build their paths through nodes such that all nodes are visited Only once to find the length of ant path.
Step four: Find the length of ant path.
PDF created with pdfFactory Pro trial version www.pdffactory.com Step five: Local update for the pheromone trail done by each ant for its path separately.
Step sex:Find the shortest path between ants path.
Step seven:Global update for the pheromone trail to the shortest path with considering that update for the pheromone trail not exceeding Taomax and not under TaoMin.
Step eight:Save the shortest path in the output file.
Step nine:If iteration is less that Maxiteration then Repeat from step 2 to 8.
Step ten: end.

Implementation of Proposed MMASAlgorithm
To explain the proposed implementation, will display the results of the proposed algorithm above step by step; see the following Figures(1, 2, 3) with their labels that shows the progress of ant best path that can be reached by implementation so that X axis refers to iteration number and Y axis refers to path length:

Proposed ACS algorithm for Networking Routing Problem
An ACS is in fact an AS with a number of differences: anACS has a different transition rule, it uses a local pheromone update rule and a differentpheromone update rule (which will now call the global update rule).The ACS describedbelow is designed to tackle the Routing.An ACS is a colony of MaxNet ants.Each ant forms a solution by going from one node to anothernode until all nodes have been visited.Some connections more favorable than others, routing tables are constantly updated by ants that travel along the network.

Proposed ACS Routing Algorithm
Input: Number of artificial ants to be used and data file contains statistical nodes information.
• Input MaxAnt • Reading file then assign it's data to node X and node Y coordinates.
• MaxIterations to determine the maximum iterations needed for implementation, default MaxIterations=30.Output: The output is a list of the results of working ants on the algorithm passing through nodes with the best path made by Maxiterationand save these results in data file then use these values to draw line charts that represents the progress of the process.Process: First mission is to identify the starting node for each ant to complete its tour through nodes such that each node can be visited once only, with respect to unduplicated starting nodes in order to improve performance of ant tour.
Step one:After initialization for the parameter mentioned above put iteration =1.
Step two: Select random starting node for each ant.
Step three: Loop for all ants to build their paths through nodes such that all nodes are visited only once to find the length of ant path.
Step four: Find the length of ant path.
Step five: Local update for the pheromone trail done by each ant for its path separately.Step six: Find the shortest path between ants path.
Step seven: Global update for the pheromone trail to the shortest path with considering that update.
Step eight: Save the shortest path in the output file.
Step nine: If iteration is less that Maxiteration then Repeat from step 2 to 8.
Step ten: end.Implementation of Proposed ACS Algorithm to explain the proposed implementation, will display the results of the proposed algorithm above into three samples shown in Figures (4,5,6) below that shows the progress of ant best path that can be reached by implementation so that X axis refers to iteration number and Y axis refers to path length:

AntNet Algorithm
In AntNet artificial ants (agents) collectively solve the routing problem by a cooperative effort in which stigmergy, mediated by the network nodes, plays a prominent role.By a stochastic routing policy based on local (public) and private information ants concurrently and asynchronously explore the network and collect useful information.While exploring, the ants adaptively build probabilistic routing tables and local models of the network status using indirect and non-coordinated communication of the information they collect.Ants are divided into two groups of forward and backward ants.The backward ants utilize the information collected by forward ants during their travel from the source to destination, therefore no node is updated by forward ants, but they report the conditions of network delay to backward ants.The information is the travel time taken between each node of the network.Backward ants use this information in order to update the node routing table.Ants behavior will be as shown in Figure (7):

AntNet Algorithm Input
In considering dynamic network so the input to the algorithm will be topology of the characteristic for network as number of nodes and cost for each edge while in using static network, topology determined within initialization phase as it's implemented in this research by using a network from 8 nodes with symmetric delay and a symmetric delay.

Output
Data file contains routing table for each node in network which represents probabilities of choosing each neighbor nodes for each possible final destination.

Process
Step one:Forward Ant, denoted F s→d , which will travel from the source node s to a destination d.
Step two:Backward Ant, denoted B d→s , that will be generated by a forward ant F s→d in the destination d, and it will come back to s following the same path traversed by F s→d with the purpose of using the information already picked up by F s→d in order to update routing tables of the visited nodes.Every ant transports a stack S s→d (k) of data, where the k index refers to the k-est visited node, in a journey, where S s→d (0)=s and S s→d (m)= d, being m the amount of jumps performed by F s→d for arriving to d. step three: End

Implementation of Proposed AntNet Algorithm
Suppose a data network, with 8 nodes, s being a generic source node if it generates an agent (or ant) toward a destination d; at each interval an agent will start from each node towards a specified destination with consideration to compute the delay that occur when moving from node to node which is taken in two cases (symmetric and asymmetric).

Proposal of modified AntNet Alogirthm (AntNet3)
AntNet3 basically uses the same pseudocode as AntNet However, several modifications were done, in order to improve the performance of AntNet, these modifications are briefly explained here.
1-Intelligent Initialization of Routing Tables -An array M k = [(µ j , σ j 2 , T best )], j=1…N, where µ j is the mean, σ j 2 is the variance and T best is the best trip time to destination j, from node k.
-A routing table T k which has N rows and N k columns.It stores for each pair (d,n) the probability p dn , which is the goodness of choosing node n as the nest hop for the destination d.These probabilities are normalized such that[2], PDF created with pdfFactory Pro trial version www.pdffactory.com

2-Intelligent Selection of destination node
At regular intervals, from every network node s, a forward ant F s d is launched with a randomly selected destination d; here checking for destination not to be a neighbor because that action can lower the algorithm performance without getting good resultssuch that making destination far-way at least two hops distance as minimum from source in order to increase the level of performance.
3-Increase performance of ant travel By determining age for each ant, delimits ant tour through network that may causes results which are may be not accepted while ever in network there is always a limitation for any packet travel assigned by Internet Protocol represents in TTL (Time To Live) which is decremented while passing nodes.
4-Intelligent Selection of Jumping Node In case of using random strategy for selecting jumping node, a problem of stigmergy and great delay of time will occur even between adjacent nodes meanwhile if it depends on goodness probability for reaching destination, problems can be recovered.
5-Intelligent routing with less overhead In case of selection a neighbor as a destination, agent's task will be shorten as a one jump without entering in routing process, this modification can reduce overhead consumed through Boolean flag placed at each agent have a neighbor as destination, this modification gives a opportunity to an gent have a randomly destination as a neighbor rather than excluding randomly selected destination because it is a neighbor and may consume overhead although close distance.

AntNet3 Routing Algorithm Input
In considering dynamic network so the input to the algorithm will be topology of the characteristic for network as number of nodes and cost for each edge while in using static network, topology determined within initialization phase as it's implemented in this research by using a network from 8 nodes with symmetric delay and a symmetric delay.

Output
Data file contains routing table for each node in network which represents probabilities of choosing each neighbor nodes for each possible final destination.

Process
Step one: The forward ant F s d chooses a route based on the current routing table.Each neighbor is selected as the next node with the probability of P n,d is calculated as follow: Where I n (neighbors readiness parameter) is a normalized range between [0,1] which depends on q n I =1− ∑ … (3) PDF created with pdfFactory Pro trial version www.pdffactory.comhereq n is the length of the queue of the packages that are sent from node k to its neighbor n and α [0.2 , 0.5] is the weight of I n in calculation of P n,d that has been obtained experimentally [3].
Step two: The forward ants create a stack and place the travel time for each node inside it.
-If cycle is detected, that is, if the ant is forced to return to an already visited node, the cycle's nodes are popped from the ant's stack and all memory about the cycle is destroyed.
Step three: When the forward ant reach destination, they give their stack to backward ants and they die.
Step four: The backward ants take out the data items from the stack and take the route back toward the starting node.
Step five: Arriving at a node k coming from a neighbor node h, the backward ant updates the two main data structure of the node, the local model of the traffic M k and the routing table T k Step sex: After getting to the destination, the backward ant also dies.
Step seven: Save Resulting data.
Step eight: End.

Implementation of Proposed AntNet3 Algorithm
Suppose a data network, with 8 nodes, being s a generic source node if it generates an agent (or ant) toward a destination d, now will introduce the details of AntNet3 implementation by the following descriptions, interfaces, as shownin Figure (12) below:

Discussion, Conclusion and future works
The proposal focuses on ACO algorithms, since they have been the introduction of algorithmic improvements to achieve a much better performance.Typically, these improved algorithms depending on ACO (ACS and MMAS) have been tested again on the networks as routing algorithms.While they differ mainly in specific aspects of the search control, all these ACO algorithms are based on a stronger exploitation of the search history to direct the ants' search process.The proposal concentrate on the search space characteristics of some combinatorial optimization problems has shown that for many problems there exists a correlation between the solution quality and the distance from very good or optimal solutions.Hence, it seems reasonable to assume that the concentration of the search around the best solutions found during the search is the key aspect that led to the improved performance shown by the modified ACO algorithms (ACS and MMAS) to be used in routing problem which is finding the shortest path between two nodes with visiting node exactly once to avoid loop occurrence.Then proposal go in trend of implement AntNet routing algorithm, and from results some of modifications done on it for improve the performance of network.The proposal reached to the following concluded points 1.It can be observed that ACS is the most aggressive of the ACO algorithms and returns the best solution quality for very short computation times.2. Differently, MMAS initially produces rather poor solutions and in the initial phases it is outperformed even by AS.Nevertheless, its final solution quality, for these two instances, is the best among the compared ACO algorithms.3. AntNet algorithms is better than regular routing algorithm in adaptation and load balancing with purpose to quicken the speed of convergence by updating routing table with values reflects some of parameters of network stat such as load on each node represented by queue size.4. Experiments shows that AntNet algorithm take longer path cost than AntNet3 algorithm even with adjacent destination and that caused by congestion happened while ants move randomly without deliberate jumps. 5.The performance of AntNet algorithm is lower than AntNet3 algorithm because ants can continue moving among nodes without respect to ant's age factor which must be taking in consideration specially with network packets routing in order to avoiding ants looping forever.6.Based on the performed experiments, it is also expected an efficient AntNet3 behavior with: flow control, congestion and admission schemes.Therefore, it can be inferred that a commercial implementation of this algorithm may be feasible and its use can be considered for large networks, such as Internet, as a future option.7.After some trails of moving artificial ants passing network nodes and updating to routing table upon the decisions in selecting jumping nodes, algorithm reach to stat of convergence noted by stable movement of ants with fixed route which mean that a stat of stability occur.8.Although Experiments of AntNet have shown very promising results, AntNet has outperformed under different experimental conditions with respect to other dynamic routing algorithms e.g.RIP, OSPF.Still there are some problems with this adaptive algorithm like stagnation.9.The current algorithm uses symmetric delay between nodes as metric for optimization further, it can be extended to be other metrics like load and multimedia data.10.Studying the AntNet algorithm for dynamic networks such as Ad Hoc wireless networks.11.Modifications for the AntNet algorithm such as using both data and ant packets for updating the routing tables would also be as a good consideration.
PDF created with pdfFactory Pro trial version www.pdffactory.com

Figure ( 1
Figure (1) shows the line chart for moving of 3 ants through6 nodes with the progress of path length.
pdfFactory Pro trial version www.pdffactory.com

Figure ( 4 )
Figure (4) shows the line chart for moving of 3 ants through6 nodes with progress of path length.

Figure
Figure (5) shows the line chart for moving of 6 ants through 20 nodeswith progress of path length.

Figure ( 7 )
Figure (7) AntNet behavior, the forward ant F1→4 moves along the path 1→2→3→4 and arrived at node 4, launches the backward ant B4→1 that will travel in opposite side.Ants communicate in an indirect way according to the stigmergy paradigm, through the information they concurrently read and write in two data structures stored in each network node described in Figure (8):

Figure ( 8 )
Figure (8) Data structure of network node consisted from routing table for each and local traffic statistics.
Figure (9) shows interface of AntNet for routing implementation of 8 nodes with 8 ants; declares path of each ant and cost requires with calculation to average time for delay occurred.First case is declared when activating button Symmetric Delayin main window of Antnet session as shown in Figure (10).While the second case is declared when activating button Asymmetric Delay in main window of Antnet session as shown in Figure (11).

Figure
Figure (9) shows interface of AntNet for routing implementation of 8 nodeswith 8 ants for symmetric and asymmetric.

Figure
Figure (10) shows network topology with 8 nodes with 10Mbps.

Figure
Figure (11) shows network topology with 8 nodes with asymmetric.

Figure ( 12 )
Figure (12) shows interface of AntNet3 for routing nodes with 8 ants of Symmetric and asymmetric delay; declares path of each ant and cost requires with average time for it.Now, can compare between results in implementation the two algorithms by fixing path cost and can clearly recognize the optimization performed by modification done through introducing AntNet3 algorithm as shown below:

Figure ( 15
Figure (15) shows comparison results during implementing Ant Net and AntNet3 in case of symmetric delay.

Figure ( 16 )
Figure (16) shows comparison results during implementingAnt Net and AntNet3 in case of asymmetric delay.
table.The significance of genetic algorithm is based on the principle evolution of routes rather than storing the precomputed routes[5].• M. Nofal, S.F.El-Zoghdy and M. Hadi, proposed in 2011, "An Intelligent AntNet-Based Algorithm for Efficient Secure Data Routing over Peer to Peer Networks", evaluate the performance of the AntNet routing algorithm in terms of efficiency and security in peer-to-peer networks.Using the network simulator NS2, a simulator is implemented for a network of 8-nodes which simulates the ant colony intelligence in deciding the most efficient and secured path from source to destination nodes [6].