Next Article in Journal
RGB-D-Based Method for Measuring the Angular Range of Hip and Knee Joints during Home Care Rehabilitation
Next Article in Special Issue
An Efficient Pareto Optimal Resource Allocation Scheme in Cognitive Radio-Based Internet of Things Networks
Previous Article in Journal
Federated Learning for 5G Radio Spectrum Sensing
Previous Article in Special Issue
Advanced Feature Extraction and Selection Approach Using Deep Learning and Aquila Optimizer for IoT Intrusion Detection System
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Review

Recent Advances in Evolving Computing Paradigms: Cloud, Edge, and Fog Technologies

by
Nancy A Angel
1,
Dakshanamoorthy Ravindran
1,
P M Durai Raj Vincent
2,
Kathiravan Srinivasan
3 and
Yuh-Chung Hu
4,*
1
Department of Computer Science, St. Joseph’s College (Autonomous), Bharathidasan University, Tiruchirappalli 620002, India
2
School of Information Technology and Engineering, Vellore Institute of Technology, Vellore 632014, India
3
School of Computer Science and Engineering, Vellore Institute of Technology, Vellore 632014, India
4
Department of Mechanical and Electromechanical Engineering, National ILan University, Yilan 26047, Taiwan
*
Author to whom correspondence should be addressed.
Sensors 2022, 22(1), 196; https://doi.org/10.3390/s22010196
Submission received: 6 December 2021 / Revised: 22 December 2021 / Accepted: 23 December 2021 / Published: 28 December 2021

Abstract

:
Cloud computing has become integral lately due to the ever-expanding Internet-of-things (IoT) network. It still is and continues to be the best practice for implementing complex computational applications, emphasizing the massive processing of data. However, the cloud falls short due to the critical constraints of novel IoT applications generating vast data, which entails a swift response time with improved privacy. The newest drift is moving computational and storage resources to the edge of the network, involving a decentralized distributed architecture. The data processing and analytics perform at proximity to end-users, and overcome the bottleneck of cloud computing. The trend of deploying machine learning (ML) at the network edge to enhance computing applications and services has gained momentum lately, specifically to reduce latency and energy consumed while optimizing the security and management of resources. There is a need for rigorous research efforts oriented towards developing and implementing machine learning algorithms that deliver the best results in terms of speed, accuracy, storage, and security, with low power consumption. This extensive survey presented on the prominent computing paradigms in practice highlights the latest innovations resulting from the fusion between ML and the evolving computing paradigms and discusses the underlying open research challenges and future prospects.

1. Introduction

There has been a significant progression of computing paradigms during recent decades. Cloud computing is perhaps the most well-established, which emerged from the requirement of harnessing “computing as a utility”, enabling the rapid growth of new internet services [1]. The arrival of the Internet of Things (IoT) paved the way for vast data generation, eventually leading to big data [2]. Cloud computing was a hot research area until the widespread use of the Internet of Things disclosed all of the centralized paradigm’s flaws [1]. With cloud-based deployment, cloud data centers manage the analyzing, storing, and decision-making of data. As the data volume along with the velocity surged, transferring the big data brought forth by IoT devices to the cloud became inefficient, owing to bandwidth constraints, and would not meet the time-sensitive and ultra-low latency demands of applications and could raise privacy concerns as well.
The scope of IoT has broadened since its advent and specifies a digital interconnection of devices and objects, capable of procuring and sharing information across platforms for added value [3]. The proliferation of IoT is consorted by an increased capacity, reduced communication cost, and astounding technological development. IoT warrants not just device data management, but also information exchange among multidisciplinary platforms. The huge data procured from numerous smart devices entails sharing to add value and a comprehensive understanding of the concerned domain. With collaborative IoT, heterogeneous domains and settings enable sensors, gateways, and services to collaborate at various levels, enriching the quality of human life while improving business processes.
The IoT ecosystem extends in scale and complexity, encompassing a range of heterogeneous devices that stretch over several layers of IoT architecture. As IoT systems partake in critical infrastructures, they necessitate resilient service operability [4]. IoT applications are disparate, deployed in healthcare, industries, domotics, smart homes, smart cities, smart transportation, etc. The IoT devices are constituted of small, resource-constrained smart objects, ineffective at handling complex tasks, which entails task offloading to distant cloud servers [5]. The limited storage and computing potential forces IoT devices to rely on cloud data centers [6]. This ensues an increased latency, and the intermittent internet connectivity renders IoT devices inept at managing time-critical real-time applications.
Thus, the IoT revolution has steered new research into decentralized models. In this context, edge computing emerged, intending to bring cloud computing capability to the network edge, addressing unfolding issues that cannot be fixed by cloud computing solely, such as latency, bandwidth, and connectivity challenges [7]. Correspondingly, numerous edge computing solutions have been suggested, including Mobile Cloud Computing (MCC) and Mobile Edge Computing (MEC) [8,9]. Fog computing surfaced as one of the highly evolved Edge computing concepts. Fog computing aspires to represent a comprehensive framework, allocating resources in sequence along the cloud to the smart devices [10]. Thus, it is not a mere cloud extension, as it actively engages in synergizing the cloud with IoT. In addition, the requisite for sustainable/green computing that aids in conserving energy is crucial to IoT devices. As IoT devices have energy limitations, it is vital to devise energy-aware solutions into the future [11]. In parallel with technological progress, it is imperative to cut back on the carbon footprint to limit environmental deterioration alongside global warming [12]. The exploration of edge paradigms is at its budding phase, and innovative viewpoints pertaining to these paradigms that arise in literature regularly warrant extensive research [13].
Table 1 shows the list of acronyms used in this manuscript. Figure 1 shows the structure of this survey.

2. Contribution of This Survey

The contribution of this survey is outlined as follows:
  • A comprehensive account of computing paradigms is rendered, especially cloud computing, fog computing, edge computing, and how they are related to other similar paradigms such as mist, cloudlet, MEC, etc.
  • A detailed illustration of the motives that instigated the evolution of edge/fog computing and related paradigms is furnished.
  • A comparison of cloud, edge, and fog computing paradigms are presented and ML convergence’s significance with fog/edge is discussed.
  • A list of challenges and future research directions concerning computing paradigms is devised.

2.1. Survey Methodology

We harnessed the Preferred Reporting Items for Systematic Reviews and Meta-Analyses (PRISMA) procedure to systematically choose the articles used in this survey.

2.1.1. Search Strategy and Literature Sources

For this review, articles pertaining to Evolving Computing Paradigms were searched in Google Scholar, ScienceDirect, IEEE Xplore, ACM Digital Library, Wiley Online Library, and Springer databases from January 2009 to January 2022.
The search string used in this study was (“Cloud computing” or “Edge computing”, or “Fog computing” or “Internet-of-Things” or “Machine learning”) and collected 2360 articles.

2.1.2. Inclusion Criteria

The articles written and published in English between January 2009 and January 2022 on Evolving Computing Paradigms were included. This review includes relatively new research.

2.1.3. Elimination Criteria

The articles published in languages other than English, from January 2009, including case reports/case series, opinions, letters to the editor, commentaries, conference abstracts, theses, and dissertations, were excluded from this review.

2.1.4. Results

Initially, from 2360 articles, duplicates found were removed and, after reviewing the abstracts of these papers, 874 of them were selected for a full-text review. This study included both journal and conference articles. After reviewing the full-text of these papers, 693 papers were excluded, as they used duplicate methods or were published earlier. Finally, 181 papers were studied in this research. Figure 2 illustrates the selection procedure of the articles for this study using a PRISMA diagram.
The 181 articles studied in this research from 2009 to 2020 are depicted in Figure 3.
The review/survey papers analyzed in this study is elucidated in Table 2.

3. Evolving Computing Paradigms and Related Concepts

3.1. Cloud Computing

Cloud computing pertains to extending applications via the internet as services, as well as the software and technology that underpins the data centers furnishing these services [1]. NIST formalizes cloud computing [32] as “a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) which can be rapidly provisioned and released with minimal management effort or service provider interaction”. The essential characteristics of the cloud model include on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service. A cloud infrastructure encompasses software and hardware, extending vital features of the cloud model.
The cloud solutions are procurable through the following service models [33]:
  • Software as a service (SaaS)—the cloud provider presents consumers with applications accessible via the program interface or web browser, and the consumer has limited control over user-specific applications.
  • Platform as a service (PaaS)—On the cloud infrastructure, the consumers are allowed to build and distribute applications. They can exercise control on applications deployed but not on the cloud infrastructure.
  • Infrastructure as a service (IaaS)—The customer is furnished with essential computing resources vital to processing, storing, and networking. The user exercises control upon storage, applications, and operating systems, but not cloud infrastructure. The cloud service models and deployment models are depicted in Figure 4.
The cloud solutions are deployable as [33]:
  • Private cloud—a particular organization that can also be a third party exclusively owns and controls the private cloud, which can be available on or off-premises.
  • Community cloud—the specific community comprises of organizations that share common concerns may provide cloud infrastructure for exclusive usage available on or off-premises, managed by organizations within the community or by a third party.
  • Public cloud—the public cloud available on the cloud provider’s premises can be owned or managed by any enterprise and is open to the use of the general public.
  • Hybrid cloud—it may be composed of two or more cloud models (private, community, or public); although they are distinct entities, they are bound by technology permitting the portability of application as well as data.

3.2. Internet-of-Things

Kevin Ashton, co-creator and executive director of the Auto-ID Center at the Massachusetts Institute of Technology (MIT), in 1999 introduced the phrase “Internet of Things” [34]. The Internet of Things (IoT) [35] characterizes an extensive environment connecting heterogeneous physical objects to the internet to fine-tune the efficiency of real-time ubiquitous applications. As per the International Telecommunication Union (ITU), the Internet of Things (IoT) is a universal framework that connects things which may be physical as well as virtual, distinguished, and incorporated within communication networks, depending on prevailing and emerging collaborative information and communication technologies (ICT) to facilitate enhanced services [36].

3.2.1. Essential Features

The fundamental characteristics of the Internet of Things include [37,38,39,40]:
  • Interconnectivity—the IoT may be connected to global communication infrastructure.
  • Things-related services—IoT is adept at offering physical/virtual things, privacy, as well as semantic consistency services within the limits of things.
  • Heterogeneity—the IoT devices pertain to diverse hardware platforms and networks.
  • Constrained resources—the IoT devices encounter computational and energy restrictions.
  • Dynamic change—the state of devices and the related environment are subject to dynamic change.
  • Uncontrolled environment—the IoT devices are deployed in an uncontrolled setting.
  • Massive scale—the devices to be monitored and those that connect with one another are enormous and will continue to surge exponentially into the future.

3.2.2. New Challenges in IoT

As billions of devices are connected globally, data expands exponentially and accumulates 24/7, driving big data to become the current buzzword [41]. The International Data Corporation (IDC) estimates that by 2025, IoT devices may reach 41.6 billion and create 79.4 zettabytes of data [42]. The five Vs of big data [43], namely, volume, variety, velocity, veracity, and value, pose distinct challenges. In the current scenario, the majority of data resulting from IoT devices are managed by the cloud. The resulting cloud IoT synergy poses demands that cannot be tackled by the existing cloud computing model alone [44]. A concise outline of challenges that IoT encounters [13,45,46,47,48] drives the need for edge and fog computing as a solution to manage demands [36] and is outlined as follows:
  • Low latency—IoT applications [44] and industrial control systems [49] demand low latency within a few milliseconds that can hardly be met by the existing cloud model.
  • High network bandwidth—The escalating amount of IoT devices produce sizable data [50], which may be rendered useless due to high bandwidth usage to transfer it to the cloud or denied due to privacy concerns; hence, entails to be dealt with locally.
  • Limited resources—numerous IoT-connected devices possess limited resources to interact directly with the cloud, demanding intensive computation and complex protocols.
  • IT and OT convergence—In industrial systems, the confluence of information technology (IT) and operational technology (OT) creates new needs. As offline systems may cause business loss or consumer annoyance, contemporary cyber-physical systems demand continual and safe operation. Thus, the upgradation of the system software and hardware causes concern.
  • Intermittent connectivity—When IoT devices have intermittent network connectivity, it is difficult to provide uninterrupted cloud services to those devices.
  • Geographical distribution—the majority of IoT devices entail services of computing and storage that are dispersed across large geographic areas, and it is highly challenging to position them at a location that meets IoT demands [51].
  • Context-awareness—Local contextual data must be accessed and processed by IoT applications (vehicular networks and augmented reality), for which the physical distance between IoT devices and the centralized cloud is a hindrance.
  • Security and privacy—The existing cybersecurity solutions prove to be unsatisfactory to manage IoT applications due to the evolving security challenges [52,53].

3.3. Mobile Computing

The computation carried out through mobile phones, tablets, or laptops is noted as mobile computing. The mobile devices offer substantial benefits to mobile users but still encounter limitations due to a low processing capability, battery, memory due to their portable size, and operate at on-and-off network connectivity [2]. Along with resource constraints, mobile computing encounters communication latency, demand adaptability of mobile clients, etc. Thus, these drawbacks cause mobile computing to be inept for applications with demands for low latency, robustness, and when huge data generated from mobile devices need to be processed and stored on it. Moreover, the escalation in mobile device utilization increased the data flow, causing network congestion. Data offloading is a viable solution to mitigate the strain on the cellular network [54]. The existing demerits of mobile computing can be overcome by integrating it with cloud computing [55]. The expansion of mobile computing set the stage for and impacted the cloud and fog computing evolution.

3.4. Mobile Cloud Computing

NIST states that the cloud computing alliance with IoT devices and mobile devices facilitates data and CPU-intensive applications suitable for the IoT environment [56]. The concept of Mobile Cloud Computing (MCC) is that it combines cloud computing and mobile applications with sophisticated computing modules processed on the cloud [57]. It enables data processing and storage away from mobile devices, benefitting not just smartphones and a wide range of mobile subscribers. Major computational tasks are moved to the cloud with MCC, improving mobile devices’ battery life [2]. With MCC being grounded on the notion of mobile offloading, mobile devices entrust storage as well as processing to remote units to achieve workload mitigation and optimization in terms of energy, cost, and longevity [45].
The mobile devices’ proliferation entails the efficient management of constrained resources with MCC, as it operates on the synergy between cloud computing and mobile computing. It is capable of operating data-intensive mobile applications as it prevails over battery, memory, and computation power restrictions from the user viewpoint. However, with cellular communication, long-distance data transmission to/from a core network results in higher latency, jitter, and network overhead. This can be overcome if the computation, analysis, and filtering of data occurs at the proximity of the data source, facilitating Fog Computing (FC) and MEC [58]. The limited bandwidth, flexibility, and control, along with an unreliable latency, security, and privacy issues are some challenges faced by MCC [28]. The partitioning of mobile applications by adaptive offloading during runtime allows the management of computer-intensive units of the application [59].

3.5. Mobile Ad hoc Cloud Computing

Mobile Ad hoc Cloud Computing (MACC) is an edge computing paradigm involving mobile devices that share resources in a dynamic and temporary network facilitated by transport and routing protocols [2,58,60]. It offers a decentralized network [61] with dynamic mobile devices, accommodating devices joining or leaving the network continually. It favors environments that lack uninterrupted internet connectivity. MACC is the most decentralized, as it comprises mobile devices only.

3.6. Cloud of Things

The two concepts of cloud computing and IoT have evolved independently through the years in terms of hardware and software. With IoT facing challenges due to the processing, battery, and storage capacity, these issues can be solved by combining cloud computing and IoT [62]. Cloud computing is capable of filling the gaps in IoT regarding computing, networking, and storage capabilities due to the cloud’s virtually unlimited capabilities and resources. It can assist in implementing numerous IoT applications [63,64]. In the Cloud-of-Things (CoT), IoT devices constitute a virtualized cloud structure. Here, computing is performed over the cloud of pooled resources consisting of IoT devices in contrast to mist computing, where computing is carried out on IoT devices [65].

3.7. Mist Computing

Mist computing is initiated to include endpoint connected devices at the extreme edge suitable for self-aware autonomic systems in the near future [2,66]. In the IoT-fog-cloud continuum, mist computing is the first computing point to allow computation, storage, and networking across fog to things. Mist computing forms the superset of MACC, as mist, devices, and networking are not restricted to mobile devices and ad hoc, respectively. It allows utilizing the peripheral component (sensors or actuators) capacity to pre-process data before sending them to the fog or cloud layer [67]. Mist computing aids in large-scale IoT systems development and enriches computational efficiency at the edge of the IoT architecture [68].

3.8. Edge Computing

