Next Article in Journal
PPK-Means: Achieving Privacy-Preserving Clustering Over Encrypted Multi-Dimensional Cloud Data
Next Article in Special Issue
Simulation Model for Blockchain Systems Using Queuing Theory
Previous Article in Journal
Moving Learning Machine towards Fast Real-Time Applications: A High-Speed FPGA-Based Implementation of the OS-ELM Training Algorithm
Previous Article in Special Issue
Access Adaptive and Thread-Aware Cache Partitioning in Multicore Systems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Review

Moving to the Edge-Cloud-of-Things: Recent Advances and Future Research Directions

1
Institute of Computer Science, Masaryk University, 602 00 Brno, Czech Republic
2
Faculty of Informatics, Masaryk University, 602 00 Brno, Czech Republic
3
Applied Mathematics and Computer Science Laboratory, Cadi Ayyad University of Marrakech, 40000 Marrakesh, Morocco
*
Author to whom correspondence should be addressed.
Electronics 2018, 7(11), 309; https://doi.org/10.3390/electronics7110309
Submission received: 4 October 2018 / Revised: 19 October 2018 / Accepted: 29 October 2018 / Published: 8 November 2018
(This article belongs to the Special Issue Distributed Computing and Storage)

Abstract

:
Cloud computing has significantly enhanced the growth of the Internet of Things (IoT) by ensuring and supporting the Quality of Service (QoS) of IoT applications. However, cloud services are still far from IoT devices. Notably, the transmission of IoT data experiences network issues, such as high latency. In this case, the cloud platforms cannot satisfy the IoT applications that require real-time response. Yet, the location of cloud services is one of the challenges encountered in the evolution of the IoT paradigm. Recently, edge cloud computing has been proposed to bring cloud services closer to the IoT end-users, becoming a promising paradigm whose pitfalls and challenges are not yet well understood. This paper aims at presenting the leading-edge computing concerning the movement of services from centralized cloud platforms to decentralized platforms, and examines the issues and challenges introduced by these highly distributed environments, to support engineers and researchers who might benefit from this transition.

1. Introduction

The Internet of Things (IoT) has pervaded our daily life by making things interconnected through the Internet smarter, distributed and more autonomous. Consequently, the development of IoT applications has gained attention from various domains [1]. For example, IoT technologies offer extraordinary opportunities to interconnect public transport systems, where sensors are integrated to enable transportation things (i.e., cars and traffic lights) to communicate with each other and build an intelligent transportation system. Furthermore, the shared information is used to obtain statistical data on traffic, relating to aspects such as vehicle monitoring, vehicle maintenance, traffic managing systems for autonomous vehicles, or vehicle parking managers. Also, the available IoT data is exploited to study the behavior of drivers, for instance, to prevent drink-driving accidents, or ensure pedestrian-safe smart crossing systems. Therefore, the integration of IoT technologies in the transportation domain has facilitated the lifestyle of drivers. Thus, the IoT paradigm has improved many aspects of our lives by providing many opportunities to develop smart solutions with more intelligent and prediction-oriented capabilities.
Several technologies are used to ensure the proper functioning of IoT devices [2], such as cloud computing that provides many benefits to IoT devices, including high-performance computing, storage infrastructure, and processing and analysis of IoT data in real-time based on the current context of IoT sensors. As a result, cloud computing is considered as a revolutionary paradigm that enables IoT devices to be robust, smart and self-configuring. Simultaneously, cloud providers take the benefits of the evolutional growth of IoT devices by building further services for IoT applications that can facilitate the communication between IoT objects that are interconnected and controlled through the cloud infrastructure. As a result, a new paradigm called Cloud-of-Things (CoT) has appeared to describe this fusion between cloud computing and IoT technologies [3].
Over time, computing is a service that has become an integral part of all major areas of human life, such as healthcare, commerce, education, agriculture, or smart cities. Before the appearance of the cloud paradigm, computing services first led to centralized servers before progressing towards distributed computing. Subsequently, computing services have been optimized by backing the centralized model with the cloud paradigm that allows users to consume unlimited services in any place and at any time based on a pay-as-you-go concept. Accordingly, cloud computing has played a major role in supporting ubiquitous IoT applications. However, there is a powerful concept that imposes restrictions on the distributed environment, which is edge computing. In fact, cloud technologies face some accessibility challenges when providing services to end-users. For example, mobile clients can move among different places, yet require cloud services with minimum cost and short response time. In this context, however, new obstacles, such as the unstable connection between cloud nodes and mobile devices that could prevent cloud providers from achieving optimal performance scores, are created and need to be faced.
To explore how well edge computing has been accepted by the scientific community, we collected 16 surveys published between 2015 and 2018 that focus on formally describing the edge paradigm and its related advantages, challenges, and issues. After reviewing the content of the papers, we selected the main observation within each survey and its related primary theme (such as security). Then, we classified the collected keywords in Table 1. Accordingly, we found that the surveys present an exhaustive state-of-the-art overview that focuses on discussing the big research directions in resource management (75%), security paradigms (68%), algorithmic aspects (44%), and network technologies (50%) in the context of edge computing. The review also shows that the edge paradigm is still in its early stages and the scientific community needs more time to understand how to use its benefits (such as resource allocation) to offer feasible services for end-user clients [4]. Moreover, the surveys (Table 1) only focus on the advantages of edge computing without addressing emerging challenges, such as the choice of the best strategies that IoT users should follow to obtain best fitting services. Notably, there are three selection service options offered to the end-users: pure cloud services (the edge service is a middle layer between the cloud and the end user); edge services (extenders of classical cloud services); and, coordinated fog-to-cloud services (a collaborative model to facilitate matching between cloud and fog services).
In this work, we cover unaddressed problems and remaining challenges for the reviewed issues, and discuss new ways to deal with these. We conduct a comprehensive passage from the center to the edge to describe how the consumption of services has changed as a result of this new era of computing, and the emerging challenges related to the Edge-Cloud-of-Things paradigm. Furthermore, we explain how this paradigm is likely to support the progress of IoT applications. The contributions of this study can be summarized as follows:
  • Present Cloud, Edge and IoT concepts in a comprehensive way for readers from different areas.
  • Highlight the advancement of the Edge-Cloud-of-Things paradigm and its support to the current innovation in various domains (i.e., healthcare).
  • Provide a summary of the most common technologies related to Edge Computing.
  • Conduct a case study to demonstrate the examination of the impact of location based IoT services in Edge environment.
  • Discuss the most recent issues and future trends that need to be addressed for the development of sustainable IoT applications and services under the Edge-Cloud-of-Things paradigm.
This paper is structured as follows. Section 2 provides a brief overview of edge technologies and the benefits of their integration with IoT paradigms. Section 3 provides an understanding of edge infrastructures with some related projects and previously established studies. Section 4 points out the effects of edge technologies on IoT applications and centralized cloud services. Section 5 conducts a case study to demonstrate one of the key challenges identified during literature review. Finally, Section 6 summarizes further challenges that we might expect to face along the advancement of edge technologies, and Section 7 concludes the paper.

2. Review of Edge Paradigms

In this section, we present an overview of current paradigms within the domain of edge computing.

2.1. Fog Computing

Edge computing covers a wide range of specializations, such as fog computing [17] and mobile edge computing [21]. Furthermore, as these technologies are closely associated with IoT applications, the satisfaction of the end-clients is achieved. For example, the fog is a decentralized computing paradigm that extends cloud services closer to IoT devices by acting as an intermediate layer between the traditional cloud and IoT end-users. However, mobile edge computing focuses more than fogging on solving the delay-sensitive and context-aware applications for the proximity of mobile subscribers by dealing with the characteristics of wireless networks (e.g., base stations), while running cloud computing capabilities at the edge of the network. That means the distance is an essential parameter in edge computing. On the other hand, in 2017, Nist [22] defined fog computing as follows: “Fog computing is a horizontal, physical or virtual resource paradigm that resides between smart end-devices and traditional cloud or data centers. This paradigm supports vertically-isolated, latency-sensitive applications by providing ubiquitous, scalable, layered, federated, and distributed computing, storage, and network connectivity”. Moreover, according to Nist [22], fog computing is not a synonym of edge computing, but it is a part of the edge.

2.2. Cloudlet

Under the branches of the edge computing, several technologies have included the concept of mobile cloud computing [23], which involves delegating or offloading mobile tasks remotely to the centralized cloud platforms. Cloudlet (also called micro-cloud) [24] is one of the decentralized architectures that have been proposed to augment the computation capabilities of IoT devices (notably, mobile devices) by reducing communication delay, saving energy, and providing software instantiated in real-time on nearby computing resources. The micro-cloud is deployed in public places, such as coffee shops, and immediately offers customized services to the local clients using virtual machine technologies. On the other hand, cloudlet could act as a middle layer, located between the centralized cloud platforms and the IoT applications. As a result, cloudlet facilitates the management of requests and returns the responses to the end-clients in real-time. MobiScud [25] is an example of a network architecture inspired by the cloudlet model to integrate cloud services into mobile networks. Despite the success of cloudlet platforms in solving communication delay, the mobility of users remains the biggest challenge faced by cloudlets. For this reason, mobile cloudlet platforms [26] have been suggested to enable clients to access services from any mobile device, such as smartphones and mounted computers on trams or metros. Thus, mobile cloudlets could further minimize the application response time and reduce the energy consumption and cost of network resource usage by moving among different sites and delivering direct services to other users within their proximity.

2.3. Ad-Hoc Clouds

Ad-hoc cloud computing is a revolutionary paradigm concerning the delivery of computing services over the network, with the benefits of efficient cloud resource utilization and improved manageability. The idea of building a sophisticated ad-hoc cloud computing environment has been discussed in [27] to facilitate distributed collaboration. Similarly, in [28], the authors proposed a simple, robust, efficient, scalable, and heterogeneous multi-tenant database architecture for the ad-hoc cloud to allow various organizations to collaborate and create a common cloud platform without harming their existence or profitability. Likewise, in [29], the advantages of the Big data paradigm (e.g., classification concept) have been exploited to predict desktop uptime for job allocation in the ad-hoc cloud. Another work in [30] studied the management of computation offloading for vehicular ad-hoc clouds and focused on implementing cloud services between vehicles, interconnecting with wireless ad-hoc networks.
It has been shown that the ad-hoc cloud strategy, which considers multiple attributes (e.g., computation capacity), outperformed the traditional cloud servers, with a higher task completion rate, higher exploitation of various IoT devices [31], and shorter completion time. To save these dynamic and distributed characteristics of the ad-hoc cloud, in [32], the authors introduced an autonomic and secure ad-hoc cloud computing system to overcome the issues regarding service management, security, and privacy of ad-hoc clouds in both static and mobile modes. Similarly, in [33], the authors proposed a node collusion method for the isolation and protection of sinkhole nodes from any false routing information, which could lure other nodes to use its service. However, the involvement of the salient features of the mobile devices (such as mobility) in ad-hoc clouds has influenced the combination formed by machine-to-machine or machine-to-cloud communications [34,35]. Consequently, the characteristics of ad-hoc clouds (e.g., heterogeneity of the devices) still imposes greater challenges in terms of resource management, routing, security, and privacy.

2.4. Mobile Edge Computing

