 Research
 Open Access
 Published:
Control plane delay minimizationbased capacitated controller placement algorithm for SDN
EURASIP Journal on Wireless Communications and Networking volume 2019, Article number: 282 (2019)
Abstract
Softwaredefined networking (SDN) is proposed as a new network paradigm which decouples control plane from data plane and provides flexible network management. In this paper, we consider the capacitated controller placement problem in SDN, which jointly determines the number, location, and the capacity matching strategy of SDN controllers. redTo stress the importance of control plane delay which is composed of both the transmission and processing delay between controllers and switches, and the intercontroller delay; we formulate control plane delay minimization problem subject to controllerswitch association constraints, controller capacity constraints, etc. Since the formulated optimization problem is a complicated nonlinear integer programming problem which cannot be solved easily, we transform it into controllerswitch association subproblem and controller capacity matching subproblem. To solve the controllerswitch association subproblem, we propose a heuristic algorithm based on Dijkstra algorithm and Kmeans algorithm. Given the controllerswitch association strategy, we then apply the KuhnMunkres (KM) algorithm to solve the controller capacity matching subproblem and obtain the capacitated controller placement strategy. Simulation results are shown to demonstrate the effectiveness of the proposed algorithm.
Introduction
The rapid development of broadband services and the quick growth of user data traffic pose challenges to traditional network architectures and management technologies. It is highly difficult for traditional networks to meet the increasing user service requirements due to inflexible network architectures, complicated network management mechanisms, poor scalability, and low utilization of network resources [1, 2]. To tackle this problem, researchers proposed softwaredefined networking (SDN) technology [3].
As a promising novel network paradigm, SDN is capable of separating data plane from control plane. The controllers in the control plane are responsible for centrally controlling and managing the forwarding devices in the data plane, e.g., routers or switches [4]. On the other hand, the data forwarding devices only need to conduct the flow forwarding policies received from the controllers and and no longer participate in network control [5]. Through applying logically centralized control and efficient management, SDN is expected to greatly simplify the forwarding function of the underlying devices and the control process of the entire network, and promote the rapid deployment of complex network functions by offering application programming interface (API) for network administrators [6].
For an SDN scenario consisting of multiple switches, a certain number of controllers should be deployed [7]. The controller placement problem should be studied which typically refers to how to place controllers in the network and how to allocate the associated switches to those controllers, i.e., determining the number of controllers, their optimal location, and the association relationship between controllers and switches [8]. As the controllers are required to conduct signaling interaction with their associated switches as well as with other controllers, the problem of controller placement is of particular importance as the location and capability of the controllers may highly affect the signaling transmission performance in control plane, i.e., the signaling interaction performance between switches and controllers, and that between controllers.
Some previous research works addressed the energy consumption or the transmission cost required for transmitting signaling messages between switches and controllers and proposed controller placement strategies which aim to achieve the lowest energy consumption or the minimum transmission cost [9–18]. However, as a major performance metric characterizing service transmission performance, the signaling transmission delay should be considered when designing optimal controller placement strategies. While the signaling propagation delay between controllers and switches was mainly considered in [19–24], the intercontroller signaling transmission, which is mandatorily required for achieving controller synchronization over network states, failed to be considered extensively.
A general assumption in previous research works was that the controllers to be deployed are of exactly the same characteristics which can be arbitrarily defined; however, in a practical deployment scenario, the characteristics of the controllers which can be deployed may be subject to certain constraints. For instance, it is highly possible that the controllers can only be selected from a given candidate controller set, and the parameters of the controllers are also predefined in a certain parameter set. In this case, the capacitated controller placement problem, i.e., determining the number, location, and capacity of controllers based on a candidate controller set, should be considered [25–31].
In this paper, we assume that the controllers can only be selected from a given candidate controller set and study the capacitated controller placement problem of SDN. In particular, it is assumed that the capacity of the candidate controllers which characterizes the processing capability of the controllers is chosen from a certain set containing various predetermined capacity values. To achieve efficient placement of the controllers, we propose an SDN hierarchical management architecture. Then, stressing the importance of control plane delay which is composed of both the transmission and processing delay between controllers and switches, and the synchronization delay between controllers, we formulate control plane delay minimization problem subject to controllerswitch association constraints and controller capacity constraints, etc. Since the formulated optimization problem is a complicated nonlinear integer programming problem which cannot be solved easily, we transform it into controllerswitch association subproblem and controller capacity matching subproblem. To solve the controllerswitch association subproblem, we propose a heuristic algorithm based on Dijkstra algorithm and Kmeans algorithm. Given the controllerswitch association strategy, we then apply the KuhnMunkres (KM) algorithm to solve the controller capacity matching subproblem and obtain the corresponding capacitated controller placement strategy.
We summarize the major contributions of this work as follows:
In this paper, we study the capacitated controller placement problem of SDN. To achieve the efficient placement of the controllers, we design an SDN hierarchical management architecture based on which the proposed capacitated controller deployment scheme can be conducted.
While previous research work [19–24] aimed to achieve the minimum propagation delay between controllers and switches when designing controller placement strategy for SDN, they failed to examine extensively the intercontroller delay, the signaling transmission delay between controllers and switches, and the signaling processing delay at the controllers which may jointly affect the transmission performance of the user services severely. In this paper, we examine the control plane delay of SDN comprehensively; formulate it as a sum of the transmission delay and propagation delay between controllers and switches, the processing delay at the controllers, and the intercontroller delay; and design an effective capacitated controller placement strategy which minimizes control plane delay.
While most of the previous research works made a general assumption that the controllers to be deployed are of exactly the same characteristics which can be arbitrarily chosen, in practical deployment scenarios, the characteristics of the controllers which can be deployed may be subject to certain constraints and the parameters of the controllers might be predefined. In this paper, we assume that the controllers can only be selected from a given parameter set; in particular, the processing capability of each candidate controller is chosen from a certain set containing various predetermined capacity values, and design the capacitated controller placement strategy which jointly determines the number and location of the controllers and the matching strategy between the controllers and the capacity values.
We formulate the capacitated controller placement problem as control plane delay minimizationbased optimization problem. Since the formulated optimization problem is a complicated nonlinear integer programming problem which cannot be solved easily, we transform it into controllerswitch association subproblem and controller capacity matching subproblem. To solve the controllerswitch association subproblem, we propose a heuristic algorithm based on Dijkstra algorithm and Kmeans algorithm. Given the controllerswitch association strategy, we then apply the KM algorithm to solve the controller capacity matching subproblem and obtain the capacitated controller placement strategy.
The remainder of this paper is structured as follows. Section 2 reviews some related works. Section 3 describes the system model and the proposed SDN hierarchical management architecture. In Section 4, the capacitated controller placement problem is formulated. The solution to the formulated optimization problem is described in Section 5. Simulation results are presented in Section 6. Finally, Section 7 concludes this paper.
Related work
In this section, we present an overview of the related work.
Energy consumption minimizationbased controller placement algorithms
As an important metric, energy consumption is often stressed when designing the optimal controller placement strategy for SDN. In [9], the authors proposed to switch off as many control links as possible in order to reduce the energy consumption of the network while ensuring all the switches are capable of connecting to one controller under maximum delay constraint. Jointly considering the propagation delay between controllers and switches, the load status of the controllers, and link utilization, the authors further proposed a controllerswitch association algorithm to reduce network energy consumption. In [10], the authors considered the controller placement problem of SDN from the perspective of energy consumption of the control link between controllers and switches. Considering the energy consumption of the network that serves for the control traffic, the propagation delay, and the load of controllers, the authors formulated the controller placement problem as an energy consumption minimizationbased binary integer programming problem and obtained the optimal strategy by solving the optimization problem.
Cost effective controller placement algorithms
While energy consumption minimization was addressed when designing controller placement strategy in SDN [9, 10], network signaling cost may also have a significant impact on the traffic transmission performance through the network; hence, some research works considered the cost for deploying SDN controllers and proposed costeffective controller placement strategies [11–18].
The authors in [11] considered the signaling cost of transmitting flow setup requests from switches to their associated controllers in SDN. By defining the signaling cost as the product of the number of flow setup requests and the signaling transmission delay between controllers and switches, the controller placement problem was formulated to minimize the signaling cost, and the optimal placement strategy of the controller was obtained by solving the optimization problem. In [12], a cost function was defined as a weighted sum of the state collection cost of switches, intercontroller synchronization cost, and switch reassignment cost. Aiming to minimize the cost function, the authors proposed a heuristic algorithm to determine the optimal number and placement strategy of the controllers. The authors in [13] jointly considered the communication cost between controllers, and that between controllers and switches. In order to reduce the two types of communication costs, a Pareto optimal solution for controller placement was proposed.
Dynamic controller placement problem of SDN was addressed in [14–16]. Under the assumption that controllers were statically deployed in the network and switches were statically associated to the controllers, the authors in [14] studied dynamic controller association problem. By formulating the problem as an online optimization problem which minimizes the overall cost caused by transmitting flow setup requests and the maintenance cost of the controllers, a hierarchical twophase algorithm was proposed to obtain the suboptimal controller placement strategy. In [15], the authors proposed a twolevel hierarchy (master and slave) control framework and designed a slave controller placement strategy to optimize control cost and control plane delay. In [16], dynamic controller placement and flow management problems were jointly considered for SDN and a joint optimal strategy was proposed to minimize maintenance cost and maximize controller utilization as well.
The financial cost for deploying controllers in SDN was considered in [17, 18]. In [17], the authors jointly considered the financial cost for installing controllers and setting up association relationship between switches and controllers and formulated the controller placement problem as an overall financial cost minimization problem. The optimal placement strategy of the controllers was obtained by solving the optimization problem. The problem of reorganizing an existing SDN was addressed in [18]. The financial cost for reorganizing the network was defined as the total cost for deploying or removing controllers, and setting up or removing network links, and an optimal reorganizing strategy was proposed which minimizes the financial cost.
Delay minimizationbased controller placement algorithms
The previous works in [9–18] focused on minimizing energy consumption or designing costeffective controller placement strategies for SDN; however, it can be observed that the transmission delay or propagation delay between switches and controls may affect network performance significantly; thus, it is highly desired to design delay minimizationbased controller placement strategy.
The control plane delay between switches and controllers was considered in designing the optimal SDN controller placement strategy [19–24]. The authors in [19] studied the problem of placing controllers in SDN with wireless southbound interface. To achieve low signaling transmission latency and link failure probability, a heuristic solution was proposed based on simulated annealing genetic algorithm. In [20], the propagation delay from switches to controllers was examined and the propagation delay bound was set as a criterion to obtain the location and the number of controllers being deployed in the SDN scenario. In [21], the authors considered an SDN scenario consisting of a certain number of subnetworks and characterized the controller placement problem as a network partition problem. By employing Kmeans algorithmbased scheme, the maximum propagation delay between controllers and switches in each subnetwork was minimized. In [22], a controller placement approach based on community detection was proposed. The authors regarded the SDN topology as a network composed of multiple communities and designed controller placement strategy for each community. To further constrain the number of nodes in each community and achieve the balance of the controllers in different communities, a scale constraint factor was introduced. In [23], the authors formulated the flow setup time of various switches and optimally designed the controller placement strategy so as to minimize the average flow setup time. In [24], the authors divided the entire network into several subnetworks and proposed a modified density peaks clustering (MDPC) algorithm to design the controller placement strategy, so as to minimize the average propagation latency between switches and controllers.
In the case that network failures may occur, for instance, controllers, switches, or the links between switches may become unavailable, robust controller placement strategies are highly desired. To enhance the resilience of the controllers, the authors in [25] proposed to deploy redundant controllers at various resilience levels. By minimizing the propagation delay between the redundant controllers and switches, the optimal resilient controller placement strategy can be obtained. The research work in [26] considered the tradeoff among various performance requirements, such as load balancing, failure tolerance, and transmission latency, and in order to achieve the tradeoff, an optimal controller placement framework based on the Pareto game model is proposed. The authors in [27] considered the delay between controller and the associated switches in link failure state and proposed a particle swarm optimizationbased heuristic controller placement method to guarantee the delay and reliability in control plane.
While the authors in [20–27] stressed control plane delay optimization, they mainly considered a relatively simple delay formulation and ignored some important delay components, such as the signaling transmission delay, signaling processing delay, and the intercontroller delay. Furthermore, most of the previous research works assumed that the controllers to be deployed are of exactly the same characteristics which can be arbitrarily set; however, in practical deployment scenarios, the characteristics of the controllers may be subject to certain constraints and the parameters of the controllers might be predefined in a certain parameter set, in which case, the problem of capacitated controller placement or joint controller placement and capacity matching should be studied.
In [28], the authors explored and investigated more possible delay contributors, including the endtoend latency and the queuing latency of controllers. The concept of network partitioning was introduced to decrease endtoend delay. To further reduce the queuing latency of controllers, it is proposed to place appropriate multiple controllers in the subnetworks. The authors in [29] jointly took into account the propagation delay from switches to controllers and the load balancing among controllers and characterize the capacitated controller placement problem as a propagation delay minimization problem under controller load constraints. In [30], the authors designed a capacitated controller placement strategy which minimizes the worst case latency. Reference [31] considered the latency requirement of the links between switches and controllers, and those between controllers, and proposed a heuristic cliquebased approach to determine the suboptimal controller placement strategy. In this paper, we extended our previous work on controller placement in SDN [32]. Under the assumption that the capacity of the controllers can only be chosen from a certain set containing various predetermined capacity values, we study the capacitated controller placement problem based on control plane delay minimization and the optimal placement strategy of the controllers is obtained by solving the optimization problem.
System model and proposed SDN hierarchical management architecture
In this section, we first present the system model of this paper, then proposed an SDN hierarchical management architecture.
System model
In this paper, we consider an SDN system in which certain number of switches are deployed in a given area. Assuming that switches may have different traffic transmission requirements and are allowed to choose controllers from a given specific set, we study the capacitated controller placement problem of the network. We assume that the colocation of switches and controllers is allowed, i.e., each controller can be deployed colocated with one switch. Without loss of generality, we assume that the transmission delay between one controller and its colocated switch can be ignored.
We denote the number of switches in the network as N. Let V ={V_{1},V_{2},...,V_{N}} denote the set of switches, where V_{i} denotes the ith switch, 1≤i≤N. To characterize the connection status between switches, we define binary identifier α_{ij}, i.e., we set α_{ij}=1, if V _{i} is directly connected with V _{j} in the network; otherwise, α_{ij}=0. In this paper, we assume that the network topology is known; thus, α_{ij} is a known constant. Let C _{i} denote the ith controller, for convenience, we assume that C _{i} is colocated with V _{i}, 1≤i≤N. We assume that the maximum number of controllers that can be deployed is M, and the capacity of the controllers is specified. Let Φ={ϕ_{1},ϕ_{2},...,ϕ_{M}} denote the set of controller capacity, where ϕ_{m} represents the mth capacity value which can be assigned to one controller. Without loss of generality, the capacity of one controller is defined as the average rate of processing signaling message [33]. All symbols and variables used in this paper are summarized in Table 1.
Figure 1 shows the system model considered in this paper. As an example, in Fig. 1, we assume that the controller C _{1} is deployed colocated with switch V _{1}; thus, the signaling interaction between C _{1} and V _{4} requires a multihop path from V _{1} to V _{4} via V _{2} and V _{3}. In the case that V _{4} tends to transmit user flows to other switches and no flow forwarding rules have been precached, V _{4} should send packetin message to C _{1} and then forward user flows according to the received flow forwarding strategy from C _{1}. As the signaling message interaction process between V _{4} and C _{1} results in control plane delay, it is obvious that shorter control plane delay is highly desired. From this example, we can also observe that given the topology of SDN switches, various controller placement strategies may result in different control plane delay. Hence, in this paper, we stress the importance of control plane delay and design capacitated controller placement strategy.
Proposed SDN hierarchical management architecture
In SDN, the available controller resources need to be managed in a coordinated manner to guarantee the latency requirements of switches and meet the capacity limitation of controllers. In order to achievethe efficient placement of the controllers and achieve centralized network management, we propose an SDN hierarchical management architecture and design the capacitated controller deployment scheme based on the proposed architecture.
Figure 2 shows the proposed SDN hierarchical management architecture, which is composed of two types of functional entities, i.e., local management entity (LME) and global management entity (GME). The major functions of LME and GME can be summarized as follows.
LME
Being deployed at each switch, LME is responsible for collecting the state information of the switch, such as the average arrival rate of signaling messages, the transmission rate of the links between switches, and the maximum tolerable control plane delay of the switch. Through interacting with the GME, the LME sends the collected information to the GME. In addition, the LME also receives the obtained controller placement strategy from the GME.
GME
Being deployed over the switches and the controllers, GME acts as a centralized manager of the network. Through interacting with the associated LMEs, GME receives the state information of the switches. Based on the obtained information, GME is capable of conducting the proposed capacitated controller placement algorithm and obtaining the controller placement strategy.
Capacitated controller placement problem formulation
In this section, we first take into account the flow transmission requirement of the switches and determine the candidate controllers set for individual switches; then, we formulate the capacitated controller placement problem as a control plane delay minimizationbased optimization problem.
Candidate controller set
The switches transmitting different user flows may have various requirement on signaling transmission performance. For instance, in the case of transmitting delaysensitive user flows, the shorter endtoend delay and control plane delay are highly desired. On the other hand, some delaytolerant services may not have high requirement on flow transmission delay and control plane delay. In this paper, we assume that the switches in the SDN might be of different sensitivity on control plane delay, thus place constraints on their associated controllers. Let \(D_{ij}^{\mathrm {s}}\) denote the control plane delay when V _{j} associates with C _{i} (we will give the mathematical expression of \(D_{ij}^{\mathrm {s}}\) in the next subsection) and \(D_{j}^{\text {max}}\) denote the maximum tolerable control plane delay of V _{j}; we define the candidate controller set for individual switch to characterize the requirements of different switches, i.e., only the controllers belonging to the candidate controller set of one switch can be selected as the associated controller of the switch. Let Ψ_{j} denote the candidate controller set of V _{j}; we can express Ψ_{j} as
Control plane delay formulation
The control plane delay D of the SDN can be expressed as
where D^{s} denotes the delay between controllers and switches, D^{c} denotes the intercontroller delay, α∈[0,α_{0}] is a weighting factor characterizing the importance of intercontroller delay, and α_{0}≥1 is a given constant.
Delay between controllers and switches
The delay between controllers and switches, i.e., D^{s} in (2), can be calculated as
where x_{ij} denotes the binary association variable between V _{j} and C _{i}, i.e., we set x_{ij}=1, if V _{j} associates with C _{i}; otherwise, x_{ij}=0, 1≤i,j≤N. \(D_{ij}^{\mathrm {s}}\) in (3) can be expressed as
where \(D_{ij}^{\mathrm {p}}\) denotes the propagation delay between V _{j} and C _{i}, \(D_{ij}^{\mathrm {t}}\) denotes the transmission delay between V _{j} and C _{i}, and \(D_{i}^{\mathrm {w}}\) denotes the signaling processing time at C _{i}.
\(D_{ij}^{\mathrm {p}}\) in (4) can be calculated as
where \(L_{ij}^{h}\) denotes the length of the hth hop link between V _{j} and C _{i}, H_{ij} denotes the total hops of the path between V _{j} and C _{i}, and v_{0} denotes the propagation velocity of electromagnetic wave.
\(D_{ij}^{\mathrm {t}}\) in (4) can be expressed as
where λ_{j} denotes the average arrival rate of the signaling messages sent from V _{j} over time duration T_{0}, β denotes the average size of the signaling messages, and \(R_{ij}^{h}\) denotes the transmission rate of the hth hop link between V _{j} and C _{i}.
In this paper, we assume that the signaling messages arrived at the controllers are processed in a firstcomefirstserve (FCFS) manner; thus, \(D_{i}^{\mathrm {w}}\) in (4) can be calculated as
where μ_{i} denotes the capacity of C _{i}, which can be expressed as
where z_{im} is the binary capacity matching variable, i.e., we set z_{im}=1, if the capacity of C _{i} is set as ϕ_{m}; otherwise, z_{im}=0, l_{i} denotes the signaling load of C _{i}, which is defined as the total amount of signaling messages arrived at C _{i} [29], i.e.,
Intercontroller delay
The intercontroller delay denoted by D^{c} in (2) can be expressed as
where y_{i} denotes the binary controller placement variable of C _{i}, i.e., we set y_{i}=1, if C _{i} is placed at V _{i}; otherwise, y_{i}=0.
In order to create a global view of the network, control signaling interaction between controllers is required. In this subsection, we characterize intercontroller delay as the sum of the propagation delay and the transmission delay of the communication signaling messages transmitted between controllers, i.e.,
where \(D_{ij}^{{c,p}}\) and \(D_{ij}^{{c,t}}\) denote respectively the propagation delay and the transmission delay of the communication signaling transmitted between C _{i} and C _{j}. \(D_{ij}^{\mathrm {c,p}}\) can be calculated as the product of the normalized signaling load of the controllers and the propagation delay between C _{i} and C _{j}, i.e.,
\(D_{ij}^{\mathrm {c,t}}\) can be expressed as
Optimization constraints
The optimal capacitated controller placement strategy should be designed under a number of constraints including association constraints between controllers and switches, controller capacity constraints, and capacity matching constraints.
Controllerswitch association constraints
In this paper, we assume that each switch can only associate with a unique controller, i.e.,
As switches can only associate with their candidate controllers, we obtain:
The association variable and controller placement variable should meet the following constraint:
The signaling load arriving at one controller cannot exceed the capacity of the controller, i.e.,
Controller placement constraints
As the total number of the controllers being placed should be less than M, we obtain
We assume that the capacity of each controller should match one given value in the set Φ, and one given capacity value is assigned to one controller, we obtain
Optimization problem formulation
In this paper, we consider the capacitated controller placement problem in SDN. To stress the importance of control plane delay which is composed of both the transmission and processing delay between controllers and switches, and the intercontroller delay, we formulate controller placement problem as control plane delay minimization problem, which can be expressed as follows:
Solution to the optimization problem
The formulated optimization problem in (14) is a complicated nonlinear integer programming problem which cannot be easily solved. In this section, we transform it into controllerswitch association subproblem and controller capacity matching subproblem and solve the two subproblems successively [14].
Controllerswitch association subproblem
In this subsection, we first assume that the capacity of the controllers is large enough; thus, the signaling processing time at C _{i}, denoted by \(D_{ij}^{\mathrm {w}}\), is negligible in comparison with the propagation delay and transmission delay. We can then reduce the formulated optimization problem in (14) to a controllerswitch association subproblem, i.e.,
To solve the above controllerswitch association subproblem, we propose a heuristic algorithm based on Dijkstra and Kmeans algorithms [34, 35].
Dijkstrabased optimal route selection strategy
Examining the objective function in (15), we can see that for any two nonadjacent switches, V _{i} and V _{j}, the delay terms \(D_{ij}^{\mathrm {p}}\) and \(D_{ij}^{\mathrm {t}}\) may involve multihop links, hence may not be calculated easily. In this paper, we apply the Dijkstra algorithm, which is widely used to solve the shortest path problem in a weighted directed graph, to compute the optimal route between V _{i} and V _{j}, and to obtain the minimal \(D_{ij}^{\mathrm {p}}\) and the minimal \(D_{ij}^{\mathrm {t}}\) accordingly.
Considering the multihop transmission between V _{i} and V _{j}, we can express \(D_{ij}^{\mathrm {p}}\) as
where θ_{kn}∈{0,1},k≠n is the route selection variable between adjacent switches V _{k} and V _{n}, i.e., θ_{kn}=1, if V _{k} and V _{n} are adjacent switches and the data packets pass through the link between V _{k} and V _{n} when being transmitted from V _{i} to V _{j}. To guarantee the endtoend transmission from V _{i} to V _{j}, θ_{kn} should meet the following constraints:
The optimization problem of determining the optimal route between V _{i} and V _{j} which achieves the minimal \(D_{ij}^{\mathrm {p}}\) can then be formulated as
Applying the Dijkstra algorithm to solve the optimization problem formulated in (20), we create a weighted directed graph G=(V,E,W), where E={E_{kn}} is the link set, E_{kn} represents the link between V_{k} and V_{n}, W={w_{kn}} is the weight set, and w_{kn} is the weight of E_{kn}, which can be expressed as
where L_{kn} denotes the length between V_{k} and V_{n}.
By solving the shortest path problem for G, we can obtain the optimal route between V _{i} and V _{j} offering the minimum endtoend propagation delay. Let \(\theta _{kn}^{*}\) denote the optimal route selection strategy; the optimal propagation delay between V _{i} to V _{j}, denoted by \(D_{ij}^{\mathrm {p},*}\), can be calculated accordingly.
Following the similar manner, we are capable of calculating the optimal transmission delay between V _{i} and V _{j}, denoted by \(D_{ij}^{\mathrm {t},*}\). In addition, substituting \(D_{ij}^{\mathrm {p},*}\) in (12), and recalculating (11), we can also obtain the updated propagation delay between controllers C _{i} and C _{j}, denoted by \(D_{ij}^{\mathrm {c},*}\).
Kmeansbased controller placement strategy
Given \(D_{ij}^{\mathrm {p},*}\), \(D_{ij}^{\mathrm {t},*}\), and \(D_{ij}^{\mathrm {c},*}\), the controllerswitch association subproblem formulated in (15) can be rewritten as
Since one controller in the network may associate with a number of switches, we may form a cluster with the controller being the cluster head while its associated switches being the cluster members. Hence, the SDN network topology can be regarded as a clusterbased form. By applying clustering methods, the reasonable controller placement and controllerswitch association strategy can be obtained.
In this paper, we apply Kmeans algorithm [21], which is an efficient clustering method to determine the number and location of the controllers and propose a Kmeans algorithmbased optimal controller placement strategy. The steps of the proposed algorithm can be described as follows:
 1.
