The Silo Challenge With The Internet Of Things (IoT)

An endless stream of new smart and connected things hit the market every day and a big challenge becomes more and more obvious: silos are forming where things should in fact be connected.

Take a smart home: Nest of Lyric thermostat. Smart CO2 and smoke detectors (maybe from Nest too), smart locks from lockitron, smart fridge from Samsung, smart lights from SmartThings, a scale from Withings, smart TV, and on and on.. not including your fitbit, your smart watch, your phones and tablets, your Sonos. They all talk to some server on the Internet. They are all part of the Internet of Things (or at least the premises of it) but talk about connectivity: They can’t even talk to each other!

What if you smart window shades could close when the thermostat says it’s too hot in the house? what if the fridge could tell you a little reminder to not snack when your scale is a bit high (arrg.. I shouldn’t have taken that extra cheese)? What if all locks or even doors could open when a high level of CO2 is detected to ventilate? What if your Sonos could sound an alarm when a fire is detected?

From a user experience, you shouldn’t have to open 15 differents apps to access your information, you should be able to have a view of your home, a view of your health, composed of every elements and piece of data from all the devices you have or interact with.

Silos are the doom of IoT. If they don’t come down, the dream will not be fulfilled.

This is exactly what the AllSeen alliance is trying to solve and I believe it is one of the most interesting challenge in IoT today. We could break it down into a few pieces:

Device discovery standards: Enable devices to be discovered, broadcast their capabilities and interact with other in standard ways. Obviously taking into account all the security and privacy concerns that go along with those scenarios. In this world, a device could say I have an On/Off status, I have a temperature, I have an alarm with 10 levels of importance, and other parameters. It wouldn’t matter what the device is, those could apply to hundreds of different devices.

Protocol translation: I don’t believe we will have 1 protocol to rule them all. You will have devices speaking MQTT, some XMPP, some CoAP, some DDS, some proprietary protocols. Inside those the data format may even be different. Translating those protocol to something standard either through JSON, XML or RESTFul APIs is going to be key.

Thing beyond the devices: Not only devices will need to talk to each other but applications as well. Getting the weather, talking to my bank, looking at my Strava bike rides, getting my medical information from my doctor. The source of data is not only devices but everything you interact with.

big-data

I feel that the data silo challenge is fascinating but has the most fantastic outcome you can imagine: Personalization to the individual level. When systems will be able to make sense of all that data, when system will start to correlate the data using machine learning models in order to find patterns or find similar people, when you can start to predict. That’s when IoT will have a true meaning in our lives.

What is Internet of Things (IoT) really?

Obviously the most over hyped word of the moment: IoT. The Gartner Hype Cycle 2014 shows it pretty clearly

 

gartner_2014-2

but the more I am dealing with IoT the more I realize that this word is really a garbage bag for about everything closely related to some object that can connect to something else, somehow.. It’s so vague that everything kind of falls into this category these days.. Old 15 or 20 year old companies are now IoT companies without having changed a bit what they were¬†actually doing. I can understand it. If there is a wave, one should try to ride it.

But let’s look at it a little closer and try to give it an accurate definition. IoT: Internet of Things. That is standing as a reflection of an Internet of People I assume. So the internet today is mostly people connecting to servers or other people via a large network of interconnected networks that is accessible to all. It relies on a set of standards (the most famous being TCP/IP, HTTP, etc) to enable open communications between people and servers.

If we translate that to “Things”, we should define the Internet of Things as a large network of interconnected networks where Things communicate with other Things. There should really be no people involved. So why is Wearables in the Internet of Things? why is a connected Oil rigs in the Internet of Things? Why is your connected car in the Internet of Things? I am really starting to think that they are not. They are just a new wave of connected and potentially smart devices but still connect to a person at some point.

Your FitBit will connect to you phone, which will send data to a server so you can review, track, compete with other people. That’s not an internet of thing, that’s a thing connected to the internet.

In an internet of things, things are the actors. A device connects to another device of server which sends something back automatically, and the device may take action based on that response. If the interaction starts to become more complex, to the point where an entire life cycle can happen between devices, then we are in the internet of things.

What could that look like. Imagine your self-driving car..

Self-driving car

It detects some high level of vibration in one of the wheel. It connects to a server that can identify the cause and likelihood of failure thanks to all the other cars that had the same issue, and roughly in the same condition of use (some predictive models would apply). The verdict is clear: that wheel will have an issue in the next 2 to 4 weeks. The server let’s your car know. The car checks your schedule and maps it to potential repair slots in a garage near your work. It books an appointment during your work hours. That day, it takes you to work, then leave to go the appointment (on it’s own!! it’s a self-driving car!). It gets the repair, and comes back to pick you up at the end of your day. Potentially the repair was made by a robot in the garage. No humans involved, maybe except for the validation of payments ūüėČ

There we¬†are talking about an internet of things. The car could talk to the garage, thanks to standard protocols, it could analyze issue based on other data point from other things, it could read your agenda and self drive thanks to sensors and plenty of other information given by other Things it didn’t know about that were connected and intelligently inform the car’s decisions.

I think we will truly achieve the Internet of Things, when things can autonomously interact between each other to the benefit of people. In the meantime, it’s a lot hypes, but don’t get me wrong, it has¬†tons¬†of¬†value and that’s why I’m so passionate about it.

