sensors-20-06441
sensors-20-06441
net/publication/345733902
CITATIONS READS
42 4,117
3 authors, including:
Some of the authors of this publication are also working on these related projects:
ILA3: a new inductive learning algorithm with feature extraction capabilities View project
All content following this page was uploaded by Salam Hamdan on 11 November 2020.
Abstract: The rapid growth of the Internet of Things (IoT) applications and their interference with
our daily life tasks have led to a large number of IoT devices and enormous sizes of IoT-generated
data. The resources of IoT devices are limited; therefore, the processing and storing IoT data in these
devices are inefficient. Traditional cloud-computing resources are used to partially handle some
of the IoT resource-limitation issues; however, using the resources in cloud centers leads to other
issues, such as latency in time-critical IoT applications. Therefore, edge-cloud-computing technology
has recently evolved. This technology allows for data processing and storage at the edge of the
network. This paper studies, in-depth, edge-computing architectures for IoT (ECAs-IoT), and then
classifies them according to different factors such as data placement, orchestration services, security,
and big data. Besides, the paper studies each architecture in depth and compares them according to
various features. Additionally, ECAs-IoT is mapped according to two existing IoT layered models,
which helps in identifying the capabilities, features, and gaps of every architecture. Moreover, the
paper presents the most important limitations of existing ECAs-IoT and recommends solutions to
them. Furthermore, this survey details the IoT applications in the edge-computing domain. Lastly, the
paper recommends four different scenarios for using ECAs-IoT by IoT applications.
1. Introduction
The Internet of Things (IoT) is expanding into different aspects of our lives with technologies
and applications in, for example, smart cities, healthcare, and smart homes [1]. Tens of billions
of objects are connected to the Internet [2], and the industry expects 50 billion IoT devices to
existing by 2020 [3]. However, IoT devices are limited in resources such as storage and processing
power, which impacts the performance, security, reliability, and privacy of IoT-based solutions and
applications [4,5]. Many applications are enhanced by integrating the IoT and cloud computing.
Examples of such applications are in healthcare [6–8], smart cities [8–10], smart homes [11], smart
metering [5], video surveillance [5] such as smart urban surveillance applications [12], agriculture [13],
such as greenhouse environment-monitoring system [14], and smart mobility [15], such as smart
tourism destinations [16]. Although IoT devices are limited in resources, cloud computing helps IoT in
addressing such limitations [5,17].
IoT data are transmitted continuously from applications to a central storage unit, which is
usually located in a cloud center [18]. Some IoT applications require low latency time and they may
need real-time processing. Handling such requirements by cloud computing is not suitable [19].
Thus, edge computing is crucial for fulfilling these requirements by deploying cloud-computing-like
capabilities at the edge of the network [20]. This survey paper focuses on current edge-computing
architectures (ECAs) for IoT applications (ECAs-IoT). This paper introduces the ECA-IoT concept and
surveys current ECAs-IoT and possible research opportunities. We define an ECA-IoT as a computing
architecture that comprises IoT, edge, and cloud-computing devices, software, network protocols,
and infrastructure that are connected to deliver certain services. The IoT devices include smart devices,
sensors, and actuators that interact and communicate with each other along with end-users. IoT devices
are managed and secured by devices that are located at the edge of the network, edge devices, which
are under centralized control located in the cloud. ECAs-IoT were proposed to support IoT applications.
While some ECAs-IoT focus on solving the data-placement issue to reduce latency time, other ECAs-IoT
focus on reducing cost by proposing service-allocation-based architectures. Some ECAs-IoT also
focuses on network management by using software-defined networking for network orchestration.
Additionally, several ECAs-IoT aims to analyze the huge amount of data that are generated by
IoT devices. Other architectures focus on preserving security and privacy. The continuous data
transmission from IoT devices increases pressure on bandwidth consumption, which requires efficient
approaches for data management, which is the focus of some ECAs-IoT. The majority of IoT surveys
handle various aspects, such as IoT architectures, IoT applications, and fog-computing challenges
for IoT. However, none of them provided a study on edge computing architectures that handle
IoT challenges and classify them. Because many researchers studied Edge computing for a while,
incorporating ECAs-IoT and IoT challenges should be of further research.
This paper was written to help in recognizing many open research questions that can be addressed
using current ECAs-IoT. Examples of these open research areas include the need for better IoT
data-placement strategies inappropriate edge nodes, the need for task allocation among edge nodes to
enhance efficiency, the lack of architecture orchestration, and security requirements.
We classified ECAs-IoT according to the following criteria:
• Challenge-based: an ECA-IoT that handles different challenges such as optimizing data placement,
task and service allocation, service orchestration, and big-data analysis.
• Technology-based: an ECA-IoT is selected based on the technology it employs, such as
software-defined networking (SDN) and machine learning (ML).
• A new important term (ECA-IoT) that relates key computing technologies (edge, cloud, and IoT)
is introduced and defined.
• Existing ECAs-IoT are reviewed in detail. To the best of our knowledge, this is the first survey
that classifies them based on IoT challenges. This classification is a starting point for studies that
aim to propose new ECAs-IoT.
• Classified ECAs-IoT is mapped to two IoT layered models that are currently used in the literature.
This standardization and mapping effort helps in identifying the capabilities, features, and gaps
of every architecture.
• Taxonomy is presented for IoT applications that are based on several categories such as the
application function, the structure of IoT application, the traffic amount, sensitivity to delay,
and the need for data processing at the edge of the network or in the cloud.
• Four new different scenarios for using the ECAs-IoT by IoT applications are recommended.
The proposed scenarios are referred to as Use, Modify, Merge, and New.
Figure 1 shows the overall road map of the paper. This paper is organized, as follows. Section 2
provides the methodology of writing this survey. Section 3 provides the background of key survey
topics. Section 4 summarizes surveys related to this survey. Section 5 classifies ECAs-IoT on the
basis of issues that they address. Section 6 maps ECAs-IoT to 5/3-layer models. Section 7 lists some
Sensors 2020, 20, 6441 3 of 52
ECAs-IoT limitations. Section 8.2 classifies and recommends suitable ECAs-IoT for IoT applications.
Lastly, Section 10 concludes the paper.
2. Methodology
To conduct a systematic review, this article covers the ECAs-IoT. The process of selecting research
articles, including the inclusion or exclusion of related articles, is illustrated in the following sections:
• RQ3: What is the most appropriate network architecture that can be adopted in ECAs-IoT?
(Section 6)
• RQ4: What are the main challenges that ECAS-IoT face? (Section 7)
The search found more than 1300 articles, and the most relevant articles were chosen.
Despite the potential advantages, the IoT faces various challenges in relation to:
• Scalability: the capability of a network, process, or system to deal with an expanding amount
of work in a skillful manner. This is a serious issue in the IoT due to the variety of applications
accessing raw data [30]. Additionally, many IoT applications involve a large number of IoT
devices that continuously change and grow according to need such as smart cities IoT enabled
environment.
• Self-organizabiliy: in the case of network failure that happen due to a node, link, or communication
failure [31], the network should be able to bootstrap communication between devices.
Self-organizing improves network availability [32].
• Data size: the generated data from IoT devices are huge and heterogeneous; therefore, there
is a need for an adequate storage mechanism and effective data-transmission protocols in IoT
networks [33].
• Timely data analysis: for real-time applications, immediate data analysis is required. Therefore,
new technologies, such as edge computing, should be fused with IoT networks [34].
• Interoperability: the heterogeneity and the large number of IoT devices with different
functionalities and applications, produced by different trademarks with their own proprietary
standards, is a clear challenge. Therefore, IoT networks must be able to deal with heterogeneity
and variety.
• Bandwidth scarcity: IoT devices consume bandwidth to collect and transmit data and the
increasing number of IoT devices increases the demand for bandwidth; in addition, bandwidth
must be available to deal with IoT application requirements [35].
Sensors 2020, 20, 6441 6 of 52
• Storage: cloud computing provides low-cost secure storage and computing services for IoT
data [40], and provides customers with the ability to access their data anytime and anywhere and
pay only for what they store.
• Scalability: cloud computing can handle the expanding number of IoT devices by troubleshooting
and efficiently maintaining them. Resources, such as bandwidth and storage, could also be
optimized according to IoT application demands [41–43].
• Performance: cloud computing could enhance the performance by processing IoT data in the
cloud and reduce the burden on IoT devices, in addition to the high processing resources of cloud
computing better than IoT devices [17].
Although the IoT is largely dependent on cloud architectures, cloud computing cannot always
make optimal decisions regarding many aspects such as processing and data storage. Storing every
single reading by a temperature sensor is inefficient. Thus, a new architecture needs to be considered,
due to the following reasons:
• Latency: many IoT applications interacted with the real environment through sensing and
actuation, which makes these applications latency-critical applications, such as e-health
applications. Integrating IoT applications with cloud computing alone is not enough due to
the distance of cloud computing resources of IoT devices, therefore, integrating cloud with edge
computing solves this issue as discussed in the next subsection [44,45].
• Data size: the increasing number of IoT devices means more bandwidth needed to transmit
IoT data to the cloud especially when smartphones are capable to send streaming videos and
photos to the cloud, which leads to bringing cloud-like services near to the end-user to reduce the
bandwidth required to transmit IoT data [46].
Sensors 2020, 20, 6441 7 of 52
• Constrained resources: IoT devices e.g sensors are constrained with resources such as a limited
battery. Transmitting IoT data to cloud servers consumes battery; therefore, bringing cloud
services near to IoT devices is a requirement for resource-constrained devices to ensure the quality
of service in IoT networks [47].
• Availability: IoT devices must be connected to the cloud, especially in time-critical applications,
and to obtain this condition IoT devices should be always connected to the internet, which is a
burden on IoT devices, especially with constrained resources [48].
• Efficiency: an edge device takes full advantage of the available resources by allocating storage,
computing, and control functions to available resources in any place between the end-user and
cloud [19]. This allows for IoT devices to efficiently utilize the shared edge-computing resources.
• Cognition: an edge device is conscious of customer requirements [49]. For example, in an e-health
system, especially in emergency patient situations, the physical health of patients is monitored
via IoT devices, and computation-resource allocation is adjusted based on users’ health-risk
grade [50].
• Agility: it is quicker and inexpensive to experiment with edge devices and clients, because data
processing and storage are done close to the end user [51].
• Latency: edge computing supports time-critical applications by enabling data analysis and data
processing near the end-user, which grants IoT applications the ability to make decisions faster
and better [52].
• Cloudlet is a group of computers that represent a small data center referring to cloudlet nodes
dedicated to providing services to IoT devices located within the same geographical area [54].
• Fog computing was first introduced by Bonomi et al. [55] in 2012. Fog terminology comes from
the fact that fog is closer to the end-user than to the cloud [56]. Fog computing is a decentralized
infrastructure of computing nodes in which the services provided to end-users are located between
end-users and the cloud [57]. Fog-computing nodes are heterogeneous; thus, various types of
devices could be fog-computing devices: switches [58], industrial controllers [59], and access
points [60]. This leads to the flexibility of fog computing because fog-computing nodes could
be located anywhere between end-users and the cloud [61]. Fog-computing nodes also transfer
Sensors 2020, 20, 6441 8 of 52
small payloads faster than cloudlets do. However, it is four times slower than cloudlet is when
transferring larger payloads [62].
• Mobile edge computing (MEC) or multiaccess edge computing is a network that provides
cloud-computing services to mobile devices at the edge of a mobile network to reduce
latency [63,64]. On the other hand, MEC enhances cellular network services with low latency [65]
and high bandwidth [66] analyzes huge amounts of data before sending them to the cloud [67],
and provides context-aware services [68]. Unlike fog-computing nodes, MEC servers could be
deployed at a 3G radio controller or an LTE macro base station [69].
• Security: when IoT data are transmitted to cloud servers for analysis, this can cause security and
privacy issues when using public and private infrastructures. Processing data near the end-user
protects user privacy [72].
• Performance: in time-critical IoT applications, such as in vehicular communications, any small
delay in latency is noticeable [73]; therefore, edge processing is desirable.
• Bandwidth: the increasing number of devices that continuously generate data consumes
bandwidth, such as cameras that keep sending videos and photos [35]. Processing data at
the edge reduces the Internet bandwidth consumption.
• Data integrity: transmitting data to edge devices does not require compression or modifying the
data format. Data are also not exposed to noise during the transmission process [35].
Applying machine learning (ML) algorithms to edge-computing devices has several challenges:
• Complexity: ML algorithms usually run on powerful devices with good resources such as
computing power and memory. On the other hand, edge-computing devices may vary in terms of
resources. Thus, low-complexity ML techniques are required [74].
• Memory constraints: artificial-intelligence (AI) techniques, such as neural networks, require much
memory space to save the parameters of the AI model and the weight vectors that describe
the classification model. Therefore, there is a need to design AI techniques that can run on
resource-constrained devices [74].
An example of machine-learning techniques that are used in edge computing is deep learning
(DL). DL techniques are multilayer neural networks, with each layer being responsible for extracting
specific features from the input dataset. Deep learning is appropriate for edge computing since it is
possible to offload parts of learning layers in edge devices and transfer the reduced intermediate data
to the centralized cloud server. Deep learning could also automatically extract features for different
applications [75]. However, deploying DL in edge infrastructure has several challenges, including:
3.4.4. E-Health
IoT devices can collect health data, transform them into information, and use them to enhance the
quality of health services. The following are some e-health IoT applications:
• Fall detection: designed to more effectively detect falls for the elderly [89–91].
• Remote patient monitoring: uses wearable sensors to remotely monitor patients [92,93].
Sensors 2020, 20, 6441 10 of 52
4. Related Work
This section reviews the literature of related surveys done in the areas of IoT, IoT architectures,
and edge/fog computing. There are 19 key surveys that are available between 2010 and 2020, and this
survey compares them in this section.
Lin et al. [94] provided a comprehensive review of IoT including enabling technologies,
IoT architectures, and privacy and security issues. They also surveyed integrating IoT with fog/edge
computing in terms of applications. However, they did not survey IoT applications. Al-Fuqaha et al.
in [21] provide a comprehensive overview of IoT enabling technologies, applications, and protocols.
Maier [95] compared IoT applications based on popularity and consumer type according to the
following classes: personal, smart environments, homes, and vehicles. Pflanzner et al. [96] studied
20 IoT use cases from three main IoT applications: smart regions, smart cities, and smart homes.
They categorized IoT applications based on several categories: (1) context based on fields and type of
IoT application; (2) participants: focuses on application size, i.e., the number of users and of devices;
(3) sensors: focuses on required sensor types in the IoT application; (4) network requirements such as
network speed; and (5) other: for example, security requirements of the application. Atzori et al. [97]
addressed the vision of the IoT paradigm, surveyed IoT-enabling technologies, and studied the
potential IoT applications. Asghari et al. [98] classified IoT applications based on solutions that
aim to support challenges in the IoT domain. The survey in [99] studied IoT architectures for
domain-specific applications, and briefly summarized IoT cloud systems that support data analysis.
In [100], Razzarue et al. surveyed IoT middleware systems against IoT requirements, including
architectural requirements. Lao et al. in [101] surveyed IoT applications for blockchain systems.
Farahzadi et al. [102] presented cloud-of-things middleware and studied various architectural styles
of middleware and service domains. Sethi et al. [103] proposed a taxonomy for IoT technology,
studied the architectures of IoT in terms of three-layer, five-layer, fog-, and cloud-based architectures,
and social IoT that focuses on the relationship between IoT objects and applications. Abbas et al. [104]
surveyed IoT applications in terms of emerging scenarios, and studied open research challenges for
IoT paradigms. Miorandi et al. [105] studied the IoT in terms of concept and vision, applications,
technologies, and research challenges. Dastjerdi et al. [106] surveyed IoT applications that benefit
from fog computing, and then proposed a reference architecture for IoT, of which the paradigm is
based on a software-defined network (SDN) and fog computing. In [107], Mahmud et al. proposed
a taxonomy for the challenges of fog computing. Markus et al. [108] proposed a taxonomy of
fog-computing simulation-environment modeling. Mouradian et al. [109] surveyed fog-computing
architectures in terms of application-specific architectures and end-user-agnostic applications. They
also surveyed fog-computing algorithms in terms of algorithms for computing, content storage, and
distribution, end-user-specific applications, and energy consumption. They also studied fog-computing
challenges and research directions. Atlam et al. [110] surveyed related works that integrate IoT
with fog computing, presented IoT applications that benefit from fog computing, and studied fog
challenges for IoT applications. Bellavista et al. [111] studied IoT application requirements that
have to be accomplished by fog computing, proposed a fog conceptual architecture for IoT that is
derived from IoT requirements, and proposed a taxonomy for components and used characteristics
of fog-computing applications for IoT that is derived from the proposed conceptual architecture.
Puliafito et al. [112] surveyed IoT applications that benefit from fog computing, studied research
challenges for fog computing for IoT, and surveyed existing fog-computing platforms for IoT.
Table 1 summarizes these surveys according to the dimensions of focus addressed by each survey.
Dimensions include IoT architectures (IoT arch), IoT applications (IoT apps), IoT challenges, IoT
technologies (IoT tech), fog-computing challenges (FC chall), fog-computing applications for IoT
(FC-IoT apps), edge-computing architectures for IoT ECA-IoT, fog-computing challenges for IoT
(FC-IoT chall), fog-computing algorithms (FC algo), and fog-computing platforms for IoT (FC-IoT
platforms).This table shows that the majority of surveys focus on IoT applications, IoT technologies,
and fog-computing applications for IoT; only one survey focuses on fog-computing challenges.
Sensors 2020, 20, 6441 11 of 52
To the best of our knowledge, we are the first who surveyed an ECA-IoT on the basis of IoT
challenges. Additionally, most of these surveys focus on one or a few dimensions and do not
provide a comprehensive review of ECAs-IoT while our survey paper does. By the same token,
the surveys, in general, addressed the dimensions in a standalone aspect, rather than talking about
the complete picture. Talking about IoT applications independently, or IoT challenges independently
without considering edge computing, does not provide an accurate evaluation when looking at it from
ECA-IoT perspective. Likewise, surveys focused on fog computing without considering IoT will be
missing crucial evaluation elements.
Sensors 2020, 20, 6441 12 of 52
5. Classifications of ECAs-IoT
In this section, ECAs-IoT are classified according to the issues that they address for IoT
applications. Current taxonomies do not consider ECAs-IoT besides they did not take challenges
that face IoT networks in their taxonomies such as IoT data placement challenges, handling security
challenges in ECAs-IoT architectures, handling big data analysis, etc., i.e linking IoT challenges with
ECAs-IoT and, to the best of our knowledge, this taxonomy is the first taxonomy that links ECAs-IoT
with IoT challenges in which this is an important research area, since Edge computing for IoT is being
studied for a while. The taxonomy is summarized in Figure 3:
5.1.2. IFogStorG
Although IFogStorZ is simple to implement, a considerable loss of optimality occurs when data
producers are far from data consumers. Besides, IoT services and the number of fog nodes may vary
among subregions. Subsequently, unbalanced subproblems are found. The aim of IFogStorG [118]
is to enhance runtime performance and minimize the complexity of the data-placement strategy.
Thus, enhanced technology can handle dynamic changes in the network topology. In the partitioning
step, the focus is on the following constraints: (1) the numbers of data items and data hosts are
balanced among subregions to enhance the complexity and (2) data consumers and data producers are
maintained as much as possible in the same subregion, since the efficiency of the strategy depends
on the location relationship among them. As in IFogStor, the authors used matrices to map data
consumers and data producers, fog nodes with their executed data producer, and fog nodes with
implemented data consumers, and they used an adjacency matrix to represent the latency values
existing in the infrastructure. Thereafter, they solved for each subgraph while using the IFogStor
strategy. Subsequently, the results for each subgraph are aggregated, and the final global solution
is found. They evaluated their strategy by using a smart city as a use case. However, if the number
of data subscribers increases, then the data replica and network overhead also increase; therefore,
a trade-off between latency minimization and the number of data replicas should be made.
Clustering, multilevel
VISAGE [129] Network orchestration Does not fit LSD-IoT
SDN and 5G
Reducing latency and big
DDA [132] SDN and cloudlet -
data analysis
FSDN [130] SDN Network orchestration No resource management
SDN and fog No centralized control of the
SDFN [131] Network orchestration
computing entire network
Integer-programming Minimize cost of service Not suitable for large-scale
MFSA [122]
formulation allocation deployment
Affected by
environment-adaptation
Multiagent Task assignment between ability, not suitable for
MAFECA [123]
framework cloud and edge devices large-scale deployment,
and difficult to dynamically
assign tasks
Enhances service allocation
Workload-placement
HAM [124] for small- and large-scale -
algorithm
employment
Transparent Enhances scalability and
SAT [125] Heterogeneity
computing reduce response tome
Enhances scalability and
E-ALPHA [126] - Heterogeneity
interoperability
In [134,135], a similar architecture was suggested while using a hierarchical edge- and
cloud-computing model to collect data from several sensors and sources. Several sensors push data to
the first level of collectors, an edge level that gets pushed to a general cloud provider. The general
provider has all data fused into one place. The data can then be retrieved by customized providers
that can offer further information derived from the fused data where big-data analysis can be applied.
In their architecture, fog centers and cloud centers are untrusted entities, as they try to collect
the original data that are confidential. Fog nodes are semi-trusted, so they have a curiosity about the
original data, as they cannot collude with each other.
In order to aggregate data and preserve privacy at the same time, Yang et al. [136] proposed a
multifunctional aggregation framework that is based on machine learning. The model does not send
the original data, it only sends a predicted value by training the model in order to predict various
query results. The training data are the collected data from each region.
The following presents how the protocol works. The cloud center sends queries to fog centers;
permissible queries that the cloud center could send are average, q-percentile, min, max, summation
aggregation, and medium. The cloud center sends all of these queries to the fog center. However, the
fog center is unable to answer cloud-center queries; therefore, the fog center generates a set of queries
on the basis of the original queries that came from the cloud center.
The fog-node sensory data are reported from the sensors after dividing sensory data into two
parts. The received data are trained and predicted on the basis of the new set of queries that were
generated by the fog center. Lastly, the fog center receives the predicted values and re-sends them to
the cloud center.
Lightweight Security Architecture Based on Embedded Virtualization and Trust Mechanisms for IoT
Edge Devices (LSV)
The authors in [137] proposed a secure ECA-IoT in order to secure edge devices without the need
to re-engineer the applications installed in edge devices by integrating embedded virtualization with
trust mechanisms. The proposed architecture ensures some security requirements: the confidentiality
of permanently stored elements, executed-code authenticity, and run-time state integrity. The security
architecture consists of four security mechanisms: security by separation, secure boot, secure key
storage, and secure interdomain communication.
The edge device is secured on the basis of two factors: (1) root of trust (RoT), in which the edge
device is unclonable in addition to the integrity, nonrepudiation, and authenticity of the running
software at edge devices; and (2) chain of trust (CoT), in which the edge device is designed to boot
up only if cryptographically signed software by a trusted entity is first executed using public-key
cryptography. In addition, the keys are stored in specialized secure hardware; this hardware is also
responsible for verification and RoT processes. As a result, this architecture of embedding virtualization
consists of a number of virtual machines (VM) with different vendors, performing another level of
secure boot verification.
Sensors 2020, 20, 6441 22 of 52
The system architecture is still vulnerable to run-time attacks, even if the CoT is established,
and using hardware-assisted virtualization maintains a trusted execution environment (TEE); thus,
securing it through run time is required. The system architecture was evaluated on the basis of three
metrics: memory footprint, performance, and inter-VM communications latency. The results showed
that edge-device protection could be achieved without the need to re-engineer applications at the edge.
A Secure IoT Service Architecture with Efficient Balance Dynamics Based on Cloud and Edge
Computing (SBDC)
Conventional security mechanisms cannot resist IoT attacks due to limitations in IoT devices.
Wang et al. [138] established a secure architecture on the basis of trust mechanisms and service
templates in order to resist such attacks and repeated handles or similar service requests by leveraging
the edge devices that were distributed over the network. The service template consists of two templates:
the service and service-parsing templates.
This architecture is based on three basic components: (1) the edge network, (2) the edge platform,
and (3) the cloud. These components are distributed over three layers, (1) data collection, (2) data
processing, and (3) app-service layers. The edge network is in the data-collection layer, the edge
platform is in the data-processing and application-service layers, and the cloud is located in the
app-service layer. This architecture has the following advantages: (1) it creates a trust state of
IoT devices and chooses a trusted IoT device to perform services, (2) dynamically adjusts IoT
load, and (3) serves end-users’ requirements such as integrity and precision. This edge platform
is responsible for the following tasks: performing virtualization processes through converting physical
devices into virtual devices; dynamically adjusting cloud load by performing some services on the
edge layer; ensuring the IoT reliability by cooperating with the edge network at the data level, and
establishing the service-parsing template that is responsible for storing the matching information and
parsing strategies.
The cloud is responsible for creating and storing service-parameter templates, and storing
matching information, performing parsing processes in order to find matching services in the cloud,
processing services that require more resources than services existing in the edge-processing layer do,
logging old data in order to be used for further analysis, and data mining.
Extensive experiments were done while using the MATLAB platform in order to evaluate their
architecture. The architecture consists of four IoT networks and one cloud. Each IoT network has one
edge platform. The results show that this architecture can enhance the efficiency of services and data
trustworthiness.
analyzes data collected by the collector; the cloud controller, an SDN controller that countermeasures
threats that are found by the analyzer and controls data at the ISP level; the cross-domain controller
that controls traffic among domains; and, the secure communication component that maintains secure
communication between different system components.
for packet forwarding and monitoring vehicle information such as vehicle speed and environmental
information. RSUs: they are connected to the broadband unit (BBU). Base stations: t connected to the
BBU. Fog nodes: controlled by the SDN controller. Fog zones: each zone represents a cluster of fog
nodes. RSU hubs (RSUH): these components are responsible for controlling overhead among vehicles,
connecting fog zones together and with the SDN controller, and reducing SDN controller overhead,
because they make decisions on the basis of their local intelligence. SDN controller: this component is
considered the core of this architecture, and it is responsible for allocating resources, generating rules,
data preprocessing and analysis, mobility management, and generating rule. Blockchain: nodes in the
blockchain consist of an access controller, policy-management server, data-management server, and an
authentication server. The blockchain collaborates with the SDN in order to ensure the effectiveness
and the efficiency of the network. Simulation results show that this architecture improves a VANET in
terms of security and orchestration.
Table 4 presents ECAs-IoT that address partially one or more security aspect and compares
among them in terms of deployed techniques, security issues addressed, and architecture’ weaknesses.
The table shows the security issues addressed along with the techniques used to handle them,
such as ML techniques. Most security ECAs-IOT focus on data privacy, and there are several security
requirements that should be taken into consideration, such as integrity and availability. In addition,
scalability is a common concern as handling security issues in an LSD-IoT environment requires
avoiding static security solutions and proprietary security protocols
microcontroller that is responsible for aggregating data. Data are partitioned and packetized depending
on the data type generated from sensors, and transmitted to the network management. Analyze: this
component is in the cloud server. Data analysis is done by applying different machine-learning
techniques on the basis of the generated data type from the sensors. The component generates a model
from training a sensory dataset. This model is executed at the edge device in the plan component.
However, the ML technique that is used to generate the model must fit the edge-device capabilities.
The linear classifier most fits the HiCH architecture [146]. Plan: this component is similar to feature
extraction. Features are extracted from test sensory data, and extracted features generate new input to
the decision-making unit. A decision vector unit is generated and sent to the execute unit for system
actuation. Execute: sends updates to the previous parts in the model and sets system behaviors during
monitoring. System management: this part is responsible for data transmission.
Table 5 shows the differences between two ECAs-IoT that apply machine-learning techniques.
Only two architectures were based on machine learning (ML), transfer learning, and distributed
learning. Despite a large number of applications of ML algorithms in different domains during the past
five years, ML has not been employed heavily to serve ECAs-IoT. The potential of using ML is solving
several ECAs-IoT issues is huge, such as in services scheduling, data placement, security, and others.
Sensors 2020, 20, 6441 26 of 52
before sending them to the application layer. Application layer, which represents the front end of the
whole architecture and uses the processed data by the network layer.
The five-layer architecture consists of the following layers:
Object layer, which consists of IoT devices such as sensors and smartphones that are responsible
for generating IoT data. Object abstraction layer, responsible for transferring IoT data from the object
layer to service-management layer. Service-management layer, which enables programmers to deal
with heterogeneous objects by linking services with their requesters. Application layer, which provides
high-level services to the customers. Business (management) layer, which manages system activities
and services.
Corresponding Corresponding
ECA Name Architecture Component Task Done by Component 3-Layer 5-Layer
(Model Layer) (Model Layer)
IFogStorZ Sensors Sensing the environment Layer 1 Layer 1
Higher-level application instances Offer a higher level of services Layer 3 Layer 4
IFogStorG Sensors Collect data from the environment Layer 1 Layer 1
GW Responsible for transferring data Layer 2 Layer 2
Application instance Processes the incoming requests Layer 3 Layer 4
IFogStorM Sensors Collect data from the environment Layer 1 Layer 1
GW Responsible for transferring data Layer 2 Layer 2
Fog nodes Provide services to local geographical area Layer 3 Layer 4
MFSA IoT devices Collect data from the environment Layer 1 Layer 1
GW Responsible for transmission Layer 2 Layer 2
controller Controls the entire network Layer 2 Layer 5
MAFECA IoT devices and sensors Sensing the environment Layer 1 Layer 1
fog nodes Provide application services Layer 3 Layer 4
VISAGE Mobile devices and sensors Sensing the environment Layer 1 Layer 1
Base stations Responsible for connectivity Layer 2 Layer 2
LSDNC and CSDNC Controlling the network Layer 2 Layer 5
Vehicles Act as fog nodes that provide services to end users Layer 3 Layer 4
FSDN Vehicles Acting as sensors to sense the environment Layer 1 Layer 1
Base stations Responsible for connectivity Layer 2 Layer 2
RSUC Responsible for controlling on a group of RSUs Layer 2 Layer 5
RSUs Act as fog nodes that provide services to end-users Layer 3 Layer 4
SDN controller Responsible for managing the entire network NA Layer 5
SDFN IoT devices Responsible for collecting data from the environment Layer 1 Layer 1
SDN controller Responsible for managing the entire network NA Layer 5
DDA IoT devices and sensors Sensing the environment Layer 1 Layer 1
DCs Connectivity and monitoring bandwidth flow Layer 2 Layer 2
DC controller, TSDNO, and GSO Orchestrating the network NA Layer 5
Sensors 2020, 20, 6441 30 of 52
Table 7. Cont.
Corresponding Corresponding
ECA Name Architecture Component Task Done by Component 3-Layer 5-Layer
(Model Layer) (Model Layer)
SDNB Mobile devices and sensors Sensing the environment Layer 1 Layer 1
Responsible for wireless communication and acting as a forwarding plan for the
Base stations Layer 2 Layer 2
SDN controller
Responsible for providing programming interfaces to network
SDN controller NA Layer 2
management operators
HDF Sensors Sensing the environment and provide timely analysis for IoT data Layer 1 and Layer 3 Layer 1 and Layer 4
Group of edge devices Responsible for covering a small group of sensors Layer 3 Layer 3
P2A Sensors Sensing the environment Layer 1 Layer 1
GW Transmitting media Layer 2 Layer 2
Fog nodes Answering queries Layer 3 Layer 4
Fog centers Processing queries Layer 3 Layer 4
Cloud servers Responsible for the aggregation process Layer 3 Layer 4
HiCH Sensors Collect data from the environment Layer 1 Layer 1
System management component Transmit data Layer 2 Layer 2
Execute part Sending updates to parts Layer 3 Layer 4
LSV IoT devices Collect data from the environment Layer 1 Layer 1
Secured edge devices Provide secured edge applications without reengineering them Layer 3 Layer 4
SBDC IoT devices These devices are vulnerable to attacks Layer 1 Layer 1
Edge platform Establish services templates Layer 2 Layer 3
SIOTOME Smart Home sensors Collect data from the environment Layer 1 Layer 1
GWs Provides connectivity between smart home sensors with ISP Layer 2 Layer 2
Edge analyzer Analyse data for further analysis Layer 2 Layer 3
Cloud controller Collecting reports and control the communication Layer 2 Layer 5
ECV IoT devices Generate IoT data Layer 1 Layer 1
Proxy servers Responsible for connectivity Layer 2 Layer 2
Data validation item Responsible for security Layer 2 Layer 3
Virtual IoT devices Process, validate, and annotate IoT data Layer 2 Layer 3
BSDNV Smart Vehicles Collect data from the environment Layer 1 Layer 1
RSUs and base stations Responsible for connectivity Layer 2 Layer 2
Fog nodes Provide services to vehicles Layer 3 Layer 4
RSUH Controls the overhead between RSUs and vehicles NA Layer 5
SDN controller Controls the entire network NA Layer 5
TTM Sensors Collect data from the environment Layer 1 Layer 1
Edge nodes Transfer trained to other edge nodes Layer 2 Layer 2
Sensors 2020, 20, 6441 31 of 52
• Allows researchers to identify the capabilities and features of every ECA-IoT in terms of their
support to the IoT layered models.
• allows for identifying gaps inside each ECA-IoT in terms of their support of layered IoT models.
For instance, when an IoT model layer is not supported by one ECA-IoT, this implies the need
to cover that functionality by adding additional components, such as employing an additional
protocol inside that ECA-IoT or expecting the IoT application to include that capability.
• Existing IoT layered models do not reference the concept of edge computing. This section connects
edge computing with IoT layered models.
7.1. Security
Because of the nature of IoT devices and networks [107] IoT security challenges require different
mechanisms compared to normal networks. This section discusses the security challenges that face
ECAs-IoT that we surveyed in this paper:
• IFogStor [117], iFogStorZ [117], and iFogStorG [118] architectures lack the ability to keep IoT
data private because data are stored as plain text in data hosts. A privacy procedure must be
performed to protect IoT data from breaches. Some security procedures can be considered, such
as adding another layer of security to encrypt confidential data and apply the key management
process [154].
• The MFSA [122] architecture focuses on managing task allocation. This architecture has a controller
that has the entire knowledge about the whole network. Information that is stored in this controller
must be kept secure and not revealed to normal users. Northbound communication should also
be encrypted, and applications should be securely coded because any breach in these applications
can affect the entire network. Besides, the connection between controller and IoT devices should
be encrypted.
• The HDF [133] architecture aims to handle huge amounts of data generated from LSD-IoT, such as
smart cities. Data that are generated from smart cities are transmitted to fog nodes to be analyzed.
No privacy procedures are taken to preserve user data privacy. To address this limitation, a
lightweight encryption algorithm should be applied to encrypt the transmitted data.
• In the HiCH [145] architecture, IoT data are immediately extracted from fog devices without
considering IoT data privacy. To handle this issue, the extracted data should be encrypted when
transferring data from fog devices.
Sensors 2020, 20, 6441 32 of 52
• IFogStor [117], iFogStorZ [117], and iFogStorG [118] do not address the integrity of stored
data, and this issue could be handled by adopting the mechanism in [155], a secure way to save
private data in the cloud and provide integrity checks to the stored data.
• In the P2A architecture, IoT data privacy is considered; however, the integrity of the data is
not. A lightweight constrained application protocol (CoAP) proposed in [156] could be used in
communication between IoT devices and fog nodes, handling the integrity of the transmitted
message without affecting performance.
• In TTM [136], trained models are transferred without considering the integrity of the trained
models. A lightweight integrity protocol should be employed in this architecture, such as the one
proposed in [156].
7.1.3. Availability
Keeping resources available is considered a challenge due to the nature of IoT devices and the
nature of wireless networks. Next are the examples of ECAs-IoT that lack the availability requirement:
• In IFogStor [117], iFogStorZ [117], and iFogStorG [118] architectures, the data-placement strategy
is placed in a preassumed robust node. A procedure must be devised to handle node-failure
issues, such as adding a backup controller to avoid the issue of a single point of failure.
• MFSA [76] consists of a controller that has the entire knowledge about the network. A backup
procedure must be designed in order to ensure the continuity of allocating tasks, even if the
controller is down.
• Sybil attack: this is a type of impersonation attack in which a malicious node pretends to be a
legitimate node. This attack could harm IoT networks, because it causes various types of attacks
such as the denial of service and breaching personal data [158]. Many solutions were proposed to
handle such attacks, such as the algorithm proposed in [159]
• Intrusion detection: a defense mechanism must be insured in ECAs-IoT because any entity can be
hacked by external and internal intruders.
7.2. Scalability
The capability of a system to increase and cope with the large number and various types of
devices should exist in ECAs-IoT. The following are examples of ECAs-IoT that do not scale well:
• IFogStor [117] and iFogstorZ [117] do not scale well in LSD-IoT due to a loss of optimality when
the data producer and consumer are not located in the same geographical area. Optimizing
resources sharing using clustering resources improves scalability [156].
• The MFSA [76] architecture consists of a controller that knows the entire network. Another layer
must be added in order to extend the network orchestration to support LSD-IoT and improve
scalability.
• VISAGE [129] is suitable for small- and medium-scale deployment; however, in LSD-IoT, another
layer of the controller must be added in order to orchestrate the number of geographical locations.
Sensors 2020, 20, 6441 33 of 52
7.3. Management
When managing the huge number of IoT devices, edge-computing nodes, communication among
nodes is a burden, unless we employ SDN or network-function-virtualization (NFV) techniques [160].
Numerous challenges come with managing IoT networks:
• LSV: this architecture focuses on securing edge devices without re-engineering them, and it does
not focus on managing IoT devices.
• TTM: this architecture is an ML-based architecture that focuses on transferring pre-trained models
from one location to another. This architecture requires another layer of orchestration to manage
the training models in order to avoid outlier model parameters to enhance model accuracy.
7.4. Interoperability
Edge-computing devices are owned and controlled by different providers; the common ground is
needed to allow for interoperability among all participating entities such as establishing collaborative
protocols [66]. An example of ECA-IoT that suffers from this challenge is VISAGE, because any vehicle
can act as a fog node, and a collaborative protocol should be established among fog nodes. Many
solutions could be adopted to solve these issues, such as using a standard to manufacture product
platforms, using the same data format to enhance security, and using this standard in the development
of device platforms [161].
• SIOTOME: although this architecture acts as an IDS for IoT networks, it does not handle data or
resource management. Using evolutionary algorithms to optimize IoT service scheduling could
enhance latency in IoT networks, such as the solution that was proposed in [44] that employs
genetic algorithms to optimize IoT service scheduling.
• P2A: the long process of securing data performed by this architecture introduces extra latency
that could impact certain applications.
Sensors 2020, 20, 6441 34 of 52
8.1.1. Function
This category, as shown in Figure 11, represents the most common functions implemented by
the surveyed ECAs-IoT. Categorization is based on how the IoT application deals with IoT data
and the functions that it performs such as storing, analyzing, and mining data, and monitoring or
applying detection on IoT data. The storage element implies that application functions act as a storage
application and whether IoT data are stored at the cloud or the edge. The analysis element represents
IoT applications that analyze data while using traditional data-analysis methods, such as statistical
algorithms and whether the analysis is done in the cloud or at the edge. The data-mining element covers
applications that employ artificial-intelligence techniques such as ML. The next function monitors
which IoT applications monitor events, such as heart rates in e-health applications. The last function in
this category is the detection function that detects events, such as heart attacks in e-health applications.
Table 8 classifies common IoT applications within this function category, for example, smart
industry applications employ more than one function to ensure the quality of manufacturing. However,
the green house application acts as a monitor and detector. E-health applications employ all functions
in order to provide quality e-health services. Although most applications involve some level of analysis,
we also did not list analysis as the main function, unless it was a core function in the application.
Smart home D D D
Smart lighting D
Smart road D D
Smart industry D D D D D
Green house D D
E-health D D D D D
Table 9 shows the functions that are employed in each ECA-IoT as in Section 5, whether the
ECA-IoT function as storage, data analysis, data mining, event monitoring, or event detection,
and shows that most of ECAs-IoT function as data analyzers and employ data-mining techniques in
their architectures. This helps IoT application designers to be aware of the functionalities/services
available to them by each architecture, so they can select the right architecture for their application
from the functionality aspect.
Table 10 classifies IoT applications on the basis of generated traffic size by these applications,
whether a huge (high), moderate (moderate), or low amount of traffic is generated (low), and it shows
that not all of the IoT applications generate the same amount of data.
Smart home D
Smart lighting D
Smart road D
Smart industry D
Green house D
E-health D
Table 11 classifies ECAs-IoT on the basis of traffic size generated by each one, whether they
are low, moderate, or high, and it shows that most of ECAs-IoT generate high amount of traffic, in
which a compression technique could be employed in such architectures. This categorization helps IoT
application designers to select the correct ECA-IoT according to network-bandwidth requirements.
Hence, according to Tables 10 and 11, we can suggest MFSA [122] ECA-IoT for, e.g., smart homes.
Sensors 2020, 20, 6441 37 of 52
Table 12 classifies IoT applications on the basis of their sensitivity to delay, whether these
applications are highly, moderately, or lowly sensitive to delay, and it shows that the same IoT
application could be sensitive to delay or not, depending on the case that it handles. However,
reducing delay is very important in most IoT applications. Some home applications are not sensitive
to delay, such as air conditioning, but home-safety applications are considered to be highly sensitive to
delay. E-health applications are sensitive to delay, but greenhouses and smart-lighting applications
are not.
Sensors 2020, 20, 6441 38 of 52
Smart home D D
Smart lighting D
Smart road D
Smart industry D
Green house D
E-health D
Table 13 classifies ECAs-IoT on the basis of the delay of each ECA-IoT, whether it is low, moderate,
or high. The table shows that reducing delay is very important in most ECAs-IoT. The ones with
high sensitivity toward delay are the ones that generate the least delay. This gives a guideline for
IoT application designers and developers to pick the right ECA for their application according to the
delay requirements.
Table 14 classifies IoT applications on the basis of their security requirements. For example,
E-health applications require data confidentiality, integrity, and network availability. However,
in greenhouse applications, the minimal security requirement is data integrity. The table shows
that integrity and availability requirements are very important.
Smart home D D
Smart lighting
Smart road D D D
Smart industry D D
Green house D
E-health D D D
Table 15 classifies ECAs-IoT on the basis of their security requirements: confidentiality, integrity,
and availability. This table shows that all of the security requirements are required in most ECAs-IoT;
some ECAs-IoT do not support confidentiality as a built-in feature, and some do not support integrity.
Application designers need to consider that and supply the needed requirement within their application
if the selected architecture lacks it.
IFogStor [117] D D D
IFogStorZ [117] D D D
IFogStorG [118] D D D
IFogstorM D D D
MFSA [122] D
MAFECA [123] D
VISAGE [129] D D D
FSDN [130] D D D
SDFN [131] D D D
DDA [132] D
HDF [133] D D
P2A [133] D D D
LSV [137] D
SBDC [138] D D D
SIOTOME [139] D
ECV [141] D
SDNDB [142] D
BSDNV [144] D D D
HiCH [145] D D D
TTM [147] D
Sensors 2020, 20, 6441 40 of 52
Smart home D D
Smart lighting D
Smart road D D
Smart industry D D
Green house D
E-health D D
Table 17 classifies each ECA-IoT based on the location of data processing, whether it is at the
edge or the cloud, and it shows that most of the ECAs-IoT process the data near to the end-user,
which reduce bandwidth usage and latency. This helps to match the right architecture with the right
application needs in terms of data processing.
8.2.3. E-Health
This subsection lists ECAs-IoT that were designed to serve e-health applications:
• P2A [136]: focuses on preserving e-health data while aggregating them. The data used to evaluate
the system architecture are the MHEALTH dataset [136], which consists of one million records
that were generated from 24 sensors with 24 signals. In evaluation, only one signal was used to
evaluate the architecture.
• HiCH [145]: aims to perform continuous health monitoring by applying machine-learning
techniques. The case study focused on arrhythmia detection for patients suffering from
cardiovascular diseases (CVDs). The used dataset was the “long-term ST dataset“ available
on [163,164].
• SIOTOME [139] is suitable for smart cities because it helps in detecting vulnerabilities in LSD-IoT
because this architecture acts like an IDS system. The IDS is also up-to-date, because this
architecture employs ML techniques to update it. Besides, this architecture is based on SDN
technology that can orchestrate the heterogeneous nature of the network.
• IFogStorZ [117] and IFogStorG [118] enhance intertransportation systems because they enhance
the latency requirement, which is a major requirement in intertransportation systems.
• MFSA [122] reduces the required cost to allocate tasks to appropriate nodes, and this enhances
inter-transportation systems.
• MAFECA [123] enhances task assignment, which is mandatory in inter-transportation systems.
• SBDC [138] acts as an IDS system in an IoT network. This architecture could enhance
inter-transportation systems by handling services while resisting IoT attacks.
• TTM [147] is recommended for inter-transportation systems, because the nature of transportation
systems requires more knowledge than what could be attained from pre-trained models.
• SDNDB [142] is a security SDN and blockchain-based architecture that securely enhances latency.
Latency and security are important requirements in inter-transportation systems.
• The P2A [136] architecture could preserve privacy for home applications that usually deal with
confidential data.
Table 18 summarizes this section by illustrating existing ECAs-IoT and potential IoT applications
that they can serve.
• TTM [147] uses a transfer-learning aspect to transfer intelligence from one system to another.
Therefore, using this architecture is very useful in smart cities to make IoT applications more
Sensors 2020, 20, 6441 43 of 52
aware of new and rare incidents by transferring intelligence and trained models from one city to
another. However, another layer of security should be added in order to ensure the authenticity
of transferred models and to prevent intruders from modifying the transferred models.
• IFogStorG [118] and SIOTOME [139] give us a secure architecture that handles data management.
The SIOTOME part detects early threats from IoT devices, and IFogStorG is responsible for
managing IoT data.
• E-health applications require an architecture that provides the following functions: data analysis,
monitoring, detection, latency, data privacy, integrity, and network availability. In order
to improve e-health applications, using a hybrid architecture can enhance the quality of service of
e-health applications. This hybrid architecture includes SDNDB, because it handles the required
functionalities of the e-health application, IFogStorM handles the latency requirement, and the
P2A application ensures E-health data privacy.
10. Conclusions
With its ability of processing data near end-users, which is a major demand for IoT applications,
and especially time-critical ones, edge-computing technology is becoming an attractive option.
This survey classified ECAs-IoT according to IoT challenges that they aim to handle. This includes
data-placement-based architectures that aim to handle IoT data management, big-data-analysis-based
architectures that aim to handle the analysis of IoT big data, security-based architectures that focus on
securing IoT networks, machine-learning-based architectures that provide ML services in IoT networks,
and orchestration-based architectures that employ several techniques, such as SDN, to handle
management issues in IoT networks. Besides, this survey classified ECAs-IoT based on two reference
models, three- and five-layer architectures. Additionally, this survey mapped ECAs-IOT into two
existing IoT layer models, which help identify the capabilities, features, and gaps of every architecture.
This paper also classified IoT applications that are based on the application that the architecture
serves. Another contribution is recommending one or more ECAs-IoT for IoT applications based
on the application requirements. This is manifested in mapping between ECAs-IoT and common
IoT applications in general. This paper included the main challenges that ECAs-IoT faces, such as
security, scalability, and management. This survey concluded with the ability to use ECAs-IoTs for IoT
applications in four different scenarios, the use of existing ECAs, or modifying one to better fit the
requirements of a certain application, merging two or more ECAs, and developing an entirely new
ECA as a last resort.
Author Contributions: Conceptualization, S.H., M.A. and S.A.; methodology, S.H., M.A. and S.A.; validation,
S.H., M.A. and S.A.; writing—original draft preparation, S.H.; writing—review and editing, S.H., M.A. and S.A.;
visualization, S.H., M.A. and S.A.; supervision, M.A. and S.A.; All authors have read and agreed to the published
version of the manuscript.
Funding: This research was supported by Princess Sumaya University for Technology.
Conflicts of Interest: The authors declare no conflict of interest.
Sensors 2020, 20, 6441 44 of 52
Abbreviations
The following abbreviations are used in this manuscript:
Reference
1. Aazam, M.; Zeadally, S.; Harras, K.A. Fog computing architecture, evaluation, and future research directions.
IEEE Commun. Mag. 2018, 56, 46–52. [CrossRef]
2. Sarkar, S.; Chatterjee, S.; Misra, S. Assessment of the Suitability of Fog Computing in the Context of Internet
of Things. IEEE Trans. Cloud Comput. 2015, 6, 46–59. [CrossRef]
3. Talwar, S.; Choudhury, D.; Dimou, K.; Aryafar, E.; Bangerter, B.; Stewart, K. Enabling technologies and
architectures for 5G wireless. In Proceedings of the 2014 IEEE MTT-S International Microwave Symposium
(IMS2014), Tampa, FL, USA, 1–6 June 2014; pp. 1–4.
4. Botta, A.; De Donato, W.; Persico, V.; Pescapé, A. Integration of cloud computing and internet of things:
A survey. Future Gener. Comput. Syst. 2016, 56, 684–700. [CrossRef]
5. Babu, S.M.; Lakshmi, A.J.; Rao, B.T. A study on cloud based Internet of Things: CloudIoT. In Proceedings of
the 2015 Global Conference on Communication Technologies (GCCT), Thuckalay, India, 23–24 April 2015;
pp. 60–65.
6. Yang, Z.; Zhou, Q.; Lei, L.; Zheng, K.; Xiang, W. An IoT-cloud based wearable ECG monitoring system for
smart healthcare. J. Med. Syst. 2016, 40, 286. [CrossRef] [PubMed]
7. Doukas, C.; Maglogiannis, I. Bringing IoT and cloud computing towards pervasive healthcare.
In Proceedings of the 2012 Sixth International Conference on Innovative Mobile and Internet Services
in Ubiquitous Computing, Palermo, Italy, 4–6 July 2012; pp. 922–926.
8. Hossain, M.S.; Muhammad, G. Cloud-assisted industrial internet of things (iiot)–enabled framework for
health monitoring. Comput. Netw. 2016, 101, 192–202. [CrossRef]
9. 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. [CrossRef]
10. Mitton, N.; Papavassiliou, S.; Puliafito, A.; Trivedi, K.S. Combining Cloud and sensors in a smart city
environment. EURASIP J. Wirel. Commun. Netw. 2012, 2012, 247. [CrossRef]
11. Chen, S.Y.; Lai, C.F.; Huang, Y.M.; Jeng, Y.L. Intelligent home-appliance recognition over IoT cloud network.
In Proceedings of the 2013 9th International Wireless Communications and Mobile Computing Conference
(IWCMC), Sardinia, Italy, 1–5 July 2013; pp. 639–643.
12. Chen, N.; Chen, Y.; You, Y.; Ling, H.; Liang, P.; Zimmermann, R. Dynamic urban surveillance video stream
processing using fog computing. In Proceedings of the 2016 IEEE Second International Conference on
Multimedia Big Data (BigMM), Taipei, Taiwan, 20–22 April 2016; pp. 105–112.
13. TongKe, F. Smart agriculture based on cloud computing and IOT. J. Converg. Inf. Technol. 2013, 8, 210–216.
Sensors 2020, 20, 6441 45 of 52
14. Dan, L.; Xin, C.; Chongwei, H.; Liangliang, J. Intelligent agriculture greenhouse environment monitoring
system based on IOT technology. In Proceedings of the 2015 International Conference on Intelligent
Transportation, Big Data and Smart City, Halong Bay, Vietnam, 19–20 December 2015; pp. 487–490.
15. Kantarci, B.; Mouftah, H.T. Mobility-aware trustworthy crowdsourcing in cloud-centric Internet of Things.
In Proceedings of the 2014 IEEE Symposium on Computers and Communications (ISCC), Funchal, Portugal,
23–26 June 2014; pp. 1–6.
16. Buhalis, D.; Amaranggana, A. Smart tourism destinations. In Information and Communication Technologies in
Tourism 2014; Springer: Berlin/Heidelberg, Germany, 2013; pp. 553–564.
17. 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.
18. Almajali, S.; Salameh, H.B.; Ayyash, M.; Elgala, H. A framework for efficient and secured mobility of IoT
devices in mobile edge computing. In Proceedings of the 2018 Third International Conference on Fog and
Mobile Edge Computing (FMEC), Barcelona, Spain, 23–26 April 2018; pp. 58–62.
19. Shi, W.; Cao, J.; Zhang, Q.; Li, Y.; Xu, L. Edge computing: Vision and challenges. IEEE Internet Things J. 2016,
3, 637–646. [CrossRef]
20. 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. [CrossRef]
21. Al-Fuqaha, A.; Guizani, M.; Mohammadi, M.; Aledhari, M.; Ayyash, M. Internet of things: A survey
on enabling technologies, protocols, and applications. IEEE Commun. Surv. Tutor. 2015, 17, 2347–2376.
[CrossRef]
22. Morgan, J. A Simple Explanation of ‘the Internet of Things’; Forbes/Leadership: New York, NY, USA, 2014.
23. Gubbi, J.; Buyya, R.; Marusic, S.; Palaniswami, M. Internet of Things (IoT): A vision, architectural elements,
and future directions. Future Gener. Comput. Syst. 2013, 29, 1645–1660. [CrossRef]
24. Catarinucci, L.; De Donno, D.; Mainetti, L.; Palano, L.; Patrono, L.; Stefanizzi, M.L.; Tarricone, L.
An IoT-aware architecture for smart healthcare systems. IEEE Internet Things J. 2015, 2, 515–526. [CrossRef]
25. Lee, I.; Lee, K. The Internet of Things (IoT): Applications, investments, and challenges for enterprises.
Bus. Horiz. 2015, 58, 431–440. [CrossRef]
26. Nath, B.; Reynolds, F.; Want, R. RFID technology and applications. IEEE Pervasive Comput. 2006, 5, 22–24.
[CrossRef]
27. 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. 2016, 4, 1–20. [CrossRef]
28. Amaral, L.A.; de Matos, E.; Tiburski, R.T.; Hessel, F.; Lunardi, W.T.; Marczak, S. Middleware Technology for
IoT Systems: Challenges and Perspectives Toward 5G. In Internet of Things (IoT) in 5G Mobile Technologies;
Springer: Berlin/Heidelberg, Germany, 2016; pp. 333–367.
29. JoSEP, A.D.; KAtz, R.; KonWinSKi, A.; Gunho, L.; PAttERSon, D.; RABKin, A. A view of cloud computing.
Commun. Acm 2010, 53. [CrossRef]
30. Gomes, M.; da Rosa Righi, R.; da Costa, C.A. Internet of things scalability: Analyzing the bottlenecks
and proposing alternatives. In Proceedings of the 2014 6th International Congress on Ultra Modern
Telecommunications and Control Systems and Workshops (ICUMT), St. Petersburg, Russia, 6–8 October
2014; pp. 269–276.
31. Anjana, A.; Chand, G.G.; Kiran, K.S.; Bhpathi, J.S. On improving fault tolerance of IoT networks through
Butterfly Networks implemented at Services Layer. Int. J. 2020, 9, 2096–2115. [CrossRef]
32. Athreya, A.P.; Tague, P. Network self-organization in the internet of things. In Proceedings of the 2013
IEEE International Workshop of Internet-of-Things Networking and Control (IoT-NC), New Orleans, LA,
USA, 24 June 2013; pp. 25–33.
33. Li, T.; Liu, Y.; Tian, Y.; Shen, S.; Mao, W. A storage solution for massive iot data based on nosql. In Proceedings
of the 2012 IEEE International Conference on Green Computing and Communications, Besancon, France,
20–23 November 2012; pp. 50–57.
34. Hromic, H.; Le Phuoc, D.; Serrano, M.; Antonić, A.; Žarko, I.P.; Hayes, C.; Decker, S. Real time analysis of
sensor data for the internet of things by means of clustering and event processing. In Proceedings of the
2015 IEEE International Conference on Communications (ICC), London, UK, 8–12 June 2015; pp. 685–691.
35. Alrawais, A.; Alhothaily, A.; Hu, C.; Cheng, X. Fog computing for the internet of things: Security and privacy
issues. IEEE Internet Comput. 2017, 21, 34–42. [CrossRef]
Sensors 2020, 20, 6441 46 of 52
36. Mell, P.; Grance, T. The NIST Definition of Cloud Computing; NIST: Gaithersburg, MD, USA, 2011.
37. Jula, A.; Sundararajan, E.; Othman, Z. Cloud computing service composition: A systematic literature review.
Expert Syst. Appl. 2014, 41, 3809–3824. [CrossRef]
38. Lawton, G. Developing software online with platform-as-a-service technology. Computer 2008, 41, 13–15.
[CrossRef]
39. Manvi, S.S.; Shyam, G.K. Resource management for Infrastructure as a Service (IaaS) in cloud computing:
A survey. J. Netw. Comput. Appl. 2014, 41, 424–440. [CrossRef]
40. Atlam, H.F.; Alenezi, A.; Alharthi, A.; Walters, R.J.; Wills, G.B. Integration of cloud computing with internet
of things: Challenges and open issues. In Proceedings of the 2017 IEEE International Conference on
Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber,
Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData), Exeter, UK, 21–23 June 2017;
pp. 670–675.
41. Taherkordi, A.; Eliassen, F. Scalable modeling of cloud-based IoT services for smart cities. In Proceedings of
the 2016 IEEE International Conference on Pervasive Computing and Communication Workshops (PerCom
Workshops), Sydney, Australia, 14–18 March 2016; pp. 1–6.
42. Belgaum, M.R.; Soomro, S.; Alansari, Z.; Musa, S.; Alam, M.; Su’ud, M.M. Challenges: Bridge between cloud
and IoT. In Proceedings of the 2017 4th IEEE International Conference on Engineering Technologies and
Applied Sciences (ICETAS), Salmabad, Bahrain, 29 November–1 December 2017; pp. 1–5.
43. Li, F.; Vögler, M.; Claeßens, M.; Dustdar, S. Efficient and scalable IoT service delivery on cloud. In Proceedings
of the 2013 IEEE Sixth International Conference on Cloud Computing, Santa Clara, CA, USA, 28 June–3 July
2013; pp. 740–747.
44. Aburukba, R.O.; AliKarrar, M.; Landolsi, T.; El-Fakih, K. Scheduling Internet of Things requests to minimize
latency in hybrid Fog–Cloud computing. Future Gener. Comput. Syst. 2020, 111, 539–551. [CrossRef]
45. Breivold, H.P.; Sandström, K. Internet of things for industrial automation–challenges and technical solutions.
In Proceedings of the 2015 IEEE International Conference on Data Science and Data Intensive Systems,
Sydney, Australia, 11–13 December 2015; pp. 532–539.
46. Singh, D.; Tripathi, G.; Jara, A.J. A survey of Internet-of-Things: Future vision, architecture, challenges and
services. In Proceedings of the 2014 IEEE world forum on Internet of Things (WF-IoT), Seoul, Korea, 6–8
March 2014; pp. 287–292.
47. Zhou, J.; Cao, Z.; Dong, X.; Vasilakos, A.V. Security and privacy for cloud-based IoT: Challenges.
IEEE Commun. Mag. 2017, 55, 26–33. [CrossRef]
48. Gazis, V.; Goertz, M.; Huber, M.; Leonardi, A.; Mathioudakis, K.; Wiesmaier, A.; Zeiger, F. Short paper: IoT:
Challenges, projects, architectures. In Proceedings of the 2015 18th International Conference on Intelligence
in Next Generation Networks, Paris, France, 17–19 February 2015; pp. 145–147.
49. Mao, Y.; You, C.; Zhang, J.; Huang, K.; Letaief, K. Mobile edge computing: Survey and research outlook.
arXiv 2017, arXiv:1701.01090.
50. Chen, M.; Li, W.; Hao, Y.; Qian, Y.; Humar, I. Edge cognitive computing based smart healthcare system.
Future Gener. Comput. Syst. 2018, 86, 403–411. [CrossRef]
51. 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.
52. Shi, W.; Dustdar, S. The promise of edge computing. Computer 2016, 49, 78–81. [CrossRef]
53. Dolui, K.; Datta, S.K. Comparison of edge computing implementations: Fog computing, cloudlet and
mobile edge computing. In Proceedings of the 2017 Global Internet of Things Summit (GIoTS), Geneva,
Switzerland, 6–9 June 2017; pp. 1–6.
54. Li, Y.; Wang, W. Can mobile cloudlets support mobile applications? In Proceedings of the IEEE INFOCOM
2014—IEEE Conference on Computer Communications, Toronto, ON, Canada, 27 April–2 May 2014;
pp. 1060–1068.
55. Bonomi, F.; Milito, R.; Zhu, J.; Addepalli, S. Fog computing and its role in the internet of things.
In Proceedings of the First Edition of the MCC Workshop on Mobile Cloud Computing, Helsinki, Finland,
17 August 2012; pp. 13–16.
56. Wang, S.; Zhang, X.; Zhang, Y.; Wang, L.; Yang, J.; Wang, W. A survey on mobile edge networks: Convergence
of computing, caching and communications. IEEE Access 2017, 5, 6757–6779. [CrossRef]
Sensors 2020, 20, 6441 47 of 52
57. Satyanarayanan, M. The emergence of edge computing. Computer 2017, 50, 30–39. [CrossRef]
58. Yi, S.; Li, C.; 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.
59. O’Donovan, P.; Gallagher, C.; Bruton, K.; O’Sullivan, D.T. A fog computing industrial cyber-physical system
for embedded low-latency machine learning Industry 4.0 applications. Manuf. Lett. 2018, 15, 139–142.
[CrossRef]
60. Peter, N. Fog computing and its real time applications. Int. J. Emerg. Technol. Adv. Eng. 2015, 5, 266–269.
61. Yi, S.; Hao, Z.; Qin, Z.; Li, Q. Fog computing: Platform and applications. In Proceedings of the 2015 Third
IEEE Workshop on Hot Topics in Web Systems and Technologies (HotWeb), Washington, DC, USA, 12–13
November 2015; pp. 73–78.
62. Fernandez, D.M.; Kleingartner, J.; Oliphant, A.; Bowman, M.; Torregrosa, A.; Weiss-Penzias, P.S.; Zhang, B.J.;
Sorensen, D.; Cohen, R.E.; McKinley, G.H. Fog Water Collection Effectiveness: Mesh Intercomparisons.
Aerosol Air Qual. Res. 2018, 18, 270–283. [CrossRef]
63. Mach, P.; Becvar, Z. Mobile edge computing: A survey on architecture and computation offloading.
IEEE Commun. Surv. Tutor. 2017, 19, 1628–1656. [CrossRef]
64. 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. [CrossRef]
65. Salman, O.; Elhajj, I.; Kayssi, A.; Chehab, A. Edge computing enabling the Internet of Things. In Proceedings
of the 2015 IEEE 2nd World Forum on Internet of Things (WF-IoT), Milan, Italy, 14–16 December 2015;
pp. 603–608.
66. Tran, T.X.; Hajisami, A.; Pandey, P.; Pompili, D. Collaborative mobile edge computing in 5G networks: New
paradigms, scenarios, and challenges. IEEE Commun. Mag. 2017, 55, 54–61. [CrossRef]
67. Cao, Y.; Song, H.; Kaiwartya, O.; Zhou, B.; Zhuang, Y.; Cao, Y.; Zhang, X. Mobile edge computing for
big-data-enabled electric vehicle charging. IEEE Commun. Mag. 2018, 56, 150–156. [CrossRef]
68. Nunna, S.; Kousaridas, A.; Ibrahim, M.; Dillinger, M.; Thuemmler, C.; Feussner, H.; Schneider, A. Enabling
real-time context-aware collaboration through 5G and mobile edge computing. In Proceedings of the 2015
12th International Conference on Information Technology-New Generations, Las Vegas, NV, USA, 13–15
April 2015; pp. 601–605.
69. Hu, Y.C.; Patel, M.; Sabella, D.; Sprecher, N.; Young, V. Mobile edge computing—A key technology towards
5G. ETSI White Pap. 2015, 11, 1–16.
70. El-Sayed, H.; Sankar, S.; Prasad, M.; Puthal, D.; Gupta, A.; Mohanty, M.; Lin, C.T. Edge of things: The big
picture on the integration of edge, IoT and the cloud in a distributed computing environment. IEEE Access
2017, 6, 1706–1717. [CrossRef]
71. Cao, Y.; Hou, P.; Brown, D.; Wang, J.; Chen, S. Distributed analytics and edge intelligence: Pervasive health
monitoring at the era of fog computing. In Proceedings of the 2015 Workshop on Mobile Big Data, Hangzhou
China, 22–25 June 2015; pp. 43–48.
72. Hassan, N.; Gillani, S.; Ahmed, E.; Yaqoob, I.; Imran, M. The role of edge computing in internet of things.
IEEE Commun. Mag. 2018, 56, 110–115. [CrossRef]
73. Bonomi, F.; Milito, R.; Natarajan, P.; Zhu, J. Fog computing: A platform for internet of things and analytics.
In Big Data and Internet of Things: A Roadmap for Smart Environments; Springer: Berlin/Heidelberg, Germany,
2014; pp. 169–186.
74. Plastiras, G.; Terzi, M.; Kyrkou, C.; Theocharidcs, T. Edge Intelligence: Challenges and Opportunities of
Near-Sensor Machine Learning Applications. In Proceedings of the 2018 IEEE 29th International Conference
on Application-Specific Systems, Architectures and Processors (ASAP), Milano, Italy, 10–12 July 2018; pp. 1–7.
75. Li, H.; Ota, K.; Dong, M. Learning IoT in edge: Deep learning for the Internet of Things with edge computing.
IEEE Netw. 2018, 32, 96–101. [CrossRef]
76. Mohammadi, M.; Al-Fuqaha, A.; Sorour, S.; Guizani, M. Deep learning for IoT big data and streaming
analytics: A survey. IEEE Commun. Surv. Tutor. 2018, 20, 2923–2960. [CrossRef]
77. 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.
78. Guo, B.; Zhang, D.; Yu, Z.; Liang, Y.; Wang, Z.; Zhou, X. From the internet of things to embedded intelligence.
World Wide Web 2013, 16, 399–420. [CrossRef]
Sensors 2020, 20, 6441 48 of 52
79. Brambilla, G.; Picone, M.; Cirani, S.; Amoretti, M.; Zanichelli, F. A simulation platform for large-scale
internet of things scenarios in urban environments. In Proceedings of the First International Conference on
IoT in Urban Space, Rome, Italy, 27–28 October 2014; pp. 50–55.
80. Dar, K.; Taherkordi, A.; Rouvoy, R.; Eliassen, F. Adaptable service composition for very-large-scale internet
of things systems. In Proceedings of the 8th Middleware Doctoral Symposium, Lisbon, Portugal, 12–16
December 2011; pp. 1–6.
81. Vögler, M.; Schleicher, J.; Inzinger, C.; Nastic, S.; Sehic, S.; Dustdar, S. LEONORE–large-scale provisioning of
resource-constrained IoT deployments. In Proceedings of the 2015 IEEE Symposium on Service-Oriented
System Engineering, San Francisco, CA, USA, 30 March–3 April 2015; pp. 78–87.
82. Bedhief, I.; Kassar, M.; Aguili, T. SDN-based architecture challenging the IoT heterogeneity. In Proceedings
of the 2016 3rd Smart Cloud Networks & Systems (SCNS), Dubai, UAE, 19–21 December 2016; pp. 1–3.
83. Lynggaard, P.; Skouby, K.E. Deploying 5G-technologies in smart city and smart home wireless sensor
networks with interferences. Wirel. Pers. Commun. 2015, 81, 1399–1413. [CrossRef]
84. Ullah, I.; Baharom, M.; Ahmad, H.; Wahid, F.; Luqman, H.; Zainal, Z.; Das, B. Smart lightning detection
system for smart-city infrastructure using artificial neural network. Wirel. Pers. Commun. 2019, 106,
1743–1766. [CrossRef]
85. Neirotti, P.; De Marco, A.; Cagliano, A.C.; Mangano, G.; Scorrano, F. Current trends in Smart City initiatives:
Some stylised facts. Cities 2014, 38, 25–36. [CrossRef]
86. Morello, R.; Mukhopadhyay, S.C.; Liu, Z.; Slomovitz, D.; Samantaray, S.R. Advances on sensing technologies
for smart cities and power grids: A review. IEEE Sens. J. 2017, 17, 7596–7610. [CrossRef]
87. Mainetti, L.; Patrono, L.; Stefanizzi, M.L.; Vergallo, R. A Smart Parking System based on IoT protocols and
emerging enabling technologies. In Proceedings of the 2015 IEEE 2nd World Forum on Internet of Things
(WF-IoT), Milan, Italy, 14–16 December 2015; pp. 764–769.
88. Kaur, N.; Sood, S.K. Cognitive decision making in smart industry. Comput. Ind. 2015, 74, 151–161. [CrossRef]
89. Gia, T.N.; Sarker, V.K.; Tcarenko, I.; Rahmani, A.M.; Westerlund, T.; Liljeberg, P.; Tenhunen, H. Energy
efficient wearable sensor node for IoT-based fall detection systems. Microprocess. Microsystems 2018, 56, 34–46.
90. Gia, T.N.; Tcarenko, I.; Sarker, V.K.; Rahmani, A.M.; Westerlund, T.; Liljeberg, P.; Tenhunen, H. IoT-based fall
detection system with energy efficient sensor nodes. In Proceedings of the 2016 IEEE Nordic Circuits and
Systems Conference (NORCAS), Copenhagen, Denmark, 1–2 November 2016; pp. 1–6.
91. Hsieh, Y.Z.; Jeng, Y.L. Development of home intelligent fall detection IoT system based on feedback optical
flow convolutional neural network. IEEE Access 2017, 6, 6048–6057. [CrossRef]
92. Mohammed, J.; Lung, C.H.; Ocneanu, A.; Thakral, A.; Jones, C.; Adler, A. Internet of Things: Remote
patient monitoring using web services and cloud computing. In Proceedings of the 2014 IEEE International
Conference on Internet of Things (iThings), and IEEE Green Computing and Communications (GreenCom)
and IEEE Cyber, Physical and Social Computing (CPSCom), Taipei, Taiwan, 1–3 September 2014; pp. 256–263.
93. Verma, P.; Sood, S.K. Fog assisted-IoT enabled patient health monitoring in smart homes. IEEE Internet
Things J. 2018, 5, 1789–1796. [CrossRef]
94. Lin, J.; Yu, W.; Zhang, N.; Yang, X.; Zhang, H.; Zhao, W. A survey on internet of things: Architecture,
enabling technologies, security and privacy, and applications. IEEE Internet Things J. 2017, 4, 1125–1142.
[CrossRef]
95. Maier, M.V. The Internet of Things (IoT): What Is the Potential of Internet of Things Applications for
Consumer Marketing? Bachelor’s Thesis, University of Twente, Enschede, The Netherlands, 2016.
96. Pflanzner, T.; Kertész, A. A taxonomy and survey of IoT cloud applications. EAI Endorsed Trans.
Internet Things 2018, 3, Terjedelem-14. [CrossRef]
97. Atzori, L.; Iera, A.; Morabito, G. The internet of things: A survey. Comput. Netw. 2010, 54, 2787–2805.
[CrossRef]
98. Asghari, P.; Rahmani, A.M.; Javadi, H.H.S. Internet of Things applications: A systematic review. Comput. Netw.
2019, 148, 241–261. [CrossRef]
99. Ray, P.P. A survey on Internet of Things architectures. J. King Saud-Univ.-Comput. Inf. Sci. 2018, 30, 291–319.
100. Razzaque, M.A.; Milojevic-Jevric, M.; Palade, A.; Clarke, S. Middleware for internet of things: A survey.
IEEE Internet Things J. 2015, 3, 70–95. [CrossRef]
101. Lao, L.; Li, Z.; Hou, S.; Xiao, B.; Guo, S.; Yang, Y. A Survey of IoT Applications in Blockchain Systems:
Architecture, Consensus, and Traffic Modeling. ACM Comput. Surv. (CSUR) 2020, 53, 1–32.
Sensors 2020, 20, 6441 49 of 52
[CrossRef]
102. Farahzadi, A.; Shams, P.; Rezazadeh, J.; Farahbakhsh, R. Middleware technologies for cloud of things:
A survey. Digit. Commun. Netw. 2018, 4, 176–188. [CrossRef]
103. Pallavi, S.; Smruti, R.S. Internet of things: Architectures protocols and applications. J. Electr. Comput. Eng.
2017, 2017, 1–0147.
104. Abbas, N.; Zhang, Y.; Taherkordi, A.; Skeie, T. Mobile edge computing: A survey. IEEE Internet Things J.
2017, 5, 450–465. [CrossRef]
105. Miorandi, D.; Sicari, S.; De Pellegrini, F.; Chlamtac, I. Internet of things: Vision, applications and research
challenges. Ad Hoc Netw. 2012, 10, 1497–1516. [CrossRef]
106. Dastjerdi, A.V.; Gupta, H.; Calheiros, R.N.; Ghosh, S.K.; Buyya, R. Fog computing: Principles, architectures,
and applications. In Internet of Things; Elsevier: Amsterdam, The Netherlands, 2016; pp. 61–75.
107. Mahmud, R.; Kotagiri, R.; Buyya, R. Fog computing: A taxonomy, survey and future directions. In Internet of
Everything; Springer: Berlin/Heidelberg, Germany, 2018; pp. 103–130.
108. Markus, A.; Kertesz, A. A Survey and Taxonomy of Simulation Environments Modelling Fog Computing.
In Simulation Modelling Practice and Theory; Springer: Berlin/Heidelberg, Germany, 2019; p. 102042.
109. 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.
[CrossRef]
110. Atlam, H.; Walters, R.; Wills, G. Fog computing and the internet of things: A review. Big Data Cogn. Comput.
2018, 2, 10. [CrossRef]
111. Bellavista, P.; Berrocal, J.; Corradi, A.; Das, S.K.; Foschini, L.; Zanni, A. A survey on fog computing for the
Internet of Things. Pervasive Mob. Comput. 2019, 52, 71–99. [CrossRef]
112. Puliafito, C.; Mingozzi, E.; Longo, F.; Puliafito, A.; Rana, O. Fog computing for the internet of things:
A Survey. ACM Trans. Internet Technol. (TOIT) 2019, 19, 18. [CrossRef]
113. Xu, X.; Fu, S.; Qi, L.; Zhang, X.; Liu, Q.; He, Q.; Li, S. An IoT-oriented data placement method with privacy
preservation in cloud environment. J. Netw. Comput. Appl. 2018, 124, 148–157. [CrossRef]
114. Rahmani, A.M.; Gia, T.N.; Negash, B.; Anzanpour, A.; Azimi, I.; Jiang, M.; Liljeberg, P. Exploiting smart
e-Health gateways at the edge of healthcare Internet-of-Things: A fog computing approach. Future Gener.
Comput. Syst. 2018, 78, 641–658. [CrossRef]
115. Bhandari, S.; Sharma, S.K.; Wang, X. Latency minimization in wireless iot using prioritized channel access
and data aggregation. In Proceedings of the GLOBECOM 2017—2017 IEEE Global Communications
Conference, Singapore, 4–8 December 2017; pp. 1–6.
116. 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. [CrossRef]
117. Naas, M.I.; Parvedy, P.R.; Boukhobza, J.; Lemarchand, L. iFogStor: An IoT data placement strategy for fog
infrastructure. In Proceedings of the 2017 IEEE 1st International Conference on Fog and Edge Computing
(ICFEC), Madrid, Spain, 14–15 May 2017; pp. 97–104.
118. Naas, M.I.; Lemarchand, L.; Boukhobza, J.; Raipin, P. A graph partitioning-based heuristic for runtime iot
data placement strategies in a fog infrastructure. In Proceedings of the 33rd Annual ACM Symposium on
Applied Computing, Pau, France, 9–13 April 2018; pp. 767–774.
119. Huang, T.; Lin, W.; Li, Y.; He, L.; Peng, S. A Latency-Aware Multiple Data Replicas Placement Strategy for
Fog Computing. J. Signal Process. Syst. 2019, 91, 1191–1204. [CrossRef]
120. Wen, Z.; Yang, R.; Garraghan, P.; Lin, T.; Xu, J.; Rovatsos, M. Fog orchestration for internet of things services.
IEEE Internet Comput. 2017, 21, 16–24. [CrossRef]
121. Jiang, Y.; Huang, Z.; Tsang, D.H. Challenges and solutions in fog computing orchestration. IEEE Netw. 2017,
32, 122–129. [CrossRef]
122. Daneshfar, N.; Pappas, N.; Polishchuk, V.; Angelakis, V. Service allocation in a mobile fog infrastructure
under availability and qos constraints. In Proceedings of the 2018 IEEE Global Communications Conference
(GLOBECOM), Abu Dhabi, UAE, 9–13 November 2018; pp. 1–6.
123. Suganuma, T.; Oide, T.; Kitagami, S.; Sugawara, K.; Shiratori, N. Multiagent-based flexible edge computing
architecture for IoT. IEEE Netw. 2018, 32, 16–23.
Sensors 2020, 20, 6441 50 of 52
[CrossRef]
124. Tong, L.; Li, Y.; Gao, W. A hierarchical edge cloud architecture for mobile computing. In Proceedings of the
IEEE INFOCOM 2016—The 35th Annual IEEE International Conference on Computer Communications,
San Francisco, CA, USA, 10–15 April 2016; pp. 1–9.
125. Ren, J.; Guo, H.; Xu, C.; Zhang, Y. Serving at the edge: A scalable IoT architecture based on transparent
computing. IEEE Netw. 2017, 31, 96–105. [CrossRef]
126. Aloi, G.; Fortino, G.; Gravina, R.; Pace, P.; Savaglio, C. Simulation-driven platform for Edge-based AAL
systems. IEEE J. Sel. Areas Commun. 2020. [CrossRef]
127. Sonmez, C.; Ozgovde, A.; Ersoy, C. EdgeCloudSim: An environment for performance evaluation of Edge
Computing systems. In Proceedings of the 2017 Second International Conference on Fog and Mobile Edge
Computing (FMEC), Valencia, Spain, 8–11 May 2017; pp. 39–44.
128. Carnevale, L.; Celesti, A.; Galletta, A.; Dustdar, S.; Villari, M. From the cloud to edge and IoT: A smart
orchestration architecture for enabling osmotic computing. In Proceedings of the 2018 32nd International
Conference on Advanced Information Networking and Applications Workshops (WAINA), Cracow, Poland,
16–18 May 2018; pp. 419–424.
129. Soua, A.; Tohme, S. Multi-level SDN with vehicles as fog computing infrastructures: A new integrated
architecture for 5G-VANETs. In Proceedings of the 2018 21st Conference on Innovation in Clouds, Internet
and Networks and Workshops (ICIN), Paris, France, 20–22 February 2018; pp. 1–8.
130. 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.
131. Tomovic, S.; Yoshigoe, K.; Maljevic, I.; Radusinovic, I. Software-defined fog network architecture for IoT.
Wirel. Pers. Commun. 2017, 92, 181–196. [CrossRef]
132. Muñoz, R.; Vilalta, R.; Yoshikane, N.; Casellas, R.; Martínez, R.; Tsuritani, T.; Morita, I. Integration of IoT,
transport SDN, and edge/cloud computing for dynamic distribution of IoT analytics and efficient use of
network resources. J. Light. Technol. 2018, 36, 1420–1428. [CrossRef]
133. Tang, B.; Chen, Z.; Hefferman, G.; Wei, T.; He, H.; Yang, Q. A hierarchical distributed fog computing
architecture for big data analysis in smart cities. In Proceedings of the ASE BigData & SocialInformatics
2015, Kaohsiung, Taiwan, 7–9 October 2015; p. 28.
134. Almajali, S.; el Diehn I. Abou-Tair, D. Cloud based intelligent extensible shared context services.
In Proceedings of the 2017 Second International Conference on Fog and Mobile Edge Computing (FMEC),
Valencia, Spain, 8–11 May 2017. [CrossRef]
135. Almajali, S.; el Diehn, I.; Abou-Tair, D.; Salameh, H.B.; Ayyash, M.; Elgala, H. A distributed multi-layer
MEC-cloud architecture for processing large scale IoT-based multimedia applications. Multimed. Tools Appl.
2018, 78, 24617–24638. [CrossRef]
136. Yang, M.; Zhu, T.; Liu, B.; Xiang, Y.; Zhou, W. Machine learning differential privacy with multifunctional
aggregation in a fog computing architecture. IEEE Access 2018, 6, 17119–17129. [CrossRef]
137. Tiburski, R.T.; Moratelli, C.R.; Johann, S.F.; Neves, M.V.; de Matos, E.; Amaral, L.A.; Hessel, F. Lightweight
Security Architecture Based on Embedded Virtualization and Trust Mechanisms for IoT Edge Devices.
IEEE Commun. Mag. 2019, 57, 67–73. [CrossRef]
138. Wang, T.; Zhang, G.; Liu, A.; Bhuiyan, M.Z.A.; Jin, Q. A secure IoT service architecture with an efficient
balance dynamics based on cloud and edge computing. IEEE Internet Things J. 2018. [CrossRef]
139. Haddadi, H.; Christophides, V.; Teixeira, R.; Cho, K.; Suzuki, S.; Perrig, A. SIOTOME: An edge-ISP
collaborative architecture for IoT security. In Proceedings of the IoTSec, Orlando, FL, USA, 17 April 2018.
140. Marjanović, M.; Antonić, A.; Žarko, I.P. Edge computing architecture for mobile crowdsensing. IEEE Access
2018, 6, 10662–10674. [CrossRef]
141. Datta, S.K.; Bonnet, C. An edge computing architecture integrating virtual iot devices. In Proceedings of
the 2017 IEEE 6th Global Conference on Consumer Electronics (GCCE), Nagoya, Japan, 24–27 October 2017;
pp. 1–3.
142. Sharma, P.K.; Chen, M.Y.; Park, J.H. A software defined fog node based distributed blockchain cloud
architecture for IoT. IEEE Access 2017, 6, 115–124. [CrossRef]
143. Lucks, S. The saturation attack—A bait for Twofish. In Proceedings of the International Workshop on Fast
Software Encryption, Yokohama, Japan, 2–4 April 2001; pp. 1–15.
Sensors 2020, 20, 6441 51 of 52
144. Gao, J.; Agyekum, K.O.B.O.; Sifah, E.B.; Acheampong, K.N.; Xia, Q.; Du, X.; Guizani, M.; Xia, H.
A Blockchain-SDN enabled Internet of Vehicles Environment for Fog Computing and 5G Networks.
IEEE Internet Things J. 2019, 7, 4278–4291. [CrossRef]
145. Azimi, I.; Anzanpour, A.; Rahmani, A.M.; Pahikkala, T.; Levorato, M.; Liljeberg, P.; Dutt, N. Hich:
Hierarchical fog-assisted computing architecture for healthcare iot. ACM Trans. Embed. Comput. Syst. (TECS)
2017, 16, 174. [CrossRef]
146. Arcaini, P.; Riccobene, E.; Scandurra, P. Modeling and analyzing MAPE-K feedback loops for
self-adaptation. In Proceedings of the 10th International Symposium on Software Engineering for Adaptive
and Self-Managing Systems, Firenze, Italy, 18–19 May 2015; pp. 13–23.
147. Samarah, S.; Zamil, M.G.A.; Rawashdeh, M.; Hossain, M.S.; Muhammad, G.; Alamri, A. Transferring activity
recognition models in FOG computing architecture. J. Parallel Distrib. Comput. 2018, 122, 122–130. [CrossRef]
148. Carrez, F.; Bauer, M.; Boussard, M.; Bui, N.; Jardak, C.; Loof, J.; Magerkurth, C.; Meissner, S.; Nettsträter, A.;
Olivereau, A.; et al. Internet of Things–Architecture IoT-A, Deliverable D1. 5–Final Architectural Reference Model
for the IoT v3. 0; European Commission: Brussels, Belgium, 2013.
149. Abdmeziem, M.R.; Tandjaoui, D.; Romdhani, I. Architecting the internet of things: State of the art. In Robots
and Sensor Clouds; Springer: Berlin/Heidelberg, Germany, 2016; pp. 55–75.
150. Wang, Y.; Uehara, T.; Sasaki, R. Fog computing: Issues and challenges in security and forensics.
In Proceedings of the 2015 IEEE 39th Annual Computer Software and Applications Conference, Taichung,
Taiwan, 1–5 July 2015; Volume 3, pp. 53–59.
151. Ma, M.; Wang, P.; Chu, C.H. Data management for internet of things: Challenges, approaches and
opportunities. In Proceedings of the 2013 IEEE International Conference on Green Computing and
Communications and IEEE Internet of Things and IEEE Cyber, Physical and Social Computing, Beijing,
China, 20–23 August 2013; pp. 1144–1151.
152. Shekhar, S.; Gokhale, A. Enabling IoT Applications via Dynamic Cloud-Edge Resource Management.
In Proceedings of the 2017 IEEE/ACM Second International Conference on Internet-of-Things Design and
Implementation (IoTDI), Pittsburgh, PA, USA, 18–21 April 2017; pp. 331–332.
153. Chiang, M.; Zhang, T. Fog and IoT: An overview of research opportunities. IEEE Internet Things J. 2016,
3, 854–864. [CrossRef]
154. Eschenauer, L.; Gligor, V.D. A key-management scheme for distributed sensor networks. In Proceedings
of the 9th ACM Conference on Computer and Communications Security, Washington, DC, USA, 18–22
November 2002; pp. 41–47.
155. Pawar, C.S.; Patil, P.R.; Chaudhari, S.V. Providing security and integrity for data stored in cloud storage.
In Proceedings of the International Conference on Information Communication and Embedded Systems
(ICICES2014), Chennai, India, 27–28 February 2014; pp. 1–5.
156. Halabi, D.; Hamdan, S.; Almajali, S. Enhance the security in smart home applications based on IOT-CoAP
protocol. In Proceedings of the 2018 Sixth International Conference on Digital Information, Networking,
and Wireless Communications (DINWC), Beirut, Lebanon, 25–27 April 2018; pp. 81–85.
157. Ni, J.; Zhang, K.; Lin, X.; Shen, X.S. Securing fog computing for internet of things applications: Challenges
and solutions. IEEE Commun. Surv. Tutor. 2017, 20, 601–628. [CrossRef]
158. Hamdan, S.; Hudaib, A.; Awajan, A. Detecting Sybil attacks in vehicular ad hoc networks. Int. J. Parallel
Emerg. Distrib. Syst. 2019, 1–11. [CrossRef]
159. Wang, C.; Zhu, L.; Gong, L.; Zhao, Z.; Yang, L.; Liu, Z.; Cheng, X. Accurate sybil attack detection based on
fine-grained physical channel information. Sensors 2018, 18, 878. [CrossRef]
160. Prakash, P.; Darshaun, K.; Yaazhlene, P.; Ganesh, M.V.; Vasudha, B. Fog computing: Issues, challenges and
future directions. Int. J. Electr. Comput. Eng. 2017, 7, 3669.
161. Konduru, V.R.; Bharamagoudra, M.R. Challenges and solutions of interoperability on IoT: How far have we
come in resolving the IoT interoperability issues. In Proceedings of the 2017 International Conference on
Smart Technologies For Smart Nation (SmartTechCon), Bangalore, India, 17–19 August 2017; pp. 572–576.
162. Schulz, P.; Matthe, M.; Klessig, H.; Simsek, M.; Fettweis, G.; Ansari, J.; Ashraf, S.A.; Almeroth, B.; Voigt, J.;
Riedel, I.; et al. Latency critical IoT applications in 5G: Perspective on the design of radio interface and
network architecture. IEEE Commun. Mag. 2017, 55, 70–78. [CrossRef]
Sensors 2020, 20, 6441 52 of 52
163. Fazio, M.; Celesti, A.; Marquez, F.G.; Glikson, A.; Villari, M. Exploiting the FIWARE cloud platform to
develop a remote patient monitoring system. In Proceedings of the 2015 IEEE Symposium on Computers
and Communication (ISCC), Larnaca, Cyprus, 6–9 July 2015; pp. 264–270.
164. Jager, F.; Taddei, A.; Moody, G.B.; Emdin, M.; Antolič, G.; Dorn, R.; Smrdel, A.; Marchesi, C.; Mark, R.G.
Long-term ST database: A reference for the development and evaluation of automated ischaemia detectors
and for the study of the dynamics of myocardial ischaemia. Med. Biol. Eng. Comput. 2003, 41, 172–182.
[CrossRef]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional
affiliations.
c 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).