Due to the utilization of a massive number of mobile devices in our daily life, the researchers have proposed building cloud infrastructure by integrating many mobile devices that could act simultaneously as customers and providers of services. In [36], an IoT-Based computational framework for healthcare has been proposed to monitor human activities involving physical effort. For demonstrating the usability of IoT biomedical sensors to deliver advanced applications to the end-users, the authors monitored footballers’ heart rates during a football match, highlighting the benefits of wearable devices in the mobile environment, as this kind of IoT devices supports several communication standards for processing IoT data in real-time (such as Bluetooth and WLAN). Thus, the exploitation of mobile devices further enhances the idea of connecting nearby computing resources in edge computing. Consequently, the cooperating mobile devices could satisfy the requirements of IoT applications (like low latency) better than the traditionally centralized clouds. In this context, several mobile cloud platforms have been proposed in academia to produce the most promising edge results, such as GEMCloud [37], NativeBOINC project [38], Hyrax [39], and MobiCOP [40]. However, energy is one of the challenges faced while utilizing mobile devices as an infrastructure of computing resources, because mobile devices use their energy to offer the services. Another issue is the number of participants in the constructive infrastructure, as there is a significant number of mobile devices on which large computational tasks are being completed. So, the question is how to guarantee the cooperativity and sustainability of mobile cloud devices in order to achieve an optimal computing performance.

3. Moving Cloud to Edge Computing

In this section, we focus on gathering the recent quality approaches reflecting the fast growth of the edge paradigm. Notably, we describe the benefits brought about by deploying edge technologies as extenders of cloud services, middle layers for the access to cloud services, and collaborators for cloud platforms. For that reason, we selected papers through searching academic databases and well-known publishers. Furthermore, we used specific keywords characterizing edge computing, such as fog computing, fogging, fog-to-cloud, mobile edge, cloudlet, mobile cloudlet, vehicular ad hoc network based on edge, and fog to fog. We limited the search to the up-to-date papers over the last five years, i.e., since 2013. We then synchronized the paper selection according to the commonly agreed on papers, which resulted in 39 references in total. After collecting the search results, each paper underwent a relevance check, during which its relevance to edge technologies was verified. The results are summarized in two tables. In Table 2, we give a global overview of edge computing implementations. A summary of the different edge computing approaches and research works is described in Table 3. Finally, in Section 3.1, we present the key observations aimed at identifying the current primary research axes in edge computing.

3.1. Summary of Key Observations

From our review, we found that the management of resources includes 70% of the selected papers. The network communication papers represent 50%, and the programming model works account for 27%. Thus, the management of services is a fairly mature topic that attracts many researchers. Moreover, edge technologies contribute to managing different services within IoT [72], cloud [75], network [46], fog-to-fog [66], and fog-to-cloud [79] platforms. However, due to the characteristics of the heterogeneous network, cloud, and IoT environments, the edge paradigms have been used, not just to manage the various services, but also to ensure the safety, availability, sustainability, reliability, and efficiency of these services. Yet, the development of edge applications is still a new research direction that faces many issues, such as the processing capability of wearable devices, lack of memory usage, portability and flexibility of edge applications, and parallel computational of IoT tasks. Furthermore, it needs to identify and explore new challenges based on the context-awareness concept for further defining the critical exploitation, development, and deployment of edge technologies for IoT, cloud, and network paradigms. Additionally, the design of new edge applications requires keeping up with the increasing sophistication and diversity of threats to security that have been triggering a critical demand for developing and deploying reliable, secure, timely and efficient edge systems in smart environments.
On the other hand, when considering future advancements in this domain, one should also be aware of the progress within network systems, notably 5G, which will target the network intelligence and orchestration solutions and move towards large-scale introduction in 2020. Due to the importance of network communication in IoT domains, many research works are conducted on edge computing to speed up the transmission of IoT data. For example, in [60], the benefits of edges are used for enabling the patients to consume the healthcare services easily at competitive costs. Additionally, they provide faster and more efficient healthcare feedback to patients. However, some lacking networks in edge computing are still not yet discussed, such as the investigation of SDN characteristics, development of new protocols at SDN controller, backup mechanisms, optimization of resource utilization and service hosting, migration, replication, selection of network services, or decision making.
Meanwhile, IoT technologies have proved their usability and efficacity by infiltrating various domains of our life. However, the correct exploitation of IoT advantages depends on technical advancements in edge and/or cloud services. Notably, based on our review, we found that the fogging paradigm is 95% constituted by the selected papers, unlike the other edge paradigms. Moreover, it is the most popular edge technology used as an extender, middle layer, and collaborator of cloud services. Thus, in the next sections, we will examine these three roles that could affect the advancement of smart IoT environments.

4. Roles of Edge Paradigms

Edge computing offers ubiquitous and reliable local services that could be incorporated into the cloud environment in different ways. Thus, in this section, we focus on examining the state-of-the-art edge paradigms by studying these different integration options, i.e., understanding edge computing as (1) an extender, (2) middle layer, and (3) collaborator of cloud services.

4.1. Edge as an Extender of Cloud Services

Extending cloud services is one of the critical concepts of edge computing, which aims at bringing centralized cloud services near the end-users and processes application requests at the local edge of networks (e.g., 5G mobile network). Consequently, the interaction between end-users and traditional cloud platforms, the execution time of IoT applications, and the cost of computing capabilities are reduced at the edge. Moreover, there are specific platforms that further support the rapid advancement of the edge paradigm and provide the requirements for designing and testing edge applications (Table 2), such as a FogSim simulator [53], Cisco Kinetic platform [49], OpenFog [64] and Google’s Go language [42]. Consequently, there are many real implementations of edge technologies, such as the development of wearable cognitive assistance spanning on Google Glass at the edge [47], where the computation-intensive tasks of the wearers are offloaded to nearby cloudlets or foglets to achieve a tight end-to-end latency constraint.
The mF2C project [41,71] is an example of edge projects (Table 2), which aim to design, implement and validate novel management edge and cloud computing systems. For the orchestration of IoT devices, the MQTT broker [59] has been pre-installed at Fog nodes based on SDN (Software-Defined Networking) for the improved delivery performance of IoT applications. Likewise, in [42], the fog nodes have been exploited to manage the heterogeneous smart objects directly in complex IoT scenarios. In [68], fogging has been used to automate web site performance optimization at the edge servers. This novel idea illustrates the importance of edge location by providing dynamic and customizable optimization based on local network and client device conditions. Further, the catching technique has been implemented within fog servers to speed up the content delivery process to end-users. Similarly, the solution proposed in [67] has considered fog servers as a main functional provider of computing and storage services. Another solution for reducing the waste of IoT resources has been discussed in [71], where a Fog model based on previous QoE records has been proposed to improve the QoS of IoT devices. Furthermore, historical records have been exploited to manage the IoT resources in the fog. Similarly, WiCloud [57] has been developed as a mobile edge computing platform with OpenStack for enhancing location-awareness and managing inter-mobile-edge communication and data acquisition for an innovative service.
In [72], a balanced and matching strategy has been proposed for achieving the user requirements. The proposed algorithm computes IoT resource sharing among the fog nodes inside the same fog domain, where each domain is selected according to the utility metric for a couple of nodes, which determine an ordered list of preferred pairing nodes for each node by considering the communication cost and pricing benefits. Then, each node in the fog domain sends requests to its preferred pairing node. In this work, the quality of the service and the mobility of IoT devices or the fog nodes are, however, not discussed, since the proposed solution operates inside a single fog domain. Considering the advantages of fog computing, the authors in [74] have discussed the possibility of using smartphones for ultra-violet radiation (UV) measurement. Additionally, the results have been compared with a regular digital UV meter to validate the usage of smart mobiles. In [55], the authors have proposed a cloud-aware framework based on mobile edge features for designing elastic mobile applications. This framework is a PaaS programming model that aims at providing a high-level programming model for large-scale IoT applications, using the Fog computing approach to reduce latency and network traffic. Consequently, it offers a simplified programming abstraction and supports IoT applications, dynamically scaling at runtime. However, the drawback of this framework is the involvement of different mobile devices, such as smartphones, which means that it is crucial to determine where to find a better placement based on dynamic constraints, such as available resources and migration cost for mobile fog processes as well as for the other edge technologies (e.g., foglet).
Summary: Despite the ability of edge computing to bring about cloud services and facilitate the analysis of the data closer to their IoT sources, there are various drawbacks that are still implied by the advancement of the edge paradigm as an extender of cloud services, such as the deployment and management of local resources [54,58,63], assurance of the availability and sustainability of edge services [48,50], use of Big Data analytics based on the edge for IoT data-driven service management automation [68], development of suitable programing models for edge applications [38,42] and coordination between different edge paradigms [37,65]. As a result, the investigation into how to build a stable and hybrid edge infrastructure for receiving and processing information locally is urgently needed.

4.2. Edge as a Middle Layer

Despite the investigation of the advantages of edge technologies for adapting and obtaining the most efficient results according to users’ requirements in real-time, the running of the requested services with isolated and limited edge resources is considered a big challenge associated with the advancement of edge technologies (Table 2 and Table 3). For that reason, several works exploit edge technologies as a middle layer, allowing users to use unlimited cloud resources (Table 3). For example, in [43], Fogging has been suggested as an intermediate layer to provide low latency, mobility support and location awareness for smart healthcare and elderly-care applications, which are developed as part of OpSIT-Project-Germany. An interesting work is cited in [60], where an efficient cloudlet architecture within SDN is proposed for supporting the integration of the observation of the physiological conditions of the patient under supervision. As a result, the proposed edge architecture has increased the accessibility of patient monitoring applications and further enhanced the quality of healthcare services.
In [44,45], the Nippon Telegraph and Telephone Corporation (NTT) developed an edge-accelerated web platform to reduce the response time in cloud applications. Similarly, multi-fog nodes based on a hierarchical game approach [70], multiple cloudlets [76], and a fog-based smart gateway [75] have been proposed to facilitate the interaction of IoT devices with various cloud platforms.
In [58], the HomeCloud framework has focused on solving two research issues regarding automated orchestration and dynamic offloading. Additionally, it has defined a new application delivery in edge and centralized cloud services by exploiting the benefits of NFV (Network Function Virtualization) and SDN (Software Defined Networking) technologies. In [69], fogging has been proposed as an automated service negotiator that aims at reaching a satisfactory agreement between the customers and providers of services by predicting the resources and pricing before starting the processing of IoT tasks on the cloud platforms. Accordingly, the purpose of using fog, which resides between the underlying IoTs and the cloud, is to manage resources, process IoT data, and ensure security measures for IoT clients. However, the authors do not discuss how the mobility and heterogeneous services influence this dynamic resource estimation and pricing model. In contrast, in [56], the cloudlet-mesh architecture provides mobility management and security mechanisms to serve all mobile devices connected to it.
Summary: Despite the success of edge technologies as a middle layer ensuring the delivery of requested cloud services to the IoT applications, while avoiding the communication bottlenecks of networks [45,46,47], the heterogeneity of IoT and cloud environments brings a big challenge that emerges with the middle layer and requires the integration of interactive multiagent system applications for managing the communication between these heterogeneous paradigms [52,60]. Additionally, there is a significant need for coordinating and optimizing the technological resources in both edge and cloud platforms to build an infrastructure for flexible, scalable, and efficient combined edge-cloud services.

4.3. Coordinated Fog-to-Cloud Resources

