IJCSN International Journal of Computer Science and Network, Volume 4, Issue 3, June 2015 ISSN (Online) : 2277-5420 www.IJCSN.org Impact Factor: 0.417 525 Load Balancing in a Distributed Network Environment - An ACO Inspired Approach 1 Neeharika V, 2 Sreenivas Sremath Tirumala, 3 Gang Chen, 4 Jayawardena C 1 Department of Computing, Unitec Institute of Technology Auckland, New Zealand 2 School of Computer and Mathematical Sciences, AUT University Auckland, New Zealand 3 Victoria University of Wellington Wellington, New Zealand Abstract - The success of nature inspired algorithms, particularly Ant Colony Optimization (ACO) on various optimization and scheduling problems has inspired to apply this approach on load balancing problem. Messor is one such approach based on AntNet which achieved limited success with some unaddressed problems. Extending the Messor's work, in this paper, we propose an ACO based approach to address load balancing problem. In our approach, Swarm Intelligent techniques aid in identifying a suitable node for task transfers from overloaded network nodes to under loaded nodes and ANNs aid in directional decision making process that drives the ant search. The proposed approach is evaluated against Messor with two types of load arrival strategies static and dynamic on different sized networks with 20, 40, 60, 80 and 100 nodes and the experimental results show that the proposed approach has resulted in achieving better performance. Keywords - Distributed Computing, Load Balancing, Ant Colony Optimization, Messor. 1. Introduction The exponential growth of robust and adept computer applications has given rise to new challenges for addressing the demand for computational resources. This resulted in adopting numerous computing paradigms with distributed computing networks. In a distributed network, nodes (computers) interact with each other (local or remote) with a communication network for accessing available network resources. Distributed computing have become ubiquitous considering the substantial reward of resource sharing and offering high speed computing at low cost. Communication and coordination among network nodes impose additional load on the network apart from the actual load. Load balancing is a performance enhancing technique employed in computer networks to enable a balanced and fair distribution of processing overhead among all the available nodes across the network [1]. Optimal allocation of tasks can be categorized as the NP hard sect of problems [2]. Hence Load balancing can be considered as a combinatorial optimization problem [3]. Distributed systems are characterized with dynamic traffic flow and solid real time constraints which create network load. The problem of load imbalance arises when a task assigned to a particular network resource waits to be served in the queue of the resource, while another resource that is capable of handling this task is completely idle [4] [5]. To accommodate these conflictingly varying load requirements, an efficient load balancing approach is of paramount importance for maintaining overall system integrity. To deal with load imbalance problem in a distributed network environment, an approach that endures elasticity, automatism and adaptability as principle concerns should be considered. Therefore, to realize a substantially balanced network, the available resources must be intuitively and appropriately allocated to each node such that the processing capacity of the network is utilized to its fullest potential [6]. Moreover a balanced network also achieves shorter job response times when compared to an improperly balanced network [1]. Dynamic Load Balancing (DLB) approach is one among many conventional load balancing approaches in practice. DLB mechanisms are adaptable and can adjust their