APP下载

Kernel Search-Framework for Dynamic Controller Placement in Software-Defined Network

2021-12-14AliAbdiSeyedkolaeiSeyedAminHosseiniSenoandRahmatBudiarto

Computers Materials&Continua 2021年9期

Ali Abdi Seyedkolaei,Seyed Amin Hosseini Seno,*and Rahmat Budiarto

1Faculty of Engineering,Ferdowsi University of Mashhad,Mashhad,Iran

2Department of Informatics,Faculty of Science and Technology,Universitas Alazhar Indonesia,Jakarta,Indonesia

Abstract:In software-defined networking(SDN)networks,unlike traditional networks,the control plane is located separately in a device or program.One of the most critical problems in these networks is a controller placement problem,which has a significant impact on the network’s overall performance.This paper attempts to provide a solution to this problem aiming to reduce the operationalcost of the network and improve their survivability and load balancing.The researchers have proposed a suitable framework called kernel search introducing integer programming formulations to address the controller placement problem.It demonstrates through careful computational studies that the formulations can design networks with much less installationcost while accepting a general connected topology among controllers and user-defined survivability parameters.The researchers used the proposed framework on six different topologies then analyzed and compared with Iterated Local Search(ILS)and Expansion model for the controller placement problem(EMCPP)along with considering several evaluation criteria.The results show that the proposed framework outperforms the ILS and EMCPP.Thus,the proposed framework has a 38.53%and 38.02%improvement in reducing network implementation costs than EMCPP and ILS,respectively.

Keywords:Software-defined network;controller placement;kernel search;integer programming;survivability;cost

1 Introduction

Traditional networks are not cost-effective and suitable to fully support the current Internet’s needs due to their lack of flexibility.This limitation triggers the emergence of the SDN network,a newly proposed network generation that meets the needs and has a high packet routing flexibility.Unlike traditional networks,an SDN network has a separate plane of control on a device or program.With this feature,the SDN network can change the route of sending traffic to different locations through automation decisions using program interfaces [1,2].

The controller is responsible for propagating any flows in the network [3].Thus,the controller plays an essential role in network management [4].The controller deployment can be centralized,decentralized,or distributed,as illustrated in Fig.1.Some studies on the controller placement problem have shown that using one controller is enough [5].However,multiple controllers are used due to problems with one controller,including controller failure,which leads to a necessity to consider aspects such as scalability,fault tolerance,and network latency [6].

Figure 1:Types of controller deployment [5]

When the controllers are distributed,a switch can easily send data through connecting to multiple controllers.It also balances the traffic loads transmitted to the controllers with several controllers’help [7].However,in the distributed architecture,adding network controllers does not increase network reliability because sending data between the controllers needs to be connected more.As a result,network management becomes difficult.Moreover,improper controllers’placement hurts load balance [8-10].Therefore,the controllers’ placement plays a significant role in network performance.For this reason,it is vital to think through the location of the controllers [11].

Controller placement significantly impacts network metrics,such as delay,survivability,and cost [12].Controller failure for any reason,including increasing the traffic load over the capacity of the controller,has a significant effect on the controller communications.Also,link failure can cause some paths to be lost.As a result,some switches are disconnected from their controller.Therefore,to select the best location of the controllers must take into account the survivability of the network.The main contributions of this paper are as follows:

· We introduce a mixed-integer nonlinear programming formulation of the survivable controller placement problem to impose a general connected topology among controllers.Then,we reduce the formulation to a mixed-integer linear program to be solved more efficiently.

· We show how to incorporate user-defined survivability requirements into our mixed-integer programming formulation.

· We demonstrate through careful computational studies that our formulation can design networks of much less installation cost while accepting a general connected topology among controllers and user-defined survivability parameters.

· Using kernel search framework to solve the controller placement problem and considering network dynamics and different network failure states.

· Load balancing and reducing average delay with optimal allocation of switches and solving the controller placement problem by considering heterogeneous controllers.

The following sections focus on the following points in the paper:Section 2 examines previous work.Section 3 explains the kernel search framework.The analysis of the experiments performed by the proposed framework on the six topologies is described in Section 4.Finally,conclusions are presented in Section 5.

2 Related Works

