Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Threading the Needle? Not at the Application Level

DZone's Guide to

Threading the Needle? Not at the Application Level

The Thread stack is a set of IPv6/6LoWPAN protocols developed specifically for communication amongst smart home devices on a network. That’s all well-intentioned, but if the various IoT devices don’t share a common application layer protocol, then how are they supposed to communicate together?

· IoT Zone
Free Resource

Learn how Bluetooth mesh helps you create industrial-grade networks. Download the mesh overview.

The Thread stack is a set of IPv6/6LoWPAN protocols developed specifically for communication amongst smart home devices on a network. Its purpose, as stated in the Thread Overview white paper, is to offer “an open standard for reliable, cost-effective, low-power, wireless D2D (device-to-device) communication. It is designed specifically for Connect Home applications where IP-based networking is desired and a variety of application layers can be used on the stack.”

That’s all well-intentioned, but if the various IoT devices don’t share a common application layer protocol, then how are they supposed to communicate together? With a plethora of smart home products out there (many of which deploy their own proprietary application layer) is IoT device fragmentation inevitable? And yes, I’m genuinely asking these questions because I don’t know the answer. To me, it seems that in order for the many household IoT devices to be able to communicate, a unified layer-7 solution would be necessary.

When speaking about Thread’s presence at the Consumer Electronics Show in Las Vegas, Chris Boross, president of the Thread Group, stated:

“You’ll see the demonstration of many Thread devices — such as ceiling fans, thermostats and smoke detectors — connected on the same network, communicating on a show floor.”

But, when asked by Junko Yoshida, Chief International Correspondent of EE Times, about whether or not each device will be using a uniform application layer or executing through its own proprietary application layer, Boross responded:

“No, actually we’ve developed a simple, ‘one off’ application layer for quick demonstration purposes.”

Hmm… that sounds like a bit of a cop-out. So, how do these devices communicate amongst each other outside of the demonstration? I assume a solution must be on its way... right?

Just because various Thread products are connected to the same mesh network, that doesn’t mean they’ll be able to communicate with each other if they aren't using a unified application layer. As quoted in this EE Times interview, Skip Ashton, vice president of software at Silicon Labs, said:

“It’s like you’re dialing up someone in China. If you can’t understand Chinese, you don’t know what to do.”

However, Thread is on the right path as far as IP-based protocols go. The collective opinion of the IoT industry seems to lean in this direction.

So, any thoughts on application layer communication between IoT devices? Please feel free to leave your opinion in the comments section. 

For a deeper look into Bluetooth mesh, check out this technical insight for developers.

Topics:
iot ,protocols ,thread

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}