Fog-to-cloud (F2C) is another new concept at the edge that has been merged in a collaborative model to facilitate an optimal match between cloud and fog resources (Table 3). In [73], the distributed data flow model has been proposed to allow the distributed execution of applications on different IoT devices in order to utilize virtual computing infrastructures across fog and cloud platforms. Notably, the authors have highlighted that IoT applications should be able to run in both fog nodes and the cloud, not just construct a peer-to-peer collaboration to process the output of one node that appears as the input of another node. Similarly, in [65], the advantages of merging cloud and fog resources have been discussed (e.g., the reduction of the execution time of applications). Additionally, the authors have proposed a coordinated and hierarchical architecture for the management of F2C resources. Furthermore, in [80], the benefits of F2C have been illustrated by describing how the different resources found on centralized and distributed platforms could address the management of the Worldsensing group [81].
In [78], a new workload allocation solution was proposed to highlight how the cooperation of F2C could enhance the performance of cloud platforms regarding reducing communication latency. Similarly, in [77], a second fog layer has been proposed to improve the service allocation and communication of combined fog-cloud infrastructures. The mF2C [41] is another example of innovative edge projects that aim at building a global stack of cloud-fog resources to optimize the execution of services in real-time. The authors in [66] have introduced a Fog-to-Fog communication algorithm to reduce the overall end-to-end delay for F2C by allowing fogs to communicate with each other. Furthermore, the authors have highlighted how the edge technologies could play two roles at the same time, which are: middle layers and collaborators for cloud computing.
In [79], a resource-aware placement algorithm of IoT applications has been deployed in the fog-cloud computing paradigm to manage the IoT resources. Furthermore, it focuses on meeting the network challenges related to the evolving fog-cloud architecture, such as latency, network usage, and energy consumption. However, only static network topologies have been presented. Yet, in some cases, such as surveillance systems, the IoT devices could be placed in a congested area that requires the exploitation of dynamic network characteristics (e.g., Network Function Virtualization), which would result in a lower latency.
Summary: As one can see, the existing works focus only on the combination of fog and cloud platforms in term of the communication network (e.g., low latency) and management of F2C resources. Additionally, they neglect the other requirements of cognitive IoT applications that should be addressed in F2C platforms, such as how to extract the most relevant information from video surveillance in the transportation area in order to control traffics; how to support decisions and actions for disaster applications in the F2C paradigm; or how to use the benefits of F2Cs to build sustainable smart city infrastructure for responding to the preferences and requirements of the end-users. Yet, many challenges still remain associated with fully addressing the F2C model, which is not just an advanced extension of the shared fogging-cloud resource, but also a new way to distribute, secure, allocate, evaluate, analyze, orchestrate, and manage resources across networks, rather than just build modern collaborative computing at the network edge.

5. Case Study

As discussed earlier, edge computing resolves the deficiencies of IoT applications by bringing the cloud resources closer to IoT sources, managing IoT resources, and avoiding network issues. To do that, the edge providers focus on providing location-based services to respond to dramatically changing local IoT conditions. To better understand the benefits of nearby edge services, we have conducted a case study using the iFogSim simulator [82], which provides the necessary fog and IoT functionalities and can be used to measure the impact of resource management techniques on different aspects, such as network utilization and latency.

5.1. Description of the Case Study

We have chosen distributed pan–tilt–zoom (PTZ) camera systems [83] as a use case, since these facilities are considered as one of the major human inventions that can monitor different events surrounding us in real-time. Moreover, these connected IoT devices generate significant data traffic, which is transmitted to edge or cloud platforms for analyzing intensive data, identifying anomalies, and then acting according to timely decisions. Our aim throughout this study is to examine the impact of the location of cameras surveilling a given area and consuming geo-services. Moreover, it aims at better understanding the Edge-Cloud-of-Things and its implications, mainly its network and energy characteristics. To do that, we consider that the number of surveilled areas can vary from 1 to 5, where each area contains three smart cameras that are able to access fog and cloud servers. Based on iFogSim tools [82], we have made five cases. The type of computing resources used in this simulation and the expected latency between them are shown in Table 4 and Table 5, respectively. The experimental setup of the first case, with one area and three smart cameras, is shown in Figure 1.

5.2. Discussion of Results

The findings, after performing the simulation, are shown in Figure 2, Figure 3 and Figure 4. These demonstrate that, when the cloud resources are closer to the users, the users experience fewer network issues. Moreover, the location of IoT devices creates some problems for cloud providers. For instance, multiple access to remote cloud servers causes an increase in energy consumption, compared to fog platforms (Figure 2 and Figure 4). In this context, the location of IoT sensors has become a significant criterion, which the providers of services should take into account for providing responses in real-time and enlarging the IoT system lifetime. Therefore, the advantages of edge technologies contribute to saving the idea of bringing local services closer to the customers and building sustainable smart IoT infrastructures (Figure 2, Figure 3 and Figure 4). However, the traditional clouds and IoT paradigm remain two complementary and associated technologies, where the role of cloud providers is to host IoT data and make them available to customers by using automated, scalable, flexible, and unlimited services presented as X-as-a-Service based on the pay-as-you-go concept (such as Storage-as-a-Service, as in our case study).
Yet, from a customer point of view, what could be the factors that aid choosing a suitable service? Is it a local service with a short latency or a remote service with robust functionalities? This dilemma has already been studied in relation to the cloud environment in order to determine the optimal cloud service selection, such as the work in [84], which aims to study the impact of the quality of service on cloud-based industrial IoT applications. However, with the integration of cloud with the edge paradigm, it is crucial to define the criteria that could aid in determining the best service, since both of these paradigms have different characteristics (such as latency). Maybe, the IoT paradigm could solve this challenge, since it has the ability to gather nearby users’ information about their location, preferred services, and feedback after consuming services. Thus, these collected data could be used, not only to return results to the original end-users, but also to learn from the previous experiences and predict the future actions of all IoT domains. Consequently, IoT technologies drive new business activities based on their contextual location-services. For example, the Internet of vehicle-based cloud services [85] has created great opportunities for managing data collected from vehicles and their surroundings. Additionally, the shared-transportation data could be used for developing and optimizing the transportation applications designed for surveillance, control, situation recognition, emergency management, or prediction. As a result, the fusion of these three powerful technologies has emerged as a revolutionary paradigm that enables the interaction and cooperation of any kind of physical or virtual objects with edge and cloud services through the Internet. This latter is actually the fourth part of this fusion that we could not neglect.
Indeed, network communication plays two roles, which are: Benefitting the client by offering the services of IoT, cloud and edge paradigms, and at the same time, acting as a bridge for the communication between the client and service. The fifth generation (5G) is the latest generation of mobile and wireless networks that describes well those roles in terms of virtualization and softwarization. For example, SDN (Software-Defined Networking) and NFV (Network Function Virtualization) are two technologies that revolutionize 5G technologies by offering end-to-end real-time network services, high performance, resource allocation management, low latency, reliability, and flexibility in ubiquitously providing different kinds of network services.
On the other hand, the power of making the 5G automated could be measured with the ability and effectivity of IoT devices to collect data and process them to extract information in real-time. Thus, as the 5G technologies are agile and reliable as the quality of different services offered is guaranteed, such as in wearable devices that monitor the daily activities of people with Alzheimer’s disease. As a result, the observed drawbacks of cloud service provisioning for IoT applications, such as response time and unstable connections, are being resolved by this new high-performance communication network. Similarly, the communication between edges and central clouds is further optimized.
Nevertheless, the automation of 5G networks cannot be achieved only through the direct application of smart IoT, edge and cloud services, but also by using predictive analytics to learn from big tracking data in order to make the network services efficient and reactive. For example, smart city technologies connect various kinds of public IoT utilities (e.g., cameras) for responding to daily public services. Simultaneously, they can produce the most accurate and timely information (e.g., social network impression of citizens concerning public services), which could be used to extract knowledge for proposing new intelligence methodologies on edge, cloud and network services (such as middleware for edge-cloud selection services). In this context, deep learning techniques for processing data in edge-cloud systems are required to meet different clients’ requirements. Furthermore, they would help to effectively and efficiently study how and when edge or cloud services should be selected as candidates for properly processing and adopting IoT data.

6. Challenges and Research Directions

As with any emerging technology, the promising advancements are also accompanied with numerous challenges that are not yet well summarized in the existing literature. For that reason, we have used our state-of-the-art review also to identify the general drawbacks associated with the edge computing paradigm and predict the future challenges.
Based on the review, we found that the majority of works have focused on transporting data from nearby IoT source devices over a network, storing it on edge nodes, performing analyses, and then returning results to IoT clients. In other words, the existing works have focused on using the advantages of edge computing, as the best solution for meeting the IoT computing needs, such as using fog nodes for reducing response times in real-time IoT applications, balancing network traffic, reducing the transmission latency between edge/cloud servers, extending the lifetime of IoT devices, and avoiding the traffic peaks in IoT networks. However, this adapted strategy for integrating the benefits of edge computing to assist IoT devices does not really meet the natural interaction of edge technologies with different heterogeneous organizations (e.g., 5G networks). Thus, the investigation of adequate strategies for determining an efficient communication and synchronization between different IoT, cloud and edge elements, such as the selection of cloud/edge services, scheduling policies, catching mechanisms, security of shared information, interactivity, cognition, self-configurability, dynamicity, usability, flexibility, interoperability, and adaptability of edge applications with the other different technologies, is required.
In the meantime, the knowledge produced by IoT devices is not addressed well in the existing works, such as that in [18]. Yet, the critical research question in this respect is how to use this knowledge, which could further influence the adjustment of edge applications, notably, the feedback of the end-clients that expresses clearly their real needs and satisfaction after using an application. Indeed, the point of user views can be gathered easily from social networks (e.g., Facebook) that are considered the best source of application reviews for getting the real preferences of end-clients. Thus, it is necessary to use these opinions for optimizing services, because they could suddenly and deeply change the behaviors of IoT, edge and cloud applications.
Therefore, in this section, we focus on identifying the strategies that could help the providers of cloud-edge services to know in advance where, how, and when edge services could be applicable or not suited to IoT technologies. Thus, we classify the challenges accompanying the advancement of the Edge-CoT paradigm on four main axes: The first concerns middleware platforms that provide many characteristics, such as enhancing the selection of services and communication across heterogenous environments; the second concerns edge analytics for treating collected IoT data; the third is concerning social networks, as pure and valuable information provided by the end-users; and the last axis concerns security, as a fundamental challenge in the Edge-CoT environment.

6.1. Interoperable Middleware Platforms for Edge Computing

The adoption of IoT and cloud technologies in different sectors would ensure the reliability, interoperability, sustainability, and scalability of automation systems [86]. For that reason, many research works have proposed interoperable middleware as a solution for enhancing the communication between remote cloud services and IoT applications. Moreover, they have focused on designing standard IoT-cloud middleware that could create a unified environment, allowing several IoT devices to communicate and interact with cloud platforms [87]. Additionally, the middleware could enhance the functionality of IoT applications by providing adapted cloud services and hiding all the details of heterogeneity in the IoT paradigm. Therefore, the IoT-cloud middleware plays an essential role in ensuring the integrity of different IoT devices, providing the abstraction and adaptation necessary for applications in diverse domains [88]. For example, in [89], the authors have integrated an agent-oriented middleware, called ACOSO (Agent-based COoperating Smart Objects), and a sensor-cloud infrastructure, named BodyCloud, for the collection and analysis of sensor streams. The proposed solution aims to develop decentralized smart objects within IoT and take the benefits of cloud computing by managing data processing and storage needs with lower costs. Another interesting work has highlighted the convergence of cloud services and the Internet of Things [90] by designing a framework to make IoT devices rely on a cloud platform for data processing and storage. Since the generated data from device networks of IoT are considered useful information for gaining knowledge, the authors have focused on optimizing the data transportation from geo-distributed devices and cloud platforms. As a result, this solution acts as a bridge that guarantees the reliable and efficient Big Data transfer from distributed IoT-devices to the cloud. Similarly, in [91], the authors have designed and implemented APIs for the IoT cloud to minimize the deployment time of applications, optimize services, and provide the effective utilization of resources. To cope with the growth and evolution of IoT systems, the research in [92] adapts multi-agent systems and machine learning techniques to develop a framework for self-adaptive and self-organizing IoT applications.
Meanwhile, the need for more IoT applications with a better processing speed has become inevitable for smart environments, such as healthcare applications [93]. The integration of edge computing with IoT-cloud architecture has perhaps offered high-speed networks for transferring vast amounts of data from the IoT sensors to local or remote servers. However, the ability of IoT sensors to join and leave the network in real-time could change the communication of IoT devices with clouds, fogs, or fog-to-cloud platforms. Notably, the 5G network is composed of various objects based on different infrastructures, such as mobile cellular networks, MANET (Mobile Ad Hoc Networks), WSN (Wireless Sensor Networks), and VENET (Vehicular Networks). Consequently, the huge volume of IoT data is held by the heterogeneous networks. Yet, this is a strong reason for shifting towards a decentralized middleware model. In this case, the middleware could suitably manage and refine IoT data in the heterogeneous networks. Furthermore, the characteristics of middleware could help IoT devices to interact with centralized and decentralized platforms easily, rate the proposed services, and then select which one of them could offer the best results on a smaller scale in real-time.
Until now, several related challenges have not yet been addressed, for example, how can a centralized middleware guarantee the integrity, usability, interoperability, adaptability, and availability of selected services for the IoT end-clients? What are the most critical factors necessary for developing anticipatory middleware that users request? How can the middleware use the caching of results on the heterogeneous networks for processing contextual IoT data as well as optimizing the selection of services in the centralized and decentralized environments?