Work in [13]considers a switching on the controllers and between the controller’s delays and the controllers’ capacity.The researchers propose a clique-based algorithm to find highquality solutions to the network’s controller placement problem.Research in [14]focused on the community recognition method to deploy controllers.The researchers used a network consisting of several communities as the topology of controllers.The Louvain algorithm was used in each community.The researchers in [15]have proposed a new method that uses the bipartite graph to balance the controllers’load.The researchers used the Kuhn-Munkres algorithm to assign switches to controllers optimally,and then used genetic algorithms to locate the controllers.

The hierarchical K-means algorithm and segmentation method in large-scale networks were used to solve the controller placement problem [16].Furthermore,an evolutionary algorithm was used to solve the multi-objective problem in large-scale networks [17].The algorithm is greedily used to generate initial population and intelligent mechanisms for diversity.Researchers in [18]have used an optimization model to achieve complete flexibility against pre-defined failures.In the study,the goal is to reduce costs so that each switch can be connected to several controllers.Besides,another optimization model was used to minimize the controllers’backup capacity.

Researchers in [19]consider the quality of services (QoS) in terms of latency and access control paths as a criterion in determining the controller’s appropriate location.A set of connections has been selected to ensure network availability,and an exact method is used along with a heuristic method.In [20],the Varna optimization method was used for reliable placement to minimize the network’s average total latency.Researchers in [21]use the Garter Snake optimization method,a meta-heuristic algorithm that solves new iterations and temperate mating conditions.The algorithm calculates the minimum delays at the appropriate time.Research in [22]introduces a parameter optimization algorithm and model,which solves the controller placement problem with the help of optimized parameters.The researchers use heuristic algorithms,including bat optimization algorithm,firefly,Verna-based optimization algorithm,and particle swarm optimization algorithm.

Research in [23]proposes a Density-Based Controller Placement (DBCP) that uses a clusterbased switch clustering algorithm to segment the network.The installed controllers’ capacity determines each section’s size,and a controller is placed in each area.Researchers in [24]demonstrate the dynamic placement of controllers,including locating controller modules and determining the number of controllers in each module.For this purpose,the researchers use an algorithm called LiDy+,which has a time order ofO(n2).Research in [25]examines the controller’s location to minimize the propagation delay.A modified sample-based clustering method based on affinity propagation is used for learning the optimal number and place of controllers according to the network topology.The concept of network partitioning was introduced to reduce end-to-end latency and controller queue latency [26].For network segmentation,a cluster-based partitioning algorithm was proposed to ensure that each partition can reduce latency.Several controllers are placed in each subnet to minimize the queue delay.

Researchers in [27]ranked the SDN controllers based on their supporting characteristics using the network analysis process.The highly-rated controllers form a hierarchical cluster.Research in [28]used a hierarchical control plane to ensure the quality of service in the end-to-end paths.They used the TOPSIS method to select the path with the most appropriate quality of service

Research in [29]utilizes an integer linear programming method.The objective function is to minimize the cost of changing the topology to find a suitable solution.The researchers considered network’s cost and survivability to solve the problem through an iterated local search algorithm because the network is dynamic [30].Besides,network failure events were taken into account.Tab.1 summarizes the existing research on controller placement in SDN networks regarding objective aspects of latency,scalability,reliability,cost,and dynamic network.

Table 1:Comparison related works

(Continued)

Table 1(Continued)Ref.Methods Objectives Latency Scalability Reliability Cost Dynamic network[27]Hierarchical clustering***--[28]TOPSI S me line thod *-* *-[29]Integerar programming*--* *[30]Using iterated local search algorithm and dynamic switch allocation algorithm**** *-Using kernel search algorithm and dynamic switch allocation algorithm**** *

Tab.1 shows that most of the works focus on latency,reliability,and scalability.Fewer research have focused on cost and network dynamics.Only research work in [30]and latency,reliability,and scalability criteria also focus on cost and network dynamics.Research in this paper extends and improves the work in [30].Extensive experiments show the significance of the improvement.

3 The Proposed Framework

In this work,we consider the SDN network as a graph.The objective function is multiobjective that also takes into account the cost and survivability.One way to solve multi-objective problems is to turn the objective function into a constraint with multi-objective decision-making techniques.The cost is considered an objective function,and survivability is considered as a constraint in the problem’s mathematical model.We used the kernel search algorithm for the state when the network is in the static state.Then,in the network dynamics state,the dynamic allocation algorithm has been implemented.The scenario used in this paper is as follows:

