Next Article in Journal
eHealth Integrity Model Based on Permissioned Blockchain
Previous Article in Journal
An Overview on Push-Based Communication Models for Information-Centric Networking
Article Menu
Issue 3 (March) cover image

Export Article

Open AccessArticle

Dynamic SDN Controller Load Balancing

Department of Computer Science, Jerusalem College of Technology, Jerusalem 91160, Israel
The Open University of Israel, Raanana 43107, Israel
Technical University of Denmark (DTU), 2800 Kgs. Lyngby, Denmark
Author to whom correspondence should be addressed.
Future Internet 2019, 11(3), 75;
Received: 23 January 2019 / Revised: 17 February 2019 / Accepted: 1 March 2019 / Published: 21 March 2019
(This article belongs to the Special Issue Content Centric Future Internet Architectures)
PDF [1276 KB, uploaded 21 March 2019]


The software defined networking (SDN) paradigm separates the control plane from the data plane, where an SDN controller receives requests from its connected switches and manages the operation of the switches under its control. Reassignments between switches and their controllers are performed dynamically, in order to balance the load over SDN controllers. In order to perform load balancing, most dynamic assignment solutions use a central element to gather information requests for reassignment of switches. Increasing the number of controllers causes a scalability problem, when one super controller is used for all controllers and gathers information from all switches. In a large network, the distances between the controllers is sometimes a constraint for assigning them switches. In this paper, a new approach is presented to solve the well-known load balancing problem in the SDN control plane. This approach implies less load on the central element and meeting the maximum distance constraint allowed between controllers. An architecture with two levels of load balancing is defined. At the top level, the main component called Super Controller, arranges the controllers in clusters, so that there is a balance between the loads of the clusters. At the bottom level, in each cluster there is a dedicated controller called Master Controller, which performs a reassignment of the switches in order to balance the loads between the controllers. We provide a two-phase algorithm, called Dynamic Controllers Clustering algorithm, for the top level of load balancing operation. The load balancing operation takes place at regular intervals. The length of the cycle in which the operation is performed can be shorter, since the top-level operation can run independently of the bottom level operation. Shortening cycle time allows for more accurate results of load balancing. Theoretical analysis demonstrates that our algorithm provides a near-optimal solution. Simulation results show that our dynamic clustering improves fixed clustering by a multiplicative factor of 5. View Full-Text
Keywords: multi controllers; architecture; SDN; load balancing multi controllers; architecture; SDN; load balancing

Figure 1

This is an open access article distributed under the Creative Commons Attribution License which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited (CC BY 4.0).

Share & Cite This Article

MDPI and ACS Style

Sufiev, H.; Haddad, Y.; Barenboim, L.; Soler, J. Dynamic SDN Controller Load Balancing. Future Internet 2019, 11, 75.

Show more citation formats Show less citations formats

Note that from the first issue of 2016, MDPI journals use article numbers instead of page numbers. See further details here.

Related Articles

Article Metrics

Article Access Statistics



[Return to top]
Future Internet EISSN 1999-5903 Published by MDPI AG, Basel, Switzerland RSS E-Mail Table of Contents Alert
Back to Top