Determine the first controller: for each switch, calculate the sum of the transmission delay and propagation delay when connecting with all other switches, i.e., for ∀V_{j}, compute \(\sum _{i=1}^{N}(D_{ij}^{\mathrm {t},*}+D_{ij}^{\mathrm {p},*})\), and select the switch which offers the minimum sum of the transmission delay and propagation delay to place the first controller, i.e., \(C_{i_{1}}=\text {argmin} \sum _{j=1}^{N}(D_{ij}^{\mathrm {t},*}+D_{ij}^{\mathrm {p},*})\), \(y_{i_{1}}^{\ast }=1\);
 2.
Set m=2;
 3.
Determine the mth controller: Calculate the sum of the transmission delay and propagation delay between each switch and deployed controllers, select the switch which offers the minimum propagation delay and transmission delay to deploy the mth controller, i.e., \(C_{i_{m}}=\text {argmin}~\sum _{i_{0}=i_{1}}^{i_{m1}} (D_{i_{0}i}^{\mathrm {t},*}+D_{i_{0}i}^{\mathrm {p},*})\), where \(C_{i_{m}}\) represents the mth controller which is deployed at \(V_{i_{m}}\), \(y_{i_{m}}^{\ast }=1\);
 4.
Determine controllerswitch association strategy, i.e.,
\(\{x_{i_{1}j}^{*},x_{i_{2}j}^{*},\cdots,x_{i_{m}j}^{*}\}=\text {argmin}~\sum _{i_{0}=i_{1}}^{i_{m}}\sum _{j=1}^{N}(D_{i_{0}j}^{\mathrm {p},*}+D_{i_{0}j}^{\mathrm {t},*})+\sum _{i_{0}=i_{1}}^{i_{m}}\sum _{\substack {{i_{0}^{\prime }=1}\\i_{0} \neq i_{0}^{\prime }}}^{i_{m}}D_{i_{0}i_{0}^{\prime }}^{\mathrm {c}}\);
 5.
Set m=m+1; if m<M, repeat step 3 and step 4.
The proposed controllerswitch association algorithm is described in Algorithm 1.
Controller capacity matching subproblem
In this subsection, we assume that M controllers have been placed and all the switches have been associated with one controller, then solve the controller capacity matching subproblem. Assuming C _{i} is placed at V _{i}, i.e., \(y_{i}^{\ast } = 1\), and V _{j} has been associated with C _{i}, i.e., \(x_{ij}^{\ast }=1, 1 \leq i,j \leq N \), the optimal controller capacity matching subproblem can be formulated as
where \(D_{ij}^{\mathrm {c},0}\) denotes the intercontroller delay corresponding to the obtained controller placement strategy \(y_{i}^{\ast }\) and switchcontroller association strategy \(x_{ij}^{\ast }\). Since \(D_{ij}^{\mathrm {p},*}\), \(D_{ij}^{\mathrm {t},*}\), and \(D_{ij}^{\mathrm {c},0}\) are all constants, the controller capacity matching optimization problem formulated in (23) can be converted into the following optimization problem:
Under the given constraints, the objective function of the above optimization problem can be rewritten as
where \(l_{i_{m}}=\sum _{j=1}^{N} x_{i_{m}j}^{\ast } \lambda _{j} \beta \). Hence, the optimization model formulated in (25) is equivalent to the following problem:
where \(l_{i_{m}}=\sum _{j=1}^{N} x_{i_{m}j}^{\ast } \lambda _{j} \beta \). Since the above optimization problem can be considered as an optimal matching problem in a weighted bipartite graph, it can be solved by the KM algorithm [36].
Applying the KM algorithm to solve the optimization problem in (26), we create a weighted network bipartite graph G^{0}=(V_{1},Φ,E^{′}), where the set of vertices V_{1} denotes the collection of the controllers, i.e., \(\phantom {\dot {i}\!}V_{1} =\{C_{i_{1}},C_{i_{2}},...,C_{i_{M}}\}\) and \(E'=\{E_{{i_{m}}, \phi _{m}}\}\phantom {\dot {i}\!}\) denotes the set of edge weight, and \(E_{{i_{m}}, \phi _{m}}=\frac {1}{\phi _{m}l_{i_{m}}}\phantom {\dot {i}\!}\).
The steps for solving the optimal controller capacity matching subproblem based on the KM algorithm can be described as follows.
 1.
Find an initial feasible vertex labeling and determine \(G_{0}^{l}\) from G_{0};
 2.
A distribution H is selected in \(G_{0}^{l}\);
 3.
If H is perfect, then the optimization problem is solved. Otherwise, the label having not being allocated by the distribution H is selected in \(G_{0}^{l}\). Set S=V_{1}, and T=ψ, which denotes the empty set;
 4.
Let \(N_{G_{0}^{l}}(S)\) denote the collection of points which connect with S in \(G_{0}^{l}\). If \(N_{G_{0}^{l}}(S)\neq T\), go to step 2. Otherwise, \(N_{G_{0}^{l}}(S) = T\). Find
$$ \Delta=\min\{l(u)+l(v)\ge w(u,v) u\in S, v\in V_{2}T\} \ $$(27)and replace the existing labeling l with l^{∗} by
$$ l^{'}(u)= \left\{ \begin{array}{ll} l(u)\Delta,~\textrm{\(u\in S\)}\\ l(u)+\Delta,~\textrm{\(u\in T\)}\\ l(u), ~\textrm{others.} \end{array} \right. $$(28)
This process is conducted iteratively until an optimal match is obtained. The proposed controller capacity matching algorithm is described in Algorithm 2.
It should be mentioned that the proposed Dijkstrabased optimal route selection strategy, Kmeansbased optimal controller placement strategy, and the controller capacity matching algorithm should be executed based on the proposed SDN hierarchical management architecture. More specifically, the LMEs collect the status information of their associated switches, such as the maximum tolerable control plane delay of the switch \(D_{j}^{\max }\), the average size of signaling messages β, and the average arrival rate of signaling messages λ_{j}. Through interacting with the associated LMEs, GME receives the state information of the switches. Based on the information obtained, the GME may conduct the proposed capacitated controller placement algorithm, obtain the controller deployment and matching strategy, characterized by x_{i,j}, y_{i}, z_{i,m}, and send the strategy to the LMEs.
Complexity analysis
In this section, we analyze the computational complexity of the proposed algorithm. As two subproblems, i.e., controllerswitch association subproblem and controller capacity matching subproblem, are successively solved, we examine the complexity for solving the two subproblems, respectively.
Controllerswitch association subproblem
For controllerswitch associated subproblem, the Dijkstra algorithm is applied to calculate the optimal route between V _{i} and V _{j}, 1≤i,j≤N. As the number of switches in the network is denoted by N, then computational complexity can be calculated as O(NlogN). Applying Kmeans algorithm to solve the controllerswitch association strategy, the computational complexity can be computed as O(NMT), where M denotes the number of cluster heads (controllers) and T denotes the number of iterations.
Controller capacity matching subproblem
Based on the controller placement strategy obtained from previous controllerswitch association subproblem, we formulate the controller capacity matching subproblem and obtained the matching strategy through applying the KM algorithm. Given the number of controllers M, it can be shown that the complexity of the algorithm is O(M^{4}).
Performance evaluation
In this section, we provide numerical results of the proposed algorithm and compare them with the previously proposed controller placement algorithms. In the simulation, we consider an SDN scenario consisting of a number of SDN switches which are randomly deployed in 2000 km × 2000 km square region. That is, the position of the switches follows uniform random distribution in the given simulation region. We assume that there is a random connection between any two switches in the region. The transmission rate of links is randomly selected from a set of values. To examine the characteristics of transmission links on the control plane delay, we consider three link characteristics cases, as summarized in Table 2.
In the simulation, the size of the packetin message β is set as 160 bytes [29], and the arrival rate of the packetin message requests of the switches is represented by λ_{j}, which are distributed in different ranges. In order to examine the difference of λ_{j}, we set three message request scenarios in the simulation. More specifically, different scenarios contain various percentage of the switches with λ_{j} being chosen from certain range; the specific simulation parameters are shown in Table 3. Simulation results are averaged over 400 independent processes involving independent instances.
Figure 3 shows the relationship between the control plane delay and the number of controllers obtained from different message request scenarios for link status case 1. We also compare the results obtained from the proposed scheme and the scheme proposed in [21]. We can see that for case 1, the control plane delay initially decreases as the number of controllers increases for three message request scenarios. However, when the number of controllers deployed in the network reaches a certain value, the control plane delay begins to increase as the number of controllers increases. This is because when the number of controllers increases, the intercontroller delay increases rapidly. Comparing the three curves in the figure, we can see that the proposed scheme outperforms the scheme proposed in [21]. The reason is that the algorithm proposed in [21] mainly aims to minimize the propagation delay between controllers and switches and ignores the transmission delay between controllers and switches, the processing delay at the controllers, and the intercontroller delay. In addition, the simulation results obtained for the three message request scenarios show that scenario 1 provides the best latency performance, while scenario 3 provides the worst latency performance. The reason is that the service request of the switches in scenario 1 is relatively low compared to the other two scenarios; hence, a minimum control plane delay can be obtained.
In Fig. 4, we examine the relationship between the control plane delay and the number of controllers for different link cases, i.e., case 2 and case 3 under scenario 3 of message requests. Similar to Fig. 3, we can see that for scenario 3, the control plane delay initially decreases as the number of controllers increases for two transmission rate cases. However, when the number of controllers deployed in the network reaches a certain value, the control plane delay begins to increase with the increase of controller number. This is because the intercontroller delay increases as the number of controllers increases. Comparing the results obtained from our proposed algorithm and the algorithm proposed in [21], we can see that the proposed scheme offers lower control plane delay than the scheme proposed in [21]. Simulation results obtained for different link cases indicate that case 3 provides a lower control plane delay and case 2 provides a higher control plane delay; this is benefited from the better transmission performance of the switches in case 3.
Figure 5 shows the relationship between the control plane delay and the number of controllers for different average size of the signaling messages (denoted by β). The link status and message request scenario are chosen as case 1 and scenario 2, respectively, in plotting the figure. We also compare the results obtained from the proposed scheme and the scheme proposed in [22] and [31]. We can see that the proposed algorithm offers a smaller controller plane delay than the scheme proposed in [22] and [31]. The reason is that the algorithm proposed in [22] failed to consider the processing delay at the controllers and the intercontroller delay, and the algorithm proposed in [31] assumed that the controllers are of the same capacity and failed to consider the capacity matching problem of the controllers, thus resulting in undesired controller plane delay. In addition, comparing the results obtained from different β, we can see that smaller β offers better delay performance, which is benefited from a lower load of message requests.
In Fig. 6, we consider the controller placement in different message request scenarios when the link status is case 1, and examine the relationship between the control plane and the number of switches. It can be seen from the figure, as the complexity of the network topology increases, the control plane delay increases accordingly. For comparison, we also plot the simulation results of the algorithm proposed in [21]. It can be seen from the figure that our proposed algorithm provides better latency performance. Furthermore, the simulation results obtained for the three message request scenarios show that scenario 1 provides the best latency performance, while scenario 3 provides the worst latency performance.
Figure 7 examines the relationship between control plane delay and the number of switches by varying the transmission rate of the switches, i.e., case 2 and case 3 under scenario 3 of message requests. As can be seen from the figure, the increase in the number of switches leads to an increase in control plane delay, and the delay performance obtained from case 3 is better than the delay performance obtained from case 2.
In Fig. 8, we examine the control plane delay versus the number of switches obtained from proposed scheme and random matching scheme which matches the capacity of the controller to the values in the given capacity set randomly. For comparison, we also plot the control plane delay obtained for different average size of the signaling messages denoted by β. The link status and message request scenario are chosen as case 1 and scenario 3, respectively, in plotting the figure. We can see that the proposed algorithm provides a smaller controller plane delay than the random matching algorithm. The reason is that the proposed controller matching scheme aims at minimizing the controller plane delay, thus resulting in desired delay performance. Comparing the results obtained from different β, we can see that smaller β offers better delay performance, which is benefited from a lower load of message requests.
Conclusion
In this paper, we consider the capacitated controller placement problem in SDN. To achieve the efficient placement of the controllers, we first propose an SDN hierarchical management architecture. Stressing the importance of control plane delay of the network, we formulate a control plane delay minimization problem subject to controllerswitch association, controller capacity constraints, etc. To solve the formulated optimization problem, we transform it into controllerswitch association subproblem and controller capacity matching subproblem. To solve the controllerswitch association subproblem, we propose a heuristic algorithm based on Dijkstra algorithm and Kmeans algorithm. Given the controllerswitch association strategy, we then apply the KuhnMunkres (KM) algorithm to solve the controller capacity matching subproblem and obtain the corresponding capacitated controller placement strategy. Simulation results validate the effectiveness of the proposed algorithm.
Availability of data and materials
Data sharing not applicable to this article as no datasets were generated or analyzed during the current study.
Abbreviations
 API:

Application programming interface
 GME:

global management entity
 KM:

KuhnMunkres
 LME:

local management entity
 QoS:

quality of service
 SDN:

softwaredefined networking
References
 1
P. Mell, T. Grance, The NIST definition of cloud computing. Commun. ACM. 53(6), 50 (2011).
 2
J. Zhao, Y. Liu, Y. Gong, C. Wang, L. Fan, A duallink soft handover scheme for C/U plane split network in highspeed railway. IEEE Access. 6:, 12473–12482 (2018). https://doi.org/10.1109/ACCESS.2018.2794770.
 3
W. Xia, Y. Wen, C. H. Foh, D. Niyato, A survey on softwaredefined networking. Communications Surveys Tutorials IEEE. 17(1), 27–51 (2015).
 4
D. Kreutz, F. M. V. Ramos, P. E. Ver\(\acute {i}\)ssimo, C. E. Rothenberg, S. Azodolmolky, S. Uhlig, Softwaredefined networking: a comprehensive survey. Proc IEEE. 103(1), 14–76 (2015). https://doi.org/10.1109/JPROC.2014.2371999.
 5
T. Das, V. Sridharan, M. Gurusamy, A survey on controller placement in SDN. Commun. Surv. Tutor. IEEE, 1–1 (2019). https://doi.org/10.1109/COMST.2019.2935453.
 6
J. Lu, Z. Zhang, T. Hu, P. Yi, J. Lan, A survey of controller placement problem in softwaredefined networking. IEEE Access. 7:, 24290–24307 (2019). https://doi.org/10.1109/ACCESS.2019.2893283.
 7
A. Ksentini, M. Bagaa, T. Taleb, in 2016 IEEE Global Communications Conference (GLOBECOM). On using SDN in 5G: the controller placement problem, (2016), pp. 1–6. https://doi.org/10.1109/GLOCOM.2016.7842066.
 8
G. Wang, Y. Zhao, J. Huang, W. Wang, The controller placement problem in software defined networking: a survey. IEEE Netw.31(5), 21–27 (2017). https://doi.org/10.1109/MNET.2017.1600182.
 9
A. RuizRivera, K. W. Chin, S. Soh, Greco: an energy aware controller association algorithm for software defined networks. IEEE Commun. Lett.19(4), 541–544 (2015). https://doi.org/10.1109/LCOMM.2015.2394457.
 10
Y Hu, T Luo, NC Beaulieu, C Deng, The energyaware controller placement problem in software defined networks. IEEE Commun. Lett.21(4), 741–744 (2017). https://doi.org/10.1109/LCOMM.2016.2645558.
 11
L Yao, P Hong, W Zhang, J Li, D Ni, in 2015 IEEE International Conference on Communication Workshop (ICCW). Controller placement and flow based dynamic management problem towards SDN, (2015), pp. 363–368. https://doi.org/10.1109/ICCW.2015.7247206.
 12
M. F. Bari, A. R. Roy, S. R. Chowdhury, Z. Qi, in Proceedings of the 9th International Conference on Network and Service Management (CNSM 2013). Dynamic controller provisioning in software defined networks, (2013). https://doi.org/10.1109/cnsm.2013.6727805.
 13
A. Ksentini, M. Bagaa, T. Taleb, I. Balasingham, in IEEE International Conference on Communications (ICC). On using bargaining game for optimal placement of SDN controllers, (2016), pp. 1–6. https://doi.org/10.1109/ICC.2016.7511136.
 14
T. Wang, F. Liu, H. Xu, An efficient online algorithm for dynamic SDN controller assignment in data center networks. IEEE/ACM Trans. Netw.25(5), 2788–2801 (2017). https://doi.org/10.1109/TNET.2017.2711641.
 15
W. Ren, Y. Sun, H. Luo, M. Guizani, A novel control plane optimization strategy for important nodes in SDNIoT networks. IEEE Internet Things J.6(2), 3558–3571 (2019). https://doi.org/10.1109/JIOT.2018.2888504.
 16
M. T. I. Huque, W. Si, G. Jourjon, V. Gramoli, Largescale dynamic controller placement. IEEE Trans. Netw. Serv. Manag.14(1), 63–76 (2017). https://doi.org/10.1109/TNSM.2017.2651107.
 17
A. Sallahi, M. StHilaire, Optimal model for the controller placement problem in software defined networks. IEEE Commun. Lett.19(1), 30–33 (2015). https://doi.org/10.1109/LCOMM.2014.2371014.
 18
A. Sallahi, M. StHilaire, Expansion model for the controller placement problem in software defined networks. IEEE Commun. Lett.21(2), 274–277 (2017). https://doi.org/10.1109/LCOMM.2016.2621746.
 19
A. Dvir, Y. Haddad, A. Zilberman, The controller placement problem for wireless SDN. Wirel. Netw. (2019). https://doi.org/10.1007/s11276019020775.
 20
T. Y. Cheng, M. Wang, X. Jia, in 2015 IEEE Global Communications Conference (GLOBECOM). QoSguaranteed controller placement in SDN, (2015), pp. 1–6. https://doi.org/10.1109/GLOCOM.2015.7416960.
 21
G. Wang, Y. Zhao, J. Huang, Q. Duan, J. Li, in 2016 IEEE International Conference on Communications (ICC). A kmeansbased network partition algorithm for controller placement in software defined network, (2016), pp. 1–6. https://doi.org/10.1109/ICC.2016.7511441.
 22
W. Chen, C. Chen, X. Jiang, L. Liu, Multicontroller placement towards SDN based on Louvain heuristic algorithm. IEEE Access. 6:, 49486–49497 (2018). https://doi.org/10.1109/ACCESS.2018.2867931.
 23
M. He, A. Basta, A. Blenk, W. Kellerer, in 2017 IEEE International Conference on Communications (ICC). Modeling flow setup time for controller placement in SDN: evaluation for dynamic flows, (2017), pp. 1–7. https://doi.org/10.1109/ICC.2017.7996654.
 24
Y. Qi, D. Wang, W. Yao, H. Li, Y. Cao, in ICC 2019  2019 IEEE International Conference on Communications (ICC). Towards multicontroller placement for SDN based on density peaks clustering, (2019), pp. 1–6. https://doi.org/10.1109/ICC.2019.8761814.
 25
M. Tanha, D. Sajjadi, J. Pan, in 2016 IEEE Global Communications Conference (GLOBECOM). Enduring node failures through resilient controller placement for software defined networks, (2016), pp. 1–7. https://doi.org/10.1109/GLOCOM.2016.7841786.
 26
S. Lange, S. Gebert, T. Zinner, P. TranGia, D. Hock, M. Jarschel, M. Hoffmann, Heuristic approaches to the controller placement problem in large scale SDN networks. IEEE Trans. Netw. Serv. Manag.12(1), 4–17 (2015). https://doi.org/10.1109/TNSM.2015.2402432.
 27
Z. Fan, J. Yao, X. Yang, Z. Wang, X. Wan, in 2019 28th Wireless and Optical Communications Conference (WOCC). A multicontroller placement strategy based on delay and reliability optimization in SDN, (2019), pp. 1–5. https://doi.org/10.1109/WOCC.2019.8770551.
 28
G. Wang, Y. Zhao, J. Huang, Y. Wu, An effective approach to controller placement in software defined wide area networks. IEEE Trans. Netw. Serv. Manag.15(1), 344–355 (2018). https://doi.org/10.1109/TNSM.2017.2785660.
 29
G Yao, G Bi, Y Li, L Guo, On the capacitated controller placement problem in software defined networks. IEEE Commun. Lett.18(8), 1339–1342 (2014).
 30
B. P. R. Killi, S. V. Rao, Capacitated next controller placement in software defined networks. IEEE Trans. Netw. Serv. Manag.14(3), 514–527 (2017). https://doi.org/10.1109/TNSM.2017.2720699.
 31
M. Tanha, D. Sajjadi, R. Ruby, J. Pan, Capacityaware and delayguaranteed resilient controller placement for softwaredefined WANs. IEEE Trans. Netw. Serv. Manag.15(3), 991–1005 (2018). https://doi.org/10.1109/TNSM.2018.2829661.
 32
L. Zhu, R. Chai, Q. Chen, in WCSP. Control plane delay minimization based SDN controller placement scheme, (2017), pp. 1–6. https://doi.org/10.1109/ICC.2017.7996654.
 33
Y. Zhao, L. Iannone, M. Riguidel, in 2015 IEEE Conference on Network Function Virtualization and Software Defined Network (NFVSDN). On the performance of SDN controllers: a reality check, (2016). https://doi.org/10.1109/nfvsdn.2015.7387410.
 34
P. Bogdan, in International Carpathian Control Conference (ICCC). Dijkstra algorithm in parallelcase study, (2015), pp. 50–53. https://doi.org/10.1109/ICCW.2015.7247206.
 35
Z. Junhui, Y. Tao, G. Yi, W. Jiao, F. Lei, Power control algorithm of cognitive radio based on noncooperative game theory. China Commun.10(11), 143–154 (2013). https://doi.org/10.1109/CC.2013.6674218.
 36
X. Zhou, L. Yang, D. Yuan, Bipartite matching based user grouping for grouped OFDMIDMA. IEEE Trans. Wirel. Commun.12(10), 5248–5257 (2013). https://doi.org/10.1109/TWC.2013.090413.130097.
Acknowledgements
We gratefully acknowledge the anonymous reviewers for taking time reviewing our manuscript.
Funding
This work was supported in part by the National Science and Technology Specific Project of China (2016ZX03001010004), in part by the National Natural Science Foundation of China (No.61571073) and in part by the Joint Scientific Research Fund of Ministry of Education and China Mobile (MCM20160105).
Author information
Affiliations
Contributions
RC proposed the idea and revised this paper. QY and LZ wrote the manuscript and participated in the simulation. QC gave some suggestions and participated in the paper revision. All authors have contributed to this research work. All authors have read and approved the final manuscript.
Corresponding author
Correspondence to Rong Chai.
Ethics declarations
Competing interests
The authors declare that they have no competing interests.
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Chai, R., Yuan, Q., Zhu, L. et al. Control plane delay minimizationbased capacitated controller placement algorithm for SDN. J Wireless Com Network 2019, 282 (2019). https://doi.org/10.1186/s136380191607x
Received:
Accepted:
Published:
Keywords
 Software defined networking
 Control plane delay
 Controller placement
 Capacity matching