IPSO Smart Objects explained
In many budding smart projects, there’s often a missing piece of the IoT puzzle that hampers their development – this piece is called data interoperability. OMA Specworks’ IPSO Smart Objects are meant to take care of that and make all smart things fall into place.
One of the things that people need to interact and collaborate with in an effective and meaningful fashion is a common language. And the same goes for IoT devices – the more standardized the mode of communication is, the more possibilities emerge and fewer vulnerabilities loom large on the horizon.
What is also undoubtedly true to be said about the Internet of Things industry, is that there have been many efforts so far to establish standards for interoperability on different levels of the IoT technology stack, with IoT protocols at the forefront. One such protocol, and one that is rapidly gaining ground, is the Lightweight M2M, a standard dedicated for resource-constrained devices that plays a great role in the popularization of IoT among the industries, but we’ll come back to this later.
The smart thing about IPSO Smart Objects
What emerges from this picture is that data interoperability has been, and will surely remain to be for some time, one of the major challenges for the Internet of Things. The IPSO Alliance (standing for Internet Protocol for Smart Objects) saw that back in 2008 when they came up with the idea of “smart objects”. Their aim was to create a common design pattern and a model of data that could provide high-level interoperability between devices and software applications for the Internet of Things. Appreciating the potential behind the idea, the Open Mobile Alliance (OMA) merged with the IPSO Alliance to form OMA SpecWorks in 2018 and keeps developing the standard to this day.
OMA SpecWork’s IPSO Smart Objects are based on the same premises as their immediate predecessors, providing a structure for defining device objects which are collections of resources that a device gathers, stores and exposes to external applications, such as the Coiote IoT Device Management platform. Thus, the earlier mention of Lightweight M2M proves not to be accidental, since LwM2M served as a base for the IPSO Smart Objects while still taking advantage of the concept itself. But it will be easier to get the hang of it all by looking at an example.
How it all works
In Lightweight M2M, objects and resources are mapped directly into a device or to a software component following the protocol’s object model and are accessed with a simple URI path which is a sequence of Object Type ID, Object Instance ID and Resource Type ID. To be more precise, the structure is made up of three unsigned 16-bit integers that are separated by the '/' character and look like this:
To exemplify this, a Firmware over-the-air Update state on a device would be accessed with the use of the following URI:
/5/0/3. Why so? That is how they are defined in the IPSO Smart Objects specification:
5 –> “Firmware Update”
0 –> instance
0 of the Firmware Update object
3 –> the current value or recent reading of the resource, in this case, the Firmware Update state
But this does not mean that the engineer or end-user are left to cope with some seemingly meaningless and random integers. There is a solution to help with that too: IPSO Smart Objects specifications come with human-readable definitions, technical specs and extended descriptions for each object developed within the standard, which serves as a great tool for quick implementations of IoT device management projects.
Another thing that is smart about the IPSO Smart Objects is that they are made to be usable across different protocols that support data types, URI addressing, content formats, and basic operations (such as Read, Write, Execute). Therefore, they can be employed in such standards as CoAP, HTTP and even MQTT (with some customization work).
The bottom line
One of the first requirements for the Internet of Things is that the connected systems must be able to “speak” the same language, but not only in terms of communication protocols but also on the level of data structures. Effective and well-defined interoperability can promote innovation and offer efficiencies to IoT device manufacturers, IoT project stakeholders and other industry players, thus increasing the total economic value of the market.
With the help of the constantly growing popularity of LwM2M, IPSO Smart Objects are becoming a crucial element in the IoT landscape to help things get smarter.