The “Internet of Things” (or, perhaps, the “Internet of Everything”, or even “cyberphysical systems”).  That sounds impressive, big (in terms of market potential; see these excellent opportunity analyses by McKinsey and TCS) – and unwieldy. An Internet of Things (IoT) platform implies the integration of a set of different functionalities provided by individual components.  The functionalities involved can be broadly classified as data capture from sensors (and actions carried out by actuators), transfer of the data over networks, storage of the data at various stages, analysis of this data, and applications that make use of this data. Each of these can be independent functions, but it is when they are integrated together that they provide those coveted “aha” moments and deliver the most value. Without integration, most of those functions are simply discrete components used individually. For example, just collecting and storing data from a large number of sensors is useful but does not provide much value beyond record keeping. It is the analytics engine coupled with this sensor data that makes the overall chain valuable. And an analytics engine is useful only when coupled with applications that make use of the analysis to improve functionality, provide new functionality, etc.

What we (Umesh Puranik being my co-author here) are saying is that an IoT platform is valuable only if it covers the end-to-end chain – “the whole” if you will. The value of it is in the ability to extract useful insights from the collected data and act on it in various ways.

Even though there are numerous proprietary IoT platforms currently available, with a wide variety in both functionality and implementation, there are common basic elements in most. In this series of articles, we will identify some of the common elements and then suggest an architecture for an end-to-end IoT platform that is foundational, scalable, extensible, and – most importantly – based on open-source components wherever possible.  Certain verticals will undoubtedly always require customized and proprietary platforms, but an open platform is more than adequate for many others.  And it is far easier to build an ecosystem around an open platform than a closed one.

The functionality in an IoT platform can be broken into four different functions – Data Capture, Data Transfer, Data Processing and Analysis, and Action. In the next three articles, we will mainly look at the Data Transfer, Processing and Analysis. The remaining two – Data Capture and Action – will be covered in future.

Security considerations are paramount in the design of an IoT platform. This non-functional requirement encompasses almost every component of an IoT platform. There are numerous examples of what happens when IoT security is breached, like last year’s exploitation of the WiFi security implementation shortcomings of the Lifx connected LED bulbs, or the recent demonstration of security researchers taking control – over the internet – of a Jeep Cherokee and then a Tesla Model S. No amount of emphasis could be enough when it comes to security for IoT. Each component, each interface is a potential chink in the armor. It is absolutely necessary to design every component and every interface in an IoT system with security considerations in mind – everything from data security and privacy to data integrity and network security.

In the present series, we will keep aside the security aspects out of the discussion and focus on the functionality of an IoT platform. It is implied that appropriate security measures are implemented at each stage. We will talk about those in a separate series of articles later.

In the upcoming article, we will look at what components make an end-to-end IoT platform. Stay tuned!

Image Credits: Ford Motor Company

Dr. Siddhartha Chatterjee is Chief Technology Officer at Persistent Systems. Umesh Puranik is a Principal Architect at Persistent Systems.