The graph consists of the locations of the controllers and switches.The switches must be connected to the controllers,and at the controller installation locations,locations are selected as candidates for the controller installation.Graph nodes may form clusters so that there are several controllers in each cluster.From the controllers,one is the cluster head managed by a central controller.The connection of switches and controllers is in-band or out-band.The Controllers,switches,and links each have limitations,including resource constraints,bandwidth constraints,and the amount of data sent,respectively.Each controller processes the load sent by the switches according to its resources.We use the backup controller when the central controller fails.Besides,for link failure,we use disjoint paths.

3.1 The Mathematical Expression of the Problem

Referring to Fig.2,the network graph consists of nodesVand edgesE.Vcontains switch nodesSand controller nodesP.In other words,V=S∩PandS∩P=ø.

Figure 2:Network graph with G=(V,E)

SetEalso contains two sets ofEPandESsuch that:

Other sets includeO,andC.Orepresents ordered pairs of possible locations to install the controller.Cindicates the type of controller.In mathematical form:

Due to the controller port’s limitations,one controller and the other switches can connect several switches.Also,each controller can communicate with other controllers.Tab.2 shows the symbols used in the model.

Table 2:Symbols used in the model

Decision variables:

Finally,the mathematical model of the problem:

The objective function represents the minimum costs of connecting network components(switch and controller) and deploying the controller.Constraint (5) indicates the communication between the two controllers.Constraints (6) and (7) indicate that each switch is connected to a controller.Constraint (8) indicates the deployment of only one controller in each location.Constraints (9)-(11) express the controller’s limitations,including the available number,port,and processing capacity.

Or equivalently:

As a result,we have:

3.2 The Kernel Search Algorithm

This algorithm [31]is a heuristic used to solve 0-1 program problems,and also used for each Binary Integer Linear Programming (BILP) problem,which ispromisingbinary variables if it equals to 1.All promising variables make up thekernel,and is divided into two types:theprivate kerneland thepublic kernel.The former consists of promising variables,and the latter consists of the union of private kernels.Both the private kernel and the public kernel are different.

In the kernel search algorithm [32,33],the original problem’s linear relaxation is first solved.Then theinitial private kernelsare formed for each variable set.The union of the initial private kernels acquires theinitial public kernel.The variables do not contain the initial private kernel,which is categorized into ordered categories,calledprivate buckets.In Algorithm 1,a pseudo-code of the Kernel Search solves the controller placement problem.

Algorithm 1:Kernel Search for CPP Input:A set P of positions and a set S of switches.Output:A feasible solution (ZLP,XLP,VLP) and the corresponding objective function value zH or failure=TRUE./*Initialization phase:Build the initial kernel K and the sequence of buckets {Bh}h=1,...,NB*/1.Set failure:=FALSE.2.Get the linear relaxat ion of t ilure:=he problem LP (Z,X,V) and store its solution (ZLP,XLP,VLP),if any.Otherwise,set faTRUE and STOP.3.if (ZLP,XLP,VLP) is integer then STOP end if 4.Sort the positions in set P and add them to list L.5.For each position in L sort the switches in set S and select a subset of them.6.Consider list L and· Build the initial kernel K is composed of the first m positions in L.· Consider the last |P|-m positions in L and build a sequence {Bh}h=1,...,NB.· Let NB be the number of buckets generated.7.Solve the restricted problem BILP(K).If problem BILP(K) has feasible solutions then let(ZLP,XLP,VLP) be its optimal solution and zH the corresponding optimal value.Otherwise,set failure:=TRUE./*Solution phase:Solve a sequence of restricted BILP problems*/1.for h=1 to NB do 2.Create set K′=(K U Bh).3.Solve BILP(K′) adding the following two constraints 3-1.zH as upper bound to the objective function value;3-2.images/BZ_546_400_2338_419_2383.pngimages/BZ_546_419_2304_466_2349.pngi∈Bh Zi≥1.4.if BILP(K′) is feasible,(Z,X,V) is its optimal solution and z is its optimal value then 5.if failure=TRUE then set failure:=FALSE end if;6.set ZLP:=Z,XLP:=X,VLP:=V and zH:=z;7.let B+h ⊆Bh be the set of positions belonging to bucket Bh selected in solution (Z,X,V);8.let B-h ⊆Bh be the set of positions belonging to the kernel that have not been selected p times since they have been introduced in set K;9.Set K=K UB+h$B-h .10.end if 11.end for 12.STOP