Despite the fact that edge computing has been mentioned in the literature before cloud computing, its significance grew dramatically with the introduction of IoT and the ensuing demands. Edge computing places cloud computing’s services close to the end-user, distinguished by a rapid processing and response time [26]. Edge computing denotes technologies that enable computation to be accomplished at the network’s edge, upon downstream data for cloud services, and upstream data for IoT services [69]. It unfolds the cloud’s network by extending the computation, storage, and resources to the edge of the network, close to the data source, with the resolve to accomplish critical needs of real-time servicing, application intelligence, security, and privacy, along with the network’s requirements for low latency and high bandwidth [13,27].
The significant aspects of cloud computing are its ability to grasp the big picture, process vast amounts of data, perform in-depth analyses, process data in non-real-time, and determine business decisions. Being centralized, entire data must be transferred to the cloud with underlying risks of data loss and data leakage, as security and privacy cannot be ensured, and sensitive information is at threat of disclosure [27]. Edge computing is an extension to cloud computing, which considerably minimizes the volume of data transmitted across nodes, lowering transmission costs and the network bandwidth usage. It leads to utilization and computing efficiency along with energy consumption. Edge computing can be more effective in small-scale, intelligent, real-time analyses. It eliminates the risk associated with the network transmission, ensuring data security. If data become compromised, it impacts only local data. The edge computing architecture is federated, wherein edge devices are positioned between the cloud and terminal devices to tender cloud services to the network’s edge [24,70]. As edge computing shifts service provisioning from the cloud to the edge, it favors IoT application demands, enabling IoT devices to be more scalable and energy-efficient [71]. The cloud–edge alliance involves a typical three-layer model distinguished as the terminal (sensors, cameras, and smartphones), edge (base stations, access points, routers, switches, and gateways), and cloud [27]. In terms of device types, communication protocols, and services, edge computing can be implemented in various ways [9,13,26].

3.9. Multi-Access Edge Computing (MEC)

The Mobile Edge Computing standard has been constituted by the European Telecommunications Standards Institute (ETSI) [72], which offers cloud computing and IT functionalities within the Radio Access Network (RAN) in the vicinity of mobile subscribers [71]. As of 2017, ETSI renamed “Mobile Edge Computing” to “Multi-Access Edge Computing” due to increasing interest in MEC by non-cellular operators [73,74]. MEC is a continuation of mobile computing via edge computing, delivering computation and storage to energy and resource-constrained mobile devices [2].
With Multi-Access Edge Computing, a cloud server is deployed at the cellular network’s base stations. It executes tasks such as enhancing the application’s performance and minimizing network congestion, bandwidth use, and latency for subscribers that cannot be achieved with a conventional network architecture [75,76,77]. Even though the processing and memory capabilities of mobile devices improve, they are still not sufficient to handle compute-intensive tasks, which has led to MCC and MEC models [78]. The MEC architecture is portrayed in Figure 5. MEC considerably reduces the process duration and energy demands of mobile devices by setting up computational and other resources close to the base stations [79]. As base stations serve as crucial access points to several IoT devices, end devices could be directly serviced with just one hop through MEC [80]. MEC showcases a low latency, proximity to the user, location awareness, and geographical distribution. However, it restraints the need to install a dedicated MEC server for MEC services. With the rise in the demand for resources over time, scaling is another major challenge [81]. MEC exhibits the reliability, energy efficiency, and a low latency suitable to diverse applications [82] and outperforms MCC comparably [83].

3.10. Cloudlet

A cloudlet has been envisioned by researchers at Carnegie Mellon University, which is a small cluster or data centers capable of computation and storage, positioned close to mobile devices [84,85]. Cloudlet computing shares MCC and MEC particularities, further contending with the demerits of MCC. A cloudlet may be referred to as a mini-cloud [86], offering a secured cloud infrastructure for computing and delivering results to mobile devices and works alongside the cloud. It is positioned at the network edge and is accessible to adjacent mobile units [87,88]. The notion is computational offloading to the virtual machine (VM)-based cloudlets at the network edge from mobile devices [89].
The cloudlet is featured as the middle layer in the three-tier architecture comprising of mobile devices, the cloudlet, and the cloud [84,85] shown in Figure 6. It further possesses connectivity, security, virtualization features, and closeness to mobile users enabling a low latency. Cloudlets are similar to mobile clouds and nearer to mobile devices befitting real-time scenarios. They focus on servicing time-sensitive applications operating under restricted bandwidth conditions and interactive mobile applications with a large resource demand and offer resources at a minimum latency [83]. Cloudlets back mobile clients’ local services by splitting tasks within cloudlet nodes that are nearer to mobile devices. While the cloudlet suits the mobile–cloudlet–cloud structure [90], fog computing is an alternative, supporting huge data traffic with resources located at anyplace within the thing-to-cloud continuum [2]. Cloudlets are alluded to as micro data centers (MDC) at times [91], mirroring conventional data centers of cloud computing. The MDC may be a cloudlet or edge node implemented in between IoT devices and the cloud [2].

3.11. Cloud Robotics

Robotics engineering is becoming a vital part of everyday life, with diverse sensors generating big data demanding complex computations [92]. Cloud robotics is a branch of IoT that evolved from the fusion of cloud computing and networked robots [93]. The massive storage capacity of a centralized cloud and broad library of skills can be leveraged by robots to learn with experience. The cloud robotics architecture comprises two levels: machine-to-machine and machine-to-cloud. At the machine-to-machine level, robots determine decisions through a wireless collaboration. The machine-to-cloud level offers a shared pool of storage and computation resources to be allocated as per demands. Cloud robotics capitalizes on the elasticity feature of cloud computing besides others. Additionally, robots-as-a-service (RaaS) stems from considering robots as resources, providing resource sharing services to other robots [94,95,96,97]. The sharing of resources and data between robots through the cloud is integral to CR, along with robots themselves being shared as resources. These systems require standards for enabling coherent, semantic, data sharing, and service provisioning among the robots [93]. Cloud computing delegates fast and robust processing and storage capabilities to robots, along with collaborative learning capabilities through the sharing of knowledge. Recent advancement in this field have incited cloud robotics architecture development and its application in several domains [98].

3.12. Fog Computing

The idea of processing at the edge has been around since the 2000s [99,100]. A related concept of cloudlets has been presented in 2009 [101]. The phrase ‘Fog Computing’ has been propounded by Cisco researchers in 2012 [42,102]. Fog computing and cloudlets are related concepts operating at the edge level, with cloudlets deployed at mobile networks and fog computing dealing with connected things [103].
Fog computing is frequently deliberated as a form of edge computing [7,8,104]. Fog computing literally delivers distributed processing, networking, and storage potential nearer to the user [105]. Fog computing is more than a mere deployment of the edge computing concept; it is the pinnacle of reinforcing edge computing concepts [9]. It is not an extension or replacement of the Cloud; instead, it is a new paradigm operating in between IoT and the cloud, with the intent of supporting and enhancing Interaction and integration of the cloud, edge, and IoT.
Cisco describes fog computing [44] as a highly virtualized setup that caters to services of computing, storage, and networking between conventional cloud data centers and end devices, generally but not solely deployed at the network’s edge. According to the OpenFog Consortium [10], fog computing is delineated as “a system-level horizontal architecture that distributes resources and services of computing, storage, control and networking anywhere along the continuum from Cloud to Things, thereby accelerating the velocity of decision-making”. Fog computing adopts a distributed tactic originating from the edge computing model to outdo the limitations of the centralized cloud computing approach [25], with fog nodes positioned anyplace between cloud and end devices. The computing paradigms associated with fog computing are depicted in Figure 7.

3.12.1. Essential Features

The significant trait of fog computing is that the computation, communication, and storage tasks are accomplished close to end-users by capitalizing on the key attribute of fog’s proximity to the edge. The additional characteristics of fog computing [15,106] are outlined as follows:
  • Low latency: The proximity of fog nodes to end devices that generate data, such as sensors and actuators, entails a significantly faster reaction and analysis than from the centralized cloud data center. This feature considerably minimizes the data transfer across the internet and enables a low latency to manage real-time applications, notably sensitive to latency and time.
  • Save bandwidth: As the fog model allows data computation and storage between conventional cloud and end nodes, less complex pre-processing tasks are handled locally. It dramatically minimizes data transfer across the internet, with endpoints offering fast and premium localized computer and storage services. Transferring only appropriate data to the cloud substantially reduces the network transmission and bandwidth usage, befitting the big data era.
  • Multi-tenancy: On account of the vastly virtualized and distributed infrastructure, multi-tenancy in a constrained environment is possible.
  • Support for mobility: Due to the direct interaction between fog applications and mobile devices, more control over mobile devices is maintained. Thus, the fog model facilitates better control of users along with mobile devices to administrators and satisfies mobility demands that are location-based and the way information is accessed, resulting in enhanced system performance and service quality.
  • Interaction in real-time: Contrary to the cloud, fog applications deliver services in real-time because of their low-latency feature.
  • Context-awareness: the nodes and end devices in the fog setting are aware of the contextual location.
  • Geographically wide distribution: The fog model’s decentralized architecture facilitates geographically distributed deployment with a large number of widely dispersed nodes. It imparts closer data analysis, rapid big data processing, improved decision-making potential in real-time and location-based services to consumers.
  • Wireless access networking: Though fog is deployed in wired environments, it is also suitable for IoT wireless networks.
  • Support for heterogeneity: The fog infrastructure encompasses high-speed lines to the data center and wireless access methods to the edge devices. Fog nodes are available physically or virtually, and service interfaces are incredibly dynamic, operating in wired and wireless settings coming from different hardware and software vendors and heterogeneous to cater to the low latency demand of globally distributed applications.
  • Seamless interoperability and federation: Owing to its heterogeneous nature, fog nodes and devices originate from various vendors and are generally deployed in diverse settings. For the effective interaction of devices from different providers, fog computing must enable interoperability with federated services across domains. Thus, to allow interoperability and cooperation across diverse resources and devices, fog computing employs policies for resource management.
  • Real-time analytics: With data collected and processed close to the sources, real-time analytics is possible.
  • Scalability: Fog computing exhibits scalability and adaptability to varying conditions with the data load, resource pooling, network demands, and flexible computing.
  • Support for industrial applications: As computing and analyses are conducted in real-time, industrial applications widely benefit.
  • Security and privacy: Fog computing brings facilities nearer to end consumers while ensuring privacy and security of sensitive and private data using integrity checking, access control, and encryption methods by fog nodes. Moreover, it can mitigate the vulnerabilities associated with system upgrades and limit updates at the fog end.
  • Low energy consumption: as fog nodes are spatially distributed and do not require a cooling system, fog computing is more ecologically friendly; communication within a short-range as well as energy management rules obviously minimize the communication energy use.
In addition, fog nodes are expected to possess features such as autonomy, heterogeneity, hierarchical clustering, manageability, and programmability to fog implementation.

3.12.2. Architecture

The illustration of the fog architectural model has recently been a prominent area of research. Extensive related research alluded to the architecture comprising of three-layer [15,17,107,108,109]. Moreover, the N-Tier architecture recommended by the OpenFog Consortium may be regarded as an enhancement of this three-layer model [10].
  • Three-Layer Architecture
The basic three-layer model portrayed in Figure 8 stems from the fog computing concept being an essential extension to the cloud computing model, with the fog layer posing as an intermediate layer between the cloud and IoT devices [15].
    • IoT Layer
It is nearest to the end-user’s physical setting. Sensors, smart cars, drones, smartphones, tablets, and other devices compose this layer. Even though some of these devices possess computational capabilities, they are used as mere smart sensing devices at this layer. Overall, these devices are widely distributed geographically to sense and transfer data to the next higher layer for the sake of storage and computation.
  • b.
    Fog Layer
This layer comprises numerous fog nodes and forms the basis for the fog computing architecture. As per the OpenFog Consortium [10], fog nodes may be a physical or logical network element that enforces fog services. Thus, fog nodes have a direct connection to extend services to end devices. On the other end, fog nodes are linked to the cloud infrastructure to deliver and receive its services and benefits.
  • c.
    Cloud Layer
The centralized cloud infrastructure composes the majority of this tier. It comprises several servers with advanced computational and storage capabilities offering a variety of services. Dissimilar to typical cloud computing architectures, the fog model can ease the burden on cloud resources by efficiently transferring computational services from the cloud layer to fog and enhancing productivity.
2.
OpenFog N-Tier Architecture
The OpenFog Consortium’s recommended N-tier architecture [10] is rendered in Figure 9. Its primary intent is to offer a standard guideline for implementing fog computing in a given circumstance. Though fog systems are deployed in a scenario-specific manner, the core elements of the architecture are apparent to every fog deployment. Endpoints (or things), fog nodes, and the cloud are the three main components of the idea. In addition, multiple layers of fog nodes (N-tiers) may constitute the fog layer; when the nodes are more distant from the end devices, improving computing potential and intelligence are acquired.
The higher levels of the fog layer refine and collect more pertinent data; therefore, enhancing intelligence. The scenario-specific needs ascertain the number of tiers in a particular implementation. Furthermore, fog nodes connected in a mesh on each layer are adept at providing added characteristics such as fault tolerance, elasticity, load balancing, etc. Thus, the fog nodes may interact both vertically and horizontally.
Fog nodes may be categorized based on their closeness to the cloud and endpoints:
  • Lowest tier: with the primary focus on the acquisition, normalization, and collection of data obtained at the sensors, and the actuators are managed by fog nodes.
  • Intermediate tier: filtering, compressing, and altering data received from the bottom layer is the responsibility of fog nodes in the intermediate tier; on average, these nodes are better at analyzing data.
  • Highest tier: aggregating data and eliciting knowledge from it is the intent of fog nodes at this tier.
3.
Seven-Layer Architecture
A fog computing model positioned between the cloud layer, and edge devices extend services of processing, network, and storage to IoT devices, with the primary intent of minimizing latency for time-critical applications. The services offered by the fog model are limited compared to the sophisticated cloud data centers. In line with various fog architectures presented by researchers [110,111] with diverse layers, a reference architecture comprising distinct layers with designated tasks is featured here and depicted in Figure 10.
    • Physical layer
The sensors are the devices that serve as the primary data source producing diverse data in a fog setting. The data may be from smart devices and homes, autonomous vehicles, closed-circuit television (CCTV) monitoring, traffic systems, sensors tracking temperature and humidity, etc. Alongside physical sensors, the physical layer also comprises virtual sensors, which also produce data as well.
  • b.
    Fog device, server, and gateway layer
An individual device or IoT could be a fog device, server, or gateway. The fog server entails configuration, computation, and storage capabilities, higher comparably in order to handle the fog device and gateway. It further pertains to hardware configuration, devices it can handle, network connectivity, etc., with its role defining it to be distinct or an IoT fragment. A set of virtual and physical sensors are attached to the fog device. In the same manner, a set of fog devices could be attached to a fog server. A specific group of fog devices connected to a particular fog server can interact as and when required. The processing has to be performed at multiple fog servers and devices to determine a proper decision. The level of fog devices and servers is in charge of handling and servicing data on storage and hardware configuration and connectivity for the fog servers and devices. The processing demands of different applications are addressed at this layer.
  • c.
    Monitoring layer
The system operation, services, resources, and responses are tracked by the monitoring layer, which facilitates identifying appropriate resources in the midst of the operation. If a possibility arises for the fog device as well as the fog server where resource availability becomes negative for processing or storage, assistance from peers may be sought. The system monitoring unit aids in efficient decision making in such unforeseen scenarios and resource failure by tracking the present resource consumption, usage and then estimating resource demands into the future. The performance prediction component tracks and forecasts the performance of the fog system depending on the resource availability and system load. This unit is necessary to keep up with the relevant Quality of Service (QoS) demands in SLA (service level agreements). The occurrence of repeated SLA violations may increase system costs due to penalties for the provider. Even though this issue cannot be completely ruled out, SLA violations can be greatly reduced if the performance prediction component foresees the system’s performance and usage.
  • d.
    Pre- and post-processing layer
The multiple components of this layer are distinctly concerned with the data analysis at the basic as well as advanced levels. The data accumulated are subjected to analysis and filtering with trimming alongside a reconstruction performed when needed. Once data processing is accomplished, the component called data flow finalizes the process if the data have to be stored locally or in the cloud. Fog computing insists on stream processing, which processes and stores minimum relevant data at the edge, as all data generated may not be useful. As per the application, requisite data trimming can be performed where the mean value of the data within a minute or hour could be stored if the sensor produces data every second. In instances where data values do not differ significantly over time but tend to affect performance, the number of readings taken can be reduced. Though perfect accuracy would not be achievable, application requisites may be attained. The data reconstruction module reconstructs the data as per the pattern in which data is generated in times of incomplete and faulty data produced by sensors to avoid application failure or an interruption.
  • e.
    Storage layer