6.2. Edge Analytics for Big Data

IoT technologies have improved the quality of citizens’ lives by providing the most efficient services to a broad set of devices in many domains. The smart city is one of the projects of the IoT paradigm that has used sensors to manage services, including hospitals, public lights, and water supply networks. Consequently, a significant amount of IoT data (including mobile and immobile data) is being generated. To meet the requirements of IoT data, cloud resources are used to involve the most sophisticated activities of acquisition, storage, and processing. Until now, the collected data from various domains have become the Big Data that have created new critical support for the progress of IoT domains. Indeed, Big data provide flexible, useful and reliable knowledge for improving operations and strategies in various areas, such as automated and intelligent methods for the automotive industry [94,95]. To do that, the IoT applications use cloud platforms to analyze data remotely and then extract the most relevant information that could be used to take more informed actions. However, data transmission is experiencing some problems that need to be solved, such as the interruption of the network and the mobility of users [96]. Yet, there is a great need of edge technologies to enhance this big innovation of Big Data and support the transmission of IoT data to centralized clouds and vice versa [97].
New benefits and opportunities of edge technologies have emerged to handle the valuable Big Data. One of the benefits of edge computing for Big Data and IoT applications has been cited in [98], where an autonomic edge computing platform has been described to support deep learning for the localization of epileptogenicity using multimodal rs-fMRI (resting state-functional magnetic resonance imaging) and EEG (electroencephalography) Big Data. Additionally, the proposed solution could monitor, evaluate, and measure the epileptic brain. As a result, it could help doctors and patients to detect seizures and predict future epilepsy in real-time. Thus, edge computing provides competent real-time mechanisms for the meaningful investigation of Big data, including data collection, data processing, extraction of significant data, and learning from Big Data.
Despite this fusion of edge, Big Data, and IoT paradigms, there is a great need to consider the collaboration of edge computing with cloud computing, not just for optimizing services (such as storage [99]) or communication networks (e.g., low latency), but also for learning from the previous experiences in the fusion of Big Data and cloud platforms (e.g., the deployment of artificial intelligence strategies in cloud-aware systems [100,101,102]). Moreover, this fusion could aid in the understanding of how to use the local edge resources as powerful complement collaborators for clouds and the Big data paradigm in terms of services (e.g., computing and storage) and communication facilities (e.g., SDN). Consequently, several new challenges emerging from the fusion of edge computing, cloud computing, and the Big Data paradigm should be addressed.

6.3. Social Networks into Edge Computing

Recent advances in social networks, such as Facebook, have significant impacts on the development of services in various areas, including education, smart city, or commerce. In fact, social networks are expected to more precisely provide personal information about the customers, such as names, places to travel, games, diseases, type of jobs, or most popular TV shows. That means social networks allow the providers of services to know in advance how to personalize their services according to human behavior. On the other side, the increase in the number of mobile devices further supports the development of several mobile social networking applications [23]. These latter have been considered as an advanced social network version for providing a significant source of information [103], understanding the real needs of clients, and optimally improving the infrastructure of smart environments, such as the use of clients’ locations as a parameter for recommending the best cloud services [104]. Therefore, the virtual social information expresses the real-world of human social behavior, which should be strongly explored in depth. Further, the heterogeneity of social network data provides great opportunities for research and industrial applications for creating a new critical point of convergence for the modern information infrastructure of knowledge retrieval and discovery. Thus, social networks have been emerging as a priority for research and development across the most recent applications in edge and cloud environments.
Nevertheless, the share of part or full personal information [105,106], such as credit card numbers, could be stolen and used in illegal activities. That leads us to ask how edge computing could protect sensitive information, which imposes serious considerations related to the data security of citizens? Where should the collected personal data be processed in a distributed or centralized environment? Perhaps the blockchain technology provides the necessary techniques for addressing the performance and security issues in the cloud [107,108]. However, it is not yet understood what the best practices and strategies are that the providers of services could follow to manage the implicit and explicit personal data that are very sensitive, and any unauthorized access to them can have serious consequences. Accordingly, the exploitation of the most relevant personal social information leads to solving these relevant research challenges.

6.4. Security in Edge Computing

The rapid development of IoT techniques has paved the way for new and improved services in various popular domains. The smart healthcare domain is one of the examples of a field that integrates IoT technologies to make patients’ lives easier by adopting wearable devices in remote care and digital health programs in a modern model of hospital-centric care [109]. Similarly, IoT could be used and blended with cyber-physical systems of the smart grid to be more robust and resilient [110]. Likewise, IoT could keep up with the ubiquitous use of social networks in our daily lives by protecting the location privacy of the end-users and minimizing potential hacking, thefts of personal information and unauthorized access [111].
At the same time, the IoT paradigm is rapidly merging with our quotidian activities, as nearby technologies and physical devices, such as vehicles, sensors, actuators, and any other embedded devices, will be connected and communicate with clouds or edge nodes, share information, and produce IoT data on a massive scale. By 2025, the complexity of IoT systems is expected to exceed 100 billion connected devices [112]. Consequently, this big innovation will introduce new challenges for the security of IoT systems and cloud-edge applications.
For controlling the explosive growth of the amount of heterogeneous IoT data [113], the providers of services must gain expertise, not only in the development of edge and cloud applications for the IoT paradigm, but also in finding secure techniques to face the threat of the cyber-attacks. The edge services could fill the gap between security and practical usage in IoT, since they can gather and treat the most relevant indoor and outdoor information (such as reviews, directions, calling, and using IoT applications) in a short time, compared to remote services [114]. However, the edge computing is still in its early stages. Therefore, there is a significant need to define security strategy guidelines in the edge environment, such as security for architecture and protocol design for IoT services in 5G networks, security policies in fog-cloud cooperation, privacy of sharing IoT data, applying machine learning techniques in edge computing for detecting the anomaly in network traffics and cybercrime in IoT devices, and employing cryptography in edge computing. Thus, there is a big demand for the development of new secure edge methods for ensuring the accessibility, resilience, and security of IoT infrastructures.

7. Conclusions

The Internet of things paradigm generates a significant heterogeneous amount of data daily, which could be handled by centralized or decentralized platforms. In this paper, we have outlined recent advancements as well as challenges associated with edge computing. The motivation for moving to edge computing is discussed regarding Edge-CoT computing architecture-related issues. Furthermore, we have highlighted the importance of this collaborative model by studying the distributed PTZ camera systems as smart IoT devices demanding a high interaction with remote and local geo-services, which we presented as a case study in the paper. Finally, based on the literature, we have suggested multiple promising research directions that could be pursued in the future.

Author Contributions

The authors contributed equally to the results presented in this paper, as well as its writing.

Acknowledgments

