[Back]


Diploma and Master Theses (authored and supervised):

M. Geier:
"Enabling Mobility and Message Delivery Guarantees in Distributed MQTT Networks";
Supervisor: S. Dustdar, T. Rausch; Institute of Information Systems Engineering, Distributed Systems Group, 2019; final examination: 2019-04-02.



English abstract:
Publish/subscribe is a commonly used pattern for machine-to-machine communication in the Internet of Things (IoT) and the MQTT protocol has emerged as the de-facto standard due to its lightweight design. However, centralized messages brokers are limited in their ability to satisfy the stringent quality of service requirements of modern IoT scenarios which require decentralized and reliable communication at the edge of the network. In many of these scenarios, end devices are not static at one place anymore, but rather move around in an environment which creates additional challenges and opportunities for
reliable communications. In this work we present an approach for a scalable, distributed MQTT network and a migration process to enable reliable and transactional client mobility. We extend MQTT v3 and introduce a transactional migration protocol which makes use of and ensures MQTTs message delivery guarantees for individual subscriptions
(at most once; at least once; exactly once) to migrate a client between (distributed) broker systems. With software testing, empirical experiments and a theoretical analysis we evaluate the correctness, the responsiveness and the system strains of our solution approach. The evaluation shows that our migration approach enables clients to migrate from one broker to another while ensuring message delivery guarantees, but incurs additional overhead. In typical scenarios, where brokers are synchronized, the migration time is roughly eight times the link latency between brokers. In interregional cloud
scenarios where the link latency between brokers is roughly 80-100 ms, the migration takes around 600-800 ms. When brokers are in close proximity, the number of discarded, duplicated and stored messages are close to zero. With our migration process, the network traffic decreases with at most once, it increases with at least once and it stays the same with exactly once subscriptions, but comes with an overhead in storing message.

German abstract:
Publish/Subscribe ist ein weit verbreitetes Kommunikationsmuster für Maschine-zu-Maschine-Kommunikation im Internet der Dinge (Internet of Things, IoT) und das MQTT Protokoll hat sich aufgrund seines leichtgewichtigen Designs zum De-facto-Standard etabliert. Zentralisierte Nachrichtenverteiler sind jedoch nur begrenzt in der
Lage, die strengen Servicequalitätsanforderungen moderner IoT-Szenarien zu erfüllen, welche eine dezentrale und zuverlässige Kommunikation am Rand des Netzwerks erfordern. In vielen dieser Szenarien sind Endgeräte nicht mehr nur statisch an einem Ort, sondern bewegen sich in einer Umgebung. Dadurch werden zusätzliche Herausforderungen und Möglichkeiten für eine zuverlässige Kommunikation kreiert. In dieser Arbeit präsentieren wir einen Lösungsansatz für ein skalierbares, verteiltes MQTT-Netzwerk und
einen Migrationsprozess, um eine zuverlässige und transaktionale Teilnehmermobilität zu ermöglichen. Wir erweitern MQTT v3 und führen ein transaktionales Migrationsprotokoll ein, das die Nachrichtenübermittlungsgarantien von MQTTs für einzelne Abonnements
(höchstens einmal, mindestens einmal, genau einmal) verwendet und gewährleistet, um einen Teilnehmer zwischen (verteilten) Verteilersystemen zu migrieren. Mit Softwaretests, empirischen Experimenten und einer theoretischen Analyse evaluieren wir die Korrektheit, die Reaktionsfähigkeit und die Systembelastung unseres Lösungsansatzes. Die Evaluierung zeigt, dass unser Migrationsansatz es Teilnehmern ermöglicht, von einem Verteiler zu einem anderen zu migrieren, während die Nachrichtenübermittlungsgarantien gewährleistet
werden, wobei jedoch zusätzlicher Aufwand verursacht wird. In typischen Szenarien, in denen Verteiler synchronisiert sind, beträgt die Migrationszeit etwa das Achtfache der Verbindungslatenz zwischen den Verteilern. In interregionalen Cloudszenarien, in denen die Verbindungslatenz zwischen den Verteilern etwa 80 bis 100 ms beträgt, dauert die Migration etwa 600 bis 800 ms. Wenn sich die Broker in unmittelbarer Nähe befinden, geht die Anzahl der verworfenen, duplizierten und gespeicherten Nachrichten gegen Null. Mit unserem Migrationprozess nimmt der Netzwerkverkehr mit höchstens einmal ab,
nimmt mit mindestens einmal zu und bleibt bei genau einmal Abonnements, mit jedoch einem zusätzlichen Aufwand zur Speicherung von Nachrichten, gleich.

Keywords:
publish/subscribe, MQTT, distributed network, internet of things, client mobility, message delivery guarantee, migration process

Created from the Publication Database of the Vienna University of Technology.