The storage module is accountable for data storage by storage virtualization. The unit referred to as the data backup affirms data availability and minimizes data loss caused by system failure by creating a backup of critical data. It also periodically customizes schemes of data backups. By storage virtualization, a collection of storage devices functions as a single device, enabling manageability and maintainability; thus, offering an enterprise-level operation, at low-cost hardware and storage.
  • f.
    Resource management layer
The resource management layer addresses resource allocation, resource scheduling, and energy saving. The reliability unit at this layer ensures the application of scheduling reliability, system reliability, and the allocation of resources. Maintaining reliability is critical, as a complex fog system encompasses IoT and fog devices alongside the cloud with many failure possibilities. The scalability component assures that the fog resources are scalable when resource demand surges at peak hours. The fog model aspires to offer horizontal as well as vertical scalability, while the cloud platform ensures horizontal scalability. With distributed resources for processing, networking, and storage, the resource allocation unit allocates, deallocates, and reallocates resources. As multiple applications are run concurrently in fog systems, the scheduling of applications is managed by the application scheduling component. The energy-efficient resource management is handled by an energy-saving component at this layer, which reduces operational costs.
  • g.
    Security layer
The security layer deals with all issues that relate to security, such as encrypting communication, securing stored data, preserving fog users’ privacy, etc. Similar to cloud computing, fog computing is deliberated as a utility model. As users connect to the cloud for availing services, users also connect to the fog system for services; however, the fog middleware manages interactions with the cloud. The provider must authorize the user attempting the service connection, and the authentication unit authenticates the user’s request to avail fog service. To ensure security and evade security breaches by intruders, every interaction has to be encrypted. The component of encryption encrypts the connection between IoT devices and the cloud. The majority of fog components is connected wirelessly, and ensures security is critical. Fog systems acting on users’ private data should not reveal those without proper user approval. At times where users accept a provider’s security policy without reading it, it is critical to assure that user privacy is upheld.
  • h.
    Application Layer
Despite the fact that fog computing emerged to handle IoT, various applications pertaining to the Wireless Sensor Network (WSN) back fog computing. The majority of latency-sensitive applications leverage fog’s utility model that delivers a cost-effective and enhanced service quality. The systems deploying the augmented reality (AR) and virtual reality (VR) concepts can harness the fog computing attribute of processing in real-time. Augmented reality adds virtual content into a user’s real-life experience. Virtual reality, on the other hand, produces a computer-generated simulation of a virtual world. With AR and VR reckoned to transform the world in the near future, association with fog will ensure a continued refinement.

3.12.3. Fog Computing Applications

Numerous applications, such as smart homes, smart cities, smart grids, smart water management, smart transportation, smart agriculture, augmented reality, virtual reality, smart healthcare, and smart vehicles, compel the fog framework’s efficient services. The fog computing applications described here are depicted in Figure 11.
  • Smart grid
A smart grid extends the reliable, efficient, automated electricity distribution model aiming to cut down operation costs, enhance transmission efficiency, and offer to smoothly integrate with systems involving renewable energy [112]. It further enables service providers and consumers to track and regulate the real-time price, output, and consumption of power [113]. The fog systems play a key part in favoring smart grids within smart cities, minimizing electricity bills. Here, the data produced by the fog devices can be locally analyzed and filtered by fog collectors deployed at the edge and transmitted to the cloud for complex analysis, visualization, and long-term storage [114]. As per varying demands, such as a low-cost and energy, smart grids allow switching over to any other supplies of energy, such as solar or wind, with edge/fog devices gathering local data to decide in real-time [115].
b.
Smart traffic lights and transportation systems
In smart traffic light applications, smart traffic lights aid in lowering traffic congestion, noise, fuel consumption and avert accidents thus, improving the driving experience. These connected lights functioning as fog devices are adept at detecting the ambulance’s flashing lights and changing the traffic signal to open lanes for the ambulance to travel through [116]. It recognizes pedestrians and cyclists and figures out the speed and distance of vehicles approaching and collaborates to provide warning messages to adjacent vehicles. Moreover, smart lighting is switched on when movement is detected and turned off automatically when traffic passes. This system comes handy in averting accidents, maintaining low and steady traffic, and collecting pertinent data to enhance performance. With huge data produced by intelligent transportation systems (ITS), processing using centralized model results in large delays. In this sense, fog nodes at particular intersections could be utilized to analyze data locally and brief people on current situations, substantially lessening the delay [117].
c.
Augmented reality (AR) and virtual reality (VR)
Augmented reality overlays digital and virtual content into a physical environment. It is highly time-critical, warranting responses in real-time. Moreover, it is extremely latency-intolerant, as even a minor delay may impact user experience, effectuating a negative response [116]. For this reason, fog computing has the potential to become a key player in the augmented reality domain, as computer-intensive jobs can be offloaded to nearby fog devices. This also holds true for the virtual reality (VR) field, which offers real-world experience through a simulated environment and is generated by computer technology.
d.
Smart healthcare system
When distant cloud servers are used to process and store enormous healthcare data generated from sensors, the huge data transmission, defining of location, and access latency pose critical challenges [118,119]. As healthcare datasets increase, there is a higher possibility of error occurrence during processing as well as transmission. Even a minute data analysis error may instigate the administering of an inappropriate treatment that could cost a human life. The patient health data is sensitive; hence, security and privacy preservation are vital. The integration of fog computing into healthcare enhances efficiency and quality as the computer and storage are provided nearer to end devices, which permits aggregation, processing, local storage, and real-time analytics. It further displayed a low latency, mobility support, privacy, and location awareness, and experiments demonstrated an enhanced system response time along with an improvement in energy consumption [120].
e.
Smart agriculture
As agriculture caters to the food supply chain, it plays a prime role in smart city schemes [121]. With smart agriculture, sensors installed in field vehicles gather data on plant growth and field climate conditions. Moreover, the field can be sensed from the sky using air balloons. These sensing activities can be effectively accomplished by fog computing, and agricultural lands can be managed and tracked through sensor nodes’ alarm notifications.
f.
Smart water management
As far as sustainable smart cities are concerned, smart water management is crucial. It supervises the quantity of water consumed, transported and anticipates the use of water in the future. Above all, it enhances the water system of the city to be more reliable, sustainable, and efficient, as it assists in mitigating water loss using sensors that collect and analyze data of the water system [121].

4. Challenges and Opportunities

Despite the fact that cloud computing has been around for a long time, it still confronts problems. Cloud security, privacy, confidentiality, availability [122], and sustainability [123] are among them. The dependability of cloud services is an issue as well; when a limited number of data centers offer critical functions, it might be disastrous if one of the data centers goes down [124]. Cloud data centers require immense energy to operate, which requires mitigating energy usage by resource provision optimization policies. The cloud networking infrastructure faces challenges pertaining to network utilization, data congestion, cloud federation [125], etc. As the IoT devices arrived, an emphasis was placed on reducing energy and resource usage, and critical difficulties included increasing the battery life or optimizing the energy utilization of smart devices [126]. The security of IoT devices and withholding the privacy of sensitive data collected by the connected devices pose unique challenges [127]. The availability, reliability, scalability, and interoperability of IoT networks are labelled to be challenging.
Edge computing, which moves computation to the network’s edge, poses a number of complications, such as focusing on the programmability of edge devices, naming schemes for a large number of edge devices, including security, privacy, data abstraction, service management, and optimization issues [41]. With fog computing still in its developmental stage, it faces many open challenges. It has difficulties similar to edge computing due to its correlations, and the notable challenges include programmability, managing heterogeneous systems, providing security, interoperability, mobility, scalability, federation, and energy/resource efficiency [20,128].
Fog computing is a more generic model compared to related paradigms due to the far-reaching scope and presence in the Thing-to-Cloud continuum. The comparison and features of the fog, edge and cloud [2,129,130,131] are displayed in Table 3 and Table 4. The association between cloud, edge, and fog computing [132] is shown in Figure 12. Fog computing is imminent of offering amelioration in the near future in an open-standards setting of connected devices, apparent when the IEEE Standard adopted the Open-Fog Reference Architecture [133]. Hence, our cynosure for the rest of the paper is on challenges and future research directions pertaining to fog computing.

4.1. Fog Computing: Open Challenges

The fog computing paradigm has evolved from the cloud computing utility model. With IoT proliferation, computations closer to the network edge significantly minimize the cost of computing and data offloading at the cloud. However, processing at the edge poses numerous challenges pertaining to devices, security, the network, integrating fog, and IoT, which the distributed fog system has to deal with [28,44,110]. The open challenges identified are pictured in Figure 13.
  • Standards and programming languages
The fog structure is distinct from the cloud as it extends cloud services to end-user devices, warranting upgraded standards and associated programming languages, along with effective user interfaces and network protocols for IoT device management.
  • Scalability
Scalability is a key issue for systems involving extensive IoT applications on fog, and exploring optimal algorithms that illustrate the fog system’s complexity would be valuable. In the fog model, time-critical tasks are executed at the fog, and others are moved for processing to the cloud. Ascertaining when fog resources are utilized optimally depending on service type, user count, and resource availability are significant.
  • Computational challenges
The Fog system continually interacts with the cloud servers. It intends to respond to users within a stipulated duration and forward complex computer-intensive tasks to the cloud, which may take longer. The parts of computation that are unrestricted by response time are sent to the cloud, while others are carried out at the edge for a minimum computational cost. The challenge lies with figuring out which computer tasks are to be executed at the edge and offloaded to the cloud.
  • Deployment challenges
The fog system has to be precisely deployed to subdue latency. Factors such as the type and task amount performed at a particular tier, fog device capability, and reliability, and the number of sensors determine implementation decisions. As per the application requirements, resource scaling, as well as shrinking, are carried out without hindering the operation of ongoing services. OpenFog recommends the N-tier fog model from s mobilization viewpoint; however, escalating the fog layer levels may instigate delays, which require defining the number of levels for the specific application.
  • Decentralized framework and failure management
The decentralized fog entails a high likeliness of fog device malfunction relating to the software, hardware, power source, mobility, as well as connectivity issues considering an unreliable wireless connection, linking the majority of fog devices. The fog system is adaptable to a minor disruption and resource shortage. The fog node failure may make its respective virtualized resources unavailable, and related issues, such as latency and migration, have to be dealt with for resource availability at downtime. The decentralized fog results in the repetition of code at edge devices, and this redundancy has to be checked. The random distribution of network resources at the edge complicates connectivity, which can be rectified by deploying a middleware that manages resources to the demanding application. The small client services are disseminated from the cloud to the edge, and acquiring such services from fog systems is quite challenging. The fog system manages billions of IoT devices; hence, provisioning services to all fog devices is arduous. The portability of the fog’s edge node requisites ubiquitous fog computing. With fog being distributed, the preciseness of computation needs to be confirmed as its applications demand consistency.
  • Device heterogeneity and resource management
Fog computing sets the stage for numerous heterogeneous technologies to offer IoT services with a key challenge of linking resources from diverse platforms. It is vital to examine algorithms that are competent at handling scheduling, synchronizing for the effective utilization of IoT devices that are short on resources. The diversified nature of edge devices has to be emphasized by the fog architecture at the device as well as the network levels. Utilizing heterogeneous devices in a diverse fog setting with varying application demands is strenuous. Numerous IoT devices from diverse hardware and software vendors add to the complexity factor. When the edge lacks computational resources, it can be acquired and assigned from among the fog nodes setting up a common pool of computing, network, and storage resources, availed by applications as per demand. The heterogeneity of fog devices and resources in the dynamic fog setting enables resource scheduling and allocation to be more challenging than that of the cloud, with utilizing idle resources being fog’s top priority.
  • Security and privacy
The heterogeneity of devices makes the fog framework vulnerable to various attacks due to its deployment in a not-so-secure setting. As fog nodes are positioned between the cloud and end-users, fog computing is susceptible to security issues. Assuring the privacy of sensitive data originating from sensors is critical. The fog-based Distributed Denial of Service (DDoS) attack is highly destructive, as diverse malignant devices overwhelm resource-limited end devices with fake service requests. Another such attack is the Man-in-the-Middle Attack (MMA), which discloses sensitive private data. The physical components of IoT devices can also be attacked, referred to as a physical attack based on the protection level and implemented location.
  • QoS
The fog framework encompasses devices from the cloud to the edge, and the fog nodes are to provide end-to-end services adhering to users’ service-specific QoS features. The fog system is entitled to manage the distribution of computing and storage to the cloud while orchestrating heterogeneous edge devices. Hence, it is necessary to dynamically integrate cloud servers and fog devices.
  • Blockchain and Software-Defined Networking (SDN)
In fog-based IoT settings, blockchain technology can provide a secure framework for controlling data and information exchanges amongst independently operating devices. To improve privacy and security, blockchain offers the safe transmission and storage of digitally signed documents. As a result, an additional study into this technology is critical in order to offer and improve methods for securely transmitting data between IoT devices, utilizing a trustworthy approach such as a time-stamped contractual handshake.
Furthermore, Software Defined Networking (SDN) is a networking technology that may be used in conjunction with fog technology to enable effective data exchange and resource collaboration. SDN may also bring intelligence to fog-based IoT networks, among other things. SDN may also be utilized to protect fog-based IoT infrastructures. The authors, for example, developed a hybrid network design for smart cities that included SDN with blockchain. As a result, research into SDN and its integration with blockchain would be helpful in providing an efficient architecture for sustainable smart cities.
  • Latency management
Latency control is required in fog computing to guarantee an acceptable level of Quality of Service. As a result, research into various latency management techniques would aid in delivering services with the least amount of delay and ensuring a higher QoS throughout the system. The estimate of resources is another key topic in fog computing. It aids in allocating computing resources depending on various policies, allowing for the correct allocation of resources for future computation. In order to attain the necessary QoS, a comprehensive study into various resource estimate policies in terms of multiple aspects such as user attributes and experienced Quality of Experience (QoE) would be useful.
  • Sustainability
In order to reduce the total carbon footprint, sustainability which refers to the utilization of renewable energy supplies, energy harvesting, and energy-efficient architecture, is a crucial necessity when building fog-based IoT architectures for smart cities. Dense IoT end-devices and fog computing servers are predicted in smart cities. As a result, the smart city infrastructure would suffer considerable energy constraints. As a result, it is critical to research various methods for increasing the energy efficiency of fog-based IoT systems without sacrificing QoS, which could be accomplished through energy-efficient caching methods.
  • Interoperability and federation of fog
Another essential prerequisite for accomplishing the goal of a fog-based IoT and sustainable smart cities becoming a reality is interoperability. Because of the large number of heterogeneous IoT devices running on multiple protocols, the interoperability of fog-based IoT systems in sustainable smart cities is difficult. The fog-based IoT architecture should provide interoperability so that various systems and devices can correctly comprehend and use each other’s functionalities. On that account, intense research efforts are recommended to create frameworks that allow interoperability for fog-based IoT systems in sustainable smart cities.
On the fog, requests are processed at proximity, mitigating latency. If numerous latency-sensitive applications were to request services, the interoperability of the Fog clusters and its servers along with federation would be required so that a fog device can request its peers to manage processing to avoid cloud involvement that increases latency.
  • Power management
Fog nodes manage innumerable end devices, as in sensors, and when fog nodes are employed as needed, they substantially multiply active nodes, increasing the whole system’s power consumption. Hence, power has to be managed effectively in large fog systems. One such option to study would be integrating the fog nodes in specific applications and moving tasks among nodes. The majority of fog devices are power-constrained, and efficient energy utilization is essential.
Table 5 furnishes the summary of open issues and potential solutions concerned with fog computing.

4.2. Future Prospects of Fog/Edge Computing

The technological possibilities that may lead fog/edge computing paradigms into the future are portrayed in Figure 14 and detailed as follows:

4.2.1. Big Data Analytics

The proliferation of the ubiquitous IoT has led up to an overwhelmingly immense amount of data generation, inferred as big data [134]. Big data entails ever-expanding datasets, which are heterogeneous in nature, comprising of structured, semi-structured, and unstructured data [135]. It garners potential for opportunities as well as challenges, including the five Vs [136]. Thus, big data analytics is a promising solution that processes the humongous big data and transforms it into smart data, imparting actionable insights into making data-driven decisions [137]. The key feature of fog computing and edge computing models is the potential to quickly store and process data, benefiting real-time applications and playing a crucial part in efficient business operations [138,139].

4.2.2. Serverless Computing

Serverless computing facilitates an easy and hastier IoT application development by eliminating the need to manage a real infrastructure [140]. It is also referred to as the Function-as-a-Service (FaaS), implementing code as independent functions through dynamic resource provisioning, which enhances the runtime infrastructure scalability [141,142]. Integrating serverless computing to the edge computing model increases the computation speed of data generated and processed by IoT applications deployed on edge devices [143]. As individual functions are executed on edge devices, the response time, latency, and energy consumed is decreased, and the reliability is improved.