The work was supported from European Regional Development Fund-Project “CERIT Scientific Cloud” (No. CZ.02.1.01/0.0/0.0/16_013/0001802).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Misra, G.; Kumar, V.; Agarwal, A.; Agarwal, K. Internet of things (iot)—A technological analysis and survey on vision, concepts, challenges, innovation directions, technologies, and applications (an upcoming or future generation computer communication system technology). Am. J. Electr. Electron. Eng. 2016, 4, 23–32. [Google Scholar]
  2. Lee, I.; Lee, K. The Internet of Things (IoT): Applications, investments, and challenges for enterprises. Bus. Horiz. 2015, 58, 431–440. [Google Scholar] [CrossRef]
  3. Petrolo, R.; Loscri, V.; Mitton, N. Towards a smart city based on cloud of things, a survey on the smart city vision and paradigms. Trans. Emerg. Telecommun. Technol. 2017, 28, e2931. [Google Scholar] [CrossRef]
  4. Santos, J.; Leroux, P.; Wauters, T.; Volckaert, B.; De Turck, F. Anomaly detection for Smart City applications over 5G low power wide area networks. In Proceedings of the NOMS 2018-2018 IEEE/IFIP Network Operations and Management Symposium, Taipei, Taiwan, 23–27 April 2018; pp. 1–9. [Google Scholar]
  5. 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]
  6. de Assuncao, M.D.; da Silva Veith, A.; Buyya, R. Distributed data stream processing and edge computing: A survey on resource elasticity and future directions. J. Netw. Comput. Appl. 2018, 103, 1–17. [Google Scholar] [CrossRef] [Green Version]
  7. Khodashenas, P.S.; Ruiz, C.; Siddiqui, M.S.; Betzler, A.; Riera, J.F. The role of Edge Computing in future 5G mobile networks: Concept and challenges. Cloud Fog Comput. 5G Mob. Netw. 2017, 70, 349. [Google Scholar]
  8. 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]
  9. Abbas, N.; Zhang, Y.; Taherkordi, A.; Skeie, T. Mobile edge computing: A survey. IEEE Internet Things J. 2018, 5, 450–465. [Google Scholar] [CrossRef]
  10. 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]
  11. Yi, S.; Qin, Z.; Li, Q. Security and privacy issues of fog computing: A survey. In Proceedings of the International Conference on Wireless Algorithms, Systems, and Applications, Qufu, China, 10–12 August 2015; pp. 685–695. [Google Scholar]
  12. Yi, S.; Qin, Z.; Li, Q. A survey of fog computing: Concepts, applications and issues. In Proceedings of the 2015 Workshop on Mobile Big Data, Hangzhou, China, 22–25 June 2015; pp. 37–42. [Google Scholar]
  13. 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]
  14. 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. 2017, 20, 416–464. [Google Scholar] [CrossRef]
  15. Taleb, T.; Samdanis, K.; Mada, B.; Flinck, H.; Dutta, S.; Sabella, D. On multi-access edge computing: A survey of the emerging 5G network edge cloud architecture and orchestration. IEEE Commun. Surv. Tutor. 2017, 19, 1657–1681. [Google Scholar] [CrossRef]
  16. Kitanov, S.; Monteiro, E.; Janevski, T. 5G and the Fog—Survey of related technologies and research directions. In Proceedings of the 2016 18th Mediterranean Electrotechnical Conference (MELECON), Lemesos, Cyprus, 18–20 April 2016; pp. 1–6. [Google Scholar]
  17. Mahmud, R.; Kotagiri, R.; Buyya, R. Fog computing: A taxonomy, survey and future directions. In Internet of Everything; Springer: Singapore, 2018; pp. 103–130. [Google Scholar]
  18. Simmhan, Y. Big Data and Fog Computing. arXiv, 2017; preprint. arXiv:1712.09552. [Google Scholar]
  19. Mach, P.; Becvar, Z. Mobile edge computing: A survey on architecture and computation offloading. IEEE Commun. Surv. Tutor. 2017, 19, 1628–1656. [Google Scholar] [CrossRef]
  20. Bilal, K.; Khalid, O.; Erbad, A.; Khan, S.U. Potentials, trends, and prospects in edge technologies: Fog, cloudlet, mobile edge, and micro data centers. Comput. Netw. 2018, 130, 94–120. [Google Scholar] [CrossRef]
  21. Ahmed, E.; Rehmani, M.H. Mobile edge computing: Opportunities, solutions, and challenges. Future Gener. Comput. Syst. 2017, 70, 59–63. [Google Scholar] [CrossRef]
  22. The NIST Definition of Fog Computing. Available online: https://csrc.nist.gov (accessed on 28 January 2018).
  23. Zhou, B.; Buyya, R. Augmentation Techniques for Mobile Cloud Computing: A Taxonomy, Survey, and Future Directions. ACM Comput. Surv. (CSUR) 2018, 51, 13. [Google Scholar] [CrossRef]
  24. Dolui, K.; Datta, S.K. Comparison of edge computing implementations: Fog computing, cloudlet and mobile edge computing. In Proceedings of the 5th Workshop on All Things Cellular: Operations, Applications and Challenges (GIoTS), Geneva, Switzerland, 6–9 June 2017. [Google Scholar]
  25. Wang, K.; Shen, M.; Cho, J.; Banerjee, A.; Van der Merwe, J.; Webb, K. Mobiscud: A fast moving personal cloud in the mobile network. In Proceedings of the 5th Workshop on All Things Cellular: Operations, Applications and Challenges, London, UK, 17 August 2015; pp. 19–24. [Google Scholar]
  26. Panigrahi, C.R.; Sarkar, J.L.; Pati, B. Transmission in mobile cloudlet systems with intermittent connectivity in emergency areas. Digit. Commun. Netw. 2018, 4, 69–75. [Google Scholar] [CrossRef]
  27. Mori, T.; Nakashima, M.; Ito, T. SpACCE: A sophisticated ad hoc cloud computing environment built by server migration to facilitate distributed collaboration. Int. J. Space-Based Situat. Comput. 2012, 2, 230–239. [Google Scholar] [CrossRef]
  28. Pippal, S.K.; Kushwaha, D.S. A simple, adaptable and efficient heterogeneous multi-tenant database architecture for ad hoc cloud. J. Cloud Comput. Adv. Syst. Appl. 2013, 2, 5. [Google Scholar] [CrossRef] [Green Version]
  29. Bandyopadhyay, A.; Mukherjee, N. An Approach to Predict Desktop Uptime for Job Allocation in Ad-Hoc Cloud. In Proceedings of the 47th International Conference on Parallel Processing Companion, Eugene, OR, USA, 13–16 August 2018; p. 21. [Google Scholar]
  30. Li, B.; Pei, Y.; Wu, H.; Liu, Z.; Liu, H. Computation offloading management for vehicular ad hoc cloud. In Proceedings of the International Conference on Algorithms and Architectures for Parallel Processing, Dalian, China, 24–27 August 2014; Springer: Cham, Germany, 2014; pp. 728–739. [Google Scholar]
  31. Hasan, R.; Hossain, M.; Khan, R. Aura: An incentive-driven ad-hoc IoT cloud framework for proximal mobile computation offloading. Future Gener. Comput. Syst. 2018, 86, 821–835. [Google Scholar] [CrossRef]
  32. Shila, D.M.; Shen, W.; Cheng, Y.; Tian, X.; Shen, X.S. AMCloud: Toward a secure autonomic mobile ad hoc cloud computing system. IEEE Wirel. Commun. 2017, 24, 74–81. [Google Scholar] [CrossRef]
  33. Jebadurai, I.J.; Rajsingh, E.B.; Paulraj, G.J.L. A Novel Node Collusion Method for Isolating Sinkhole Nodes in Mobile Ad Hoc Cloud. In Advances in Big Data and Cloud Computing; Springer: Singapore, 2018; pp. 319–329. [Google Scholar]
  34. 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]
  35. Hu, G.; Tay, W.P.; Wen, Y. Cloud robotics: Architecture, challenges and applications. IEEE Netw. 2012, 26, 21–27. [Google Scholar] [CrossRef]
  36. Mora, H.; Gil, D.; Terol, R.M.; Azorín, J.; Szymanski, J. An IoT-Based Computational Framework for Healthcare Monitoring in Mobile Environments. Sensors 2017, 17, 2302. [Google Scholar] [CrossRef] [PubMed]
  37. Ba, H.; Heinzelman, W.; Janssen, C.A.; Shi, J. Mobile computing-A green computing resource. In Proceedings of the 2013 IEEE Wireless Communications and Networking Conference (WCNC), Shanghai, China, 7–10 April 2013; pp. 4451–4456. [Google Scholar]
  38. NativeBoinc for Android. Available online: http://www.nativeboinc.org/site/uncat/start (accessed on 28 January 2018).
  39. Marinelli, E.E. Hyrax: Cloud Computing on Mobile Devices Using MapReduce; No. CMU-CS-09-164; Carnegie-Mellon Univ Pittsburgh PA School of Computer Science: Pittsburgh, PA, USA, 2009. [Google Scholar]
  40. Benedetto, J.I.; Valenzuela, G.; Sanabria, P.; Neyem, A.; Navón, J.; Poellabauer, C. MobiCOP: A Scalable and Reliable Mobile Code Offloading Solution. Wirel. Commun. Mob. Comput. 2018, 2018, 8715294. [Google Scholar] [CrossRef]
  41. MF2C. Available online: http://www.mf2c-project.eu/ (accessed on 1 October 2018).
  42. Butterfield, E.H. Fog Computing with Go: A Comparative Study. Bachelor’s Thesis, Claremont McKenna College, Claremont, CA, USA, April 2016. [Google Scholar]
  43. 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. [Google Scholar]
  44. Accelerating Innovation and Collaboration for the Next Stage. Available online: http://www.ntt.co.jp/news2013/1311ehzt/pdf/xgxf131108d_all.pdf (accessed on 1 October 2018).
  45. Announcing the “Edge Computing” Concept and the “Edge Accelerated Web Platform” Prototype to Improve Response Time of Cloud Applications. Available online: http://www.ntt.co.jp/news2014/1401e/140123a.html (accessed on 1 October 2018).
  46. Cirani, S.; Ferrari, G.; Iotti, N.; Picone, M. The IoT hub: A fog node for seamless management of heterogeneous connected smart objects. In Proceedings of the 2015 12th Annual IEEE International Conference on Sensing, Communication, and Networking-Workshops (SECON Workshops), Seattle, WA, USA, 22–25 June 2015; pp. 1–6. [Google Scholar]
  47. Ha, K.; Chen, Z.; Hu, W.; Richter, W.; Pillai, P.; Satyanarayanan, M. Towards wearable cognitive assistance. In Proceedings of the 12th Annual International Conference on Mobile Systems, Applications, and Services, Bretton Woods, NH, USA, 16–19 June 2014; pp. 68–81. [Google Scholar]
  48. Orsini, G.; Bade, D.; Lamersdorf, W. Computing at the mobile edge: Designing elastic android applications for computation offloading. In Proceedings of the 2015 8th IFIP Wireless and Mobile Networking Conference (WMNC), Munich, Germany, 5–7 October 2015; pp. 112–119. [Google Scholar]
  49. Cisco Kinetic. Available online: https://www.cisco.com/c/en/us/solutions/internet-of-things/iot-kinetic.html#~stickynav=1 (accessed on 1 October 2018).
  50. Vortex. Available online: http://www.prismtech.com/vortex (accessed on 1 October 2018).[Green Version]
  51. Nokia Multi-Access Edge Computing. Available online: https://networks.nokia.com/solutions/multi-access-edge-computing#tab-highlights (accessed on 1 October 2018).
  52. Cisco IOx. Available online: https://www.cisco.com/c/en/us/products/cloud-systems-management/iox/index.html (accessed on 1 October 2018).
  53. Garcıa, M.; Fuentes, P.; Odriozola, M.; Vallejo, E.; Beivide, R. FOGSim Interconnection Network Simulator; University of Cantabria: Cantabria, Spain, 2014. [Google Scholar]
  54. Banerjee, S.; Liu, P.; Patro, A.; Willis, D. ParaDrop: An Edge Computing Platform in Home Gateways. In Fog for 5G and IoT; Wiley: Hoboken, NJ, USA, 2017; p. 13. [Google Scholar]
  55. Hong, K.; Lillethun, D.; Ramachandran, U.; Ottenwälder, B.; Koldehofe, B. Mobile fog: A programming model for large-scale applications on the internet of things. In Proceedings of the 2nd ACM SIGCOMM Workshop on Mobile Cloud Computing, Hong Kong, China, 12–16 August 2013; pp. 15–20. [Google Scholar]
  56. Shi, Y.; Abhilash, S.; Hwang, K. Cloudlet mesh for securing mobile clouds from intrusions and network attacks. In Proceedings of the 2015 3rd IEEE International Conference on Mobile Cloud Computing, Services, and Engineering (MobileCloud), San Francisco, CA, USA, 30 March–3 April 2015; pp. 109–118. [Google Scholar]
  57. Li, H.; Shou, G.; Hu, Y.; Guo, Z. Mobile edge computing: Progress and challenges. In Proceedings of the 2016 4th IEEE International Conference on Mobile Cloud Computing, Services, and Engineering (MobileCloud), Oxford, UK, 29 March–1 April 2016; pp. 83–84. [Google Scholar]
  58. Pan, J.; Ma, L.; Ravindran, R.; TalebiFard, P. HomeCloud: An edge cloud framework and testbed for new application delivery. In Proceedings of the 2016 23rd International Conference on Telecommunications (ICT), Thessaloniki, Greece, 16–18 May 2016; pp. 1–6. [Google Scholar]
  59. Xu, Y.; Mahendran, V.; Radhakrishnan, S. Towards SDN-based fog computing: MQTT broker virtualization for effective and reliable delivery. In Proceedings of the 2016 8th International Conference on Communication Systems and Networks (COMSNETS), Bangalore, India, 5–10 January 2016; pp. 1–6. [Google Scholar]
  60. El Amraoui, A.; Sethom, K. Cloudlet softwarization for pervasive healthcare. In Proceedings of the 2016 30th International Conference on Advanced Information Networking and Applications Workshops (WAINA), Crans-Montana, Switzerland, 23–25 March 2016; pp. 628–632. [Google Scholar]
  61. Monfared, S.; Bannazadeh, H.; Leon-Garcia, A. Software defined wireless access for a two-tier cloud system. In Proceedings of the 2015 IFIP/IEEE International Symposium on Integrated Network Management (IM), Ottawa, ON, Canada, 11–15 May 2015; pp. 566–571. [Google Scholar]
  62. Wu, D.; Arkhipov, D.I.; Asmare, E.; Qin, Z.; McCann, J.A. UbiFlow: Mobility management in urban-scale software defined IoT. In Proceedings of the 2015 IEEE Conference on Computer Communications (INFOCOM), Hong Kong, China, 26 April–1 May 2015; pp. 208–216. [Google Scholar]
  63. Truong, N.B.; Lee, G.M.; Ghamri-Doudane, Y. Software defined networking-based vehicular adhoc network with fog computing. In Proceedings of the 2015 IFIP/IEEE International Symposium on Integrated Network Management (IM), Ottawa, ON, Canada, 11–15 May 2015; pp. 1202–1207. [Google Scholar]
  64. Openfog. Available online: https://www.openfogconsortium.org/ (accessed on 1 October 2018).
  65. Masip-Bruin, X.; Marín-Tordera, E.; Tashakor, G.; Jukan, A.; Ren, G.J. Foggy clouds and cloudy fogs: A real need for coordinated management of fog-to-cloud computing systems. IEEE Wirel. Commun. 2016, 23, 120–128. [Google Scholar] [CrossRef]
  66. Masri, W.; Al Ridhawi, I.; Mostafa, N.; Pourghomi, P. Minimizing delay in IoT systems through collaborative fog-to-fog (F2F) communication. In Proceedings of the 2017 Ninth International Conference on Ubiquitous and Future Networks (ICUFN), Milan, Italy, 4–7 July 2017; pp. 1005–1010. [Google Scholar]
  67. Zeng, D.; Gu, L.; Guo, S.; Cheng, Z.; Yu, S. Joint optimization of task scheduling and image placement in fog computing supported software-defined embedded system. IEEE Trans. Comput. 2016, 65, 3702–3712. [Google Scholar] [CrossRef]
  68. Zhu, J.; Chan, D.S.; Prabhu, M.S.; Natarajan, P.; Hu, H.; Bonomi, F. Improving web sites performance using edge servers in fog computing architecture. In Proceedings of the 2013 IEEE 7th International Symposium on Service Oriented System Engineering (SOSE), San Francisco Bay, CA, USA, 25–28 March 2013; pp. 320–323. [Google Scholar]
  69. 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 (AINA), Gwangju, Korea, 25–27 March 2015; pp. 687–694. [Google Scholar]
  70. Zhang, H.; Zhang, Y.; Gu, Y.; Niyato, D.; Han, Z. A Hierarchical Game Framework for Resource Management in Fog Computing. IEEE Commun. Mag. 2017, 55, 52–57. [Google Scholar] [CrossRef]
  71. Aazam, M.; St-Hilaire, M.; Lung, C.H.; Lambadaris, I. MeFoRE: QoE based resource estimation at Fog to enhance QoS in IoT. In Proceedings of the 2016 23rd International Conference on Telecommunications (ICT), Thessaloniki, Greece, 16–18 May 2016; pp. 1–5. [Google Scholar]
  72. Abedin, S.F.; Alam, M.G.R.; Tran, N.H.; Hong, C.S. A Fog based system model for cooperative IoT node pairing using matching theory. In Proceedings of the 2015 17th Asia-Pacific Network Operations and Management Symposium (APNOMS), Busan, Korea, 19–21 August 2015; pp. 309–314. [Google Scholar]
  73. Giang, N.K.; Blackstock, M.; Lea, R.; Leung, V.C. Developing IoT applications in the fog: A distributed dataflow approach. In Proceedings of the 2015 5th International Conference on the Internet of Things (IOT), Seoul, Korea, 26–28 October 2015; pp. 155–162. [Google Scholar]
  74. Mei, B.; Cheng, W.; Cheng, X. Fog computing based ultraviolet radiation measurement via smartphones. In Proceedings of the 2015 Third IEEE Workshop on Hot Topics in Web Systems and Technologies (HotWeb), Washington, DC, USA, 12–13 November 2015; pp. 79–84. [Google Scholar]
  75. Aazam, M.; Huh, E.N. Fog computing and smart gateway based communication for cloud of things. In Proceedings of the 2014 International Conference on Future Internet of Things and Cloud (FiCloud), Barcelona, Spain, 27–29 August 2014; pp. 464–470. [Google Scholar]
  76. Bittencourt, L.F.; Lopes, M.M.; Petri, I.; Rana, O.F. Towards virtual machine migration in fog computing. In Proceedings of the 2015 10th International Conference on P2P, Parallel, Grid, Cloud and Internet Computing (3PGCIC), Krakow, Poland, 4–6 November 2015; pp. 1–8. [Google Scholar]
  77. Souza, V.B.C.D.; Ramírez, W.; Masip-Bruin, X.; Marín-Tordera, E.; Ren, G.; Tashakor, G. Handling service allocation in combined fog-cloud scenarios. In Proceedings of the 2016 IEEE International Conference on Communications (ICC), Kuala Lumpur, Malaysia, 23–27 May 2016; pp. 1–5. [Google Scholar]
  78. Deng, R.; Lu, R.; Lai, C.; Luan, T.H. Towards power consumption-delay tradeoff by workload allocation in cloud-fog computing. In Proceedings of the 2015 IEEE International Conference on Communications (ICC), London, UK, 8–12 June 2015; pp. 3909–3914. [Google Scholar]
  79. Taneja, M.; Davy, A. Resource aware placement of IoT application modules in Fog-Cloud Computing Paradigm. In Proceedings of the 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM), Lisbon, Portugal, 8–12 May 2017; pp. 1222–1228. [Google Scholar]
  80. Bartolí, A.; Hernández, F.; Val, L.; Gorchs, J.; Masip-Bruin, X.; Marín-Tordera, E.; Garcia, J.; Juan, A.; Jukan, A. Benefits of a Coordinated Fog-to-Cloud Resources Management Strategy on a Smart City Scenario. In Proceedings of the European Conference on Parallel Processing, Santiago de Compostela, Spain, 28–29 August 2017; Springer: Cham, Germany, 2017; pp. 283–291. [Google Scholar]
  81. Worldsensing. Available online: https://www.worldsensing.com/ (accessed on 1 October 2018).
  82. Gupta, H.; Vahid Dastjerdi, A.; Ghosh, S.K.; Buyya, R. iFogSim: A toolkit for modeling and simulation of resource management techniques in the Internet of Things, Edge and Fog computing environments. Softw. Pract. Exp. 2017, 47, 1275–1296. [Google Scholar] [CrossRef] [Green Version]
  83. PTZ Camera. Available online: https://en.wikipedia.org/wiki/Pan%E2%80%93tilt%E2%80%93zoom_camera (accessed on 1 October 2018).
  84. Ferrari, P.; Flammini, A.; Rinaldi, S.; Sisinni, E.; Maffei, D.; Malara, M. Impact of Quality of Service on Cloud Based Industrial IoT Applications with OPC UA. Electronics 2018, 7, 109. [Google Scholar] [CrossRef]
  85. Chen, Z.; Chen, S.; Feng, X. A design of distributed storage and processing system for Internet of Vehicles. In Proceedings of the 2016 8th International Conference on Wireless Communications and Signal Processing (WCSP), Yangzhou, China, 13–15 October 2016; pp. 1–5. [Google Scholar]
  86. Biswas, A.R.; Giaffreda, R. IoT and cloud convergence: Opportunities and challenges. In Proceedings of the 2014 IEEE World Forum on Internet of Things (WF-IoT), Seoul, Korea, 6–8 March 2014; pp. 375–376. [Google Scholar]
  87. Alonso, L.; Barbarán, J.; Chen, J.; Díaz, M.; Llopis, L.; Rubio, B. Middleware and communication technologies for structural health monitoring of critical infrastructures: A survey. Comput. Stand. Interfaces 2018, 56, 83–100. [Google Scholar] [CrossRef]
  88. Lilis, G.; Kayal, M. A secure and distributed message oriented middleware for smart building applications. Autom. Constr. 2018, 86, 163–175. [Google Scholar] [CrossRef]
  89. Fortino, G.; Guerrieri, A.; Russo, W.; Savaglio, C. Integration of agent-based and cloud computing for the smart objects-oriented IoT. In Proceedings of the 2014 IEEE 18th International Conference on Computer Supported Cooperative Work in Design (CSCWD), Hsinchu, Taiwan, 21–23 May 2014; pp. 493–498. [Google Scholar]
  90. Yuan, D.; Jin, J.; Grundy, J.; Yang, Y. A framework for convergence of cloud services and Internet of things. In Proceedings of the 2015 IEEE 19th International Conference on Computer Supported Cooperative Work in Design (CSCWD), Calabria, Italy, 6–8 May 2015; pp. 349–354. [Google Scholar]
  91. Hou, L.; Zhao, S.; Li, X.; Chatzimisios, P.; Zheng, K. Design and implementation of application programming interface for Internet of things cloud. Int. J. Netw. Manag. 2017, 27, e1936. [Google Scholar] [CrossRef]
  92. Vulpe, A.; Arseni, Ş.C.; Marcu, I.; Voicu, C.; Fratu, O. Building a Unified Middleware Architecture for Security in IoT. In Proceedings of the World Conference on Information Systems and Technologies, Madeira, Portugal, 11–13 April 2017; Springer: Cham, Germany, 2017; pp. 105–114. [Google Scholar]
  93. Ngu, A.H.; Gutierrez, M.; Metsis, V.; Nepal, S.; Sheng, Q.Z. IoT middleware: A survey on issues and enabling technologies. IEEE Internet Things J. 2017, 4, 1–20. [Google Scholar] [CrossRef]
  94. Hossain, M.S.; Muhammad, G. Cloud-assisted industrial internet of things (iiot)–enabled framework for health monitoring. Comput. Netw. 2016, 101, 192–202. [Google Scholar] [CrossRef]
  95. Manogaran, G.; Thota, C.; Lopez, D.; Sundarasekar, R. Big data security intelligence for healthcare industry 4.0. In Cybersecurity for Industry 4.0; Springer: Berlin, Germany, 2017; pp. 103–126. [Google Scholar]
  96. Xu, G.; Gao, S.; Daneshmand, M.; Wang, C.; Liu, Y. A survey for mobility big data analytics for geolocation prediction. IEEE Wirel. Commun. 2017, 24, 111–119. [Google Scholar] [CrossRef]
  97. Verma, S.; Kawamoto, Y.; Fadlullah, Z.M.; Nishiyama, H.; Kato, N. A survey on network methodologies for real-time analytics of massive IoT data and open research issues. IEEE Commun. Surv. Tutor. 2017, 19, 1457–1477. [Google Scholar] [CrossRef]
  98. Hosseini, M.P.; Tran, T.X.; Pompili, D.; Elisevich, K.; Soltanian-Zadeh, H. Deep learning with edge computing for localization of epileptogenicity using multimodal rs-fMRI and EEG big data. In Proceedings of the 2017 IEEE International Conference on Autonomic Computing (ICAC), Columbus, OH, USA, 17–21 July 2017; pp. 83–92. [Google Scholar]
  99. Sookhak, M.; Yu, F.R.; Zomaya, A.Y. Auditing Big Data Storage in Cloud Computing Using Divide and Conquer Tables. IEEE Trans. Parallel Distrib. Syst. 2018, 29, 999–1012. [Google Scholar] [CrossRef]
  100. Wan, J.; Tang, S.; Hua, Q.; Li, D.; Liu, C.; Lloret, J. Context-aware cloud robotics for material handling in cognitive industrial internet of things. IEEE Internet Things J. 2018, 5, 2272–2281. [Google Scholar] [CrossRef]
  101. Jayasena, K.P.N.; Li, L.; Xie, Q. Multi-modal multimedia big data analyzing architecture and resource allocation on cloud platform. Neurocomputing 2017, 253, 135–143. [Google Scholar] [CrossRef]
  102. Chard, R.; Chard, K.; Wolski, R.; Madduri, R.; Ng, B.; Bubendorfer, K.; Foster, I. Cost-Aware Cloud Profiling, Prediction, and Provisioning as a Service. IEEE Cloud Comput. 2017, 4, 48–59. [Google Scholar] [CrossRef]
  103. Ma, L.; Tao, L.; Gai, K.; Zhong, Y. A novel social network access control model using logical authorization language in cloud computing. Concur. Comput. Pract. Exp. 2017, 29, e3893. [Google Scholar] [CrossRef]
  104. Bianchini, D.; De Antonellis, V.; Melchiori, M. Services Discovery and Recommendation for Multi-Datasource Access: Exploiting Semantic and Social Technologies; A Comprehensive Guide through the Italian Database Research over the Last 25 Years; Springer: Cham, Germany, 2018; pp. 375–390. [Google Scholar]
  105. Li, H.; Zhu, H.; Du, S.; Liang, X.; Shen, X.S. Privacy leakage of location sharing in mobile social networks: Attacks and defense. IEEE Trans. Dependable Secure Comput. 2018, 15, 646–660. [Google Scholar] [CrossRef]
  106. Pham, V.V.H.; Yu, S.; Sood, K.; Cui, L. Privacy issues in social networks and analysis: A comprehensive survey. IET Netw. 2017, 7, 74–84. [Google Scholar] [CrossRef]
  107. Zhang, J.; Xue, N.; Huang, X. A secure system for pervasive social network-based healthcare. IEEE Access 2016, 4, 9239–9250. [Google Scholar] [CrossRef]
  108. Tosh, D.K.; Shetty, S.; Liang, X.; Kamhoua, C.A.; Kwiat, K.A.; Njilla, L. Security implications of blockchain cloud with analysis of block withholding attack. In Proceedings of the 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing, Madrid, Spain, 14–17 May 2017; pp. 458–467. [Google Scholar]
  109. Farahani, B.; Firouzi, F.; Chang, V.; Badaroglu, M.; Constant, N.; Mankodiya, K. Towards fog-driven IoT eHealth: Promises and challenges of IoT in medicine and healthcare. Future Gener. Comput. Syst. 2018, 78, 659–676. [Google Scholar] [CrossRef]
  110. Wang, C.; Zhu, Y.; Shi, W.; Chang, V.; Vijayakumar, P.; Liu, B.; Mao, Y.; Wang, J.; Fan, Y. A Dependable Time Series Analytic Framework for Cyber-Physical Systems of IoT-based Smart Grid. ACM Trans. Cyber-Phys. Syst. 2018, 3, 7. [Google Scholar] [CrossRef]
  111. Sun, G.; Chang, V.; Ramachandran, M.; Sun, Z.; Li, G.; Yu, H.; Liao, D. Efficient location privacy algorithm for Internet of Things (IoT) services and applications. J. Netw. Comput. Appl. 2017, 89, 3–13. [Google Scholar] [CrossRef] [Green Version]
  112. Taylor, R.; Baron, D.; Schmidt, D. The world in 2025-predictions for the next ten years. In Proceedings of the 2015 10th International Packaging, Assembly and Circuits Technology Conference (IMPACT), Taipei, Taiwan, 21–23 October 2015; pp. 192–195. [Google Scholar]
  113. Antunes, J.B.; Denés, I.L.; Castro, T.O.; Macedo, D.F.; dos Santos, A.L. ManIoT: A 2-tier management platform for heterogeneous IoT devices and applications. Int. J. Netw. Manag. 2018, 28, e2034. [Google Scholar] [CrossRef]
  114. Mora-Gimeno, F.; Mora-Mora, H.; Marcos-Jorquera, D.; Volckaert, B. A Secure Multi-Tier Mobile Edge Computing Model for Data Processing Offloading Based on Degree of Trust. Sensors 2018, 18, 3211. [Google Scholar] [CrossRef] [PubMed]
