A broad range of technology providers are calling their product an "Internet of Things (IoT) platform." Virtually...
the same terminology is being used to cover so many different types of technologies that you may need help sorting through the products and services comprising IoT platforms. First, I look at the overall IoT platform framework. Then I cover hardware platforms, device management platforms and communications platforms.
The main users of IoT platforms are developers of IoT applications and IoT-enabled products and services from different types of companies:
- Physical product companies. Manufacturers of all manner of physical products are implementing IoT-enabled features, as well as building IoT-enabled services.
- Service providers. This includes providers of services involving physical things, such as field service, maintenance and repair, transportation and logistics services, real estate and facilities management, hospitality and waste collection.
- Software companies. Many established software firms, as well as startups, are incorporating IoT functionality into their products.
IoT platforms perform a critical function in helping accelerate and reduce the cost of developing IoT-enabled products, services and applications. Without an IoT platform, the challenges of building an IoT application are enormous. The challenges include:
- Diversity and number of devices. Applications that need to work across a variety of scenarios have to interface to myriad devices.
- Managing communications complexities. Creating a product that works globally with different carriers, monitoring performance and optimizing communications costs.
- Developing the application logic UI and database. Integrated development platforms designed specifically for IoT greatly accelerate the process.
- Developing analytics. IoT analytics have specific characteristics not found in traditional analytic platforms, such as dealing with real-time streaming data, geo-spatial data and enormous volumes. Domain-specific IoT analytic platforms provide libraries of pre-built algorithms, queries, dashboards and tools.
- IoT infrastructure. Most platform providers run the back-end infrastructure for you, including servers, data centers, communications, security and admin.
A complex stack of technology is needed to create the magic end users see (or hope to see) in IoT applications (see Figure 1). Most of these functions and components can be obtained using some combination of IoT platforms. Many platforms span multiple boxes shown in Figure 1, integrating various pieces of the products. But most platforms tend to have a heritage in one of these boxes. Let's talk about the bottom of the stack, the hardware.
Hardware: the 'body of IoT'
The IoT requires sensors, processors, controllers, communication hardware and local communication buses. A few semiconductor companies are building comprehensive IoT platforms around their core hardware component offering. One example is ARM's mbed IoT device platform. ARM is by far the most popular embedded microprocessor architecture (it has produced more than 50 billion ARM processors). Its IoT platform consists of the mbed OS for the ARM processor, a device server, a Web-based IDE and reference applications. ARM also has assembled an ecosystem of partners including cloud partners, original equipment manufacturers, original design manufacturers, system integrators and hardware component providers.
Intel describes its IoT Platform as "an end-to-end reference model and family of products from Intel -- that works with third-party solutions …." Intel's product brief lists six IoT components including Intel's IoT gateway, analytics services, enhanced privacy identity, Wind River edge management system, Mashery API management and McAfee secure fabric platform.
According to various forecasts, 25 to 75 billion IoT devices will exist by the end of this decade. The sheer volume of devices, combined with their daunting variety, places heavy demands on deploying, commissioning, managing, updating and maintaining all these devices. No IoT administrator wants to deal with hundreds of different administrative interfaces (one for each device type); hence, the need for an underlying device management platform.
Developers of IoT applications also need software code that can discover, connect to, receive data from, send commands to and manage these devices in a secure and normalized way. They need abstraction and normalization of the interfaces at various levels in the stack (see Figure 2), so their code can talk to all devices of a specific class in the same way -- for example, a standard way to query any thermostat for the current temperature, regardless of the make or model of thermostat, rather than a custom-coded interface for each new type.
Standards alone can't resolve problems
These problems can be alleviated by a number of current IoT device protocol standards, such as data distribution service, message queue telemetry transport and constrained application protocol. Another standard that can help is advanced message queuing protocol, which is a queuing system for message-oriented middleware, generally used a little higher in the stack, for example to connect IoT gateways to servers.
But standards alone cannot solve the problem, at least not in the next many years, because there are so many legacy devices. For this reason, many IoT platforms include device interface services that provide the needed abstraction and normalization. Examples of IoT device management platforms include those from Zatar, Etherios, DCN, Wind River Edge Management, RacoWireless, Cumulocity, Eurotech and Xively.
Some IoT platforms provide the machine-to-machine communications services needed to make it all work. This is a natural area for wireless carriers to jump in, so we see IoT communications platforms such as Vodafone M2M , AT&T M2X, Verizon M2M, T-Mobile M2M, Sprint M2M and Singtel M2M. Carrier-independent providers include Arkessa, Jasper, RacoWireless and Aeris. Common functionality includes cellular communications services, cellular device management, cost and rate management, global SIM, cloud services and diagnostics. Carriers have varying strategies and some offer quite a bit of functionality beyond the services listed here.
Platform providers have different visions. They want to leverage the underlying technologies and assets they have, while taking into consideration their business model and current customers. When evaluating IoT platforms, it pays to take the time to understand what each provider offers. Selection of the underlying platform is a critical decision for an IoT developer. The relationship between the IoT application developer and the IoT platform provider is a long-term marriage -- divorce (i.e., switching platforms) can be messy, expensive, time-consuming and painful. It pays to choose wisely.
In future installments of this series, I will explore other types of IoT platforms, including IoT development platforms, IoT gateways, IoT data storage and IoT analytics platforms.
How IoT platforms are changing enterprise service management
The industrial internet of things takes hold in manufacturing
To embrace IoT platforms, companies need to make sweeping changes
Learn more about product data management