4.2.3. Blockchain

Blockchain is a novel concept to store data as a chain of blocks to enhance data security [144]. It is a super-secure method to store, authenticate, and protect data, which promotes trusted transactions. Blockchain usually revolves around securing cryptocurrency with real potential being transparent and immutable. It utilizes the distributed ledger model to secure transactions and is decentralized in nature, providing accurate and efficient transactions, evading intermediaries. Blockchain is engaged in offering services pertaining to finance, voting, supply chain monitoring, and smart contracts. It can be deployed to secure data generated by IoT applications [145,146].

4.2.4. Quantum Computing

The emerging field of quantum computing extends a substantial computational lead over classical computing by leveraging the quantum physics principles of entanglement and superposition [147]. With unimaginably swift quantum computers, calculations are performed and stored using quantum bits referred to as qubits, which allows number crunching and problem-solving at an exponential scale. Seemingly unsolvable complex tasks, predicting viable solutions to issues, and the processing of a massive amount of data can be handled with absolute ease by quantum computers. They can further enhance computational efficiency, security, and energy efficiency [148]. Quantum computing can be combined with ML and DL techniques to predict the resource demand and handle an efficient resource and energy utilization at fog and edge layers [149,150]. Quantum computing is in its budding stage, with research efforts underway at an accelerating pace [148].

4.2.5. Software-Defined Networking

Software-Defined Networking is an upcoming paradigm that overcomes the vertical integration issue by separating the control logic of the network from the underlying switches and routers, enabling a logical network control centralization [151]. It makes it simpler to manage a flexible and reliable network, introduces new networking abstractions, and leads to network evolution. SDN overcomes conventional network issues by enhancing the virtualization, security, energy efficiency, and network reliability, optimizing the network topology, managing complexity, service orchestration-benefitting fog, and edge computing [152,153].

4.2.6. Artificial Intelligence (AI)

Artificial intelligence is a key field of computer science, where machines mimic human intelligence/behavior and is already transforming the world. The accelerating ability of machines to learn and act smart is gearing up to drive even more businesses and technologies. AI, collectively with its subfields of machine learning and deep learning, help businesses save cost, enrich customer experience, communicate effectively, streamline workflows, and obtain insights for better decisions. ML is the ability of a machine to learn without involving explicit programming. It can analyze huge datasets and offer actionable insights. DL, which is a subset of ML, is capable of handling complex computational tasks. AI has begun to see the light of the day with automation and implementation occurring at a large scale and fast pace. Likewise, intense research efforts are underway for integrating fog and edge computing with artificial intelligence to enhance the overall performance, including resource, energy management, security, and reliability [154,155,156].

5. Sustainable/Green Computing in Fog/Edge

Sustainable/green computing is the efficient management of computational, communication, and storage devices through convincing design and manufacturing practices with a reduced impact on the environment [157]. The last decade has seen sustainable/green computing permeating fields of social computing, mobile computing, agent systems based on AI, as well as the Internet of Things. IoT nodes possess power constraints and connecting with the internet makes them vulnerable to attacks. For IoT to be sustainable, energy and security are the two key aspects to be emphasized.

5.1. Energy Sustainability

With IoT services pervading all aspects of our lives, energy-constrained IoT devices spark concern while considering sustainability. The massive number IoT sensors and actuators deployed necessitate a continuous and persistent power supply. As the IoT node size reduces, the size of the battery also decreases. In light of the current trend to enhance IoT device functionality, formulating sustainable solutions for confronting power constraints is essential [158].
Numerous research efforts have been oriented towards energy harvesting for self-sufficient IoT functioning, alongside tackling IoT security issues. The energy consumed by digital and smart gadgets has become concerning. Energy harvesting from renewable energy sources can power a myriad of IoT sensors [159,160]. With IoT sensors having a battery that lasts for a limited time, frequent charging or replacement is not viable at all times. Hence, energy harvesting from renewable energy such as kinetic, solar, thermal, etc., seems plausible [161]. Moreover, energy harvesting this issue can be handled by deploying an efficient data transmission policy [162], with almost 80% of a sensor’s energy being depleted on data transmission. Even though efforts for enriching the energy efficiency of IoT systems are underway, they hardly match the proliferating pace of IoT services/dependence [158].

5.2. Security Sustainability

IoT sustainability emphasizes the security of data and devices. Securing data involves handling confidentiality and integrity aspects, whereas device security concerns defense against stealth attacks. Energy-harvesting chips are susceptible to malicious attacks, including DoS attacks that disrupt sensors. Both the criteria of energy efficiency and security characterize the IoT sustainability while, at the same time, challenging IoT progress [163] as IoT devices are power constrained, which demands a refined, lightweight energy and security framework.
According to a study, 70% of connected devices are at risk of cyber-attacks [164]. Furthermore, vulnerable smart devices are estimated to cause 25% of all industrial attacks [158]. As IoT devices are resource-constrained, they are highly prone to attack than desktops or laptops. As the battery size decreases, it can hold less energy, which in turn reduces the availability of resources that provide security. Hence, lightweight security mechanisms suitable for power constraint devices are essential, as traditional security solutions designed for resource-rich devices consume more energy, owing to more computations. Research shows that the advanced encryption standard, as well as the elliptic curve cryptography, offer a lightweight cryptographic solution with an evaluation based on resource limitations, chip space, latency, and throughput [165]. For the IoT systems to be sustainable, the balancing of aspects such as energy efficiency, power consumption, performance, and security is required [158].

6. Confluence of ML and Fog/Edge

The conventional cloud model falls short of fulfilling IoT application necessities due to the enormous data generated from IoT devices [166]. Transmitting the overwhelming IoT data to the cloud would cause network overhead, consuming bandwidth, and latency issues [167]. Hence, to cut back on the data transfer cost as well as network delays, service providers are steering towards the fog and edge computing [168], with an additional opportunity for enforcing security and privacy [169]. The IoT systems comprise edge equipment, sensors, and actuators with latency, bandwidth, and security necessities [166]. The fog computing technology of extending computer and storage to network’s edge solves processing and networking impediments [167], enabling rapid processing close to the data source [170]. The complexity and dynamism of fog computing with its communication networks facilitating low latency makes sophisticated computation possible in a conducive environment. Fog computing confers societal benefits through its range of applications, namely, healthcare, Industry 4.0, autonomous vehicles, smart cities [171], etc.
Despite that, it encounters performance as well as security setbacks. As a result, machine learning (ML), which is a subfield of artificial intelligence (AI), is catching on to assist FC in resolving its shortcomings. Using ML to enhance FC applications and deliver efficient services in terms of accuracy, latency reduction, energy consumption, security, privacy, resource, and traffic management [25,172,173] has been increasingly popular in recent times. Fog computing resource management involving ML enhances the computer, decision-making, and resource provisioning, along with delay prediction. Deploying ML techniques in fog computing facilitates accurate data processing and analyses in real-time while managing the network overhead as well as communication traffic, owing to fog’s decentralized model. The security aspects for the device, network, and data involving fog computing accompanied by ML prove to be effective. The merging of the fog model with machine learning has evolved into robust end-user and upper-layer services, allowing for deeper analytics and intelligent answers to tasks.
Machine learning (ML) is a promising option for intelligent data processing and inference and is a prime enabler to various IoT application domains [166], such as healthcare, smart home, smart agriculture, smart industry, smart grid, etc. It has a crucial part in designing the intelligent/smart setting for autonomous operations [167]. Machine learning has immense potential as a significant IoT technology gaining traction to provide insights for IoT applications [174]. IoT has excellent prospects for enhancing human life and industrial growth as innumerable sensing devices perform monitoring and increase communication potential [175]. For resource-constrained IoT devices, the confluence of machine learning with the cloud, edge, and fog is vital for IoT implementation [156,175] to usher in efficient performance, greater controllability, productivity, and cost reduction possibilities, while managing IoT’s QoS challenges.
Enabling intelligence at fog and IoT improves the overall performance [100]. FC moves the cloud’s potential to the edge of the network, where IoT and human users are present. Intelligence can be incorporated into FC as device-driven or human-driven. In a device-driven approach, fog and IoT are equipped with more sensing, processing, network, and storage capabilities, enabling context awareness for decision making and local resource management. In a human-driven model, human users act as the data source to the system, whose behavioral pattern is the key in shaping the network while serving them. Collectively, these two approaches can help meet IoT’s demand for QoS when designing fog computing systems.
The harnessing of machine learning in an IoT setting facilitates deeper analytics and helps materialize efficient and smart IoT applications [174]. Moreover, it can be utilized to overcome networking difficulties pertaining to routing, resource allocation, traffic engineering, and security [176,177,178,179,180]. Neural networks are deployed to effectively analyze enormous data produced by IoT [181]. Moreover, advanced AI involving deep learning has been thriving in data analytics, decision making, and prediction [85].
The potential of IoT has remarkably expanded thanks to the convergence of machine learning and artificial intelligence. Advanced machine intelligence approaches have enabled substantial insights into a number of real-world situations and the capacity to determine critical operational choices from the massive volume of IoT sensory data. As a result, ML and IoT must work in tandem to solve complicated real-world issues and fulfill computation and communication needs.

7. Conclusions

Cloud computing has revolutionized device interactions on the internet, which ushered in the Internet-of-Things and implemented a plethora of connected gadgets, with the potential to continually sense and respond to user requirements. The proliferation of networked IoT devices and ensuing big data and the rigorous demands of emerging IoT applications, such as low latency, location awareness, and mobility support in a geo-distributed scenario, have challenged the conventional cloud computing architecture. Hence, various computing paradigms such as edge and fog have emerged to address these limitations by deploying resources at the network’s edge. The computing at edge and fog implies collecting, processing, and analyzing data close to the data source and transmitting refined results to the centralized cloud, favoring time-sensitive applications that require increased accuracy, low latency, high-speed analytics, faster response time, improved reliability, and availability. Combining fog/edge with cloud computing has the prospect of aiding IoT in multiple ways. Because the fog and edge computing paradigms are up-and-coming, exhaustive research on this new technology is imperative. The evolving computing paradigms, as well as the challenges and opportunities, were explored in this study. Budding researchers can largely benefit from this extensive survey to comprehend recent advances in evolving computing paradigms.

Author Contributions

Conceptualization, N.A.A., D.R. and K.S.; methodology, N.A.A., D.R. and K.S.; software, P.M.D.R.V.; validation, P.M.D.R.V., K.S. and Y.-C.H.; formal analysis, N.A.A.; investigation, N.A.A.; resources, K.S. and Y.-C.H.; data curation, P.M.D.R.V.; writing—original draft preparation, N.A.A., D.R. and K.S.; writing—review and editing, N.A.A., D.R., P.M.D.R.V., K.S. and Y.-C.H.; visualization, N.A.A.; supervision, D.R.; project administration, Y.-C.H.; funding acquisition, Y.-C.H. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the MINISTRY OF SCIENCE AND TECHNOLOGY, TAIWAN, grant number MOST 110-2622-E-197-009.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