Figure 1. Network topology for one area.
Figure 1. Network topology for one area.
Electronics 07 00309 g001
Figure 2. Latency average in fog and cloud platforms.
Figure 2. Latency average in fog and cloud platforms.
Electronics 07 00309 g002
Figure 3. Network usage by fog and cloud platforms (in Bytes).
Figure 3. Network usage by fog and cloud platforms (in Bytes).
Electronics 07 00309 g003
Figure 4. Energy consumption in fog and cloud platforms (in KJ).
Figure 4. Energy consumption in fog and cloud platforms (in KJ).
Electronics 07 00309 g004
Table 1. Related surveys on edge computing.
Table 1. Related surveys on edge computing.
ReferenceTopicsBackground DescribedChallenges and Opportunities Discussed
[5]Edge technologiesOverview of concepts, applications and benefits of edge computing in different areas.Programmability, naming, data abstraction, service management, privacy, security and optimization metrics.
[6]Edge technologiesDescription of existing solutions for distributed data stream processing and the techniques to manage resource elasticity features of clouds.Development and deployment of stream processing applications under heterogeneous distributed architectures.
[7]Communication networksOverview of benefits of edge computing technologies in future 5G mobile networks.Wireless backhauling, security, management and orchestration of services.
[8]Mobile edge computingReview on computation/communication components of the typical existing solutions in mobile edge computing (MEC).Mobility management, deployment, privacy, security, and standardization of MEC systems in terms of 5G.
[9]Mobile edge computingOverview of concepts and applications of mobile edge computing.Computational offloading, infrastructures, security and privacy mechanisms, resource optimization, and pricing in MEC.
[10]Security Overview of the edge approaches (like fog computing, mobile cloud computing and mobile edge computing) and the integration of security mechanisms in edge paradigms.Security challenges in edge paradigms like trust management, Identity and authentication, Intrusion detection systems, protocol and network security.
[11]Security Overview of security and privacy issues of fog computing.Security challenges of fogging like access control, intrusion detection systems, secure and private data computation.
[12]FoggingOverview of concepts and applications of fog computing.Network issues, quality of service (QoS), accounting, billing, monitoring, computation offloading, programming model, resource management, security and privacy in fog computing.
[13] Communication networksOverview of concepts and network applications of fog computing.SDN communication, incentives, standardization, heterogeneity, resource management, radio access networks, and offloading in fog computing.
[14]FoggingOverview of concepts and applications of fog computing and classification of fog systems according to five criteria: heterogeneity, QoS management, scalability, mobility and federation.Classification of current architectural and algorithmic challenges in fogging according to five criteria: heterogeneity, QoS management, scalability, mobility and federation.
[15]Edge technologiesOverview of multi-access edge architectures and orchestration deployment options.Orchestration, programmability, QoE, resiliency, continuity, mobility, monetization, and security of MEC services.
[16]Communication networksOverview of 5G and fog computing technologies.Ubiquity of devices, connectivity, network management, privacy and security challenges in fog computing.
[17]FoggingOverview of fog computing as an intermediate layer between IoT devices and cloud datacentres.Context-aware resource, service provisioning, multi-tenant Support, power management, distributed application deployment, pricing, programming languages, simulation tools, sustainable and reliable services in fogging.
[18]Big dataOverview of fog computing in terms of Big Data.Programming models, data management, security, privacy, and trust for fog applications.
[19]Mobile edge computingOverview of concept mobile edge computing and computation offloading to MEC.Computation offloading challenges in MEC: offloading decision, allocation of computing resources, mobility management and distribution, management of MEC resources, and traffic paradigm imposed by coexistence of offloaded data and conventional data.
[20]Edge technologiesOverview of edge computing motivation and edge technologies (i.e., cloudlet).Resource management and allocation, scalability of resource provisioning strategies, data abstraction, fault tolerance and quality of service, security and privacy in the edge computing.
Table 2. An overview of edge computing implementations.
Table 2. An overview of edge computing implementations.
ReferenceDescription
[41]mF2C is a European project that aims to design, implement and validate novel management for a coordinated fog and cloud computing systems
[42]Google’s Go language used to implement fog architecture for IoT applications
[43]Cloud and fog environments are used to develop application for smart healthcare environments that is being developed as part of OpSIT-Project-Germany
[44,45]Nippon Telegraph and Telephone Corporation (NTT) developed an edge accelerated web platform to reduce the response time for cloud applications
[46]Implementation of fog node to manage heterogeneous smart objects in complex IoT scenarios
[47]Implementation of a wearable cognitive assistance based on Google Glass and cloudlet
[48]Development of the CloudAware framework based on mobile edge features to design elastic mobile applications
[49]Cisco Kinetic platform provides fog processing module to process IoT Data
[50]Vortex platform allows to connect each vortex edge device to an IoT device to construct global shared fog domain
[51]The Nokia Multi-access Edge Computing (MEC) platform for processing mobile network applications
[52]Cisco IOx platform offers edge features to develop IoT applications
[53]FogSim simulator allows the manipulation of edge features
[54]ParaDrop is an edge computing platform for wireless gateways and applications
[55]Mobile Fog is a programming model for large scale IoT applications
[56]Implementation of a cloudlet mesh architecture for securing mobile clouds from network attacks
[57]WiCloud is a mobile edge computing platform with OpenStack for enhancing location-awareness and managing inter-mobile-edge communication
[58]HomeCloud framework integrated NFV (Network Function Virtualization) and SDN (Software Defined Networking) for orchestration and application delivery in the Edge-cloud
[59]Implementation of the MQTT broker functionalities at Fog computing node based on SDN for orchestration of IoT devices
[60]Implementation of cloudlet based on SDN for patient monitoring
[61]A converged wireless access architecture based on edge servers for heterogeneous cloud access networks
[62]UbiFlow framework for management and configuration of heterogeneous IoT networks
[63]FSDN is a Vehicular Adhoc Network (VANET) based on fog features for supporting connectivity, mobility, scalability and flexibility of VANETs
[64]OpenFog is a consortium that provides fogging features
[65]F2C (Fog-to-Cloud) computing is a hierarchical layered architecture relying on a coordinated and distributed management of both fog and cloud platforms
[66]F2F (Fog-to-Fog) architecture allows fogs to communicate with each other
Table 3. An overview of edge computing approaches and research works.
Table 3. An overview of edge computing approaches and research works.
ReferencesDate of PublicationDescriptionCollaborator with Cloud ArchitecturesExtender of Centralized Cloud PlatformsMiddle LayerMain Research Domains DiscussedAdvantages of Edge SolutionsDrawbacks of Edge Solutions
[67]2016Fog computing architecture supporting software-defined embedded system equipped with the resources of clients to compute and store data.NoYesNo
  • Resource management
  • Balance the workload on a client device and computation servers.
  • Place task images on storage servers.
  • Balance the I/O interrupt requests among the storage servers.
  • Limited fog resources (like memory) cause the pervasiveness of the execution environment.
