Building IoT Systems- Many Internet of Things (IoT) systems tackle a single problem, focusing on issues that are particular to any industry vertical. General-purpose solutions are unusual. One reason for this is because organizations are under pressure to show quick results. As a result, developers find it easier to adapt an existing system.
The most straightforward approach begins with the addition of connectivity to a sensor or machine to enable remote access and data gathering. The next step is to connect to a cloud-based data management system for analytics and visualization purposes. This design approach does not help in anticipating how such a system might evolve or how it might be supported over its life cycle. Nor does it encourage a strategy of reusing design tools and technology components as other applications are developed.
Are All IoT Systems Unique?
If an organization plans to deploy multiple IoT systems, are there commonalities, or is each application unique? Commonalities mean that there is scope to reuse design patterns, architectures, and standards.
The composition of a simple IoT system has four components. These include the connected sensor or device; a communications network for remote connectivity; a platform for housekeeping tasks such as device management, security, and registration; and an application or visualization dashboard that uses the IoT data from the connected sensor or device.
More complicated arrangements might involve an intermediate gateway or communications between multiple silo applications. There may be a mix of components from an implementation standpoint from different suppliers, some using open standards and others combining open-standard and proprietary technologies.
One approach to overcome the uniqueness of IoT systems as they evolve or become more complex is to treat them as ‘any to any’ systems. In other words, any IoT application or dashboard should be capable of ingesting data from any connected device or sensor. It should also be possible to substitute any device or gateway supplied by one vendor with equipment supplied by another. Viewed through this perspective, the challenge of building IoT systems becomes less of a vertical technology stack issue and more of a horizontal architecture one. By reframing the challenge, it now becomes possible to reuse design approaches and developer tools.
Strategies for Reuse
The most straightforward approach to supporting IoT systems in multiple application domains is to take a tried and tested system and generalize it to other domains. Many hundreds of IoT platforms exist in the marketplace, and many are pursuing this kind of bottom-up approach.
A second approach is to analyze a range of IoT architectures and frameworks and identify areas of overlap which represent opportunities to enable interoperability. Research initiated by the US National Institute of Standards and Technology (NIST) follows this approach in the form of common, Pivotal Points of Interoperability (PPI). Further work by Open and Agile Smart Cities (OASC) members extended this concept to define Minimum Interoperability Mechanisms (MIMs). One motivation for these approaches is to accommodate legacy systems and standards. This results in a focus on systems interfaces to solve the interoperability challenge.