1.1. Introduction
After four decades from the advent of Internet by ARPANET [1], the term āInternetā refers to the vast category of applications and protocols built on top of sophisticated and interconnected computer networks, serving billions of users around the world in 24/7 fashion. Indeed, we are at the beginning of an emerging era where ubiquitous communication and connectivity is neither a dream nor a challenge anymore. Subsequently, the focus has shifted toward a seamless integration of people and devices to converge the physical realm with human-made virtual environments, creating the so- called Internet of Things (IoT) utopia.
A closer look at this phenomenon reveals two important pillars of IoT: āInternetā and āThingsā that require more clarification. Although it seems that every object capable of connecting to the Internet will fall into the āThingsā category, this notation is used to encompass a more generic set of entities, including smart devices, sensors, human beings, and any other object that is aware of its context and is able to communicate with other entities, making it accessible at any time, anywhere. This implies that objects are required to be accessible without any time or place restrictions.
Ubiquitous connectivity is a crucial requirement of IoT, and, to fulfill it, applications need to support a diverse set of devices and communication protocols, from tiny sensors capable of sensing and reporting a desired factor, to powerful back-end servers that are utilized for data analysis and knowledge extraction. This also requires integration of mobile devices, edge devices like routers and smart hubs, and humans in the loop as controllers.
Initially, Radio-Frequency Identification (RFID) used to be the dominant technology behind IoT development, but with further technological achievements, wireless sensor networks (WSN) and Bluetooth-enabled devices augmented the mainstream adoption of the IoT trend. These technologies and IoT applications have been extensively surveyed previously [2ā5], however, less attention has been given to unique characteristics and requirements of IoT, such as scalability, heterogeneity support, total integration, and real-time query processing. To underscore these required advances, this chapter lists IoT challenges and promising approaches by considering recent research and advances made in the IoT ecosystem, as shown in Fig. 1.1. In addition, it discusses emerging solutions based on cloud-, fog-, and mobile-computing facilities. Furthermore, the applicability and integration of cutting-edge approaches like Software Defined Networking (SDN) and containers for embedded and constrained devices with IoT are investigated.
1.2. Internet of Things definition evolution
1.2.1. IoT emergence
Kevin Ashton is accredited for using the term āInternet of Thingsā for the first time during a presentation in 1999 on supply-chain management [6]. He believes the āthingsā aspect of the way we interact and live within the physical world that surrounds us needs serious reconsideration, due to advances in computing, Internet, and data-generation rate by smart devices. At the time, he was an executive director at MITās Auto-ID Center, where he contributed to the extension of RFID applications into broader domains, which built the foundation for the current IoT vision.
1.2.2. Internet of Everything
Since then, many definitions for IoT have been presented, including the definition [7] that focuses mostly on connectivity and sensory requirements for entities involved in typical IoT environments. Whereas those definitions reflect IoTās basic requirements, new IoT definitions give more value to the need for ubiquitous and autonomous networks of objects where identification and service integration have an important and inevitable role. For example, Internet of Everything (IoE) is used by Cisco to refer to people, things, and places that can expose their services to other entities [8].
1.2.3. Industrial IoT
Also referred to as Industrial Internet [9], Industrial IoT (IIoT) is another form of IoT applications favored by big high-tech companies. The fact that machines can perform specific tasks such as data acquisition and communication more accurately than humans has boosted IIoTās adoption. Machine to machine (M2M) communication, Big Data analysis, and machine learning techniques are major building blocks when it comes to the definition of IIoT. These data enable companies to detect and resolve problems faster, thus resulting in overall money and time savings. For instance, in a manufacturing company, IIoT can be used to efficiently track and manage the supply chain, perform quality control and assurance, and lower the total energy consumption.
1.2.4. Smartness in Io...