Distributed Load Balancing Orchestration Using Software Defined Networks (SDN) Technique
Abstract
Load balancing has been a challenge in large scale networks that process a lot of traffic and more so
if access to the data is centralized. In best practice, user requests from multiple locations would
require to have the same response time. The problem comes in if the requests are multimedia in
nature and require quality guarantees. This causes a strain in the management of the server
workloads as well as resources such as memory.
Traditional networks made use of centralized load balancers which were responsible for making
decision as well as passing traffic so as to take care of the requests. However, with this kind of load
balancers, the problem of managing very large networks whose traffic was unpredictable become
obvious. Coupled with the fact that the load balancer performance could not be guaranteed, this
necessitated the need for an alternative which came in form of Software Defined Networks (SDN).
SDN decoupled the decision making element from the traffic passing element such that network
appliances could only pass traffic whereas the decision making was done by the controller. The
communication between the appliances and the controllers was facilitated by the OpenFlow
protocol standard. Initially the controllers were centralized and suffered the same fate that befell the
traditional load balancers in regards to the management of network traffic. With distributed
controllers, the traffic could be shared amongst the controllers and ease the workload. The
distributed controllers also brought with them the problem of synchronization of network amongst
controllers.
This dissertation identifies the challenges brought about by having distributed controllers and comes
up with an algorithm to meet these challenges.