IoT is playing a key role in revolutionizing our lives. In an earlier blog, we reviewed the basics of what IoT is all about, its importance in today’s digital context, and explored a sample IoT use case. Taking the discussion further, let’s look at the critical functionality needed for a successful IoT endeavor and how the major IoT services (Microsoft, Amazon, and IBM) providers compare.

Accommodating and Processing Data

As discussed in Power of IoT, a key feature required for successful IoT solutions is the ability to accommodate a huge amount of telemetry data and process it in near real-time, as stale data can be misleading, negatively impacting or delaying decisions. Temperature and pressure sensor data can be considered as key examples here. All 3 providers have a centralized hub concept that serves this purpose. Microsoft has Azure IoT hub, Amazon has branded theirs as AWS IoT Core and IBM calls theirs the Watson IoT Platform.

Tracking Sources of Data

Another essential functionality is the ability to track the source of data. This may sound simple but in an ocean of devices, it becomes quite a challenge. A normal sky scrapper in Manhattan may have more IoT data sources than the number of people in that building. From air quality monitors, fire alarms, pressure gauges, earthquake/shock detectors, elevator controllers, automatic parking ticket machines, etc.- the scenario becomes quite complicated for managing these dynamic identities and connections. This is termed “device management”, as depicted in the illustration above.

From a device management perspective, all 3 providers have similar features. The process starts with tagging the thing/device (IoT data source can be a single sensor or group of sensors or client-side gateway) with a unique identifier. Then IoT hubs create a digital mapping that stands with last tracked properties of the device. It is a virtual representation of the real world physical asset.

Amazon refers to it as Device Shadow, Microsoft calls it the Device Twin. IBM labels it Device Representation/Digital Twin.

A sample digital representation is a JSON file as shown below:

{ "reported": { "telemetryConfig": { "sendFrequency": "5m" , "status": "success" }, "lastActivityTime": "2015-02-30T16:24:48.789Z" , "batteryLevel": 55, "$metadata" : {...}, "$version": 4 } }

While device twins (shadows) are helpful, a developer isn’t required to check the system health every time at such a granular device level. Although the device twin data is collected and stored, the asset twin data is typically used while tracking system status, since that gives overall system status instead of the smaller components constituting that system. Only in cases where asset tracking data shows issues, a developer will need to dig deeper to the device level to identify root cause.

Asset twin is a higher level â€˜categorization’ that groups together sensors and devices into a single entity that can be interacted with by a developer. A common example of asset twin is an automobile, as depicted in the image below, which in turn represents hundreds of underlying sensors monitoring the drivetrain, suspension, & fuel systems internally.

The real-time tracking of each component inside the car is not required to communicate the working status. Only the higher-level abstraction is considered for representing overall functional wellbeing / availability of the asset twin. If higher level abstractions indicate issues, then further investigation of device twin level data will need to be initiated.

The device twin and asset twins are critical from a user’s dashboard and monitoring perspective. They can be easily queried with standard CRUD operations. This turns a complex IoT system into a traditional data endpoint for users.

Authentication and Authorization

Another critical component of a IoT hub is authentication and authorization. Obviously, any random device can’t be allowed to connect to the hub and pollute the data. Each device must be verified. All IoT solution providers have standard practices for this, however Microsoft’s AD (Active Directory) integration offering stands out and is quite attractive to enterprises already using Microsoft products supporting AD integration as it alleviates the need for a separate authentication mechanism. Small-scale organizations without AD can use standard OAuth 2.0 for token-based access.

For communication needs, all (Amazon, IBM and Microsoft) support HTTPS, AMQP (Advanced Message Queuing Protocol) and MQTT (Message Queuing Telemetry Transport) for client-server communication, as shown in the illustration above. For non-IP-enabled devices, the middle gateway takes care of security while connecting to IoT hub. The device to middle gateway communication can be through Zwave or ZigBee or Bluetooth.

Machine Learning, AI and Analytics

All three service providers offer Machine Learning, AI and Analytics solutions to process IoT data. IBM goes a step further in offering blockchain integration with IoT data. A classic example to understand how this works is the idea of perishable goods transport. Let’s consider that 2 parties have agreed to a contract for food delivery maintaining a specific temperature, a defined travel speed and specific time of delivery. IoT sensors can provide LIVE data for all the required parameters which can be fed into the blockchain. At the end of the trip, both parties can easily verify if there was any breach in contract resulting in a consideration of penalty. Adding blockchain ensures that the IoT data is tamper-proof.

IoT can not only track productivity or health of devices but can be quite useful for gathering user experience data to make products better. Whirlpool (washing machines) and BMW (cars) are well known for this. The example of an IoT alarm clock we discussed in our last blog is also one of them. Tune into our next post on the topic of intelligent automation services as we explore famous and innovative use cases.