## 6 Challenges and Solutions for Next Generation of SDN
However, the controller placement problem in any service oriented architecture is an NP hard problem [67; 79]. In addition, still the optimal arrangement, load balancing and demand nature conformed multi controller placement are challenges to be addressed. Predicting behavior and possible loads in advance and training the controller functions can be of help for these challenges. In the dynamic service-oriented fog layer, considering the computational load, connected forwarding devices and new fog region demand, the number of controllers can be changed, which may trigger the synchronization overhead. Further, using a bottom-up hierarchical approach of controller connectivity in the fog network layer, aggregating the fresh topology, the statistics at the main root or cloud controller by underlying controllers (domain, edge) can be prolonged. Similarly, hierarchical controller placement in a hybrid SDN fog infrastructure can have low performance for delay-sensitive applications. Other associated challenges of horizontally deploying the controller and servers at the fog layer are high energy consumption and carbon emission. Additionally, the controller collaboration model can have several dependent and independent control applications or processes, on the grounds that it can be arduous to debug the software multi-point applications inconsistencies. Moreover, it requires certain expertise by network administrators or configuration application developers. * Fault identification in dynamic network topologies: In an SDN environment, the SDN controller decides on how to forward packets to make the network topology dynamic, which can be changed in real time, based on intents and flows, in some milliseconds. This hinders the correlation of faults and diagnosis of an SDN infrastructure, where it is needed to correlated information from the physical nodes but also the rules installed by the SDN controller. Nevertheless, some works tried to model dynamic network topologies in SDN, such as the multiagent distributed troubleshooting mechanism for SDN that identified faulty network links in the data plane impacting user experience by [PERSON] et al. in [80], or the cross-layer self-diagnosis engine by [PERSON] et al. in [81] to find the root cause and explain service outages in SDN, due to control or data plane faults. * Trust and security: SDN poses some questions on the security and trust between the SDN applications and the controllers. Nevertheless, there are works that tried to improve trust among SDN components. [PERSON] et al. in [82], proposed a hierarchical broker-agent system to coordinate different SDN controllers to enhance the scalability of multi-domain SDN. Each broker is located at each domain to install flows on the data plane by means of the SDN controller of that domain, based on the concept of reputation to quantify the goodness of the flows installed by each broker. [PERSON] et al. in [83] proposed a trust-oriented controller proxy that intermediates between the controllers and the data plane by making sure the flows sent by different controllers are correct. Other works focused on an efficient use of the networking resources by the SDN applications, such as that proposed by [PERSON] et al. in [84], incorporating the notion of trust between SDN applications and the controller. * Efficiency of SDN: The efficency of SDN should be improved. Huge amounts of computational overhead resulting from rules enforcement, overlapping network rules and the memory-restricted capacities of the OpenFlow-enabled devices are some of the reasons for low efficiency of SDN in hybrid cloud-fog systems. Computational context aware management in the control plane can improve SDN efficiency. * ML and SDN in cloud-fog systems: The logical centralization of SDN has a crucial advantage, such as the capability to extract metrics from the SDN controller and the SDN underlying network elements.