Table of Contents Hide
What Is Internet of Things
Internet of Things (IoT) refers to the intelligent networking of people, applications, and devices through the use of embedded sensors and data collection devices. IoT enables physical devices to communicate with the digital world, extracting actionable insights and creating advanced applications from high volumes of data streams. A synergistic combination of sensors, devices, networks, and software opens up a whole new world of opportunities for revenue generation, cost reductions and process optimization in consumer, business and industrial applications. From smart cities, smart homes, smart wearables, smart lighting, smart agriculture, intelligent transportation and smart factories to connected healthcare and autonomous driving, IoT is permeating almost every aspect of our lives and generating value across all industries.IoT Architecture
IoT systems have a layered architecture which is made up of, for example, the perception, network, transport, middleware, application, and business layers. Whatever the IoT model, the layered network implementation is basically comprised of five functional blocks: Hardware (devices), Communication, Software backend, Applications, and Security. IoT devices are Internet-connected physical nodes equipped with embedded sensors, actuators, processors, and transceivers to convert a physical parameter into an electrical signal and transmit the bit stream through the network at the electrical, optical, or radio level. The Communication block ensures IoT devices are connected to the network, via layer-specific communication protocols such as CoAP and MQTT for the application layer, TCP and UDP for the transport layer, 6LoWPAN for the Internet layer, NB-IoT, LTE-M, LoRa, SigfoxSigfox, Ingenu, ZigBee, Z-Wave, Thread, Bluetooth, Wi-Fi, Li-Fi and RFID for the network layer. The software backend supports a variety of programming approaches and enables the integration of services. The applications block interacts with software applications run on smartphones, tablets, and PCs to realize various practical IoT applications. The security block seamless integrates with each of the four blocks to provide complete end-to-end security.What Is an IoT Platform
An IoT platform is a suite of cloud-based and/or on-premise software components that orchestrate the movement of data between IoT devices and IoT applications, and also provide application level capabilities for humans to interact with the IoT system. IoT platforms are sometimes referred to as middleware which functions as a software bridge between the hardware and application layers. However, IoT platforms do not reside in the middle of an IoT architecture. They integrate with all other IoT layers to streamline infrastructure management and support security at multiple points across the IoT stack. IoT platforms offer connectivity, integrality, interoperability, and dynamic composability to facilitate communication, data flow, device management, system customization and service personalization. Essentially, a platform provides user-controlled software tools developed with the purpose of unlocking the full potential of an IoT infrastructure.What Does an IoT Platform Do
The main purpose of IoT platforms is to reduce the complexities in deployment and implementation of IoT systems, and also to deliver actionable intelligence for IoT developers, service providers, and implementers through dashboards, application software, APIs, data engines, and algorithms. As IoT networks become ever more mission-critical, IoT platforms are facing challenges created by the increasingly complex smart environments. Challenges vary depending on the IoT application and generally fall within these aspects: multiprotocol connectivity, interoperability and programming abstractions, device discovery and management, adaptation and personalization, scalability, data management, security and privacy, cloud services, and context detection. To summarize, an IoT platform abstracts the hardware while simplifying deployment, improving resiliency, maximizing scalability, increasing reliability, reducing cost, and minimizing latency.IoT Platform Building Blocks
The root of the IoT is connectivity, hence an IoT platform can be as simple as a software infrastructure that enables connectivity between physical objects. With an explosive increase in the number of connected endpoints and smart devices which are designed to perform complex tasks and provide sophisticated IoT service, the IoT market places a high demand on platforms that provide real-time intelligence, machine-to-machine interaction, cross-industry applications, multi-vendor interoperability and end-to-end security. In a more advanced form, the platform may be equipped with capabilities such as artificial intelligence (AI), machine learning and augmented reality. Such an end-to-end IoT platform typically consists of these essential buildig blocks:Connectivity
Secure, pervasive connectivity to and from IoT devices and platforms is a foundational component of an IoT architecture. Every IoT platform has a connectivity layer that provides a conduit for data acquisition, remote access and control. Reliable, secure and trustworthy connectivity management allows IoT devices to be connected and interoperate almost anywhere, via a field gateway or a cloud gateway. In today's current massively-fragmented IoT connectivity environment, the ability to efficiently manage multi-protocol, multi-layer and multi-network connection is critical to achieving security, productivity and flexibility.Device management
The device management module of an IoT platform handles provisioning tasks, device registry, device identification, device modeling, remote administration, software updating, authentication of cloud/backends, centralized log collection and management, fault tolerance, troubleshooting, diagnostics and remote reboot. IoT device management provides an efficient way to streamline the process of managing devices securely and reliably from the cloud platform. It also has the abilities to use cloud-side rules to initiate actions, create customized command sets, and control volume, frequency, and destination (e.g., cloud entity) of device data.Application enablement
This platform component is designed to provide application logic to coordinate the handling of IoT device data, create chains of conditional statements, and enables the execution of "smart" actions using sequence matching algorithms. Application enablement essentially provides action management to define rules and triggers for automating tasks and services. This component allows IoT solution developers to prototype, build, integrate, manage, and customize applications that are unique to the market.Data management
Data management refers to the development, execution and supervision of architectures, software, and disciplines that control, protect, deliver and enhance the value of data and information assets. IoT data management expands the concept of data management from traditional relational-based data logging, offline storage, query processing, and transaction management operations into heterogeneous, streaming and geographically-dispersed real-time data processing, analysis, visualization, and storage.Cloud backend
The ability to handle vast amounts of data as well as cost savings in comparison to on-premise infrastructures deems cloud computing an indispensable part of commercial IoT deployments. Cloud computing services are available in three models: Infrastructure as a Service (IaaS), Software as a Service (SaaS) and Platform as a Service (PaaS). IoT applications are typically found in IaaS business scenarios and thus calls for a cloud backend to streamline data ingestion, data storage, data processing, data analysis, service orchestration, and security management.Security
Security functional block in IoT architectures provides security, trust, privacy and identity management across endpoint devices, the network, and the cloud. Creating and maintaining a holistic security model able to provide end-to-end protection and cope with the dynamic changes of IoT systems is becoming increasingly challenging. An IoT platform must secure data integrity and confidentiality through various network privacy and security features like authentication, identification, and encryption at different levels (device, network, and application).Data Management
Data is the lifeblood of an IoT system. It includes a spectrum of varieties: temperature, vibration, force, pressure, weight, sound, flow, speed, duration, acceleration, tilt, angle, optical, ambient light, electric, magnetic, position, proximity, motion, occupancy, velocity, humidity, moisture, movement, emotion, and presence. Data management focuses on managing the flows of data throughout the building blocks of IoT system: Hardware, Communication, Software backend, and Applications. The hardware block is where data is produced. The communication block is where data gets transported. The software backend is where data is managed. The applications block is where data is turned into value. The data management system of an IoT platform consists of five components: data ingestion, data processing, data storage, data analytics, and data visualization.Data ingestion refers to the process of collecting and integrating data from smart devices into an IoT system. The most common task for data ingestion is to use a compatible protocol to capture and organize the message stream from all devices in the IoT system. The platform must be tailored for the communication protocol of the IoT devices and provides scalability and elasticity to cope with varying data volume, velocity, and variety.
Data processing in IoT applications refers to the process of applying logic to incoming device data and invoke the corresponding action. The volume and variety of data collected on the devices require a powerful software that processes messages simultaneously and in any order, placing no restrictions on timing, volume, or velocity of data in queue to ensure real-time and batch data processing. An IoT platform really starts to generate value when it includes services to handle both increasingly complex and dynamic data streams. A combination of device, edge and plat processing capabilities allows short reaction times. Machine learning enables advanced data processing to support contextualized information models. Cloud computing provides virtually unlimited data processing capabilities. Edge processing allows data processing to be performed at the edge of the network rather than on the cloud, thus reducing the volumes of data to be transferred to the platform for minimized latency.
The data storage component that manages the storage and archival of data streams must be elastic and scalable to store massive amounts of both structured (SQL) and unstructured data (NoSQL). NoSQL databases which have horizontal scaling capability are an obvious IoT data storage solution for storing high volumes of data without having a fixed schema. As with data processing, most storage resources are cloud based. The storage of data can also be done on the edge of the network. Multi-tier data storage helps optimize performance and storage constraints by separating storage tiers by their functionality and purpose.
Data analytics facilitate discovery and communication of subtle or hidden patterns, correlations, and other insights in IoT data. IoT analytics create a consolidated view of information and provide graphical representations of data for efficient analysis of data that grows at an unprecedented scale and depth. The analytics engine runs complex queries and dynamic calculations of sensor data to predict, prescribe, and discover useful information from massive datasets of interconnected physical devices. Big data analytics give IoT platforms the ability to crunch the massive amounts of data for intelligence at an unprecedented scale and depth.
Data visualization aggregates and renders datasets to the end user in an intuitive way so that decision makers at all levels can easily explore data and extract the best possible knowledge. The visualization dashboard reveals patterns, relationships and trends through interactive charting, correlation graphics and well-organized user interface. Commercial visualization tools can be embedded into an IoT application to provide more flexible visualization capabilities.