References

  1. Armbrust, M.; Fox, A.; Griffith, R.; Joseph, A.D.; Katz, R.; Konwinski, A.; Lee, G.; Patterson, D.; Rabkin, A.; Stoica, I.; et al. A View of Cloud Computing. Commun. ACM 2010, 53, 50–58. [Google Scholar] [CrossRef] [Green Version]
  2. Yousefpour, A.; Fung, C.; Nguyen, T.; Kadiyala, K.; Jalali, F.; Niakanlahiji, A.; Kong, J.; Jue, J.P. All One Needs to Know about Fog Computing and Related Edge Computing Paradigms: A Complete Survey. J. Syst. Archit. 2019, 98, 289–330. [Google Scholar] [CrossRef]
  3. Ortiz, G.; Zouai, M.; Kazar, O.; Garcia-de-Prado, A. Atmosphere: Context and Situational-Aware Collaborative IoT Architecture for Edge-Fog-Cloud Computing. Comput. Stand. Interfaces 2022, 79, 103550. [Google Scholar] [CrossRef]
  4. Berger, C.; Eichhammer, P.; Reiser, H.P.; Domaschka, J.; Hauck, F.J.; Habiger, G. A Survey on Resilience in the IoT: Taxonomy, Classification, and Discussion of Resilience Mechanisms. ACM Comput. Surv. 2022, 54, 1–39. [Google Scholar] [CrossRef]
  5. Fersi, G. Fog Computing and Internet of Things in One Building Block: A Survey and an Overview of Interacting Technologies. Cluster Comput. 2021, 24, 2757–2787. [Google Scholar] [CrossRef]
  6. Sen, A.A.A.; Yamin, M. Advantages of Using Fog in IoT Applications. Int. J. Inf. Tecnol. 2021, 13, 829–837. [Google Scholar] [CrossRef]
  7. Shi, W.; Dustdar, S. The Promise of Edge Computing. Computer 2016, 49, 78–81. [Google Scholar] [CrossRef]
  8. Dolui, K.; Datta, S.K. Comparison of Edge Computing. In 2017 Global Internet of Things Summit (GIoTS); IEEE: Geneva, Switzerland, 2017; pp. 1–6. [Google Scholar] [CrossRef]
  9. Liu, Y.; Fieldsend, J.E.; Min, G. A Framework of Fog Computing: Architecture, Challenges, and Optimization. IEEE Access 2017, 5, 25445–25454. [Google Scholar] [CrossRef]
  10. IEEE Standard 1934–2018; IEEE Standard for Adoption of OpenFog Reference Architecture for Fog Computing. 2018; pp. 1–176. Available online: https://ieeexplore.ieee.org/document/8423800 (accessed on 22 December 2021).
  11. Okewu, E.; Misra, S.; Maskeliūnas, R.; Damaševičius, R.; Fernandez-Sanz, L. Optimizing Green Computing Awareness for Environmental Sustainability and Economic Security as a Stochastic Optimization Problem. Sustainability 2017, 9, 1857. [Google Scholar] [CrossRef] [Green Version]
  12. Venckauskas, A.; Stuikys, V.; Damasevicius, R.; Jusas, N. Modelling of Internet of Things Units for Estimating Security-Energy-Performance Relationships for Quality of Service and Environment Awareness: Modelling of IoT Units for Estimating Quality of Service. Secur. Comm. Netw. 2016, 9, 3324–3339. [Google Scholar] [CrossRef]
  13. Maskeliūnas, R.; Damaševičius, R.; Segal, S. A Review of Internet of Things Technologies for Ambient Assisted Living Environments. Future Internet 2019, 11, 259. [Google Scholar] [CrossRef] [Green Version]
  14. Atzori, L.; Iera, A.; Morabito, G. Understanding the Internet of Things: Definition, Potentials, and Societal Role of a Fast Evolving Paradigm. Ad Hoc Netw. 2017, 56, 122–140. [Google Scholar] [CrossRef]
  15. Hu, P.; Dhelim, S.; Ning, H.; Qiu, T. Survey on Fog Computing: Architecture, Key Technologies, Applications and Open Issues. J. Netw. Comput. Appl. 2017, 98, 27–42. [Google Scholar] [CrossRef]
  16. Mahmud, R.; Kotagiri, R.; Buyya, R. Fog Computing: A Taxonomy, Survey and Future Directions. In Internet of Everything. Internet of Things (Technology, Communications and Computing); Di Martino, B., Li, K.-C., Yang, L.T., Esposito, A., Eds.; Springer: Singapore, 2018; pp. 103–130. [Google Scholar] [CrossRef] [Green Version]
  17. Lin, J.; Yu, W.; Zhang, N.; Yang, X.; Zhang, H.; Zhao, W. A Survey on Internet of Things: Architecture, Enabling Technologies, Security and Privacy, and Applications. IEEE Internet Things J. 2017, 4, 1125–1142. [Google Scholar] [CrossRef]
  18. Mao, Y.; You, C.; Zhang, J.; Huang, K.; Letaief, K.B. A Survey on Mobile Edge Computing: The Communication Perspective. IEEE Commun. Surv. Tutor. 2017, 19, 2322–2358. [Google Scholar] [CrossRef] [Green Version]
  19. Yong, B.; Wei, W.; Li, K.C.; Shen, J.; Zhou, Q.; Wozniak, M.; Damaševičius, R. Ensemble machine learning approaches for webshell detection in Internet of things environments. Trans. Emerg. Telecommun. Technol. 2020, e4085. [Google Scholar] [CrossRef]
  20. Mouradian, C.; Naboulsi, D.; Yangui, S.; Glitho, R.H.; Morrow, M.J.; Polakos, P.A. A Comprehensive Survey on Fog Computing: State-of-the-Art and Research Challenges. IEEE Commun. Surv. Tutor. 2018, 20, 416–464. [Google Scholar] [CrossRef] [Green Version]
  21. Mukherjee, M.; Shu, L.; Wang, D. Survey of Fog Computing: Fundamental, Network Applications, and Research Challenges. IEEE Commun. Surv. Tutor. 2018, 20, 1826–1857. [Google Scholar] [CrossRef]
  22. Elazhary, H. Internet of Things (IoT), Mobile Cloud, Cloudlet, Mobile IoT, IoT Cloud, Fog, Mobile Edge, and Edge Emerging Computing Paradigms: Disambiguation and Research Directions. J. Netw. Comput. Appl. 2019, 128, 105–140. [Google Scholar] [CrossRef]
  23. Atlam, H.F.; Walters, R.J.; Wills, G.B. Fog Computing and the Internet of Things: A Review. Big Data Cogn. Comput. 2018, 2, 10. [Google Scholar] [CrossRef] [Green Version]
  24. Bangui, H.; Rakrak, S.; Raghay, S.; Buhnova, B. Moving to the Edge-Cloud-of-Things: Recent Advances and Future Research Directions. Electronics 2018, 7, 309. [Google Scholar] [CrossRef] [Green Version]
  25. Abdulkareem, K.H.; Mohammed, M.A.; Gunasekaran, S.S.; Al-Mhiqani, M.N.; Mutlag, A.A.; Mostafa, S.A.; Ali, N.S.; Ibrahim, D.A. A Review of Fog Computing and Machine Learning: Concepts, Applications, Challenges, and Open Issues. IEEE Access 2019, 7, 153123–153140. [Google Scholar] [CrossRef]
  26. Khan, W.Z.; Ahmed, E.; Hakak, S.; Yaqoob, I.; Ahmed, A. Edge Computing: A Survey. Future Gener. Comput. Syst. 2019, 97, 219–235. [Google Scholar] [CrossRef]
  27. Cao, K.; Liu, Y.; Meng, G.; Sun, Q. An Overview on Edge Computing Research. IEEE Access 2020, 8, 85714–85728. [Google Scholar] [CrossRef]
  28. Yunana, K.; Alfa, A.A.; Misra, S.; Damasevicius, R.; Maskeliunas, R.; Oluranti, J. Internet of Things: Applications, Adoptions and Components—A Conceptual Overview. In Hybrid Intelligent Systems. HIS Advances in Intelligent Systems and Computing; Abraham, A., Hanne, T., Castillo, O., Gandhi, N., Nogueira Rios, T., Hong, T.P., Eds.; Springer: Cham, Switzerland, 2021. [Google Scholar] [CrossRef]
  29. Moura, J.; Hutchison, D. Fog Computing Systems: State of the Art, Research Issues and Future Trends, with a Focus on Resilience. J. Netw. Comput. Appl. 2020, 169, 102784. [Google Scholar] [CrossRef]
  30. Aslanpour, M.S.; Gill, S.S.; Toosi, A.N. Performance Evaluation Metrics for Cloud, Fog and Edge Computing: A Review, Taxonomy, Benchmarks and Standards for Future Research. Internet Things 2020, 12, 100273. [Google Scholar] [CrossRef]
  31. Alli, A.A.; Alam, M.M. The Fog Cloud of Things: A Survey on Concepts, Architecture, Standards, Tools, and Applications. Internet Things 2020, 9, 100177. [Google Scholar] [CrossRef]
  32. Mell, P.; Grance, T. The NIST Definition of Cloud Computing; National Institute of Standards & Technology: Gaithersburg, MA, USA, 2011; p. 2. [Google Scholar]
  33. Liu, F.; Tong, J.; Mao, J.; Bohn, R.; Messina, J.; Badger, L.; Leaf, D. NIST Cloud Computing Reference Architecture. NIST Special Publication, Technology Report. 2011. Available online: https://bigdatawg.nist.gov/_uploadfiles/M0007_v1_3376532289.pdf (accessed on 14 September 2011).
  34. Dorsemaine, B.; Gaulier, J.-P.; Wary, J.-P.; Kheir, N.; Urien, P. Internet of Things: A Definition & amp; Taxonomy. In Proceedings of the 2015 9th International Conference on Next Generation Mobile Applications, Services and Technologies, Cambridge, UK, 9–11 September 2015; IEEE: Cambridge, UK, 2015; pp. 72–77. [Google Scholar] [CrossRef]
  35. Mahmoud, R.; Yousuf, T.; Aloul, F.; Zualkernan, I. Internet of Things (IoT) Security: Current Status, Challenges and Prospective Measures. In Proceedings of the 10th International Conference for Internet Technology and Secured Transactions (ICITST), London, UK, 14–16 December 2015; pp. 336–341. [Google Scholar]
  36. Gubbi, J.; Buyya, R.; Marusic, S.; Palaniswami, M. Internet of Things (IoT): A Vision, Architectural Elements, and Future Directions. Future Gener. Comput. Syst. 2013, 29, 1645–1660. [Google Scholar] [CrossRef] [Green Version]
  37. Recommendation-ITU-T Y.2060 Overview of the Internet of Things, Document, International Telecommunication Union. June 2012. Article No. E 38086. Available online: https://www.itu.int/rec/T-REC-Y.2060-201206-I (accessed on 15 June 2012).
  38. Khan, W.Z.; Aalsalem, M.Y.; Khan, M.K.; Arshad, Q. Enabling Consumer Trust upon Acceptance of IoT Technologies through Security and Privacy Model. In Advanced Multimedia and Ubiquitous Engineering; Park, J.J., Jin, H., Jeong, Y.-S., Khan, M.K., Eds.; Lecture Notes in Electrical Engineering; Springer Singapore: Singapore, 2016; Volume 393, pp. 111–117. [Google Scholar] [CrossRef]
  39. Saichaitanya, P.; Karthik, N.; Surender, D. Recent Trends in Iot. J. Inf. Comput. Sci. 2016, 9, 9. [Google Scholar]
  40. Khan, N.; Naim, A.; Hussain, M.R.; Naveed, Q.N.; Ahmad, N.; Qamar, S. The 51 V’s Of Big Data: Survey, Technologies, Characteristics, Opportunities, Issues and Challenges. In Proceedings of the International Conference on Omni-Layer Intelligent Systems, Crete, Greece, 5–7 May 2019; ACM: Crete, Greece, 2019; pp. 19–24. [Google Scholar] [CrossRef]
  41. Martinez, I.; Hafid, A.S.; Jarray, A. Design, Resource Management, and Evaluation of Fog Computing Systems: A Survey. IEEE Internet Things J. 2021, 8, 2494–2516. [Google Scholar] [CrossRef]
  42. Storey, V.C.; Song, I.-Y. Big Data Technologies and Management: What Conceptual Modeling Can Do. Data Knowl. Eng. 2017, 108, 50–67. [Google Scholar] [CrossRef]
  43. Roman, R.; Lopez, J.; Mambo, M. Mobile Edge Computing, Fog et al.: A Survey and Analysis of Security Threats and Challenges. Future Gener. Comput. Syst. 2018, 78, 680–698. [Google Scholar] [CrossRef] [Green Version]
  44. Bonomi, F.; Milito, R.; Zhu, J.; Addepalli, S. Fog Computing and Its Role in the Internet of Things. In Proceedings of the First Edition of the MCC Workshop on Mobile Cloud Computing, New York, NY, USA, 17 August 2012; pp. 13–16. [Google Scholar] [CrossRef]
  45. Chiang, M.; Zhang, T. Fog and IoT: An Overview of Research Opportunities. IEEE Internet Things J. 2016, 3, 854–864. [Google Scholar] [CrossRef]
  46. Zhang, T.; Zheng, Y.; Zheng, R.; Antunes, H. Securing the Internet of Things: Need for a New Paradigm and Fog Computing. In Fog for 5G and IoT; Chiang, M., Balasubramanian, B., Bonomi, F., Eds.; John Wiley & Sons, Inc.: Hoboken, NJ, USA, 2017; pp. 261–283. [Google Scholar] [CrossRef]
  47. Puliafito, C.; Mingozzi, E.; Longo, F.; Puliafito, A.; Rana, O. Fog Computing for the Internet of Things: A Survey. ACM Trans. Internet Technol. 2019, 19, 1–41. [Google Scholar] [CrossRef]
  48. Weiner, M.; Jorgovanovic, M.; Sahai, A.; Nikolie, B. Design of a Low-Latency, High-Reliability Wireless Communication System for Control Applications. In Proceedings of the 2014 IEEE International Conference on Communications (ICC), Sydney, NSW, Australia, 10–14 June 2014; IEEE: Sydney, NSW, Australia, 2014; pp. 3829–3835. [Google Scholar] [CrossRef]
  49. Gedeon, J.; Brandherm, F.; Egert, R.; Grube, T.; Muhlhauser, M. What the Fog? Edge Computing Revisited: Promises, Applications and Future Challenges. IEEE Access 2019, 7, 152847–152878. [Google Scholar] [CrossRef]
  50. Yannuzzi, M.; Milito, R.; Serral-Gracia, R.; Montero, D.; Nemirovsky, M. Key Ingredients in an IoT Recipe: Fog Computing, Cloud Computing, and More Fog Computing. In Proceedings of the 2014 IEEE 19th International Workshop on Computer Aided Modeling and Design of Communication Links and Networks (CAMAD), Athens, Greece, 1–3 December 2014; IEEE: Athens, Greece, 2014; pp. 325–329. [Google Scholar] [CrossRef]
  51. Caiza, G.; Saeteros, M.; Oñate, W.; Garcia, M.V. Fog Computing at Industrial Level, Architecture, Latency, Energy, and Security: A Review. Heliyon 2020, 6, e03706. [Google Scholar] [CrossRef]
  52. Seitz, A.; Buchinger, D.; Bruegge, B. The Conjunction of Fog Computing and the Industrial Internet of Things—An Applied Approach. In Proceedings of the 2018 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), Athens, Greece, 19–23 March 2018; IEEE: Athens, Greece, 2018; pp. 812–817. [Google Scholar] [CrossRef]
  53. Mahmoudi, C.; Mourlin, F.; Battou, A. Formal Definition of Edge Computing: An Emphasis on Mobile Cloud and IoT Composition. In Proceedings of the IEEE 2018 Third International Conference on Fog and Mobile Edge Computing (FMEC), Barcelona, Spain, 23–26 April 2018; IEEE: Barcelona, Spain, 2018; pp. 34–42. [Google Scholar] [CrossRef]
  54. Bashar, A. Secure and cost efficient implementation of the mobile computing using offloading technique. JITDW 2019, 1, 48–57. [Google Scholar] [CrossRef]
  55. Al-Janabi, S.; Al-Shourbaji, I.; Shojafar, M.; Abdelhag, M. Mobile Cloud Computing: Challenges and Future Research Directions. In Proceedings of the 2017 10th International Conference on Developments in eSystems Engineering (DeSE), Paris, France, 14–16 June 2017; IEEE: Paris, France, 2017; pp. 62–67. [Google Scholar] [CrossRef]
  56. Dinh, H.T.; Lee, C.; Niyato, D.; Wang, P. A Survey of Mobile Cloud Computing: Architecture, Applications, and Approaches: A Survey of Mobile Cloud Computing. Wirel. Commun. Mob. Comput. 2013, 13, 1587–1611. [Google Scholar] [CrossRef]
  57. Fernando, N.; Loke, S.W.; Rahayu, W. Mobile Cloud Computing: A Survey. Future Gener. Comput. Syst. 2013, 29, 84–106. [Google Scholar] [CrossRef]
  58. Mansouri, Y.; Babar, M.A. A Review of Edge Computing: Features and Resource Virtualization. J. Parallel Distrib. Comput. 2021, 150, 155–183. [Google Scholar] [CrossRef]
  59. Shiraz, M.; Gani, A.; Khokhar, R.H.; Buyya, R. A Review on Distributed Application Processing Frameworks in Smart Mobile Devices for Mobile Cloud Computing. IEEE Commun. Surv. Tutor. 2013, 15, 1294–1313. [Google Scholar] [CrossRef] [Green Version]
  60. Yaqoob, I.; Ahmed, E.; Gani, A.; Mokhtar, S.; Imran, M.; Guizani, S. Mobile Ad Hoc Cloud: A Survey: Mobile Ad Hoc Cloud. Wirel. Commun. Mob. Comput. 2016, 16, 2572–2589. [Google Scholar] [CrossRef]
  61. Hubaux, J.-P.; Gross, T.; Le Boudec, J.-Y.; Vetterli, M. Toward Self-Organized Mobile Ad Hoc Networks: The Terminodes Project. IEEE Commun. Mag. 2001, 39, 118–124. [Google Scholar] [CrossRef] [Green Version]
  62. Ari, A.A.A.; Ngangmo, O.K.; Titouna, C.; Thiare, O.; Kolyang; Mohamadou, A.; Gueroui, A.M. Enabling privacy and security in Cloud of Things: Architecture, applications, security & privacy challenges. Appl. Comput. Inform. 2019. ahead-of-print. [Google Scholar] [CrossRef]
  63. Aazam, M.; Khan, I.; Alsaffar, A.A.; Huh, E.-N. Cloud of Things: Integrating Internet of Things and Cloud Computing and the Issues Involved. In Proceedings of 2014 11th International Bhurban Conference on Applied Sciences & Technology (IBCAST), Islamabad, Pakistan, 14–18 January, 2014; IEEE: Islamabad, Pakistan, 2014; pp. 414–419. [Google Scholar] [CrossRef]
  64. Mahmoud, M.M.E.; Rodrigues, J.J.P.C.; Ahmed, S.H.; Shah, S.C.; Al-Muhtadi, J.F.; Korotaev, V.V.; De Albuquerque, V.H.C. Enabling Technologies on Cloud of Things for Smart Healthcare. IEEE Access 2018, 6, 31950–31967. [Google Scholar] [CrossRef]
  65. Abdelwahab, S.; Hamdaoui, B.; Guizani, M.; Znati, T. Cloud of Things for Sensing-as-a-Service: Architecture, Algorithms, and Use Case. IEEE Internet Things J. 2016, 3, 1099–1112. [Google Scholar] [CrossRef]
  66. Preden, J.S.; Tammemae, K.; Jantsch, A.; Leier, M.; Riid, A.; Calis, E. The Benefits of Self-Awareness and Attention in Fog and Mist Computing. Computer 2015, 48, 37–45. [Google Scholar] [CrossRef]
  67. Galambos, P. Cloud, Fog, and Mist Computing: Advanced Robot Applications. IEEE Syst. Man Cybern. Mag. 2020, 6, 41–45. [Google Scholar] [CrossRef]
  68. Yogi, M.K.; Chandrasekhar, K.C.; Kumar, G.V. Mist Computing: Principles, Trends and Future Direction. IJCSE 2017, 4, 19–21. [Google Scholar] [CrossRef]
  69. Shi, W.; Cao, J.; Zhang, Q.; Li, Y.; Xu, L. Edge Computing: Vision and Challenges. IEEE Internet Things J. 2016, 3, 637–646. [Google Scholar] [CrossRef]
  70. Ren, J.; Guo, H.; Xu, C.; Zhang, Y. Serving at the Edge: A Scalable IoT Architecture Based on Transparent Computing. IEEE Netw. 2017, 31, 96–105. [Google Scholar] [CrossRef]
  71. Chen, G.; Kang, B.-T.; Kandemir, M.; Vijaykrishnan, N.; Irwin, M.J.; Chandramouli, R. Studying Energy Trade Offs in Offloading Computation/Compilation in Java-Enabled Mobile Devices. IEEE Trans. Parallel Distrib. Syst. 2004, 15, 795–809. [Google Scholar] [CrossRef]
  72. Patel, M.; Hu, Y.; Hédé, P.; Joubert, J.; Ramos, J.R.; Sprecher, N.; Abeta, S.; Neal, A.; Cosimini, P.; Pollard, A.; et al. Contributing Organizations and Authors. Mobile-Edge Computing Introductory Technical White Paper. White Paper, Mobile-Edge Computing (MEC) Industry Initiative. 2014. Available online: https://portal.etsi.org/portals/0/tbpages/mec/docs/mobile-edge_computing_-_introductory_technical_white_paper_v1%2018-09-14.pdf (accessed on 1 September 2014).
  73. Shahzadi, S.; Iqbal, M.; Dagiuklas, T.; Qayyum, Z.U. Multi-Access Edge Computing: Open Issues, Challenges and Future Perspectives. J. Cloud Comp. 2017, 6, 30. [Google Scholar] [CrossRef]
  74. Giust, F.; Verin, G.; Antevski, K.; Chou, J.; Fang, Y. MEC Deployments in 4G and Evolution towards 5G. ETSI White Paper No. 24. First Edition. February 2018. Available online: https://www.etsi.org/images/files/ETSIWhitePapers/etsi_wp24_MEC_deployment_in_4G_5G_FINAL.pdf (accessed on 20 February 2018).
  75. Pan, J.; McElhannon, J. Future Edge Cloud and Edge Computing for Internet of Things Applications. IEEE Internet Things J. 2018, 5, 439–449. [Google Scholar] [CrossRef]
  76. Hu, Y.; Patel, M.; Sabella, D.; Sprecher, N.; Young, V. Mobile Edge Computing A Key Technology towards 5G. ETSI White Paper No. 11. First Edition. Available online: https://www.etsi.org/images/files/etsiwhitepapers/etsi_wp11_mec_a_key_technology_towards_5g.pdf (accessed on 5 September 2015).
  77. Sabella, D.; Vaillant, A.; Kuure, P.; Rauschenbach, U.; Giust, F. Mobile-Edge Computing Architecture: The Role of MEC in the Internet of Things. IEEE Consumer Electron. Mag. 2016, 5, 84–91. [Google Scholar] [CrossRef]
  78. Abedin, S.F.; Bairagi, A.K.; Munir, M.S.; Tran, N.H.; Hong, C.S. Fog Load Balancing for Massive Machine Type Communications: A Game and Transport Theoretic Approach. IEEE Access 2019, 7, 4204–4218. [Google Scholar] [CrossRef]
  79. Zbakh, M.; Essaaidi, M.; Manneback, P.; Rong, C. (Eds.) Cloud Computing and Big Data: Technologies, Applications and Security. In Lecture Notes in Networks and Systems; Springer International Publishing: Cham, Switzerland, 2019. [Google Scholar] [CrossRef]
  80. Yu, Y. Mobile edge computing towards 5G: Vision, recent progress, and open challenges. China Commun. 2016, 13, 89–99. [Google Scholar] [CrossRef] [Green Version]
  81. Klas, G.I. Fog Computing and Mobile Edge Cloud Gain Momentum Open Fog Consortium, ETSI MEC and Cloudlets. 2015. Available online: https://yucianga.info/wp-content/uploads/2015/11/15_11_22-_Fog_computing_and_mobile_edge_cloud_gain_momentum_Open_Fog_Consortium-ETSI_MEC-Cloudlets_v1_1.pdf (accessed on 22 December 2021).
  82. Bonomi, F.; Milito, R.; Natarajan, P.; Zhu, J. Fog Computing: A Platform for Internet of Things and Analytics. In Big Data and Internet of Things: A Roadmap for Smart Environments; Bessis, N., Dobre, C., Eds.; Studies in Computational Intelligence; Springer International Publishing: Cham, Switzerland, 2014; Volume 546, pp. 169–186. [Google Scholar] [CrossRef]
  83. Talebkhah, M.; Sali, A.; Marjani, M.; Gordan, M.; Hashim, S.J.; Rokhani, F.Z. Edge Computing: Architecture, Applications and Future Perspectives. In Proceedings of the 2020 IEEE 2nd International Conference on Artificial Intelligence in Engineering and Technology (IICAIET), Kota Kinabalu, Malaysia, 26–27 September 2020; IEEE: Kota Kinabalu, Malaysia, 2020; pp. 1–6. [Google Scholar] [CrossRef]
  84. Wang, F.; Zhang, M.; Wang, X.; Ma, X.; Liu, J. Deep Learning for Edge Computing Applications: A State-of-the-Art Survey. IEEE Access 2020, 8, 58322–58336. [Google Scholar] [CrossRef]
  85. Chang, Z.; Liu, S.; Xiong, X.; Cai, Z.; Tu, G. A Survey of Recent Advances in Edge-Computing-Powered Artificial Intelligence of Things. IEEE Internet Things J. 2021, 8, 13849–13875. [Google Scholar] [CrossRef]
  86. Nayyer, M.Z.; Raza, I.; Hussain, S.A. A Survey of Cloudlet-Based Mobile Augmentation Approaches for Resource Optimization. ACM Comput. Surv. 2019, 51, 1–28. [Google Scholar] [CrossRef]
  87. Satyanarayanan, M.; Bahl, V.; Caceres, R.; Davies, N. The Case for VM-Based Cloudlets in Mobile Computing. IEEE Pervasive Comput. 2009, 8, 14–23. [Google Scholar] [CrossRef]
  88. Gusev, M.; Dustdar, S. Going Back to the Roots—The Evolution of Edge Computing, An IoT Perspective. IEEE Internet Comput. 2018, 22, 5–15. [Google Scholar] [CrossRef]
  89. Hao, P.; Bai, Y.; Zhang, X.; Zhang, Y. Edgecourier: An Edge-Hosted Personal Service for Low-Bandwidth Document Synchronization in Mobile Cloud Storage Services. In Proceedings of the Second ACM/IEEE Symposium on Edge Computing, San Jose, CA, USA, 12–14 October 2017; ACM: San Jose, CA, USA, 2017; pp. 1–14. [Google Scholar] [CrossRef]
  90. Jararweh, Y.; Tawalbeh, L.; Ababneh, F.; Dosari, F. Resource Efficient Mobile Computing Using Cloudlet Infrastructure. In Proceedings of the 2013 IEEE 9th International Conference on Mobile Ad-hoc and Sensor Networks, Dalian, China, 11–13 December 2013; IEEE: Dalian, China, 2013; pp. 373–377. [Google Scholar] [CrossRef]
  91. Bahl, V. Emergence of Micro Datacenter (Cloudlets/Edges) for Mobile Computing; Microsoft Devices & Networking Summit: Paris, France, 2015. [Google Scholar]
  92. Siriweera, A.; Naruse, K. Survey on Cloud Robotics Architecture and Model-Driven Reference Architecture for Decentralized Multicloud Heterogeneous-Robotics Platform. IEEE Access 2021, 9, 40521–40539. [Google Scholar] [CrossRef]
  93. Pignaton de Freitas, E.; Olszewska, J.I.; Carbonera, J.L.; Fiorini, S.R.; Khamis, A.; Ragavan, S.V.; Barreto, M.E.; Prestes, E.; Habib, M.K.; Redfield, S.; et al. Ontological Concepts for Information Sharing in Cloud Robotics. J. Ambient Intell. Human Comput. 2020, 1–12. [Google Scholar] [CrossRef]
  94. Kehoe, B.; Patil, S.; Abbeel, P.; Goldberg, K. A Survey of Research on Cloud Robotics and Automation. IEEE Trans. Automat. Sci. Eng. 2015, 12, 398–409. [Google Scholar] [CrossRef]
  95. Quintas, J.; Menezes, P.; Dias, J. Interoperability in Cloud Robotics—Developing and Matching Knowledge Information Models for Heterogenous Multi-Robot Systems. In Proceedings of the 2017 26th IEEE International Symposium on Robot and Human Interactive Communication (RO-MAN), Lisbon, Portugal, 28 August–1 September 2017; IEEE: Lisbon, Portugal, 2017; pp. 1291–1296. [Google Scholar] [CrossRef]
  96. Bozcuoglu, A.K.; Kazhoyan, G.; Furuta, Y.; Stelter, S.; Beetz, M.; Okada, K.; Inaba, M. The Exchange of Knowledge Using Cloud Robotics. IEEE Robot. Autom. Lett. 2018, 3, 1072–1079. [Google Scholar] [CrossRef]
  97. Yazdani, F.; Kazhoyan, G.; Bozcuoglu, A.K.; Haidu, A.; Balint-Benczedi, F.; Bebler, D.; Pomarlan, M.; Beetz, M. Cognition-Enabled Framework for Mixed Human-Robot Rescue Teams. In Proceedings of the 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, 1–5 October 2018; IEEE: Madrid, Spain, 2018; pp. 1421–1428. [Google Scholar] [CrossRef]
  98. Saha, O.; Dasgupta, P. A Comprehensive Survey of Recent Trends in Cloud Robotics Architectures and Applications. Robotics 2018, 7, 47. [Google Scholar] [CrossRef] [Green Version]
  99. Xie, X.; Zeng, H.-J.; Ma, W.-Y. Enabling Personalization Services on the Edge. In Proceedings of the 10th ACM International Conference on Multimedia (MULTIMEDIA ’02), New York, NY, USA, 1–6 December 2002; Association for Computing Machinery: New York, NY, USA, 2002; pp. 263–266. [Google Scholar] [CrossRef]
  100. Gelsinger, P.P. Microprocessors for the New Millennium: Challenges, Opportunities, and New Frontiers. In Proceedings of the 2001 IEEE International Solid-State Circuits Conference, San Francisco, CA, USA, 7 February 2001; Digest of Technical Papers. ISSCC (Cat. No.01CH37177); IEEE: San Francisco, CA, USA, 2001; pp. 22–25. [Google Scholar] [CrossRef]
  101. Ibrahim, S.; Jin, H.; Cheng, B.; Cao, H.; Wu, S.; Qi, L. CLOUDLET: Towards Mapreduce Implementation on Virtual Machines. In Proceedings of the 18th ACM International Symposium on High Performance Distributed Computing—HPDC ’09, Garching, Germany, 11–13 June 2009; ACM Press: Garching, Germany, 2009; p. 65. [Google Scholar] [CrossRef]
  102. Minh, Q.T.; Nguyen, D.T.; Van Le, A.; Nguyen, H.D.; Truong, A. Toward Service Placement on Fog Computing Landscape. In Proceedings of the 2017 4th NAFOSTED Conference on Information and Computer Science, Hanoi, Vietnam, 24–25 November 2017; IEEE: Hanoi, Vietnam, 2017; pp. 291–296. [Google Scholar] [CrossRef]
  103. Gonzalez, N.M.; Goya, W.A.; de Fatima Pereira, R.; Langona, K.; Silva, E.A.; Melo de Brito Carvalho, T.C.; Miers, C.C.; Mangs, J.-E.; Sefidcon, A. Fog Computing: Data Analytics and Cloud Distributed Processing on the Network Edges. In Proceedings of the 2016 35th International Conference of the Chilean Computer Science Society (SCCC), Valparaíso, Chile, 10 October 2016–10 February 2017; IEEE: Valparaiso, Chile, 2016; pp. 1–9. [Google Scholar] [CrossRef]
  104. Li, C.; Xue, Y.; Wang, J.; Zhang, W.; Li, T. Edge-Oriented Computing Paradigms: A Survey on Architecture Design and System Management. ACM Comput. Surv. 2018, 51, 1–34. [Google Scholar] [CrossRef]
  105. Chiang, M.; Ha, S.; Risso, F.; Zhang, T.; Chih-Lin, I. Clarifying Fog Computing and Networking: 10 Questions and Answers. IEEE Commun. Mag. 2017, 55, 18–20. [Google Scholar] [CrossRef] [Green Version]
  106. Iorga, M.; Feldman, L.; Barton, R.; Martin, M.J.; Goren, N.; Mahmoudi, C. Fog Computing Conceptual Model; Special Publication (NIST SP) 500-325; National Institute of Standards and Technology: Gaithersburg, MD, USA, 2018. [Google Scholar] [CrossRef]
  107. Stojmenovic, I.; Wen, S. The Fog Computing Paradigm: Scenarios and Security Issues. In Proceedings of the Federated Conference on Computer Science and Information Systems, Warsaw, Poland, 7–10 September 2014; pp. 1–8. [Google Scholar] [CrossRef] [Green Version]
  108. Yi, S.; Hao, Z.; Qin, Z.; Li, Q. Fog Computing: Platform and Applications. In Proceedings of the 2015 Third IEEE Workshop on Hot Topics in Web Systems and Technologies (HotWeb), Washington, DC, USA, 12–13 November 2015; IEEE: Washington DC, DC, USA, 2015; pp. 73–78. [Google Scholar] [CrossRef] [Green Version]
  109. Ni, J.; Zhang, K.; Lin, X.; Shen, X. Securing Fog Computing for Internet of Things Applications: Challenges and Solutions. IEEE Commun. Surv. Tutor. 2018, 20, 601–628. [Google Scholar] [CrossRef]
  110. Aazam, M.; Huh, E.-N. Fog Computing Micro Datacenter Based Dynamic Resource Estimation and Pricing Model for IoT. In Proceedings of the 2015 IEEE 29th International Conference on Advanced Information Networking and Applications, Gwangju, Korea, 25–27 March 2015; IEEE: Gwangiu, Korea, 2015; pp. 687–694. [Google Scholar] [CrossRef]
  111. Dastjerdi, A.V.; Gupta, H.; Calheiros, R.N.; Ghosh, S.K.; Buyya, R. Fog Computing: Principles, Architectures, and Applications. In Internet of Things: Principles and Paradigms; Morgan Kaufmann: San Francisco, CA, USA, 2016; pp. 61–75. [Google Scholar]
  112. Abujubbeh, M.; Al-Turjman, F.; Fahrioglu, M. Software-Defined Wireless Sensor Networks in Smart Grids: An Overview. Sustain. Cities Soc. 2019, 51, 101754. [Google Scholar] [CrossRef]
  113. Barik, R.K.; Gudey, S.K.; Reddy, G.G.; Pant, M.; Dubey, H.; Mankodiya, K.; Kumar, V. FogGrid: Leveraging Fog Computing for Enhanced Smart Grid Network. In Proceedings of the 2017 14th IEEE India Council International Conference (INDICON), Roorkee, India, 5–17 December 2017; IEEE: Roorkee, India, 2017; pp. 1–6. [Google Scholar] [CrossRef] [Green Version]
  114. Brzoza-Woch, R.; Konieczny, M.; Kwolek, B.; Nawrocki, P.; Szydło, T.; Zieliński, K. Holistic Approach to Urgent Computing for Flood Decision Support. Procedia Comput. Sci. 2015, 51, 2387–2396. [Google Scholar] [CrossRef] [Green Version]
  115. Fog Computing: Concepts, Frameworks and Technologies; Mahmood, Z. (Ed.) Springer International Publishing: Cham, Switzerland, 2018. [Google Scholar] [CrossRef]
  116. Al-Turjman, F.; Malekloo, A. Smart Parking in IoT-Enabled Cities: A Survey. Sustain. Cities Soc. 2019, 49, 101608. [Google Scholar] [CrossRef]
  117. Dastjerdi, A.V.; Buyya, R. Fog Computing: Helping the Internet of Things Realize Its Potential. Computer 2016, 49, 112–116. [Google Scholar] [CrossRef]
  118. Gia, T.N.; Jiang, M.; Rahmani, A.-M.; Westerlund, T.; Liljeberg, P.; Tenhunen, H. Fog Computing in Healthcare Internet of Things: A Case Study on ECG Feature Extraction. In Proceedings of the 2015 IEEE International Conference on Computer and Information Technology; Ubiquitous Computing and Communications; Dependable, Autonomic and Secure Computing; Pervasive Intelligence and Computing, Liverpool, UK, 26–28 October 2015; IEEE: Liverpool, UK, 2015; pp. 356–363. [Google Scholar] [CrossRef]
  119. Stantchev, V.; Barnawi, A.; Ghulam, S.; Schubert, J.; Tamm, G. Smart Items, Fog and Cloud Computing as Enablers of Servitization in Healthcare. Sens. Transducers. 2015, 185, 121–128. [Google Scholar]
  120. Zahmatkesh, H.; Al-Turjman, F. Fog Computing for Sustainable Smart Cities in the IoT Era: Caching Techniques and Enabling Technologie—An Overview. Sustain. Cities Soc. 2020, 59, 102139. [Google Scholar] [CrossRef]
  121. Perera, C.; Qin, Y.; Estrella, J.C.; Reiff-Marganiec, S.; Vasilakos, A.V. Fog Computing for Sustainable Smart Cities: A Survey. ACM Comput. Surv. 2017, 50, 1–43. [Google Scholar] [CrossRef] [Green Version]
  122. Hajibaba, M.; Gorgin, S. A Review on Modern Distributed Computing Paradigms: Cloud Computing, Jungle Computing and Fog Computing. CIT 2014, 22, 69. [Google Scholar] [CrossRef] [Green Version]
  123. Puthal, D.; Sahoo, B.P.S.; Mishra, S.; Swain, S. Cloud Computing Features, Issues, and Challenges: A Big Picture. In Proceedings of the 2015 International Conference on Computational Intelligence and Networks, Jabalpur, India, 12–14 December 2015; IEEE: Odisha, India, 2015; pp. 116–123. [Google Scholar] [CrossRef]
  124. Varghese, B.; Buyya, R. Next Generation Cloud Computing: New Trends and Research Directions. Future Gener. Comput. Syst. 2018, 79, 849–861. [Google Scholar] [CrossRef] [Green Version]
  125. Moura, J.; Hutchison, D. Review and Analysis of Networking Challenges in Cloud Computing. J. Netw. Comput. Appl. 2016, 60, 113–129. [Google Scholar] [CrossRef] [Green Version]
  126. Abbas, Z.; Yoon, W. A Survey on Energy Conserving Mechanisms for the Internet of Things: Wireless Networking Aspects. Sensors 2015, 15, 24818–24847. [Google Scholar] [CrossRef] [Green Version]
  127. Silva, B.N.; Khan, M.; Han, K. Internet of Things: A Comprehensive Review of Enabling Technologies, Architecture, and Challenges. IETE Tech. Rev. 2018, 35, 205–220. [Google Scholar] [CrossRef]
  128. Bouzarkouna, I.; Sahnoun, M.; Sghaier, N.; Baudry, D.; Gout, C. Challenges Facing the Industrial Implementation of Fog Computing. In Proceedings of the 2018 IEEE 6th International Conference on Future Internet of Things and Cloud (FiCloud), Barcelona, Spain, 6–8 August 2018; IEEE: Barcelona, Spain, 2018; pp. 341–348. [Google Scholar] [CrossRef]
  129. Olaniyan, R.; Fadahunsi, O.; Maheswaran, M.; Zhani, M.F. Opportunistic Edge Computing: Concepts, Opportunities and Research Challenges. Future Gener. Comput. Syst. 2018, 89, 633–645. [Google Scholar] [CrossRef] [Green Version]
  130. Ullah, R.; Ahmed, S.H.; Kim, B.-S. Information-Centric Networking with Edge Computing for IoT: Research Challenges and Future Directions. IEEE Access 2018, 6, 73465–73488. [Google Scholar] [CrossRef]
  131. Nguyen, B.M.; Thi Thanh Binh, H.; The Anh, T.; Bao Son, D. Evolutionary Algorithms to Optimize Task Scheduling Problem for the IoT Based Bag-of-Tasks Application in Cloud–Fog Computing Environment. Appl. Sci. 2019, 9, 1730. [Google Scholar] [CrossRef] [Green Version]
  132. Singh, S.P.; Nayyar, A.; Kumar, R.; Sharma, A. Fog Computing: From Architecture to Edge Computing and Big Data Processing. J. Supercomput. 2019, 75, 2070–2105. [Google Scholar] [CrossRef]
  133. Singh, J.; Singh, P.; Gill, S.S. Fog Computing: A Taxonomy, Systematic Review, Current Trends and Research Challenges. J. Parallel Distrib. Comput. 2021, 157, 56–85. [Google Scholar] [CrossRef]
  134. Gill, S.S.; Buyya, R. Bio-Inspired Algorithms for Big Data Analytics: A Survey, Taxonomy, and Open Challenges. In Advances in Ubiquitous Sensing Applications for Healthcare, Big Data Analytics for Intelligent Healthcare Management; Academic Press: Cambridge, MA, USA, 2019; pp. 1–17. [Google Scholar] [CrossRef]
  135. Oussous, A.; Benjelloun, F.-Z.; Ait Lahcen, A.; Belfkih, S. Big Data Technologies: A Survey. J. King Saud Univ.—Comput. Inf. Sci. 2018, 30, 431–448. [Google Scholar] [CrossRef]
  136. Gandomi, A.; Haider, M. Beyond the Hype: Big Data Concepts, Methods, and Analytics. Int. J. Inf. Manag. 2015, 35, 137–144. [Google Scholar] [CrossRef] [Green Version]
  137. Hariri, R.H.; Fredericks, E.M.; Bowers, K.M. Uncertainty in Big Data Analytics: Survey, Opportunities, and Challenges. J. Big Data 2019, 6, 44. [Google Scholar] [CrossRef] [Green Version]
  138. Badidi, E.; Mahrez, Z.; Sabir, E. Fog Computing for Smart Cities’ Big Data Management and Analytics: A Review. Future Internet 2020, 12, 190. [Google Scholar] [CrossRef]
  139. Hussain, M.M.; Beg, M.M.S.; Alam, M.S. Fog Computing for Big Data Analytics in IoT Aided Smart Grid Networks. Wireless Pers. Commun. 2020, 114, 3395–3418. [Google Scholar] [CrossRef]
  140. Baldini, I.; Castro, P.; Chang, K.; Cheng, P.; Fink, S.; Ishakian, V.; Mitchell, N.; Muthusamy, V.; Rabbah, R.; Slominski, A.; et al. Serverless Computing: Current Trends and Open Problems. In Research Advances in Cloud Computing; Chaudhary, S., Somani, G., Buyya, R., Eds.; Springer: Singapore, 2017; pp. 1–20. [Google Scholar] [CrossRef] [Green Version]
  141. McGrath, G.; Brenner, P.R. Serverless Computing: Design, Implementation, and Performance. In Proceedings of the 2017 IEEE 37th International Conference on Distributed Computing Systems Workshops (ICDCSW), Atlanta, GA, USA, 5–8 June 2017; IEEE: Atlanta, GA, USA, 2017; pp. 405–410. [Google Scholar] [CrossRef]
  142. Fox, G.C.; Ishakian, V.; Muthusamy, V.; Slominski, A. Status of Serverless Computing and Function-as-a-Service (FaaS) in Industry and Research. arXiv Preprint 2017, arXiv:1708.08028. [Google Scholar]
  143. Aslanpour, M.S.; Toosi, A.N.; Cicconetti, C.; Javadi, B.; Sbarski, P.; Taibi, D.; Assuncao, M.; Gill, S.S.; Gaire, R.; Dustdar, S. Serverless Edge Computing: Vision and Challenges. In Proceedings of the 2021 Australasian Computer Science Week Multiconference, Dunedin, New Zealand, 1–5 February 2021; ACM: Dunedin, New Zealand, 2021; pp. 1–10. [Google Scholar] [CrossRef]
  144. Bouraga, S. A Taxonomy of Blockchain Consensus Protocols: A Survey and Classification Framework. Expert Syst. Appl. 2021, 168, 114384. [Google Scholar] [CrossRef]
  145. Mamdiwar, S.D.; R, A.; Shakruwala, Z.; Chadha, U.; Srinivasan, K.; Chang, C.-Y. Recent Advances on IoT-Assisted Wearable Sensor Systems for Healthcare Monitoring. Biosensors 2021, 11, 372. [Google Scholar] [CrossRef] [PubMed]
  146. Ankenbrand, T.; Bieri, D.; Cortivo, R.; Hoehener, J.; Hardjono, T. Proposal for a Comprehensive (Crypto) Asset Taxonomy. In Proceedings of the 2020 Crypto Valley Conference on Blockchain Technology (CVCBT), Rotkreuz, Switzerland, 11–12 June 2020; IEEE: Rotkreuz, Switzerland, 2020; pp. 16–26. [Google Scholar] [CrossRef]
  147. Gill, S.S. Quantum and blockchain based Serverless edge computing: A vision, model, new trends and future directions. Internet Technol. Lett. 2021, e275. [Google Scholar] [CrossRef]
  148. Gill, S.S.; Kumar, A.; Singh, H.; Singh, M.; Kaur, K.; Usman, M.; Buyya, R. Quantum Computing: A Taxonomy, Systematic Review and Future Directions. Softw: Pract. Exper. 2022, 52, 66–114. [Google Scholar] [CrossRef]
  149. Gill, S.S. A Manifesto for Modern Fog and Edge Computing: Vision, New Paradigms, Opportunities, and Future Directions. In Operationalizing Multi-Cloud Environments; Nagarajan, R., Raj, P., Thirunavukarasu, R., Eds.; EAI/Springer Innovations in Communication and Computing; Springer International Publishing: Cham, Switzerland, 2022; pp. 237–253. [Google Scholar] [CrossRef]
  150. Liu, W.; Chen, J.; Wang, Y.; Gao, P.; Lei, Z.; Ma, X. Quantum-Based Feature Selection for Multiclassification Problem in Complex Systems with Edge Computing. Complexity 2020, 2020, 8216874. [Google Scholar] [CrossRef]
  151. Kreutz, D.; Ramos, F.M.V.; Esteves Verissimo, P.; Esteve Rothenberg, C.; Azodolmolky, S.; Uhlig, S. Software-Defined Networking: A Comprehensive Survey. Proc. IEEE 2015, 103, 14–76. [Google Scholar] [CrossRef] [Green Version]
  152. Duan, Y.; Li, W.; Fu, X.; Luo, Y.; Yang, L. A Methodology for Reliability of WSN Based on Software Defined Network in Adaptive Industrial Environment. IEEE/CAA J. Autom. Sinica 2018, 5, 74–82. [Google Scholar] [CrossRef]
  153. Rafique, W.; Qi, L.; Yaqoob, I.; Imran, M.; Rasool, R.U.; Dou, W. Complementing IoT Services through Software Defined Networking and Edge Computing: A Comprehensive Survey. IEEE Commun. Surv. Tutorials 2020, 22, 1761–1804. [Google Scholar] [CrossRef]
  154. Deng, S.; Zhao, H.; Fang, W.; Yin, J.; Dustdar, S.; Zomaya, A.Y. Edge Intelligence: The Confluence of Edge Computing and Artificial Intelligence. IEEE Internet Things J. 2020, 7, 7457–7469. [Google Scholar] [CrossRef] [Green Version]
  155. Zou, Z.; Nevalainen, P.; Huan, Y.; Heikkonen, J.; Westerlund, T. Edge and Fog Computing Enabled AI for IoT—An Overview. In Proceedings of the 2019 IEEE International Conference on Artificial Intelligence Circuits and Systems (AICAS), Hsinchu, Taiwan, 18–20 March 2019; IEEE: Hsinchu, Taiwan, 2019. [Google Scholar]
  156. Huh, J.-H.; Seo, Y.-S. Understanding Edge Computing: Engineering Evolution with Artificial Intelligence. IEEE Access 2019, 7, 164229–164245. [Google Scholar] [CrossRef]
  157. Murugesan, S. Harnessing Green IT: Principles and Practices. Green Comput. 2008, 10, 24–33. [Google Scholar] [CrossRef]
  158. Anand, P.; Singh, Y.; Selwal, A.; Alazab, M.; Tanwar, S.; Kumar, N. IoT Vulnerability Assessment for Sustainable Computing: Threats, Current Solutions, and Open Challenges. IEEE Access 2020, 8, 168825–168853. [Google Scholar] [CrossRef]
  159. Lopez, O.L.A.; Alves, H.; Souza, R.D.; Montejo-Sanchez, S.; Fernandez, E.M.G.; Latva-Aho, M. Massive Wireless Energy Transfer: Enabling Sustainable IoT Toward 6G Era. IEEE Internet Things J. 2021, 8, 8816–8835. [Google Scholar] [CrossRef]
  160. Kumari, A.; Gupta, R.; Tanwar, S.; Kumar, N. Blockchain and AI Amalgamation for Energy Cloud Management: Challenges, Solutions, and Future Directions. J. Parallel Distrib. Comput. 2020, 143, 148–166. [Google Scholar] [CrossRef]
  161. Khairy, S.; Han, M.; Cai, L.X.; Cheng, Y. Sustainable Wireless IoT Networks with RF Energy Charging over Wi-Fi (CoWiFi). IEEE Internet Things J. 2019, 6, 10205–10218. [Google Scholar] [CrossRef]
  162. Banerjee, U.; Juvekar, C.; Fuller, S.H.; Chandrakasan, A.P. EeDTLS: Energy-Efficient Datagram Transport Layer Security for the Internet of Things. In Proceedings of the GLOBECOM 2017—2017 IEEE Global Communications Conference, Singapore, 4–8 December 2017; IEEE: Singapore, 2017; pp. 1–6. [Google Scholar] [CrossRef] [Green Version]
  163. Ram, S.K.; Sahoo, S.R.; Das, B.B.; Mahapatra, K.; Mohanty, S.P. Eternal-Thing: A Secure Aging-Aware Solar-Energy Harvester Thing for Sustainable IoT. IEEE Trans. Sustain. Comput. 2021, 6, 320–333. [Google Scholar] [CrossRef]
  164. Makhdoom, I.; Abolhasan, M.; Lipman, J.; Liu, R.P.; Ni, W. Anatomy of Threats to the Internet of Things. IEEE Commun. Surv. Tutor. 2019, 21, 1636–1675. [Google Scholar] [CrossRef]
  165. Dhanda, S.S.; Singh, B.; Jindal, P. Lightweight Cryptography: A Solution to Secure IoT. Wireless Pers. Commun. 2020, 112, 1947–1980. [Google Scholar] [CrossRef]
  166. Samie, F.; Bauer, L.; Henkel, J. From Cloud down to Things: An Overview of Machine Learning in Internet of Things. IEEE Internet Things J. 2019, 6, 4921–4934. [Google Scholar] [CrossRef]
  167. Samann, F.E.F.; Abdulazeez, A.M.; Askar, S. Fog Computing Based on Machine Learning: A Review. Int. J. Interact. Mob. Technol. 2021, 15, 21. [Google Scholar] [CrossRef]
  168. Hurbungs, V.; Bassoo, V.; Fowdur, T.P. Fog and Edge Computing: Concepts, Tools and Focus Areas. Int. J. Inf. Tecnol. 2021, 13, 511–522. [Google Scholar] [CrossRef]
  169. Losavio, M. Fog Computing, Edge Computing and a Return to Privacy and Personal Autonomy. Proc. Comp. Sci. 2020, 171, 1750–1759. [Google Scholar] [CrossRef]
  170. Wang, M.; Cui, Y.; Wang, X.; Xiao, S.; Jiang, J. Machine Learning for Networking: Workflow, Advances and Opportunities. IEEE Netw. 2018, 32, 92–99. [Google Scholar] [CrossRef] [Green Version]
  171. Laghari, A.A.; Jumani, A.K.; Laghari, R.A. Review and State of Art of Fog Computing. Arch. Computat. Methods Eng. 2021, 28, 3631–3643. [Google Scholar] [CrossRef]
  172. Hegarty, R.; Taylor, M. Digital Evidence in Fog Computing Systems. Comp. Law Secur. Rev. 2021, 41, 105576. [Google Scholar] [CrossRef]
  173. Mehta, S.; Singh, A.; Singh, K.K. Role of Machine Learning in Resource Allocation of Fog Computing. In Proceedings of the 2021 11th International Conference on Cloud Computing, Data Science & Engineering (Confluence), Noida, India, 28–29 January 2021; IEEE: Noida, India, 2021; pp. 262–266. [Google Scholar] [CrossRef]
  174. Suryadevara, N.K. Energy and Latency Reductions at the Fog Gateway Using a Machine Learning Classifier. Sustain. Comput. Inform. Syst. 2021, 31, 100582. [Google Scholar] [CrossRef]
  175. Cui, L.; Yang, S.; Chen, F.; Ming, Z.; Lu, N.; Qin, J. A Survey on Application of Machine Learning for Internet of Things. Int. J. Mach. Learn. Cyber. 2018, 9, 1399–1417. [Google Scholar] [CrossRef]
  176. Adi, E.; Anwar, A.; Baig, Z.; Zeadally, S. Machine Learning and Data Analytics for the IoT. Neural. Comp. Applic. 2020, 32, 16205–16233. [Google Scholar] [CrossRef]
  177. Ayoubi, S.; Limam, N.; Salahuddin, M.A.; Shahriar, N.; Boutaba, R.; Estrada-Solano, F.; Caicedo, O.M. Machine Learning for Cognitive Network Management. IEEE Commun. Mag. 2018, 56, 158–165. [Google Scholar] [CrossRef]
  178. Fadlullah, Z.M.; Tang, F.; Mao, B.; Kato, N.; Akashi, O.; Inoue, T.; Mizutani, K. State-of-the-Art Deep Learning: Evolving Machine Intelligence toward Tomorrow’s Intelligent Network Traffic Control Systems. IEEE Commun. Surv. Tutor. 2017, 19, 2432–2455. [Google Scholar] [CrossRef]
  179. Hammerschmidt, C.A.; Garcia, S.; Verwer, S.; State, R. Reliable Machine Learning for Networking: Key Issues and Approaches. In Proceedings of the 2017 IEEE 42nd Conference on Local Computer Networks (LCN), Singapore, 9–12 October 2017; IEEE: Singapore, 2017; pp. 167–170. [Google Scholar] [CrossRef]
  180. Casas, P.; Vanerio, J.; Fukuda, K. GML Learning, a Generic Machine Learning Model for Network Measurements Analysis. In Proceedings of the 2017 13th International Conference on Network and Service Management (CNSM), Tokyo, Japan, 26–30 November 2017; IEEE: Tokyo, Japan, 2017; pp. 1–9. [Google Scholar] [CrossRef]
  181. Sobecki, A.; Szymański, J.; Gil, D.; Mora, H. Deep Learning in the Fog. Int. J. Distrib. Sens. Netw. 2019, 15, 155014771986707. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Organization of this survey paper.
