In this part, we review a set of recent approaches on distributed intelligence. These approaches are summarized and compared using the challenges presented in “Distributed Intelligence in the IoT”.
Overview of DI Approaches
As aforementioned, we have identifies five categories of distributed intelligence approaches.
Cloud Computing DI
In cloud computing approaches to DI, generally two layers are considered: the cloud and the end devices. Data is processed in the cloud (high-level intelligence) and devices equipped with sensors, are responsible for sensing the environment (low-level intelligence). In the simplest form, data is stored, processed, and transferred to the cloud for further processing rather than connected devices [42]. The cloud is driven by a centralised design architecture and the functionality is managed in the cloud.
This is inefficient for application that requires real time-decisions. For example, for autonomous vehicles, real-time decisions are critical. To overcome some of the inherent problems, [43] have adopted AWS and introduced a framework for smart traffic control. The framework is based on a public cloud AWS IoT. The components of the system include: AWS IoT, Lambda, DynamoDB, Kinesis, and cloud watch. To be specific, AWS IoT is responsible for collecting data from the environment. DynamoDB is responsible for collecting, and storing data. This ensures what is beyond the endpoints is updated in a timely manner. Cloud watch is a platform for monitoring AWS services and responsible for debugging AWS services in run-time. The proposed framework is energy-efficient with the use of MQTT protocol, scalable and secure. However, privacy and offline capability are not supported. It also lack supporting interoperability. Similarly, a distributed intelligence approach that leverages the AWS IoT platform is proposed in [44] for connected vehicles. The approach authenticates data according to five business rules. It deploys six unique amazon services that store various details about cars health, trip, and owners. The approach is energy efficient and achieves privacy. However, it lacks support for offline capability and interoperablity.
A distributed intelligence architecture, that consists of three components has been proposed by the CARMA project [45]. Each components of the architecture is responsible for a specific task. In Carma Vehicle, various sensors are connected together that collects data. Carma edge, is responsible for processing of data via one or two machines. Finally, the CARMA Core is a cloud-based backend system that is based on public cloud resources and it supports services and information storage. The proposed framework is not suited for time-critical applications, and lacks scalability.
In [46], the author proposes a cloud-based solution, with the benefits of fog computing. The key concept is to introduce two more security features on fog gateway devices, such as Decoys and user behavior Profiling. The Decoys features involve putting the legitimate user in highly prominent locations, to identify the dubious entry. Therefore, two of the new features being added on top of the existing features of cloud security. The proposed approach achieves better security. However, other IoT related challenges such as energy-consumption, offline-capability, interoperability are not well supported.
A distributed intelligence solution, called PROTeCt-privacy architecture for IoT and CC integration, has recently been proposed in [47]. The security of the data on those IoT devices is the responsibility to detect and enforce a cryptographic method, for example, an asymmetric algorithm, to maintain the privacy prior data is exchanged to the cloud. Privacy is accomplished by the proposed technique, which is energy efficient. The technique, however, lacks scalability, and offline-capability, which is not practical for time-critical applications. Also, it does not provide any mechanism to deal with interoperability.
Similarly, the authors of [48] proposed Cloud-IoT distributed intelligence architecture, using an efficiency and security data acquisition scheme. The data collected through the terminals are divided into blocks, sequentially encrypted and processed with the corresponding access subtree until it is forwarded to the cloud in parallel. The proposed approach reduces the time, cost, and secure. It also supports interoperability. However, the approach does not take into consideration power usage of IoT devices, lacks offline-capability, and horizontal scaling.
Mist Computing DI
In mist computing approaches to DI, part of DI functionality and data is processed at the extreme edge of a network that consists of sensors and micro-controllers. By working at the extreme edge, mist computing can harvest resources with the help of computation and communication capabilities available on the sensors [49]. In the simplest form, the gateway applies functionalities and rules for monitoring the health of local nodes, execution of computationally extensive tasks, and filtering application parameters
The authors in [50] recently proposed a heterogeneous five-layer mist, fog, and cloud-based architecture (IoHT) that is responsible for managing and routing (near-real-time) effectively. Data processing from offline/batch mode is also supported. In this framework, mist computing is responsible for checking if the data needs to be processed or not by applying certain-basic rules and the offloading mechanisms when needed. Software-defined networking (SDN) and link adaption-based load balancing are used in the heterogeneous IoHT framework. The framework ensures efficient resource utilisation while achieving optimal resource allocations.
The heterogeneous IoHT framework employs software-defined networking and link adaption-based load balancing. It ensures optimal resource allocations and efficient resource utilization. The proposed framework is energy-efficient, can eliminate redundant data, and provides fast-response to certain events. However, interoperability, and offline capability mechanisms are not well supported. Furthermore, the framework does not include how scalability is achieved in the perception layer.
A framework based on mist computing was proposed by the authors of [51]. The framework consists of four layers: the layer of data abstraction, the layer of data extraction, the transmission layer, and the layer of aggregation/integration. Where each layer is dedicated to perform a specific task. The data extraction layer is responsible for extracting data from IoT devices.
In the data abstraction, layer data is encapsulated into a JSON format rather than transmitting raw data via it. The data transmission layer is responsible for transmitting and receiving information through any radio and has a Mist Nodes where the abstracted payload of JSON-SenML Is transmitted to the microcontroller via the radio attached. The proposed framework achieves interoperability in an efficient way, and is energy efficient. However, it lacks scalability and offline capability. Furthermore, privacy and security are not supported in their design.
Another work is proposed by the authors in [52], a framework that consists of four layers, including: IoT physical devices layer, mist nodes layer, fog nodes layer, and cloud nodes layer. IoT layer sends data to the mist nodes, which are responsible for processing the data. Cloud nodes layer is responsible for heavy computation tasks. The proposed framework is energy efficient since it uses mist nodes, and has less latency. However, it lacks scalability at the physical layer, and does not support security, privacy, and offline capability.
The authors [53] have taken that work a step further by introducing an offloading computation mechanism among mist nodes using the MQTT protocol that does not require service orchestration. The authors plan as future work to investigate the performances and the partially meshed network as well as supporting interoperability as part of the system.
Similar to the above work, a generic framework based on mist computing is proposed in [54]. The framework consists of mist nodes that process data at the extreme-edge and provides mobile devices to share the networking and computational mechanisms as services in a versatile manner. The framework is called a mobile embedded platform (mePaaS) and the essence of it lies in the architecture of Enterprise Service Bus (ESB). mePaaS nodes lend their hardware resources on the basis of a service level agreement (SLA) to others. Also, it utilizes a plugin module-based method to enable nodes to perform computational processes specified through their requesters.
mePaaS is capable of implementing a workflow that makes the service modules available to complete the requesting tasks. mePaaS requests may submit a request package consisting of the process flow specified in the standard workflow model (e.g. BPMN) and input parameters with custom algorithms.
The proposed framework is energy-efficient because of the use of mist nodes that process data at the extreme edge. However, other related IoT challenges, such as offline capability, privacy, security and scalability, are not well considered in their design. It also lacks supporting interoperability
In [23], the authors described fog computing architecture in support of distributed intelligence in IoT. Fog nodes are considered as hardware and software architecture. In hardware, fog nodes are mainly installed on gateways, and appliances. In software, fog nodes are described as a virtual machines. Reliability, bandwidth and security are enhanced. However, it has been identified that security and privacy in fog computing remains as an issue [55,56,57]. In addition, how the approach is implemented and evaluated is not described. Also, it lacks a mechanism that deals with interoperability.
The work in [58] uses device-driven and human driven, to decrease energy usage and latency. Machine learning is adopted to identify user behaviors and data gathering from sensors are adjusted to decrease data transmission. Furthermore, some of the local tasks are offloaded between fog nodes in need to decrease energy usage. The proposed approach is considered to be energy-efficient and supports less latency. However, it does not support scalability, and interoperability. Furthermore, a way of exchanging information between sensor nodes is not supported.
Distributed Ledger Technology DI
In distributed ledger technology (DLT) approaches to DI, the functionality and data is distributed among all participant nodes. DLT serves as a shared, digital infrastructure for applications beyond the financial transactions. DLT enables the operation of highly, scalable, available, and append-only distributed database (known as distributed ledger) in an untrustworthy environment [59].
Recently, the authors in [60,61,62], have proposed an approach in support distributed intelligence. In [60], the system focuses on privacy and security. The privacy leakage is avoided due to the fact that gateway requires the user to add consent before anyone gets access to the data. Authentication and securely managing of privacy are ensured through the developed digital signature technique. The proposed approach achieves security and privacy. However, offline-capability is not well supported in their approach, and IoT resource constraints i.e., power consummation are not taken into consideration. The approach also lacks scalability and interoperability.
Similarly, a distributed intelligence approach is proposed in [61], the architecture consists of six main components. The proposed approach is scalable, secure, energy-efficient, lightweight and supports transparency, where low-level details are hidden. However, offline-capability is not considered, and elimination of redundant data coming from WSNs still remains unsolved. It also lacks a mechanism to deal with interoperability.
IOTA tangle architecture is an evolving DLT platform aimed at addressing transaction costs, mining and scalability issues (in the context of blockchain technology) [59], that are related to IoT. The architecture of a Tangle, which is central to IOTA. Tangle has been used to achieve DI.
For example, in [63] a distributed intelligence approach that adopts the IOTA protocol is proposed. It establishes an infrastructure network for smart home paying a particular attention to ensure scalability. All of the home IoT nodes in the system are linked with neighbouring nodes to exchange information and ensure synchronization with the ledger. The approach is only suitable for small scale applications, and would lead to higher energy to be consumed in all nodes since PoW computation is performed on local IoT nodes. Offline capability is not supported and is not decentralized because it’s fully based on a coordinator. The approach also does not support interoperability in the design of their architecture.
Most recently, an approach to distributed intelligence is introduced in [16]. The approach is called a Scalable Distributed Intelligence Tangle-based approach (SDIT). The approach is concerned with solving some of the IoT issues such as scalability, energy usage, and decentralization by adopting the IOTA protocol. A computation offloading mechanism has been developed to ensure that constrained IoT devices do not engage in performing heavy computation tasks. The proposed approach is scalable, energy-efficient, and decentralized. However, security and elimination of redundant data are not considered. Also, they outline to develop a mechanism to deal with interoperability, and offline capability as part of their future work.
Similar to [16, 63], the work presented in [64] in which a distributed intelligence architecture is introduced. The architecture consists of three main components, including IoT nodes, Super-node, and Masked Authenticated Messages (MAM). IoT nodes are responsible for sensing the environment. The super-nodes are mainly concerned with aggregating data and packaging them into a transaction, which then are sent to the IOTA network. Masked Authenticated Messages are mainly responsible for managing access control over the data stored in the tangle. The approach achieves privacy with the use of MAM. However, the approach lacks an offline-capability, and interoperability mechanisms that are critical to IoT applications, and is neither energy-efficient nor scalable due to the lack of an efficient clustering mechanism.
Service Oriented Computing DI
In service oriented computing approaches to DI, the functionality is supported as services that are distributed in all levels of the system. In addition, it ensures that software components are re-usable and interoperable through service interfaces.
Recent work is introduced in [65]. The LEONORE system to support distributed intelligence. LEONORE is built up using a service-oriented architecture and supports several application components in large-scale IoT deployments. The LEONORE framework works according to two phases push-based and pull-based. the Pull-based is responsible to independently propose a run time method, while provisioning of push-based, responsible for providing control for the application by providing software updates and maintains security. The proposed framework is energy-efficient, and scalable. However, offline-capability, security, and privacy are not well supported.
A service oriented computing is developed for the agriculture application in [66]. The architecture contains components that are related to farming and farmers such as monitoring of the farm and it describes how farming should utilize such components. In this way, it is likely to reduce the expenditure for farming, minimize the labor, improve the crop yielding, and suitability of crop for a particular soil. However, the proposed approach lacks scalability, offline capability, and privacy, which are fundamental requirements for IoT.
Similar to the above work, but differs by adopting micro-service is the approach proposed in [67]. The architectural style contains various patterns, including Client-server, Peer-to-Peer, and cloud computing pattern, etc, the framework proposes the adoption of micro-service. Micro-services adopts a simple APIs which are thin layered (light weighted compared to SOA). Some might argue that micro-services are similar to SOA. However, both applies service-based architecture that enables service use and reuse. The differentiation is in the way where processing functionalities are triggered, where data is processed, architectural style, architectural characteristics, service characteristics and capabilities. The proposed approach is energy-efficient, and interoperable. However, scalability that will accommodate the growth of IoT devices is not well supported. Furthermore, other challenges such as privacy, offline capability, security are not considered.
Hybrid DI
A hybrid approach is an approach that combines two or more algorithms from different DI categories. Hybrid approaches aim to overcome some of the disadvantages of individual DI categories described above.
Most of the introduced hybrid approaches are mainly concerned with issues related to management of data, processing of data in a timely manner and privacy, by mixing different algorithms from various technologies to achieve the required goal. In early studies, distributed intelligence was achieved by integrating the architecture of WSNs at the various level of IoT in support of distributed intelligence [15]. In such approach, the aim is that wireless sensor network architecture is to be connected to the internet, and the intelligence should be distributed at several layers. These approaches are considered efficient in regards to energy usage. This is because data processing is distributed among all layers; they provide flexibility and application specific. However, they lack scalability, privacy, and offline capability, which are considered critical challenges of the IoT domain. they also lack supporting interoperability.
In [68], the authors applied fog computing as a means to support distributed intelligence by setting up an architecture that is made up of three layers. The sensing layer is concerned with transmission of data to the upper layer. A fog layer plays the role of data processing transferred from the sensor nodes. The cloud computing layer is used for heavy processing of data. The system is suitable for timely response applications and is energy efficient since processing is performed near the data source. It also provides support for interoperability. However, the approach lacks support for other IoT technical challenges such as scalability, offline capability, and privacy.
Recently, a computing paradigm called Edge Mesh is being suggested in [69] to allow distributed intelligence in IoT. Decision-making task is distributed through the network among devices, instead of data being transmitted directly to a central location for processing. Combining the use of both computation and data, tasks are exchanged with Edge Mesh through a network of routers and edge devices. The architecture of Edge Mesh comprises of several devices. First of all, the end devices are concerned with actuation and sensing purposes. Second, edge devices can be used to process and connect end devices. Third, routers are being utilized to transmit data. Finally, the cloud is increasingly being used to perform advanced analysis of data.
The incorporation of Edge Mesh could bring various benefits such as increased scalability, improved security, and privacy. Nevertheless, some will have a concern over privacy and security, but how privacy can be accomplished is not taken into account. Also, the architecture lacks support for interoperability
In comparison to the above, the research in [70] suggested an AI-based distributed intelligence solution. The solution incorporates the use of both cloud based and edge controller to enable distribute intelligence. To be specific, it has been shown that the cloud-based controller is capable of providing intelligence at a high level. The edge controller is designed to support intelligence at a low level. The advantages of their research are reducing response time and loosening rules requirements. However, the approach lacks a mechanism which allows offline capability and privacy preserving.
A hybrid distributed intelligence approach is proposed in [71]. The approach comprises of several layers, including IoT layer, fog layer, and cloud layer. The IoT layer contains WSNs that are mainly concerned with data collection from the environment, then data is transmitted to the fog layer, which is responsible for processing. The cloud layer is responsible for heavy computation. The architecture is energy-efficient, interoperable and scalable. However, it lacks an offline-capability mechanism, and does not deal with privacy.
A hybrid distributed data flow is introduced in [72, 73]. All levels of the architecture comprises of fog nodes and these fog nodes works based on their computing resources. It has Edge input/output and nodes for computing data. The input nodes are used to communicate and transmit data to the compute nodes. Computing nodes are mainly concerned with the data processing. The proposed system takes into account the scalability and energy-efficent. However, offline-capability, and privacy remains unsolved. The approach also does not support interoperability.
A novel tiered architecture to allow distributed intelligence is presented in [74]. The three-tier architecture manages gathered data from sensors. The regional Tier contains fog nodes that are mainly concerned with data combination and pre-processing. The cloud data center is hosted to deal with heavily computations of data. The proposed system reduces energy usage by utilizing fog nodes to process data. However, scalability is not well maintained within the system and privacy is not considered. Furthermore, it applies static orchestration, leading to system failure.
Most recently, the authors in [5] propose a novel approach in support of distributed intelligence. The approach consists of (1) IoT nodes; Tangle to manage transactions; (3) PoW Server, and mobile agents to gather transactions data. All of the IoT nodes in the system are linked with neighbouring nodes to exchange information. IoT devices deployed to sense data. A PoW server contains high power resources, and deals with heavy computations. Mobile Agents are triggered to gather transactions data along their identified routes. MADIT is scalable and shares information between sensor nodes. Furthermore, the system is energy-efficient and decrease the data that needs to be collected. However, offline-capability and interoperability are not considered, but outlined as future work.
In [75], a distributed Internet Like architecture (DIAT) is introduced. The system has three main layers. The first layer mainly concerned with real-world objects such as sensor devices. Second layer, communicates and coordinates the tasks coming from the first layer. The final layer is mainly concerned with user requests and services. The system is scalable and enables interoperability. However, dealing with other challenges such as offline capability is not introduced and does not consider resource constraints posed by IoT devices.
The authors in [76] proposed an approach that relies on Mobile Cloud Computing. It was described that sensing and processing to be merged in the architecture of the network and it requires that the application workload to be shared among server side and nodes. The proposed approach allows the data to be analyzed and monitored in real time. However, these approaches do not consider the scalability of the system and they are not designed to cope with time-critical applications. Furthermore, offline capability, is not considered but outlined as future work.
Another work is introduced in [77]. The work describes system architecture that consists of data collection, self-organization, and reasoner. The data collection is to be used for gathering and communicating data to a gateway for further processing, while, self-organization is responsible for proper management such as configuration, discovery, and duplicated identification check. The publish-subscribe is responsible for disseminating/acquiring data, which can be handled by the MQTT protocol. Finally, the reasoner plays the role of extracting knowledge based on context using a naïve Bayes method. Scalablity is ensured and delay is avoided due to the use of Bayesian reasoning. However, the ability to work in critical cases is not supported.
In [78], the authors presents a hierarchical distributed computing architecture. layer one is largely used for computations. It is designed to provide centralised control purposes and wide city monitoring. The second layer consists of the intermediate computing nodes that recognise and respond to potentially dangerous activities and to act upon risks it identifies. The third layer consists of high-performance edge devices and low-powered linked to a group of sensors which manage raw data from sensors and analyses data promptly. The fourth layer is containing sensor nodes to track environmental changes. The benefits include low latency, efficient responses in real-time, and energy-efficient. Nonetheless, issues related to IoT, such as security and scalability, are not taken into account in the proposed approach.
Table 1 Evaluation of distributed intelligence approaches Intelligence Levels
Intelligence-levels in DI approaches aims to provide where raw data processing occurs and where processing functionalities are triggered. In each distributed intelligence approach, the level of supported intelligence can be either low-level, high-level or both levels supported. For example, the works reported in [43,44,45,46,47,48] focuses on high-level intelligence by enabling data processing and processing functionality to occur in the cloud. Other research efforts that primarily supports high-level intelligence are proposed in [16, 60, 63, 64] in which a nodes with advanced computational resources i.e., energy and processing power are responsible for managing and handling data.
Low-level intelligence are mainly concerned with enabling data processing to occur at the edge of the network. For example, the DI approaches described in [23, 50,51,52, 54] in which the main idea is to provide low-level intelligence to the data at the edge. In addition, cooperation among physical IoT devices by means of data sharing. Such research efforts would lead to a significant decrease in energy-consumption since data computation is performed near the IoT devices and faster response time is obtained.
Both of the high-level and low-level intelligence are supported in all levels of the IoT system to ensure minimum resource usage. For example, the DI approaches proposed in [5, 15, 65, 69, 70, 74] focuses on enabling high-level and low-level intelligence. In these approaches, low-level intelligence is supported by enabling data to be shared among various IoT devices and perform computation to provide usefulness insight out of the data. On the other hand, high-level intelligence is supported by making use of the cloud to perform big data analytics [70].
Evaluation of Distributed Intelligence Approaches
The evaluation of distributed intelligence approaches covers 30 representative approaches. As described in Table 1, the evaluation aims to assess existing research using the categorization presented in “State-of-the-Art Distributed Intelligence in IoT” and the identified challenges in “Distributed Intelligence in the IoT”.
According to Table 1, the least implemented challenges of distributed intelligence are offline capability, security, and privacy. Many research efforts support only two or three of the IoT DI challenges, which are potentially critical for many IoT applications. In terms of offline capability, It has not been implemented in most of the research efforts according to Table 1.
Among these research efforts, the work proposed in [23], provides an interesting case study on applying distributed intelligence in smart factory applications. When applying the Fog computing technology, Fog nodes are described by the hardware and software architecture. Therefore, real time analysis are supported and low-latency is minimized. It has been indicated that fog computing approach is able to reduce bandwidth because processing is occurring within the network. The work proposed by the authors in [46] relates to the security issue in which a cloud-based approach is used to mitigate attack (e.g, data theft) where two additional security features are added. Consequently, better security can be achieved through the proposed built-in features in addition to existing cloud security features. In regards to the offline capability issue, the authors in [15] introduced offline-capability in their architectural design, but without giving details about the implementation and evaluation.
A Summary of Shortcomings of Existing Distributed Intelligence Approaches
From the above discussion, it can be seen that most of the current approaches to enabling distributed intelligence in IoT are subject to all the problems inherent in distributed systems. Firstly, the approaches suggested usually depend on centralised architecture for processing data [57] that offers high cost and unacceptable delays for many distributed applications. These include health monitoring, autonomous driving, emergency response etc. Furthermore, transferring data to a central location requires high network bandwidth [8, 79].
Bottlenecks and delays are expected from the communications among the devices and the centralized system [76]. Tracing data stored in the cloud is very difficult and lacks accountability. IoT that is based on central infrastructure requires trusting third party for dealing with data, and the storage of data in the cloud has the possibility of that data to be deleted or tampered with [80]. Besides, solutions that fully relies on fog computing is considered to have problem with security and privacy [25, 55]. They also lack interoperability and interaction models [25].
Previous research recommends that IoT needs to shift away from centralization point of control [81]. Approaches based on Blockchain introduce overhead and performance issues [82, 83]. Therefore, developing a standardised approach is required to define IoT data. For example, the one provided in the IOTA Identification of Items (IDoT) [84] that aims to protect the network, too. Also, Blockchain requires transferring a big portion of data, which is the header block, leading to a wastage of resources [85].