Controller placement problem (CPP) is a key issue for Software-Defined Networking (SDN) with distributed controller architectures. This problem aims to determine a suitable number of controllers deployed in important locations so as to optimize the overall network performance. In comparison to communication delay, existing literature on the CPP assumes that the influence of controller workload distribution on network performance is negligible. In this paper, we tackle the CPP that simultaneously considers the communication delay, the control plane utilization, and the controller workload distribution. Due to this reason, our CPP is intrinsically different from and clearly more difficult than any previously studied CPPs that are NP-hard. To tackle this challenging issue, we develop a new algorithm that seamlessly integrates the genetic algorithm (GA) and the gradient descent (GD) optimization method. Particularly, GA is used to search for suitable CPP solutions. The quality of each solution is further evaluated through GD. Simulation results on two representative network scenarios (small-scale and large-scale) show that our algorithm can effectively strike the trade-off between the control plane utilization and the network response time.
@cite_30: The controller placement problem (CPP) is one of the key challenges of software defined networks to increase performance. Given the locations of switches, CPP consists of choosing the controller locations that minimize the latency between switches and controllers. In its current form, however, CPP assumes a fixed traffic and no existing solutions adapt the placement to the load. In this paper, we introduce the dynamic controller placement problem that consists of (i) determining the locations of controller modules to bound communication latencies, and of (ii) determining the number of controllers per module to support the load. We propose, LiDy, a solution that combines a controller placement algorithm with a dynamic flow management algorithm. We evaluate the latency and the controller utilization of LiDy on sparse and dense regions. Our results show that, in all settings, LiDy achieves a higher utilization than the most recent controller placement solution.
@cite_14: With the introduction of Software Defined Networking (SDN), the concept of an external and optionally centralized network control plane, i.e. controller, is drawing the attention of researchers and industry. A particularly important task in the SDN context is the placement of such external resources in the network. In this paper, we discuss important aspects of the controller placement problem with a focus on SDN-based core networks, including different types of resilience and failure tolerance. When several performance and resilience metrics are considered, there is usually no single best controller placement solution, but a trade-off between these metrics. We introduce our framework for resilient Pareto-based Optimal COntroller-placement (POCO) that provides the operator of a network with all Pareto-optimal placements. The ideas and mechanisms are illustrated using the Internet2 OS3E topology and further evaluated on more than 140 topologies of the Topology Zoo. In particular, our findings reveal that for most of the topologies more than 20 of all nodes need to be controllers to assure a continuous connection of all nodes to one of the controllers in any arbitrary double link or node failure scenario.
@cite_17: Controller placement is a key problem in software defined networks (SDNs). Previously, the solution to this problem only focused on propagation latency but ignored the load of controllers, which is a critical factor in real networks. In this letter, we define a capacitated controller placement problem (CCPP), taking into consideration the load of controllers, and introduce an efficient algorithm to solve the problem. The evaluation shows that the new strategy can significantly reduce the number of required controllers, reduce the load of the maximum-load controller, and reduce the radius stretches compared with the K-center strategy with dynamic controller provision or dynamic scheduling.
@cite_16: In this paper we address the problem of Software Defined Networking (SDN) controller placement in large networks. Indeed, to solve the scalability issue raised by the centralized architecture of SDN, multi-controllers deployment (or distributed controllers system) is envisioned. However, the number and the location of controllers in large networks remain an issue. In this context, several works have been proposed to find the optimal placement of SDN controllers. Most of them consider latency among SDN controllers and switches as the main metric. In this work, we go beyond the state of art by proposing a solution that considers at the same time three critical objectives for the optimal placement of controllers: (i) the latency and communication overhead between switches and controllers; (ii)the latency and communication overhead between controllers; (iii) the guarantee of load balancing between controllers. We then solve the system by using Bargaining Game in order to find a fair trade off between these objectives. Simulation results clearly demonstrate the effectiveness of the proposed solution in finding the optimal placement of controllers that enforces this trade-off.
@cite_10: 
@cite_11: With the popularization and spread of SDN, the size of SDN networks is increasing; the controller placement is a key problem in software defined networks (SDNs). In this paper, an optimized controller placement method is proposed, which takes into consideration the load of controllers, co-located deployment and propagation latency to determine the optimal number and location of controllers. Firstly, multi-objective genetic algorithm is used to get the connection relationship of controllers and switches, so the network can be partitioned into several domains. Secondly, minimum delay algorithm is adopted to find an optimal location which has a minimizing sum of the distance to the other points in each domain. Finally, in this article, the results obtained from the analytic and experimental performance can evaluate the benefits that could be achieved by deploying our scheme for the SDN controller placement problem.
Recently, an increasing number of research works @cite_14 @cite_10 @cite_17 realize the importance of considering the workload distribution among deployed controllers. @cite_17 redefined the CPP as a capacitated controller placement problem which considered the controller capacity as a constraint. With the aim of minimizing the load diversity among controllers, @cite_11 applied GA to divide the network into a given number of domains so as to balance the workload in each domain. Similar research can also been found in @cite_16 @cite_30 @cite_14 . Despite their promising performance, these methods tend to oversimplify the workload distribution. For instance, @cite_14 considered that the workload of a controller equaled the number of connected switches. In other words, all switches are assumed to receive the same amount of network traffic. @cite_30 set the controller workload as a fixed value corresponding to the maximum requests it can receive from the switches. However, these assumptions are unlikely to remain valid since the network traffic is highly dynamic and unpredictable. Therefore, how to model the impact of workload distribution in the CPP remains unsolved.