The current approach to managing data collected from IoT devices is to sense/observe the data, move it into the cloud, process and analyze it there, visualize it for decision making purposes, then either store or discard it partially/completely. This approach is generally accepted for smaller applications of IoT, where the amount of data being generated is small and generally predictable.
In addition to providing processing power and storage space on virtual servers, cloud providers offer value added services where front end protocol support is provided, so you are not having to fully implement all aspects of your communications protocol stack in your own server. You can piggyback onto facilities provided by the service provider but the compromise is you can then get locked in.
Cloud providers offer a number of options. The roll-your-own option is effectively the same as running, developing an application to run on your own server PC, but running that on cloud-based storage. Things to think about include how you're going to interface to your Things and communicate with them, get their data to and from the server. You obviously need to store data in some form for your Things, so some form of database capability is appropriate for that. Once you have this lovely amount of stored data from all your sensors, you're going to have to think what to do with it, so there's inevitably some form of data analytics, and then an interface back to the users of the system.
Beyond the roll-your-own, the service providers provide value added services. An interesting one that's provided by both AWS and Azure is MQTT. This is a communications broker-based system that allows interactions and identification and addressing and routing directly from the cloud-based service to deployed Things.
Key engineering challenges:
A key premise of the current data analytics model is the use of cloud to store and analyse the data. For big data applications, there are a number of questions that can be asked about cloud infrastructure.
- Is the proposed cloud solution elastic enough to accommodate the amount of data coming from the largest potential number of things ?
- Is a cloud architecture the most efficient for analytics over IoT data ?
- Will all the IoT data you move to the cloud ever be used ?
- Would other parties get value out of your data that you intend to discard?
- What is the business model for adding value to the data you collect?
It has been estimated that the amount of valuable data in big data applications is only in the order of 0.5%.
The challenge and cost of storage large volumes of data is leading to new architectures, such as edge or fog computing that pushes as much processing as possible out to the IoT devices or the associated gateways/routers, in order to limit the amount of data that needs to be moved to the cloud.
One approach to maximising the value obtained from data is to change the focus from predetermining what data will be used for, to describing the data so that multiple applications can make use of it.
Shifting from a silo-based approach to use of IoT data to a discovery approach. Diagram courtesy of Arkady Zaslasky, Data 61, CSIRO
This change of approach can be achieved by placing a discovery layer between the data and the applications, enabling greater repurposing of the data. This is particularly useful in applications such as smart cities, where multiple organisation may want to access particular IoT for their own differing purposes. CSIRO is involved in a European led project called OpenIoT that enables this process.
A last design consideration for some is to determine whether to build their own redundancy systems independent of their cloud provider.
- OpenIoT: OpenIoT provides a cloud-based middleware infrastructure in order to deliver on-demand access to IoT services, over multiple infrastructure providers, such as smart cities and smart enterprises
Sources: Material on this page has primarily been sourced from the following:
- Presentation by Geoff Sizer, Chair of Engineers Australia’s ITEE College and CEO, Genesys Electronics Design titled Architecture and Implementation.
Edited by Tim Kannegieter