Fog computing is an architecture that is used to distribute resources such as computing, storage, and memory closer to end-user to improve applications and service deployment. The idea behind fog computing is to improve cloud computing and IoT infrastructures by reducing compute power, network bandwidth, and latency as well as storage requirements. This paper presents an overview of what fog computing is, related concepts, algorithms that are present to improve fog computing infrastructure as well as challenges that exist. This paper shows that there is a great advantage of using fog computing to support cloud and IoT systems.
In this survey, we discuss the evolution of distributed computing from the utility computing to the fog computing, various research challenges for the development of fog computing environments, the current status on fog computing research along with a taxonomy of various existing works in this direction. Then, we focus on the architectures of fog computing systems, technologies for enabling fog, fog computing features, security and privacy of fog, the QoS parameters, applications of fog, and give critical insights of various works done on this domain. Lastly, we briefly discuss about different…
With the Internet of Things (IoT) becoming part of our daily life and our environment, we expect rapid growth in the number of connected devices. IoT is expected to connect billions of devices and humans to bring promising advantages for us. With this growth, fog computing, along with its related edge computing paradigms, such as multi-access edge computing (MEC) and cloudlet, are seen as promising solutions for handling the large volume of security-critical and time-sensitive data that is being produced by the IoT. In this paper, we first provide a tutorial on fog computing and its related co…
Fog computing is a promising paradigm for real-time and mission-critical Internet of Things (IoT) applications. Regarding the high distribution, heterogeneity, and limitation of fog resources, applications should be placed in a distributed manner to fully utilize these resources. In this paper, we propose a linear formulation for assuring the different availability requirements of application services while maximizing the utilization of fog resources. We also compare three multiobjective evolutionary algorithms, namely MOPSO, NSGA-II, and MOEA/D for a trade-off between the mentioned optimizati…
With smart devices, particular smartphones, becoming our everyday companions, the ubiquitous mobile Internet and computing applications pervade people daily lives. With the surge demand on high-quality mobile services at anywhere, how to address the ubiquitous user demand and accommodate the explosive growth of mobile traffics is the key issue of the next generation mobile networks. The Fog computing is a promising solution towards this goal. Fog computing extends cloud computing by providing virtualized resources and engaged location-based services to the edge of the mobile networks so as to …
The smart grid utilizes many Internet of Things (IoT) applications to support its intelligent grid monitoring and control. The requirements of the IoT applications vary due to different tasks in the smart grid. In this paper, we propose a new computing paradigm to offer location-aware, latencysensitive monitoring and intelligent control for IoT applications in the smart grid. In particular, a new fog-based architecture and programming model is designed. Fog computing extends computing to the edge of a network, which has a perfect match to IoT applications. However, existing schemes can hardly …
Fog computing becomes a promising technology to process user's requests near the proximity of users to reduce response time for latency-sensitive requests. Despite its advantages, the properties such as resource heterogeneity and limitations, and its dynamic and unpredictable nature greatly reduce the efficiency of fog computing. Therefore, predicting the dynamic behavior of the fog and managing resources accordingly is of utmost importance. In this work, we provide a review of machine learning-based predictive resource management approaches in a fog environment. Resource management is classif…
With smart devices, particular smartphones, becoming our everyday companions, the ubiquitous mobile Internet and computing applications pervade people's daily lives. With the surge demand on high-quality mobile services at anywhere, how to address the ubiquitous user demand and accommodate the explosive growth of mobile traffics is the key issue of the next generation mobile networks. The Fog computing is a promising solution towards this goal. Fog computing extends cloud computing by providing virtualized resources and engaged location-based services to the edge of the mobile networks so as t…
In this emerging world of connected devices, the need for more computing devices with a focus on delay-sensitive application is critical. In this paper, we propose a priority-queue based Fog computing architecture combined with dynamic scalability of fog devices, which not only reduces the delay experienced by delay-sensitive tasks by categorizing the delay-sensitive and delay-insensitive tasks, but also dynamically allocates the fog devices within the network depending upon the computation load for reducing the power consumption. The results show that the proposed algorithm is able to achieve…
This work evaluates three Fog Computing dataplacement algorithms via experiments carried out with theiFogSim simulator. The paper describes the three algorithms(Cloud-only, Mapping, Edge-ward) in the context of an Internetof Things scenario, which has been based on an e-Health systemwith variations in applications and network topology. Resultsachieved show that edge placement strategies are beneficial toassist cloud computing in lowering latency and cloud energyexpenditure.
The Internet of Things (IoT) aims to connect billions of smart objects to the Internet, which can bring a promising future to smart cities. These objects are expected to generate large amounts of data and send the data to the cloud for further processing, specially for knowledge discovery, in order that appropriate actions can be taken. However, in reality sensing all possible data items captured by a smart object and then sending the complete captured data to the cloud is less useful. Further, such an approach would also lead to resource wastage (e.g. network, storage, etc.). The Fog (Edge) c…
As vehicles playing an increasingly important role in people's daily life, requirements on safer and more comfortable driving experience have arisen. Connected vehicles (CVs) can provide enabling technologies to realize these requirements and have attracted widespread attentions from both academia and industry. These requirements ask for a well-designed computing architecture to support the Quality-of-Service (QoS) of CV applications. Computation offloading techniques, such as cloud, edge, and fog computing, can help CVs process computation-intensive and large-scale computing tasks. Additional…
Fog computing offers a scalable and effective solution to overcome the increasing processing and networking demands of Internet of Thing (IoT) devices. In this paper, we investigate the use of fog computing for health monitoring applications. We consider a heart monitoring application where patients send their 30 minute recording of Electrocardiogram (ECG) signal for processing, analysis, and decision making at fog processing units within the time constraint recommended by the American Heart Association (AHA) to save heart patients when an abnormality in the ECG signal is detected. The locatio…
Fog computing has emerged as a promising technology that can bring the cloud applications closer to the physical IoT devices at the network edge. While it is widely known what cloud computing is, and how data centers can build the cloud infrastructure and how applications can make use of this infrastructure, there is no common picture on what fog computing and a fog node, as its main building block, really is. One of the first attempts to define a fog node was made by Cisco, qualifying a fog computing system as a mini-cloud, located at the edge of the network and implemented through a variety …
Fog computing extends cloud computing technology to the edge of the infrastructure to let IoT applications access objects' data with reduced latency, location awareness and dynamic computation. By displacing workloads from the central cloud to the edge devices, fog computing overcomes communication bottlenecks avoiding raw data transfer to the central cloud, thus paving the way for the next generation IoT-based applications. In this paper we study scheduling and placement of applications in fog computing, which is key to ensure profitability for the involved stakeholders. We consider a scenari…
Fog computing is emerging as a new paradigm to deal with latency-sensitive applications, by making data processing and analysis close to their source. Due to the heterogeneity of devices in the fog, it is important to devise novel solutions which take into account the diverse physical resources available in each device to efficiently and dynamically distribute the processing. In this paper, we propose a resource representation scheme which allows exposing the resources of each device through Mobile Edge Computing Application Programming Interfaces (MEC APIs) in order to optimize resource alloc…
In multi-tiered fog computing systems, to accelerate the processing of computation-intensive tasks for real-time IoT applications, resource-limited IoT devices can offload part of their workloads to nearby fog nodes, whereafter such workloads may be offloaded to upper-tier fog nodes with greater computation capacities. Such hierarchical offloading, though promising to shorten processing latencies, may also induce excessive power consumptions and latencies for wireless transmissions. With the temporal variation of various system dynamics, such a trade-off makes it rather challenging to conduct …
Mobile Edge Computing (MEC) as an emerging paradigm utilizing cloudlet or fog nodes to extend remote cloud computing to the edge of the network, is foreseen as a key technology towards next generation wireless networks. By offloading computation intensive tasks from resource constrained mobile devices to fog nodes or the remote cloud, the energy of mobile devices can be saved and the computation capability can be enhanced. For fog nodes, they can rent the resource rich remote cloud to help them process incoming tasks from mobile devices. In this architecture, the benefit of short computation a…
The fast increment in the number of IoT (Internet of Things) devices is accelerating the research on new solutions to make cloud services scalable. In this context, the novel concept of fog computing as well as the combined fog-to-cloud computing paradigm is becoming essential to decentralize the cloud, while bringing the services closer to the end-system. This paper surveys on the application layer communication protocols to fulfil the IoT communication requirements, and their potential for implementation in fog- and cloud-based IoT systems. To this end, the paper first presents a comparative…
We propose a fog computing simulator for analysing the design and deployment of applications through customized and dynamical strategies. We model the relationships among deployed applications, network connections and infrastructure characteristics through complex network theory, enabling the integration of topological measures in dynamic and customizable strategies such as the placement of application modules, workload location, and path routing and scheduling of services. We present a comparative analysis of the efficiency and the convergence of results of our simulator with the most referen…
The Internet of Things (IoT) aims to connect everyday physical objects to the internet. These objects will produce a significant amount of data. The traditional cloud computing architecture aims to process data in the cloud. As a result, a significant amount of data needs to be communicated to the cloud. This creates a number of challenges, such as high communication latency between the devices and the cloud, increased energy consumption of devices during frequent data upload to the cloud, high bandwidth consumption, while making the network busy by sending the data continuously, and less priv…
This paper evaluates the impact of using disaggregated servers in the near-edge of telecom networks (metro central offices, radio cell sites and enterprise branch office which form part of a Fog as a Service system) to minimize the number of fog nodes required in the far-edge of telecom networks. We formulated a mixed integer linear programming (MILP) model to this end. Our results show that replacing traditional servers with disaggregated servers in the near-edge of the telecom network can reduce the number of far-edge fog nodes required by up to 50% if access to near-edge computing resources…
Fog computing has been advocated as an enabling technology for computationally intensive services in smart connected vehicles. Most existing works focus on analyzing the queueing and workload processing latencies associated with fog computing, ignoring the fact that wireless access latency can sometimes dominate the overall latency. This motivates the work in this paper, where we report on a five-month measurement study of the wireless access latency between connected vehicles and a fog/cloud computing system supported by commercially available LTE networks. We propose AdaptiveFog, a novel fra…
The present manuscript concentrates on the application of Fog computing to a Smart Grid Network that comprises of a Distribution Generation System known as a Microgrid. It addresses features and advantages of a smart grid. Two computational methods for on-demand processing based on shared information resources is discussed. Fog Computing acts as an additional layer of computational and/or communication nodes that offload the Cloud backend from multi-tasking while dealing with large amounts of data. Both Fog computing and Cloud computing hierarchical architecture is compared with respect to eff…
The advancements of cloud computing came as a radical transformation in the way Information and Communication Technology (ICT) services are deployed and maintained. Cloud computing provides ubiquitous on-demand access to an Internet-based pool of processing, storage, and communication resources offered to a large set of geographically distributed users. As the cloud computing infrastructure grows and demand increases, the need for a new breed of on-demand computing that can efficiently maintain Quality of Service (QoS) requirements has increased. Fog computing was proposed to address the limit…
In big cloud structures or large data structures, fog computing could be interpreted, referring critically to the growing issues and problems in accessing the information among the Internet of things (IoT) devices. Fog computing can be used to compute, store, control and connect smart devices to each other. IoT is an architecture of uniquely identified interrelated physical things, these physical things are able to communicate with each other and can transmit and receive information. This research presents a framework of the combination of the Internet of Things (IoT) and Fog computing. The bl…
Recently, the concept of fog computing which aims at providing time-sensitive data services has become popular. In this model, computation is performed at the edge of the network instead of sending vast amounts of data to the cloud. Thus, fog computing provides low latency, location awareness to end users, and improves quality-of-services (QoS). One key feature in this model is the designing of payment plan from network operator (NO) to fog nodes (FN) for the rental of their computing resources, such as computation capacity, spectrum, and transmission power. In this paper, we investigate the p…
The proliferation in data volume and processing requests calls for a new breed of on-demand computing. Fog computing is proposed to address the limitations of cloud computing by extending processing and storage resources to the edge of the network. Cloud and fog computing employ virtual machines (VMs) for efficient resource utilization. In order to optimize the virtual environment, VMs can be migrated or replicated over geo-distributed physical machines for load balancing and energy efficiency. In this work, we investigate the offloading of VM services from the cloud to the fog considering the…
Digital Twin systems are designed as two interconnected mirrored spaces, one real and one virtual, each reflecting the other, sharing information, and making predictions based on analysis and simulations. The correct behavior of a real-time Digital Twin depends not only on the logical results of computation but also on the timing constraints. To cope with the large amounts of data that need to be stored and analyzed, modern large scale Digital Twin deployments often rely on cloud-based architectures. A significant portion of the overall response time of a Digital Twin is spent on moving data f…
Fog computing, which distributes computing resources to multiple locations between the Internet of Things (IoT) devices and the cloud, is attracting considerable attention from academia and industry. Yet, despite the excitement about the potential of fog computing, few comprehensive quantitative characteristics of the properties of fog computing architectures have been conducted. In this paper we examine the properties of task completion latencies in fog computing. First, we present the results of our empirical benchmarking-based study of task completion latencies. The study covered a range of…
Vehicular Ad-hoc Network (VANET) has emerged as a promising solution for enhancing road safety. Routing of messages in VANET is challenging due to packet delays arising from high mobility of vehicles, frequently changing topology, and high density of vehicles, leading to frequent route breakages and packet losses. Previous researchers have used either mobility in vehicular fog computing or cloud computing to solve the routing issue, but they suffer from large packet delays and frequent packet losses. We propose Dynamic Fog for Connected Vehicles (DFCV), a fog computing based scheme which dynam…
Vehicular fog computing (VFC) has been envisioned as a promising paradigm for enabling a variety of emerging intelligent transportation systems (ITS). However, due to inevitable as well as non-negligible issues in wireless communication, including transmission latency and packet loss, it is still challenging in implementing safety-critical applications, such as real-time collision warning in vehicular networks. In this paper, we present a vehicular fog computing architecture, aiming at supporting effective and real-time collision warning by offloading computation and communication overheads to…
Rogue nodes broadcasting false information in beacon messages may lead to catastrophic consequences in Vehicular Ad Hoc Networks (VANETs). Previous researchers used either cryptography, trust scores, or past vehicle data to detect rogue nodes; however, these methods suffer from high processing delay, overhead, and False-Positive Rate (FPR). We propose herein Greenshield's traffic model-based fog computing scheme called Fog-based Rogue Nodes Detection (F-RouND), which dynamically utilizes the On-Board Units (OBUs) of all vehicles in the region for rogue node detection. We aim to reduce the data…
Live virtual machine migration aims at enabling the dynamic balanced use of the networking/computing physical resources of virtualized data-centers, so to lead to reduced energy consumption. Here, we analytically characterize, prototype in software and test an optimal bandwidth manager for live migration of VMs in wireless channel. In this paper we present the optimal tunable-complexity bandwidth manager (TCBM) for the QoS live migration of VMs under a wireless channel from smartphone to access point. The goal is the minimization of the migration-induced communication energy under service leve…
Fog computing plays a crucial role in satisfying the requirements of delay-sensitive applications such as connected vehicles, smart grids, and actuator networks by moving data processing close to end users. Passive optical networks (PONs) are widely used in access networks to reduce the power consumption while providing high bandwidth to end users under flexible designs. Typically, distributed fog computing units in access networks have limited processing and storage capacities that can be under or over utilized depending on instantaneous demands. To extend the available capacity in access net…
Fog computing has emerged as a new paradigm in mobile network communications, aiming to equip the edge of the network with the computing and storing capabilities to deal with the huge amount of data and processing needs generated by the users' devices and sensors. Optimizing the assignment of users to fogs is, however, still an open issue. In this paper, we formulated the problem of users-fogs association, as a matching game with minimum and maximum quota constraints, and proposed a Multi-Stage Differed Acceptance (MSDA) in order to balance the use of fogs resources and offer a better response…
The piling up storage and compute stacks in cloud data center are expected to accommodate the majority of internet traffic in the future. However, as the number of mobile devices significantly increases, getting massive data into and out of the cloud wirelessly inflicts high pressure on the bandwidth, and meanwhile induces unpredictable latency. Fog computing, which advocates extending clouds to network edge, guarantees low latency and location-aware service provisioning. In this article, we consider fog computing as an ideal complement rather than a substitute of cloud computing, and we propo…
Future Connected and Automated Vehicles (CAVs) will be supervised by cloud-based systems overseeing the overall security and orchestrating traffic flows. Such systems rely on data collected from CAVs across the whole city operational area. This paper develops a Fog Computing-based infrastructure for future Intelligent Transportation Systems (ITSs) enabling an agile and reliable off-load of CAV data. Since CAVs are expected to generate large quantities of data, it is not feasible to assume data off-loading to be completed while a CAV is in the proximity of a single Road-Side Unit (RSU). CAVs ar…
Future vehicles will have rich computing resources to support autonomous driving and be connected by wireless technologies. Vehicular fog networks (VeFN) have thus emerged to enable computing resource sharing via computation task offloading, providing wide range of fog applications. However, the high mobility of vehicles makes it hard to guarantee the delay that accounts for both communication and computation throughout the whole task offloading procedure. In this article, we first review the state-of-the-art of task offloading in VeFN, and argue that mobility is not only an obstacle for timel…
Recently, fog computing has been introduced as a modern distributed paradigm and complement to cloud computing to provide services. Fog system extends storing and computing to the edge of the network, which can solve the problem about service computing of the delay-sensitive applications remarkably besides enabling the location awareness and mobility support. Load balancing is an important aspect of fog networks that avoids a situation with some under-loaded or overloaded fog nodes. Quality of Service (QoS) parameters such as resource utilization, throughput, cost, response time, performance, …
Soon after realizing that Cloud Computing could indeed help several industries overcome classical product-centric approaches in favor of more affordable service-oriented business models, we are witnessing the rise of a new disruptive computing paradigm, namely Fog Computing. Essentially, Fog Computing can be considered as an evolution of Cloud Computing, in the sense that the former extends the latter to the edge of the network (that is, where the connected devices -- the things -- are) without discontinuity, realizing the so-called "cloud-to-thing continuum". Since its infancy, Fog Computing …
The rapid growth of time-sensitive applications and services has driven enhancements to computing infrastructures. The main challenge that needs addressing for these applications is the optimal placement of the end-users demands to reduce the total power consumption and delay. One of the widely adopted paradigms to address such a challenge is fog computing. Placing fog units close to end-users at the edge of the network can help mitigate some of the latency and energy efficiency issues. Compared to the traditional hyperscale cloud data centres, fog computing units are constrained by computatio…
The few resources available on devices restricted in Internet of Things are an important issue when we think about security. In this perspective, our work proposes a agile systematic review literature on works involving the Internet of Things, authentication, and Fog Computing. As a result, related works, opportunities, and challenges found at these areas' intersections were brought, supporting other researchers and developers who work in these areas.
Hardware accelerators are available on the Cloud for enhanced analytics. Next generation Clouds aim to bring enhanced analytics using accelerators closer to user devices at the edge of the network for improving Quality-of-Service by minimizing end-to-end latencies and response times. The collective computing model that utilizes resources at the Cloud-Edge continuum in a multi-tier hierarchy comprising the Cloud, the Edge and user devices is referred to as Fog computing. This article identifies challenges and opportunities in making accelerators accessible at the Edge. A holistic view of the Fo…
In this paper, we utilize Mixed Integer Linear Programming (MILP) models to compare the energy efficiency and performance of a server-centric Passive Optical Networks (PON)-based data centers design with different data centers networking topologies for the use in fog computing. For representative MapReduce workloads, completion time results indicate that the server-centric PON-based design achieves 67% reduction in the energy consumption compared to DCell with equivalent performance.
Blockchain has revolutionized how transactions are conducted by ensuring secure and auditable peer-to-peer coordination. This is due to both the development of decentralization, and the promotion of trust among peers. Blockchain and fog computing are currently being evaluated as potential support for software and a wide spectrum of applications, ranging from banking practices and digital transactions to cyber-physical systems. These systems are designed to work in highly complex, sometimes even adversarial, environments, and to synchronize heterogeneous machines and manufacturing facilities in…
Fog computing is an emerging distributed computing model for the Internet of Things (IoT). It extends computing and caching functions to the edge of wireless networks. Uncrewed Aerial Vehicles (UAVs) provide adequate support for fog computing. UAVs can not only act as a relay between mobile users and physically remote edge devices to avoid costly long-range wireless communications but also are equipped with computing facilities that can take over specific tasks. In this paper, we aim to optimize the energy efficiency of a fog computing system assisted by a single UAV by planning the trajectori…
Recently, the use of IoT devices and sensors has been rapidly increased which also caused data generation (information and logs), bandwidth usage, and related phenomena to be increased. To our best knowledge, a standard definition for the integration of fog computing with IoT is emerging now. This integration will bring many opportunities for the researchers, especially while building cyber-security related solutions. In this study, we surveyed about the integration of fog computing with IoT and its implications. Our goal was to find out and emphasize problems, specifically security related pr…
This paper studies edge caching in fog computing networks, where a capacity-aware edge caching framework is proposed by considering both the limited fog cache capacity and the connectivity capacity of base stations (BSs). By allowing cooperation between fog nodes and cloud data center, the average-download-time (ADT) minimization problem is formulated as a multi-class processor queuing process. We prove the convexity of the formulated problem and propose an Alternating Direction Method of Multipliers (ADMM)-based algorithm that can achieve the minimum ADT and converge much faster than existing…