## 2 Background and the Related Work
### Load Balancing in SDN  
To improve system efficiency and the user experience, the primary goal of load balancing is to prevent severe system load variance over extended periods of time. To effectively manage incoming traffic and resources and enhance network performance, the load balancing issue must be addressed due to the rising demand and depletion of resources. The role of the controller in SDN is to balance the load for better quality of service (QoS), which is one of the most crucial concerns [26].  
Load balancing is a technique for allocating load to various network components or processors to maximize network performance and improve QoS [27]. Load balancing makes it possible to predict bottlenecks before they occur. Some of the load balancing objectives include increasing throughput, reducing response time, and improving traffic. SDN load-balancing techniques are more precise and feature better performance. Due to industrial concerns, load balancing is one of the most crucial topics in SDN-related research. [PERSON] et al. [28] presented a thorough review of the load balancing strategies employed in SDN, categorized into two types: non-deterministic and deterministic. Round Robin, Weighted Round Robin, least connections, weighted least connections, and random load balancing approaches were demonstrated and evaluated on a single switch architecture in [29].  
Improving end-to-end QoS metrics, maximizing throughput, minimizing response time, avoiding bottlenecks, reducing transmission latency, and optimizing resources use are the objectives of load balancing [30]. Researchers have mentioned several load balancing metrics, including packet loss, transmission hop count, root mean squared error, utilization ratio, packet loss, throughput, response time, end-to-end latency, and types of traffic. After reviewing the state of the art and research conducted on various controllers, load balancing can be divided into being logically centralized/physically distributed. Physically distributed controllers are further subdivided into hierarchical, horizontal (flat), and virtualization controller load balancing.  
[PERSON] et al. [31] identified and emphasized the variety of SDN controllers and research challenges in different SDN control plane architectures, including distributed, hybrid, and centralized SDN control planes. They assessed the most well-known SDN controllers using the four performance metrics of scalability, consistency, reliability, and security. Issues like interoperability, consistency, network partition, controller placement and load balancing, and security have been raised in regard to distributed control plane architecture.  
[PERSON] et al. [32] propose an efficient slave controller allocation-based load balancing approach named ESCALB for a multi-domain SDN-enabled IoT network which aims to transfer switches to a controller with idle resources effectively.  
[PERSON] et al. [33] and [PERSON] et al. [34] surveyed load balancing for both the data plane and the control plane, with a focus on SDN in the data center. Load balancing has been used to efficiently distribute network resources in order to improve both quality of service (QoS) and overall network performance, and this technology has been proven to be essential.  
[PERSON] et al. [35] propose bidirectional switch migration based on load prediction (BSM-LP), which avoids needless switch migrations by properly predicting controller loads using historical load data and an ATT-GRU model. Their BSM algorithm enhances migration efficiency to prevent overloading the target controller and another algorithm for identifying and integrating isolated nodes to decrease their frequency.  
In our previous study [3], we highlighted that it is necessary to measure the load statistics for multiple controllers by developing an intelligent load distribution strategy and to optimize the number and location of controllers in order to establish balanced controller-load distributions throughout the ISP/Telco network.