This section will discuss industrial or consumer applications built on top of the IoT stack leveraging the various services (messaging, streaming, machine learning, etc.) offered by the IoT stack.
Solutions can be broken down into two parts – Solution Templates and Applications. The following diagram shows the concept of Solution Templates and Applications.
Solution Templates are a common set of services which are developed for specific or generalized use case that provides a head start to build IoT applications and is extended to build custom IoT applications. Building an IoT application requires a common set of tasks and services, configurations of components via dashboard or APIs and the entire process can be simplified and abstracted through the use of solution templates. The key component of a solution template is the abstract data model. The solution’s abstract data model is a combination of device data model that we discussed earlier in IoT Messaging Middleware section plus your application data model specific to that domain/industry/vertical use case. The services from the solution template use the abstract data model for communication, instead of directly dealing with data from sensors. The abstract data model is different for different industries. A connected car abstract data model would be different from connected-home, but if the abstract data model is properly envisioned and designed, it can provide the much-needed abstraction between devices and platforms.
As an example, for a connected car solution, the abstract data model could be a vehicle’s runtime data + GPS data + asset data of the vehicle, which constitutes the device meta-model and the application data model. The abstract data model then can be used for various other connected car use cases. It is more like creating a template that can be applied to different connected solutions within the same domain or industry. For example, a connected vehicle solution for sedan may be different for an SUV. But a common abstract data model, to some extent, gives the basic connected car functionality applicable to all connected cars irrespective of model or make. Some examples of solution templates could be remote monitoring, predictive maintenance or geospatial analysis.
One can use solution templates to build an application based on customer requirements. Please note a predictive maintenance requirement would be different for each industry, the devices, and equipment across manufacturing plants that needs to be connected would be different, data from devices would be totally different, the historical data would be different and lot of effort would be required to just connect and integrate the manufacturing equipment to the platform. However, the steps required building a predictive maintenance system should be pretty much the same. For instance, it would require working with existing asset management solutions to identify master data for equipment, connect to multiple data sources to extract, cleanse normalize, aggregate the data (for instance the data from historical database) and convert it to a form which can be consumed by services (the abstract model) and develop machine learning models which uses the abstract model to predict outcomes. All these common steps and services can be abstracted into a solution template and application provider can use this template for providing implementations or integrations based on the requirements.
Let’s take another example, a manufacturing company already knows what parameters are required for servicing an equipment, what information needs to be monitored, what is remaining lifecycle of the machinery (not on actual, but based on when it was bought) and what are the external factors (temperature, weather, etc.) which can cause a machine to possibly fail. This information can be easily turned into an abstract data model. Machine learning models can be developed and executed which uses this abstract data model to predict machinery failures. The only task remaining would be to map the data from the sensors to the abstract model. The abstract data model provides a generic abstraction of the data dependency between devices and the IoT platform.
However, existing platform and solutions in the market are far from the concept of building solutions templates, which build on the abstract data model due to multiple factors – heterogeneity of devices, domain expertise, and integration challenges. In future, not just the platform, but the solution templates and applications being offered would be a key differentiator between various IoT cloud offerings. An IoT cloud provider would enter into partnership with manufacturing unit and system integrators to build viable, generic and reusable solutions.