Middleware technologies for cloud of things: a survey
Amirhossein Farahzadi
a
,
*
, Pooyan Shams
a
, Javad Rezazadeh
a
,
c
, Reza Farahbakhsh
b
a
Dept. of Electrical and Computer Engineering, Islamic Azad University, North Tehran Branch, Tehran, Iran
b
Institut Mines Telecom and Universit
e Paris Saclay, Telecom SudParis, CNRS Lab UMR5157, 91011 Evry, France
c
School of Computing and Communication, Faculty of Engineering and IT, University of Technology Sydney, Australia
ARTICLE INFO
Keywords:
CoT
IoT
Middleware
Fog computing
Cloud
ABSTRACT
The next wave of communication and applications will rely on new services provided by the Internet of Things
which is becoming an important aspect in human and machines future. IoT services are a key solution for
providing smart environments in homes, buildings, and cities. In the era of massive number of connected things
and objects with high growth rate, several challenges have been raised, such as management, aggregation, and
storage for big produced data. To address some of these issues, cloud computing emerged to the IoT as Cloud of
Things (CoT), which provides virtually unlimited cloud services to enhance the large-scale IoT platforms. There
are several factors to be considered in the design and implementation of a CoT platform. One of the most
important and challenging problems is the heterogeneity of different objects. This problem can be addressed by
deploying a suitable “middleware” which sits between things and applications as a reliable platform for
communication among things with different interfaces, operating systems, and architectures. The main aim of this
paper is to study the middleware technologies for CoT. Toward this end, we first present the main features and
characteristics of middlewares. Next, we study different architecture styles and service domains. Then, we present
several middlewares that are suitable for CoT-based platforms and finally, a list of current challenges and issues in
the design of CoT-based middlewares is discussed.
1. Introduction
The appearance of the Internet of Things (IoT) concept is shaping and
reshaping the definition of future services. The main idea behind this
concept is to develop different types of communication network based on
a group of physical objects or simply “things”. The IoT objects are
embedded with electronic chips, software, sensors, and internet con-
nectivity to collect and process data from the environment or affect it by
deploying actuators. IoT combines real-world data and computer pro-
cessing to lower the costs and increase the efficiency and accuracy. Each
thing can be recognized separately through its embedded computing
system and can communicate with other things through the internet
infrastructure. Recently, the number of connected and embedded smart
devices grows rapidly. According to Cisco IBSG [1], the IoT world will
include more than 50 billion objects in 2020.
IoT is translated into different concepts or approaches, such as
“Network-Oriented” or “Object-Oriented” as discussed in [2], “Semantic
Oriented”. These visions emerged because of different stakeholder ideas
and different vendors and IT experts have their own vision of this
technology. IoT semantically means “a worldwide network of inter-
connected objects uniquely addressable based on standard communica-
tion protocols” [3]. The International Telecommunication Union (ITU)
also defines IoT as a network that provides connectivity “anytime,
anyplace for any connected smart devices”.
Fig. 1 shows a high-level concept of IoT [4], including the main
concept and its high-level functionalities. As shown in Fig.1, the main
characteristics of the IoT are presented in the core circle of the figure,
including anywhere, anything and anytime features that indicate the
limitless IoT realm. It is noteworthy to know that the application of this
technology with CPS (Cyber Physical Systems) and Cloud Computing
created Industry 4.0. The middle circle includes the general application
domains. Cross-system automation allows tasks to be performed more
accurately, coordinately, and conveniently. In the outer circle, we illus-
trate a general cyber-physical learning process. Each cycle of this process
boosts systems knowledge and performance. First, the system monitors
the operations carried out by the sensors. Then, the system will measure
and store the data. In the control phase, the system will check whether
the measured data has touched or passed the pre-defined minimums,
* corresponding author.
E-mail addresses: a.farahzadi@iau-tnb.ac.ir (A. Farahzadi), pooyan.shams@gmail.com (P. Shams), rezazadeh@ieee.org (J. Rezazadeh), reza.farahbakhsh@it-
sudparis.eu (R. Farahbakhsh).
Contents lists available at ScienceDirect
Digital Communications and Networks
journal homepage: www.keaipublishing.com/en/journals/digital-communications-and-networks/
https://doi.org/10.1016/j.dcan.2017.04.005
Received 10 January 2017; Received in revised form 17 March 2017; Accepted 15 April 2017
Available online 18 April 2017
2352-8648/© 2018 Chongqing University of Posts and Telecommunications. Production and hosting by Elsevier B.V. on behalf of KeAi. This is an open access article
under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/).
Digital Communications and Networks 4 (2018) 176–188