## 3 Methodology
### A Hybrid CGAN-SDN Architecture
NFV is interesting for network providers, as the installation and updating of the virtual functions using software is less costly and easier than on hardware. Besides, the Next Generation Mobile Network Alliance (NGMN) [40] proposed network slicing as a method for virtualizing the 5G network physical resources. In this method, each slice is independent of the other slice, and it is formed based on a blueprint. Network functions and resources are used to provide specific service(s), such as low-latency, ultra reliability, etc., by a slice. In a dynamic environment, like HetVNET, in which topology, the number of users, and the required services are inconsistent, network slices may have to be created and modified very fast. Therefore, it may be necessary, within a period of time, to replace the slices with new slices. The rapid provision of new slices based on the current network requirements needs a plan that could be made up of the necessary metrics, such as transmission power, transmission rate, and required bandwidth. Regarding the above mentioned issues, we propose a hybrid CGAN-SDN architecture. Figure 5 shows the three layers of SDN. In this architecture, fog devices are implanted at the controller in order to execute the CGAN algorithm. The high computing and storage abilities of fog devices are helpful for running the CGAN. The NFV is a fundamental component of network virtualization and the creation of slices. Information extracted from the successful scenarios is augmented at the controller, and this information is useful for  
making blueprints. The NFV has the required functions to establish the slices. Therefore, the blueprints are passed to the VNFs by NFV management and orchestration. At the infrastructure layer, based on the orders coming from the virtual functions, the Virtual Network Provider (VNP) must form the necessary slices. Each slice has specific value of data rate and transmission power for DSRC and transmission power and bandwidth for LTE. Because the DSRC is used for V2V communications, the vehicles must communicate with each other using the new value of transmission power and data rate in each slice. Moreover, we can implement several Radio Access Network (RAN) base stations (like road side units) for LTE in the HetVNET. Therefore, these base stations can be configured in terms of transmission power and bandwidth for each slice based on the values that are decided at the control layer. Because each vector X = (\(v\), \(dr\), \(tp_{DSRC}\), \(tp_{LTE}\), \(b\)) generated by CGAN is applying to create one slice, even if there is more than one LTE RAN station in the slice, all should be configured while using the value of \(tp_{LTE}\) and \(b\) in the vector X. Accordingly, the value of \(dr\) and \(tp_{DSRC}\) should be applied for each V2V communication in the slice. For example, when considering slice 1 in Figure 5, if X = (\(x_{1}\), \(x_{2}\), \(x_{3}\), \(x_{4}\), \(x_{5}\)), then the both LTE RAN stations must provide \(x_{4}\) dBm transmission power and \(x_{5}\) MHz bandwidth, and vehicles can use both LTE RAN stations depending on the distance between vehicles and the LTE RAN station. In addition, in this slice could be \(x_{1}\) vehicles that should transmit data with \(x_{2}\) Mbps transmission rates and \(x_{3}\) dBm transmission power for V2V communications. Therefore, based on this method, slices are defined using the five parameters. Changing in the value of any of the five parameters (based on the new vector X generated by CGAN) means that the previous slice is gone, and a new slice is created. Figure 5: An intelligent hybrid CGAN-Software-Defined Network (CGAN-SDN) architecture for HetVNET. In a HetVNET, each slice could vary in the size and number of vehicles. Moreover, a VNP is virtually connected to the real network providers. The VNP is authorized to modify and allocate network resources from ISP.