Figure 1. Organization of this survey paper.
Sensors 22 00196 g001
Figure 2. PRISMA flow diagram for the selection process of the research articles used in this review.
Figure 2. PRISMA flow diagram for the selection process of the research articles used in this review.
Sensors 22 00196 g002
Figure 3. Number and year of publications studied in this review.
Figure 3. Number and year of publications studied in this review.
Sensors 22 00196 g003
Figure 4. Common cloud service models and their classifications.
Figure 4. Common cloud service models and their classifications.
Sensors 22 00196 g004
Figure 5. Multi-access edge computing systems—a general architecture.
Figure 5. Multi-access edge computing systems—a general architecture.
Sensors 22 00196 g005
Figure 6. Mobile device–cloudlet–cloud model.
Figure 6. Mobile device–cloudlet–cloud model.
Sensors 22 00196 g006
Figure 7. Fog computing and its related computing paradigms.
Figure 7. Fog computing and its related computing paradigms.
Sensors 22 00196 g007
Figure 8. Typical cloud–fog computing architecture.
Figure 8. Typical cloud–fog computing architecture.
Sensors 22 00196 g008
Figure 9. N-tier architecture.
Figure 9. N-tier architecture.
Sensors 22 00196 g009
Figure 10. Typical fog computing architectural layers.
Figure 10. Typical fog computing architectural layers.
Sensors 22 00196 g010
Figure 11. Applications of fog computing.
Figure 11. Applications of fog computing.
Sensors 22 00196 g011
Figure 12. Cloud, fog, and edge computing alliance.
Figure 12. Cloud, fog, and edge computing alliance.
Sensors 22 00196 g012
Figure 13. Fog computing—open challenges.
Figure 13. Fog computing—open challenges.
Sensors 22 00196 g013
Figure 14. Future opportunities—fog computing and other evolving computing paradigms.
Figure 14. Future opportunities—fog computing and other evolving computing paradigms.
Sensors 22 00196 g014
Table 1. List of acronyms used in the manuscript and their expansion.
Table 1. List of acronyms used in the manuscript and their expansion.
AcronymFull Form
AIArtificial Intelligence
ARAugmented Reality
CoTCloud of Things
CCCloud Computing
CCTVClosed-Circuit Television
CPUCentral Processing Unit
CRCloud Robotics
DDoSDistributed Denial of Service
DLDeep Learning
ECEdge Computing
ETSIEuropean Telecommunications Standard Institute
FaaSFunction-as-a-Service
FCFog Computing
IaaSInfrastructure-as-a-Service
ICTInformation and Communications Technology
IDCInternational Data Corporation
IoTInternet-of-Things
ITInformation Technology
ITSIntelligent Transport System
ITUInternational Telecommunication Union
MACCMobile Ad hoc Cloud Computing
MECMulti-access Edge Computing
MCMobile Computing
MCCMobile Cloud Computing
MDCMicro Data Center
mistMist Computing
MLMachine Learning
MMAMan-in-the-Middle Attack
MITMassachusetts Institute of Technology
NISTNational Institute of Standards and Technology
OPOperational Technology
PaaSPlatform-as-a-Service
PRISMAPreferred Reporting Items for Systematic Reviews and Meta-Analyses
QoEQuality of Experience
QoSQuality of Service
RANRadio Access Network
RASReliability Availability Serviceability
SaaSSoftware-as-a-Service
SDNSoftware-Defined Networking
SLAService-Level Agreement
VMVirtual Machine
VRVirtual Reality
WSNWireless Sensor Network
Table 2. Review/survey papers and their contributions.
Table 2. Review/survey papers and their contributions.
Author and YearArticles
Referenced
Time SpanSystematic StudySurvey/Review OutlineComputing
Paradigms
Future Directions
Cloud
Computing
Fog
Computing
Edge
Computing
Atzori et al. [14], 20161191999