In this algorithm,the initial private kernel is based on the answer to the first step.Buckets are made from the smallest to the largest using the reduced cost coefficients.The current private kernel update is as follows.A member variable of the private bucket becomes the current private kernel,which is not considered a promising variable.

BILP (Z,X,V) contains the set of variables representing the controller installation at the locationi,the switch and the controller connection,and communication of controllers with each other,respectively.In other words,mathematically:

The linear relaxation of BILP (Z,X,V) is denoted as LP (Z,X,V).In the kernel search algorithm,the private kernel for the set ofX-variables andV-variables should be consistent with the private kernel set of variablesZ.The same argument is also used for private buckets.

The private kernel for variablesZ,X,andVare represented asK(Z),K(X),andK(V),respectively.EachZcainK(Z)serves a subset of switches.IfZcavalues do not exist inK(Z),the variableXabdoes not exist inK(X)andK(V).Thepublic kernelis represented byK,obtained from the union private kernelsK(Z),K(X),andK(V).

The kernel search algorithm functions in two phases.In the first phase,LP (Z,X,V) is solved.(ZLP,XLP,VLP) indicates the solution to solve the LP problem.If (ZLP,XLP,VLP)is an integer,this value is considered the best solution to the problem,and the algorithm ends.Otherwise,the LP value is considered the lower bound of the objective function,which is used to detect promising variables.Then,the algorithm sorts the setP.For this purpose,the variableZcareduced cost is obtained from LP,which is indicated by c’(Zca).The positions are then sorted in descending order based on the number of connected switches used in LP (Z,X,V).Places not selected in LP solution,i.e.,Zca=0,sorted by ascending order of c’(Zca) values.These sorted values are placed in a list calledL.In this list,places to have a controller are first,and the other positions are the last part of the list.

After sorting positions,the switches should be connected to these positions.Therefore,the reduced cost of the variableXabobtained from the LP solution displayed the symbol c’(Xab).Then,a subset of the switches is connected to the selected positions,with the condition that the value of c’(Xab) for each pair (S,P) must not exceed the threshold valueγ.i.e.,C′(Xab)≤γ.The value of the parameterγ,obtained from the median of the reduced costs of the variablesXabrelated to members of the initial private kernelK(Z).i.e.,:γ=median

The created public kernel is calledK.The setK(Z)containsmof the variableZcafrom the first listLthat the value ofmis given as the parameter to the algorithm.TheK(X)for each member position ofK(Z)also contains a subset of the switches associated with that position.The remaining |P|-mpositions are classified intoNBsets;each set represents asB(Z)h.htakes a value between1andNB.B(Z)h=1,...,NBis denoted as private buckets.Each setB(Z)hexcept for the last set,i.e.,h=NB,has the number oflbuckmembers whoselbuckis equal to the parameterm.The last set has the number of(|P|-m)-((NB-1)*m)members.Thus,according to the contents expressed,the number of buckets can also be calculated with this formula,NB=Likewise,theNBprivate bucket creates the variableX,represented asB(X)h=1...,NB.The run algorithm’s maximum number can be consideredNBto determine the stopping condition for implementing the kernel search algorithm.Therefore,theNBparameter determines the number of times to run the algorithm.

In this algorithm,the variablezHis used as the upper bound of the BILP problem.Before solving the BILP problem,check that each switch connects at least one setK(Z)position.If the switch is not connected,setK(X)is corrected;through the way,the corresponding switch is connected to all the positions inK(Z)and setK(X)is updated.