[68]2013Edge servers in fog computing architecture are used to improve web-site performance.NoYesNo
  • Network communication
  • Use context awareness available at the fog nodes to adapt with the current users’ conditions.
  • Optimize the rendering of web-site.
  • Save the bandwidth.
  • Reduce latency for content delivery.
  • The context of the other edge technologies does not be addressed.
[43]2015Fogging is proposed as an intermediate role at the edge to develop a smart healthcare application that is being developed as part of OpSIT-Project -Germany.NoNoYes
  • Network communication
  • Provide low latency, mobility support, location awareness, and security for the end-users.
  • Improve the quality of health services.
  • Real world implementation and experimental evaluation of the services are missed.
[69]2015Fog computing is proposed to manage the IoT resources and allow cloud platforms to act according to the current situations of clients (i.e., pricing).NoNoYes
  • Resource management
  • Use fog nodes to provide Efficient scheduling, allocation, pricing, security, and management of cloud resources.
  • Predict the necessary cloud resources for processing users’ tasks.
  • The heterogeneity of services and the impact of mobility at the edge are not addressed.
[44,45]2013Nippon Telegraph and Telephone Corporation (NTT) developed an edge accelerated web platform to reduce the response time for cloud applications.NoNoYes
  • Network communication
  • Improve response time of cloud applications like intelligent transport control systems.
  • Support the transmission of huge IoT data.
  • The catching data within the proposed platform is not discussed.
