Artificial Intelligence Enabled Software Defined Networking: A Comprehensive Overview <s> Simulated annealing in SDN <s> The Software-Defined Network (SDN) approach decouples control and forwarding planes. Such separation introduces reliability design issues of the SDN control network, since disconnection between the control and forwarding planes may lead to severe packet loss and performance degradation. This paper addresses the problem of placing controllers in SDNs, so as to maximize the reliability of control networks. After presenting a metric to characterize the reliability of SDN control networks, several placement algorithms are developed. We evaluate these algorithms and further quantify the impact of controller number on the reliability of control networks using real topologies. Our approach can significantly improve the reliability of SDN control networks without introducing unacceptable latencies. <s> BIB001 </s> Artificial Intelligence Enabled Software Defined Networking: A Comprehensive Overview <s> Simulated annealing in SDN <s> Software Defined Networking (SDN) has emerged as a new paradigm that offers the programmability required to dynamically configure and control a network. A traditional SDN implementation relies on a logically centralized controller that runs the control plane. However, in a large-scale WAN deployment, this rudimentary centralized approach has several limitations related to performance and scalability. To address these issues, recent proposals have advocated deploying multiple controllers that work cooperatively to control a network. Nonetheless, this approach drags in an interesting problem, which we call the Dynamic Controller Provisioning Problem (DCPP). DCPP dynamically adapts the number of controllers and their locations with changing network conditions, in order to minimize flow setup time and communication overhead. In this paper, we propose a framework for deploying multiple controllers within an WAN. Our framework dynamically adjusts the number of active controllers and delegates each controller with a subset of Openflow switches according to network dynamics while ensuring minimal flow setup time and communication overhead. To this end, we formulate the optimal controller provisioning problem as an Integer Linear Program (ILP) and propose two heuristics to solve it. Simulation results show that our solution minimizes flow setup time while incurring very low communication overhead. <s> BIB002
Simulated annealing (SA) used for solving controller placement problem BIB001  and dynamic controller provisioning BIB002 . Hu et al. BIB001 proposed a method for solving the problem of placing controllers in SDNs in order to maximize the reliability of control networks. They proposed a novel metric that indicates the reliability of the SDN control network, called expected percentage of control. The aim of the optimization is to minimize the expected percentage of control path loss. The simulation results showed that SA achieved the best results when compared to other methods. However, the results showed that adding a large number of controllers has an adverse effect. The reason for that is adding more additional controllers will reassemble a full mesh network with too many control paths leading to a low reliability BIB001  . Bari et al. BIB002 used SA for deploying multiple controllers within an WAN. In terms of flow set-up time, the experimental results showed that SA can outperform both greedy knapsack (GK) and, a single controller for the entire network called 1-CRTL. However, SA required much longer time to run than GK. On the other hand, the overhead of SA is smaller than GK due to the fact that it employed fewer number of controllers and which is very close to 1-CTRL.