IoT Survey Darabkh Accepted ResearchGate
IoT Survey Darabkh Accepted ResearchGate
Abstract - Ubiquitous sensing, provided via wireless sensor networks technologies, disseminates across many
domains of contemporary day living. This provides the ability to sense, process, analyze and infer environmental parameters
from natural resources and delicate ecologies to urban environments. The explosion in the number of devices that are
connected to the internet has led to the emergence of the Internet of Things (IoT) technological revolution. In these
technologies, actuators and sensors incorporate smoothly with the IoT environment. Furthermore, the sensed data is shared
through platforms to innovate a common operating picture. This cutting-edge technology is fueled by a diversity of IoT
devices that enables technologies such as near field communication, embedded actuator, sensor nodes, radio frequency
identification tags, and readers. IoT has emerged from its infancy and has established a fully integrated future internet.
Different visions of IoT technologies have been reviewed, however, what emerges currently in this field should be faced and
displayed via the research community. In this paper, we are keen to discuss the recent worldwide implementation of IoT,
where the prime enabling technologies, recent and future communication protocols and application areas that drive IoT
research in the near future are explored. Furthermore, the original, recent, future enhancements of all IoT stack’s protocols
are extensively discussed. Middleware’s definition, usages, types and open research challenges are further illustrated. Not
only to this extent but rather, this survey details the simulation tools of IoT networks, IoT sensors along with their recent
application areas, broad IoT research challenges, as well as in-depth analysis of IoT research history and recommendations
that attract current IoT researchers’ attention.
Keywords – IoT architectures; protocols; applications, IoT middleware; IoT simulators; IoT challenges; future directions;
recommendations
1. Introduction
The next revolution in the era of computing will be out of the realm of the classical desktop. In IoT environment, the
numerous things that surround us will be connected to the internet in one way or another [1]. Various sensor network technologies
and Radio-Frequency Identification (RFID) will emerge to face this novel challenge, where communication and information systems
are embedded in the area that surrounds us [2] [3] [4] [5] [6]. This will lead to the creation of tremendous amounts of data that has
to be processed, stored and presented in an efficient, easy and seamless manner [7] [8] [9] [10]. The cloud-computing model offers
a virtual infrastructure to perform such computing through integrating surveillance and storage devices, analytics tools, client
delivery, and visualization platforms [11]. The cost-based paradigm that cloud computing provides will authorize service
provisioning for users and businesses to access their applications on-demand from anywhere and at any time [12].
The indispensable part of IoT is its smart connectivity with the present network and context-aware computation utilizing
network resources. The evaluation of widespread communication and information networks comes from the growing existence of
4G-LTE and Wi-Fi wireless communication protocols [13]. However, to let IoT vision emerges successfully, computing standards
need to go beyond conventional mobile computing technologies and develop into connecting every existing thing around us and
embedding intelligence in the surrounding environment. There are essential demands that have to exist in order to achieve context-
aware computation and smart connectivity in an IoT environment. These demands are 1) Understanding of IoT users and their
appliances, 2) Pervasive communication networks and software architectures to transfer and process the sensed data to where it is
relevant, 3) Analytics tools for autonomous and intelligent behavior in IoT systems.
An essential evolution of the present internet into a network of connected-things not only interacts with the physical
environment through actuation, monitoring, and control, nor simply harvests data from the surrounding environments, but also
utilizes existing internet criteria to facilitate data transmission, analytics, and communication [14] [15] [16] [17] [18]. IoT area is
fueled by the propagation of intelligent devices that are enabled by various wireless technologies such as RFID, Bluetooth,
telephonic data services and Wi-Fi, in addition to embedded actuators and sensor nodes. IoT has emerged from its infancy and is
transforming from the present traditional internet into a completely integrated future internet [1] [19]. The revolution of IoT has led
to an increasing interconnection among things at an unprecedented scale and speed to create an intelligent environment. In 2011,
the number of interconnected devices overtook the number of people on the face of the earth. Currently, there are 9 billion devices
that are connected to the internet and it is anticipated to reach 24-50 billion IoT devices in 2020 [6] [12]. As stated by the global
system for mobile communications, this will yield a profit of $1.3 trillion for mobile network operators that cover main sectors such
as automotive, consumer electronics, utilities, and health. Numerous researches, industries, and companies are presently involved
in the development of different IoT aspects to satisfy the increasing technological requirements that come with such rapid growth.
1.1 Related Works
Many works have surveyed and covered the different aspects of IoT technology. However, the contributions of these works
and the research community on IoT-related topics are still highly fragmented and inadequate, and to a large extent concentrated on
only a few aspects of this domain. Also, the involvement of communications and networking societies is still limited, despite the
importance of their contributions to the evolution of this field. This subsection presents a literature review for some of these works
organized chronologically, with a brief discussion regarding the topics they handled in their surveys.
Atzori et al tried in their survey paper to describe different visions of IoTs model based on diverse scientific communities'
points of views [20]. This survey addressed the main communication technologies and identified wireless and wired actuator and
sensor networks without providing any details regarding the protocols and their enhancements related to each IoT layer architecture.
Furthermore, it illustrated and reviewed the main technologies of the IoT paradigm along with the benefits behind spreading this
technology in different domains of everyday life. Finally, their work discussed different proposed issues and open research
challenges that faced the IoT domain until 2009. Miorandi et al presented the vision of the IoT model and defined the main related
concepts wherein they indicated the significant additions provided by related researches and technology contexts in this field [21].
Additionally, multiple research and security challenges were investigated followed by a brief discussion of possible IoT applications
and their impact on different fields. Finally, the authors reviewed related IoT initiatives until 2012. However, their paper not only
did not cover all the aspects of the IoT field but is also outdated. The concept and history of IoT were demonstrated with a brief
introduction of different IoT architectures by Said et al [22]. Furthermore, they introduced a few applications that can be
implemented based on IoT technology, besides demonstrating open problems and research challenges in this field. The definitions,
taxonomy, and trends of IoT technology with a brief discussion regarding some technologies and applications of this field were
presented by Gubbi et al [12]. Moreover, an example of cloud computing implementation using Aneka/Azure cloud platform was
presented, without introducing further details about the specifications of cloud computing technology. Many challenges and open
research issues were examined by Whitmore et al, with a brief introduction about IoT technologies, applications, and business
models [23]. Al-Fuqaha et al gave some technical details about IoT technologies, architectures, applications, and protocols [24]. In
addition, they provided a concise presentation regarding the interaction among IoT solutions, big data, fog, and cloud computing.
Finally, some Quality of Service (QoS), security issues, and challenges were examined. A limited discussion was provided by
Kraijak and Tuwanut about architecture, protocols, applications, privacy and security problems in the IoT domain. Finally, they
presented the applications and future trends of IoT [25]. Masek et al described Machine-to-Machine (M2M) communication
protocols in cellular networks, with a summarized presentation of some bidirectional communication protocols [26]. They also
offered a brief investigation regarding the convenience of both protocol buffers format and JavaScript Object Notation (JSON) for
M2M communication. They also proposed a live smart home project for Telekom Austria group using JSON and protocol buffer
techniques to implement M2M communication. Many IoT aspects were covered by Ray [27]. Firstly, he tried to give multiple
definitions of IoT paradigm from different researchers' perspectives. Secondly, different architectures of this technology were
discussed. Thirdly, the main domains and applications that can be implemented by IoT technology were presented, followed by
sections about previous wireless and wired technologies and protocols that were implemented in this field. Finally, possible research
and security challenges were investigated. The Survey paper of Sethi and Sarangi covered different taxonomies of IoT stacks with
a brief description of each layer's technologies and protocols [28]. Also, they profiled some types of IoT sensors with their related
applications. Some challenges behind proposing the term of middleware were discussed along with identifying their types.
Burhanuddin et al provided a theoretical background of the IoT paradigm, with an analysis review of many surveys on this field
[29]. Further, they discussed the requirements needed to implement IoT applications, followed by a discussion about future
directions and challenges that face this domain. An inadequate interpretation was given to cover relevant sides of IoT middlewares
such as the needs behind middleware, its capabilities, enabling technologies, and challenges by Ngu et al [30].Moreover, the authors
classified various types of IoT middlewares and gave many examples for each architecture, without taking into consideration other
aspects of IoT model. Silva et al presented one type of IoT architectures with its relevant technologies and then went to simply
summarize some of the prevalent communication protocols and standards that are adopted by the IoT field [31]. Although some IoT
applications were identified, followed by a brief discussion of some issues and security challenges that face the domain, it was
overall, an insufficient study that left the reader with many questions about the intricacies of the subject at hand. Different points of
view were presented regarding various types of IoT stack architectures with possible attacks relevant to each layer and suggestions
to overcome and solve these issues by Burhan et al [32]. In addition, a number of communication technologies were highlighted
along with their drawbacks and characteristics. An overview of different procedures that were proposed to secure IoT environment
with their restrictions until 2018 was discussed, where a novel IoT architecture model was proposed by the authors to fill security
gaps in the previous architectures. To this end, a section for some issues and challenges that face the security of IoT environment
was provided. Atlam et al identified the general notion characteristics of IoT, followed by a presentation of simple IoT stack
architecture [33]. On the other hand, they discussed some communication technologies and applications of the IoT field. However,
limited discussion regarding IoT challenges and future directions was introduced.
ˇColakovi´c and Hadžiali´c identified features and visions of IoT and provided insights of some enabling technologies and
communication protocols based on their functionalities, while they slightly reviewed the middleware and network domains [34].
The authors focused further on addressing and discussing the challenges and open issues that face the IoT model. A detailed
presentation was provided for the communication protocols of the application layer, such as Hypertext Transfer Protocol (HTTP),
Constrained Application Protocol (CoAP), Message Queuing Telemetry Transport (MQTT), Data Distribution Service (DDS),
Advanced Message Queuing Protocol (AMQP), and Extensible Messaging and Presence Protocol (XMPP) along with their
implementations in different segments of the IoT environment (IoT, cloud, fog) by Dizdarević [35]. Thereafter, the author conducted
a comparison between these protocols considering distinctive aspects such as latency, bandwidth consumption and throughput,
energy consumption, security, and developer’s choice. Finally, a concise description of open issues and challenges were provided.
Balaji et al [36] presented a few technologies and protocols that are utilized in IoT domain, followed by a summary of some security
issues that face this field. In addition, they mentioned the popular IoT- based lifesaver tools and discussed a number of real-time
applications. Finally, few of the issues prevalent in the IoT field were explained and the future scope and applications were left out.
A comprehensive focus on IoT forensic was presented by Yaqoob et al [37]. This work demonstrated novel factors that affect and
enable forensics in the IoT domain. It further provided an investigation of several IoT forensics literatures and categorized them
depending on sources of evidence, forensics phases, networks, enablers, forensics data processing, forensics tools, forensics layers,
etc. to analyze their strengths and weaknesses. Several research challenges and issues were identified as future research directions.
Sharma et al presented many definitions for IoT notions based on different researchers' perspectives [38]. The authors
chronologically addressed the evolution of this technology. In the end, a slight discussion was provided to handle different IoT
aspects such as its technology trends, communication standards, architecture and an overview of its future.
1.2 Findings and Impacts
There are many surveys that have been done to investigate different fields and issues of IoT domain till now. To the best
of our knowledge, there are no prior surveys similar to ours. Interestingly, Table 1 displays how this work is distinctive from other
highly cited papers mentioned in the previous section considering many perspectives out of which IoT paradigm, architectures,
spreading spectrum techniques, layers protocols (original, recent, future enhancements), IoT middleware (recent challenges), IoT
simulation tools, IoT applications, research security and challenges, and research history analysis and recommendations. In light of
the aforementioned deficiencies of the related works, the major findings of this work can be summarized as follows:
1. Having higher value for researchers, as this survey is considered to be a starting point for their future researches because it
gives the reader the opportunity to comprehend what has been done in IoT field, what still needs to be developed as well as
what the risks and weakness factors are that need to be addressed. In addition, it exhibits the current trends in IoT research
that are encouraged by the need for the convergence in multiple interdisciplinary technologies and IoT applications.
2. Highlighting diverse visions, definitions, and a thorough overview of IoT components and features for the reasoning of
expediting a better comprehension of different IoT specifications by researchers and technicians.
3. Providing a detailed demonstration of different spreading spectrum techniques (i.e., Direct-Sequence Spread Spectrum
(DSSS), Frequency-Hopping Spread Spectrum (FHSS), Chirp Spread Spectrum (CSS), Time-Hopping Spread Spectrum
(THSS)). Based on such important information, the network designers can use the proper or suitable spreading spectrum
techniques in their IoT communication systems, which will reduce crosstalk interference, obtain less static noise and data
integrity, reduce signals susceptibility to multipath fading, avoid signals interference, and guarantee security implementation
by making IoT data signals hard to detect, intercept or demodulate.
4. Providing insights and deep synopsis of the most recent standards and protocols, which are classified based on different IoT
stack architecture (i.e., application, transport, network, and data link layers), thereby making sure that the reader will be aware
of the full picture of the original, current, and future enhancements of each protocol. Matter of fact, conducting comparisons
between all protocols in each layer from different perspectives will help the researchers and technicians in deciding which
one suits them more quickly in professional and organized manners without digging through precise details provided in
standard specifications, sources, and Request for Comments (RFC).
5. Presenting a comprehensive overview of the emerging challenges and issues in the IoT domain in order to be tackled through
future researches. In fact, after studying numerous IoT research papers we have come to the conclusion that most of the
challenges and security issues emerge from the remarkable increase in data traffic, the huge variety of traffic types, diversity
of IoT devices, great variances in data forms, heterogeneous networks, etc. All of these concerns have a dramatic effect on
the performance and QoS of the IoT systems.
6. Detailing the most and recent trends and specifications of IoT middleware aspects. In other words, we make sure that the
readers get a full understanding of the recent challenges and issues that face the middleware field, the diverse classification
of middleware architectures, and differences of emerging middleware platforms for each type of architecture.
7. Introducing a comprehensive overview of IoT simulators that are currently available through classifying them into categories
according to their functions and then conducting comparisons while considering prevailing needs and aspects. Besides, the
major challenges raised through moving from simulating the Wireless Sensor Network (WSN) environment into IoT are
highlighted, thereby allowing the developers to upgrade the current versions of these simulators to suit IoT environment’s
requirements.
8. Analyzing the IoT research history, utilizing Scopus database through 2011 to 2020, in a very professional manner which
primarily includes both IoT stack and middleware architectures. In particular, as far as the former is concerned, we analyze
the growth and diminishment of publications in the whole IoT stack which includes data link and communication protocols,
network, transport, as well as application layers. In regards to the latter one, we analyze its publications’ growth and
diminishment considering actor-based, event-based, cloud-based, and service-based architectures bearing in mind that
addressing the challenges and limitations of middleware architectures has to take the functional components as service
composition, registration, and discovery and non-functional needs, such as ease of deployment, privacy, security, availability,
reliability, timeliness, and scalability all into consideration. As a result, we provide recommendations that will certainly
attract most IoT researchers.
1
: Aspect is not existed in the survey
2
✔: Aspect is covered to the core in the survey
3
☆: Aspect is shallow covered in the survey
4
★: Aspect is sufficiently covered in the survey
enabling technologies,
architecture, and challenges
RAC video
SPI
12C
SD
NAND/NOR
GPU
CAN MMC
DDR1/DDR2/
DDR3
SDIO
3. Architecture of IoT
IoT connects millions of smart objects, which leads to more data traffic and the need for large data processors and storages
[19]. Based on the above, IoT will face challenges regarding QoS, privacy, and security [44]. Thus, IoT architecture must take into
consideration many issues such as interoperability, scalability, QoS, reliability, etc. [45]. In the literature, various IoT architectures
have been suggested [46] [47] [48]. Nevertheless, each proposed architecture brings many shared drawbacks and fails to cover all
of the IoT characteristics, which are summarized as follows [49]:
a. Distributive: IoT model is probably developed in an enormously distributed environment, where data can be collected
from various sources and consequently can be processed via distinctive smart entities in a distributed procedure.
b. Interoperability: IoT devices that belong to distinct vendors have to communicate with each other to obtain mutual goals.
Protocols and systems must be also designed in a manner that permits smart devices from numerous manufacturers to
exchange their sensed data in an interoperable manner.
c. Scalability: Billions of objects are expected to join the network of any IoT environment. Thus, applications and systems
that run on these environments must be able to manage and process a tremendous amount of data.
d. Resources scarcity: Both of computation units and energy are considered to be highly scarce resources.
e. Security: Users' feelings of being helpless and exposed under the control and dominant of an unknown external device
could sorely handicap IoT deployment.
To overcome these issues, many researchers follow a specific-layered architecture for IoT infrastructure. In every proposed
IoT architecture, similar techniques, functionalities, and services will be grouped into the same layer, which will facilitate the
development and enhancement of the architecture of each layer in the future [50]. There is no global consensus on the architecture
of IoT, so different IoT architectures have been suggested by many researchers [49]. To the best of our knowledge and after an
extensive search on IoT architecture models, we found that the superior model with respect to the elements that compose this
environment is the “Three Based Architecture” model that is described in [51]. This architecture composes of the following three
layers:
a. IoT layer: This layer contains all smart devices, entities, and end-users that are located in the IoT system.
b. Fog layer: All fog nodes are placed in this layer.
c. Cloud layer: All distributed cloud servers exist in this layer, where these servers consist of multiple processing units like
a rack of high capabilities servers or it could be a huge server with multiple processing cores.
In every layer a set of nodes are grouped into domains, wherein a single IoT domain, that is composed of Nodes-Fog-Cloud
agents, an application can be performed as depicted in Figure 2. The basic method that permits any IoT node, fog computing node
and cloud server of communicating and interacting with each other is demonstrated as follows; firstly, an IoT node transmits its
sensed data directly to a fog node that belongs to its domain application. As a result, the fog node processes the received data directly
or sends it to another fog node or cloud server belongs to the same domain in order to send the reply back to the related IoT node.
This step will reduce the service delay5 of IoT node in receiving a response for any request, this comes from the location of the fog
layer which allows its nodes to handle most of the requests come from the IoT layer [51]. The following sections demonstrate the
architecture of each layer in the three-based architecture model.
5
Service delay: Is the time period between the moment that IoT node transmits a service request and the time it receives the reply for its request [51].
v. Application Layer: This layer represents the front end of IoT architecture, where most of IoT potential will be exploited,
because it provides IoT developers with interfaces, platforms, and tools that are required to implement IoT applications
such as smart homes, intelligent transportation, smart health, and smart cities [49]. Moreover, it is responsible for receiving
the processed data from the network layer.
Application Layer
Transport Layer
Network Layer
Service
ID Tag
IP Network
User ID Tag
Interface
Perception Layer
Devices
Objects
Monitoring Layer
Preprocessing Layer
Monitoring activities, power,
Data analysis, filtering,
resources, responses and
reconstruction and trimming
services
Figure 5: The role of the cloud and fog computing in the delivery of IoT services
6
Composability: A system design principle that deals with the inter-relations among components, highly composable system supplies components that can be
nominated and assembled in innumerable combinations to satisfy particular user requirements [252].
Application Layer
Component Layer
Base Layer
Pseudonoise Pseudonoise
generator generator
Signal energy
-1/Ʈ 0 1/Ʈ
-1/Ʈc 0 1/Ʈc
(b) Spectrum of pseudo-noise signal
f1 f2 f3 f4 f5 f6 f7 f8 Frequency Time
(a) Channel assignment (b) Channel use
Figure 9: Frequency-hopping example
Table 2: Frequency hopping values based on PN code indices
K-bit Frequency
K-bit patterns
000 100 kHz
001 150 kHz
100 011 110 010 000 001 111 101
010 200 kHz
011 250 kHz
100 300 kHz
101 350 kHz
110 400 kHz
111 450 kHz
7
‘n’ symbol represents the number of the transmitted bits per time slot in one frame.
One frame
Transmitted
bursts
Designing RESTful IoT systems have many commonalities with other web applications, even though the primary characteristics
that should be considered when building these systems are:
Interaction patterns, data formats and other approaches that avoid or reduce the need for human intervention.
Preferring simple and compact data formats to ease the transmission and processing over constrained networks.
However, many aspects of RESTful protocol need to be improved to enhance its capabilities as follows [87] :
3-way commit, because of robust and unreliable communication in high packet loss networks.
Sharing knowledge methods between system components, such as media types, well-known locations, uniform resource
identifiers schemes, and relation types.
Further information on choosing what is modeled as a resource and how to select resources.
The main objectives behind enhancing CoAP capabilities to run over TLS and TCP, are that some enterprise networks face
connectivity issues compelling them to block UDP packets, while the second target is to gain many desirable features of TCP
protocol such as [88]:
Nating over TCP lasts for a long period compared with UDP, as it provides additional information regarding session
lifecycle. Thus, timeout binding for TCP is 386 minutes, while it does not exceed 160 seconds for UDP protocol. Generally,
the shorter timeout of UDP requires to transmit the keepalive messages more frequently compared with TCP protocol.
TCP uses techniques for flow control and congestion control that are more advanced than those provided by UDP, which
allow CoAP to transmit larger payloads.
However, there are numerous hindrances of using CoAP over TCP, as it requires more round trips, large code and
packet sizes, and more RAM requirements.
AMQP v2.5.0 has added a new platform to the previous version of the protocol, dropped Python 3.4, and fixed numerous bugs.
In addition to the above, the motivation behind launching a novel AMQP v.2.5.0 protocol is the need of scaling hundreds to
thousands of subscribers and publishers in a reliable and flexible manner [89].
DDS protocol specifies the communication semantics (QoS and behavior) and APIs that permit robust and efficient data
transmission to the right place at the right time. Therefore, it is important to design the interfaces in a way that meet the above
requirements as follows [90]:
Permitting the middleware to dynamic pre-allocate resources to be at the minimum.
Evading features that require using of hard-to-predict or unbounded resources.
Reducing the need for making copies of data.
5.1.3 Future Research Directions of Application Layer IoT Protocols
HTTP protocol supports a wide range of internet services. A novel version (HTTP/3) is proposed to suit running over
Quick UDP Internet Connections (QUIC) protocol. QUIC tries to enhance HTTP performance by incorporating TLS v1.3
security procedure. HTTP/1.1 runs over TCP protocol and utilizes whitespace-delimited fields to transmit HTTP texts,
where multiple TCP connections are required since one HTTP response or request can be transferred at a time in each
direction. HTTP/2 presents a new layer multiplexing and binary framing layer in order to enhance network latency without
any modification in the transport layer. Nevertheless, the parallel multiplexing nature of HTTP/2 makes it prone to packet
reordering or loss. HTTP/3 is intended to support transporting over QUIC protocol and internal framing layer to benefit
from their features [91].
XEP-0128 is a service discovery extension for XEP-0030 protocol which does not have an option that allows users to add
a service description attribute. Adding an additional attribute to service discovery schema does not solve this issue, so it is
better to include additional information that provides a method to resiliently specify data structured formats [92].
Table 3: Comparison between application layer IoT protocols
Protocol MQTT HTTP XMPP RESTful
Message format Plain-text Plain-text, Textual information Chatting, message exchanging. Plain-text , XML11, HTML
encoded in ASCII YAML12, JSON
Merits Suitable for resource-constrained Persistent connections Decentralization can be run Scalability
devices Request pipelining by anyone on any server and Easy implementation and
Suitable for high latency and low Chunked transfer encoding there is no central master interaction
bandwidth networks High interpretability on the server Browser-friendliness
Simplicity web Open standards Flexibility
Very small message header Flexibility (Custom Independence of
functionality can be built on programming language and
top of XMPP) platforms
Demerits It does not support encryption Requires high power and Does not support QoS Less security
Needs more efforts in security resources High network overhead Not suitable for distributed
Increases communication In-band binary data transfer is environments
latency limited
Consumes network
bandwidth
Does not include reliability
References [75] [76] [77] [94] [95] [96] [78] [79] [81] [92] [35] [81] [82] [97] [98] [99]
8
OASIS: Organization for the Advancement of Structured Information Standards
9
W3C: World Wide Web Consortium
10
SASL: Simple Authentication and Security Layer
11
XML: Extensible Markup Language
12
YAML: Yet Another Markup Language
Standard
OASIS, ISO/IEC13 OMG IETF, Eclipse Foundation
Latest Version/year AMQP v 2.5.0 (2019) [89] DDS v.1.4 (2015) [90] RFC 8323 (2018) [88]
UDP/TCP TCP TCP/UDP UDP
Architecture Publish/Subscribe Publish/Subscribe Publish/Subscribe
Request/Response
Semantics/ Consume, Deliver, Publish, Get, Select, Ack, Write, Read, Take, Dispose, Wait Post, Put, Delete, Get CON(Confirmable),
Methods Delete, Nack, Recover, Reject, Open, Close NON (non-confirmable), ACK
(Acknowledgement), RST (reset)
Security
TLS/SSL, IPSec14, SASL TLS/ DTLS DTLS15, IPSec
QoS options Yes Yes QoS by 4 types of messages: Confirmable,
Non-Confirmable,
Acknowledge, Reset
Caching Yes Yes Yes
Performance Efficient in the environment that does not have Efficient in the application that requires Sufficient for constrained environment and
any restriction in network bandwidth, power, low latency and high bandwidth networks
latency, and processing capabilities
Message format Binary encoded ASCII characters, Binary encoded Binary encoded
Merits Scalable Supports durability, security, and Reliability
Supports the communication between priority QoS standards Retransmitting lost packets
heterogeneous devices Achieves high performance, real- Multicast support
Supports reliability, security, and performance time, interoperable, scalable and Resources monitoring
dependable data communication Low overhead
Simplicity for constrained environments
Demerits It is not suitable for real-time and resource- Consumes high bandwidth Multicast communications are less secure,
constrained environments as there are no suitable key management
It does not support automation discovery procedures
procedure An end to end security is not supported
Heavy protocol as it requires memory and It does not contain built-in security
power resources characteristics
References [35] [84] [85] [94] [100] [35] [94] [101] [35] [83] [84] [94] [100] [102]
13
ISO/IEC: International Organization for Standardization/International Electrotechnical Commission
14
IPSec: Internet Protocol Security
15
DTLS: Datagram Transport Layer Security
applications, by preventing eavesdropping, message forgery, and tampering. It consists of two components, where the first
component is the handshaking protocol that has the responsibility of authenticating the communication ends, agreeing on shared
keys and negotiating the cryptographic parameters and modes, where the second component is the record protocol that splits the
traffic into many records and protects them by utilizing the traffic keys [110] [111].
(6) Datagram Transport Layer Security: It was designed to provide security for datagram applications that do not require or
provide in-order or reliable data delivery such as datagram online gaming, internet telephony and media streaming, which are
considered to be delay-sensitive applications. DTLS is an extension of TLS protocol, where it provides the same security
functionalities but for data stream transmission by preventing message forgery, tampering, and eavesdropping. Thus, it should
deal with and solve many datagram issues, such as loss of datagram packets, packet reordering and delay [112].
(7) Resource Reservation Protocol (RSVP): It is multicast and unicast control transmission protocol that was designed to provide
flexible, robust, scalable and heterogeneous resources reservation setup at each router for data stream transmission. RSVP
organizes message formats, hosts and routers mechanisms, also it can operate over IPv4 or IPv6 [113]. It also supports many
functionalities such as resource reservations in each node along the data path, multipoint to multipoint communication paradigm,
cache (state) management routers and receiver-initiated reservation [114] [115].
(8) Quick UDP Internet Connections: It is a general-purpose, secure and multiplexed transport protocol. Quick was built on the
top of UDP protocol by google to provide reliability, security, multiplexing, flow control per-stream, congestion control per
connection, low latency for data stream transmission, and connection migration to NAT rebinding [116]. This protocol aims to
improve the performance of connection applications, which are based on TCP protocol through established multiplexed
connections over UDP [117].
(9) Aeron: It is an open-source connection-oriented communication protocol that was proposed by Martin Thompson to run over
unreliable media such as InfiniBand and UDP, as well to provide in order transmission with optional reliability through
retransmission of dropped packets. Aeron tries to provide the highest throughput with the lowest latency, which makes it ideal
for the communication of real-time applications, VoIP, fast-paced networked multiplayer games, video streaming, and high-
frequency financial trading. However, implementing this protocol by java language will reflect on reducing resource
requirements such as memory and CPU [118] [119].
RSVP protocol was proposed to transform unidirectional Label Switch Path (LSP) connection into a bidirectional connection,
either by single-sided or by double-sided method, by following the same path. RSVP-Extended (RFC 8537) amends single-
sided and double-sided methods to support fast reroute and co-routed procedures. Fast reroute methods make sure that the traffic
of LSP flows smoothly via co-routed paths in both directions after it transmits through the fast route. However, to implement
RFC 8537 standard successfully, all the nodes on the LSP path should support this protocol [121].
Many transport protocols extend their capabilities by dedicating an area for header options, which will adapt the protocol to be
used in particular environments or in unexpected conditions that have not been seen by the developers. UDP is one of the
popular transport layer protocols that lack this feature. Thus, UDP-Options-07 comes to extend UDP header to locate a trailer
space for options after the data payload field [122].
Transmission over SCTP has faced many issues and hindrances from the first launching till now. RFC 8540 presented the
improvements that have been made to handle these issues, such as path error, counter threshold, shutdown request of the upper-
layer protocols, new chunk types registration, detection of endpoint failure, identifying the rules of data transmission,
miscellaneous typos, etc [123].
16
RSA: Ron Rivest, Adi Shamir and Leonard Adleman
Communication through DCCP is currently limited on one path per connection, even though multipath connection only exists
among peers. Improves DCCP capabilities to support the use of simultaneous multipath communications, will reflect positively
on enhancing network resources usage through applying load balancing techniques, providing flexibility to face the network
failure and improving the network throughput [124].
DTLS v1.3 has been evolved to allow a secure client/server communication over the internet by implementing the following
[125]:
A new handshaking form has to be proposed to support short message exchange.
Legacy and weaker cryptographic algorithms ought to be removed.
Supporting authenticated encryption with associated data ciphers.
Encrypting sequence numbers.
Adding connection ID functionality.
Optimizing sizing and encoding of the record layer.
Providing elastic cryptography method negotiation.
Redefining a new method for phase-shift keying authentication.
Proposing a new session resumption procedure.
QUIC v.1 is an enhanced version of QUIC protocol that aims to be utilized over UDP, which will evade the need to change the
middleboxes and the operating systems of clients by applying data encryption and headers authentication techniques [126].
Table 4: Comparison between transport layer protocols considering different aspects
Protocols DTLS RSVP QUIC Aeron
Standard RFC4347 RFC 2205 gQUIC Aeron
Latest version of DTLS v.1.3 (2019) [125] RFC 8537 (2019) [121] QUIC v.1 (2019) [126] *
protocol\ Year
Flow control * Yes Yes Yes
Congestion control * Yes Yes Yes
Packet size 224-1 bytes (handshake message) 16 bits header 2- and 19-bytes header for wire 32 bytes
connection
Transport packet Datagram Datagram QUIC packet Frame
entity
Error detection Yes Yes Yes Yes
Reordering and Yes Yes Yes Yes
sequence
numbering
Reliability Yes Yes Yes Yes
Port Numbering * Yes Yes *
Merits Provides security for datagram Data Integrity Built-in performance and Tries to attain high
transmission Error reporting security, as it has many throughput with low
Provides reliability for handshake Permits multicast security functions such as latency for both unicast
uses retransmission timer to reduce communications among encryption and authentication and multicast
the probability of packet loss heterogeneous devices Processing many requests and communications
Queues unordered messages QoS routing can be deployed transmission concurrently with Affords reliable
separately from data one handshaking multicast operation
Low packet loss Provides different QoS
Minimize bandwidth degree based on data
consumption stream type
Demerits Cannot provide protection for Requires a lot of work on the Performance problem of the This protocol on its
SCTP control chunks router's side to manage resources data transmitting and receiving infancy stages
DTLS over SCTP is slower reservations Information exposure when
When the collision occurs, DTLS Puts heavy processing load on using long header
will process only the packets from routers especially in a heavy
the first source and discards the traffic case, which will degrade
others their performance
Soft state requires many
refreshments
Scalability issue
References [112] [127] [128] [114] [129] [130] [131] [117] [116] [132] [133] [118] [119] [134]
Table 4: Comparison between transport layer protocols considering different aspects (Cont.)
Protocols TCP UDP DCCP SCTP TLS
Standard RFC793 RFC768 RFC4340 RFC4960 TLS 1.0 (RFC2246)
Latest version of RFC793bis-14 (2019) [135] Transport Options for Multipath DCCP (2019) RFC8540 (2019) [123] TLS v1.3 (RFC8446)
protocol\ Year UDP (2019) [122] [124] (2018) [120]
Zhou et al proposed an enhanced version of CARP (E-CARP) protocol, which aims to provide an efficient energy routing
protocol in the underwater wireless sensor networks. To achieve this end, E-CARP employs many techniques as follows:
Instead of transmitting the sensed data toward the sink node by the same sensor each timepoint, E-CARP just permits
caching the received data to reuse it by the sink when needed. Precisely, if the bias in data is within a certain range, the
sensor node transmits only small (INFORM) control packets rather than large data packets, which consequently improves
the network capacity and reduces the energy consumption.
There is no need to periodically select a relay node for each source node if the network topology is stable, this will improve
the network lifetime by reducing the number of control overheads.
17
MinHopRankIncrease: It is a parameter defined in the DIO control message of RPL protocol [144].
However, E-CARP distinguishes and prioritizes data based on its importance, as the data with the high priority should
firstly be routed to the base station. Moreover, sensed data may change based on temporal or/and spatial discipline. The sensed
data that are gathered at earlier time points by some nodes might be used in some applications, instead of fetching instantaneous
data [160].
Extend Collection Tree Protocol (XCTP) was proposed as an extension of CTP. CTP maintains a routing tree that affords paths
in one direction from sensor nodes toward root (base station) node only, while XCTP solves this issue through allowing
communication in both ways from node to root and root to node requiring low overhead and few memory storages. Finding
routes to the reverse path (from root to nodes) requires transmitting acknowledgment packets and feedback commands to
guarantee reliable data delivery [152].
Expected Life Time of Energy-Aware Parent Routing (ELT-EAPR) protocol tries to select the optimal route to the base station
node based on parent event rate and residual energy through utilizing a sigmoid neural network predictor, which will enhance
the network lifetime [161].
LOADng protocol requires many enhancements as it faces many issues such as determining all the nodes that are responsible
for providing internet connections to other network nodes, also the creation of the on-demand routes leads to a massive number
of control overheads. As a result, LOADng-IoT protocol tries to improve the route discovery process, enhance the network QoS,
and minimize the number of control overheads by employing the following amendments [162]:
Finding Internet Connected Nodes (INs) without any prior knowledge of their addresses in the local network, by
broadcasting a special RREQ-IoT, so any intermediate node knows an IN will send unicast RREP message to the originator
node. However, the prior knowledge of INs causes several issues such as the INs can be overloaded by the messages from
other network nodes, network nodes may be configured in long paths toward INs, and packets may be lost if INs are
disconnected from the internet.
Internet route cache is responsible for storing information about the routes toward INs, which will reduce both delay time
and control overhead packets. It is worth mentioning that this procedure is optional and based on device capabilities.
A novel error code to evade the loss of data by informing the other nodes about any internet connection loss, which will
allow them to find a new IN they can relay their data through in order to increase the successful delivery ratio.
Table 5: Comparison between network layer protocols considering distinctive aspects
Protocol RPL CORPL CARP CTP LOADng
Standard RFC6550 * * * *
Recent protocol (year) EM-ARPL (2019) [159] [163]/ 2019 E-CARP (2015) XCTP (2016) [152] LOADng-IoT (2019) [162]
[160]
Network topology Mesh, hierarchical based on Cognitive M2M * Tree-based topology, Grid
DAG networks, mesh Mesh
Scalability Yes Yes Yes Yes, by beacon Yes
message
Applications Building automation, home, Smart grid Underwater WSNs Commercial products, Home applications, industrial
industrial, Smart Grid, Smart applications industrial WSNs, applications
Cities teaching, research
Routing metrics Bandwidth, reliability, hop Expected Transmission End-to-end packet ETX Hop-count
count, number of (ETX) value, reliability, latency, energy
transmissions, connectivity, collision risk, delay consumption per
link quality bit, buffer spaces,
packet delivery
ratio
Multi-hop routing Yes Yes Yes Yes Yes
Consider link quality No Yes Yes Yes Yes
Traffic flows MP2P18, P2MP19 or P2P MP2P, P2P, P2MP MP2P, P2MP, P2P MP2P, P2MP P2P
Algorithm Distance vector Distance vector Link state Distance vector Distance vector
Data rates Low data rates Low data rate low data rate Low traffic rates
Mobility of Network No No Supported Yes Yes
Proactive 20 or Reactive Proactive Proactive Reactive Both Reactive
21
Security Not supported Not supported Not supported Not supported It uses integrity check value,
timestamp
Buffering Limited buffer size Yes Yes Yes Limited buffer size
Latency High latency Supports the delay of Low latency High latency High latency
sensitive applications
Simulation tool Contiki/Cooja Cooja Real-Time Test- nesC C, Java, C++, NS2, Tmote Sk, Cooja
bed, NS2 TOSSIM
OS to implement a Contiki, LiteOS, TinyOS, T- Contiki OS SUNSET TinyOS, Mantis OS, Linux kernel, Contiki
protocol Kernel, EyeOS, RIOT Sun SPOTs, Contiki
OS, Linux/Click
18
MP2P: Multipoint-to-Point communication
19
P2MP: Point-to-Multipoint communication
20
proactive protocol: Each node builds its routing table based on the entire topology of the network, and updates it regularly to get up-to-date routing paths to other
nodes.
21
Reactive protocol: The routes are created when source node wants to communicate with a destination, it recalls route discovery technique to look for a path
toward destination.
Merits Supports routing in limited Achieves good packet Considers Achieves high Generates control traffic to
resources environments delivery ratio residual energy, delivery data ratio construct a route, when
Supports storing and non- Minimum collisions link quality and when transmitting there is data transmission
storing mode to reduce Improves the buffer space from sensors to sink only
memory requirements performance in when choosing node Finds a bi-directional path
Avoids loops spectrum sensing state relaying node for any destination in the
network
Demerits Susceptible to high packet Takes a long time for No security Adaptive beacons Prone to data packets loss
loss due to congestions DAG convergence in No reusability of consume more due to collisions
High delay high node density previously bandwidth and There is no policy to
Susceptible to attacks as it networks collected data energy protect the network
does not support end-to- Retransmissions of Control packets Does not support confidentiality
end encryption duplicate data packets increase routing from sink Data transmissions
Floods the network with communication toward sensors consume a lot of energy,
control over had packets cost, which will There is no which will reduce the
consequently guarantee on data lifetime of nodes
increase the delivery Route discovery delay
consumed Routing changes It does not consider the
energy of the could lead to loops constraints of the nodes,
network which will reduce the
network's lifetime.
References [144] [148] [164] [165] [166] [168] [169] [170] [151] [171] [172] [173] [174] [175] [176] [177]
[167]
Table 5: Comparison between network layer protocols considering distinctive aspects (Cont.)
Protocol ERGID PAOF GeoRank AOMDV-IoT
Standard * * *
Recent protocol (year) * ELT-EAPR (2018) [161] * EAOMDV (2018) [178]
Network topology Mesh, hierarchical based on Mesh, hierarchical based on Geographical greedy networks Dynamic IoT network
DAG DAG
Scalability Yes Yes Yes Yes
Applications Emergency response * Smart street lights application and Mobile IoT applications
applications urban IoT applications
Routing metrics Residual energy, transmission ETX, the number of candidate Distance from node to root (rank) Lifetime hop count
delay parents
Multi-hop routing Yes Yes Yes Yes
Consider link quality No No No No
Traffic flows MP2P, P2P, P2MP MP2P, P2P, P2MP P2P P2P, P2MP
Algorithm Dijkstra algorithm Distance vector Distance vector, greedy- Distance vector
forwarding
Data rates High * Low data rate
Mobility of Network No No Yes, but restricting the mobility Yes
of node to be one hop from the
static node
Proactive or Reactive Proactive Proactive Reactive Reactive
Security No No No No
Buffering Yes Limited buffer size Yes Yes
Latency Low latency Low latency * Low latency
Simulation tool NS2 Cooja Simulation supports the NS2
implementation of open street
map data set
OS to implement Linux Contiki OS * Linux
protocol
Merits Achieves load balancing Achieves load balancing Reduces control overhead in Decreases end to end delay
among routes among routes P2P communication Reduces packet loss rate
Minimizes delay, packet Reduces end to end delay Improves scalability routing
loss, and energy Minimizes collision rates performance
consumption Increases network lifetime Reduces memory utilization
Adaptive protocol that supports
varying link densities
Avoids using DAO control
messages
Demerits On large scale networks, It does not consider parents It suits static network or In data routing, there is no
energy consumption is not node energy requires embedding GPS into security technique applied
validated Large number of control mobile nodes that should be Requires more memory size to
High transmission rate will packets one hop away from static nodes maintain ICT
increase network It does not consider the
congestion, which will lead residual energy of the node in
to the increase of data loss selecting data route
rate It chooses the path with
Uses a high number of minimum hop count, but it may
control overheads not be an optimal path
Requires a frequent update High latency and failure data
of routing tables delivery when link failure, as it
stores information of one route
only
References [148] [155] [179] [148] [156] [179] [148] [157] [179] [158] [180]
5.4 Data Link Layer IoT Protocols
This section handles the most popular IoT protocols in the data link layer and gives a brief description of their main
specifications and future improvements as displayed in Figure 11, whereas Table 6 compares between them from different features.
5.4.1 Original Data Link Layer IoT Protocols
NFC protocol: The range of this protocol is very short, so mobile objects that utilize it can communicate with each other
over a few centimeters. All varieties of data can be transmitted in seconds between NFC devices if they are very close to
each other. This protocol depends on RFID, as it utilizes the alteration in the magnetic field to allow devices to
communicate with each other. NFC devices can operate in two modes, active and passive. In the active mode, all the
communicating devices should create magnetic fields, wherein the passive mode one of these devices creates a magnetic
field and the others utilize load modulation to transmit their data. The passive mode is very useful when power-constrained
devices communicate with each other as it conserves the energy, which makes it widely used in all smartphones today
[181] [182] [183].
Low-power Wireless Personal Area Network (6LowPAN) protocol: 6LowPAN permits smart devices to connect to the
internet using IPV6 protocol, takes into consideration the nature of wireless IoT networks through constructing very
compact header message format [184]. Moreover, it breaks down hindrances to utilize IPV6 addressing protocol in limited
processing capabilities, low data-rate, and restricted power IoT objects over the limited bandwidth of wireless networks
[28] [185] [186].
Bluetooth Low Energy (BLE) protocol: This communication technology was developed by Bluetooth Special Interest
Group, as a low-power solution for short-range communication between controlling and monitoring applications [187].
Moreover, it supports quick transmission process of data packets with data rates up to 2Mbps in the ISM band. Devices
that implement BLE protocol are classified into two types; master and slave where master devices act as a prime device
that can connect to several slaves. To comprehend that, let us assume an IoT scenario in which a PC or a phone act as a
master, where other devices as smartwatch, fitness tracker and thermostat are considered to be slaves. In such a scenario,
slaves ought to be in a sleep mode until they receive packets from the master device to preserve their energy [28].
ZigBee: It was designed in order to provide a scalable, low cost and low power wireless connectivity for a wide variety of
controlling and monitoring applications. This protocol builds over IEEE 802.15.4 and extends its features through
providing expandable and flexible wireless network topologies by employing intelligent routing and setup procedures to
enable high resilience for failure and easy installation. Moreover, it is very efficient when working with other wireless
communication technologies, as it incorporates rigorous security and listening techniques [188]. Based on the above,
ZigBee will be utilized in a vast range of applications and products across commercial, government, consumer and
industrial markets in the near future [189].
Radio Frequency Identification protocol: RFID is a low cost and low power wireless communication protocol that is
implemented on totally passive chips or battery-assisted passive (BAP) chips, which are embedded with antennas named
tags [28]. These tags can send data only when they are powered through an electromagnetic field created by a reader [190].
The lifetime of RFID tags can be measured in decades, as they do not depend on an internal source of energy to operate,
which makes this technology suitable in many IoT applications [191]. Nonetheless, the primary hurdle of this technology
is that RFID tags operate only under a reader coverage domain, which is not more than 10 m in fully passive tags, while
its range reaches up to 50 m in BAP tags [192].
Low Power Wide-Area-Networks (LPWAN) protocols: LPWAN protocols are low-power, low-bandwidth, and low-
cost protocols, especially in the communications over long distances areas. Moreover, the devices that implement these
protocols transmit over sub-GHz radio frequencies from 433MHz to 868 MHz in Europe and up to 915 MHz in the USA,
with transmission ranges from 1m up to 50Km [193]. Since many industrial, civil and other IoT applications operate over
2.4GHz or 5GHz ISM frequency bands, a number of low power wide-domain networking protocols have arisen. The
following are the general characteristics of LPWAN protocols, followed by a brief discussion about the characteristics of
each protocol:
The devices that implement these protocols have very low power consumption.
These protocols support the transmission process of small packets only, commonly 100 bytes or less.
The devices that implement LPWAN protocols consist of very low-cost units, so they usually cost less than a few
dollars.
These devices are designed to have good coverage inside and outside their domains.
i. Long Range Wide-Area-Networks (LoRaWAN) protocol: It is a physical layer communication protocol, with
low power consumption and long battery lifetime that reaches up to 10 years. LoRaWAN is employed in wide Area
Network (WAN) services and applications, such as M2M, industrial applications and smart cities [193], that require
long communication distances ranging from (2-5) Km in urban territories and up to 15 km in suburban areas [194].
It also supports the communication process over large networks that contain billions of smart devices, thus the data
rate of this protocol varies from 0.3 kbps to 50 kbps in the full-duplex wireless medium.
ii. Low Power WiFi (WiFi HaLow) protocol: It is a wireless communication MAC and physical layers protocol.
WiFi HaLow was developed to enable wireless sensors to communicate with each other over long distances with
low power consumption.
iii. WiSUN protocol: This protocol operates in both sub-GHz bands and 2.4GHz bands and it also supports data
transmitting rates within (40 -1000) kbps for data packet size starts from1500 bytes and above. Furthermore, WiSUN
enables IP packets to be delivered without fragmentation [195].
iv. Narrowband Internet of Things (NB-IoT): It is a narrowband radio technology that was standardized and
developed by the 3rd Generation Partnership Project (3GPP) in June 2016 to support low data rates and complexity
IoT applications. It introduces a novel radio access technology based on Long-Term Evolution (LTE) standards but
with minimal features in order to reduce the power consumption of resource-constrained IoT devices. It operates on
(180-200) kHz and also employs QPSK modulation.
v. SigFox protocol: A narrowband or ultra-narrowband technology was developed to connect a massive number of
power-constrained devices. This protocol operates on an 868MHz frequency band, where the spectrum is divided
into 400 channels of 100Hz. IoT devices can transmit up to140 packets each a day with a data rate of up to 100 bps
and its signal can reach distances from (30-50) km in rural territories wherein urban territories it reaches from (3-
10) km [196].
Z-Wave: A low power wireless communication technology is designed for domestic automation products like smart light
controller and other sensors inside home devices. This technology aims to provide reliable communication of small data
packets with low latency transmissions and small data rates that reach up to 200kbps and operate over 900MHz ISM bands.
Moreover, the Z-Wave protocol enables controlling of up to 232 smart devices [197].
Cellular: Any IoT service that demands to operate over long distances can benefit from deploying Global System for
Mobile Communication (GSM) technologies such as 3G, 4G, and 5G cellular communication protocols, as they have
abilities to transmit large quantities of data packets, particularly in 4G and 5G technologies. Based on that, communication
through cellular protocols is very expensive and extremely power-consuming for many applications [198].
Telensa: This communication protocol transmits over Ultra Narrowband technology and sub 1GHz unlicensed ISM bands.
Besides, it completely supports bi-directional communications (full-duplex technology). Consequently, it is convenient for
monitoring and controlling the operations of IoT applications. A Telensa sink node could connect up to 5000 devices and
its communication range can reach up to 2km in urban territories and 4 km in rural environments. The lifetime of A Telensa
node can reach up to 20 years [199], which makes is applicable for many applications such as smart lighting, smart parking,
and other smart city applications that are required long lifetime sensors [200] [201].
3GPP-Release17 technology concentrates on enhancing 5G system capabilities to be launched in 2021. This release will
enhance and cover many aspects, such as 5G IoT, high precision positioning, improving low latency and ultra-reliable
communications, asset tracking, application layer support for 5G factories, unmanned aerial communication systems,
audio/visual service production, communication services for critical medical applications, and architectural enhancements
for 5G multicast-broadcast services [211].
Telensa 5th generation has released “urban data project” with the partnership of Qualcomm, Kainos, and Microsoft Azure
to protect the data generated from street light sensors by applying city-data guardian method in the cloud with safeguard
in data usage and privacy, which will improve and leverage city services [212].
Table 6: Comparison between data link layer protocols considering different aspects
Wireless NFC 6LowPAN Bluetooth Zigbee RFID LoRaWAN Low Power Wi-Fi
communication Low Energy WiFi HaLow
Protocol (BLE)
Network ISO/IEC 13157, IEEE 802.15.4 802.15.1 IEEE ISO 18000 v1 – * IEEE 802.11ah
standard ISO/IEC 18000-3 802.15.4 ISO 18000 v7 ISO
10536, ISO 11784,
ISO 11785, etc.
Recent version of IPv6-over-NFC 6Lo-BLEMesh 6Lo-BLEMesh Zigbee 3.0 RFC 8371 (2018) LoRaWAN IEEE 802.11ah-2016
the protocol (2019) [202] (2019) [203] (2019) [203] (2018) [214] v1.0.3 (2018) (2017) [207]
(year) [213] [206]
MRT-BLE
(2018) [204]
Network type P2P Star, mesh Star Star, tree P2P network, mesh Star-of-stars, Mesh, star, tree
cluster, mesh
mesh, hybrid
Frequency Band 13.56MHz 2.4GHz (2.402 – 2.481) 2.4GHz, (125–134) KHz (100Hz, 869 (1, 2, 4, 8, 16) MHz
GHz 915Mhz, (13.56, 865-60) MHz) for Europe (902 -928) MHz
868Mhz MHz (902-928) 915 MHz for USA (863- 868)
MHz North America MHz Europe (775-
787) MHz China.
1 GHz
Transmission 10 cm (10-100) m up to 100 m (10-100) m (1-10) cm (2-5) km urban 1 km
range Sub-GHz up (1 -30) m environment,
to 1km 15km suburban
environment
Power 15 mA * 15 mA 30 mA * up to ~50mW 2 µA- 8 mA
consumption
Number of nodes 2 nodes 65000 nodes 65535 nodes 65000 * Thousands of 8191
per network nodes
Applications Service initiation Smart home, Mobile phones, Smart home, Retail sector, Smart city, Smart home, digital
applications, smart gaming, smart medical warehouse industrial healthcare, smart
payment, and agriculture, homes, monitoring, management, applications, city, agriculture,
ticketing industrial IoT, wearables, environment inventory real-time retail
applications, P2P structural PCs, security, AI sensors, management, monitoring,
data transferring monitoring, proximity, consumer supply chain metering, smart
healthcare healthcare, electronics management and logistics and
applications sports and logistics, library transportation,
fitness, systems, traceability video
Industrial, etc. management surveillance.
medicine smart
spaces, smart
parking,
environmental
monitoring
Data rate 106 kbit/s -424 (20, 40, 250) 125 Kbps, (1, 250kbps 700 kbps - 4 Mbps 250 bps– (5.5, 347 Mbps
kbit/s kbps 2) Mbps 11, 50) kbps
Spreading * DSSS FHSS DSSS DSSS, FHSS FHSS, CSS DSSS, FHSS
technique
Applicable NFC includes RPL, AODV RPL, Zigbee, OLCMR23 AODV, HWMP25 AODV, OLSR,
routing protocols routing features 6LoWPAN RPL, OLSR24 DSDV26
AODV,
ZBR22,
ZBR-M
Mobility Yes Yes Yes Yes Yes Yes Yes
Cryptography No AES27-128 bit AES-128 bit AES-128 Present, AES-128 bit WPA3,29 Morse
bit, ACLs28 Hummingbird, micro, OTA30
Photon, DES, Hight
References [215] [216] [217] [24] [28] [186] [24] [220] [222] [223] [225] [226] [227] [230] [231] [207] [232] [233]
[218] [219] [221] [224] [228] [229] [234]
Table 6: Comparison between data link layer protocols considering different aspects (Cont.)
ETSI EN 31300 220- IEEE 802.11 MTS 32, AMTS 33, PTT34 (1G)
Network standard IEEE 802.15.4g 3GPP 1, IEEE 802.15 GSM, iDEN35, GPRS, HSCSD36 (2G) *
ETSI EN 300 220-2 IEEE 802.16 UTMS37, IMT38-2000 (3G)
LTE, LTE -A 39, IMT-Advanced (4G)
Recent version of * 3GPP-Release Sigfox v. 2.6.0 Z-Wave plus 5G (2018) Telensa 5G
the protocol (year) 17 (2019) [211] (2018) [235] (5th Generation (2019-2028)
Z-Wave) (2015) [212]
[208]
Network type Mesh, star, hybrid Star Star Mesh Mobile network or cellular network Mesh, star
star/mesh
Frequency Band 920 MH 3.75 kHz, 200 kHz 868 MHz 30 KHz (1G) 60MHz,
863–870 MHz 15 kHz, 868 - 869 MHz (Europe) 200 kHz (2G) 200MHz,
180-200 kHz, 902 -928 MHz 908 MHz (1800‐ 2400 MHz)3G 433Mhz,
850-900 MHz (United States) (2-8 GHz) 4G 470MHz,
900MHz (ISM) 868Mhz,
915MHz
22
ZBR: ZigBee Network Routing
23
OLCMR: Optimal Link Cost Multipath Routing
24
OLSR: Optimum Link State Routing
25
HWMP : Hybrid Wireless Mesh Protocol
26
DSDV: Destination Sequenced Distance Vector
27
AES: Advanced Encryption Standard
28
ACLs: Access Control Lists
29
WPA3: Wi-Fi Protected Access 3
30
OTA :Over-the-Air
31
ETSI EN: European Telecommunications Standards Institute, European Standard
32
MTS: Mobile Telephone System
33
AMTS: Advanced Mobile Telephone System
34
PTT: Push to Talk
35
iDEN : integrated Digital Enhanced Network
36
HSCSD: High-Speed Circuit-Switched Data
37
UTMS: Universal Mobile Telecommunications System
38
IMT: International Mobile Telecommunications
39
LTE-A: Long Term Evolution Advanced
Transmission 500m -1 km 1 km (urban) (30–50) km (rural) 30 m (2- 20) km 1G 20km (rural)
range 10 km (rural) (3–10) km (urban) (35-200) km 2G 3km (urban)
Rural: 500 km/h *t, suburban: 120
km/h *t, 10 km/h *t (3G)
500 km/h *t (4G)
Power\ current 2 µA- 8 mA (3-50) µA 500 mW - 4W/ (19- ∼5mW 1800mA (2G) 100µW
consumption 49) mA 800mA (3G)
(1,000–3,500) mW 4G
Number of nodes 5000 55000, 100 K * 232 nodes 4,000 devices /km2 (4G) 5000 lights
per network devices per cell per base
station
Applications Smart meters, Electric Smart farming, Smart home Voice Calls (1G) Street lighting,
smart city, smart metering status monitoring, Voice calls, browsing and short smart city, air
agriculture manufacturing asset tracking, smart messages (2G) quality, traffic
automation, building, pallet Video conferencing, GPS and mobile monitoring,
retail point of tracking for logistics TV (3G) smart waste
sale terminals, Wearable devices, high-speed bin
smart city applications and mobile TV (4G) management,
and smart
meter
Data rate 50 kbps- 1 Mbps (30-60) kbps (10-100) bps (9.6, 40, 200) 2.4 kbps (1G) 500bps
200 kbps kbps 64 Kbps (2G) downlink 62.5
144 kbps-2 Mbps (3G) bps uplink
100 Mbps - 1 Gbps (4G)
Spreading DSSS DSSS FHSS DSSS FHSS, DSSS, CDMA40 *
technique
Applicable routing RPL * * AODV, DSR41 AODV, DSR, GPSR42 RPL
protocols
Mobility Yes Yes Yes Yes Yes Yes
Cryptography AES, certificates, AES, LTE AES-128 AES-128 Voice scrambling (1G) Authentication City-data
HMAC43 encryption and 128-bit key per subscriber (2G) guardian
SNOW3G cipher, Rijndael cipher,
KASUMI cipher and AES-128 (3G)
EPS integrity algorithm (4G)
References [236] [237] [238] [239] [238] [240] [24] [241] [242] [243] [244] [245] [212] [246]
6. Middleware
It is anticipated that the number of IoT devices will reach around 50 billion in 2020 [247]. This massive number of smart
things that are connected to the internet, represents the so-called IoTs, aims to make the surrounding environment more intelligent
[248]. Based on the above, the amount of the collected data in the IoT environment will be immense and will create considerable
defiance for both industries and researches domains. One of the major challenges that IoT paradigm confronts is machine-to-machine
communication, where this challenge forms a big concern in IoT systems because of an abundant number of the existing smart
devices that do not follow the same protocols, as most vendors do not care about the compatibility of their products with other
competitors’ brands. One of the proposed solutions to solve this issue is to enforce universal standards, which is very hard to be
applied, while another proposed solution is to implement middleware software to facilitate the communication process among these
devices. Middleware can be defined as a software that offers interoperability between incompatible applications and devices, also
it hides all the details of smart objects [249] [250]. Hence, it acts as a software bridge between the applications and the things, as it
enables IoT systems to work efficiently with each other [12] [20] [24] [251]. There are numerous middleware solutions, either a
proprietary or an open-source provided through companies, where most of these solutions are similar to each other. However, there
are no guidelines or performance metrics that enable us to compare these solutions to each other [249]. According to that, many
challenges face IoTs middleware as described below [28]:
i. Programming abstractions and interoperability: To facilitate collaboration and data exchange among heterogeneous
devices, IoT middleware aids to permit distinct sorts of smart devices to interact easily with each other.
ii. Device management and discovery: This property allows IoT devices to discover all other devices and services that are
located in their network domain. The infrastructure of the IoT environment is mostly dynamic since all newly joined devices
must announce their existence and the services they provide. Therefore, IoT middleware requires being scalable and
provides APIs in order to list all IoT devices, their capabilities, and their services. In addition, APIs have to provide the
users with abilities to categorize the devices based on their capabilities, manage devices depending on their remaining
energy, report problems in IoT devices to the users and perform load-balancing procedures among them.
iii. Big data and analytics: IoT sensors collect an enormous amount of data that requires to be analyzed by specific algorithms
based on a data type. Also, some of the sensed data may be incomplete because of the flimsy nature of wireless sensor
networks. Thus, middleware should consider this issue and extrapolate incomplete data by using a suitable machine-
learning algorithm.
40
CDMA: Code Division Multiple Access
41
DSR: Dynamic Source Routing
42
GPSR: General Packet Radio Service
43
HMAC: Hash based Message Authentication Code
Figure 11: Wireless IoT connectivity technologies
iv. Privacy: Most data that comes from IoT applications and services are related to human personal life. Thus, security and
privacy issues have to be considered when transferring and processing them, which is required to build mechanisms that
address these issues by middleware.
v. Cloud services: Cloud computing part is the most important layer of any IoT system because all of the sensed data will be
stored and analyzed in a centralized cloud. Therefore, IoT middleware should be run smoothly in distinctive types of clouds
and enables IoT users to gain the most benefits from the data collected through smart sensors.
vi. Context detection: IoT applications are classified into two types, which are ambient data collection applications and real-
time reactive applications. In the first type, sensors collect data that will be processed later on offline to get reasonable
information that will be used for the same scenarios in the future, while in the second type systems should make a real-
time decision based on the sensed data.
1. Service-Oriented Architecture (SOA) or Service-Based Solution: In SOA users and developers are allowed to employ
or add different types of IoT devices to be utilized as services [30] [253]. Figure 12 represents the architecture of SOA
middleware, which consists of three layers: The Physical layer that contains actuators and sensors, the Virtualized layer,
which consists of cloud and infrastructure servers that are responsible for performing different computational operations,
and the Application layer that composes of all services and utilities. SOA is deemed to be a heavyweight and a very high
performing middleware, where it can be implemented on the nodes that communicate with the cloud servers or on a
powerful gateway that is placed between the cloud layer and IoT devices layer. Based on that, this type of middleware is
not suitable to be implemented on resource-constrained devices and it does not permit device-to-device communication.
Applications
Application and services (browser- based app, smart health, smart cities)
Service Servers
Web service
Cloud Service
Access control Storage
interfaces
Physical sensors/embedded devices (e.g. smart watch, Fibit, Mica mote, Philips Hue,
cameras, Phidget sensors)
Cloud services
Cloud system APIs
Cloud services
Actor Host
Sensory Swarm
Actor Host
Publish Subscribe
Publisher Notify Subscriber
Event Service
Publish Notify Subscribe
Publisher ( event- broker Subscriber
network)
Notify
Publish Subscribe
Publisher Subscriber
Figure 15: Event-Based IoT Middleware
6.2 Existing IoT Middleware Platforms
The following subsections summarize different solutions of IoT middleware based on its type, where Table 7 compares
between IoT middleware platforms from different aspects.
44
Node.js : It is an open-source, cross-platform and run-time environment for executing JavaScript code on the server-side.
Table 7: Comparison between IoT middleware considering different aspects
IoT AWS IoT Azure IoT Hub IBM Watson Google Cloud Xively Oracle IoT LinkSmart Kaa GSN ThingSpeak
middleware IoT IoT (Hydra)
Middleware Cloud-Based Cloud-Based Cloud-Based Cloud-Based Cloud-Based Cloud-Based Service-Based Service-Based Service-Based Service-Based
architecture
Open source Open source SDK Open Source Open source Open API Open API Open source Open API Open source SDK * Open source
SDK\ open API API SDK SDK
Device Web services Azure IoT SDK Through MQTT gRPC, REST Web services, Oracle Web services Apache NiFi, XML-RPC, protothreads, Libelium, AllJoyn, Beckhoff,
abstraction\ for C APIs MQTT, board service bus Apache token machine language Senet
Interoperability support package ZooKeeper
Deployment IaaS, PaaS IaaS IaaS, PaaS IaaS, PaaS PaaS PaaS PaaS, SaaS IaaS PaaS PaaS
type
Network MQTT, HTTP, HTTP, AMQP, MQTT, HTTP, MQTT, HTTP HTTP, MQTT, MQTT, HTTP, REST, MQTT, CoAP HTTP MQTT, REST API
connectivity WebSocket AMQP over TLS WebSockets HTTPS MQTT
WebSocket, MQTT
MQTT, MQTT
over WebSocket
Data format JSON JSON CSV, JSON JSON CSV, JSON, CSV, REST JSON REST, JSON, API JSON, SenML XML, CSV, ThingSpeak
supported REST API API API, JSON
Programming SDK for Arduino, Node.js, Python, NodeJS, Java, Java, Node.js, SDK for Android, PHP, Java, C, C++, Java Ruby, Java, C Matlab
languages Java, NodeJS, C, Java, Android, Python, C#, C .NET, Python, Arduino, Python, Java, C#,
supported JavaScript, iOS, C, C# Ruby, PHP Clojure Android, JavaScript, Python, .NET,
Python, iOS, Arm mbed, iOS, C JavaScript,
Android Ruby, C,
JavaScript
Application Real-time Real-time Real-time Real-time Real-time Real-time Device Analytics, visualizing the network Real-time analytics, analytics,
development analytics, analytics, analytics, analytics, messaging, file analytics, abstraction, machine learning, structure, data stream event reporting, visualization
functionalities analytics, analytics, analytics, analytics, and firmware analytics, stream event reporting, processing, plotting data
artificial machine machine machine deployments, event mining, live visualization
intelligence, learning, event learning, event learning, event device reporting, data
machine learning, reporting, reporting, reporting, provisioning, visualization management,
event reporting, visualization visualization visualization device logs, data storage,
visualization rules and online
orchestrations machine
learning
Technologies AWS Cloud- SQL database, Cloudant, Firebase, Connected NoSQL Semantic Hadoop, goDB GSN-WRAPPERS, Generic MATLAB dashboard
used for Trail, AWS Azure tables, NOSQL DB Google's Product Database model-driven Cassandra NoSQ serial wrapper, Generic UDP
application Lambda, Kenisis, Azur BigData tool, Management architecture, wrapper, TI-RFID wrapper,
development Amazon, Amazon CosmosDB, BigQuery, Go, Symfony2, USB camera wrapper,
Dynamo DB, Riptide IO, URSA, hydra- TinyOS wrapper, HTTP
Amazon PubSub py, Hydrus, generic wrapper
CloudWatch Levanzo,
Amazon machine Argolis,
learning hydra-core,
Go
Service Discovery API, Azure container Discovery Consul, etcd, Cloudera Java WSDP REST API MQTT with Kaa REST HTTP query, sbt 0.13+, *
discovery ECS Event service with Knowledge ZooKeeper Navigator protocol v1 Java JDK 1.7, Scala 2.11
Stream, AWS kubernetes, Graph, Watson
Lambda, Amazon Zookeeper Discovery
Route 53, Netflix Netflix Eureka,
Heureka, etcd, Consul, Eureka
HashiCorp
Consul, AWS
App Mesh
Security and Auditing, Encryption, Authorization, Authentication Encryption, Authenticati Authentication Encryption Authentication, access control Encryption
privacy encryption, authorization, authentication authorization on, authorization, mode
authorization, authentication authorization encryption
authentication
Pricing Executing Payment based Payment based Per MB Per device Based Free Per device * Free or based on standard
customers on messages on data storage, subscription license
functions requires per day and data traffic and
payment number of number of
devices connected
devices
Persistency Persistent CmdKey, Azure Persistent iSCSI, MQTT v3.1.1 MQTT 3.1.1 Load Machine * * Using MQTT
(Session sessions based on Storage JPA 2.0 brokers, broker balancer learning
Persistence) MQTT 3.1.1 Persistence persistence, CloudMQTT, algorithms
features WSJPA, DIoTY, IBM
OpenJPA, Bluemix,
EclipseLink ThingStudio
Stream AWS Lambda SQL query IBM Streams Semios, GCP Semios, GCP Oracle event CEP queries, * SQL queries. MATLAB
processing language, toolkits Console, Console, processing, Esper EPL
JavaScript, C# Firebase SDK, Firebase SDK, oracle
ImageMagick ImageMagick continuous
query
language
References [254] [255] [256] [274] [275] [259] [263] [276] [277] [265]
Middleware Service-Based Actor-Based Actor-Based Actor-Based Actor-Based Event-Based Event-Based Event-Based Context-Aware Event-
architecture Based
Open source \ Open source Open source Open source JS Open source Open source Open source Open source Open source Open source
open API
Device Connectors, Task Actor model Web services Accessor Aggregate Active message Information flow HTTP, SNMP, IoT Agent framework
abstraction\ abstraction (event-driven) programming abstraction, 5-layers graph between RMI library
Interoperability architecture by devices, broker
Fenix, Pegasus
Deployment IaaS, SaaS IaaS PaaS, SaaS * * PaaS SaaS PaaS PaaS
type
Network MQTT, HTML MQTT HTTP, MQTT HTTP, HTML HTTP, HTML KQML, Fipa ACL, HTML, HTTP HTTP, SNMP, MQTT, WebSocket,
connectivity HTML, XML Java RMI HTTP
Data format RESTful API, JSON JSON JSON JSON, XML JSON JSON, Hermes NASDAQ, NYSE, XML HTTP, JSON-LD
supported XML JSON
Programming JavaScript, PHP, C++, C, python JavaScript, Node.js JavaScript, C++, C Java, Scala Java, Python, C, Python, Java .NET, C#, Java C++, Java
languages python UML
supported
Application Real-time applications, Distributed For connecting to IoT, Finite state machine Real-Time streaming Internet-based Exchange Monitoring and Collecting and processing
development connecting GUI to a applications, connecting and applications, web applications, building distributed connections, ledger management, data, visualization, and
functionalities real-time application, runtime binding to databases, applications powerful and applications, large- accuracy guarantees, fault Tolerance, analysis of data, data
online video services, applications collecting and storing concurrent, web scale ubiquitous state tracking, fault publishing access control,
billing systems, IoT data for applications applications, web tolerance, monitoring, methods monetization or
consoles, and mobile processing and in service machine learning, publication, publisher-
devices, smart TVs event-driven quantitative analysis subscriber
applications communications
Technologies OWL, ZMQ, SPARQL, MicroPython Bluemix, MongoDB CapeCode, Nashorn, Spray, play Type-based routing Heartbeats, Java FIWARE Context Broker,
used for MongoDB TDL, AJAX, Vert.x, framework, apache- algorithm, type, and RabbitMQ, Java management eProsima Fast-RTPS
application XMLHttpRequest, spark, socko web attribute-based Message Service extensions,
development Simulink/Stateflow, server, event-sourced routing algorithm, (JMS), BKS+99, object-oriented
LabVIEW, SCADE library, Gatling stress service agents, information flow API, IMyPub,
test tool, Scalatra, AIXO, WS2A, graph, publisher- SetCurrency,
Vaadin, apache flink OMSA, lightTS-SA hosting broker,
Service Environment manager Calvin control Bonjour / Avahi Discovery.js Akka discovery Service agents, * Publish\subscribe selection component,
discovery APIs discovery function method, Kubernetes yellow page service, mechanism FIWARE NGSI RESTful
API, AWS, Consul, discovery API, eProsima Fast-
Marathon API component, RTPS, eProsima Micro-
matchmaker service RTPS
agent
Security and Authentication, Authorization, Authentication, Authentication, Authentication, Authentication, Authentication, Authentication, Authentication,
privacy authorization authentication encryption encryption. authorization encryption auditing authorization, authorization,
encryption encryption
Pricing Free Free Per hour or one Free Free Free * * Free
invoice per month
Persistency Aura-session Distributed MQTT Local file system Akka persistence Java Persistence Buffered stream, JMS Fault tolerance Apache flume, MySQL,
(Session hash table library persistent events plugins, sliding MongoDB, PostgreSQL
Persistence) window scheme
Stream Aura library Data flow node-red-contrib-cep Discrete event director Akka HTTP, Akka Open RTSP Relational * FIWARE Kurento,
processing processing stream library and subscriptions service WebRTC
Apache Flink, Lagom
References [266] [278] [279] [280] [281] [270] [271] [282] [272] [272] [283] [284] [272] [285]
Privacy and security: Most of the middleware solutions restrict the application of security mechanisms in authentication
and authorization, this is due to the resource-constrained devices in the IoT environment. Thus, privacy and security issues
need to be end-to-end and lightweight to suit the communication between cloud, gateway, and sensors.
DPWSim: It is a cross-platform simulator that enables the development and the simulation of different IoT applications,
where the essential role of this platform is to create virtual IoT devices that can be discovered on IoT networks and can
also communicate with each other through DPWS protocols [288]. Besides that, this simulator has a management tool that
allows users to create, load, store, and manage their applications with high flexibility. The graphical user interface of
DPWSim is designed by Java language, which permits IoT users of interacting with their virtual environments smoothly.
Finally, this toolkit helps in developing, prototyping and testing the DPWSim functionalities, but the main drawback of
this simulator that it has no support for new technologies and protocols [286].
IFogSim: This platform was emerged through upgrading and extending the capabilities of the CloudSim simulator [290].
It allows the simulation of different IoT applications and the management of diverse resources that are distributed across
the cloud and the edge of the network under various conditions and scenarios [289]. IFogSim permits users to evaluate
different resources management that is applicable in Fog environments according to their influence on energy consumption,
latency, operational cost, and network congestion. Furthermore, it supports the simulation process of different types of
actuators and sensors by enabling the developer to build realistic network topologies.
2. Big Data Processing Simulators: These simulators concentrate on processing big data and evaluating the performance of
cloud resources, where the main simulators in this category are CloudSim [291], SimIoT [292], and IoTSim [293].
Cloudsim: It is a toolbox utilized for modeling, experimenting, and simulating a cloud-computing environment.
Developers and researchers can design a particular cloud system via this toolkit without any concern about low-level
details of the cloud environments and the services they provide [291]. The library functions of the cloudsim is written
using Java programming language and it consists of the main classes that are needed to mimic virtual machines, servers,
and clients to perform computational assets and to build applications. Furthermore, in order to set up a cloud environment,
designers must utilize many simulation components such as virtual machines, data-centers, cloudlets, cloud coordinators,
and data center brokers [294].
SimIoT: It is derived from SimIC simulator and has been developed to mimic large-scale resources management [292]
[295]. SimIoT is used to estimate the time needed for processing data that is submitted either by IoT users or sensors to a
particular cloud, which is done by using numerous methods to simulate the communication between the cloud and IoT
sensors [296].
IoTSim: This simulator was developed by [297] to simulate the behavior of IoT applications that are responsible for
processing big data that is produced from various devices using the MapReduce framework. The vital contributions of
this simulator lie in allowing simulation and modeling of a network using virtual machines, permitting the processing of
IoT data through using big data framework (MapReduce), and supporting the IoT applications model.
3. Network Simulators: The growing of interest toward the field of WSNs has led to the booming of current simulators [298].
The election process of a suitable simulator is a critical and time-consuming mission, particularly in the WSNs domain, since
there are many complicated scenarios and numerous protocols utilized in this domain that need specific features to exist in a
network simulator. Particular requirements of WSNs and the availability of a vast number of simulators make it difficult to
select a suitable simulator. Numerous WSNs simulators have been adapted to suit the simulation process of IoT environments
such as Cooja [299], QualNet [300], CupCarbon [301], OMNeT++ [302], and NS-3 [303].
Cooja: It is a discrete event and a flexible simulator, since several parts of Cooja functions can be extended or replaced
by new functionalities such as OS, sensor node platforms, radio transmission models, and radio transceivers [298] [299].
Cooja is developed and written in java language and runs over the Contiki operating system. However, this simulator is
not very efficient for many reasons as it requires a lot of calculations to deal with cross-level simulations, there is no GUI
interface, and the simulation process supports up to 10000 nodes only.
QualNet: It is a tool that allows network designers to create a virtual scenario of all forms of video, data and voice networks.
Any network scenario consists of nodes that represent WSNs elements and endpoints (switches, routers, ground stations,
access points, mobile phones, satellites, firewalls, radios, servers, sensors, and other security equipment) and links that
connect these nodes (Wi-Fi signals, internet circuits, LAN segments, LTE connections radio transmissions, etc.) [300]. The
graphical user interface permits network designers to build their projects in 2D and 3D environments. Also, it allows the
analysis of statistical data and packet tracing for debugging purposes [298].
CupCarbon: It is an IoTs WSN and smart city simulator that aims to visualize, design, compile and validate the algorithms
that are required for monitoring and collecting environmental data [304]. Furthermore, this simulator helps the researchers
to test their wireless models and protocols. CupCarbon provides two simulation environments; the first one permits the
generation of natural events like fires and it also supports the simulation of mobile entities such as flying objects and
vehicles. On the other hand, the second simulation environment allows designers to represent discrete event scenarios of
WSNs. Also, it grants WSNs designers the ability to simulate scenarios and algorithms in many steps as the following; a
step for specifying designated nodes, another step to determine the communication types between these nodes, and finally
determining routing to the base station. This simulator supports many IoTs communication protocols such as Lora, ZigBee,
and WiFi.
OMNeT++: It is a discrete event network simulator that is developed using C++ language by OpenSim company [302].
This simulator consists of GUI libraries for tracing, debugging and animating any network scenario. It also has graphical
tools that enable building simulations and performing results computations. OMNet++ permits the hierarchical
organization of any simulation scenario, because the number of layers is not restricted. The processes inside the virtual
network such as drawing data flow charts, illustrating network graphics and displaying variables or objects during
simulation are visualized through a graphical user interface [305]. The structure of the scenario is defined by using network
description files (NED) that can be modified by the user via a graphical interface or a text file, where NED files are
separated from the simulator to efficiently support the simulation of large topologies. Further, OMNeT++ is distinguished
from other simulators in its ability to modify topologies in run time.
NS-3: It is a discrete event simulator that is developed by C++ and Python language [286]. NS-3 permits researchers to
analyze large-scale systems and different internet protocols in a controlled environment. This simulator has been improved
to provide an open-source and an enormous network simulation platform, for the sake of supporting the education and the
research in wireless networks. Concisely, NS-3 provides users with a simulation engine to conduct their simulation
experiments and provide them with models that show how data packets perform and work. Furthermore, this simulator
supports having multiple radio interfaces and channels for the same node [306]. Many wireless communication protocols
can be implemented via NS-3 such as 802.15.4 and 6LoWPAN, but it does not support the protocols of the application
layer [287].
To the best of our knowledge, there is no simulator that can be used to build a fully detailed representation of any IoT
project until now. Consequently, to simulate a complete IoT project, multiple simulators should be used together such as data
generation, big data processing, and packet tracing simulators. Table 8 shows a comparison between different IoT simulators based
on popular IoT criteria and features, where the justification for each selected criterion is explained as follows:
Scope: This criterion specifies the level of coverage for different architectural layers of IoT, where (IoT) means that
the simulator has full coverage.
Last update: It represents the time of the last maintenance or upgrading that is performed on the simulator.
Language: It refers to the programming language of the simulator and reflects the portability degree of the simulated
primitives to be used in subsequent hardware models.
Type: It illustrates basic assumptions regarding the simulated entities and the relationships among them.
Layer of IoT architecture: Represents the architectural layer(s) components, standards, and parameters that are
supported by a specific simulator.
Evaluated scale: The maximum network scale that can be simulated and provided through performing simulator
evaluations.
Mobility: Determines whether the simulator supports objects mobility or not.
Built-in IoT standards: Specifies different protocols that are supported by a simulator.
Overall practicality: It is a specific measure to indicate the utility behind simulating all components and services in
the IoT environment.
Target domain: Indicates specialization degree.
Cyberattack simulation: It indicates if the simulator supports security simulations.
Table 8: Comparison between different IoT simulators
Simulator Scope Last Language Type Layer(s) of Evaluated Mobility Built-in Overall Target Cyber
Update IoT Scale IoT Practicality Domain Attack
Architecture Standards Simulation
CupCarbon Network 2017 Sen Script Discrete Perceptual Large Yes LoRaWAN/ High Generic No
[304] event and Network scale 802.15.4
agent-based
OMNeT++ Network 2018 C++ Discrete Perceptual Large Yes Manual Medium Generic Using
[302] event Network scale extension custom
extension-
ns
NS-3 Network 2018 C++/ Discrete Perceptual Large Yes LoRaWAN High Generic No
[286] Python event Network scale 802.15.4
6LoWPAN
8. IoT Applications
The Internet of Things is a modern communication model that envisions a close future, where devices of everyday life will
be equipped with transceivers, microcontrollers, sensors, actuators, and appropriate communication protocols that will allow them
to communicate with each other and with other clients [308] [309] [310] [311]. IoT aims to make the internet immersive and
pervasive through enabling easy access and interaction with a wide diversity of IoT devices as surveillance cameras, monitoring
sensors, and home appliances. IoT will promote the development of several applications that utilize the gigantic and diverse amount
of data, which is generated by smart devices to provide modern services for companies, citizens and organizations [312] [313].
Structural health 802.15.4; Wi-Fi and 1 packet every 10 min per 30 min for data;10 sec Mostly battery Easy to achieve but seismograph
Ethernet device for alarms powered could be difficult to integrate
Waste management Wi-Fi;3G and 4G 1 packet every hour per 30 min for data Battery-powered or Possible to achieve but needs smart
device energy harvesters bins
Air quality 802.15.4; Bluetooth 1 packet t every 30 min per 5 min for data Photovoltaic panels Easy to realize however greenhouse
monitoring and Wi-Fi device for each device sensors may be from the cost wise
expensive
Noise monitoring 802.15.4 and 1 packet every 10 min per 5 min for data;10 sec Battery-powered or Sound pattern recognition is difficult
Ethernet device for alarms energy harvesters to be implemented on resource-
constrained devices
Traffic congestion 802.15.4; Bluetooth; 1 packet every 10 min per 5 min for data Battery-powered or Needs the realization of both noise
Wi-Fi and Ethernet device energy harvesters monitoring and air quality
City energy PLC and Ethernet 1 packet every 10 min per 5 min for data; tighter Mains powered Simple to achieve, but requires the
consumption device requirements for permission of power operators
control
Smart parking 802.15.4 and On-demand 1 min energy harvester Smart car parking systems are
Ethernet available on the markets, so these
projects are easy to be implemented
Smart lighting 802.15.4; Wi-Fi and On-demand 1 min Mains powered Requires upgrading the existing
Ethernet infrastructure
Automation and 802.15.4; Bluetooth; 1 packet every 10 min for 5 min for remote Mains powered, and Needs intervention on the existing
salubrity of public Wi-Fi and Ethernet remote monitoring,1 packet monitoring, few battery-powered infrastructure
buildings kt every 30 min for local seconds for local
control control
Factory Optimization
Intelligent Manufacturing
Intelligent City
Send feedback to
the cloud patient
Figure 18: Smart healthcare system
GPRS
MQTT
Cloud
MQTT
10. Conclusions
The emerging notion of IoTs technology has swiftly disseminated throughout our contemporary life, where it aims to
optimize the quality of our life by embedding smart things, applications, and technologies to automate all things in the environment
that surrounds us. What distinguishes our survey paper from other works is that it covers the most important sides of the IoT
paradigm, with a concentration on what has been done and what has required more research. Specifically, this paper presents an
overview of IoT evolution, its stack’s protocols, technologies, applications, and the research challenges facing the implementation
of this technology. This, in turn, provides a good ground for the researchers who are whether interested in designing realistic IoT
projects or developing novel theoretical approaches in the IoT field by acquiring deep knowledge in different IoT aspects.
Furthermore, some of the prevalent issues and challenges that face the deployment and the design of IoT applications were
discussed. Future research directions have been further described considering IoT stack and middleware architectures. Additionally,
this paper presents the interaction between different IoT network components, which are smart nodes, fog nodes, and cloud
computing nodes. Lastly, details of IoT application domains were demonstrated followed by not only open research issues, but also
rigorous analysis of the research history along with efficient recommendations.
Figure 21: Number of publications in IoT layers from 2011 until 2020
As previously mentioned in section 6, middleware can be defined as a set of sublayers or a software layer interposed
between the application and the technological layers. Interestingly, the essential role of this model is to hide the different
technologies of IoT assets, which will consequently keep programmers away from problems that are not pertinent to their concern.
It also prevents them from having to be aware of rigorous details related to the heterogeneous technologies in the lower layer.
Middleware acquires more prominence and attention owing to its primary role in simplifying the creation of services and
applications as well as integrating conventional technologies into new ones. However, the nature of the IoT environment makes the
role of middleware challenging and difficult since the services that are provided by smart things are usually device-dependent, less
reliable, mobile and dynamic. Moreover, middleware solutions have to address functional components such as service composition,
registration and discovery and non-functional needs, such as ease of deployment, privacy, security, availability, reliability,
timeliness, and scalability. Furthermore, IoT middleware must include architectural properties that offer programming
distributiveness, autonomy, context awareness, adaptability, interoperability, and abstraction. It can be seen from Figure 22 that a
few contemporary studies have been qualitatively evaluated and surveyed in different architectures of IoT middleware, especially
in actor-based architecture which only has 5 publications regarding it. This model was proposed to cope with parallel programming
and processing (i.e concurrent programming) in high-performance environments. Despite the widespread availability of multi-core
processors with high capabilities, minimal research was found in this field due to the fact that the concurrent programming used in
this model is error-prone, complicated to implement, and exhibits indecisive behaviors that make it difficult to predict and address.
Based on the above, the major issues need to be addressed by the research community are the lack of progress (i.e. deadlocks,
livelocks) and message protocol violations (i.e. message order violation, bad message interleaving, memory inconsistency). Event-
based and cloud-based architectures are not much better in this regard, with the former having 21 publications and the latter having
75. The event-based model, as we stated in section 6, presents interesting features to build highly decoupled and distributed
applications, where each of them assumes a specific structure of notifications, application scalability degree and on the way that
permit consumers to announce their interest regarding some event. In spite of that, this architecture faces many challenges such as
events delivery guarantee, lack of operational tools, and data and transaction management along with processing events in order,
particularly when the same consumer runs over multiple instances. As illustrated previously, cloud-based architecture was proposed
to meet several requirements of complex analytical services. Today, the emergence of new services and applications that implement
time-critical control loops and cannot be performed in the cloud because of insufficient bandwidth or unpredictable delays, creates
new challenges that need to be solved. Furthermore, one of the most critical issues that requires further research efforts is the limited
security support provided by the cloud-based architecture, since it cannot be applied in resource-constrained IoT devices. Service-
based architecture is considered to be one of the most efficient designing styles, as it provides many interesting features for
applications and users such as availability, scalability, reusability, and platform independence, which is why the number of
publications in this field reached a high of 421 published papers as compared to the lesser amount of research done regarding its
brethren subjects. Despite the above features, this architecture endures many open research issues such as delays, service
identification, service discovery, complex service management, and it does not suit GUI applications that require heavy data traffic
besides homogeneous applications.
Figure 22: Number of publications in different middleware architectures from 2011 to 2020
References
[1] L. Yan, Y. Zhang and L. T. Yang, The Internet of Things: From RFID to the Next-Generation Pervasive Networked Systems, New York:
Auerbach publications,Taylor and Francis Group, 2008.
[2] K. Anshton, "That ’internet of things’ thing in the real world, things matter," 26 June 2009. [Online]. Available:
https://www.rfidjournal.com/articles/view?4986&fbclid=IwAR1r5XFF5_2gcuze1fdcPrN6ryzRc68xhR1XyRD2aGulYFYy1QRzr_G4oa
s. [Accessed 17 February 2019].
[3] K. Darabkh, W. Albtoush and I. Jafar, "Improved Clustering Algorithms for Target Tracking in Wireless Sensor Networks," The Journal
of Supercomputing, vol. 73, no. 5, p. 1952–1977, 2017.
[4] K. Darabkh, M. El-Yabroudi and A. El-Mousa, "BPA-CRP: A Balanced Power-Aware Clustering and Routing Protocol for Wireless
Sensor Networks," Ad Hoc Networks, vol. 82, pp. 155-171, 2018.
[5] K. Darabkh, N. Al-Maaitah, I. Jafar and A. Khalifeh, "Energy Efficient Clustering Algorithm for Wireless Sensor Networks," in
International Conference on Wireless Communications, Signal Processing and Networking (WiSPNET), Chennai, India, 2017.
[6] H. Steven, "The Internet of Things How the world will be connected in 2025," Master thesis,Utrecht University, 2016.
[7] R. Hamidouche, Z. Aliouat, A. Ari and M. Gueroui, "An efficient clustering strategy avoiding buffer overflow in IoT sensors: a bio-
inspired based approach," IEEE Access, vol. 7, pp. 156733 - 156751, 2019.
[8] K. Darabkh and M. Al-Yabrodi, "A Reliable Relaying Protocol in Wireless Sensor Networks," in European Conference on Electrical
Engineering and Computer Science (EECS), Bern, Switzerland, 2017.
[9] M. Alhasanat, S. Althunibat, K. Darabkh, A. Alhasanat and M. Alsafasfeh, "A Physical-Layer Key Distribution Mechanism for IoT
Networks," Mobile Networks and Applications, p. 1–6, 2019.
[10] K. Darabkh, S. Odetallah, Z. Al-qudah and A. Khalifeh, "A New Density-Based Relaying Protocol for Wireless Sensor Networks," in
14th International Wireless Communications & Mobile Computing Conference (IWCMC), Limassol, Cyprus, 2018.
[11] D. Uckelmann, M. Harrison and F. Michahelles, "An Architectural Approach Towards the Future Internet of Things," in Architecting the
Internet of Things, Berlin, Heidelberg, pringer-Verlag, 2011, pp. 1-24.
[12] J. Gubbi, R. Buyya, S. Marusic and M. Palaniswami, "Internet of Things (IoT): A vision, architectural elements, and future directions,"
Future Generation Computer Systems,Elsevier, vol. 29, no. 7, pp. 1645–1660,, 2013.
[13] L. Tan and W. Neng, "Future Internet: The Internet of Things," in International Conference on Advanced Computer Theory and
Engineering(ICACTE), Chengdu, China, 2010.
[14] K. Darabkh, J. Zomot and Z. Al-qudah, "EDB-CHS-BOF: energy and distance-based cluster head selection with balanced objective
function protocol," IET Communications , vol. 13, no. 19, pp. 3168 - 3180, 2019.
[15] K. Darabkh, S. Odetallah, Z. Al-qudah, A. Khalifeh and M. Shurman, "Energy–aware and density-based clustering and relaying protocol
(EA-DB-CRP) for gathering data in wireless sensor networks," Applied Soft Computing, vol. 80, pp. 154-166, 2019.
[16] K. Darabkh, M. Alfawares and S. Althunibat, "MDRMA: Multi-data rate mobility-aware AODV-based protocol for flying ad-hoc
networks," Vehicular Communications, vol. 18, 2019.
[17] K. Darabkh, M. .Judeh, H. BanySalameh and S. Althunibat, "Mobility aware and dual phase AODV protocol with adaptive hello messages
over vehicular ad hoc networks," AEU- International Journal of Electronics and Communications, vol. 2018, pp. 277-292, 2018.
[18] K. Darabkh and O. Alsukour, "Novel Protocols for Improving the Performance of ODMRP and EODMRP over Mobile Ad Hoc
Networks," International Journal of Distributed Sensor Networks (IJDSN) , vol. 11, no. 10, 2015 .
[19] Lu Tan and N. Wang, "Future Internet: The Internet of Things," in International Conference on Advanced Computer Theory and
Engineering(ICACTE), Chengdu, China, 2010.
[20] L. Atzori, A. Iera and G. Morabito, "The Internet of Things: A survey," Computer Networks, Elsevier, vol. 54, no. 15, p. 2787–2805,
2010.
[21] M. Daniele, S. Sabrina, P. Francesco and C. Imrich, "Internet of things: vision, applications and research challenges," Ad Hoc Networks,
Elsevier, vol. 10, no. 7, p. 1497–1516, 2012.
[22] O. Said and M. Masud, "Towards internet of things: survey and future vision," International Journal of Computer Networks (IJCN), vol.
5, no. 1, 2013.
[23] A. Whitmore, A. Agarwal and L. Da Xu, "The Internet of Things-A survey of topics and trends," Information Systems Frontiers, vol. 17,
no. 2, 2015.
[24] A. Al-Fuqaha, M. Guizani, M. Mohammadi, M. Aledhari and M. Ayyash, "Internet of Things: A Survey on Enabling Technologies,
Protocols, and Applications," IEEE Communications Surveys and Tutorials , vol. 17, no. 4, p. 2347–2376, 2015.
[25] S. Kraijak and P. Tuwanut, "A survey on internet of things architecture, protocols, possible applications, security, privacy, real-world
implementation and future trends," in International Conference on Communication Technology (ICCT), Hangzhou, China, 2016.
[26] P. Masek, J. Hosek, K. Zeman, M. Stusek, D. Kovac, P. Cika, J. Masek, S. Andreev and F. Kröpfl, "International Journal of Distributed
Sensor Networks," Implementation of True IoT Vision: Survey on Enabling Protocols and Hands-On Experience, vol. 2016, 2016.
[27] R. Pratim, "A survey on Internet of Things architectures," Journal of King Saud University - Computer and Information Sciences, vol. 30,
no. 3, pp. 291-319, 2016.
[28] P. Sethi and S. Sarangi, "Internet of Things: Architectures, Protocols, and Applications," Hindawi Journal of Electrical and Computer
Engineering, vol. 2017, pp. 1-25, 2017.
[29] M. Burhanuddin, A. Mohammed, R. Ismail and H. Basiron, "Internet of Things Architecture: Current Challenges and Future Direction,"
International Journal of Applied Engineering Research, vol. 12, no. 21, pp. 11055-11061 , 2017.
[30] A. Ngu, M. Gutierrez, V. Metsis, S. Nepal and M. Sheng, "IoT Middleware: A Survey on Issues and Enabling Technologies," IEEE
Internet of Things Journal , vol. 4, no. 1, pp. 1-20, 2016.
[31] B. N. Silva, M. Khan and K. Han, "Internet of Things: A Comprehensive Review of Enabling Technologies, Architecture, and Challenges,"
IETE Technical Review, vol. 35, no. 2, pp. 205-220, 2017.
[32] M. Burhan, R. Rehman, B. Khan and B.-S. Kim, "IoT Elements, Layered Architectures and Security Issues: A Comprehensive Survey,"
Sensors, vol. 18, no. 9, 2018.
[33] H. Atlam, R. Walters and G. Wills, "Internet of Things: State-of-the-art, Challenges, Applications, and Open," International Journal of
Intelligent Computing Research, vol. 9, no. 3, 2018.
[34] A. Čolaković and M. Hadžialić, "Internet of Things (IoT): A Review of Enabling Technologies, Challenges, and Open Research Issues,"
Computer Networks, vol. 144, pp. 17-39, 2018.
[35] J. Dizdarević, F. Carpio, A. Jukan and X. Masip-Bruin, "A Survey of Communication Protocols for Internet of Things and Related
Challenges of Fog and Cloud Computing Integration," ACM Computing Surveys, vol. 51, no. 6, 2019.
[36] B. Subramanian, K. Nathani and S. Kumar, "IoT Technology, Applications and Challenges: A Contemporary Survey," Wireless Personal
Communications, vol. 108, no. 1, p. 363–388, 2019.
[37] I. Yaqoob, I. Hashem, T. Abaker, A. Ahmed and H. Kazmi, "Internet of things forensics: Recent advances, taxonomy, requirements, and
open challenges," Future Generation Computer Systems, vol. 92, p. 265–275, 2019.
[38] V. Balas, K. Solanki, R. Kumar and M. Khari, "The History, Present and Future with IoT," in Internet of Things and Big Data Analytics
for Smart Generation, Springer, Cham, 2019, pp. 27-51.
[39] R. Bonetto, N. Bui, V. Lakkundi, A. Olivereau, A. Serbanati and M. Rossi, "Secure Communication for Smart IoT Objects:Protocol
Stacks, Use Cases and Practical Examples.," in IEEE Thirteenth International Symposium on "A World of Wireless, Mobile and
Multimedia Networks", San Francisco, 2012.
[40] V. Aleksandrovičs, E. Filičevs and J. Kampars, "Internet of Things: Structure, Features and Management," Information Technology and
Management Science,Walter de Gruyter Gmbh , vol. 19, no. 1, p. 78–84, 2016.
[41] "Internet of Things in 2020 Roadmap for the Future," 27 May 2008. [Online]. Available:
https://docbox.etsi.org/erm/Open/CERP%2020080609-10/Internet-of-Things_in_2020_EC-EPoSS_Workshop_Report_2008_v1-1.pdf.
[Accessed 17 February 2019].
[42] G. Matthew and K. Simon, "Internet of Things: Services and Applications Categorization," Advances in Internet of Things, Scientific
Research, vol. 1, no. 2, pp. 27-31, 2011.
[43] L. Atzori, A. Iera and G. Morabito, "SIoT: Giving a Social Structure to the Internet of Things," IEEE Communications Letters, vol. 15,
no. 11, pp. 1193-1195, 2011.
[44] G. Gan, Z. Lu and J. Jiang, "Internet of Things Security Analysis," in Internet Technology and Applications (iTAP), Wuhan, China, 2011.
[45] R. Khan, U. Khan, R. Zaheer and S. Khan, "Future Internet: The Internet of Things Architecture, Possible Applications and Key
Challenges," in International Conference on Frontiers of Information Technology, Islamabad, Pakistan, 2012.
[46] A. Luigi, I. Antonio, M. Giacomo and N. Michele, "The social internet of things (siot) when social networks meet the internet of
things:Concept, architecture and network characterization.," Computer Networks ,Elsevier, vol. 56, no. 16, 2012.
[47] M. Hassan, B. Song and E. Huh, "A framework of sensor-cloud integration opportunities and challenges," in Proceedings of the 3rd
International Conference on Ubiquitous Information Management and Communication - ICUIMC, Suwon, Korea, 2009.
[48] A. Khalifeh, K. Rajendiran, K. Darabkh, A. Khasawneh, O. AlMomani and Z. Zinon, "On the Potential of Fuzzy Logic for Solving the
Challenges of Cooperative Multi-Robotic Wireless Sensor Network," Electronics, vol. 8, no. 12, 2019.
[49] M. R. Abdmeziem and D. Tandjaoui, "Architecting the Internet of Things: State of the art," in Robotics and Sensor Cloud, Springer,
Cham, 2015, pp. 55-75.
[50] S. Chayan, N. A. Uttama, R. P. Venkatesha and R. Abdur, "A scalable distributed architecture towards unifying IoT applications," in 2014
IEEE World Forum on Internet of Things (WF-IoT), Seoul, 2014.
[51] A. Yousefpour, G. Ishigaki, R. Gour and J. Jue, "On Reducing IoT Service Delay via Fog Offloading," IEEE Internet of Things Journal ,
vol. 5, no. 1, 2018.
[52] G. Elena, L. María and P. Víctor, "Interacting with Objects in Games Through RFID Technology," in Radio Frequency Identification
from System to Applications, London , Intech, 2013, pp. 325-340.
[53] F. Bonomi, R. Milito, P. Natarajan and J. Zhu, "Fog computing: A platform for internet of things and analytics.," in Big Data and Internet
of Things: A Roadmap for Smart Environments. Studies in Computational Intelligence, vol. 546, Switzerland, Springer International
Publishing , 2014, pp. 169-186.
[54] B. Tang, Z. Chen and G. Hefferman, "A Hierarchical Distributed Fog Computing Architecture for Big Data Analysis in Smart Cities," in
Proceedings of the ASE BigData & SocialInformatics, Kaohsiung, Taiwan, October 2015.
[55] P. Adams, 18 August 2017. [Online]. Available: https://knect365.com/cloud-enterprise-tech/article/0fa40de2-6596-4060-901d-
8bdddf167cfe/openfog-reference-architecture-for-fog-computing. [Accessed 18 February 2019].
[56] M. Aazam and E. Huh, "Fog Computing and Smart Gateway Based Communication for Cloud of Things," in International Conference on
Future Internet of Things and Cloud, Barcelona, Spain, 2014.
[57] F. Bonomi, R. Milito, J. Zhu and S. Addepalli, "Fog Computing and Its Role in the Internet of Things," in Proceedings of the first edition
of the MCC workshop on Mobile cloud computing - MCC '12, Helsinki, Finland, 2012.
[58] OpenFog Consortium Architecture Working Group, "OpenFog Reference Architecture for Fog Computing," OpenFog Consortium, USA,
2017.
[59] R. Hamidouche, Z. Aliouat, M. Gueroui, A. Ari and L. Louail, "Classical and bio-inspired mobility in sensor networks for IoT
applications," Journal of Network and Computer Applications, vol. 121, pp. 70-88, 2018.
[60] R. Hamidouche, Z. Aliouat, A. M. Gueroui, A. A. A. Ari and L. Louail, "Classical and bio-inspired mobility in sensor networks for IoT
applications," Journal of Network and Computer Applications, vol. 121, pp. 70-88, 2018.
[61] A. Munir, P. Kansakar and S. U. Khan, "IFCIoT: Integrated Fog Cloud IoT: A novel architectural paradigm for the future Internet of
Things.," IEEE Consumer Electronics Magazine , vol. 6, no. 3, pp. 74-82, 2017.
[62] P. Miguel, P. Octavian and P. Girão, "Spread Spectrum Techniques in Wireless Communication," IEEE Instrumentation and Measurement
Society , vol. 12, no. 6, pp. 21-24, 2009.
[63] S. William, Data and computer communications eighth edition, New Jersey: Pearson Education., 2007.
[64] A. Behrouz, Data Communications and Networking 5th edition, United States of America: McGraw-Hill, 2013.
[65] F. Behrouz and C. Sophia, Data Communications and Networking 4th Edition, New York: McGraw-Hill, 2007.
[66] R. Dixon, Spread spectrum systems with commercial applications, 3rd edition, India : Wiley India Pvt. Limited, 1976.
[67] W. Quan, "Non-Linear Chirp Spread Spectrum Communication Systems of Binary Orthogonal Keying Mode thesis," Electronic Thesis
and Dissertation Repository, 2015.
[68] P. J and A. Sesay, "Performance of N-ary chirp spread spectrum modulation in the AWGN and broadband multipath channels," Wireless
2004 proceedings, 2004.
[69] C. Quintana, J. Rufo, F. Delgado and R. Jimenez, "Time-Hopping Spread-Spectrum System for Wireless Optical Communications," IEEE
Transactions on Consumer Electronics , vol. 55, no. 3, pp. 1083-1088, 2009.
[70] J. Holmes, Spread Spectrum Systems for GNSS and Wireless Communications, Norwood: Artech House, 2007.
[71] K. Saurabh and S. Poddar, "A Review on Communication Protocols Using Internet of Things," in International conference on
Microelectronic Devices, Circuits and Systems (ICMDCS) , Vellore, India, 2017.
[72] S. Mahmoud and A. Mahmoud, "A Study of Efficient Power Consumption Wireless Communication Techniques/ Modules for Internet
of Things (IoT) Applications," scientific research Advances in Internet of Things, vol. 6, no. 2, pp. 19-29, 2016.
[73] I. Timmins and T. Hazelton, "Self-monitoring cable system". USA Patent US9621262B1, 24 July 2013.
[74] D. Zeng, S. Guo and Z. Cheng, "The web of things: a survey," Journal of Communications, vol. 6, no. 6, pp. 424-438, 2011.
[75] A. A. O. Bahashwan and S. Manickam, "A Brief Review of Messaging Protocol Standards for Internet of Things (IoT)," Journal of Cyber
Security and Mobility, vol. 8, no. 1, 2018.
[76] 8 May 2019. [Online]. Available: http://www.steves-internet-guide.com/mqtt-protocol-messages-overview/. [Accessed 15 June 2019].
[77] [Online]. Available: https://1sheeld.com/mqtt-protocol/. [Accessed 14 June 2019].
[78] N. Han, "Semantic service provisioning for 6LoWPAN: powering internet of things applications on web," Institut National des Tel´
ecommunications, Ph.D. dissertation, 2015.
[79] T. Yokotani and Y. Sasaki, "Comparison with HTTP and MQTT on Required Network Resources for IoT," in International Conference
on Control, Electronics, Renewable Energy and Communications (ICCEREC), Indonesia , 2016.
[80] P. Saint-Andre, K. Smith and R. Tronçon, XMPP: The Definitive Guide Building Real-Time Applications with Jabber Technologies,
United States of America: O’Reilly Media, 2009.
[81] M. Bani Yassein, M. Shatnawi and D. Al-Zoubi, "Application Layer Protocols for the Internet of Things," in IEEE International
Conference on Internet of Things and Pervasive Systems, Morocco, 2016.
[82] H. Nguyen and L. Lacono, "RESTful IoT Authentication Protocols," in Mobile Security and Privacy Advances, Challenges and Future
Research Directions, Cambridge, United States, Todd Green, 2017, pp. 217-234.
[83] S. Solapure and H. Kenchannavar, "RPL and COAP protocols, experimental analysis for IoT: a case study," International Journal of Ad
hoc, Sensor & Ubiquitous Computing (IJASUC), vol. 10, no. 2, 2019.
[84] N. Naik, "Choice of Effective Messaging Protocols for IoT Systems: MQTT, CoAP, AMQP and HTTP," in IEEE International Systems
Engineering Symposium (ISSE), Vienna, Austria, 2017.
[85] T. Salman and R. Jain, "A Survey of Protocols and Standards for Internet of Things," Advanced Computing and Communications, vol. 1,
no. 1, 2017.
[86] A. Banks, E. Briggs, K. Borgendale and R. Gupta, "MQTT Version 5.0," OASIS Standard, 2019.
[87] K. Ari, K. ETH and H. Klaus, "RESTful Design for Internet of Things Systems," IETF, 2018.
[88] C. Bormann, S. Lemay, H. Tschofenig, K. Hartke and B. Silverajan, "CoAP (Constrained Application Protocol) over TCP, TLS, and
WebSockets," Internet Engineering Task Force (IETF), 2018.
[89] 3 March 2019. [Online]. Available: https://amqp.readthedocs.io/en/latest/changelog.html#version-2-4-2. [Accessed 22 June 2019].
[90] March 2015. [Online]. Available: https://www.omg.org/spec/DDS. [Accessed 22 June 2019].
[91] M. Bishop, "Hypertext Transfer Protocol Version 3 (HTTP/3)," Intended status: Standards Track, 2019.
[92] 19 June 2019. [Online]. Available: https://xmpp.org/extensions/index.html. [Accessed 22 June 2019].
[93] "MQTT v5.0 now an official OASIS standard," 3 April 2019. [Online]. Available: http://mqtt.org/. [Accessed 6 August 2019].
[94] K. Saeed, N. Chaki, B. Pati, S. Bakshi and D. Mohapatra, "Internet of Things: A Survey on IoT Protocol Standards," in Advanced
Computing and Intelligent Engineering, Springer, Singapore, 2018.
[95] C. Lesjak, D. Hein, M. Hofmann, M. Maritsch, A. Aldrian, P. Priller, T. Ebner, T. Ruprechter and G. Pregartner, "Securing smart
maintenance services: Hardware-security and TLS for MQTT," in 13th International Conference on Industrial Informatics (INDIN),
Cambridge, 2015.
[96] A. Tamboli, "What We Built and the Takeaways," in Professional and Applied Computing, Berkeley, Apress,Springer, 2019, pp. 199-
209.
[97] L. Silva, "Internet of Things – Pros and cons of CoAP protocol solution for small devices," Master thesis,Mid Sweden University, 2016.
[98] 2 August 2018. [Online]. Available: https://raygun.com/blog/soap-vs-rest-vs-json/. [Accessed 21 June 2019].
[99] [Online]. Available: https://support.kemptechnologies.com/hc/en-us/articles/203863435-RESTful-API. [Accessed 21 June 2019].
[100] V. Karagiannis, P. Chatzimisios, F. Vazquez-Gallego and J. Alonso-Zarate, "A Survey on Application Layer Protocols for the Internet of
Things," Transaction on IoT and Cloud Computing , 2015.
[101] "DDS Security," An OMG DDS Security, Needham, USA, 2018 .
[102] C. Bormann, A. Castellani and Z. Shelby, "CoAP: An Application Protocol for Billions of Tiny Internet Nodes," IEEE Internet Computing,
vol. 16, no. 2, 2012.
[103] 2019. [Online]. Available: https://www.engineersgarage.com/Articles/Transport-Layer-Protocols. [Accessed 23 June 2019].
[104] June 2019. [Online]. Available: https://www.iotone.com/term/transmission-control-protocol-tcp/t689. [Accessed 23 June 2019].
[105] L. Eggert, G. Fairhurst and G. Shepherd, "UDP Usage Guidelines," Internet Engineering Task Force (IETF), 2018.
[106] E. Kohler, M. Handley and S. Floyd, "Datagram Congestion Control Protocol (DCCP)," Network Working Group, 2006.
[107] A. A. Ahmed and W. Ali, "A lightweight reliability mechanism proposed for datagram congestion control protocol over wireless
multimedia sensor networks," Transactions on Emerging Telecommunications Technologies, vol. 29, no. 3, 2018.
[108] 23 Septemer 2018. [Online]. Available: https://www.juniper.net/documentation/en_US/junos/topics/topic-map/security-gprs-sctp.html.
[Accessed 25 June 2019].
[109] R. Stewart and C. Metz, "SCTP: new transport protocol for TCP/IP," IEEE Internet Computing, vol. 5, no. 6, 2001.
[110] E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.3," IETF, 2018.
[111] O'Reilly, "Transport Layer Security (TLS)," [Online]. Available: https://hpbn.co/transport-layer-security-tls/. [Accessed 28 June 2019].
[112] "Datagram Transport Layer Security: Revision history," 18 May 2019. [Online]. Available:
https://en.wikipedia.org/wiki/Datagram_Transport_Layer_Security. [Accessed 29 June 2019].
[113] F. Baker, A. Weinrib, B. Braden, L. Zhang and S. Bradner, "Resource ReSerVation Protocol (RSVP) Version 1 Applicability Statement
Some Guidelines on Deployment," Network Working Group, 1997.
[114] R. Braden, D. Estrin, S. Berson, S. Herzog and D. Zappala, "The Design of the RSVP Protocol," USC/Information Sciences Institute,
1995.
[115] M. Rouse, "RSVP (Resource Reservation Protocol)," April 2007. [Online]. Available:
https://searchnetworking.techtarget.com/definition/RSVP. [Accessed 28 June 2019].
[116] N. Kortas, "The Performance evaluation of using Quic, TCP and SCTP within Cloud and Cloudlet environments," International Journal
of All Research Education and Scientific Methods (IJARESM), vol. 1, no. 1, 2015.
[117] R. Hamilton, J. Iyengar, I. Swett and A. Wilk, "QUIC: A UDP-Based Secure and Reliable Transport for HTTP/2 draft-tsvwg-quic-
protocol-02," Network Working Group, 2016.
[118] 17 November 2014. [Online]. Available: http://highscalability.squarespace.com/blog/2014/11/17/aeron-do-we-really-need-another-
messaging-system.html. [Accessed 29 June 2019].
[119] M. Thompson, 20 March 2019. [Online]. Available: https://github.com/real-logic/aeron/wiki/Protocol-Specification. [Accessed 29 June
2019].
[120] F. Valsorda, V. Vasiliev, H. Wee, D. Wong, C. Wood, T. Wright, P. Wu and K. Yamamoto, "The Transport Layer Security (TLS) Protocol
Version 1.3," Internet Engineering Task Force (IETF), 2018.
[121] R. Gandhi, H. Shah and J. Whittaker, "Updates to the Fast Reroute Procedures for Co-routed Associated Bidirectional Label Switched
Paths (LSPs)," Internet Engineering Task Force (IETF) , 2019.
[122] J. Touch, "Transport Options for UDP draft-ietf-tsvwg-udp-options-07," IETF, Manhattan, 2019.
[123] R. Stewart, M. Tuexen and M. Proshin, "Stream Control Transmission Protocol: Errata and Issues in RFC 4960," Internet Engineering
Task Force IETF, 2019.
[124] M. Amend, A. Brunstrom, A. Kassler and V. Rakocevic, "DCCP Extensions for Multipath Operation with Multiple Addresses draft-
amend-tsvwg-multipath-dccp-02," IETF, 2019.
[125] E. Rescorla, H. Tschofenig and N. Modadugu, "The Datagram Transport Layer Security (DTLS) Protocol Version 1.3 draft-ietf-tls-dtls13-
32," IETF, 2019.
[126] J. Iyengar and M. Thomson, "QUIC: A UDP-Based Multiplexed and Secure Transport draft-ietf-quic-transport-22," IETF, 2019.
[127] E. Rescorla, H. Tschofenig and N. Modadugu, "The Datagram Transport Layer Security (DTLS) Protocol Version 1.3draft-ietf-tls-dtls13-
01," IETF, 2017.
[128] K. Vignesh, "Master Thesis: Performance analysis of end-to-end DTLS and IPsec-based communication in IoT environments," Blekinge
Institute of Technology, Karlskrona, Sweden, 2017.
[129] "[MX] RSVP messages out of sequence," [Online]. Available:
https://kb.juniper.net/InfoCenter/index?page=content&id=KB30375&cat=TRAFFIC_ENGINEERING&actp=LIST. [Accessed 28 June
2019].
[130] "MPLS Error Detection," [Online]. Available: https://flylib.com/books/en/2.501.1.43/1/. [Accessed 28 June 2019].
[131] "RSVP ready to manage VoIP, video traffic," 25 January 2007. [Online]. Available:
https://searchunifiedcommunications.techtarget.com/news/1242869/RSVP-ready-to-manage-VoIP-video-traffic. [Accessed 28 June
2019].
[132] A. Ghedini, "The Road to QUIC," 26 July 2018. [Online]. Available: https://blog.cloudflare.com/the-road-to-quic/. [Accessed 28 June
2019].
[133] K. Mirja, T. Brian and E. Zurich, "Applicability of the QUIC Transport Protocol draft-ietf-quic-applicability-04," Network Working
Group, 2019.
[134] 30 November 2017. [Online]. Available: https://blog.skymind.ai/interview-with-adam-gibson-creator-of-dl4j-why-aeron-matters/.
[Accessed 29 June 2019].
[135] W. Eddy, "Transmission Control Protocol Specification draft-ietf-tcpm-rfc793bis-14," Internet Engineering Task Force, 2019.
[136] J. Touch, E. Lear, A. Mankin, M. Kojo, M. Kumiko, S. Lars and M. Eggert, "Service Name and Transport Protocol Port Number Registry,"
IETF, 2019.
[137] 4 October 2011. [Online]. Available: http://cs-pages.blogspot.com/2011/10/compare-and-contrast-advantages-and.html. [Accessed 27
June 2019].
[138] T. Phelan, G. Fairhurst and C. Perkins, "DCCP-UDP: A Datagram Congestion Control Protocol UDP Encapsulation for NAT Traversal,"
IETF, 2012.
[139] R. Stewart, M. Tuexen and I. Ruengeler, "Stream Control Transmission Protocol (SCTP) Network Address Translation Support," Network
Working Group Internet-Draft, 2019.
[140] [Online]. Available: https://www.ibm.com/support/knowledgecenter/en/ssw_aix_71/com.ibm.aix.networkcomm/sctp_intro.htm.
[Accessed 27 June 2019].
[141] J. Mena and R. Rusich, "SCTP: Stream Control Transmission Protocol an analysis," 2006.
[142] D. T and R. E, "The Transport Layer Security (TLS) Protocol Version 1.2," IETF, 2008.
[143] A. Leslie, ""TLS vs. SSL" - 5 Things To Know (Differences, Protocols, & Handshakes)," 8 June 2018. [Online]. Available:
https://www.hostingadvice.com/how-to/tls-vs-ssl/. [Accessed 28 June 2019].
[144] P. Levis, K. Pister, R. Struik, J. Vasseur and R. Alexander, "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks," IETF,
2012.
[145] O. Iova, F. Theoleyre and T. Noel, "Using multiparent routing in RPL to increase the stability and the lifetime of the network," Ad Hoc
Networks, vol. 29 , 2015.
[146] O. Iova, P. Picco, T. Istomin and C. Kiraly, "RPL: The Routing Standard for the Internet of Things... Or Is It?," IEEE Communications
Magazine, vol. 54, no. 12, 2016.
[147] H. Kim, J. Ko, D. Culler and J. Paek, "Challenging the IPv6 Routing Protocol for Low-Power and Lossy Networks (RPL): A Survey,"
IEEE Communications Surveys & Tutorials, vol. 1, no. 1, 2017.
[148] J. Sobral, J. Rodrigues, R. Rabêlo, J. Almuhtadi and V. Korotaev, "Routing Protocols for Low Power and Lossy Networks in Internet of
Things Applications," Sensors, vol. 19, no. 9, 2019.
[149] M. Aboubakar, M. Kellil, A. Bouabdallah and P. Roux, "Toward Intelligent Reconfiguration of RPL Networks using Supervised
Learning," in Wireless Days (WD), Manchester, United Kingdom, 2019.
[150] T. Salman and R. Jain, "Internet of Things and Data Analytics Handbook," in Networking protocols and standards for internet of things,
John Wiley & Sons, 2016, pp. 215-238.
[151] S. Basagni, C. Petrioli, R. Petroccia and D. Spaccini, "CARP: A Channel-aware routing protocol for underwater acoustic wireless
networks," Ad Hoc Networks, vol. 34, pp. 92-104, 2015.
[152] B. Santos, M. Vieira and L. Vieira, "eXtend Collection Tree Protocol," in Wireless Communications and Networking Conference
(WCNC), New Orleans, LA, USA, 2016.
[153] D. Sharma, "Evaluating and improving collection tree protocol in mobile wireless sensor networ," Thesis, University of Ontario Institute
of Technology (UOIT) , Oshawa, Ontario, Canada , 2011.
[154] T. Clausen, J. Yi and U. Herberg, "Lightweight On-demand Ad hoc Distance-vector Routing - Next Generation (LOADng): Protocol,
Extension, and Applicability," Computer Networks, vol. 126, pp. 125-140, 2017.
[155] T. Qiu, Y. Lv, F. Xia, N. Chen, J. Wan and A. Tolba, "ERGID: An efficient routing protocol for emergency response Internet of Things,"
Journal of Network and Computer Applications, vol. 72, pp. 104-112, 2016.
[156] N. Gozuacik and S. Oktug, "Parent-Aware Routing for IoT Networks," in Conference on Internet of Things and Smart Spaces, Balandin
, 2015.
[157] C. H. Barriquello, G. W. Denardin and A. Campos, "A geographic routing approach for IPv6 in large-scale low-power and lossy networks,"
Computers & Electrical Engineering, vol. 45, pp. 182-191, 2015.
[158] Y. Tian and R. Hou, " An Improved AOMDV Routing Protocol for Internet of Things," in International Conference on Computational
Intelligence and Software Engineering , Wuhan, China, 2010.
[159] M. Bouaziz, A. Rachedi, A. Belghith, M. Berbineau and S. Al-Ahmadi, "EMA-RPL: Energy and mobility aware routing for the Internet
of Mobile Things," Future Generation Computer Systems, vol. 97, p. 247–258, 1 January 2019.
[160] Z. Zhou, B. Yao, R. Xing, L. Shu and S. Bu, "E-CARP: An Energy Efficient Routing Protocol for UWSNs in the Internet of Underwater
Things," IEEE Sensors Journal, vol. 16, no. 11, pp. 4072 - 4082, 2015.
[161] S. Sebastian and R. Arockiam, "ELT-EAPR: Expected Life Time of Energy Aware Parent Routing for IoT Networks," International
Journal of Pure and Applied Mathematics, vol. 118, no. 8, 2018.
[162] J. Sobral, J. Rodrigues, R. Rabelo, K. Saleem and V. Furtado, "LOADng-IoT: An Enhanced Routing Protocol for Internet of Things
Applications over Low Power Networks," Sensors, vol. 19, no. 1, 2019.
[163] S. Hashemian and W. Tabataba, "A Multigate Scheme to Improve CORPL under Traffic Load in Cognitive Radio Based Smart Grids
with Mesh Topology," Nashriyyah muhandisi barq va muhandisi kampyutar, vol. 16, no. 4, pp. 229 -238, 2019.
[164] R. Jadhav, R. Sahoo, Y. Wu and D. Zhang, "RPL Observations draft-ietf-roll-rpl-observations-01," IETF, 2019 .
[165] O. Gaddour, A. Koubaa, R. Rangarajan, O. Cheikhrouhou, E. Tovar and M. Abid, "Co-RPL: RPL routing for mobile low power wireless
sensor networks using Corona mechanism," in IEEE International Symposium on Industrial Embedded Systems , Pisa, Italy, 2014.
[166] S. Abdel Hakeem, A. Hady and H. Kim, "RPL Routing Protocol Performance in Smart Grid Applications Based Wireless Sensors:
Experimental and Simulated Analysis," Electronics, vol. 8, no. 2, 2019.
[167] A. witwit and A. Idrees, "A Comprehensive Review for {RPL} Routing Protocol in Low Power and Lossy Networks," in New Trends in
Information and Communications Technology Applications, Baghdad, Iraq, Springer International Publishing, 2018.
[168] A. Aijaz and H. Aghvami, "Cognitive Machine-to-Machine Communications for Internet-of-Things: A Protocol Stack Perspective," IEEE
Internet of Things Journal, vol. 2, no. 2, 2015.
[169] H. Prasad and S. Babu, "A Survey on Network Routing Protocols in Internet of Things (IoT)," International Journal of Computer
Applications, vol. 160, no. 2, 2017.
[170] A. A. Khan, M. H. Rehmani and M. Reisslein, "Requirements, Design Challenges, and Review of Routing and MAC Protocols for CR-
Based Smart Grid Systems," IEEE Communications Magazine, vol. 55, no. 5, 2017.
[171] 15 July 2011. [Online]. Available: https://sing.stanford.edu/gnawali/ctp/. [Accessed 3 July 2019].
[172] Z. Aqun, W. Yang, L. Yi and L. Cy, "Research on Dynamic Routing Mechanisms in Wireless Sensor Networks," The Scientific World
Journal, vol. 2014, 2014.
[173] O. Gnawali, R. Fonseca, K. Jamieson, D. Moss and P. Levis, "Collection Tree Protocol," in Embedded Networked Sensor Systems,
Berkeley, California, USA, 2009.
[174] P. Pecho, P. HanaCek and J. Nagy, "Simulation and Evaluation of CTP and Secure-CTP Protocols," RadioEngineering, vol. 19, no. 1,
2010.
[175] T. Clausen, A. Verdiere and J. Yi, "The Lightweight On-demand Ad hoc Distance-vector Routing Protocol - Next Generation (LOADng),"
Network Working Group, 2016.
[176] D. Sasidharan and L. Jacob, "Design of Composite Routing Metrics in LOADng Routing Protocol for IoT Applications," in The Sixteenth
International Conference on Networks, 2017.
[177] M. Vucinic, B. Tourancheau and A. Duda, "Performance Comparison of the RPL and LOADng Routing Protocols in a Home Automation
Scenario," in IEEE Wireless Communications and Networking Conference (WCNC) , Shanghai, China, 2013.
[178] H. Makwana and H. Patel, "Advancement in Performance of Wireless AdHoc Network using AOMDV in MANET," International Journal
for Innovative Research in Science & Technology, vol. 4, no. 10, pp. 16-20, 2018.
[179] N. Srinidhi, K. S. Dilip and K. Venugopal, "Network optimizations in the Internet of Things: A review," Engineering Science and
Technology, an International Journal, vol. 22, no. 2, pp. 1-21, 2019.
[180] A. Dhumane, R. Prasad and J. Prasad, "Routing Issues in Internet of Things: A Survey," in International MultiConference of Engineers
and Computer Scientists, Hong Kong, 2016.
[181] A. P and S. Bhuraria, "Near field communication," SET Labs Bridfings, vol. 10, p. 67–74, 2012.
[182] V. Coskun, B. Ozdenizci and K. Ok, "A Survey on Near Field Communication (NFC) Technology," Wireless Personal
Communications,Springer-Verlag , vol. 71, no. 3, pp. 2259-2294, 2013.
[183] K. Curran, A. Millar and C. Garvey, "Near Field Communication," International Journal of Electrical and Computer Engineering (IJECE),
vol. 2, no. 3, pp. 371-382, 2012.
[184] Z. Shelby and C. Bormann, 6LoWPAN: The Wireless Embedded the Internet, A John Wiley and Sons, Ltd, Publication, 2010.
[185] J. Hui, David Culler and Samita Chakrabarti, "6LoWPAN: Incorporating IEEE 802.15.4 into the IP architecture," Internet Protocol for
Smart Objects (IPSO) Alliance, White paper # 3, USA, 2009.
[186] L. Devasena, "IPv6 Low Power Wireless Personal Area Network (6LoWPAN) for Networking Internet of Things (IoT) – Analyzing its
Suitability for IoT," Indian Journal of Science and Technology, vol. 9, no. 30, 2016.
[187] C. Gomez, J. Oller and J. Paradells, "Overview and Evaluation of Bluetooth Low Energy: An Emerging Low-Power Wireless
Technology," Sensors, vol. 12, no. 12, pp. 11734-11753, 2012.
[188] L. Mainetti, L. Patrono and A. Vilei, "Evolution of wireless sensor networks towards the Internet of Things: A survey," in SoftCOM 2011,
19th International Conference on Software, Telecommunications and Computer Networks, Split, Croatia, 2011.
[189] B. Paolo, P. Prashant, C. Vince, C. Stefano, G. Alberto and H. Fun, "Wireless sensor networks: A survey on the state of the art and the
802.15.4 and ZigBee standards," Elsevier, vol. 30, no. 7, p. 1655–1695, 2007.
[190] European Commission, "Building radio frequency identification for the global environment," June 2009. [Online]. Available:
http://www.bridge-project.eu.. [Accessed 2019 February 2019].
[191] R. Want, "An introduction to RFID technology," IEEE Pervasive Computing, vol. 5, no. 1, p. 25–33, 2006.
[192] C. Luca, D. D. Danilo, M. Luca, P. Luigi, L. S. Maria and T. Luciano, "An IoT-aware Architecture to improve Safety in Sports
Environments," Journal of communications software and systems, vol. 13, no. 2, pp. 44-52, 2017.
[193] E. De Poorter, J. Hoebeke, M. Strobbe, I. Moerman, S. Latré, M. Weyn, B. Lannoo and J. Famaey, "Sub-GHz LPWAN Network
Coexistence, Management and Virtualization: An Overview and Open Research Challenges," Wireless Personal
Communications,Springer-Verlag , vol. 95, no. 1, p. 187–213, 2017.
[194] F. Adelantado, X. Vilajosana, P. Tuset-Peiro, B. Martinez, J. Melia-Segui and T. Watteyne, "Understanding the Limits of LoRaWAN,"
IEEE Communications Magazine, vol. 55, no. 9, pp. 34 - 40, 2017.
[195] C.-S. Sum, G. P. Villardi, M. A. Rahman, T. Baykas, H. N. Tran, Z. Lan, C. Sun, Y. Alemseged, J. Wang, C. Song, C.-W. Pyo, S. Filin
and H. Harada, "Cognitive communication in TV white spaces: An overview of regulations, standards, and technology," IEEE
Communications Magazine, vol. 51, no. 7, pp. 138 - 145, 2013.
[196] A. Augustin, J. Yi, T. Clausen and W. Townsley, "A Study of LoRa: Long Range and Low Power Networks for the Internet of Things,"
Sensors, vol. 16, no. 9, 2016.
[197] Z-Wave, "Z-Wave," 2 February 2019. [Online]. Available: https://en.wikipedia.org/wiki/Z-Wave. [Accessed 10 February 2019].
[198] T. Nisha, R. S. Rajat Dwivedi and S. Kapil, "Overview of Technologies Associated with IoT," International Journal of Innovations &
Advancement in Computer Science, vol. 6, no. 11, pp. 84-93, 2017.
[199] ACS Wireless, "Telensa Street Light Controls.," 2017. [Online]. Available: https://www.advanced-cx.com/telensa. [Accessed 10 February
2019].
[200] F. Joseph and B. Stephen, "An Analysis of the Energy Consumption of LPWA-based IoT Devices," in International Symposium on
Networks, Computers and Communications (ISNCC), Rome, Italy, 2018.
[201] U. Raza, P. Kulkarni and M. Sooriyabandara, "Low Power Wide Area Networks: An Overview," IEEE Communications Surveys and
Tutorials, vol. 19, no. 2, pp. 855-873, 2017.
[202] Y. Choi, Y.-G. Hong and J.-S. Youn, "Transmission of IPv6 Packets over Near Field Communication draft-ietf-6lo-nfc-11," 6Lo Working
Group, 2018.
[203] C. Gomez, S. Darroudi, T. Savolainen and M. Spoerk, "IPv6 Mesh over BLUETOOTH (R) Low Energy using IPSP draft-ietf-6lo-
blemesh-05," 6Lo Working Group, 2019.
[204] L. Leonardi, G. Patti and L. Bello, "Multi-hop Real-time Communications over Bluetooth Low Energy Industrial Wireless Mesh
Networks," IEEE Access, vol. 6, pp. 26505 - 26519, 2018.
[205] "Zigbee is the only complete loT solution, from the mesh network to the universal language that allows smart objects to work together.,"
[Online]. Available: https://zigbee.org/zigbee. [Accessed 30 July 2019].
[206] L. A. Technical, "LoRaWAN™ 1.0.3 Specification," LoRa Alliance, 2018.
[207] Y. Seok, "IEEE 802.11AH (WI-FI IN 900 MHZ License-exempt band) for IoT application," 14 August 2016. [Online]. Available:
https://www.standardsuniversity.org/e-magazine/august-2016-volume-6/ieee-802-11ah-wi-fi-900-mhz-license-exempt-band-iot-
application/. [Accessed 15 July 2019].
[208] "Z-Wave Plus™ Certification," [Online]. Available: https://z-wavealliance.org/z-wave_plus_certification/. [Accessed 19 July 2019].
[209] "5G spectrum: strategies to maximize all bands," [Online]. Available: https://www.ericsson.com/en/networks/trending/hot-topics/5g-
spectrum-strategies-to-maximize-all-bands. [Accessed 24 July 2019].
[210] M. Zarri, "Road to 5G: Introduction and Migration," GSMA, 2018.
[211] "Release 17," [Online]. Available: https://www.3gpp.org/release-17. [Accessed 18 July 2019].
[212] "Global Smart Street Lighting & Smart Cities: Market Forecast (2019– 2028)," Northeast group, Washington, 2019.
[213] [Online]. Available: https://www.zigbee.org/zigbee-for-developers/zigbee-3-0/. [Accessed 9 July 2019].
[214] C. Perkins and V. Devarapalli, "Standards Track MN Identifier Types for MIPv6," Internet Engineering Task Force (IETF), 2018.
[215] "How to use NFC on Android," 9 Octobor 2018. [Online]. Available: https://www.androidauthority.com/how-to-use-nfc-android-
164644/. [Accessed 8 July 2019].
[216] "Near Field Communication ( NFC )," International Journal of Computer Science and Network Security, vol. 12, no. 2, pp. 93-99, 2012.
[217] B. Charrat, "Method for routing incoming and outgoing data in an NFC chipset". USA Patent US 7954,723 B2 , 7 June 2011.
[218] E. Kim, D. Kaspar, N. Chevrollier and J. Vasseur, "Design and Application Spaces for 6LoWPANs draft-ietf-6lowpan-usecases-10,"
6LoWPAN Working Group, 2011.
[219] M. Shin, T. Camilo, J. Silva and D. Kaspar, "Mobility Support in 6LoWPAN draft-shin-6lowpan-mobility-01," Network Working Group,
2007.
[220] K. Shahzad and B. Oelmann, "A comparative study of in-sensor processing vs. raw data transmission using ZigBee, BLE and Wi-Fi for
data intensive monitoring applications," in 11th International Symposium on Wireless Communications Systems (ISWCS), Barcelona,
Spain, 2014.
[221] S. Sirur, P. Juturu, P. Gupta, R. Serikar, K. Reddy, S. Barak and B. Kim, "A mesh network for mobile devices using Bluetooth low
energy," in 2015 IEEE Sensors, Busan, South Korea, 2015.
[222] J. Lee, Y. Su and C. Shen, "A Comparative Study of Wireless Protocols: Bluetooth, UWB, ZigBee, and Wi-Fi," in 33rd Annual Conference
of the IEEE Industrial Electronics Society, Taipei, Taiwan, 2007.
[223] M. Kasraoui, A. Cabani and J. Mouzna, "ZBR-M: a new Zigbee routing protocol," International Journal of Computer Science and
Applications, , vol. 10, no. 2, p. 15 – 32, 2013.
[224] R. Singhn, J. Kaur and I. Gill, "Evaluation of Hybrid Topologies under Mobility of ZigBee Devices using Different Trajectories,"
International Journal of Computer Applications (0975 – 8887), vol. 122, no. 20, 2015.
[225] K. Sattlegger and U. Denk, "Navigating your way through the RFID jungle," Texas Instruments white paper, 2014.
[226] H. Arthaber, T. Faseth and F. Galler, "Spread-Spectrum Based Ranging of Passive UHF EPC RFID Tags," IEEE Communications Letters,
vol. 19, no. 10, 2015.
[227] "RFID Standards: ISO, IEC, EPCglobal," [Online]. Available: https://www.electronics-notes.com/articles/connectivity/rfid-radio-
frequency-identification/standards-iec-iso-epcglobal.php. [Accessed 10 July 2019].
[228] M. Yarvis, "Mesh networking with RFID publication classification communications". Patent US 2006/0109084 A1 , 25 May 2006.
[229] A. Shah and M. Engineer, "A Survey of Lightweight Cryptographic Algorithms for IoT-Based Applications:," in Smart Innovations in
Communication and Computational Sciences, Singapore, springer, 2019, pp. 284-294.
[230] "What is the LoRaWAN® Specification?," [Online]. Available: https://lora-alliance.org/about-lorawan. [Accessed 15 July 2019].
[231] A. Cilfone, L. Davoli, L. Belli and G. Ferrari, "Wireless Mesh Networking: An IoT-Oriented Perspective Survey on Relevant
Technologies," Future Internet, vol. 11, no. 4, 2019.
[232] [Online]. Available: https://www.wi-fi.org. [Accessed 15 July 2019].
[233] K. Daly, "Why Wi-Fi Halow will revolutionize industrial process controls," 15 October 2018. [Online]. Available:
https://www.morsemicro.com/blog/wifi-halow-industrial. [Accessed 15 July 2019].
[234] M. Denatma and D. Perdana, "Simulation and Analysis of Energy Consumption and Performance of Routing Protocol DSDV and OLSR
on IEEE 802.11ah Standard," International Journal of simulation, system, science & technology, vol. 1, no. 35, 2016.
[235] "Sigfox Protocol Library for devices," [Online]. Available: https://build.sigfox.com/sigfox-library-for-devices. [Accessed 19 July 2019].
[236] "Comparing IoT Networks at a Glance," [Online]. Available: https://www.wi-sun.org/iot-networks/. [Accessed 16 July 2019].
[237] B. Heile, B. Liu, M. Zhang and C. Perkins, "Wi-SUN FAN Overview," IETF, 2017.
[238] K. Mekki, E. Bajic, F. Chaxel and F. Meyer, "A comparative study of LPWAN technologies for large-scale IoT deployment," ICT Express,
vol. 5, no. 1, pp. 1-7, 2019.
[239] S. Duhovnikov, A. Baltaci, D. Gera and D. Schupke, "Power Consumption Analysis of NB-IoT Technology for Low-Power Aircraft
Applications," in IEEE 5th World Forum on Internet , 2019.
[240] S. Farrell, "LPWAN Overview draft-ietf-lpwan-overview-10," IETF, 2018.
[241] 1 October 2014. [Online]. Available: https://z-wavealliance.org/about_z-wave_technology/. [Accessed 8 April 2019].
[242] L. Vora, "Evolution of mobile generation technology: 1G to 5G and review of upcoming wireless technology 5G," International Journal
of Modern Trends in Engineering and Research (IJMTER), vol. 2, no. 10, 2015.
[243] "Mobile Communication: From 1G to 4G," 1 February 2019. [Online]. Available: https://electronicsforu.com/technology-trends/mobile-
communication-1g-4g. [Accessed 21 July 2019].
[244] "technologies," [Online]. Available: https://www.etsi.org/technologies. [Accessed 21 July 2019].
[245] F. Njoroge and L. Kamau, "A Survey of Cryptographic Methods in Mobile Network Technologies from 1G to 4G," 2018.
[246] "Mass scale smart city technology," [Online]. Available: https://www.telensa.com/. [Accessed 25 July 2019].
[247] D. Evans, "The Internet of Things: How the Next Evolution of the Internet Is Changing Everything," Cisco Internet Business Solutions
Group (IBSG), april 2011.
[248] G. Fortino and P. Trunfio, Internet of Things Based on Smart Objects, Switzerland: Springer International Publishing, 2014.
[249] M. Cruz, J. Rodrigues, A. Sangaiah, J. Al-Muhtadi and V. Korotaev, "Performance evaluation of IoT Middleware," Journal of Network
and Computer Applications,Elsiver, vol. 109, p. 53–65, 2018.
[250] G. Kortuem, F. Kawsar, D. Fitton and V. Sundramoorthy, "Smart objects as building blocks for the Internet of things," IEEE Internet
Computing , vol. 14, no. 1, pp. 44 - 51, 2010.
[251] A. Farahzadi, P. Shams, J. Rezazadeh and R. Farahbakhsh, "Middleware Technologies for Cloud of Things - a survey," Digital
Communications and Networks, Elsevier, vol. 4, no. 3, pp. 176-188, 2017.
[252] N. Peter, "Principled Assuredly Trustworthy Composable Architectures," Principal Scientist, Computer Science Laboratory, California ,
USA, 2004.
[253] M. Papazoglou and D. Georgakopoulos, "Service-oriented computing: concepts, characteristics and directions," in Proceedings of the
Fourth International Conference on Web Information Systems Engineering., Rome, Italy, 2003.
[254] "Service Discovery," [Online]. Available: https://aws.amazon.com. [Accessed 14 August 2019].
[255] [Online]. Available: https://azure.microsoft.com. [Accessed 14 August 2019].
[256] "IBM Watson IoT platform," [Online]. Available: https://www.ibm.com/internet-of-things/solutions/iot-platform/watson-iot-platform.
[Accessed 16 August 2019].
[257] xively, 2014. [Online]. Available: http://xively.com. [Accessed 11 February 2019].
[258] N. Sinha, E. Pujitha, J. Alex and R. Sahaya, "Xively Based Sensing and Monitoring System for IoT," in International Conference on
Computer Communication and Informatics (ICCCI) - Xively based sensing and monitoring system for IoT, Coimbatore, INDIA, 2015.
[259] [Online]. Available: https://www.oracle.com/internet-of-things/. [Accessed 17 August 2019].
[260] M. Eisenhauer, P. Rosengren and P. Antolin, "A development platform for integrating wireless devices and sensors into ambient
intelligence systems," in 2009 6th IEEE Annual Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and
Networks Workshops, Rome, Italy, 2009.
[261] HYDRA, 2010. [Online]. Available: http://hydramiddleware.eu. [Accessed 12 March 2018].
[262] C. Perera, A. Zaslavsky, P. Christen and D. Georgakopoulos, "Context Aware Computing for The Internet of Things: A Survey," IEEE,
vol. 16, no. 1, pp. 414 - 454, 2013.
[263] "LinkSmart Docs," 16 July 2019. [Online]. Available: https://docs.linksmart.eu. [Accessed 17 August 2019].
[264] Global Sensor Networks, 2004. [Online]. Available: http://lsir.epfl.ch/research/current/gsn/. [Accessed 11 February 2019].
[265] "Understand Your Things The open IoT platform with MATLAB analytics.," [Online]. Available: https://thingspeak.com. [Accessed 18
August 2019].
[266] 3 April 2016. [Online]. Available: https://github.com/AuraMiddleware/aura-middleware. [Accessed 13 August 2019].
[267] P. Persson and O. Angelsmark, "Calvin – merging cloud and IoT," Procedia Computer Science, Elsevier , vol. 52, p. 210 – 217, 2015.
[268] Node-RED, "A visual tool for wiring the Internet of Things," 2015. [Online]. Available: http://nodered.org.
[269] Ptolemy II, 1999 . [Online]. Available: http://ptolemy.eecs.berkeley.edu. [Accessed 11 February 2019].
[270] [Online]. Available: https://doc.akka.io. [Accessed 21 August 2019].
[271] "Akka Part of Lightbend Platform," [Online]. Available: https://www.lightbend.com/akka-part-of-lightbend-platform. [Accessed 21
August 2019].
[272] P. Pietzuch, "Hermes: A scalable event-based middleware," University of Cambridge, Cambridge, 2004.
[273] Z. Theodore, P. Andreas, A. Federico, G. Jose and L. Fernando, "FIWARE lab:managing resources and services in a cloud federation
supporting future internet applications," in IEEE/ACM 7th International Conference on Utility and Cloud Computing, London, United
Kingdom , 2014 .
[274] [Online]. Available: https://developers.google.com. [Accessed 16 August 2019].
[275] "INTRODUCTION TO XIVELY," [Online]. Available: https://www.developerxively.com/docs. [Accessed 16 August 2019].
[276] [Online]. Available: https://docs.kaaiot.io. [Accessed 17 August 2019].
[277] 29 Septemper 2014. [Online]. Available: https://github.com/LSIR/gsn/wiki/GSN-in-a-nutshell. [Accessed 18 August 2019].
[278] [Online]. Available: https://github.com/EricssonResearch/calvin-base. [Accessed 19 August 2019].
[279] "Node-RED," 16 August 2019. [Online]. Available: https://nodered.org/docs/api/. [Accessed 19 August 2019].
[280] C. Ptolemaeus, System Design, Modeling, and Simulation using Ptolemy II, Ptolemy.org, 2014.
[281] "Ptolemy II," [Online]. Available: https://ptolemy.berkeley.edu/ptolemyII/index.htm. [Accessed 20 August 2019].
[282] M. Bernardo and A. Bogliolo, "Hermes: Agent-Based Middleware for Mobile Computing," in Computer Science, Berlin, Springer, 2005.
[283] "Gryphon Trading Framework 0.12 Documentation," [Online]. Available: https://gryphon.readthedocs.io. [Accessed 23 August 2019].
[284] "REBECA - Publish/Subscribe Middleware," 20 Septemper 2011. [Online]. Available: https://www.ava.uni-rostock.de/en/ava-
research/projects/rebeca/. [Accessed 23 August 2019].
[285] "FIWARE step by step," [Online]. Available: https://fiware-tutorials.readthedocs.io. [Accessed 24 August 2019].
[286] M. Sharif and A. Sadeghi-Niaraki, "Ubiquitous Sensor Network Simulation and Emulation Environments: A Survey," Journal of Network
and Computer Applications,Elsevier , vol. 93, pp. 150-181, 2017.
[287] M. Chernyshev, Z. Baig, O. Bello and S. Zeadally, "Internet of Things (IoT): Research, Simulators, and Testbeds," IEEE Internet of
Things Journal, vol. 5, no. 3, pp. 1637 - 1647, 2018.
[288] S. Han, M. Lee, N. Crespi, K. Heo, N. Van, M. Brut and P. Gatellier, "DPWSim: A Simulation Toolkit for IoT Applications using Devices
Profile for Web Services," in 2014 IEEE World Forum on Internet of Things (WF-IoT), Seoul, South Korea, 2014.
[289] H. Gupta, A. Vahid Dastjerdi, S. K. Ghosh and R. Buyya, "iFogSim: A toolkit for modeling and simulation of resource management
techniques in the Internet of Things, Edge and Fog computing environments," Special Issue: Cloud and Fog Computing, Wiley Blackwell
(John Wiley & Sons) , vol. 47, no. 9, pp. 1275-1296, 2017.
[290] R. Buyya, R. Ranjan and R. Calheiros, "Modeling and simulation of scalable Cloud computing environments and the CloudSim toolkit:
Challenges and opportunities," in 2009 International Conference on High Performance Computing & Simulation, Leipzig, Germany,
2009.
[291] S. Dash, P. Naidu, B. Chandra, R. Bayindir and S. Das, "Analysis of Cloud Environment Using CloudSim," in Artificial Intelligence and
Evolutionary Computations in Engineering Systems, Singapore, 2018.
[292] S. Sotiriadis, N. Bessis, E. Asimakopoulou and N. Mustafee, "Towards Simulating the Internet of Things," in 2014 28th International
Conference on Advanced Information Networking and Applications Workshops, Victoria, BC, Canada, 2014.
[293] X. Zeng, S. K. Garg, P. Strazdins, P. P. Jayaraman, D. Georgakopoulos and R. Ranjan, "IoTSim: A simulator for analysing IoT
applications," Elsevier,Journal of Systems Architecture, vol. 72, pp. 93-107, 2017.
[294] "The Cloud Computing and Distributed Systems (CLOUDS) Laboratory, University of Melbourne," December 2013. [Online]. Available:
http://www.cloudbus.org/cloudsim/. [Accessed 12 February 2019].
[295] S. Stelios, B. Nik, A. Nikos and A. Ashiq, "SimIC: Designing a new inter-cloud simulation platform for integrating large-scale resource
management," in IEEE 27th International Conference on Advanced Information Networking and Applications (AINA), Barcelona, Spain,
2013.
[296] A. Markus, G. Kecskemeti and A. Kertesz, "Flexible Representation of IoT Sensors for Cloud Simulators," in 2017 25th Euromicro
International Conference on Parallel, Distributed and Network-based Processing (PDP), Petersburg, Russia, 2017.
[297] X. Zeng, S. K. Garg, P. Strazdins, P. P. Jayaraman, D. Georgakopoulos and R. Ranjan, "IoTSim: A simulator for analysing IoT
applications," Journal of Systems Architecture, Elsevier, vol. 72, pp. 93-107, 2016.
[298] Ž. MIODRAG, N. BOŠKO, P. JELICA and P. RANKO, "A Survey And Classification Of Wireless Sensor Networks Simulators Based
On The Domain Of Use," Ad Hoc & Sensor Wireless Networks, Old City Publishing, vol. 20, pp. 245-287, 2014.
[299] F. Osterlind, A. Dunkels, J. Eriksson, N. Finne and T. Voigt, "Cross-level sensor network simulation with Cooja," in Proceedings. 2006
31st IEEE Conference on Local Computer Networks, Tampa, USA, 2006.
[300] "qualnet," 2008. [Online]. Available: https://web.scalable-networks.com/qualnet-network-simulator-software. [Accessed 12 February
2019].
[301] K. Mehdi, M. Lounis, A. Bounceur and T. Kechadi, "CupCarbon: A Multi-Agent and Discrete Event Wireless Sensor Network Design
and Simulation Tool," in Institute for Computer Science, Social Informatics and Telecommunications Engineering (ICST), 2014.
[302] C. Mallanda, A. Suri, V. Kunchakarra, S. Iyengar, R. Kannan and A. Durresi, "Simulating Wireless Sensor Networks with OMNeT++,"
IEEE, 2005.
[303] "NS3," 11 February 2019. [Online]. Available: https://www.nsnam.org/docs/tutorial/html/introduction.html. [Accessed 12 February
2019].
[304] "cupcarbon," 2017. [Online]. Available: http://www.cupcarbon.com/. [Accessed 12 February 2019].
[305] G. Keramidas, N. Voros and M. Hübner, Components and Services for IoT Platforms || Internet of Things Simulation Using OMNeT++
and Hardware in the Loop, Switzerland : Springer International Publishing, 2017.
[306] A. Abdelrahman, H. Mohammad and A. F. O. A. Fayez, "A Survey on Wireless Sensor Networks Simulation Tools and Testbeds," in
Sensors, Transducers, Signal Conditioning and Wireless Sensors Networks Advances in Sensors, Barcelona, Spain, International
Frequency Sensor Association (IFSA), 2016, pp. 283-302.
[307] S. Han, M. Lee, N. Crespi, V. Luong, K. Heo, M. Brut and P. Gatellier, "DPWSim: A Devices Profile for Web Services (DPWS)
Simulator," IEEE Internet of Things Journal, vol. 2, no. 3, pp. 221 - 229, 2015.
[308] K. Darabkh and L. Al-Jdayeh, "AEA-FCP: An Adaptive Energy-aware Fixed Clustering Protocol for Data Dissemination in Wireless
Sensor Networks," Personal and Ubiquitous Computing, vol. 23, no. 5, p. 819–837, 2019.
[309] R. Al-Zubi, N. Abedsalam, A. Atieh and K. Darabkh, "LBCH: Load Balancing Cluster Head Protocol for Wireless Sensor Networks,"
Informatica, vol. 29, no. 4, pp. 633-650, 2018.
[310] K. Darabkh, W. Al-Rawashdeh, M. Hawa and R. Saifan, "MT-CHR: A Modified Threshold-based Cluster Head Replacement Protocol
for Wireless Sensor Networks," Computers & Electrical Engineering, vol. 72, pp. 926-938, 2018.
[311] K. Darabkh, N. Al-Maaitah, I. Jafar and A. Khalifeh, "EA-CRP: A Novel Energy-aware Clustering and Routing Protocol in Wireless
Sensor Networks," Computers & Electrical Engineering, vol. 72, pp. 702-718, 2018.
[312] F. Petter and V. Ovidui, Internet of Things From Research and Innovation to Market deployment, Denmark: River Publishers, 2014.
[313] G. Gardašević, M. Veletić, N. Maletić, D. Vasiljević, I. Radusinović, S. Tomović and M. Radonjić, "The IoT Architectural Framework,
Design Issues and Application Domains," Wireless Personal Communications, Springer-Verlag, vol. 92, no. 1, pp. 127-148, 2016.
[314] A. Bröring, J. Echterhoff, S. Jirka, I. Simonis, T. Everding, C. Stasch, S. Liang and R. Lemmens, "New Generation Sensor Web
Enablement," Sensors, vol. 11, no. 12, pp. 2652-2699, 2011.
[315] K. Darabkh and J. Zomot, "An Improved Cluster Head Selection Algorithm for Wireless Sensor Networks," in 14th International Wireless
Communications & Mobile Computing Conference (IWCMC), Limassol, Cyprus, 2018.
[316] K. Darabkh and L. Al-Jdayeh, "A New Fixed Clustering Based Algorithm for Wireless Sensor Networks," in 14th International Wireless
Communications & Mobile Computing Conference (IWCMC), Limassol, Cyprus, 2018.
[317] M. Al-Mistarihi, I. Tanash, F. Yaseen and K. Darabkh, "Protecting Source Location Privacy in a Clustered Wireless Sensor Networks
Against Local Eavesdroppers," Mobile Networks and Applications, p. 1–13, 2018.
[318] K. Darabkh, W. Al-Rawashdeh, R. Al-Zubi and S. Alnabelsi, "C-DTB-CHR: centralized density- and threshold-based cluster head
replacement protocols for wireless sensor networks," The Journal of Supercomputing, vol. 73, no. 12, p. 5332–5353, 2017.
[319] K. Darabkh and N. Alsaraireh, "A Yet Efficient Target Tracking Algorithm in Wireless Sensor Networks," in 15th International Multi-
Conference on Systems, Signals & Devices (SSD), Hammamet, Tunisia, 2018.
[320] K. Darabkh and R. Muqat, "An Efficient Protocol for Minimizing Long-distance Communications over Wireless Sensor Networks," in
15th International Multi-Conference on Systems, Signals & Devices (SSD), Hammamet, Tunisia, 2018.
[321] Y. Zou, H. Wan, X. Zhang, D. Ha and P. Wang, "Electronic Nose and Electronic Tongue," Beijing and Springer Science+Business Media
Dordrecht, 2015.
[322] N. Lane, E. Miluzzo, H. Lu, D. Peebles, C. Tanzeem, C. Andrew and C. Dartmouth, "A survey of mobile phone sensing," IEEE
Communications Magazine, vol. 48, no. 9, pp. 140-150, 2010.
[323] A. Zanella, N. Bui, A. Castellani, L. Vangelista and M. Zorzi, "Internet of Things for Smart Cities," IEEE Internet of Things Journal,
Institute of Electrical and Electronics Engineers , vol. 1, no. 1, pp. 22-32, 2014.
[324] J. Lynch and L. Kenneth, "A Summary Review of Wireless Sensors and Sensor Networks for Structural Health Monitoring," Shock and
Vibration Digest, vol. 38, no. 2, p. 91–130, 2006.
[325] N. Maisonneuve, M. Stevens, M. Niessen, P. Hanappe and L. Steels, "Citizen Noise Pollution Monitoring," in The Proceedings of the
10th International Digital Government Research Conference, Puebla, Mexico, 2009.
[326] X. Li, W. Shu, M. Li, H.-Y. Huang, P.-E. Luo and M.-Y. Wu, "Performance Evaluation of Vehicle-Based Mobile Sensor Networks for
Traffic Monitoring," IEEE Transactions on Vehicular Technology , vol. 58, no. 4, p. 1647–1653, 2009.
[327] "Smart Cities Are Built On The Internet Of Things," Lopez Research, 2014.
[328] S. Yu, J. Hsieh, Y. Chen and W. Hu, "An Automatic Traffic Surveillance System for Vehicle Tracking and Classification," in Scandinavian
Conference on Image Analysis,Springer-Verlag, Berlin, 2003.
[329] W. Hu, X. Hu, J.-q. Deng, C. Zhu, G. Fotopoulos, E. Ngai and V. Leung, "Mood-fatigue analyzer: towards context-aware mobile sensing
applications for safe driving," in M4IOT '14 Proceedings of the 1st ACM Workshop on Middleware for Context-Aware Applications in
the IoT, Bordeaux, France, 2014.
[330] H. Singh, J. Bhatia and J. Kaur, "Eye tracking based driver fatigue monitoring and warning system," in India International Conference on
Power Electronics 2010 (IICPE2010), New Delhi, India, 2011.
[331] A. Kotb, S. Yao-chun and H. Yi, "Smart Parking Guidance, Monitoring and Reservations: A Review," IEEE Intelligent Transportation
Systems Magazine, vol. 9, no. 2, pp. 6 - 16, 2017.
[332] Q. Liu, H. Lu, B. Zou and Q. Li, "Design and Development of Parking Guidance Information System Based on Web and GIS Technology,"
in 2006 6th International Conference on ITS Telecommunications, Chengdu, China, 2006.
[333] L. Mimbela and P. Kent, Summary of vehicle detection and surveillance technologies used in intelligent transportation systems, The
Vehicle Detector Clearinghouse, 2007.
[334] V. Tamilmaran and K. Dwarkadas, "Smart Grid: An Overview," Smart Grid and Renewable Energy, vol. 2, no. 4, pp. 305-311, 2011.
[335] W. Kastner, G. Neugschwandtner, S. Soucek and M. Newmann, "Communication systems for building automation and control,"
Proceedings of the IEEE , vol. 93, no. 6, p. 1178–1203, 2005.
[336] Final Technical Report, "Smart Water Systems," Oxford University, Oxford, 2011.
[337] E. Farah, A. Abdallah and I. Shahrour, "Sunrise: Large-scale demonstrator of the smart water system," International Journal of Sustainable
Development and Planning, vol. 12, no. 1, p. 112–121, 2017.
[338] S. Akane and P. Rosalind, "Stress Recognition using Wearable Sensors and Mobile Phones," in Humaine Association Conference on
Affective Computing and Intelligent Interaction, Geneva, Switzerland, 2013.
[339] C.-h. Tien and D. Can, "Environment Monitoring System for Agriculture Application Based on Wireless Sensor Network," in Seventh
International Conference on Information Science and Technology (ICIST), Da Nang, Vietnam, 2017.
[340] A. Mussab, Z. A, B. Bahaa, M. Talal and L. Kiah, "A Review of Smart Home Applications based on Internet of Things," Journal of
Network and Computer Applications, vol. 97, pp. 48-65, 2017.
[341] T. Hargreaves, C. Wilson and R. Hauxwell-Baldwin, "Learning to live in a smart home," Building Research and Information, vol. 46, no.
1, pp. 127-139, 2018.
[342] D. K. Mishra, M. K. Nayak and A. Joshi, "Internet of Things Applications at Urban Spaces (Tel Aviv Smart City: A Case Study)," in
Information and Communication Technology for Sustainable Development, Singapore, Springer, 2018, pp. 1-11.
[343] L. Yan, M. Katherine and F. Simon, "Current Standards Landscape for Smart Manufacturing Systems Manufacturing Systems," National
Institute of Standards and Technology , USA, 2016.
[344] L. Neweb, 10 September 2019. [Online]. Available: https://www.cnetfrance.fr/news/vie-privee-comment-bien-proteger-vos-donnees-
personnelles-39886253.htm. [Accessed 30 January 2020].
[345] D. Tony, "Busniss Insider,Morgan Stanley: 75 Billion Devices Will Be Connected To The Internet Of Things By 2020," 2 October 2013.
[Online]. Available: http://www.businessinsider.com/75-billion-devices-will-be-connected-to-the-internet-by-2020-2013-10. [Accessed
17 February 2019].
[346] I. Qusay, "Internet of things: a survey of challenges and issues," International Journal of Internet of Things and Cyber-Assurance , vol. 1,
no. 1, pp. 40-75, 2018.
[347] S. Raja, D. Rajkumar and V. Raj, "Internet of Things: Challenges, Issues and Applications," Journal of Circuits, Systems and Computers,
vol. 27, no. 12, pp. 1-16, 2018.
[348] M. Shetty and M. D, "Challenges, Issues and Applications of Internet of Things," in nternet of Things: Novel Advances and Envisioned
Applications. Studies in Big Data, vol. 25, Cham, Springer International Publishing AG, 2017, pp. 231-243.
Please cite it as: Wafa’a Kassab and Khalid A. Darabkh, “A-Z Survey of Internet of Things: Architectures, Protocols,
Applications, Recent Advances, Future Directions and Recommendations,” Journal of Network and Computer Applications,
Elsevier, vol. 163, p.102663, August 2020. DOI: https://doi.org/10.1016/j.jnca.2020.102663
Published via this link: https://www.sciencedirect.com/science/article/pii/S1084804520301375