The ever increasing demand for storage, computation, and communication has vexed researchers, especially with the inception of Internet of Things (IoT)-based cyber-physical systems. In the past few years, the computational power required by different applications has significantly increased. For example, applications supporting medical sciences, finance, and artificial intelligence are increasingly dependent upon high computation systems. Both parallel computing and distributed computing have presented different solutions accordingly to overcome the high demand of computational power. Cloud computing is another solution that has evolved from Grid Computing. Basically, cloud computing is enabled by easily accessible data centers providing very high computation and storage capabilities. However, the initial setup cost for software and hardware, as well as running cost of infrastructure which includes the maintenance cost, cooling power consumption, and direct equipment power consumption are of major concern. Vehicular cloud computing provides a cost-effective alternative. According to this concept, a cloud can be formed anywhere on the roads using the computational capabilities of the onboard equipment in the vehicles or using the smartphone in those vehicles. VCC has extended the concept of mobile cloud computing whereby mobile phones offload all computation and storage related tasks to the Internet clouds. In VCC, mobile phones as well as vehicles can offload tasks to another vehicle or the infrastructure.
The architecture of VCC consists of mainly three layers, vehicle equipment, communication, and the cloud [11]. Vehicle equipment includes sensors to monitor driver, on board processors, storage, and OBU (On Board Unit). OBUs, at the communication layer, connect vehicle equipment to deployed infrastructure (3G, 4G/long-term evolution (LTE), Direct Short-Range Communication (DSRC)) to exchange information. This communication is named as V2I. Similarly, V2V makes inter-vehicle communication possible using DSRC. The last layer, the cloud, spans further three layers, including cloud infrastructure, cloud applications, and the cloud platform. The cloud infrastructure has mainly two modules. One for computation and the other for storage. For instance, some computation can be performed locally on the sensed data before storing it in the cloud. Architecture of VCC is shown in Fig. 1.
With the emergence of VCC paradigm, different services have been proposed that use under-utilized vehicle resources to improve performance. We categorize all vehicular cloud-related services in four categories: (i) Computing as a Service, covering different proposed works that use vehicles computing resources to meet computation demand; (ii) Storage as a Service, describing frameworks proposed to store data in VCC resources; (iii) Network as a Service, frameworks that use VCC as a network; and (iv) Application as a Service, covering various utility applications that have been proposed for the VCC architecture. Figure 2 shows the taxonomy of all VCC-related services discussed in this paper. We discuss all these services in detail in subsequent sections.
Computing as a service
In this service, vehicles and mobile phone users can request the vehicular cloud to assist in performing compute intensive tasks locally to support delay-sensitive applications (Fig. 3). The vehicular cloud consists of dynamic membership of willing vehicles whereby vehicles are frequently moving in and out of the region and may not be able to fully support the requested tasks. Integration of traditional cloud with the vehicular mobile cloud termed as VANET-Cloud is proposed by Bitam et al. [12]. The proposed framework form a temporary cloud using moving or parked vehicles. Consequently, the request from end user can either be entertained with temporary mobile cloud or fixed cloud. The proposed scheme is able to achieve a considerable improvement in performance even in a high load environment. The service providers are responsible for managing the complexity of combining vehicular cloud with a traditional cloud.
Zhang et al. [13] proposed a VCC framework that combines vehicular cloud and cloudletsFootnote 1 to provide computing capabilities to smartphones. The framework requires two conditions to initiate computational tasks offloading from smartphones. The first condition is the availability of a reliable connection between the smartphone and VCC. Secondly, the availability of appropriate resources in the vehicular cloud. If the vehicle moves away from the vicinity of the smartphone during computation, cloudlet serves as multi-hop between the smartphone and the vehicular cloud node. The authors performed theoretical analysis, and it is shown that the technique has improved the performance and saves energy of smartphones from depletion.
Besides numerous benefits of cloud computing, however, its performance is constrained by IP core network’s limitations (latency, bandwidth). In this context, fog computing [14, 15] is a new computing paradigm that brings part of cloud computing or cloud storage (dedicated cloud resources) in the vicinity of the end user. Consequently, a large number of requests for cloud services is entertained through local Fog resources rather than traversing the entire Wide Area Network (WAN). However, during the peak hours, Fog may be overwhelmed by a large number of simultaneous requests, resulting in degraded performance faced by the end user. Thus, the concept of Vehicular fog computing (VFC) [16] is based on providing computing capacity through underutilized infrastructure available in slow-moving and parked vehicles. The VFC utilizes the infrastructure available close to end-user or near-user edge devices to provide support for delay-sensitive applications.
A similar concept is discussed in [17] whereby the authors proposed the integration of Fog networks with vehicular cloud network based on parked vehicles in a shopping center. The policy management layer in the proposed framework decides which Fog node can fulfill the request in a timely manner. As a first step, the framework computes completion time and complexity of the task, then delegates the request either to the fog network or the vehicular network. Moreover, there is a local scheduler for both resources. The Fog-based vehicular cloud cultivates best features from both Fog and vehicular such as high computation, moderate cost, and low latency among others.
A similar computing framework is proposed by Hou et al. in [18]. It forms a cloud based on moving and parked vehicles. The vehicles can also serve as relay node for communication between vehicles and the RSUs. Consequently, RSUs with the help of vehicular computing resources form a Fog. It is worth mentioning that the major benefit of this framework lies in utilization of vehicular mobile cloud for supporting remote cloud services. However, the computing tasks from the traditional cloud can also be migrated to the mobile vehicular cloud. The performance of the proposed scheme has been investigated using a real data sets of different cities of China.
Torres et al. [19] proposed a framework that creates virtual regions of vehicles. The vehicles inside a region can only communicate with vehicles in the same region. In each region, a vehicle is elected to serve as a leader based on priority, time spent in the region etc. The leader is responsible to receive, buffer, and forward packets to the leaders of the other regions. The non-leader vehicles provide the backup to the leader node. The approach is adapted to handle the leader failure; in that case, another vehicle is selected as a leader that takes the state of the network from backup nodes. Thus, reducing the overhead involved in gathering information significantly. A modified version of Ad hoc On-Demand Distance Vector (AODV) [20] is used to support the routing within a region. The vehicle that requests the task execution and the leader vehicle that has assigned the tasks maintains a table which includes a list of members and assigned tasks. The proposed work achieves the benefits of VCC at the cost of communication overhead.
Feng et al. [21] presented a framework for distributed Autonomous Vehicular Edge (AVE). In the proposed framework, the vehicles can offload computing task to other vehicles. However, the vehicles are assigned on requester priority. Besides the role as requester and entertainer, the vehicle can serve as a relay node to enable multi-hop communication. The proposed AVE mainly consists of two modules i.e., flow and beaconing. The former one includes caching requests, discovery of available resources, scheduling of jobs, and data transmission. The latter is responsible for periodic beaconing to maintain a list of vehicles within the vicinity. At scheduler, jobs are served according to ant colony optimization algorithm. The applications are installed on native operating systems of vehicles and the available idle resources are managed in a virtualized manner.
Vehicular clouds are enriched with dynamicity as vehicles can move unexpectedly, which can affect the overall performance of the vehicular cloud. Ghazizadeh et al. [22] proposed a fault tolerance model for task distribution in a vehicular cloud, which is validated through simulations. Traditionally, fault tolerance is achieved through saving the states of the computing resources periodically but in the proposed strategy, the state of the computing resources is saved only when the vehicle leaves the cloud. Thus, high bandwidth connectivity and extra storage in the vehicular cloud is not required to save the state at regular intervals. The proposed prediction model considers the environment where vehicle departure and arrival time is highly probable, parking space remains nearly occupied, each vehicle is equipped with a virtual machine capable of computing the assigned task, and vehicular cloud is capable of providing the infrastructure as a service. For redundancy purpose, each computing task is assigned to a group of multiple vehicles. When a vehicle leaves a group, its state is recorded. In case of successful state recording, results are saved and remaining task is reassigned to a new group of vehicles. However, if state recording fails, the task is forced to be restarted from its last correctly saved state.
Research challenges and future directions
The entire fabric of VCC is based on volunteer computing, where vehicles share their computing power with other vehicles [23]. However, mobility of the vehicular network presents a challenging environment for task distribution and results collection. To simplify, researchers have proposed frameworks that utilize the parked vehicles and static RSUs. The computation tasks are distributed by a RSU at one intersection, and results are retrieved by another RSU on other intersection. Similarly, tasks are distributed to the parked vehicles and results gathered back before their departure from the parking lot. Moreover, to reduce the internet traffic, a group head is defined who is responsible for task distribution and result gathering. However, in all such frameworks, the role of the group leader or task distributor is very critical; this can easily lead to a single point of failure. The computing as a service in VCC is still an emerging area that needs further exploration to provide fault tolerance and reliable services. Moreover, an incentive-based mechanism is required that encourage volunteers to become the part of the vehicular computing grid. Areas that require further attention are the security of distributed tasks, the integrity of obtained results, and authorization/authentication mechanism for identification of legitimate users.
Storage as a service
In VCC, the storage service is inherently different from traditional cloud storage service. In the cloud, unlimited storage is available at a very economical rate, managed by cloud management software. For example, Amazon provides Simple Storage Service (S3)Footnote 2 that can be integrated with applications through Application Programming Interface (APIs). In VCC, it is difficult to provide unlimited storage—the storage relies on multiple vehicles (Fig. 4). In order to provide virtual storage abstractions for VCC, an extensive framework is required. In this section, we explore the existing storage frameworks, techniques, and state-of-the-art mechanisms proposed under the VCC paradigm.
Dressler et al. [24] presented a data storage and retrieval framework based on Virtual Cord Protocol (VCP). The framework is designed to work on built-in storage of parked vehicles, that dynamically creates a vehicular network, eliminating the need for RSUs. The data management is performed through an overlay network. The framework utilizes the concept of a distributed hash table to store and retrieve chunks through hashing. The framework works on the principle of clusters and virtual cord. On receiving a hello message, the new vehicle can connect the existing cord or create a new virtual cord. In case, the hello message is received from multiple cords, the new vehicle can prioritize cord based on maximum neighbors. After joining the virtual cord network, the vehicle adjusts its routing table. However, in case no control message is received within the fixed time interval, the vehicle can start a new cord. All nodes in a cord form a cluster, also called a domain. The proposed framework can also support inter-domain routing. In every cord, there is a gateway node that connects with other domains to perform data/query routing.
In order to evaluate the proposed framework, authors have developed an application that can store and retrieve data through publish and lookup function calls. The vehicle departure is considered as a node failure, and the replica of every data chunk is stored on different vehicles. In case of a vehicle departure, the affected data block is replicated on another vehicle. However, there are a few drawbacks of the proposed framework. The broadcast of hello packets and acknowledgments incur a considerable amount of network overhead. Due to dynamic cord creation in the proposed framework, it is also possible that every cord has one vehicle in it, thus increasing the overhead significantly. Lastly, the framework simply drops the request in case adequate storage is not available forcing the user to regenerate request after some time. This can further increase network traffic.
Vigneri et al. [25] proposed a framework to utilize the vehicles as data caches to reduce the load on cellular infrastructure. In a typical system, edge nodes are used to cache data which a user can directly access without involving the source node through cellular network. In the proposed framework, base station pushes data to available vehicles in its vicinity. The user request for contents is routed to vehicles enabling the user to directly fetch the data from a nearby vehicle. However, if data is not available, the users wait for the Time To Live (TTL) value before forwarding the request to the cellular network. An optimum scheme for management of cached contents and its refresh technique can improve the performance of proposed framework significantly.
Baron et al. [26] presented a Software Defined Network (SDN)-based data carrier framework over vehicular networks. The central controller manages the vehicles to optimally route data to the destination node. The network consists of offloading spots at different locations. The offloading spots serve as temporary storage points where moving vehicles drop data before deviating from the destination node route. Other vehicles can again load data and offload to the next offload point, until the data reaches the destination node. The SDN controller is connected with the offloading spots and can plan the data movement considering direction of vehicles, data request, and data transfer from offloading spots to the destination. Similarly, the controller also ensures the reliability of data transfer using redundancy and Automatic Repeat reQuest (ARQ)-based techniques.
Another data forwarding framework in VANET is proposed by Wu et al. [27]. The framework uses low cost and bandwidth efficient unicast communications for handover of data between vehicles. The vehicles share their location with other vehicles through beacon messages. Before leaving a specified region, a vehicle first offloads to a new vehicle using a fuzzy logic algorithm based on throughput, stability, and bandwidth. To reduce contention at the Media Access Control (MAC) layer, a clustering mechanism is used to limit the number of senders in dense network scenarios. For the formation of the cluster, the algorithm considers channel conditions, number of neighbors heading in the same direction, and velocity of the vehicle. Aforementioned parameters are shared with other vehicles using hello messages. Each node computes competency value for itself and neighbor vehicles. If competency value of the vehicle is larger than all nodes in its R/2 range (R being the transmission range), the node declares itself as a cluster head. Each node maintains a local table for next hop either for the destination or cluster head. If the destination is not within the same vicinity of a vehicle, data is forwarded to the cluster head of the destination. The proposed framework is verified through theoretical analysis and simulations.
Vehicles data storage services are not only limited to the data offloading mechanism, but the combined storage capabilities can also be used to create a vehicular data center. Mensi et al. [28] proposed a framework to utilize the storage capacity of volunteer vehicles parked in a parking lot or in a traffic jam. The vehicular data center is also connected to the traditional data center. In the proposed framework, a vehicle transfers its stored data to a newly arrived vehicle before moving away. In case, if there is no new volunteer vehicle available, the data is transferred to the coordinator vehicle that holds the data item temporarily until a new vehicle is found. In this model, each vehicle contains a unique data item with no replica being maintained to handle data loss. Data has to be fetched from the traditional data center in case of data loss. The proposed model has been validated through simulations.
Content/data caching is an important technique for the optimization of vehicular networks as it reduces the backhaul cost, transmission load as well as improves the user-perceived experience. The basic concept of caching is to distribute popular content locally. In general, multimedia users are more concerned about the quality of the content rather than its caching location. A niche application of caching is video streaming in vehicular networks. Guo et al. [29] proposed a time-scaled caching scheme for Adaptive Bit Rate (ABR) video streaming in vehicular networks, in which caching is performed at base station (BS). This scheme manages the video quality, cache placement, and video transmission. The caching in vehicular networks is different from the traditional caching in wireless networks due to high-speed mobility. Wei et al. [30] proposed a cache management technique to improve the quality of experience (QoE) for adaptive scale video streaming at an appropriate bit rate. The authors presented the concept of pushing data hop-by-hop to the adjacent nodes. Furthermore, the caching model is presented for the nodes. However, the mobility of the vehicular network makes the selection of potential nodes a complex task. Moreover, average freeze time, freeze ratio, and bit rate were used to evaluate the QoE from the user’s perspective.
Caching applications are not limited to multimedia only, and Su et al. [31] presented the concept of caching content in parked vehicles. The parked vehicles have the potential to distribute the large-sized content efficiently as compare to the nodes along the roads. In such frameworks, one of the main challenges is the selection of vehicles for content caching as vehicles can join and leave at any time. To overcome churn behavior of vehicles, Zhang et al. [32] proposed the renewable energy-based green RSUs for caching the contents for vehicular networks.
Lai et al. [33] investigate the effects of cache under modifying channel state information where multiple nodes participate in a decode-and-forward relay mechanism. The authors also presented the selection of secondary nodes to maximize the channel gain. To evaluate the proposed system, authors derived analytical expressions while considering a system with or without cache. Further, the authors conclude that cache-based systems reduce the transmission time.
Research challenges and future directions
The distributed storage service in VCC is helpful for applications that require a significant amount of storage. However, due to inherent ad hoc nature of VCC, it is difficult to provide a reliable storage service. The service assumes the presence of a large number of vehicles that can stay within the region for a relatively long time, e.g., in a parking lot. The research contributions discussed in this section are mainly designed to handle this particular challenge. Moreover, data transfer depends on data rate available on wireless links. Therefore, keeping multiple copies of data within the VCC and continuously synchronizing these is very expensive. To avoid such issues, VCC storage is mostly used for immutable objects sharing.
There exist many research challenges in caching content for vehicular networks, such as cache invalidation and placement [34]. Machine learning and other optimization techniques can be adapted to select suitable vehicles to cache the contents. Some other challenges that need further exploration in this context are data security, user privacy, and resiliency.
Network as a service
Installing proper infrastructure for a vehicular network is an expensive process because of additional hardware cost. An interesting use of existing vehicular infrastructure has been highlighted in [35] where public busses are employed as mobile gateways. In the proposed framework, busses collect the requests for services and beacons in the form of aggregated messages from their respective communication range and transmit them to the cloud for further processing (Fig. 5). The busses are suitable for this function due to their unique features such as the height of bus means better line-of-sight increasing the overall communication range, predefined time schedule, predefined local routes, and availability of multiple busses on the same segment. Inter-vehicular communication is based on DSRC while the mobile gateway uses the cellular network to communicate with the cloud. However, busses are unable to provide mobile gateway services at late night and during a strike or any other time period during which public busses are not available, which is a major limitation. The proposed model is validated on real data collected from public busses in Seoul, South Korea.
Wu et al. [36] proposed a VANETs based content access model. The cost of accessing the contents through cellular networks are not feasible for everyone. Therefore, the authors have presented a scheme where only cluster head connects to the LTE data network and spreads the content using the V2V communication. The most common use case scenarios is the game streaming or sports score updates. An incentive-based mechanism is also introduced to encourage users to become the cluster head for content distribution. Moreover, the proposed model also uses scheduling in order to balance the load among multiple cluster head nodes.
In typical VCC, the requested contents are fetched through the Internet and served to other vehicles through the vehicular network. In [19], authors have presented a technique to access the required contents. The proposed technique is based on a virtualized version of AODV protocol. The content is accessed by the requesting node using the traditional Hyper Text Transfer Protocol (HTTP), while the physical node which has access to the Internet can work as the proxies on HTTP. In each region, a leader and a backup node are selected who has access to the Internet. A leader backup node keeps the record of every message transmitted to the leader. The purpose of having a dedicated backup node is to reduce the failure recovery time. Moreover, snapshots of adjacent regions are recorded, and whenever a leader of a region leaves it transmits its state information to the leader of the adjacent leader.
In the vehicular cloud, the Quality of Service (QoS) is difficult to maintain. Garai et al. in [37] proposed a three-layered hierarchical vehicular cloud architecture to achieve better QoS. The first layer deals with the organization of vehicles that connects them in a tree topology. The second layer deals with the cloudlets formed through the roadside units, whereas the third layer deals with the cloud formation over the Internet. The proposed framework enables QoS aware creation and migration of Virtual Machines (VMs) in RSUs to cope with the high mobility of the vehicles. Techniques have also been proposed to handle the handover management, bandwidth aggregation, management, and estimation of de-jitter buffer to improve the QoS.
Sibai et al. in [38] have also presented a technique for maintaining connectivity while the service provisioning is in process. As the service provider and requestor both are the vehicles, the duration of their communication is an important parameter to consider. The requested service is assumed to be spanned over the sensing data, storage of data, computing capabilities, or networking parameters such as customized routing and on-demand bandwidth. The service type and service duration are specified at the time of vehicular cloud formation. In the proposed model, a requesting vehicle forms a cloud. The cloud formation includes a process to find volunteer vehicles which can be part of the cloud to provide the services. The vehicle responsible for formation is also responsible for destructing the cloud upon successful completion of requested service. The service requestor broadcasts the service request for cloud formation, top three service providers are shortlisted, and the requestor can choose any of them according to the pre-defined criteria such as computing power, storage, or bandwidth offered. The authors have assumed that pre-defined routes of vehicles can be accessed through cloud leader using vehicle location.
In [39, 40], Aloqaily et al. proposed a framework that caters for the privacy, latency, and cost to provide the optimal Quality of Experience (QoE). The main objective of the proposed models is to address the privacy and latency issues. Moreover, the framework also ensures safe and secure migration from one service provider to the other. Thus, the user can access services from multiple providers and gets charged only once. On the successful completion of service, user rate the third party for its services keeping in mind the cost, latency, and privacy factors. Such models are suitable for pay as you go scenarios.
Research challenges and future directions
The QoE and QoS are difficult to maintain in VCC, as the complete system is based on a number of vehicles available in the vicinity. Moreover, all neighboring vehicles may not be willing to become a part of the communication grid. A more robust mechanism is therefore required to support quality of services throughout the region of interest. A machine learning-based scheme to manage the existing resources and to efficiently utilize the connectivity to the cellular networks can be adapted to support dynamic provisioning of QoS.
Application as a service
Vehicular cloud network can be used to support various ITS-related applications such as road safety, traffic density, navigation guidance, and parking lot availability (Fig. 6). Moreover, road safety is not only limited to the vehicles but also involves the pedestrians on the roads. Therefore, applications also exist that facilitate the pedestrians and commuters. This section covers applications designed to cover all these areas.
Hwang et al. [41] presented a Safety Aware Navigation Application (SANA) to ensure the safety of pedestrians/strollers along the roads. In the proposed framework, it is assumed that all vehicles and the strollers connected with SANA have a smart cell phone or onboard computing and communication resources. The vehicular cloud is managed by a trusted traffic control center that keeps the log of current positions of vehicles as well as strollers. If a collision is predicted by SANA, it generates a pre-warning message to both vehicle and stroller. In case the probability of collision increases, warning messages are generated to both of them. The decision of sending a pre-warning message or a warning message is based on the distance between the stroller and vehicle. In order to make the application energy efficient, only vehicles near the specific stroller are considered for collision detection. However, it is worth mentioning that false positive and false negative predictions can cause unnecessary distractions. Moreover, when a collision between vehicle and pedestrian is imminent, then looking at a warning message might just distract the pedestrian or vehicle’s driver even more and make the situation even more critical.
Jeong et al. [42] presented a navigation-based vehicular cloud framework called Self-Adaptive Interactive Navigation Tool (SAINT). A traffic control center is the backbone of the navigation application, and each requestor sends the navigation query to the traffic control center. The main objective of this application is to provide the details of the least congested route between a source and destination. The proposed framework is self-adaptive. It maintains the link congestion matrix of diverted traffic while considering the overall capacity of the route so that no more vehicles are diverted on that particular route to avoid congestion. Traffic light schedule is also considered while suggesting the routes to vehicles increasing the efficiency of application.
Integration of social media platforms with vehicular clouds is an interesting area of research. Kwak et al. [43] presented a social vehicle navigation system whereby users share the geo-tagged traffic images, videos, or messages referred as Navigation Tweets (NaviTweets). After processing, the system builds an online visual traffic information system referred as traffic digest. Smartphone users can employ this navigation application to query the system to check the traffic intensity and expected traveling duration on their desired routes. However, system performance is dependent upon the traffic intensity on that particular route and how many users are willing to share the traffic information with the system.
Services provided through VCC are not only limited to the road users. The law enforcement agencies can use VCC for surveillance and rule violation monitoring. Mallissery et al. [44] presented a framework that allows traffic police to monitor violations remotely. The traffic police manages the vehicular cloud, and all moving vehicles become the members of the cloud upon issue of registration by the registration authority. The cloud system collects speed readings from the onboard sensors which compares it with pre-defined applicable speed limits on that particular section of the road to detect the violation. All the communication is encrypted to preserve the user privacy.
Entertainment is another interesting area of research under the vehicular domain. The entertainment services include but are not limited to video streaming and interactive gaming for passengers. Jelassi et al. [45] presented a framework that exploits traditional cloud, RSUs, and vehicular cloud to provide video streaming to the mobile end users. The proposed framework integrates the video player installed on vehicles with VM placed at RSUs/cloudlets, and VM residing at traditional cloud data center. The VMs placed at cloudlets are responsible for video fetching, streaming, caching, and maintaining QoE. On the other hand, client software installed on vehicles supports fetching and streaming. For streaming, vehicles request to VMs that are installed on roadside cloudlets acting as the servers. If the video manager of the cloudlets is unable to find a video, it forwards requests to the traditional cloud. Uninterrupted video streaming is thus provided with the help of vehicles and roadside cloudlets.
The application design based on the vehicular network must handle the connection issues due to the inherent mobility. Authors in [46] proposed a distributed and fault tolerant job assignment mechanism for vehicular nodes. It does not require saving state to any centralized server. The mechanism works by assigning each job to two vehicles in the parking lot. As a vehicle can leave and join the network at any time, the second vehicle performs fresh recruitment. It first stops and saves the state of Virtual Machine (VM) image and then copies it to any other available vehicle. Once this is done, VM is again started on both of vehicles. The overall job is terminated when one of the vehicles finishes execution. The checkpoint is an effective approach in providing fault tolerant computing resources. In [47], authors presented the two-level checkpoint strategy to improve job completion rate for different job sizes. The proposed mechanism reduces the risk for missing checkpoint while executing computation-intensive jobs. The node which lies close to the executing node and in between initiating and executing node is used as a first level server for the checkpoint, while job initiating node serves as a second level checkpoint server. When executing node leaves the network, middle node reports checkpoint to initiate new node selection with the previously saved states.
Research challenges and future directions
Highly dynamic nature of VANETs and the use of wireless medium, where interference-related problems are common, restrict the performance of VCC to provide entertainment applications. One approach is to reduce the number of transmissions required for communications [48]. Though this approach promises minimum interference; however, it also restricts nodes from broadcasting, resulting in minimum delivery of the content. This trade-off demands an effective broadcast approach to share the contents with maximum nodes in less number of transmissions.