# Software-Defined Vehicular Cloud Networks: Architecture, Applications and Virtual Machine Migration
## 2 Background of Technologies behind SDVC
### Vehicular Cloud Computing  
Figure 1 shows a high level of cloud-based vehicular application networks. This architecture consists of three interacting layers: VC, MEC cloud, and central cloud. Vehicles are mobile nodes that leverage cloud resources and services.  
* Vehicular cloud: A local cloud that clusters a certain number of neighboring vehicles. An inter-vehicle network in an ad-hoc manner is established by Vehicle-to-Any (V2X) communications. The vehicles and everything in direct communication are considered as mobile cloud sites. They cooperatively create a vehicular cloud service that distributes computing and networking resources among the participating vehicles [23].
* MEC cloud: A edge cloud established among a set of distributed multi-access edge cloud. The MEC cloud provides a provision of various V2X-based cloud services through the distribution and integration of distributed edge cloud servers and cloud radio access networks according to the location of V2X users [24; 25].
* Central cloud: The traditional central cloud computing, which is established among a group of commodity servers on the Internet [4]. A V2X user accesses a central cloud through Vehicle-to-Network (V2N) or cellular network using C-V2X communication [23].  
Cloud-based vehicular applications and context-aware applications are offered to passengers in vehicles through cloud computing. To address the requirements for a proper Quality of Experience (QoE), the Vehicular Cloud Computing (VCC) thus opens up considerable new opportunities to execute context-aware applications without using resources of the traditional cloud infrastructure [26]. VCC aims at providing cloud-based vehicular services through a dynamic, self-organized cloud formation based on the radio access of neighboring vehicles [26]. Similar to the traditional cloud, VCC can support services by prioritizing computation, storage, and network resource sharing.  
Resources sharing in VCC enables computation, storage, and bandwidth as a service because of insufficient vehicle resources. In fact, sharing computing resources as a service, vehicles can offload compute-intensive tasks to the MEC cloud located at the proximity of the willing (consumer) vehicles. Indeed, cloud-based vehicular services are deployed as a VM. The replication and migration are managed either at the central cloud or at the edge cloud. On the other hand, VCC provides cloud-based vehicular service that requires shared storage as a service. Thus, a distributed storage at different edge computing infrastructures is a solution, e.g., for real-time on-board diagnostic (OBD) data [27]. Therefore, the vehicle does not have to store a huge amount of data. A distributed storage implements the storage abstraction so that at any time the collection of distributed data storage would be uploaded to the central cloud at a convenient interval for further analysis. A shared bandwidth service enables vehicles to participate cooperatively in executing high-bandwidth cloud services initiated by a vehicle inside a VC. For instance, downloading a huge volume file would take less time than making one vehicle to complete the download alone.