The Internet of Things Protocol stack – from sensors to business value

There is no doubt that we are entering a new era.. An era that will change the world more than the Internet did 15/20 years ago. This era is the Internet of Things, or IoT. John Chambers, the CEO of Cisco is going on a crusade to tell the world about and is driving many conversation with his potential $19T in economical impact from efficiency gains to pure economical growth. I have personally never seen a number that big, and it’s starting today.

Granted connecting objects is not something new, we have had connected machine for more than 15 years. Axeda, one of the leading solution providers in connected machine, has been in business since 2001! What has changed is that now: 1- it’s becoming cheap to connect machines to the internet. Very cheap. Hardware is affordable and even open source: Raspberry Pi announced it’s 2M unit sales in November 2013! Knowing that they compete with Arduino, Mbed and others, I am astounded by the cheer volume of supposedly “hardware enthusiasts”. This not a hobbyist game anymore, it’s everywhere. I personally played around with an Mbed and a Spark Core using Cloud based backend from Xively. It’s so easy, it amazed me and got my imagination going on a few projects.

But where is the catch? I’ll be honest: Standardization. The IoT landscape is a mess! Too many protocols, too many wannabe standards, too many revolutions. It will calm down and consolidate but for now it’s creating more mess with every new device that comes out on the market.

I’ve decided to give a try at describing that mess through a protocol stack that I’m hoping to be useful for others. My goal was not to be exhaustive in anyway, I don’t even think it’s possible. But I hope that I captured the most common protocols that people encounter on in a day in the life of an guy in IoT.

IoT protocols stack

 

[Note: This diagram has been updated based on comments and feedback received since Jan 29]

What I found important in this stack was to add a Business value layer, because what’s the point of connecting devices if in the end there is no business value.

Some will find similarities with the ISO stack (Link layer, Transport, Session, etc..) and there are some, but I wasn’t particularly trying to map to it. It just happens that the ISO stack is foundational to the Internet and as a consequence in the DNA of everything Internet.

Protocols you will find in there:

Connectivity layer: What kind of physical connectors you can find. RJ45 (the physical connector, usually for Ethernet), PLC, RS-232, RS-485, ModBus, USB (as a connector type, not the communication protocol), SPI, ODB2 (in Cars), and Wireless (no connector!). You will sometimes find gateways that will convert any of those physical connectors into wireless.

Link Protocol: How do those device actually send the data. Ethernet 802.3, Wifi 802.11a/b/g/n, BlueTooth, BLE, Dash 7, ZigBee, RFid, GSM, 6LoWPAN, 802.14.5e. The last two are really focused on the IoT use case. I have put ZigBee here only but I am well aware that ZigBee covers a large portion of the entire stack. To avoid too many redundancy, I had to make a decision on where it would fit best.

Transport: IPv4 and IPv6. I also added 6LoWPAN and RPL despite the fact that they are both based on Ipv6. The IPv6 has been a long time coming and was supposed to be adopted by everyone 10 years ago, but now with the projection of having 50 Billions devices connected in 2020 (according to Gartner), we have to go to IPv6! What was interesting is that I haven’t found much of anything beside the IP protocol out there which proves the dominance it has acquired through the rise of the Internet.

Session / Communication: This section is an interesting bunch with a lot of new protocols that have been build for super high volumes and large networks of things. The most famous right now is MQTT, a subscribe and publish protocol that is used by Facebook for its mobile app. You will also find CoAP (kind of a REST Based protocol but much more efficient than its HTTP counterpart), DDS, XMPP and AMQP that are all well suited for IoT and will map different use cases. One will still find older protocols like FTP, Telnet and SSH, but even though they are working very well, they are resource intensive, power intensive, and do not fit well with the low power, unreliable bandwidth of the IoT realm.

Data Aggregation / Processing: This is where it gets really interesting. When device send data, lots of data, you need an end point to do something with it. Be it processing it in real time (with Storm), but at minimum getting the data and sending it somewhere else at very large scale, which Kafka is a great example of. Other solution exists like RapidMQ, Scribe, Plume, Luxun, Fluentd (although more on the translation to JSON side)

Data Storage / Retrieval: The realm of Big Data backend and NoSQL solutions. Hadoop, HBase, MongoDB and Cassandra dominate the field. There are others, like the google AppEngine,  but I may add them later on if they start appearing more in IoT use cases.

Business Model: This is a new addition fro, the initial post. This layer is trying to capture the fact that business value and business processes always rely on an underlying business model. Open or Closed, Integrated or platform, direct sales or indirect, cloud based or on-premise (or private cloud), on-demand pricing, etc.

Business Value:¬†I’ve split it in three. One part if around Device Management, the provisioning, registration, firmware management, remote access, but also the product and asset structure as well as Security (tremendously important, especially as we just went through the first massive Connected Devices attack just a couple of weeks ago. The second section is to highlight the birth or transformation of Service for smart devices, Marketing for owners of smart devices and the impact on manufacturing those smart devices. ¬†Finally, the analytics piece shows how much technology could be applied to the data gathered, With machine learning algorithms, data mining, and all the insights and visualization that can be derived from it.

With such a representation of the most common protocols, the need for consolidation really becomes obvious, the IoT cannot keep going with so many protocols if the dream of having any devices talk to other devices in a fully connected world wants to come true. In any case, it’s fascinating.