In a move to bring network connectivity to a wider range of devices, sensors and appliances, IBM has donated the source code of its machine-to-machine messaging software to the Eclipse Foundation, the company announced Thursday.
The messaging client, called Paho, runs the Message Queuing Telemetry Transport (MQTT), a protocol developed by IBM and Eurotech in 1999. The protocol was originally designed for sensor devices that monitor pipelines, and has subsequently been used in many other embedded devices and smartphones. Recently, Facebook used the protocol for its mobile messaging platform.
"We hope that MQTT will become a core protocol in building the Internet-of-Things, and it fits nicely with the work we've been doing with Eclipse," said Andy Piper, an IBM distinguished engineer.
The company submitted the code to the Eclipse Foundation now in order to dovetail with the 10th anniversary of IBM's open sourcing of its Eclipse IDE (Integrated Developer Environment). IBM, along with Eurotech and Sierra Wireless, also started a new Eclipse Foundation working group that will focus on developing more standards and tools for machine-to-machine messaging.
The protocol could be an essential component in what is increasingly called "The Internet of Things," or low-powered networked sensors and other devices that could communicate operational and sensor data to servers, such as bridge sensors, automobile components and monitors for household appliances.
IBM plans to be deploying a lot of machine-to-machine systems in the years to come, as part of its Smarter Planet initiative to instrument more mechanical systems and analyze the resulting data to improve efficiencies.
IBM is hoping developers use Paho as a reference implementation and reuse the program's code, which was written in both Java and C, Piper said. A number of open-source MQTT servers, or brokers, have already been developed, and could communicate with Paho clients.
MQTT offers a few specific advantages over HTTP, the currently favored protocol for relaying Web data across the Internet, Piper argued.
Like HTTP, MQTT runs on top of TCP/IP. HTTP, however, is a point-to-point protocol, one designed for moving documents from one machine to another. In contrast, MQTT follows the publish/subscribe messaging model, which doesn't assume that both parties in a data exchange will always be online at the same time. "That model is a natural fit for sensors, or for chat clients," Piper said.