2016
×The survey examines the prospect of Internet-of-Things from the evolutionary perspective, the role of IoT in modern society and ensuing challenges.××
Hu et al. [15], 20171232001

2017
×The review presents fog computing features, architecture, compares with other computing paradigms, and summarizes key technologies that aid in application and deployment.
Mahmud et al. [16], 2017472012

2016
×The work presents a taxonomy from a comprehensive analysis of fog features and challenges pertaining to the structure, service, and security and identifies research gaps.
Lin et al. [17], 20171672001

2017
×The article offers a comprehensive overview of state-of-the-art IoT-enabling technologies, system architecture, privacy, security issues, and concerns of IoT and fog/edge computing integration during real-world deployment.×
Mao et al. [18], 20172422003

2017
×An exhaustive outline of state-of-the-art MEC from a communication viewpoint, resource management, comparison with MCC is presented.×
Naha et al. [19], 20181422001

2018
×The survey article presents fog computing overview, architecture, related technologies, taxonomy by analyzing fog requirement and reviewing challenges, research issues, and trends.
Mouradian et al. [20], 20181682006

2017
An exhaustive survey is tendered on fog computing architectures, algorithms, affiliated concepts, and their dissimilarities; additionally, challenges and research directions were discussed.××
Mukherjee et al. [21], 20182251997