In the second phase,the BILP problem along withNBis solved.In each iterationh,where ish=1,NB,the current public kernelKis updated by adding the member variables of the current private bucketsB(Z)handB(X)h.The BILP problem is solved based on the updated kernel and the definition of two new constraints aiming to reduce computing times.One of these constraints is changing the optimal solution’s upper bound,and another is to select at least one position from the current private buckets to solve the problem.If the BILP problem is feasible,the best solution will be provided according to the ontained optimal solution.In this case,at least one position from its current private bucket is selected in the optimal solution,and the current private KernelK(Z)updates these variables.The set includes these positions are shown asB(Z)+h.

Conversely,if a position in the current private kernel has not been selected and the number of timest,the variable is not promising,then it is removed from its private kernel.The value of the parametertin this algorithm is equal to 2.The set,including these positions,is shown asB(Z)-h.Thus,at the end of the iterationh,the current kernelK(Z)at the beginning of iterationh+1 consists of the members of the setB(Z)+h,and minus the members of the setB(Z)-h.The same procedure is performed for the current private kernelK(X).If a new position is added to theK(Z),the switches associated with the new position are added to the current private kernelK(X).Conversely,when a position is removed fromK(Z),the switches associated with that position are removed from the current private kernelK(X).When the last bucket has been evaluated,the algorithm ends.

Fig.3 shows an iteration of the kernel search algorithm.The black and gray circles represent the initial kernel and buckets at the beginning and end of the first phase,which is BILP (K).At the beginning of the second phase,BILP (KUB1) is considered as a problem.If an optimal solution is obtained,the kernel is updated,i.e.,promising variables (empty circles) are added,and variables that are not promising for a long time are deleted from the kernel (cross-references).The second phase continues with solving the BILP (KUB2) that kernelKhas been updated.

Figure 3:An iteration of the kernel search algorithm [32]

The algorithm does not work properly in both cases.The first case occurs when there is no feasible solution for LP.The second case occurs when no feasible solution is found for each BILP problem.The latter case occurs while the positions’capacity to connect the switches associated with it,is not enough.The implementation of the kernel search algorithm depends on the exact determination of the parameters.

In order to examine the complexity of the kernel search algorithm,we consider its execution time.Algorithm execution time is an essential criterion in any algorithm that shows us how long the algorithm takes to complete a given input.One standard method for analyzing the complexity of algorithms is asymptotic analysis.In this method,execution time is calculated according to the size of the input.Since the controller placement problem is to determine the controllers’number and location and the number of possible locations,P,to install the controller as input to the algorithm is given.Therefore,the complexity of the algorithm depends on the value ofP.

As we follow and extend the work in [30],we consider all the conditions mentioned there regarding the events causing the network’s dynamics and failures.Hence,we refrain from stating them again in this section.

4 Experiment and Analysis

In this section,we have presented the results of the simulation of the proposed framework,which refers to the comprehensive model for controller placement (Section 3.1) and the proposed algorithm (Section 3.2).The is reason is that unlike previous research,the comprehensive model is,to deal with the controller placement problem in more detail and with realistic assumptions.This model comes with the proposed algorithm that can be implemented on any network type,with any size and topology.In order to evaluate our proposed framework,we performed experiments.In these experiments,we compare the proposed framework’s results with EMCPP [29]ILS [30].To perform these experiments,we select topologies from the Internet Topology Zoo [34].Tab.3 shows the information of these topologies.

Table 3:Information of experimented topologies

The experiments were carried out in three steps.First,we evaluated the proposed framework in terms of network cost;then,we examined the network’s survivability.For this purpose,we used formulation (4) defined in [30].Finally,in the third step,we examined the framework based on connection failure probability and the average delay.

These experiments were performed using a system with Intel Core-i5 processor with 8 GB of RAM.CPLEX and MATLAB software were used to implement the comparison methods.CPLEX is commercial software package and a well-known Branch and Bound solvers of mixed-integer programming problems.Indeed,extensive studies in mathematical programming literature would suggest CPLEX as the most powerful commercial.The parameters used in these experiments are shown in Tab.4.

Table 4:Experiment parameters

Each experiment was repeated ten times to achieve more accurate results.Tabs.5 and 6 show the results of these experiments.

Table 5:Comparison of the proposed framework with EMCPP and ILS methods

Table 6:Results of the proposed framework

In Tab.5,the first to third columns show information about the topologies.Columns 4 to 6 show the best cost of the proposed framework and the EMCPP and ILS.The last two columns also express the percentage of improvement of the proposed method compared to EMCPP and ILS,which are calculated by (23) of this percentage.

According to the results shown in Tab.5,it can be concluded that the proposed framework performs better than its counterparts in most of the experimented topologies.This advantage is even more noticeable when the topology size is more extensive.The reason is the proper design of the control plane architecture.The proposed framework designs the control plane in such a way as to reduce the cost of links.Also,survivability remains at a desirable level.However,the methods compared,and used the full mesh topology to connect the controllers.This topology requires many links to connect each controller.Hence,connections impose a high cost on the network.According to the experiments results analysis,at least 67% of the network cost is related to connecting the switch to the controller and the controller to the controller.

The reduction of some topology improvement percentages is related to the topology structure and switches and controllers’arrangement.For this reason,the controller placement is critical,as the deployment of the switches is random.

The first to third columns in Tab.6 show information about the experimented topologies form whichZ*indicates the best solution for each topology,and the fifth column focuses on the proposed framework for a solution.The Gap expresses the deviation of the best solution,which is calculated by (24).

The average column is the mean of the best solution with ten times runs.The eighth column shows the deviation of this average.The time column expresses the average execution time of the algorithm.

The results related to the network’s survivability are shown in Figs.4 and 5.In these Figures,Rindicates the degree of survivability.The proposed framework is more cost-effective in terms of network survivability in the event of a failure.Thus,the proposed framework receives a higher degree of survivability than the methods compared.The EMCPP does not provide any flexibility in selecting the required survivability.At the same time,the proposed framework receives the required survivability as input.Therefore,a different amount of survivability can be imposed on different network based on user observations.According to these experiments’results,the proposed framework imposes a lower cost on the network both in terms of implementation and survivability.Also,the proposed framework includes the proper use of ports.Despite applying a complete graph to the installed controllers,each controller needs to connect to other controllers in the full mesh topology,a port occupation.Experiments show that using such a topology imposes a high cost on connecting controllers to the network.This does not show a balance between the various costs of the objective function.

In contrast,the proposed framework usually finds the best balance between the objective function’s different costs.Even the EMCPP cannot guarantee a high degree of survivability for cases where a small number of controllers are installed.For example,when only two controllers are installed,there is only one connecting link between the two controllers,and there is no guarantee that the link does not fail.Therefore,paying attention to the control plane architecture is essential to solve the controller placement problem.

As shown in Fig.4,the proposed framework costs less for differentRvalues than the EMCPP and ILS for the Claranet topology.In Fig.4c,there is no answer forR=3 because,in topology Claranet-C,|P|=3.Hence,forR=3,we need |P|=4.

Figure 4:Comparison of experiment results on Claranet topology (a) Claranet-A (b) Claranet-B(c) Claranet-C

Fig.5a shows that the proposed framework’s cost withR=2 andR=3 costs less than EMCPP and ILS withR=1.Also,in Fig.5b,the proposed framework’s cost withR=2 andR=3 is lower than EMCPP and ILS withR=1 andR=2,respectively.i.e.,the cost of the proposed framework forR=2 is 1063660,while the cost of EMCPP and ILS forR=1 is 1190300 and 1182300,respectively.This means that the proposed framework,compared to the EMCPP and ILS,can design a network that increases survivability while reducing cost.Finally,it can be concluded that the proposed framework is more cost-effective for large-scale networks than the EMCPP and ILS,even when the degree of survivability increases compared to the EMCPP and ILS.

One of the proposed framework’s main advantages is that the network’s survivability can change dynamically depending on the network’s environment,and affecting the cost of network implementation.For example,networks with secure environments do not require a high degree of survivability.Hence,the cost can also be reduced if a full-mesh topology in the control plane architecture design for secure environments incurs additional costs.The proposed framework focuses on network dynamics such as increasing or decreasing switches and controllers,making it stand out.Another advantage of the proposed framework is using a kernel search algorithm to find the best solution in the shortest time.

Figure 5:Comparison of experiment results on Digex topology (a) Digex-A (b) Digex-B(c) Digex-C

4.1 Connection Failure Probability

The connection failure probability includes the probability of controller failure and the probability of the link failure.To compute the link failure probability,we considered link disruption probability (PLD) and link congestion probability (PLC).Eqs.(25) and (26) were used for this calculation:

e,l,h,p,andr,respectively,indicate the probability of environmental,link,hardware,power failure,and the installed controller’s reliability index.PLD(eab) andPLC(eab) calculated using(27) and (28).The variablekindicates the number of subdomains.The subdomains were obtained according to the segmentation of the network.

In (27),PLD(eab) indicates the probability of link disruption betweenaandb.dabandyabindicate the distance betweenaandband the connection link between these two nodes,respectively.pulalso indicates the probability of link failure per unit length.In these experiments,the value ofpulwas obtained for every 1 km.

In (28),thePLC(eab) indicates the probability of link congestion betweenaandb.χabandωabindicate the traffic direction and link bandwidth,respectively.If the traffic direction is fromatob,thenχab=1;otherwise,χab=0.λashows the flow request rate of the switcha.

Now,in particular,by selecting two topologies Claranet-A and Digex-A,we examined the probability of connection failure.The result of this experiment is shown in Fig.6.

Figure 6:The probability of connection failure (a) Claranet-A (b) Digex-A

For this reason,in the case of failure in the communication link,the probability of connection failure is maximized.EMCPP and ILS consider the shortest path between nodes,thus preventing disconnection of some connections.Given that the reliability rate is considered in the proposed method,it can reduce connection failure.

4.2 The Average Delay

This delay consists of the propagationdprop,the processingdproc,and the transmissiondtrandelays.In this experiment,the values ofdproc=0.01 ms anddtran=0.05 ms are considered.Also,the value ofdpropincreases by 0.1 milliseconds for every 1 km.Accordingly,by changing the number of controllers,we calculate each method’s average delay for the two topologies Claranet-A and Digex-A.The results of this experiment are shown in Figs.7a and 7b.

Figure 7:The average delay (a) Claranet-A (b) Digex-A

As shown in Figs.7a and 7b,adding a controller in all three frameworks causes to decrease the average latency.The proposed method performs better in reducing latency compared to the other two methods.This reduction is due to the reliable controller placement,proper distribution of switches,and the delay when allocating the switch to the controllers.Therefore,the average delay has significant decrease.When the number of controllers reaches higher than 8,the delay is relatively stable.

5 Conclusion

Two metrics of cost and survivability as factors affecting the control plane’s efficiency and the network’s overall efficiency were examined in this paper,as in the related works,these criteria have not received adequate attention from researchers.Since minimizing the cost is one of the influential factors in network implementation,it is essential to consider this criterion in solving the controller placement problem.As shown in the simulation results,67% of the costs are related to connecting network elements to each other.Therefore,improper location of controllers can increase the cost of network implementation.As for the survivability criterion,since networks are at risk in real environments,solutions must be considered for the network’s stability in these events.Therefore,paying attention to this criterion also has a significant effect on solving the controller placement problem.Then,the mathematical model of the problem was presented to take into account the stated criteria in which the cost was considered as an objective function and survivability as a constraint.As the controller placement problem space becomes larger as the network size increases,an algorithm is needed to get the best solution in the shortest time.For this purpose,the kernel search algorithm was used in the controller placement problem.Then,to check the accuracy of the proposed mathematical model and the proper performance of the proposed algorithm,by performing simulations,a comparison was made with the EMCPP and ILS based on cost and survival criteria.In this simulation,six different topologies of the Internet topology Zoo were selected to evaluate the proposed framework’s performance.The state of the network was also examined in terms of dynamics and events that cause network failure.The results obtained in the network’s dynamic state showed that the proposed framework has a better performance in reducing costs and increasing the network’s survivability.Thus,the proposed framework has a 38.53% and 38.02% improvement in reducing network implementation costs than EMCPP and ILS,respectively.Therefore,the summary of these results indicates that the proposed framework,using a suitable mathematical model close to the actual network conditions and an algorithm with the best speed of action to find the best solution,can solve the controller placement problem.

We will try to solve the controller placement problem with traffic forecasting based on machine learning in future work.We also plan to expand our work in the future by addressing the dynamic controller placement to meet the needs of 5G networks,such as reliable low-latency communications.

Funding Statement:The authors received no specific funding for this study.

Conflicts of Interest:The authors declare that they have no conflicts of interest to report regarding the present study.