## 5 Roles of SDN for Cloud-Fog Enabled 5G and Beyond
### SDN for Resource Allocation in Cloud-Fog  
[PERSON] et al. [5] introduced an architecture to address the benefits of energy-saving by combining SDN and the fog environment into one system. To this end, they utilized a dynamic programming scheme in order to optimize the selection of fog nodes. In their proposed architectures, SDN is located between the cloud and fog layers. Using iFogSim [6], the authors showed the ability of the proposed method in minimizing the energy consumed by the fog system while maintaining the service level agreement (SLA) parameters. [PERSON] et al. [51] proposed a resource allocation mechanism for IoVs in 5G infrastructure. Their mechanism used the cloud-fog system managed by SDN. There are four indicators (i.e., service stability, service delay, energy consumption, load balancing) considered in this paper to deal with the efficient resource allocation for an IoV's demand. The proposed algorithm employed the hierarchical clustering of nodes. Further, in the proposed 5G IoV model, an RSU controller in the fog cluster (managed by the SDN controller) can request the resources to the cloud, based on SDN controller policies. RSU collects and disseminates the connected vehicle and road information to the connected roadside unit controller (RSUC). Due to the uncertain number of job submissions at RSU, there are a number of connected RSUs in the fog cluster. On the other hand, the RSU controller can also request and acquire resources from the adjacent fog cluster to balance the load. The RSU controller aggregates the processed task of a job from a fog node in the cluster and from the cloud node. It is worth mentioning that the historical failure information of a computing entity is maintained in advance to ensure computing node stability during task execution. [PERSON] et al. [52] introduced a 5G vehicle-to-everything (V2X) ecosystem to support IoV. Their presented ecosystem is based on the SDN concept. The authors evaluated scenarios with the eMBB use case and V2V communications. The results show that the proposal could improve the IoV communications requirements under high-mobility (120 km/h vehicles in a rural environment) and high-density situations (urban scenarios). [PERSON] et al. [53] proposed an SDN enabled framework for resource allocation to mobile applications. The authors addressed the delay challenge in computational offloading of mobile devices and efficient resource allocation at the edge of the network along with power constraint considerations. In this framework, firstly, to reduce the central controller burden, edge nodes are used. Secondly, to allocate the efficient computational resources, the reinforcement learning model (Q-learning and enhanced Q-learning algorithms) is employed, which is suitable for dealing with a dynamic demand and frequent resource al location. Machine learning (ML) aware algorithms work to decrease the latency of resource assignment in massive increasing mobile applications at the edge of the network. [PERSON] et al. [54] proposed an architecture through the combination of fog computing and SDN in order to enhance the QoS in an IoT system. The authors tried to demonstrate how SDN and fog computing can be united effectively in order to recoup for each other's shortcomings and how they can be combined to improve QoS for IoT systems. They also proposed an algorithm (which is dependent on partitioning the SDN virtually) to select the optimal access point and optimal place to process the data. The main objective of this algorithm is to provide improved QoS by partitioning the corresponding fog devices through the SDN controller. This work considers three level of priority for processing data (jobs): time-sensitive (needs real-time processing), less time-sensitive and time-insensitive. In the proposed architecture, there are four following layers: things, fog, SDN and cloud. The things layer includes IoT devices/end user devices. The fog layer is generally divided into two parts: fog node (FN) and aggregate fog node (AFN).