2. Related Work
Some published works related to SDN networks, latency management, and other quality of service (QoS) parameters, which are closely related to this study, can be described as follows. In [
5], by using an artificial intelligence approach applied to software-defined networking architecture, challenges in underwater things (IoUT), such as load balancing and QoS, are addressed. The study aims to enhance network performance, flexibility, and scalability, using a balancing strategy multi-controller (CASM). Additionally, an adaptive routing protocol (SQAR) using reinforcement learning is proposed to select paths for different services while optimizing network QoS. The results show that the balancing strategy improves migration and achieves efficient load-balancing, benefiting SQAR directly. SQAR has highlights in terms of energy efficiency, convergence, and QoS when compared to other established protocols. Overall, the proposed framework achieves significant and effective rates in both QoS and load balancing. In [
6], a methodology is introduced to enable the dynamic creation and adjustment of network segments to meet the varying needs of different user applications. This approach focuses on efficiently allocating resources, such as bandwidth and energy, ensuring optimal performance and adequate QoS in future 5G networks. In [
7], two quadratic programming models and their linear equivalent counterparts are proposed. These models address the problem of user assignment in a software-defined network while aiming to minimize the connectivity costs and connection latencies between controllers and switches. The results show that the linear models have shorter processing times than the quadratic models for obtaining optimal solutions. The study compares user connection strategies, and the findings suggest that users should connect to switches. In [
8], by using reinforcement learning with constraints, a model is proposed to optimize resource user segmentation while also meeting the requirements of existing users and applications in the network. In [
9], methods such as Controller adaption and migration decision (CAMD) and dynamic and adaptive load-balancing (DALB) are used to address load imbalance in an SDN network. The results show that CAMD is the most efficient method. This algorithm utilizes the inherent variance in controller load status to identify under-utilized controllers, optimizing the migration process to balance network load. The performance metrics considered include response time, migration space, controller throughput, and packet loss. CAMD outperforms controller adaption and migration decisions, with average improvements of 7.4% in controller throughput, 6.4% in packet loss, 5.6% in migration space, and 5.7% in response time. In [
10], the authors analyze an overview of the evolution of SDN controllers. Here, the authors develop advancements in architecture, protocol, and key features. In [
11,
12], the problem of latency minimization in an SDN is addressed. The first article focuses on the controller placement problem in a software-defined network to minimize the maximum latency for switches and controllers as well as communication between controllers. Additionally, it considers reducing the number of controllers needed for network operation, taking into account a fixed installation cost for each located controller. The second study proposes mathematical models to minimize latency in SDN networks. Both articles [
11,
12] aim to improve performance and quality of service by reducing network latency and managing messages between each pair of nodes for the existing arcs, considering the controllers. In [
13], an approach for the cost-effective and efficient placement of switches and controllers in a hybrid SDN is proposed. Elements of QoS and implementation costs are considered to determine the optimal placement, maximizing QoS, and minimizing infrastructure deployment costs. In [
14], the growing energy consumption of communication technologies, such as 5G and beyond, is addressed. The existing proposals for energy savings and how network management technologies could lead to undesired energy consequences, such as load balancing or link saturation problems, are evaluated. The conflicting nature of energy-saving and load-balancing objectives makes simultaneous optimization a challenge. In order to tackle this task, an energy-efficient and load-balanced online flow routing framework based on software-defined networking is proposed, followed by an optimization problem to balance energy savings and load. A route-updating algorithm that is flexible to changes in flow scheduling is also proposed. The experimental results demonstrate the superiority of the proposed algorithm over benchmarks in energy savings, load balancing, and reducing link congestion risks.
In [
15], the study examines how Boolean algebra concepts can be used to solve problems in operations research. This technique helps transform complex binary quadratic problems into simpler linear ones. In [
16], the migration of a traditional corporate network to the SDN architecture is studied to demonstrate the advantages of an SDN network compared to a conventional network. For this purpose, a classic corporate network was simulated, and then the simulation was migrated to an SDN architecture. The network simulation was carried out using a virtual environment (MININET). By comparing the implementation process of these two networks, the simplicity of the SDN network implementation compared to the classic network was shown. In order to study the complexity of maintenance, two scenarios were used: the migration from one virtual local area network (VLAN) to two VLANs and the evolution of routing rules in both networks. In [
17], in response to the slow but steady adoption of SDN architectures and the current solutions to manage them, this work proposes a new efficient SDN architecture based on a flat multi-controller multi-domain network that provides efficient load balancing in the network. Its performance was demonstrated and verified through simulations in a Mininet environment with Ryu controllers.
In [
18], the authors introduce a solution designed to improve load balancing in SDNs with multiple controllers, thereby enhancing network performance. It uses a greedy approach to migrate switches from overloaded controllers to underloaded ones based on deviations in controller loads from the average. This ensures each controller has a balanced load with minimal switch migrations. The algorithm’s effectiveness is demonstrated through the analysis of time and space complexities, along with simulations and experimental studies showing superior performance in terms of switch migrations, response time, throughput, and delay compared to traditional methods. In [
19], as data flows, industrial applications grow exponentially, achieving low-latency and reliable data transmission simultaneously poses a challenge. Time-sensitive software-defined networking (TSSDN) has emerged as a technology for combining the real-time network configuration capabilities from SDN with deterministic flow delivery from time-sensitive networking (TSN), which is ideal for industrial internet of things (IIoT) applications. In order to address this challenge, a frame replication and elimination for reliability (FRER) mechanism is proposed for TSSDN-based IIoT systems. However, FRER introduces stress on already limited network resources by creating redundant paths. In order to tackle this concern, an end-to-end delay-bound model and reliability model are proposed for analysis. An optimization problem is formulated to maximize overall system utility while meeting commercial flow transmission requirements and hardware resource constraints. Numerical simulations validate the effectiveness and performance superiority of the proposed approach over existing methods. Reference [
20] explores the management of users across various segments within an SDN, aiming to minimize the latency among switches, controllers, and user access nodes. It introduces two mathematical models and a heuristic algorithm. This study represents a pioneering effort in integrating network slicing into SDN, enhancing network management efficiency and security to accommodate services based on specific segment needs. The models and algorithm proposed contribute to significant advancements in handling user connections to controller or switch-type nodes based on their segment affiliation, ensuring robust and adaptive network deployment.
5. Results and Discussion
In this section, we conduct a series of computational experiments to compare the performance of all the proposed models and algorithms. Initially, we evaluated 13 real instances of the benchmark networks obtained from (
https://www.topology-zoo.org/ (accessed on 4 June 2024)). They range from networks with
to
nodes. In total, we considered 31 connected networks, including randomly generated ones. Notice that the benchmark network from
https://www.topology-zoo.org/ (accessed on 4 June 2024)). has been used in references [
23,
24]. A random network is created with random co-ordinates within 1 km
2. A randomly generated network is a type of network or graph that is created using a process that includes some element of randomness. Instead of following a fixed pattern, the connections (or edges) between the points (or nodes) in the network are established according to certain probabilities. For example, in a simple, randomly generated network, each possible connection between two nodes might be added with a certain probability, like flipping a coin for each pair of nodes to decide whether they are connected or not. This randomness makes the structure of the network unpredictable and can result in a wide variety of different shapes and connection patterns. We consider only connected random networks. After generating the co-ordinates for each node, we connect the network either sparsely or fully. A sparse network means it is connected, but not every pair of nodes is linked directly, whereas a fully connected network means every pair of nodes is connected directly. Random networks are useful in various scenarios, including disaster situations where the exact node positions are initially unknown. The parameters used in Algorithm 1 are as follows.
and
are initially set to the values of 50 and
∞. Next, the entries of vector “c” are drawn randomly from the interval
. We implement a Python program using the Gurobi Solver version 11.0.1. Gurobi solver is a powerful optimization tool widely used in mathematical optimization. It is capable of solving a broad range of problems, including linear programming, mixed-integer programming, quadratic programming, quadratic constraints programming, and mixed-integer quadratic programming. Recognized for its efficiency and speed, Gurobi employs advanced algorithms and optimization techniques to solve complex problems quickly and effectively [
4]. Because it is designed to enhance modern computational architectures, it is well-suited for large-scale optimization tasks.
Substantial numerical experiments were conducted to compare the performance of the proposed models , , and and the proposed algorithm. Python code was implemented using the Gurobi solver for this purpose. The maximum CPU time allowed is limited to 1 h. Hence, if an objective value reported takes 3600 s or more, it means the solver is reporting the best solution obtained within 1 h. Otherwise, it corresponds to an optimal solution to the problem.
The experiments were conducted on a Mac with the following technical specifications: 8 GB of RAM, dual-core Intel Core i5 processor running at 1.8 GHz, and operating system Mac OS Monterey 12.7.5. The experiments involved 13 real benchmark networks with known latitude and longitude locations, where the distance matrix, D, corresponds to the Dijkstra distance between these locations. Additionally, 18 randomly generated networks were created as fully connected graphs. Each node and user co-ordinate was generated within a square area of 1 km2 using a uniform distribution function. Consequently, each entry in the input distance matrix, D, was computed using these co-ordinates. The experiments were evaluated under three scenarios, with each obtained while varying the density of controllers in the network. The densities used were computed as 20%, 30%, and finally, 40% of the total nodes of the network using the ceiling function.
In
Table 1, we describe each of the benchmark networks under study. More precisely, we displayed the name of each network in each column. The first, second, and third rows show the number of nodes, the number of edges, and the density of each network, respectively. The density is calculated by dividing the total number of edges in the network by the total amount of edges in the graph as if it were a fully connected graph. Finally, the fourth row indicates the number of users to be connected to the SDN network.
The terms , , , , , , , , , , , , and represent the following networks: Arpanet196912, Abiline, Aarnet, Ans, HurricaneElectric, Atmnet, Bbnplanet, Bics, CrlNetworkServices, Internet2OS3E, Geant2009, NetworkUsa, and VtlWavenet2008, respectively.
In
Table 2, numerical results are reported for models
and
across the three proposed scenarios using real benchmark networks. The first column of the table lists the names of the studied networks. From the second to the seventh column, the following information is presented: the objective value of model
, the best bound, the MipGap, the processing time in seconds, the number of controllers (NC), and finally, the number of nodes from the branch and bound (
) method, respectively. Similarly, from the eighth to the thirteenth column, the same information is listed as in columns two to seven, but for the
model.
First, we observe that the solutions obtained using models
and
decrease when the network node increases. It should also be noted that the data in the solution, best bound, MipGap, and CPU time fields are generally approximated to two decimal places, except for the scenario with a controller density of 40%, where, for the solution, best bound, and MipGap columns, it is necessary to have approximations to three decimal places. It can be noted that in almost all the studied networks, the optimal solution was found. Only in the case of the VtlWavenet2008 network was a close-to-optimal solution found. For this network, the solution time used exceeds the given maximum time, which is much higher than that used for solving the other networks under study. It should also be mentioned that the number of
nodes used to solve model
does not follow the trend of the network under study, and it is related to the CPU used. For example, in the scenario with a controller density of 20%, the networks CrlNetworkServices and Bics have the same number of nodes. However, Bics has a larger number of edges than CrlNetworkServices, and due to this difference, the resolution time and
nodes are significantly larger than those of the Bics network. From the information presented in
Table 2, we can also mention that Model
is more efficient in most of the studied networks, except for the Bbnplanet, CrlNetworkServices, and NetworkUsa networks in terms of CPU time for the 20% controller density scenario. Additionally, it can be observed that Model
is more efficient for all studied networks in scenarios with 20% and 30% controller densities. Finally, regarding the time used and changes in MipGap across all networks, we can conclude that the scenario reporting the highest complexity in its resolution is the 20% controller density scenario, followed by the 30% scenario, and finally, the 40% scenario. Similarly, from the review of models
and
on randomly generated networks, we can derive from the information shown in
Table 3.
For the scenario with a 20% controller density, it can be observed that for all networks, Model
is more efficient in terms of CPU processing time, except for the Randomic networks with 80 nodes and 100 nodes, where an optimal solution cannot be obtained, and the best near-optimal solution is found after 1 h of searching. In the case of the 80-node Randomic network, the MipGap obtained in
is better than in
, while in the 100-node Randomic network, the MipGap is approximately the same. It is noteworthy that for
in this scenario, optimal solutions are achieved from the 20-node network up to the 60-node network; this result is worse than that obtained using
, which also achieves optimal solutions for networks with 65 and 70 nodes. For the 30% controller density scenario, it can be observed that both models achieve optimal results, with the random networks ranging from 20 nodes to 70 nodes, achieving near-optimal solutions for the 80-node and 100-node networks, respectively. It is also noticeable that model
is more efficient for all networks analyzed in this scenario, either in terms of CPU computing times or in the MipGaps obtained for networks where an optimal solution could not be found. In the 40% controller density scenario, it can be seen that model
obtains optimal solutions for networks from 20 nodes up to the network with 70 nodes, finding near-optimal solutions for the 80-node and 100-node networks, respectively. In contrast, model
achieved optimal solutions for all the studied networks. In this case, model
is more efficient in terms of CPU computing times for all studied networks. As it can be observed in
Table 4, the model reporting better results is the one for the scenario using 40% controller density, the following study was conducted using
in that scenario.
This evaluates the behavior of this model, which is similar to but with weights on its components for switch–controller communication and controller–controller communication (note that Model obtained the best results in the previous review).
Firstly, it is noted that for , the complexity of the evaluated model is drastically lower because, in this case, the latency of communications between controllers is not considered in the problem under study. Therefore, no further observations or comparisons can be made against this scenario. The first analysis to be conducted is focused on the benchmark networks. In general, it can be observed that the objective solutions are higher for compared to and , which is consistent because giving more weight to switch–controller latencies, which are more numerous than the connections between controllers, naturally leads to higher solution values.
It is also noticeable that, in general, the scenario with is worse than the scenario with and , either in terms of CPU processing times and MipGaps obtained. Furthermore, it can be appreciated that achieves more efficient results in terms of processing times for larger networks compared to . For , optimal solutions are obtained for all benchmark networks studied, unlike and , where an optimal solution is not obtained for the VtlWavenet2008 network. Regarding the study of random networks, the results are similar. It is noted that achieves optimal solutions for all the studied networks, whereas and do not achieve optimal solutions; instead, the solutions are close to optimal for the 100-node network. Additionally, for , less efficient results were obtained when compared to for all the networks except for those with 20, 35, 45, 80, and 100 nodes. Overall, yields better results in terms of CPU processing times.
Regarding this analysis, it can be determined that as the weighting of switch–controller communication relative to controller–controller communication increases, the objective values approach one. After the previous observations and to improve the performance of the methods used so far, the best model,
, was compared to the proposed algorithm. For the scenario with 20% controller density, it can be observed in
Figure 2, on the left side, that the solution value found by the algorithm is not better than that of model
. However, it is still very close, with small differences in the majority of the studied networks. In contrast, the CPU times used for networks with fewer nodes are similar, whereas for the larger networks, they are drastically lower, as observed in network
(following the same order as the benchmark networks in
Table 1). Similarly, the comparison results can be observed for the 30% controller density scenario. This can be observed in
Figure 3.
For this scenario, the solutions found by the algorithm align more closely with those obtained using model
, with considerably better times in the majority of the studied networks and noteworthy performance in larger networks, such as network
. The trend of aligning with model
is highlighted more effectively in the 40% controller density scenario. In these cases, the proposed algorithm achieves solutions that are very close to those of model
, with significantly more efficient times. It performs best in the largest networks, where the solution found is very close to optimal and has drastically lower CPU times. Observe network
in
Figure 4. The same previous analysis is conducted with the studied random networks. In this case, there are certain differences compared to the benchmark networks. While the algorithm found solutions that are very close to those found by model
, the CPU processing times are much lower than those required by
and are comparatively more efficient than in the case of the benchmark networks for the 20% density scenario, as shown in
Figure 5.
For the 30% controller density scenario, the comparison of solutions found is even closer. Note that in
Figure 6, the scale of the Y-axis on the left is smaller, and although the CPU times are better than
, compared to the previous scenario, the performance is slightly lower.
Finally, in the 40% controller density scenario, the trend of closeness in the solutions found by the algorithm compared to
continues, and this closeness becomes stronger for larger networks. Similarly, the processing time used by the algorithm is much lower than that required by
for the majority of the studied networks, with the advantage being clearer for larger networks. From these analyses, including the trends presented in
Figure 7, it is suggested that the proposed algorithm can be used for larger networks.
Based on this final suggestion, a last experiment was conducted with larger random networks, as can be seen in
Table 5 bellow.
From
Table 5, it can be observed that the behaviors for all scenarios are similar to the above tables. In the scenario with a 40% controller density, the results show reduced CPU processing times. Additionally, upon analyzing each scenario and comparing the results obtained with
and the proposed algorithm, it can be noted that as the size of the network increases, the difference between the solution of
and the proposed algorithm decreases. Furthermore, there is a significant reduction in CPU processing time compared to model
, with an average between 1% and 7% of the CPU time required by model
. The results obtained from analyzing each scenario lead to the conclusion that the use of Algorithm 1 is recommended for larger networks again. This is because the solution found will increasingly approach the optimal solution found by model
and with shorter CPU times. This can be observed, for example, in the results of random networks with 400 and 500 nodes for the scenario using 40% controller density.