The MQTT standard has been in existence since 1999, how has the standard evolved since then?
Obermaier: In 1999 the technology was developed by Arlen Nipper and Andy Stanford-Clark, now CTO of IBM in England, for monitoring pipelines. Back then, they used satellites for data transmission – each byte would cost $10,000 according to Clark. So the critical factor is data transmission.
The »People's Internet« works on the principle of request and response, comparable to actively going to a shop to buy a magazine. The client is the customer who wants to buy a certain magazine (request) and the server is the seller who offers different magazines (response). However, this principle does not work with IoT. The Publish/Subscribe communication model is used here, which is comparable to a subscription system. A client must receive the data as quickly as possible without doing anything for it. With MQTT the device (client) logs on to the broker – for example HiveMQ – and orders (Subscribe) a kind of »data subscription«. If the Broker detects a data change, it pushes the new data to all subscribers (Publish). This is how the MQTT protocol, on which HiveMQ is based, works.
At the beginning of the 2010s, the standard was then disclosed by IBM – with MQTT 3 the ISO standard was introduced. In the meantime, version 5 is available, with which new functions have been added especially for the industry.
What are these new functions like?
Obermaier: The new version offers advantages especially in terms of flexibility. For example, shared subscriptions have been added. Different applications can now share the data stream, so the load is taken off the databases. In addition to such major changes, minor adaptations that have been in use for some time have also been included in the standard. Important topics were flexibility, scalability and security. Especially in the area of security, a lot was invested to reduce the barrier for new customers.
Can you explain how the MQTT-Broker works?
Obermaier: The Broker is a software and the central data distributor. All devices that send data send it to the broker, and all devices that receive data register the interest with the broker. All from the perspective of high availability – data must be available all the time.
To ensure such high availability, we use a cluster technique to avoid a »single point of failure«. The cluster technique is mapped by the broker. Several cluster nodes are necessary to build a service with high availability and can be used for horizontal scaling. They can be distributed to several servers in the cloud or in data centers. In the event of a failure, all devices can continue to exchange data.
»It is important to have courage to invest and to follow the path consistently« |
---|
How do you make the connection between client and broker secure?
Obermaier: There are various ways – the most important for IoT is encrypted data transmission. MQTT uses TLS/SSL technology for secure message encryption, which is also known from the World Wide Web. It is available on the hardware, but also on the servers. It is also important that the broker may only send data that is absolutely secure – according to the concept of authentication and authorization, similar to a passport control at the airport. The Broker therefore only allows data records that are absolutely secure.