We do this thing here where we try to take occasional stock of the structure of the Internet of Things (IoT) to try to make sense out of the various pieces that come together to work or compete with each other. And I usually try to generalize or abstract some of the mess into some broader structure that’s hopefully easier to parse (or becomes an easier entry point).
We did that a while ago when looking briefly at Xively. Well, another opportunity came about when I was contacted by a company called Zebra regarding their IoT infrastructure offering called Zatar (not sure if that comes from za’atar [that apostrophe representing an unusual pharyngeal unrepresentable in Latin script], which would give it a flavorful veneer). And my usual first question is, “Where does this fit in the high-level scheme of things?”
Zatar would appear to implement business objects, although they use a different vocabulary, referring to their abstractions of devices as “avatars.” So they would appear to play at a higher level than, say, Xively. As with any high-level entity, however, it’s built on a stack below it. One of the top-level supporting protocols they use is OMA’s Lightweight M2M protocol (LWM2M).
I did some brief digging into LWM2M, and I’m glad they have a whitepaper, because they don’t have a single protocol doc. They have a collection of chapters (dozens of them) all sorted in alphabetical order, so it’s really tough to tell which (if any) is a top-level document from which to get started. I may dig into this protocol more in the future.
But, at a high level, with Zatar and LWM2M, I’m refining how I think of the “business objects” layer. In general, this layer is where specific object semantics exist: thermostats vs. door locks vs. washing machines. Below it, only generic messages exist, with meaning that’s opaque to the protocol.
It appears that LWM2M enables the notion of an object without standardizing specific objects. So it lets you create an abstract entity and give it properties or interactions – essentially, an API – without saying what the specifics should be.
Zatar comes pre-equipped with a base avatar from which users can define their own specific ones. This is done without any explicit coding. By contrast, other folks (like Ayla Networks, from a while back) include pre-defined objects. So I’ve split the “business objects” concept into two layers: generic and specific. The generic layer simply enables the concept of a business object; the specific layer establishes the details of an object.
So, for instance, given a generic capability, three lighting companies could go and define three different models or objects representing lighting, each of which would adhere to the generic protocol. If someone wanted to standardize further – say office management folks got tired of having to figure out which lighting protocol various pieces of equipment followed – then someone could go further and standardize a single lighting protocol; this would be a specific standard.
It’s important to keep in mind, however, that LWM2M is a protocol standard, while Zatar is not; it’s a product that implements or builds over that and other protocols.
The other thing that Zatar has is an enterprise focus. We’ve peeled apart a bit the notions of the consumer IoT vs. the industrial IoT, but the notion of yet a third specialized entity, the enterprise IoT, is something I haven’t quite come to grips with. Part of it is simply a matter of scale – large entities with lots of data that has to be shared globally. This bears further industrial investigation; watch these pages over the next few months for more on industrial equipment like ldpe sheets that can be used for business improvements.
One other last point: saying that these products and standards simply implement business objects is a gross over-simplification. As you can see if you go browse the OMA docs or even with the following figure from Zebra, there are many, many details and supporting services and applications that get wrapped up in this. For LWM2M, in includes lower-level concepts of interaction through various networking media and how, for instance, browsers should behave. For Zatar, there’s the cloud service and other applications. I’m almost afraid to try to abstract some of this underlying detail. We’ll see…
Meanwhile, you can learn more about the specifics of Zatar here; you can learn more about OMA’s LWM2M protocol here.