What is an IoT platform
An IoT platform is a suite of intercommunicating software components that work together to facilitate integration and orchestrate interactions between the different layers of an IoT stack. The Internet of Things is about the convergence of information technology (IT) and operational technology (OT) over the Internet. It enables intelligent networking of digitally connected, software-driven physical objects (things) through the use of the infrastructure built on the Internet Protocol (IP) stack. The implementation of IoT technology creates a cyber-physical system (CPS) that is managed and controlled by computer-based algorithms, tightly integrated with the Internet, and vastly conducive to human interaction with the physical world. Building an IoT system is an exercise to fuse the physical word and the digital realm. This fusion is profoundly transforming the way people relate to their environment, and is poised to make an immense positive difference to every aspects of human life, social development, technological environment, and business operations.
Resource-constrained IoT devices generate massive amounts of data
The confluence of sensing technologies, ubiquitous connectivity, embedded intelligence, cloud computing, data science and software implementation made the concept of IoT. In its essence an IoT system is a network of physical things, often referred to as “IoT devices”, that can exchange data with other connected devices, centralized servers and/or cloud-based applications backends. IoT devices generate data in various forms through direct or indirect data acquisition (DAQ). They can be sensor nodes themselves, provide sensing functions via integrated sensors, or collect data from other IoT devices. The generated data is either processed locally or sent to a data processing engine which is typically cloud-hosted. Based on the sensed information or data-driven insights, an IoT device may take action independently or collaborate with other connected devices to accomplish a task.
While IoT devices perform a wide array of functions such as sensing, actuation, control and monitoring, they all consist of three functional blocks: hardware, network connectivity, and software. The hardware used in IoT devices may include embedded components such as sensors, actuators, microcontrollers, and transceivers, among others. Software in IoT devices provides embedded programmability to deliver a range of capabilities, from basic data clustering to complex analysis of collected data. IoT devices should support one or more interoperable communication protocols and thus communicate and interoperate with other devices and also exchange data with the infrastructure. As IoT devices are usually resource-constrained and do not constitute an efficient computation structure, most data are forwarded to the cloud server via a gateway device or IP-based communication, where they are stored and processed.
A comprehensive management framework of data
The vast variety of applications and implementations inside an IoT ecosystem calls for the use of a massive number of IoT devices and produces massively heterogeneous sets of data. The enormous scale of connected environments creates challenges in onboarding, provisioning, commissioning, monitoring, firmware updating, remote administration, and lifecycle management of different types of connected devices. Data from an ever-expanding IoT ecosystem must be efficiently and effectively collected, sorted, and harnessed to generate insights that drive improvements and innovations.
As there is an increasing demand for sophisticated IoT applications and services, so does the processing power required to run big data analytics, artificial intelligence and machine learning algorithms. Processing massive amounts of raw data at the edge is impractical for most IoT devices. Data contextualization and insight extraction originate from the collective intelligence of the individual IoT devices in collaboration with the infrastructure. A comprehensive management framework of data and devices is thus required to achieve these goals. As far as the IoT is concerned, this framework should assemble the different layers of an IoT stack into a unified mechanism that supports dynamic interoperability, sustainability, scalability and abstraction. Deploying an interoperable network that is flexible enough to evolve, adapt and scale up involves a platform-based approach.
The layered IoT stack
An IoT network is implemented using a layered stack, similar to the 7-layer OSI reference model which breaks down the internal functions of a communication system into a manageable hierarchy of seven abstraction layers: application, presentation, session, transport, network, data link, and physical. A generic IoT architecture consists of three layers: the perception, network, and application layers. However, a more elaborate architecture where five or more layers are defined is usually adopted. The five-layer architecture adds the processing and business layers to the stack. Within this stack, the perception layer is the physical layer where IoT devices operate.
- The network layer, also referred to as the transmission layer, addresses and routes data through the network.
- The network layer transfers information from the network layer to the processing layer, which is more commonly known as the middleware layer. This layer stores, analyzes, and processes data. It also manages and provides a diverse set of services to the other layers.
- The application layer provides global management of the provided applications and realizes various practical applications of IoT such as smart homes, smart buildings, smart cities, smart factories, smart lighting, smart grid, smart retail, smart health, intelligent transportation, and intelligent agriculture. This is the layer where data is turned into value.
- The business layer applies the data procured from the application layer to the development of business and profit models. In industrial IoT (IIoT), connected vehicle and other applications where location awareness, low latency communication, and real-time interactions between the user and network is critical, computation and data storage are performed at the edge of a solution. IoT models developed for these applications may include an edge computing layer.
- A security layer is proposed in some IoT stacks. However, security is cross-stack functionality that needs to be implemented from the devices to the cloud in every IoT solution.
Supporting the entire IoT value chain
An IoT platform is the backbone of the overall IoT infrastructure. It is often equated with the middleware layer but in reality, the functionally of an IoT platform covers the entire IoT value chain. An IoT platform is a software bridge between IoT devices and IoT applications. It integrates the various layers into a collective whole and orchestrates the movement of data between devices and backend systems (e.g., cloud environments). Th cloud infrastructure provides access to resources dedicated to development, operations, and security across the entire IoT stack, allowing human users to manage the network and data, recognize where the value hides in the IoT stack, and develop highly tailored IoT applications and services. With artificial intelligence, machine learning, big data, and stream processing capabilities from the cloud, possibilities to increase automation and insights abound.
An IoT platform should provide a framework to enable scalability management, provide dynamic interoperability, and address IoT security issues from a holistic point of view. The array of software components provided by an IoT platform collaborate with each other in a mutually reciprocal relationship to respond to all system concerns that range from resilience, integrability, interoperability and composability to safety, privacy and trust. In its most simple form, an IoT platform is just about creating connectivity and facilitating interoperability between physical things. As IoT applications and services are getting ever more mission critical, the software infrastructure required to enable the more advanced IoT solutions has become increasingly sophisticated.
Building blocks of an IoT platform
A full-featured IoT platform is comprised of various building blocks which address requirements for transformation and connectivity, device management, data management, process management, application enablement, API management, security throughout the stack.
Transformation and connectivity
The transformation and connectivity block provides secure connectivity and data normalization to achieve technical, syntactic, semantic, pragmatic, dynamic and conceptual interoperability. Developing a mechanism for interoperation enables interactions of the key components in IoT ecosystems and allows data to be shared and used by any edge, big data, cloud or enterprise system under various protocols, formats and standards.
The device management module of an IoT platform provides capabilities for discovering, registering, and provisioning of new connected devices and gateways. Tasks performed in this module also include remote administration, software updating, remote control, modeling, monitoring, troubleshooting, diagnostics and remote reboot. Data management comprises all the disciplines and capabilities needed to manage data as a valuable resource and bring sense to all manner of data.
Data governance, data ingestion, data storage, data processing, data analytics, data visualization, data security, and data privacy are all aspects of data management.
The application enablement module provides all functionality and tools that allow IoT developers and implementers to prototype, build, integrate, deploy and manage IoT applications in an efficient way.
Process management involves planning, developing, deploying, automating, and monitoring a data-intensive business process. It provides value added services to support the management of various types of assets.
An IoT platform usually allows access via an application programming interface (API) to the resources required for managing communication, data management, computation, security, and privacy.
Finally, the security layer provides safety control mechanisms and security capabilities such as identity confidentiality and authentication to provide end-to-end protection for an IoT system.
Types of IoT platforms
Different types of IoT platforms have been developed to address an assortment of requirements for Platform-as-a-Service (PaaS), Software-as-a-Service (SaaS), and Infrastructure-as-a-Service (IaaS) solutions.
A full-stack platform incorporates all building blocks to provide an end-to-end solution that manages all layers and maximizes the potential of each layer.
Connectivity management platform
A connectivity management platform provides functionality for connecting edge devices to the cloud and for processing the data outside the datacenter (edge/fog computing).
An action platform is a task automation platform that implements sequential and conditional logic in IoT devices, allowing actions to be triggered automatically based on specific events.
Device management platform
A device management platform is designed to support the deployment and management of IoT assets. It provides managed services for device registry, device identification, firmware upgrades, security patching, policy creation and application, off-boarding and device retirement, etc.
An analytics platform provides sophisticated data federation, data ingestion and processing, contextual mining, statistical modeling and reporting tools that can transform the raw data collected from connected systems into valuable information and actionable insights.
Application enablement platform
An application enablement platform provides a PaaS and/or SaaS development framework for developers rapidly build, test, and deploy an IoT application or service.
Cloud storage platform
A cloud storage platform provides IaaS solutions that help businesses share, store and manage IoT data in the cloud data center in a consistent, integrated, secure and scalable fashion.