Monday, April 21, 2014

IoT: Eclipse Paho MQTT

Interview with Andy Piper on the Eclipse Paho project (MQTT implementation) and the Internet of Things  @ InfoQ
Andy Piper, project lead of the Eclipse Paho project, which provides clients for the MQTT (Message Queuing Telemetry Transport) protocol in a variety of languages.

MQTT originated in the industrial sector in the late 1990s – the first implementation was in 1999, to be precise. Companies wanting to monitor industrial and mechanical systems (think pipelines, oil pressures, water levels etc) needed a very lightweight technology, suitable for running on constrained systems and devices.

MQTT is a very light, publish/subscribe, asynchronous messaging protocol, ideal for the Internet of Things, mobile, and sensor networks. It started out at IBM, but in the past few years it has gone open source, with a standard being agreed at OASIS – so it is much more widespread than just being an IBM thing these days.

What kinds of Quality of Service does MQTT provide?
  • QoS 0 is essentially "fire and forget" – the message may arrive, it may not, but the data probably isn't critical anyway (in most cases the message will be delivered somewhere, of course, but there's no double-check to make sure that happens).
  • QoS 1 makes a bit more of an effort to ensure a message arrives: if an acknowledgement of receipt isn't received from the broker, we'll re-send the message again but with a duplicate header byte set, just in case.
  • QoS 2 is closer to the two-phase commit world and tries to offer once and once-only delivery, for data where you want to be sure the broker did receive the message for onward delivery. MQTT with, say, AMQP, STOMP, or ØMQ.

MQTT It isn't a full-featured enterprise messaging protocol with fine-grained controls, ultra-reliable queueing, like AMQP; but it also isn't a queue grafted on top of a TCP socket like ØMQ

MQ Telemetry Transport (MQTT) V3.1 Protocol Specification @ IBM
  • The publish/subscribe message pattern to provide one-to-many message distribution and decoupling of applications
  • A messaging transport that is agnostic to the content of the payload
  • The use of TCP/IP to provide basic network connectivity

Comcast IoT: Smart Home

TecHome Builder Summit - The go-to technology resource for homebuilders.: "Comcast Xfinity Home, wants to equip homes with security cameras, door and window sensors, connected light switches, thermostats and more—and allow you smartphone control of your home from your work or office or while you’re on vacation."

Comcast - Internet of Things
including expansion of WiFi
Essentially, marketing departments are adopting IoT,
including any internet connected device... makes business sense...