Keywords

1 Introduction

The Internet of Things (IoT) refers to an ecosystem including a set of devices, objects, and everything that has a unique identifier and the ability to communicate and transmit data over a network [1]. IoT-based systems generally include sensors, actuators, and control elements with limited resources in terms of computational, storage, and power. These systems will be the leading platform for deploying new businesses and play a crucial role in developing industries in the near future. IoT-based systems require a suitable design to organize their structure in a self-organized manner because of their distributed and dynamic nature. Therefore, many management approaches based on Artificial Intelligence (AI) and cognitive systems have been utilized in the IoT. As two results of these approaches, Cognitive Internet of Things (CIoT) and Artificial Intelligence of Things (AIoT) have been reported in [2, 3].

The rationale behind utilizing AI and cognitive systems theory is described as follows. From technical perspectives, the size of generated data by IoT devices is increasing, resources are distributed, and the characteristics of these systems are changing dynamically. Because of these characteristics, IoT systems require AI-based algorithms for management in a self-organized manner [4, 5]. On the other hand, from human perspective, human agents cannot solve challenges in many situations. Some of challenges that lead to the inefficiency of human agents are explained as follows. The reaction time of humans is not appropriate for controlling modern drones and vehicles. Humans are not able to make appropriate decisions considering big data generated by the IoT. The distributed and dynamic nature of the IoT leads to many managerial problems that are not solvable by humans manually. Therefore, human agents will be replaced by some intelligent systems such as cognitive systems in the near future, and then we will be faced with many cognitive systems that are combined with the IoT. Since cognitive systems are designated based on cognitive processes of the human brain and mind, utilizing these systems will have high priority in the development of CIoT because we can utilize human logic to make decisions with high accuracy and speed.

The main drawback of recently reported algorithms as management algorithms in CIoT is that most of them only focus on utilizing AI without considering fundamental issues of cognitive systems. In other words, many of recently reported algorithms for CIoT should be classified as applications of AI in the IoT. In the absence of human agents and deploying self-organized management mechanisms based on AI, we will be faced with an unknown situation that might be hurtful. This is because many problems of AI such as controllability and predictability are not solved properly [6,7,8]. Therefore, a management mechanism based on AI may inherit these problems implicitly. This means that utilizing the ultimate power of AI-based systems in designing CIoT may lead to a self-organized system that can hurt humans easily.

More specifically, challenges such as security, predictability, and complexity do not have a same meaning in all intelligent versions of the IoT [9]. Ignoring these challenges leads to missing the goals of cognitive systems in CIoT. In the literature, there is no study on challenges in designing CIoT considering associated technologies such as IoT, AI, and cognitive systems.

In this chapter, at first, AI, IoT, and cognitive systems are studied independently. Then, fusion between these technologies are analyzed. Finally, some of challenges in designing CIoT are highlighted with a special focus on cognitive systems. The rest of this chapter is organized as follows. In Sect. 2, associated technologies to CIoT and their challenges are explained. In Sect. 3, challenges and solutions in designing CIoT with a particular focus on cognitive systems are summarized. Section 4 is dedicated to conclusions.

2 Internet of Things, Artificial Intelligence, and Cognitive Systems: Definitions, Combinations, and Challenges

In this section, all possible combinations among AI, cognitive systems, and IoT are studied considering definitions and design challenges (Fig. 1). In the next three subsections, we give short descriptions for each field independently. Then, comparisons between each pair of technologies are given. In addition, some notes that highlight the importance of developing CIoT technology are given in the last part of this section.

Fig. 1
figure 1

Challenges in Designing Cognitive Internet of Things

2.1 Internet of Things

IoT ecosystem was introduced by Kevin Ashton in 1999 [4]. In the IoT, the “things” can include everything from a smart-board to a smart traffic control system. In these systems, each thing on the earth can be connected to other things. Thing-to-thing communication can be used to organize many scenarios in different fields, such as healthcare and educational systems. The integration of these systems with new computing technologies, including cloud, edge, and fog computing, can significantly benefit users, businesses, and markets. Some advantages of IoT-based systems are given below [10,11,12,13]:

  • Efficiency in real-time decision-making for management and control can be obtained. This is because sensors gather a considerable amount of required information in the IoT ecosystems.

  • Transparency can be obtained using information gathered by a wide range of sensors that monitor different parts of IoT-based systems in online fashion.

  • Automation is an attractive characteristic that can be obtained via IoT-based systems. Utilizing IoT-based protocols, thing-to-thing communication can be done without requiring human involvement.

  • Monitoring systems based on IoT sensors are very cheap and also efficient in terms of energy and cost.

  • The integration among different IoT-based systems, including sensors, processors, and actuators, results in many benefits such as efficient data analyses and decision-making to resolve large-scale systems’ complexity.

  • IoT-based systems can be used to organize efficient mechanisms considering safety and security concerns for humans.

