The protocol that powers the Internet of Things
MARTIN KEEN 1200007VU3 MKEEN@US.IBM.COM | | Tags:  iot http protocol internet_of_things mqtt
0 Comments | 11,393 Visits
Looking around you now, how many electronic gadgets do you have in arms reach? Perhaps a laptop, smartphone and tablet? Maybe a wearable fitness tracker? Each of these is a connected device—–a device with a radio connected to the Internet. Today there are 14 billion devices connected to the Internet. The industry predicts that by 2020, 50 billion devices will be connected. That’s an average of seven connected devices for each person on earth.
Much of the growth in connected devices will come from sensors that monitor our world. And often these devices need to work across environments with unreliable and limited bandwidth.
Finding the right communication protocol
Managing the communication between these connected devices is a focus of the Internet of Things. Today, most web traffic is carried using a protocol called Hypertext Transfer Protocol (HTTP). But HTTP has a number of limitations that make it a poor choice as an Internet of Things protocol. HTTP is a relatively verbose protocol, and in environments where bandwidth is severely constrained, every bit and byte counts.
Enter MQTT. Originally developed in 1999 by Dr. Andy Stanford-Clark and Arlen Nipper, it has gone on to become a widely adopted standard for allowing connected devices to communicate with each other.
MQTT offers a number of significant advantages over HTTP:
MQTT is a publish/subscribe message format. That means that a publisher sends a message to a topic and that message is received by the subscribers to that topic. Publish/subscribe is not new, but the way MQTT implements this model is what makes it so suitable for the Internet of Things.
In the words of IBM Senior Technical Staff Member Peter Niblett, MQTT is ―insanely small and efficient, where every byte counts.‖ An MQTT message contains a fixed header of 2 bytes, an optional variable header and the message payload (body) itself. Those 2 bytes in the header pack in a lot of information—the packet type, length of the payload and level of quality of service. The payload itself can carry up to 256 MB of information, but most messages are significantly shorter.
Putting MQTT to work
MQTT continues to evolve. The newest version, MQTT V3.1.1, is currently in OASIS public review. And MQTT is being used in a number of important Internet of Things technologies:
As the number of connected devices continues to grow, so will the number of technologies supporting communication between these devices. And just as HTTP has become the standard of the web, MQTT is emerging as the standard of the Internet of Things.
Have you used the MQTT messaging protocol? How are you integrating connected devices? Let me know in the comments or connect with me on Twitter (@MartinRTP).