[70]2017Multi Fog nodes based on a Hierarchical Game Approach proposed to interact with multiple cloud provider to reduce delay and cost for the clients.NoNoYes
  • Resource management
  • Solve the virtualized resource allocation problem.
  • Offer the optimal amount of virtualized resources based on users’ requests.
  • Achieve a stable resource allocation solution.
  • It focused on reducing delay without considering how to ensure task completion given a certain delay constraint.
  • It ignored the high concurrency of fog servers.
[71]2016Fog computing proposed to improve the QoS by using the context of multi-media IoT devices.NoYesNo
  • Resource management
  • Estimate the cloud resources necessary for processing requests according to the behavior and historical record of users.
  • Minimize cloud resources underutilization.
  • Enhance the quality of services.
  • It does not discuss how the other edge paradigms are investigated to improve the quality of services.
[72]2015Fogging based system model proposed to solve the pairing problem with the same domain of IoT nodes.NoYesNo
  • Resource management
  • Network communication
  • Reduce cost by using IoT resources that share their own available resources between each other in Fog platforms.
  • Augment the local fog capabilities by exploiting the available IoT resources.
  • Exploit the ability of IoT devices to use various networks technologies like WiFi and Bluetooth.
  • It does not describe how fog servers could collaborate with the other edge paradigms like cloudlets.
[73]2015Fog computing based on distributed Dataflow programming mode suggested to develop IoT applications according to the perspective of the fogging.YesNoNo
  • Programming model
  • Offer a generic IoT development model that integrate easily with edge and cloud platforms.
  • Allow IoT devices to exploit easily the advantages of edge paradigms such as reducing cost and time of execution.
  • a distributed discovery and communications infrastructure are required to facilitate the communication between IoT devices that span multiple networks.
[74]2015Fog Computing Based UV (ultraviolet radiation) measurement for mobile phones.NoYesNo
  • Programming model
  • Use personal mobile phones within the fogging to measure UV.
  • The cooperation of mobile phones and fog platforms are not described.
  • How to save the energy of mobile phones is not discussed.
[75]2014Fog Computing based smart gateway proposed to enhance the communication between cloud and IoT devices.NoNoYes
  • Cloud service management
  • Provide an efficient mechanism for pre-processing the data before sending to the cloud.
  • Create quick cloud service provisioning.
  • Reduce delay of sensitive IoT applications.
  • The heterogeneity of IoT, edge, and cloud paradigms is not addressed.
[76]2015multiple cloudlets used in Fog computing to enhance the migration of virtual machines to cloud platforms.NoNoYes
  • Resource management
  • Network communication
  • Exploit the properties of fogging to support the capability of mobile devices like providing low latency.
  • Support virtual machine migration between mobile devices and clouds.
  • The other edge paradigms are not discussed.
[77]2016A second fog layer is proposed to enhance the communication of cloud and fog infrastructures.YesYesYes
  • Coordinated management of fog-to-cloud systems
  • Support the communication between clouds and IoT devices.
  • Minimize the necessity of demanding further Cloud resources.
  • Minimize delay inter-fog node communication.
  • Minimize cloud access delay.
  • The other edge paradigms are not investigated.
  • The heterogeneity of IoT, edge, and cloud paradigms is not addressed.
[65]2016A new strategy proposed to coordinate the different cloud and fog resources.YesYesYes
  • Coordinated management of fog-to-cloud systems
  • Emerge fog and cloud services.
  • Provide a highly distributed and dynamic edge-cloud services such as computing and storage.
  • Bring together heterogeneous and commodity edge devices.
  • Deploy different smart value-added services.
  • The other edge paradigms, security, network traffic control, and middleware for managing the resources are not addressed.
[78]2015A new solution proposed to enhance the cooperation between the fog and the cloud.YesYesYes
  • Coordinated management of fog-to-cloud systems
  • Save communication bandwidth.
  • Reduce transmission latency.
  • Improve significantly the performance of cloud services.
  • Security, scheduling policies of resources, and selection of multiple cloud services are not addressed.
  • The other edge paradigms are neglected.
[79]2017Deployment of application modules in fog-cloud infrastructure to manage the IoT resources in the network infrastructure.YesYesYes
  • Coordinated management of fog-to-cloud systems
  • Provide real-time IoT data processing.
  • Reduce transmission latency.
  • Improve the QoS for IoT devices.
  • Security, scheduling policies of resources, and selection of multiple cloud services are not addressed.
  • The other edge paradigms are neglected.
[46]2015A fog node for managing heterogeneous smart objects in complex IoT scenarios.NoYesNo
  • Resource management
  • Network communication
  • Support the interaction of the IoT application with fog nodes.
  • Support multiple network access at the edge computing.
  • Enhance the networks capabilities.
  • The impact of mobility at the edge, security, and other edge technologies are not addressed.
[42]2016Google’s Go language used to implement fog architecture for IoT applications.NoYesNo
  • Programming model
  • Provide interoperability, real-time interaction with cloud services.
  • Reduce transmission latency.
  • Develop suitable application for fog and IoT platforms.
  • Limited fog resources cannot handle large amounts of requests such as lack of memory usage.
  • Issue with parallel computational of IoT tasks.
  • The other edge paradigms are not investigated.
[47]2014Development of a wearable cognitive assistance based on Google Glass and cloudlet.NoYesNo
  • Programming model
  • Exploit different edge paradigms and their advantages like cloudlet.
  • Attain the low end-to-end latencies.
  • Limited edge resources like limited battery capacity and limited processing capability of wearable devices.
  • Security and multiple network technologies are not investigated.
[48]2015Development of the CloudAware framework based on mobile edge features to design elastic mobile applications.NoYesNo
  • Resource management
  • Reduce transmission latency.
  • Speed up and perform geo-distributed IoT data.
  • Save energy and bandwidth.
  • Support offloading operation at the edge computing.
  • Selection of edge services, caching concepts, security features, and multiple network technologies are not addressed.
[55]2013Mobile Fog is a programming model for large scale IoT applications.NoYesNo
  • Programming model
  • Support low latency and scalability requirements of diverse IoT applications.
  • Finding enough mobile fog resources to support the distributed geospatial IoT applications.
[56]2015Implementation of a cloudlet mesh architecture for securing mobile clouds from network attacks.NoNoYes
  • Security
  • Network communication
  • Safeguard mobile cloud services from intrusions and network attacks.
  • Mobile edge paradigm (like mobile cloudlet) is not discussed.
[57]2016WiCloud is a mobile edge computing platform with OpenStack for enhancing location-awareness and managing inter-mobile-edge communication.NoYesNo
  • Network communication
  • Provide cloud services at the edge of the mobile network.
  • Save energy and bandwidth.
  • Allow IoT application to access to real-time network information directly.
  • Multi-service selection, multi network access, security features are not discussed.
[58]2016HomeCloud framework integrated NFV (Network Function Virtualization) and SDN (Software Defined Networking) for orchestration and application delivery in the Edge cloud.NoNoYes
  • Network communication
  • Programming model
  • Offer easy interaction with cloud services and IoT devices.
  • Provide a new suitable application delivery mechanism based on the advantages of edge computing.
  • Enhance the internal communications among cloud, edge, and IoT platforms.
  • Multi- interaction with cloud services and networks, security, usability, portability and flexibility in mobile environment of HomeCloud framework are not addressed.
[59]2016Implementation of the MQTT broker functionalities at Fog computing node based on SDN for orchestration of IoT devices.NoYesNo
  • Network communication
  • Programming model
  • Perform the MQTT broker functionalities for delivering messages in a reliable manner to the end-host.
  • Offer flexible and manageable development platform for the network designers.
  • Enhance the basic IoT functionalities and analytics.
  • Scheduling policies, catching mechanism, integration of the MQTT broker functionalities with other edge paradigms are not addressed.
[60]2016Implementation of cloudlet based on SDN for patient monitoring.NoNoYes
  • Network communication
  • Enable patients to access healthcare services at competitive costs.
  • Provide a faster and more efficient healthcare feedback to patients.
  • Mobility concept, advantages of the mobile edge paradigms, security and privacy information of the data patients are not addressed.
[60]2015A converged wireless access architecture based on edge servers for heterogeneous cloud access networks.NoNoYes
  • Network communication
  • Programming model
  • Costs of networking resource will be lower for the end-clients.
  • Implementation of various wireless protocols and criteria used for selecting network services are not discussed.
[61]2015UbiFlow framework for management and configuration of heterogeneous IoT networks.NoYesNo
  • Mobility Management resource
  • Network communication
  • Optimize the selection of access points in multi-networks.
  • Satisfy IoT flow requests.
  • Guarantee network performance for each IoT domain.
  • Achieve scalable mobility management and robust flow scheduling in IoT multi-networks.
  • Keep up with the changing traffic volumes provided by SDN in a flexible manner.
  • Network virtualization, northbound interface standardization, synchronization, capabilities of SDN in term of software are not discussed.
[63]2015FSDN is a Vehicular Ad-hoc Network (VANET) based on fog features for supporting connectivity, mobility, scalability and flexibility of VANETs.noyesno
  • Management resource
  • Network communication
  • Exploit resource manager and Fog orchestration to support surveillance services.
  • Resolve the main challenges in VANETs which are: poor connectivity, less scalability, less flexibility, and less intelligence.
  • Augment Vehicle-to-Vehicle (V2V), Vehicle-to-Infrastructure (V2I), Vehicle-to-Base Station communications and SDN centralized control.
  • Optimize resources utility and reduce latency by exploiting the advantages of fog computing.
  • Investigation of SDN characteristics, development of new protocols at SDN controller, backup mechanisms, optimization of the resource utilization and service hosting, migration, and replication are not discussed.
[66]2017Fog-to-Fog architecture allows fogs to communicate with each other, and it reduces the overall end-to-end delay for F2C.YesYesYes
  • Coordinated management of fog-to-cloud systems
  • Help IoT devices to meet their hard-constraints.
  • Support the transmission of IoT data to the fog.
  • Enhance and upgrade the Fog-to-Cloud (F2C) communication.
  • Increase the probability of IoT jobs to meet their delay-related requirements.
  • Consolidate the fog nodes into one virtual fog with higher availability, better storage and processing power.
  • Communication and synchronization between fogs or between the cloud and the fog layer, catching mechanism, selection of services within F2C, Investigation of other edge technologies (like mobile cloudlet) are not discussed.
Table 4. Description of network links.
Table 4. Description of network links.
SourceDestinationLatency (ms)
PTZ_CTRL (pan–tilt–zoom _control)camera1
VIDEOCamera6
GW (WiFi gateway)ISP GW2
ISP GW (Internet Service Provider)cloud200
CameraGW 2
Table 5. Type of computing resources.
Table 5. Type of computing resources.
TypeDownlink Bandwidth (Mbps)Uplink Bandwidth (Mbps)RAM (MB)Processing Capability (Mips)Rate per Mips
Cloud10,00010040,00020,0000.001
ISP GW10,00010,000400020000
GW10,00010,000400020000
camera27010,000100014000

Share and Cite

MDPI and ACS Style

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. https://doi.org/10.3390/electronics7110309

AMA Style

Bangui H, Rakrak S, Raghay S, Buhnova B. Moving to the Edge-Cloud-of-Things: Recent Advances and Future Research Directions. Electronics. 2018; 7(11):309. https://doi.org/10.3390/electronics7110309

Chicago/Turabian Style

Bangui, Hind, Said Rakrak, Said Raghay, and Barbora Buhnova. 2018. "Moving to the Edge-Cloud-of-Things: Recent Advances and Future Research Directions" Electronics 7, no. 11: 309. https://doi.org/10.3390/electronics7110309

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