2017
×The survey extends an overview of fog computing basics, architecture and highlights the approach for service and allocation of resources to overcome latency, bandwidth, and energy consumption.××
Elazhary [22], 20184121991

2018
×The exhaustive review researches arenas such as IoT, cloud computing, mobile computing, and related
concepts and attempts to disambiguate emerging paradigms as well as technologies.
Atlam et al. [23], 2018632012

2017
×This work reviews fog computing state-of-the-art, including fog features, architecture, and merits, and insists on fog being an IoT enabler.××
Bangui et al. [24], 20181142012

2018
×The review outlines edge computing technology and the challenges and concerns that accompany
Distributed environments while shifting services from cloud’s centralized to edge’s decentralized platforms.
×
Yousefpour et al. [2], 20194502001

2018
×A comprehensive survey is furnished that emphasizes fog computing, associated computing
paradigms, and presents a taxonomy of research subjects, underlying challenges, and future leanings of fog.
Abdulkareem et al. [25], 2019952011

2019
×This review highlights recent advancements of ML techniques related to the accuracy, resource management and security of fog computing and its role in edge computing.×
Donno et al. [9], 2019712004

2019
×The review article offers clarification for beginners into research on cloud computing, edge computing, and fog computing by illustrating features and architecture of each paradigm and concludes by stating fog computing’s relevance as fog binds cloud, edge computing, and IoT together.
Khan et al. [26], 20191012009

2019
×The study focuses on cloud and state-of-the-art edge computing concepts, critical requirements, limitations and identified unaddressed issues.
Cao et al. [27], 2020622005

2020
×The article reviews research related to edge
computing, summarizes key concepts, technologies, architecture, privacy, and security.
×
Habibi et al. [28], 20201912002

2019
×The survey covers existing computing paradigms and emphasizes fog computing research areas by presenting a taxonomy and analyses from fog’s architectural viewpoint.
Moura et al. [29], 20201941999

2020
×This work surveys state-of-the-art fog computing systems, offers insights into designing and managing resilient fog systems and illustrates research issues and upcoming future trends.××
Aslanpour et al. [30], 2020502010

2020
×The study offers a taxonomy of real-world
performance metrics to assess the computing paradigms of cloud, fog, and edge.
Alli et al. [31], 20201022009

2020
×The article delves into the ecosystems of IoT–fog–cloud, analyzing concepts, architecture, standards, tools of fog Cloud-of-Things, and presents a taxonomy on emerging issues. It concludes that ML and AI in fog ecosystems would be appropriate for latency-sensitive and resource-constrained systems.
(✓: Yes, ×: No).
Table 3. Comparison of fog, edge and cloud computing characteristics.
Table 3. Comparison of fog, edge and cloud computing characteristics.
CharacteristicFogEdgeCloud
OperatorsUsers and cloud providerLocal enterprise or network infrastructure providersCloud provider
Participating NodesFog devices (switches,
routers, access points, etc.) and IoT devices
Edge devicesFewer nodes spanning cloud to IoT devices
Service TypeLess globalLocalGlobal
ManagementDistributed/centralizedLocal business and service providerCentralized
HardwareDevices with virtualization facility (access points, routers, switches, servers)Edge devices with compute capacityMassive data centers and equipment with virtualization potential
Computation DeviceAny device capable of
computation, networking, and storage
Edge devicesPowerful cloud servers
Available Computing
Resources
ModerateModerateHigh
Nature of FailureHighly diverseHighly diversePredictable
Main DriverAcademia/ IndustryAcademia/industryAcademia/industry
User Connectivity Mostly wirelessMostly wirelessHigh speed (Both wired and wireless)
Distance from UsersRelatively closeCloseFar
Internal ConnectivityOperate autonomously with intermittent or no internet connectivityOperate autonomously with intermittent or no internet connectivityRequires internet connectivity throughout service duration
Main
Standardization
Entity
OpenFog Consortium, IEEE -National Institute of Standards and Technology (NIST), Cloud Security Alliance (CSA), Distributed Management Task Force (DMFT), Open Commons Consortium (OCC), Global Inter-Cloud Technology Forum (GICTF)
Power SourceBattery/green energy/
direct power
Battery/green energy/direct powerDirect power
Power ConsumptionLowLowHigh
Application TypeHigh computation with lower latencyLow latency computationAmple computation
ArchitectureDecentralized/hierarchicalLocalized/distributedCentralized/hierarchical
Computation CapacityModerateModerateHigh
Storage CapacityLimitedLimitedMassive storage capacity
AvailabilityHighAverageHigh
LatencyLowLowRelatively high
Node mobilityHighHighVery low
Security/VulnerabilityMust be provided on
participant nodes
Must be provided on edge devicesMust be provided along Cloud-to-Things continuum
Server LocationCan be deployed at edge or dedicated locationsNear edge devicesStationed in huge
dedicated buildings
Number of
Intermediate Hops
One/fewOneMultiple
Hardware
Connectivity
WAN, LAN, WLAN, Wi-Fi, cellularWAN, LAN, WLAN, Wi-Fi___33, cellular, ZigBeeWAN
Application Handling—real-timeAchievableAchievableDifficult owing to
increased latency
Service AccessThrough connected devices from the edge to the coreAt the edge of the internetThrough core
Computation CostLowLowHigh
Cooling CostVery lowVery lowHigh
Deployment SpaceLessLessMassive
Delay CostLessLessMore
Table 4. Fog, edge, and cloud computing functionalities.
Table 4. Fog, edge, and cloud computing functionalities.
FeatureFogEdgeCloud
Heterogeneity supportYesYesYes
Connection to cloudYesYes or NoYes
Infrastructure needYesYesYes
Geographically distributedYesYesNo
Virtualization technologyYesNoYes
Location awarenessYesYesNo
Ultra-low latencyYesYesNo
ScalabilityYesYesYes
Mobility supportYesYesNo
Application support—real-timeYesYesNo
Application support—large-scaleYesYesYes
StandardizedYesYesYes
Multiple IoT applicationsYesNoYes
Data persistenceYesNoYes
Computation migrationYesNoNo
Conserving energyYesYesNo
Table 5. Open challenges and future research directions—summary.
Table 5. Open challenges and future research directions—summary.
Open IssueLimitations
Prevalent
Potential Solutions or
Research Prospect
Related
Specifics
Impact
Standardization of fog
computing
Several fog definitions and related concepts are being proposed.Formulate fog definition that can be universally accepted.FoundationStandards and Definition
ScalabilityMajor fog system schemes in practice fail to scale IoT vastitude.Design algorithms and procedures that ensure scalability. ScalabilityPlacement; Service Provisioning; Scheduling; Load Balancing;
Offloading
Bandwidth-aware systemAlthough reducing bandwidth usage is key, fewer fog computing regard conserving bandwidth through fog systems.Deliberate on saving bandwidth through fog systems and measure bandwidth usage under fog systems.BandwidthTestbeds and Experiments; Control and Monitoring; Infrastructure Design
SLA for fog
system
SLAs for cloud system are defined, but SLAs for fog systems are not defined.Devise new SLA compatible for fog computing systems that supports multi-vendors. Cost, QoSFog Infrastructure; Control and Monitoring
MobilityMajor existing work considers fixed fog nodes and mobile IoT devices. Propose fog systems with mobile fog nodes and design suitable task offloading and scheduling plans ensuring availability to IoT nodes.Mobility, ManagementConcepts and Framework; Security and Privacy; Scheduling, Load Balancing and Offloading
Fog node site
selection
The issue of site selection for fog node is highlighted by limited studies.
The placing of fog servers at appropriate positions is crucial to offer maximum service. Analysis of demand and workload of a specific node prior to placement minimizes maintenance cost.
Devise site selection policies for fog nodes, addressing computation, communication, storage, and cost.QoS, Cost, RASResource Analysis and Estimation; Infrastructure Design
SDN supportFog computing does not provide native support to SDN.Improving and standardizing SDN for fog systems.ProgrammabilitySoftware and Tools; Definition and Standards
Resource
Monitoring
Fog resource monitoring is addressed by very few studies.Formulate procedures that monitor resources of fog systems involving multi-operators.Management, ProgrammabilitySoftware and Tools; Control and Monitoring
High-speed user supportExisting communication protocols do not assist high-speed users.Develop protocols supporting high-speed users and mobility-predicting algorithms based on machine learning.MobilityArchitecture and Framework
FederationFederation schemes or application for fog is unavailable.Formulate new fog node federation strategy operating across diverse domains.Programmability, ManagementSoftware and Tools
Fog node
security
The fog nodes positioned at proximity of end user incites security challenge. Configure secure fog nodes with robust access control policies that handle site attacks and secure hardware design to withstand physical damage. Security, Device HeterogeneitySecurity and Privacy; Hardware Design
Trust and
authentication
Heterogeneous IoT nodes and fog nodes make the traditional authentication and trust strategies inept. The providers of fog service may be internet service provider, cloud vendor, or end-users, which jeopardizes the trust in fog.Design of novel trust and authentication structure for user, service, and nodes is needful.Heterogeneity, SecuritySecurity and Privacy; Definition and Standards
Security for fog offloadingFog node task offloading may lead to security and privacy concern.Devise secure offloading technique and integrity, correctness checking scheme for task offloaded.Security, QoSOffloading, Security, and Privacy
PrivacyWith various networks involved and fog operating predominantly on wireless technology, privacy issues arise. The end user can access numerous fog nodes which involves sensitive data. Maintaining the privacy of sensitive personal data is vital.PrivacyPrivacy and Security
FlexibilityFault or failure at network is not regarded by existing fog networks, with fog nodes being more prone to DoS attacks due to limited resources.Regard fault prevention, detection, and recovery in fog networks and design DoS-resilient fog system.SecuritySecurity and Privacy; Infrastructure Design; Control and Monitoring
Green fog computingEnhancing energy efficiency of overall fog system has to be deliberate.Utilize battery storages and energy harvesting for IoT sensors and devices and place fog nodes near renewable energy sources.EnergyResource analysis, Estimation; Infrastructure Design
Energy consumptionWith huge number of fog nodes, energy consumed is large. The energy demand of fog nodes should be reduced to mitigate cost and energy.Device resource provisioning strategy that is energy efficient, while being aware of fog node positions.EnergyResource Analysis, Estimation; Infrastructure Design
Multi-objective designMany existent schemes reckon certain objectives and overlook other objectives.Propound schemes that regard multiple objectives concurrently (task offload strategy that deems availability, bandwidth, energy, and security).QoSScheduling, Load Balancing, and Offloading; Resource Analysis and Estimation; Testbeds and Experiments
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Angel, N.A.; Ravindran, D.; Vincent, P.M.D.R.; Srinivasan, K.; Hu, Y.-C. Recent Advances in Evolving Computing Paradigms: Cloud, Edge, and Fog Technologies. Sensors 2022, 22, 196. https://doi.org/10.3390/s22010196

AMA Style

Angel NA, Ravindran D, Vincent PMDR, Srinivasan K, Hu Y-C. Recent Advances in Evolving Computing Paradigms: Cloud, Edge, and Fog Technologies. Sensors. 2022; 22(1):196. https://doi.org/10.3390/s22010196

Chicago/Turabian Style

Angel, Nancy A, Dakshanamoorthy Ravindran, P M Durai Raj Vincent, Kathiravan Srinivasan, and Yuh-Chung Hu. 2022. "Recent Advances in Evolving Computing Paradigms: Cloud, Edge, and Fog Technologies" Sensors 22, no. 1: 196. https://doi.org/10.3390/s22010196

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop