Abstract
Software Defined Network (SDN) is an emerging technology that centralizes network control and automates network management by separating the data plane from the control plane. The control plane is a set of controllers that manage the network switches. The crucial problem of positioning these controllers is known as the Controller Placement Problem (CPP). The optimal controllers positioning is very constrained and affects the different network performance parameters, such as, controller-to-switch latency, inter-controller latency, number of hops between controller and switch and inter-controller. In this paper, we study the impact of optimizing some parameters on the others, we have developed different approaches, and each considers one or two parameters. Moreover, we propose a balanced optimization approach that considers the various network performance parameters. We formulate the problem as an Integer Linear Programming model that considers all parameters using the Lexicographic Multi-objective optimization method. By ensuring a balance between all parameters, network performance is significantly improved. The obtained results reveal that our approach is more inclusive and provides very interesting results.
Introduction
Software Defined Network is a recent concept that provides various advantages over traditional networks. The key idea of the SDN paradigm is to separate the control plane from the data plane and allow data control through a logical software component called a controller. A set of controllers forms a control plane that has a global view of the networks. The control plane is responsible for programming the forwarding devices [4]. The data plane is a set of forwarding devices as switches and routers. SDN paradigm offers an abstract view of the network and assists network operators in controlling the network traffic and associating the network resources more effectively [6]. Software Defined Network simplifies data forwarding and allows for a more flexible managing and dynamic network infrastructure. However, it also introduces additional challenges, using a single controller witch is inefficient to manage a large network flow. Therefore, a multiple controller is required. Deploying multiple controllers in an optimum way is very constrained. Controller Placement Problem (CPP) is one of the critical steps in SDN setup, because it directly affects network performance. It is important to carefully plan and design the SDN deployment, taking into consideration the different network performance parameters. The network controller communicates with switches and routers to assign forwarding decisions to the data plane to instruct them on how to handle the network traffic, and they have to do it in a very short time. Hence, it is important to consider the critical parameter called Controller-to-Switch Latency (CSL) in the CPP approach to ensure high capacity to respond quickly to network needs. In SDN architecture, inter-controller signalling transmission is required for achieving controller synchronization over network states [10]. Each controller communicates and coordinates with the other controllers. Therefore, Controller-to-Controller Latency (CCL) must be considered. The CPP aims to provide the minimum number of needed controllers and to provide their positions. Therefore, any proposed solution for the CPP in SDNs takes into consideration the capacities of controllers, propagation latencies between controllers and switches and inter-controllers.
In this paper, we address the number of hops between controller and switch and inter-controller parameters. Raising the number of hops in the communication path will decrease the throughput. This is due to the data queuing and forward actions in each hop. The number of hops has an important impact on the total propagation delay in SDN. As the number of hops has an impact on the network performances, we decided to consider this parameter in both Controller-to-Switch and Controller-to-Controller communication path. In the most proposed solution to CPP, researchers focus on CSL and the minimum number of deployed controllers (cost), which has an impact on the other parameters such as CCL, Controller-to-Controller Hops (CCH) number, Controller-to-Switch Hops (CSH) number.
In this work, we have addressed CPP, to study the impact of focusing on one or two parameters on the others. To this end, we have developed different approaches each one considering one or two parameters. These approaches, named Cost Model (
The remainder of this paper is structured as follows. In Section 2, we discuss some previous related works in the field of controller placement problem in SDN. In Section 3, we present the concepts related to SDN and CPP. Section 4 defines our proposed approaches. Experimental results are detailed and discussed in Section 5. Finally, we conclude the paper in Section 6.
Related work
Several strategies have been proposed to address the controller placement problem in SDN; each one aims to improve the network efficiency by considering different parameters, such as cost and latencies under diverse methods. Some solutions used the exact methods based on mathematical models and others opted for the near-optimal solution via the meta-heuristic methods such as Genetic algorithm and Cuckoo.
The financial parameter for setting up the network must be considered in CPP process. The authors in [6] have proposed a mathematical model to determine the optimal number of controllers for the wireless body area network framework in healthcare applications. The goal of this approach is to evaluate the network performance in terms of packet delivery ratio and latency. To solve the CPP, [3] proposed a multi-objective model under Cost and reliability. Furthermore, the authors proposed an adaptive population-based Cuckoo optimization.
Short communication latency between controllers and switches and inter-controller is an important parameter in SDN. Hence, it is widely considered. [14] addressed controller placement under controller-to-switch and controller-to-controller delays and they have developed an analytic model to evaluate the reaction time perceived at the switches due to the inter-controller communications. The work presented in [1], addressed the CPP under the cost, the controller-to-switch latency and the inter controller latency constraints. Therefore, the authors proposed a binary linear programming model to solve the problem. Authors in [10] have tackled the issue of minimizing the delay in the control plane under controller-switch association and controller capacity constraints. They considered that this optimization problem is a complicated nonlinear integer programming problem which cannot be solved easily thus, the initial problem has been divided into controller-switch association subproblem solved through an heuristic algorithm based on Dijkstra and K-means algorithms and controller capacity matching subproblem solved through Kuhn–Munkres algorithm. Authors in [2] aimed to solve CPP using Minimum Connected Dominating Set. The work presented in [11], addressed the controllers’ capacity for lowering the end-to-end delays. To this end, authors have considered controllers with different capacities of processing rates, number of ports, and costs. As a solution, they formulated a Garter Snake Optimization Capacitated Controller Placement Problem (GSOCCPP). Authors assume an allocated budget of the service and aim to finding the maximum sum of controllers’ processing rates with a cost constraint. The goal of the second optimization problem is to place the controllers so that the total propagation delay is minimized. To optimize the communication delay between controllers and switches and inter-controllers. The authors in [1], proposed a linear programming model ensuring the optimum controllers-to-switches average latency, the optimum controller-to-controller average latency and optimum network setup cost. A multi-objective model was proposed to achieve the objectives set. In [12,15] and [5], the authors consider the load balancing among controllers. The work presented in [12], proposed a mathematical formalization of the CPP and a heuristic approach with the aim of determining the minimum number of controllers and their location that ensures latency, load balancing between controllers and assignment of nodes to each controller. Authors in [5] were interested in minimize the maximum load imbalance between controllers by minimizing the difference between the number of switches assigned to the controller with maximum load and the controller with minimum load. Controller number is predefined and equal to the number of control domains in the network. To resolve CCP, authors in [15] consider the communication delay, and the controller workload distribution. They proposed an algorithm based on the genetic algorithm and gradient descent optimization method. The first one aims to search for suitable CPP solutions, the second one to evaluate the quality of each solution.
In this section, we discuss key contributions of the controller placement problem in SDN. We notice that different objectives can be considered in CPP. However, these multiple objectives are often in competition with each other, where the improvement of one leads to the deterioration of the others. However, the above contributions have developed approaches that aim to optimize one or two objectives. Therefore, as Cost, Controller-to-Controller Latency, Controller-to-Switch Latency, Controller-to-Controller Hops number, and Controller-to-Switch Hops number are important parameters to improve the network efficiency, we have to consider all of them. To this end, we propose an approach based on a lexicographic method with the advantage of optimizing all the above objectives.
Background
The network’s forwarding devices in traditional networks are managed separately, making the overall network management difficult. However, in the recent SDN concept, networking devices are managed centrally through software. As a result, it becomes quite easy to update policies or to make changes to the network’s devices. We first present this SDN emerging concept, and then we describe the controller placement problem in this kind of networks.
Software defined network
SDN technology can control the whole networking devices in central means. The entity that implements the control functionalities is called the SDN controller. Deploying a single controller is insufficient, to deal with the scalability and reliability issues. Thus, researchers resorted to the use of several controllers in order to solve these problems.
SDN splits the infrastructure into three planes as shown in Fig. 1. The control plane makes decisions and implements network policies that manage how data are forwarded within the network. It consists of controllers that generate forwarding rules called as flow rules.
The data plane consists of a set of forwarding devices called SDN switches that store the rules in flow tables to route the traffic flows [9]. At least one controller is required to manage each switch. Communication between the controller and SDN switches is established through SDN protocols like OpenFlow. The application plane is the set of SDN applications such as network management, policy implementation, and security services.

SDN architecture.
The main device in the control plane is the controller. However, it has a limited capacity. Multiple instances need to be used with the aim of increasing the network performance. Therefore, determining the number and position of controllers became new challenges. Multi-controller network architecture is very challenging as these positions have a serious impact on the network performance. Thus, deciding the number of needed controllers and where to place each one is not trivial. This task is known as the Controller Placement Problem (CPP).
SDN offers unparalleled flexibility, its efficacy is dependent on the clever placement of controllers [13]. Determining the optimal number of controllers, their locations and which controller should manage each switches known as the Controller Placement Problem. Finding the optimal values for the network performance parameters to improve the network efficiency is challenging. The CPP has a significant impact on different performance parameters. To improve the SDN performance, different algorithms are applied to address the CPP, such as optimization and heuristic. The application of optimization algorithms has the potential to enhance the overall network effectiveness.
Optimization problem
To manage the entire network, the SDN requires multiple controllers. Thus, CPP is a constraining issue that must satisfy various objectives such as cost optimization and different latencies. Hence, we chose to address this problem as an Integer Linear Programming using the Lexicographic Multi-objective optimization method. This method ordered the objective functions according to their importance.Each optimization function is solved without degrading any of the previous optimization functions. In the first, we proposed some approaches that optimize one or two objectives to study the impact of considering some objectives on the others. These approaches, named Cost Model (
The financial cost;
Controller-to-Switch Latency;
Controller-to-Controller Latency;
Controller-to-Controller Hops number and Controller-to-Switch Hops number.
Various contributions presented in state-of-the-art focused on one or two objectives. However, the objectives are often in competition with each other, where the optimization of one leads to the deterioration of the others. Therefore, we have to consider Cost, Controller-to-Controller Latency, Controller-to-Switch Latency, Controller-to-Controller Hops number, and Controller-to-Switch Hops number all to gather to improve the network efficiency. To this end, we propose a Controller Placement Approach with Criteria Balance (CPACB) based on a lexicographic method. The fundamental advantage of this proposed approach is optimizing all these different objectives.
Problem formulation
In this paper, we assume an SDN where a set of switches, noted S have been deployed over a geographical area. We consider that the locations of switches are given. Let L be a set of communication links between the switches. We assume that a controller can be co-located with any switch,
We have proposed different controller placement approaches under different parameters to study the impact of each one on the others. We consider that each switch can only be associated to one controller. Our first goal is to provide a minimum Number of Controllers, denoted
Let a binary decision variable
Parameters of the models
Parameters of the models
Variables of the models
As all the necessary parameters and variables are defined, we will present our approaches in the following sections.
Our first and primary model aims to minimize the cost parameter called the Cost Model (CM). It provides the optimum number of controllers and their locations. In addition, it must satisfy some constraints, such as the requirement that each switch be managed through a controller. The model is formulated as an Integer Linear Program (ILP) based on the main binary decision variable
Cost & Controller-to-Switch Latency Model (CCSLM)
The controller must frequently communicate with the managed switch to provide it with the forwarding rules. Thus, CCSLM approach considers the Controller-to-Switch Latency as well as the number of controllers (Cost) through the Lexicographic Multi-objective optimization method. For this end, the CM approach provides the optimum number of controllers (NC∗) that become a constraint in CCSLM. Moreover, Constraint (13) has been put in place to compute the Sum of Controller-to-Switch Latencies (SCSL), where
Cost & Controller-to-Controller Latency Model (CCCLM)
In CCCLM, we consider the Controller-to-Controller Latency instead of the Controller-to-Switch Latency used in the previous model for this end, the constraint (13) of CCSLM is substituted by constraint (17) to compute the Sum of Controller-to-Controller Latencies (SCCL), where
Cost & Controller-to-Switch Hops Model (CCSHM)
Each hop in a path introduces processing and queuing delays. The more hops between the source and destination, the greater the cumulative latency. Therefore, minimizing the number of hops is essential to improve the network performance. Thus, in CCSHM, we consider both Cost and Controller-to-Switch Hops. The aim of CCSHM is to find the optimal number of hops in each path between each controller and these managed switches. The constraint (21) computes the hops number between each deployed controller and these managed switches. Constraints (9), (10), (11), (12), (14), (15) of CCSLM are preserved.
Cost & Controller-to-Controller Hops Model (CCCHM)
As the communication inter controllers is important for sharing information and collaboration, we decide to consider the inter controllers hops number. In CCCHM, we consider both Cost and Controller-to-Controller Hops. The aim of CCCHM is to find the optimal number of hops in each path between each controller and the other controllers with the optimum number of controllers.
The constraint (23) computes the sum of hops between each deployed controllers and other deployed controllers, constraints (9), (10), (11), (12), (14), (15) of CCSLM are preserved.
Controller Placement Approach with Criteria Balance (CPACB)
In this paper, our goal is to ensure a balance between the different parameters having an impact on the network performance. To this end, we have proposed Controller Placement Approach with Criteria Balance (CPACB) that aims to improve multiple parameters what fights improving one parameter to the detriment of others. Developed approach is based on the Lexicographic Multi-objective optimization method. In the first step, the CM provides the optimum number of controllers required to control all the switches (NC∗). In the second step, we get the optimum sum of latencies (SCSL + SCCL)∗ with combination of CCSLM and CCCLM. Finally, we optimize the sum of hop numbers (SCSH + SCCH). In CPACB, the optimal values of the key parameters in CPP denoted NC∗ and (SCSL + SCCL)∗ will become constraints to satisfy with constraint (30) and (39) respectively. Therefore, the stronger point of CPACB is to optimize the hop numbers without deteriorating other network performance parameters.
Experimental results
In this section, we present and discuss our numerical experiments in goal to evaluate the performance of our proposed approaches. The first objective of the experiments is to demonstrate the impact of optimizing one parameter on the others, while the second is to show the effectiveness of Controller Placement Approach with Criteria Balance (CPACB). Experiments were carried out on real network topologies available on the Internet Topology Zoo [7,8] to demonstrate the effectiveness of the proposed approaches. To evaluate the performance of our approaches, we have selected Abilene network topology [8] composed of 11 nodes as shown in Fig. 2 and ANS network topology [8] with 18 nodes shown in Fig. 3. Our proposed approaches were implemented using C

Abilene topology [8].

ANS topology [8].
To evaluate the performance of the different approaches, we used the following metrics:
We note that
The hyperparameters are a network topology (Number of switches and their position).
Comparison and discussion
Next, we reported the experimental results to evaluate the impact of improving some parameters on others. Moreover, we evaluate the Controller Placement Approach with Criteria Balance (CPACB).

Controllers placement under cost and SCSL (Abilene topology).

Average number of hops and controllers under cost and SCSL (Abilene topology).

Controllers placement under cost and SCSL (ANS topology).

Average number of hops and controllers under cost and SCSL (ANS topology).
To get some insights on the impact of improving one or two parameters to the detriment of others, we reported in Fig. 4, Fig. 5, Fig. 6, Fig. 7 and Table 3 the impact of considering only Cost or sum of Controller-to-switch Latency (SCSL) and considering both of them on the average number of hops (CSH, CCH) and required controllers. We can see in Fig. 4(a) and Fig. 5 that in the case of optimizing only cost, the three first positions are selected (0, 1, 2) (first optimal solution) in Abilene topology and, in Fig. 6(a) and Fig. 7 the five first positions are selected (0, 1, 2, 3, 4) in ANS topology. When optimizing only SCSL, the optimal solution is to put one controller to each switch (11 in Abilene topology and 18 in ANS topology) since the optimal average CSL is equal to zero as shown in Fig. 4(b) and Fig. 6(b) respectively. The same explication for CSH as the position of the controller and the switch it manages is identical. Note also that using as many controllers as the number of switches is a not negligible impact. In both Abilene and ANS topology the required number of controllers is more than three times the optimum. Next, we evaluate CCSLM that optimize both Cost and the SCSL. We notice in Fig. 4(c), Fig. 6(b), Fig. 5, Fig. 6(b) that the optimal number of controllers is three in Abilene topology and five in ANS topology with different position compared with Fig. 4(a) and Fig. 6(a). This can be explained by the fact that CCSLM optimizes SCSL with the optimal Cost, which provide a positioning where each controller will be as close as possible to the switches it manages. Hence, the Average Controller-to-Switch Hops number (CSH) is lower than that of CM, but to the detriment of the Average Controller-to-Controller Hops number (CCH). As can see from the results, the increase in the number of switches (11 in Abilene topology and 18 in ANS topology) leads to enhance the number of required controllers (3–11 in Abilene topology and 5–18 in ANS topology).
Average number of hops and controllers under cost and SCSL (Abilene & ANS)
Average number of hops and controllers under cost and SCSL (Abilene & ANS)
In this section, we have examined the impact of improving Cost and SCSL on the average Controller-to-switch Latency (CSL) and the average Controller-to-Controller Latency (CCL). Following figures Fig. 8, Fig. 9 and Table 4 demonstrates that considered only Cost, leads to select the first positions with an optimal number that managed all switches. Considered only SCSL parameter, leads to assigned one controller to each switch in order to minimize SCSL into zero Km. In CCSLM, the optimal number of required controllers is used with more performed position in terms of SCSL minimization but generate a significant average CCL even compared with average CCL of CM.

Average latency under cost and SCSL (Abilene topology).

Average latency under cost and SCSL (ANS topology).
Average latency under cost and SCSL (Abilene & ANS)
Now, we evaluate the impact of improving Cost and the sum of Controller-to-Controller Latency SCCL on CSH, CCH and required number of controllers. As shown in the following figures Fig. 10, Fig. 11 and Fig. 4(a), CM selects the three first optimal positions (0, 1, 2) in Abilene topology, each position has one or two hops to the others which generate less CCH, however it increases the CSH because the selected positions are closed and far from the switches positions. In the case when improving only SCCL, the selected positions are at one or two hops to each other. In the case ANS topology, the selected positions (five first closed positions) (0, 1, 2, 3, 4) with average CCH equal to 2 hops.

Average number of hops and controllers under cost and SCCL (Abilene topology).

Average number of hops and controllers under cost and SCCL (ANS topology).
Figure 12 and Fig. 13 demonstrate the impact of improving Cost and SCCL on CSL and CCL. We can note a significant decrease of average CCL when considering only SCCL and with Cost & Controller-to-Controller Latency Model (CCCLM) compared to CM. However, results illustrate a high value of average CSL in all cases. Due to selecting the closed controller positions in CM that provides the first optimal placements, this model decreases the average CCL but less than the first two cases which select closer positions.

Average latency under cost and SCCL (Abilene topology).

Average latency under cost and SCCL (ANS topology).
The relationship between Cost, latencies and Hops numbers is examined in the following figures Fig. 14 and Fig. 15. We notice a high average CCH in the case of CCSLM and a high average CSH in the case of CCCLM. In the both models, the difference between the average CSH and the average CCH is very significant. Considering Cost, SCSL and SCCL simultaneously provide a balancing between the average CSH and the average CCH and reduce considerably the gap between them. We clearly note the effect of optimizing some parameter on the others.

Average number of hops under SCSL and SCCL (Abilene topology).

Average number of hops under SCSL and SCCL (ANS topology).
We can observe in the subsequent Fig. 16 and Fig. 17 that considering both SCSL, SCCL and Cost reduces the average CSL and the average CCL and decrease significantly the gap between them. However, considering only one of them increases the other and enhances the gap.

Average latency under SCSL and SCCL (Abilene topology).

Average latency under SCSL and SCCL (ANS topology).
Observing the following figures Fig. 18 and Fig. 19, we can notice in cases when optimizing only SCSH and Cost, provide a minimum CSH, however it provides a high value of the average CCH. In the case when we optimize only SCCH and Cost, Abilene Topology has the three closed positions with an optimum average CCH equal to one hop and a significant value of the average CSH, as illustrated in Fig. 18. Therefore, optimizing both SCSH and SCCH with an optimal number of controllers decreases considerably the gap between CCH and CSH.

Average number of hops under SCSH and SCCH (Abilene topology).

Average number of hops under SCSH and SCCH (ANS topology).
Similarly to the average number of hops, in Fig. 20 and Fig. 21, we can notice in the cases when optimizing SCSH and SCCH simultaneously with an optimal number of controllers, that the gap between CSL and CCL was decreased significantly. In ANS Topology (Fig. 21), we can notice in the case when optimizing Cost and SCSH, that the gap between the average CSL and the average CCL is equal to 1742 km, and 1841.7 km in the case when optimizing SCCH. However, this gap is reduced to 1053.2 in the case of optimizing both of them.

Average latency under SCSH and SCCH (Abilene topology).

Average latency under SCSH and SCCH (ANS topology).
In previous figures, we evaluated the impact of considering Cost and one or two parameters on the other parameters. We can clearly notice a significant gap between the different evaluation metrics. In the next, we evaluate the effectiveness of Controller Placement Approach with Criteria Balance (CPACB) that considers the different network performance parameters in order to ensure a balance between them. The CPACB approach optimizes the CSH and CCH with the optimum number of controllers and the optimal latencies based on the Lexicographic Multi-objective optimization method. The following figures Fig. 22, Fig. 23, Fig. 24, Fig. 25 and Table 5 illustrate the result of optimizing all parameters. We can notice that the most important advantage of CPACB is to reduce the gap between CCH and CSH. CPACB provides minimum hops numbers that ensures the optimal latencies with using the optimal number of controllers. It generates the optimum gap between CSL and CCL. We can see that CCCHM outperform the CPACB in term of CCH, because CCCHM optimizes the CCH in detriment of CSH (Fig. 18 and Fig. 19) and latencies (Fig. 20 and Fig. 21),which have reached a high values. Similarly in the case of CCSHM with CSH.
We can clearly see that CPACB ensures the optimum Avg (Avg CSL, Avg CCL) in Fig. 24 and Fig. 25, it also ensures the optimum of both average CSL and average CCL. We notice, that CCSHM outperform the CPACB in term of CSL, because CCSHM optimizes the CSH in detriment of CCH (Fig. 18 and Fig. 19) and CCL (Fig. 20 and Fig. 21) however, it increases the Avg (Avg CSH, Avg CCH) and the Avg (Avg CSL, Avg CCL). For all these reasons, we conclude that CPACB has proved its effectiveness in providing an optimal controller placement strategy that ensures a balance between the various network performance parameters.

Average number of hops with CPACB and others approaches (Abilene topology).

Average number of hops with CPACB and others approaches (ANS topology).

Average latency with CPACB and others approaches (Abilene topology).

Average latency with CPACB and others approaches (ANS topology).
Average latency with CPACB and others approaches (Abilene and ANS topologies)
Controller placement problem in Software Defined Networks is a challenging issue. The objective of this problem is to find the optimal number of controllers to deploy and their best positions such that all switches were managed by one controller. The Greatest solution is one that optimizes the different network performance parameters. The first goal of this paper is to study the effect of optimizing some parameters on the others. Therefore, we developed different optimization approaches each one considering one or two parameters. We have considered several parameters such as the Cost, latencies and hops numbers. The evaluation results affirm that improving some parameters deteriorates others. Thus, we have proposed a Controller Placement Approach with Criteria Balance that aims to optimize all previous parameters based on Lexicographic Multi-objective optimization method. The experimental results reveal that CPACB outperform others model and provide the best solution to the CPP then others models under different performance parameters. The stronger point of this approach is the ability to reduce the gaps between the different parameters and ensure a balance between them. The SDN have proven their ability to improve network performance. For this reason, it is interesting to use the SDN concept in several application areas, such as Wireless Sensor Network, the Internet of Things and Vehicular Ad-hoc Networks (VANETs). In future work, we aim to improve this approach to resolve the CPP in a vehicular network by considering the specific characteristics of this kind of network. The main characteristic of VANETs is the rapid change in topology due to the speed of vehicles and the network density.
Conflict of interest
The authors have no conflict of interest to report.
