====== IoT System Architectures ====== ===== IoT v.s. Wireless sensor networks (WSNs) ===== People often think of IoT systems as WSN systems (figure {{ref>Typical_WSN_architecture}}), which is usually a close but inaccurate concept. There are several distinctive features of WSNs among other systems: - **Wireless:** Item Sensors that observe (sense) their surroundings and transmit data to the data concentration hub are sensor devices, sometimes called Nodes or Motes. - **Self-configuration Typically:** WSNs can self-configure due to their open architecture, hoping communication is based on Node-to-Node communication with dynamic pathfinding. So, they are capable of infrastructure-less deployment. - **Limited resources:** Power consumption and size limit computing power and memory available. Therefore, typically, WSNs provide values through a synergy of multiple simple measurements instead of a single and more complex one like a hyperspectral camera or MIMO radar.
{{ :en:iot-reloaded:iot_architecture_1.png?600 | Typical WSN Architecture}} Typical WSN Architecture
WSN systems, depending on their application and technical solutions, might be split into several groups: - **Terrestrial WSNs:** They enable using large numbers of nodes in unstructured or random deployments or structured (pre-planned) deployments. In both cases, solar energy might be used as an additional power source besides limited battery and energy-saving (low-duty cycle) use policies. - **Underground WSNs:** Usually structured deployment underground with limited communication distances. Expensive deployment and maintenance. Typical application – civil construction. - **Underwater WSNs:** Nodes are limited in communication distances and bandwidths. Data is collected by manned or unmanned surface water vehicles. Wave energy might be used to recharge batteries. - **Mobile WSNs:** In addition to the mentioned functions, Mobile WSNS are capable of self-propelling to relocate or interact with their environment. - **Multimedia WSNs:** Low-cost sensors for noise, sound, image, etc., sense and pre-processing. They require higher bandwidth communications and higher battery capacities. ===== Typical topologies of WSNs ===== Depending on the application and particular functionality, WSN systems employ one of the following typical topologies: **Star network (single point to multi-point, figure {{ref>Star_network}}):** * The central node manages the network. * Since the central node has only the right to send messages (usually), it can control the power consumption. * Easy to manage and power-efficient * The central node has to be within the transmission range
{{ :en:iot-reloaded:iot_architecture_4.png?400 | Star Network}} Star Network
**Mesh network (figure {{ref>Mesh_network}}):** * Allows messages from Node to Node within the range * Multi-hop communications are allowed * Enables high redundancy and ad-hoc solutions * Requires higher power consumption of the Nodes
{{ :en:iot-reloaded:iot_architecture_2.png?400 | Mesh Network}} Mesh Network
**Hybrid Star (figure {{ref>Hybrid_Star}}):** * Enables all the benefits of high redundancy and multi-hop while maintaining power consumption to minimum levels; * Usually applies restrictions on Nodes, which are and are not allowed to forward messages. * Multi-hop Nodes usually are plugged in.
{{ :en:iot-reloaded:iot_architecture_3.png?400 | Hybrid Star}} Hybrid Star
===== Difference between WSN and IoT systems ===== Due to developments in infrastructure and communications technologies, IoT has grown far beyond simple interconnected devices as it is with WSN. While the IoT system might include WSN as its part, the IoT system functionality and application goal shift more towards decision-making and deeper data analysis. Because of its growing processing power, the availability of global wireless infrastructure, and synergies, IoT can solve complex tasks and support complex decisions. **WSN v.s. IoT challenges:** Since the beginning, WSNs have been challenged by the availability of reliable data transport and power consumption. IoT has different challenges: * Hybrid computation capabilities – HPC, CPU, GPU, GRID, Mobile devices, Different multi-core architectures for AI; * Data security and management – Who is responsible for what in a global system? * Data source trust and reliability – bitwise security and traceability of sources; * Mobile AI capacities for complex decisions in real-time * Interaction with smart environments – smart appliances, smart cities, smart vehicles. What are the measures of connectivity, availability, trustworthiness, etc.…. ===== IoT system architectures ===== IoT is a network of physical things or devices that might include sensors or simple data processing units, complex actuators, and significant hybrid computing power. Today, IoT systems have transitioned from being perceived as sensor networks to smart-networked systems capable of solving complex tasks in mass production, public safety, logistics, medicine and other domains, requiring a broader understanding and acceptance of current technological advancements, including advanced AI data processing. Since the very beginning of sensor networks, one of the main challenges has been data transport and data processing, where significant efforts have been put by the ICT community towards service-based system architectures. However, the current trend already provides considerable computing power, even for small mobile devices. Therefore, the concepts of future IoT already shifted towards more innovative and more accessible IoT devices, and data processing has become possible closer to the Fog and Edge. === Cloud Computing === Cloud-based computing (figure {{ref>cloud}}) is a relatively well-known and adequately employed paradigm where IoT devices can interact with remotely shared resources such as data storage, processing, and mining. Other services are unavailable to them locally because of the constrained hardware resources (CPU, ROM, RAM) or energy consumption limits. Although the cloud computing paradigm can handle vast amounts of data from IoT clusters, the transfer of extensive data to and from cloud computers presents a challenge due to limited bandwidth((Arslan Munir, IFCIoT: Integrated Fog Cloud IoT Architectural Paradigm for the Future Internet of Things, IEEE Consumer Electronics Magazine, Vol. 6, Issue 3, July 2017 )). Consequently, there is a need to process data near data sources, employing the increasing number of smart devices with enormous processing power and a rising number of service providers available for IoT systems.
{{ :en:iot-open:introduction:Cloud.png?500 | Cloud IoT System' Architecture}} Cloud IoT System' Architecture
=== Fog Computing === Fog computing (figure {{ref>fog}})addressed the bottlenecks of cloud computing regarding data transport while providing the needed services to IoT systems. Fog computing is a trend that aims to process data near the source. It pushes applications, services, data, computing power, and decision-making away from the centralised nodes to the logical extremes of a network. Fog computing significantly decreases the data volume that must be moved between end devices and the cloud. Fog computing enables data analytics and knowledge generation closer to the data source. Furthermore, the dense geographic distribution of fog helps to attain a better-localised accuracy for many applications than the cloud processing of the data ((Arslan Munir, IFCIoT: Integrated Fog Cloud IoT Architectural Paradigm for the Future Internet of Things, IEEE Consumer Electronics Magazine, Vol. 6, Issue 3, July 2017 )).\\ The recent development of energy-efficient hardware with AI acceleration enters the fog class of the devices, putting fog computing in the middle of the interest of IoT application development and extending new horizons to them. Fog computing is more energy efficient than raw data transfer to the cloud and back, and in the current scale of the IoT devices, the application is meant for the future of the planet Earth. Fog computing usually also has a positive impact on IoT security, e.g., sending pre-processed and depersonalised data to the cloud and providing distributed computing capabilities that are more attack-resistant.
{{ :en:iot-open:introduction:Fog.png?500 | Fog IoT system' architecture}} Fog IoT system' architecture
=== Edge Computing === Recent developments in hardware, power efficiency, and a better understanding of IoT data nature, including privacy and security, led to solutions where data is processed and pre-processed right to their source in the Edge class devices. Edge data processing on end-node IoT devices is crucial in systems where privacy is essential and sensitive data is not to be sent over the network (e.g. biometric data in a raw form). Moreover, distributed data processing can be considered more energy efficient in some scenarios where, e.g. extensive, power-consuming processing can be performed during green energy availability (figure {{ref>edge}}).
{{ :en:iot-open:introduction:Edge.png?500 | Edge IoT system' architecture}} Edge IoT system' architecture
While Cloud, Fog, and Edge systems might seem the same to the end user from a functionality perspective, they are very different and provide different performance, scalability, and computing capabilities, which are emphasised in the following comparison, presented in figure {{ref>differences}}.
{{ :en:iot-open:introduction:differences.png?500 | Differences if Cloud and Edge IoT Systems}} Differences between Cloud and Edge IoT Systems
=== Cognitive IoT Systems === According to ((S.Matthews at http://www.ibmbigdatahub.com/blog/what-cognitive-iot, Cited: 11.06.2018.)), Cognitive IoT, besides a proper combination of hardware, sensors and data transport, comprises cognitive computing, which consists of the following main components: * **understanding** – in the case of IoT, it means systems' capability to process a significant amount of structured and unstructured data, extract the meaning of the data – produce a model that binds data to reality, * **reasoning** – involves decision-making according to the understood model and acquired data, * **learning** – creating new knowledge from the existing, sensed data and elaborated models. Usually, cognitive IoT systems or C-IoT are expected to add more resilience to the solution. Resilience is a complex term and is differently explained under different contexts; however, there are standard features for all resilient systems. As a part of their resilience, C-IoT should be capable of self-failure detection and self-healing that minimises or gradually degrades the system's overall performance. In this respect, the non-resilient system fails or degrades in a step-wise manner. In case of security issues, that system should be able to change its security keys and encryption algorithms and take other measures to cope with the detected threats. Self-optimisation abilities are often considered part of the C-IoT feature list to provide more robust solutions. Recent developments in the Fog and Edge class devices and the efficient software leverage cognitive IoT Systems to a new level. All three approaches, from cloud to cognitive systems, focus on adding value to IoT devices, system users and related systems on-demand. Since market and technology acceptance of mobile devices is still growing, and the amount of produced data from those devices is growing exponentially, mobility as a phenomenon is one of the main driving forces of the technological advancements of the near future.