The above benefits lead to emerging smart governments, smart cities, smart healthcare, and smart manufacturing. The main challenges in designing IoT-based systems are given below [13], [14]:

  • Heterogeneity : In IoT-based systems, the number of devices is increasing and the type of them are very different from each other. Therefore, designing management algorithms among devices is very challenging.

  • Scalability : During the evolution of IoT-based systems, the number of sensors, actuators, and processers increases drastically. Therefore, in these systems, designing management algorithms in a scalable manner is vital. The primary versions of IoT-based systems focus on client-/server-based architectures, including cloud, fog, and edge computing. Recently, client-/server-based concept has been alternated with peer-to-peer communication and processing to handle distributed computations more efficiently.

  • Big data: Since the number of devices is increasing, the variation of generated data by instruments is high, and the rate of data generation is excessive. Therefore, IoT-based systems lead to appearing big data with many managerial challenges.

  • Network management : The network infrastructure for IoT-based systems is constructed over a wide range of devices that are distributed over various geographical positions. Therefore, network management algorithms should be equipped with policies to face with different environments (noisy and dynamic).

  • Privacy: Privacy preserving in IoT-based systems is a difficult task due to the large-scale data analytics and heavy computations related to privacy concerns. This problem becomes more challenging after appearing machine-generated data because data owners are not clearly identified.

  • Security : During the development and expanding IoT ecosystems, accessibility of devices increases day by day. As a result, designing secure algorithms in these systems is very difficult. In developing the Web of Things, this problem will be challenging because of increasing the availability of things.

  • Legal liability and responsibility : When a thing makes a decision, and consequently many hurtful actions occur, the main question that arises is who is in charge of the results.

  • Sensors and actuators : Designing inexpensive, accurate, and energy-efficient sensors and actuators belong to the main goals of designers of the IoT. Achieving these goals requires many high-tech methods and also researches that are not available in some situations.

  • Data analysis and decision-making : Distributed, dynamic, and large-scale nature of the IoT leads to appearing many challenges in data analyzing and decision-making.

  • Interoperability and standardization : The number of players in designing and utilizing IoT-based systems is increasing. In this domain, many platforms are closed-source, and other open-source platforms do not use standard architectures. It seems that defining some standards may be useful, but it will not easily happen because of the nature of software development in this field and weak interoperability.

2.2 Artificial Intelligence

Artificial intelligence does not mean the same concept to all scientists. In [15], Professor Russell introduced four definitions of artificial intelligence. According to his definitions, a wide range of devices can be considered as intelligent systems. Recently, a new classification for intelligent systems is introduced in the literature to provide a big picture of the future of intelligent systems. According to [9], intelligent systems are classified into three classes as explained below (Fig. 2):

  • Artificial Narrow Intelligence (ANI) : this type of intelligence refers to intelligent systems that can do specific tasks. For example, an agent with capabilities such as face recognition and games playing can be identified as artificial narrow intelligence. These agents are programmed to do tasks and cannot detect and formulate unknown tasks in a self-organized manner. We do not expect to see self-awareness in these agents. Some authors refer to this type of intelligence as weak artificial intelligence.

  • Artificial General Intelligence (AGI) : the concept of this type of intelligence does not refer to a unique thing in the mind of all leading scientists of artificial intelligence. Most researchers use artificial general intelligence for those agents that their intelligence is equivalent to human agents.

  • Artificial Superintelligence (ASI) : the author of [16] introduced three types of superintelligence: speed ASI, collective ASI, and quality ASI. Speed ASI refers to an agent faster than human, collective ASI refers to decision-making capabilities similar to a group of humans, and quality ASI refers to an agent that can do works that humans can’t.

Fig. 2
figure 2

Venn diagram for definitions of AI

Recently, some changes have been made on the above classification. In [17, 18], the authors argue that human-level intelligence is different from AGI. They argue that human characteristics may put some assumptions and limitations in the computations of the machine. Therefore, human-level intelligence may not lead to general intelligence to solve a wide range of problems than human agents suffer from solving them. Using human-level intelligence to design AGI may lead to determining some implicit upper bounds in the machine and defeat the generalization capabilities. On the other hand, authors of some papers such as [18] argue that there is no difference between AGI and ASI when the definitions of AGI is not limited to human-level intelligence. According to [16, 18], if AGI-based agents’ capabilities are further than human intelligence and there is no exact definition for ASI capabilities, then there is no need to differentiate AGI from ASI. All in all, definitions for AI is changing based on observations and expectations of humans. Some of the advantages of AI-based systems are given below:

  • Estimation of values in management procedures with high-precision such as energy consumption and peak hours in power grid [19]

  • Big data analytics with high precision [20]

  • Increase the efficiency of management systems and asset management [19]

Although AI provides significant changes and improvements for digital business and facilitates smart services and digital transformation, it challenges present tremendous risks for individuals, organizations, and society. A list of challenges in designing AI-based systems is given below:

  • Energy Consumption , Global Warming , and Environmental Pollution : One of the challenges of most machine learning algorithms is high energy consumption. In [21], environmental pollution and global warming are reported as other side effects of high computational power usage in AI-based systems.

  • Data Issues : A category of AI invests in data-driven algorithms to construct machine learning models. It should be noted that, in some situations, there are some problems in data that lead to many difficulties in data-driven machine learning algorithms [22, 23]. For example, we may face with issues related to data incompleteness, data heterogeneity, data insufficiency, imbalanced data, untrusted data, and data uncertainty.

  • Security: Security is a critical issue that has received much attention in recent years. An emerging field called adversarial machine learning was the first attempt to solve some security problems in data-driven machine learning methods [24].

  • Privacy : Many of data-driven machine learning methods are fed by data of huge amount of users. During the execution of these methods, some different roles are determined, including data owner, data manipulator, and data visualizer. Many efforts should be done by researchers to solve the problems related to saving privacy considering different roles [25].

  • Fairness: An algorithm is fair when its results are independent of some variables such as gender, ethnicity, and sexual orientation [26].

  • Safety: In mission-critical, real-world environments, there is little tolerance for failure that can damage humans and devices. In these environments, existing approaches are not sufficient to support the safety of humans.

  • Beneficial: A beneficial AI system is designated to behave in such a way that humans are satisfied with the results. Designing these systems will be required but extending their theory is still an ongoing process. In these systems, the agent is initially uncertain about the preferences of humans, and human behavior will be used to extract information about human preferences [27].

  • Predictability: One of the most critical issues in designing intelligent systems is predictability [6,7,8]. Some problems, including ambiguity and paradox, may lead to an unpredictable AI-based system.

  • Explainable AI: Explainable AI refers to AI methods such that the results of the solution obtained by them can be understood by human experts [28]. Since some machine learning algorithms such as deep learning invest in non-explainable symbols to do tasks, the results of these algorithms cannot be explainable.

  • Complexity: The primary versions of intelligent systems invested in limited set of algorithms to do their jobs and therefore their complexity was limited to simple algorithms. This assumption is not correct any longer. The complexity of intelligent systems is increasing day by day.

  • Monopoly: Many of AI-based solutions require substantial computational power. There are few companies (IBM, Amazon, and Microsoft) and countries which invest in AI and also high computational power devices. For example, few countries are pioneers in quantum computation that will be one of the enablers of artificial general intelligence and superintelligence. This capability may lead to the appearance of a monopoly in the scope of AI.

  • Responsibility: AI-based systems such as self-driving drones will act autonomously in our world. In these systems, a challenging question is “who is liable when a self-driving system is involved in a crash or failure?” This problem has many dimensions. In [29], some interesting points related to responsibility issues are covered for a specific case study.

  • Controllability: Eventually, AI-based systems surpass human’s abilities in general intelligence and become superintelligent. In this situation, a superintelligence could become powerful and difficult to control for humans [30].

  • Reproducibility: This feature refers to the ability of an agent to be recreated [31]. Existing AI-based methods lack this ability.

  • Continual Learning: This ability received much attention in recent years. In supervised, unsupervised, and reinforcement learning methods, traditional algorithms only focus on fixed sets of data as training and testing sets. In real-world applications, we must consider a stream of data, and the learning process is ongoing. Continual learning methods enable agents to adapt to a continually changing environment [32].

