Images lIcensed by Ingram PublIshIng Fog Vehicular computing F og computing has emerged as a promising solution for accommodating the surge of mobile traffic and reducing latency, both known to be inherent problems of cloud computing. Fog services, including computation, storage, and networking, are hosted in the vicinity of end users (edge of the network), and, as a result, reliable access is provisioned to delay-sensitive mobile applications. However, in some cases, the fog computing capacity is overwhelmed by the growing number of demands from patrons, particularly during peak hours, and this can subsequently result in acute performance degradation. In this article, we address this problem by proposing a new concept called fog vehicular computing (FVC) to augment the computation and storage power of fog computing. We also design a comprehensive architecture for FVC and present a number of salient applications. The result of implementation clearly shows the effectiveness of the proposed architecture. Finally, some open issues and envisioned directions are discussed for future research in the context of FVC. Ieee vehIcular technology magazIne | September 2017 The emergence of the Internet of Things (IoT) phenomenon is revolutionizing the era of computing. IoT refers to a large network of interconnected mobile intelligent objects (called things) distributed over a geographic region that tend to carry out various tasks such as monitoring, actuating, sensing, and measuring. The things are everyday physical devices such as refrigerators, vehicles, biochip transponders, industrial machines, medical instruments, and traffic lights. Each object has a unique identifier, is connected to the Internet, and gathers data and interacts with other devices in the network. The appealing concept of the IoT is that it offers a multitude of remarkable, advantageous opportunities, which so far have not been possible. A wide range of innovative applications such as health care, transportation, aviation, social networking, and traffic control can be established based on the IoT concepts. The IoT can be useful for real-time process tracking, better remote control over systems, real-time analytics, and decision making [1], [2] . During their course of operation, however, billions of connected objects collect and exchange sizable amounts of data, resulting in significant growth of network traffic. The velocity by which data are generated is often far faster than these objects' communication speed. Because the mobile objects are typically constrained by limited network connectivity, one of the primary challenges in the IoT is to deliver reliable service for latency-sensitive applications [3] , [4] . Although the conventional cloud computing paradigm is known to be a robust solution for delivering a diverse range of services to mobile applications, in practice, the long network distance between mobile devices and remote data centers hinders provision of real-time service to the application, resulting in a high delay sensitivity. Examples of such applications are video streaming, online gaming, and augmented reality [5] , [6] . To address the aforementioned problem, Cisco created the fog computing model as a complementary paradigm to the conventional cloud computing model. The services on the fog are hosted on the set-top box, and access points in the vicinity of end users eliminate the dispensable network hops, thus minimizing the response time for mobile applications. In addition, fog computing can alleviate the traffic congestion in the Internet backbone because the huge amount of traffic originating from end devices is locally handled by fog servers in the vicinity of these devices. As analogs to cloud computing, the fog services are computing, networking, and storage [3] . In certain scenarios, the fog resource capacity is severely swamped by the immense number of demands from smart objects. For instance, in a multistory mega shopping center, particularly during peak hours, thousands of patrons can use the fog services provided, such as video streaming and video gaming. The large number of connected clients incurs high computation overhead and acute bandwidth congestion, affecting fog-service reliability. This circumstance also deters the mobile applications' performance, which is contradictory to the aim of the fog paradigm [7] , [8] . On the other hand, a huge pool of smart vehicles are often left unexploited in the parking lot of shopping centers for extended periods of time. These vehicles can be envisioned as auxiliary computing resources that serve myriad users [9] . In this article, we propose the use of the innovative approach of FVC to enhance the scalability of a fog computing infrastructure. FVC takes advantage of a dynamic group of vehicles to boost the computational power and decrease the latency of fog computing. The idea of FVC offers striking advantages for both fog-service providers and vehicle owners. For example, the fog-service provider is relieved of the substantial up-front expenditure to scale up the fog infrastructure. On the other side, vehicle owners are entitled to receive a variety of attractive incentives such as free parking, free Wi-Fi, or free shopping vouchers in exchange for providing their vehicle's computing resource to the fog provider. The main contributions of this article 1) present the new concept of FVC to overcome the existing issues of fog computing, 2) describe the first architecture for FVC and explain its components in detail, and 3) implement the proposed architecture and compare it to fog computing to prove its effectiveness. Fog is a cutting-edge paradigm of computing that extends conventional cloud computing to the edge of the network. In the fog model, the data processing and analytics take place in the proximity of end devices, where huge quantities of data are generated. Locating the services as closely as possible to end devices eliminates the unnecessary network hops and expedites mass data transmission originated from IoT gadgets. From a security perspective, the fog strategy mitigates the risk of data exposure to adversaries across unduly large distances between end devices and cloud data centers, thus helping to protect the secrecy of sensitive data. Deploying a fog architecture provides a more reliable service to end users. In particular, the fog model is imperative for assorted types of services characterized by latency sensitivity. In general, the fog computing model is characterized by low latency, geographical distribution of devices, mobility, and a large number of nodes [10] . Although the fog computing environment has been designed to provide reliable service to real-time applications, in certain scenarios, the fog experiences an excessive number of demands that are often far beyond its capacity; consequently, sporadic performance issues arise. For example, in a sizable multistory shopping mall where a large number of patrons are hosted on a daily basis, a fog service is established to provide a variety of services to customers and visitors while they spend time there. During weekends, public holidays, and specifically during peak hours, thousands of customers are roaming the shopping mall and using the provided services. However, the limited computation resource in the fog inhibits this use. The simplest approach to overcome this problem is to scale up the computing infrastructure to accommodate extra demands. However, applying such a policy is subject to a substantial amount of up-front expenditure. Moreover, because the demands are not constant over time, the overprovisioned computing resources may be useless during off-peak periods. On the other hand, present and future vehicles are well-equipped with powerful onboard computers for the sake of a safe, convenient, and pleasant driving experience. These onboard computers have notable capabilities, such as global positioning systems (GPSs), cameras, bandwidths, data recorders, sensors, and actuators. Aside from managing the vehicle's functionality, the computers also help with better navigation. A pool of smart vehicles parked at a shopping mall for a long period of time has tremendous computing power that remains unexploited under normal conditions. This large array of intelligent vehicles can be envisaged as supplementary computing, storage, and networking resources and also leveraged to serve the enormous number of requests that are impossible to regularly handle with fog resources [11] . While they are parked, the vehicles are presumed to be plugged into electricity and network outlets. Furthermore, the owners of the vehicles are offered a variety of attractive incentives described in the "Internet of Things" section in return for lending the computing resources of their vehicles to the fog-service provider. To avoid any congestion in the entire parking area, only a certain zone is dedicated to the vehicular cloud. The maximum capacity of the FVC zone is determined according to the predicted need of the computational resources. Further analysis and modeling are required to predict the actual number of vehicles that are parked in the specific parking facility at any specific time. Due to the dynamic nature of the vehicular cloud, resorting to the computing resource of vehicles does not result in overprovisioning, in contrast to the regular fog case. This is because the number of patrons and, consequently, their demands are intuitively commensurate with the number of parked vehicles. The more demands that are received from users, the more vehicles there are to serve. Moreover, we predict a transparent and seamless picture of fog services available to typical users of the fog in shopping centers. In other words, users are unaware that their computational tasks are processed by the fog's own infrastructure or delegated to the supplementary vehicular cloud. Figure 1 depicts an infrastructure of FVC to support IoT applications. Table 1 shows the importance of the proposed architecture by comparing the fog, FVC, and vehicular cloud computing (VCC) based on the following attributes. ■ Computing power indicates that the two systems have the identical computing power if they can run and execute the same program and produce the same results at the same time. ■ Lifetime refers to the duration during which all components of the system are working properly. ■ Decision making is at the heart of the system and decides its reaction to different situations, i.e., addressing the received tasks by assigning the available resources. ■ Implementation cost refers to the total cost for implementing the entire system. ■ Storage capacity indicates the existing resources that are available for temporary or long-term data storage. ■ Latency refers to the time delay between assigning tasks and receiving results. This use case refers to a fog computing service deployed in a large shopping center. The service is established on the basis of underlying network switches and set-top boxes, along with an array of parked vehicles available as a supplementary computing resource to serve the myriad customers inside the mall. The smart modern shopping center (SMSC) deals with this group of smart vehicles, and each vehicle has a processing unit, memory, storage, and network connection. The objectives for SMSC are as follows. ■ A reliable service for fog users would be available, particularly with regard to latency-sensitive applications such as video streaming. ■ Online gaming, an entertainment service by which customers can enjoy multiplayer online games, would be enabled. ■ Safety instructions would be provided, such as those needed in an emergency evacuation from a fire or other disaster. Such a system would guide trapped individuals with mobile devices to the nearest and safest escape route. ■ The exact position of a vehicle in a vast parking area could be pinpointed, a hassle-free option for locating a car that also provides a visual route to reach the vehicle. ■ A diverse array of shopping information would be delivered in a timely fashion. The information can be very simple, e.g., the location of a store that offers a specific product such as apparel, dining, or entertainment. Customers can also access many other applications, including the latest store promotion, a comparison of prices to prepare a shopping list, and direct contact with customer services. ■ Access camera surveillance systems for security and safety would be provided. Fog computing can provide a copious amount of resources to archive and process the collected footage. Specifically, when it is necessary to carry out an automated real-time video stream analysis including face detection, object counting, object tracking, and vehicle recognition, FVC capabilities can be leveraged to cope with performance issues. Scarborough Research and Arbitron [12] conducted a survey on teenage mall shoppers and found that 68% of teens spend more than two hours at malls and 95% of adult shoppers spend one hour shopping at malls. This shows that a plentiful number of customers visit the malls every day, leaving their cars in the parking lots. Here, we present the novel architecture for FVC (based on the parked-vehicle resources in shopping centers) and describe its components in detail. Figure 2 shows the layered design of the FVC software framework and its architectural components. The FVC architecture consists of three main layers: application and services, policy management, and abstraction. The first layer of the FVC architecture, application and services, provides a variety of real-time applications for end users based on collected data from the deployed sensors in the inertial navigation system, parking environment, shopping center building, and inside vehicles (i.e., environmental, health, activity, and vehicle recognition). This layer also offers the following new services to the end users. These provide useful information about events and emergency circumstances for customers who are connected to the FVC. The center can also offer entertainment such as online games and commercial movies. The aim of these services is to increase the welfare and safety of customers. 2) Network as a service: Customers who have an Internet connection can offer this facility to the other customers who do not have an Internet connection for as long as they need it. This connection can be provided through the mobile devices or the stationary infrastructure on the roads. Many such resources can be useful for the clients, especially in emergency situations. Such essential resources, which can be accessible for those who are interested as long as they have Internet access, can be advertised at the center when the owner agrees to do so. 3) Storage as a service (STaaS): The concept of STaaS refers to the situation in which the FVC has plenty of free onboard storage capability and this storage is present for clients who need additional storage for different purposes, e.g., running the applications that require high-storage resources, making a temporary backup, or using person-to-person applications over an extended period of time. 4) Computation as a service: The U.S. Department of Transportation recently released information showing that most of the registered vehicles (about 256 million) in the United States are parked for several hours per day in parking lots, garages, and centers [13] . These vehicles have enormous unused computational re sources and present an opportunity to be exploited in the VFC structure as a new service for those clients who wish to augment the computation resources of their mobile devices to perform huge computational tasks. The policy management layer at the heart of the FVC system is responsible for managing the life cycle of tasks by allocating to them the appropriate computation and storage resources. This layer, also re sponsible for dealing with basic issues such as monitoring the system state dynamically, consists of three sublayers: policy, fog, and vehicular cloud. policy Policy is a centralized layer of the FVC architecture that is interconnected with both fog and vehicular cloud sublayers to assign tasks and resources dynamically. In other words, all of the clients' services must be checked ■ Quality of service: This is used to set the criteria related to computing, network, and storage such as rate of delay, computation cost, and communication cost. ■ Configuration: This refers to the necessary configuration of different devices and services that are supported or presented by the FVC. ■ Repository: This is a database (DB) for storing the set of policies and rules used by the decision manager entity for handling security, performance, and network requirements during the decision-making step. ■ Security and privacy: These are responsible for providing a secure environment for users by using different techniques, including determining user access control to requested applications and services, enhancing privacy for data isolation, and preserving the confidentiality and integrity of the outsourced data. ■ Service DB: This DB presents the list of active services that are provided by fog or vehicular nodes. ■ Decision manager: A main component of the policy manager layer, the decision manager is in charge of making decisions with regard to data collected from other components. The decision manager consists of two parts: 1) FVC service finder: This module analyzes the set of active services in the service DB to identify the best service to satisfy the client's request. 2) FVC task manager: When a task is received by this module, the FVC task manager decides to assign the task to the fog or vehicular section based on the predicted time needed to perform the task in each of the parts. In the next section, we explain more about the decision-making process in this component.  The abstraction layer is responsible for concealing the heterogeneous platform of the FVC and revealing a monotonic interface for monitoring, provisioning, and managing the physical resources, such as memory, CPU, and network. This layer can also be used to control different operating systems, hypervisors, and services on physical machines. Moreover, the abstraction layer has adequate capabilities to carry out the visualization technique for supporting multitenancy and execute multiple operating systems and services on physical machines for cultivating resource use. Protecting the security and privacy is a crucial role of the abstraction layer. Different methodologies can be used in this layer to ensure the data integrity, confidentiality, and resource isolation for diverse clients. Homomorphic secret sharing, zero knowledge proof, and attribute-based cryptography are some methods that can safeguard the confidentiality, integrity, and access control in the FVC architecture [14] , [15] .
In another related work REF , authors indicate that in some cases, such as peak hours, the computation capacity of fog is overloaded by an increasing number of requests.
Fog Vehicular Computing: Augmentation of Fog Computing Using Vehicular Cloud Computing
IEEE Vehicular Technology Magazine
IEEE Vehicular Technology Magazine
Engineering