2.3 Cognitive Systems

Cognitive computations can be interpreted with different perspectives in all types of intelligence, such as ANI, AGI, and ASI. Cognitive computing focuses on designing computations similar to computations that occur in the human brain. Many fields, including computational phycology and neurosciences, are used to organize cognitive systems. Some references such as [33] report a close relationship between cognitive systems and human-level intelligence. According to [34], this field enables computer programs with the abilities of knowing, thinking, and feeling as explained below:

  • Computer with the ability of knowing: in this domain, several concepts such as fuzzy logic, the theory of causality, ontologies, denotational mathematics, object-attribute relation theory, concept algebra, process algebra, and inference algebra are used to design cognitive systems with the ability of knowing.

  • Computer with the ability of thinking: in order to organize this capability in machines, two approaches are introduced in the literature. The first approach takes advantage of brain-like computer machinery, and the second approach focuses on determining causal relationships among concepts.

  • Computer with the ability of feeling: emotional intelligence, sentiment analyses, and opinion mining are used to organize cognitive processes considering feeling capability.

All in all, cognitive computing requires many concepts from philosophy, psychology, linguistics, artificial intelligence, anthropology, and neuroscience. Some of the applications of cognitive systems are given below [35]:

  • Cognitive computing and robotics: utilizing cognitive computing to drive robots was one of the goals of engineers in the last centuries. Recently, robots have been used to solve simple and routine tasks. Existing robots lack of cognitive abilities for analyzing smart cooperation among humans and robots but this style will be changed.

  • Emotional communication systems: currently, communication between humans and robots suffer from many problems such as ambiguity and paradox. These problems become more challenging after digital transformation and arising some technologies such as virtual reality, augmented reality, and artificial life. The emotional communication based on cognitive systems facilitates communication between those entities that understand emotional symbols. This technology may affect the treatment of humans with some diseases such as autism.

  • Medical cognitive systems: as an important application of cognitive systems, medical systems can be nominated, especially for managing chronic diseases. Because of the multidisciplinary origin of cognitive systems that focus on technologies such as machine learning, AI, and natural language processing, cognitive systems are going to detect modes and relations among diseases from data with high accuracy.

In [9], a list of challenges in designing cognitive systems is reported. This list is explained as below:

  • Problem Identification and Formulation: these terms refer to two primary cognitive abilities in humans. Existing approaches in designing cognitive systems suffer from a lack of automated mechanisms to implement mentioned abilities.

  • Inspired Models: a wide range of researches in cognitive systems focuses on inspired models considering the human brain and mind. These researches are not mature enough to implement the cognitive abilities of humans, and therefore their abstractions may not lead to an appropriate cognitive system.

  • Connectionist and Symbolic Approaches: recently, connectionist approach has received much attention to design learning algorithms because of extraordinary capabilities of deep neural networks. However, this approach does not invest in human-readable elements, and therefore it is not appropriate for implementing some cognitive processes. On the contrary, the symbolic approach focuses on some cognitive abilities and also human-readable elements; however, their performance in real-world problems is not appropriate.

  • Layered and Flat Cooperation methods: cognitive systems may be organized as either layered or flat architectures. The architecture affects the growth of cognitive systems when cognitive processes try to improve their abilities.

  • Architecture Design: for more than 10 years, designing cognitive architecture has received much attention. This problem is still open, and there is no generalized framework to cover all cognitive abilities [36]. This problem becomes more challenging in designing artificial general intelligence [37].

  • Evolution Strategy: cognitive abilities of humans have been evolved over centuries based on several mechanisms, including genetic algorithms. Every cognitive system requires an internal or external mechanism to improve its cognitive abilities over time.

  • Programming Strategy: selecting or developing a programming strategy to cover all cognitive abilities is a challenging problem.

  • Semantic and Communication: the process of organizing communications among cognitive systems has attracted particular interest in recent years. To organize such process, many concepts such as ontologies and semantic web must be customized.

  • Morality: designing morality at the core of the cognitive system is a challenging problem. Since the basic principles for morality are not fixed, programming this concept as computer code in the cognitive system is not easy.

  • Learning, Creativity, and Innovation: analyzing the cognitive abilities of humans lead to appearing these concepts. Among these concepts, only learning abilities are developed in artificial intelligence, and other concepts are missed these days.

  • Machine Selection: cognitive systems that manage the human brain are based on biochemical mechanisms. We may organize cognitive systems on other types of machines.

  • Explainable Systems: humans are able to explain the reasons behind their decisions. This cognitive ability should be implemented in cognitive systems. Most existing AI-based agents are not explainable, and therefore they cannot give reasons for their decision-making.

  • Trust: since cognitive systems will be used as self-organized mechanisms in a wide range of complex systems, designing algorithms for preserving trust will be vital.

  • Safety: many cognitive processes may be emulated in machines but implementing those cognitive processes that their main goal is the safety of humans will be vital.

  • Predictability: implementing some cognitive systems such as those inspired by humans may lead to designing unpredictable systems.

  • Security: security in cognitive systems refers to those mechanisms that secure cognitive processes. The concepts behind securing cognitive processes may be different from traditional security mechanisms.

  • Energy Consumption: executing a cognitive system may be energy-consuming because of utilizing many learning algorithms in different parts of cognitive processes that are usually executed in a parallel manner.

  • Computational Power: The computational power required by learning-based algorithms is increasing. Therefore, utilizing cognitive systems that widely deploy learning algorithms leads to implementing algorithms that require high computational power.

  • Complexity: identifying and organizing cognitive processes are complex problems. A dimension of complexity problem refers to the infancy knowledge of humans about the nature of cognitive abilities in humans.

  • Storage (Memory): in all types of cognitive systems, memory plays an essential role. In some cases, more storage result in more cognitive abilities. Since the size of data gathered by these systems is increasing, utilizing data for analyzing and decision-making requires efficient algorithms.

2.4 Artificial Intelligence and Cognitive Systems

For more than 10 years, researchers have focused on identifying AI, cognitive systems, and relevant concepts. The relation between AI and cognitive systems is studied in the next two paragraphs [35]:

From cognitive systems perspectives: Many concepts of AI such as fuzzy logic, inference engines, reinforcement learning models, and ontologies are obtained through high-level cognitive analyses on humans. In this domain, some examples are given below [33, 34]:

  • Fuzzy logic, ontologies, and theory of causality have a close relationship with knowing systems in humans.

  • Reinforcement learning has a close relationship with repeated learning processes based on reward and penalties in humans and animals.

  • Artificial neural networks are designated based on neuro-like interactions that come from neuroscience analyses.

From an artificial intelligence perspective: In many algorithms such as search mechanisms, function approximation, and statistical learning methods, big data analytics will be key enablers of cognitive systems in the next centuries. In addition, big data technology has received much attention for revolutionizing cognitive systems. In comparison to big data analyses that focus on solving challenges related to volume, velocity, variety, and veracity of data, cognitive computation focuses on organizing processing methods that mimic data processing in the human brain to do tasks. It should be noted that human brain memory is limited, but its image processing is efficient. Therefore, the goal of the learning systems designers is to organize cognitive processes that are similar to cognitive processes in the brain.

The progress in both mentioned perspectives is still ongoing. In addition to challenges of cognitive systems and AI that will be transferred to hybrid systems based on these technologies, the following challenges can be highlighted that should be considered [35].

  • Efficient data collection (high speed and high quality)

  • Efficient natural language processing and human-computer interaction with emotional cognition

  • New processor design considering challenges of cognitive systems and AI

It is obvious that some of challenges such as security and safety are common challenges between AI and cognitive systems although their objectives are different from each other according to the context of their applications.

2.5 Artificial Intelligence and the Internet of Things

In the last decade, different combinations between AI and the IoT have been reported in the literature. For example, Intelligence of Things is studied in [14], Internet of Intelligent Things (IoIT) is explained in [5], and Artificial Intelligence of Things (AIoT) is used in [3]. In all of these examples, AI-based algorithms are used to bring more capabilities to the IoT such as intelligent sensing, intelligent connection management, and intelligent data processing. There is no fixed boundary among definitions of AI-based IoT systems. Overall, AI can increase the value of the IoT. On the other hand, IoT can promote the capabilities of AI. In the rest of this part, benefits and challenges in designing hybrid systems based on AI and IoT are studied.

All benefits from AI and IoT can be obtained in hybrid systems based on these technologies. Some benefits of these systems are given below [38]:

  • From application perspective, AI can be used to design smart business, home, healthcare, and industries.

  • Infrastructure of business intelligence will be organized on a combination of AI with the IoT. In these systems, intelligent decision-making and processing will be beneficial. In these systems, the IoT is in charge of collecting data and AI is in charge of processing the data in order to make sense of it.

  • Personalized services such as personalized healthcare and medicine may be organized based on IoT and AI.

  • AI plays a vital role in IoT to manage the flood of data and provide the analytics required to extract knowledge from data.

Challenges that arise during fusion of AI into the IoT are explained as below [14].

  • Complexity: in IoT-based systems, many elements play different roles. These systems may be classified as complex systems. This means that, because of high complexity of IoT-based systems, deploying AI in them results in many problems. In addition, IoT limitations such as processing power, memory, and delay in real-time applications will lead many challenges to design AI-based algorithms.

  • Heterogeneity: hybrid systems based on AI and IoT inherited different forms of heterogeneity from IoT. IoT systems suffer from challenges that come from wide heterogeneity of devices, platforms, operating systems, and services that exist and will be used to construct applications. Therefore, these challenges should be considered during adopting AI.

  • Security and privacy: AIoT inherited these challenges from both AI and the IoT. In other words, these challenges are very serious in hybrid systems based on the IoT and AI. For example, AI-based mechanisms require data to learn a model for a security mechanism, but keeping the privacy of these data in some devices in IoT systems cannot be preserved because of hardware/software weaknesses in devices.

  • Standardization: this challenge can be considered for AI, IoT, and their combinations. Since problems related to interoperability and heterogeneity are not solvable easily, determining standards for hybrid systems based on IoT and AI results in many problems.

  • Accuracy and speed: in AI-based systems, data-driven machine learning algorithms require an adequate amount of data to increase their accuracy. But, in IoT-based systems, gathering more information results in consuming more time, and therefore in real-time applications of IoT, many difficulties arise during usage of AI-based methods.

  • Client-server and peer-to-peer: popular architectures for IoT-based systems are based on edge, fog, and cloud computing concepts. However, there are many challenges while deploying these architectures in practice. For instance, the edge computing should be enhanced for optimizing the latency of transmitting massive data of the IoT in networks and achieving real-time responses with high-performance for analyzing the vast data using AI. All in all, client-server-based architectures would not be able to provide requirements for developing IoT systems in the future. Therefore, moving the IoT systems into a decentralized path may be the right decision. One of the famous decentralized architecture is peer-to-peer system. Peer-to-peer systems such as blockchain have received much attentions in recent years.

  • Legal aspects: in hybrid systems based on AI and IoT, many entities play roles. Therefore, legal challenges and legal relationships should be studied and clarified. This challenge will be serious after appearing crashes and faults among things (such as drones and vehicles).

  • Artificial stupidity: this problem has many dimensions in the IoT. In data-driven machine learning, sufficient data is required to train an appropriate learning model, and without data, the learning model has no trustable accuracy. Since transferring vast amounts of data in IoT ecosystem is costly, the learning algorithms may be constructed based on inappropriate data. In other words, lack of data in the IoT leads to inappropriate learning model, which lead to error-prone decision-making mechanisms.

2.6 Cognitive Systems and Internet of Things

Cognitive systems are widely used in the IoT [39]. The relation between cognitive systems and the IoT is an interesting issue because of the following perspectives.

  • From IoT perspective: The distributed, dynamic, and large-scale nature of IoT leads to high complexity in designing the management algorithms of these systems. Therefore, human thinking models as digitalized models are required for fast and accurate decision-making. Cognitive systems are applicable to not only the IoT but also other systems such as those illustrated in Fig. 3 [39,40,41,42,43,44,45,46,47,48,49,50].

  • From cognitive systems perspective: The IoT refers to the huge amount of physical devices scattered around the world, all collecting and sharing data, that makes new services. These services provide valuable data for designing learning models and approaching to organize fully featured cognitive systems and also artificial general intelligence.

Fig. 3
figure 3

Cognitive systems applications [39,40,41,42,43,44,45,46,47,48,49,50]

In order to merge cognitive systems with the IoT, several architectures are reported in the literature. According to [51,52,53], CIoT can be designated based on three-layered architecture explained as follows:

  • Requirement Layer: in this layer, the goals and behavior of the system are determined using a language.

  • Cognitive Process Layer: in this layer, cognitive processes are organized. Each cognitive process may be designated to manage several tasks.

  • Things Management Layer: this layer manages IoT system using decisions made by cognitive processes.

Hybrid systems based in IoT and cognitive systems bring numerous benefits which some of them are summarized as below [54]:

  • In contrast to existing intelligent systems that only focus on structured data and simple learning mechanisms to solve problems, deploying cognitive systems may rely on multiple cognitive processes that invest in both structured and unstructured data.

  • Similar to the human brain that utilizes information from multiple sources to do tasks, cognitive systems are able to implement the same functionality in the IoT.

  • As an important feature of cognitive computing, big data gathered by the IoT ecosystem can be used for continually learning and reasoning based on cognitive processes similar to the learning process in humans.

  • Cognitive computing will bring many abilities to process natural language to learn quickly from structured and unstructured data collected from various sources.

As it was previously mentioned, challenges in designing CIoT come from three sources: cognitive systems, AI, and IoT. Therefore, CIoT may inherit all of challenges from these sources. It should be noted that some of those challenges that are mentioned for AI and cognitive systems, such as trust, safety, security, and predictability, do not refer to exactly similar concepts and their meaning depends on the context. For example, to design a cognitive system, cognitive processes and the human mind are involved in the assumptions of computation, but in an AI-based system, there is no fixed set of assumptions. Some of challenges of CIoT will be discussed in Sect. 3.

2.6.1 Priority of Cognitive Internet of Things

An important issue that should be considered during the usage of AI in the IoT is that a wide range of AI-based systems does not consider the cognitive processes of humans. Therefore, they are not suitable to be used in CIoT. Because of this issue, more much efforts should be done on designing cognitive systems and their applications to engineering fields such as IoT and robotics, instead of utilizing AI without a cognitive computation perspective. For example, an intelligent system in the IoT that does not consider human safety may easily execute harmful actions against humans in a self-organized manner because harmful actions may lead to optimizing an objective function. This problem becomes more challenging when machines lack capabilities to understand the real meaning behind sentences that humans utilize to communicate with each other and also machines.

Some advantages of CIoT against other intelligent versions of IoT are explained as follows. The first advantage is that many important assumptions that conduct the cognitive processes are implicitly considered during the development of cognitive systems in CIoT. These assumptions may be missed in designing intelligent systems based on AI. The second advantage is that during the development of CIoT, many assumptions are injected into the knowledge of machines, which leads to facilitate the communication between humans and machines. The last advantage is that controllability and predictability of machines that are critical concerns in developing intelligent systems based on AI can be better managed through cognitive systems.

3 Challenges and Solutions in Designing Cognitive Internet of Things

In this section, some challenges in designing CIoT are explained in more details. The list of terms that present potential challenges is given below.

• Problem identification and formulation

• Energy consumption and environmental pollution

• Explainable systems

• Layered and flat cooperation methods

• Architecture design

• Safety

• Morality, privacy, responsibility

• Inspired models

• Predictability and control ability

• Security and trust

• Semantic and communication

• Machine selection

3.1 Problem Identification and Formulation

Thinking ability is considered as one of the main abilities in cognitive systems. CIoT inherited challenges of designing thinking machines from cognitive systems. Among numerous problems that should be solved for approaching an acceptable level of thinking ability, problem identification and formulation are considered as fundamental problems for autonomously organizing IoT. For example, CIoT systems should be able to automatically detect problems behind performance degradation and then deploy an appropriate mechanism to solve the problems. According to [15], detecting the problem (single-state, multiple-state, and contingency) and formulating it in a well-defined manner are the first steps of problem-solving procedure based on AI. According to [55], three approaches may be utilized for analyzing complex structures such as CIoT, as given below:

  • Top-down (forward engineering)

  • Bottom-up (backward engineering)

  • Hybrid (forward engineering and backward engineering)

One approach that has attracted much attention in recent years is based on knowledge-based systems such as the Cyc project [56] and [57]. In the Cyc project, we can insert some facts about the problems into a knowledge base and then extract new problems using an inference engine. In [57], a rules-based configuration for problem detection is proposed.

All in all, in the field of CIoT, there is no general framework to identify and formulate problems in a self-organized manner. Most of the existing frameworks follow the bottom-up approach because the top-down approach for finding problems in different domains leads to challenging problems. For example, in the literature, a machine learning method is suggested for solving a problem by a scientist and other scientists try to modify that machine learning method for solving new versions of that problem. This process is usual in human societies. This means that few persons determine new problems, and others try to reuse problem-solving strategies that are not substantially novel. As a powerful strategy and based on bottom-up approach, genetic algorithms can be used to create a fully featured cognitive system. Genetic algorithms performed well in nature, and scientists argue that computer programs may apply this functionality as an evolutionary strategy.

3.2 Energy Consumption and Environmental Pollution

A wide range of intelligent systems invest in a high volume of data and also processing power [58]. In existing computers that mainly require high energy to support storage and processing power, executing intelligent algorithms leads to high energy consumption and sometimes high environmental pollution. In [21], the author studied these challenges in deep learning methods. In cognitive systems, these problems become more critical because many learning algorithms may be involved in the basic functionality of cognitive systems such as self-awareness. In CIoT that invest in architectures based on cloud, fog, and edge computing, each thing can execute learning algorithms with the aid of cloud computing or other elements such as fog and edge. However, high energy consumption problem will exist, and its position will be exchanged from things to other parts of CIoT ecosystem.

It should be noted that high-energy consumption problem is not only associated with learning elements of CIoT but also depends on the size of CIoT that is increasing because of the drastic growth of the size of IoT systems. On the other hand, IoT devices may use a wide range of radiofrequencies to communicate with each other, and the side effects of this phenomenon are not clear. In the next paragraph, some solutions reported in the literature are summarized.

In [59], green industrial IoT architecture is reported. In this architecture, an energy-efficient solution for industrial IoT (IIoT) is suggested. In addition, sleep/wake up-based scheduling mechanism is reported to define energy-efficient algorithms. In [60], wireless energy harvesting technique for the IoT is applied. In this solution, the energy harvesting technique is customized for smart cities. This technique refers to a promising solution for extending the lifetime of low-power devices. In [61], several algorithms for efficient energy management for the IoT in smart cities are suggested. Two novel solutions that may be considered in this domain are explained as follows:

  • From a hardware standpoint, we may use energy harvesting techniques [62] (thermal, optical, and waves) to gather wasted energy from devices which are involved in learning processes.

  • From a software standpoint , we can share files (models) in client/server or peer-to-peer fashion. These files can be the output of every learning process. With this approach, everything may use the shared model without paying its learning costs. Transfer learning theory may be used in this domain [63]. In addition, blockchain technology can be used to share knowledge (models) in fully distributed and protected manner. Considering this issue, an interesting discussion is given about the future of the Internet of Things (IoT), blockchain, and Internet of Minds (IoM) in [64].

3.3 Explainable Systems

A system is called explainable when the reasons behind its selected actions can be understood or interpreted by a human. In AI field, designing explainable system is known as a challenging problem [28, 65, 66]. CIoT inherited this challenge from AI. In CIoT ecosystems, machines will make many decisions, and therefore explainable systems will be useful. In the next paragraph, this problem is studied in the IoT and CIoT.

In [67], an explainable AI approach is used to the IoT in agriculture. In this approach, a fuzzy rule-based system that is interpretable is reported. In [68], explainable AI is applied to a healthcare framework for combating COVID-19-like pandemics. Another application of explainable AI in healthcare is reported in [69]. In this application, wearable devices were considered in cognitive processes and also some mechanisms are introduced to achieve some characteristics such as accountability. In [70], the authors invest in utilizing explainable AI to build cognitive cities based on the IoT. Since the consequences of decisions in industries are very important and industrial IoT is going to be very popular, some papers such as [71] suggests some mechanisms for utilizing explainable AI in industries.

In summary, since the penetration of CIoT is increasing along with vanishing of human roles in automation, cognitive systems will make many decisions at the core of CIoT. Therefore, finding reasons and interpretations behind each decision will be vital. In some applications such as healthcare systems, this problem will be challenging because the consequence of each decision in these systems can be challenging.

3.4 Layered and Flat Cooperation Methods

CIoT inherited layered and flat cooperation design challenges from IoT and cognitive systems. In what follows, we study these challenges from two perspectives.

From IoT design perspective: The following approaches have been used to organize IoT ecosystems:

  • Layered cooperation among nodes of a network leads to the evolution of client-server architecture to cloud, fog, and edge ecosystems [72, 73].

  • Flat cooperation among nodes of the network leads to the evolution of peer-to-peer systems to blockchain systems. These ecosystems may be more scalable than layered approaches [74].

From cognitive systems design perspective: the following approaches are used to handle complexities in designing cognitive systems:

  • Layered cooperation among agents leads to organize multilevel cognitive systems to handle complexities in the environment of these systems. Deep learning can be classified as a result of this approach [75, 76].

  • Flat cooperation leads to organize single layer cognitive systems. In order to handle more complexities, more layers are required [76].

In [76], layered architecture for cognitive Internet of vehicles that is an example of CIoT is reported. This paper focuses on security and then assumes an infrastructure based on cloud computing to execute learning algorithms. In [77], a layered architecture for the IoT is reported that considers the environmental complexities surrounding the devices. In [2], a cognitive management framework for the IoT for enabling autonomous mechanisms is reported in which a three-layered cognitive engine is utilized to bring self-healing capability.

3.5 Architecture Design

CIoT inherited several design challenges such as architecture design from IoT and cognitive systems. Therefore, the challenge of architecture design in CIoT can be analyzed from the following perspectives:

  • From IoT design perspectives: there are numerous architectures such as those reported in [52, 54, 74] to organize the IoT ecosystem, and there is no standard to build a unique solution. It should be noted that peer-to-peer systems such as blockchain are used to change traditional architectures of IoT that invest in cloud computing and client-server concepts. This change results in appearing complex architectures of the IoT.

  • From cognitive systems design perspective: according to a research reported in [36], more than 80 cognitive architectures are developed since 40 years ago. This report also gives several taxonomies of cognitive architectures. Among notable architectures, cognitive systems architectures ACT-R and Soar have influential positions [78, 79]. Selecting appropriate architecture considering problems of CIoT leads to a challenging task. Cognitive systems try to organize cognitive abilities related to perception, attention, action selection, memory, learning, reasoning, and metareasoning. The main problem that occurs during applying cognitive systems is that many limitations related to computations, memory, and interconnection patterns should be applied to organize a customized cognitive system for CIoT. For example, memory that is considered as a simple element of cognitive systems may be converted to a complicated element of CIoT because we have no infinite size of memory, and increasing the size of information leads to increasing the access time. In addition to the mentioned challenges, many parameters with the origin of the infrastructure of IoT may affect the functionality of the cognitive systems.

3.6 Safety

CIoT applications will be vital in decision-making in a wide range of systems such as autonomous vehicles and drones. Because of the widespread CIoT applications, the cost of harmful and unsafe actions of them is very high. Some researchers focus on designing safe models considering the cost of harmful actions [80]. From another point of view, some papers such as those reported [81,82,83] try to judge the actions of an agent considering the safety of human. This problem is going to very challenging because of the vanishing role of humans and appearing fully self-organized systems. Unfortunately, this problem is not considered adequately in CIoT, and most of papers such as [84, 85] only focus on using CIoT and IoT to build secure systems such as secure homes and secure vehicular networks to bring safety for humans.

3.7 Morality, Privacy, and Responsibility

These terms refer to different dimensions of challenges in designing CIoT. The reason for discussing them in a group is that these concepts have many shared attributes among themselves. For example, keeping the privacy of data during the learning process can be classified under both privacy and morality [86]. From another perspective, defining morality in the cognitive systems of CIoT refers to novel concepts that are not related to privacy. Since the cognitive systems approaching to abilities of artificial general intelligence, designing moral cognitive systems will be an open issue.

Cognitive systems will be used as self-organized mechanisms in different fields. Since human decision-makers will be replaced by these systems, we must have appropriate mechanisms to find those entities that are responsible for each action done in the system. For example, who is responsible of an accident among autonomous vehicles? This problem becomes more challenging after rising some tools such as GANs [87]. These tools are able to generate samples for data. This capability may be used to generate fake texts, pictures, and videos by CIoT in a self-organized manner [88]. Humans may not able to control some of these abilities in machines. For example, a machine may be involved in a crime and then generate fake evidence for it. As two main challenges in this area, we may refer to two critical abilities studied in the next paragraph.

Deception and cheating belong to the human agents, but these characteristics may appear in a cognitive system. This is because cognitive systems are going to mimic the behavior of humans. For artificial narrow intelligence-based agent, we can’t say that deception and cheating come from the intention of the machine, because these agents have no mind or consciousness. Deploying artificial general intelligence at the core of cognitive systems in CIoT may lead to these challenges. These challenges have not been considered yet in the literature of CIoT.

3.8 Inspired Models

Most cognitive systems such as Soar and ACT-R are inspired by the human brain [78, 79]. This is because the human brain is used to determine cognitive processes, and many studies are done on identifying and categorizing these processes based on neural and psychological sciences. Brain-inspired cognitive systems focus on either emulating the functions of different parts of the brain or input/output of total parts. For example, deep learning methods focus on emulating neural interactions in the brain, while the learning automata theory focuses on emulating human behavior [75, 89]. In addition, many cognitive processes are inspired by the collective behavior of humans in societies reported in the literature as game theory, social sciences, and swarm intelligence fields [90,91,92]. Implicitly, many nature-inspired and also bio-inspired algorithms are reported in the literature of CIoT. This is because many processes that manage our environment, from biological to ecological, can be seen as cognitive processes. In the next paragraph, some of these efforts are summarized.

In [93], a bio-inspired solution to distributed spectrum allocation problem in CIoT is reported. In this solution, a cognitive radio management algorithm is merged with a biological mechanism called reaction-diffusion to provide efficient spectrum allocation algorithm. In [94], conceptual descriptions of nature-inspired cognitive cities are analyzed. The authors of this work assumed cognitive city as a complex system that will be approaching to complex adaptive systems. They organized their model based on principles such as decentralized control and multi-directional networking. In [95], a cognitive model of task scheduling for IoT is suggested based on ant colony and genetic algorithms. In [96], cognitive packet networks for secure IoT are reported. The theory of cognitive packet networks relies on random neural networks that are brain-inspired learning techniques. In [97], a deep reinforcement learning technique is used to solve a task assignment problem in an intelligent version of the IoT.

Since there is no well-known framework that both communities of cognitive systems and the IoT agree on, cognitive systems experts may not accept some solutions that are published in the literature as cognitive solutions. As it was previously mentioned, we cannot consider every AI-based system as a cognitive system. In other words, more efforts should be made in this field.

3.9 Predictability and Controllability

These terms can be explained from two perspectives as given below:

  • From CIoT design perspective: CIoT inherited predictability and controllability challenges from AI. In the literature, some papers such as [30] show that the controllability problem in AI-based solutions will not be solvable in many cases. In addition, according to well-known theorems such as Godel theorem and some challenges such as ambiguity and paradox come from the complexity field [6, 98], many problems cannot be formulated and solved based on mathematics. All of these challenges may be transferred to CIoT trough cognitive computation, and therefore CIoT systems will not be predictable and also controllable.

  • From CIoT applications perspective: IoT systems are known as useful tools for online monitoring. AI-based tools may be used to utilize specific information to predict and control other systems. In this perspective, cognitive systems and machine learning algorithms are utilized to make decisions with high accuracy. For example, in [99], the authors use intelligent energy management of solar-powered sensor devices in a dynamic environment. They designated an algorithm that selects a model among a set of prediction models. In [100], the cognitive amplifier for the IoT is represented.

Overall, CIoT systems may be used to solve many problems such as controllability and predictability, although these problems exist in the core of CIoT.

3.10 Security and Trust

These challenges are multidimensional and very critical. We study them based on two perspectives, as explained in the following.

  • From CIoT design perspective: since cognitive systems will be self-organized, they should be designated securely, because there will be no human agent to analyze attacks and then define corresponding defense mechanisms. Analyzing the security of cognitive systems and AI-based mechanisms is not easy, and few papers focus on this issue. For example, adversarial machine learning is a field that focuses on securing machine learning algorithms that invest in data-driven algorithms [24]. It seems that attacks to CIoT might be very complicated and also based on high-tech AI-based mechanisms. Therefore, security mechanisms for CIoT must be organized carefully. On the other hand, because of the increasing availability of things over the Internet, the reaction time to defense and recovery is very low. It seems that cognitive systems might be used to organize the attacks, and therefore we must design cognitive defense mechanisms [101]. During the design of CIoT, some issues are shared between security and trust. For example, most of AI-based security mechanism are based on trusted data. Therefore, attackers may use some features of data to hack security mechanisms.

  • From CIoT applications perspective: many papers such as [44, 45] focus on using cognitive systems to design secure systems.

All in all, every software, including cognitive systems, may be hacked. Analyzing security challenges in cognitive systems is in the early stages.

3.11 Semantic and Communication

In the era of CIoT, challenges related to semantic and communication will be crucial. Most of systems such as computer networks, robotics, and the IoT will deploy cognitive systems. If all of these systems utilize standard language [102] and also ontology [103], cognitive systems of them will be able to increase their cognitive abilities through interactions among themselves. Some related papers are explained in the next paragraph.

In [104], authors focus on the role of object-oriented ontology in the IoT. According to this study, designers of IoT systems may reimagine data items, devices, and users, as significant as actors in a flat ontology. In [105], the authors focus on ontology to organize unified and formalized descriptions to solve the challenges of semantic heterogeneity in the IoT security domain. They reported four key sub-domains to cover a security situation in the IoT. These domains are context, attack, vulnerability, and network flow. In addition, user-defined rules can compensate for the limited description ability of ontology. Therefore, this model can enhance the reasoning ability of its ontology.

Many existing cognitive systems such as those reported in [2, 50] are designated to solve specific problems and do not utilize communication and knowledge sharing. So, the communication among cognitive systems embedded in devices around humans will not happen with existing approach. One of the techniques that can be used in CIoT to share knowledge among things is based on peer-to-peer file sharing systems and also blockchain [106].

3.12 Machine Selection

Organizing ecosystems for IoT and CIoT based on different technologies such as nano, molecular, and biological have attracted particular interests in recent years [107,108,109]. In these ecosystems, each thing may be equipped with sensors, actuators, and processing elements. In every technology, the type of cognition may be different because of the quality of processors and also interconnections among things. In the rest of this section, challenges and solutions of machine selection are summarized.

Nanotechnology, biotechnology, and quantum computation can be used to generate, process, and transmit data at different scale. These technologies will form the infrastructure of IoT systems according to the literature. In [107], the Internet of Nano Things (IoNT) is reported that refers to the intersection of three technologies: nanoscale devices, communication networks, and IoT. This technology focuses on the state-of-the-art methods in electromagnetic communications among nanoscale devices. In [110], the Internet of Multimedia Nano-Things (IoMNT) is introduced. IoMNT focuses on issues related to multimedia contents in IoNT. These systems have a high potential to manage a high volume of data generated at the nanoscale. On the other hand, in [111], the challenges in designing Internet of Multimedia Things (IoMT) are studied. It should be noted that, this technology is fused with nanotechnology to organize IoMNT. In [109], the potential of molecular computation is utilized to present the Internet of Molecular Things (IoMT). In [108], the Internet of Bio-Nano Things (IoBNT) is introduced. The rationale behind IoBNT is to merge concepts of synthetic biology and nanotechnology to define engineering principals for biological embedded computing devices. This technology enables applications such as intra-body sensing and actuation networks.

In summary, different ecosystems based on nanotechnology, biotechnology, and molecular mechanisms might be used to organize infrastructure for future generations of CIoT. In each ecosystem, many problems should be solved to support main functionalities of cognitive systems. Therefore, more much efforts should be done to organize CIoT based on the mentioned ecosystems.

4 Conclusions

In this chapter, challenges in designing CIoT have been summarized. The main contribution of this chapter was to study the challenges from three perspectives: AI, IoT, and cognitive systems. It seems that many of the recently reported algorithms that only use AI to solve problems of CIoT will be evolved into cognitive processes. Therefore, we may accept them as the first steps in organizing CIoT. Since the progress in this field is still ongoing, there are no fully featured and unified solutions for CIoT. The proposed study opens a new horizon to deploy the concepts of cognitive systems in CIoT.