Nowadays, MQTT (Message Queuing Telemetry Transport) is one of the most used protocols in the Internet of Things field. Its architecture is based on a single central broker to which different customers can connect, make requests and publish data on various subjects, called topics, through a publish/subscribe pattern. In recent years, numerous studies and projects have been carried out with the aim of making MQTT a distributed rather than centralized protocol; this paradigm shift was necessary to meet the needs of new network infrastructures such as the 5G network, based on the Multi-Access Edge Computing (MEC), which bears to move traffic and network functions towards the network edges as close as possible to users. In this context, many works have been developed which allow the MQTT protocol to create a distributed network of brokers organized through a spanning tree. Despite the benefits brought by these recent works, the main limitation of this approach lies in the fact that the creation of the network depends mainly on the characteristics of the brokers themselves and the links that connect them, not exploiting the common interests (topics) of users. In fact, considering the increasing number of "smart" objects and devices connected to the internet, it becomes increasingly necessary to be able to model services according to the requests and the interests of users. This project was born with the aim of pursuing this path, trying to study and develop new techniques for MQTT which can exploit the interests of connected users to make the distribution of messages within the network as efficient as possible. The core behind this thesis is the idea of creating different logical networks, one for each topic, which act simultaneously to ensure that each network connects only brokers whose users have the same interests. In this work, we present the design and the development of distribution algorithms to create topic-based overlay networks for MQTT distributed brokers. Our contribution is twofold: first, we implement three different distribution techniques for the HiveMQ broker; second, we test and compare our extensions with the pre-existent solutions based on the naive spanning tree topology.
Al giorno d’oggi MQTT (Message Queuing Telemetry Transport) è uno dei protocolli più utilizzati in ambito IoT. La sua architettura è basata su singolo broker centrale a cui si connettono diversi utenti, i quali possono effettuare richieste e pubblicare dati su vari argomenti, chiamati topic, attraverso un pattern publish/subscribe. Negli ultimi anni numerosi studi e progetti sono stati portati avanti con l’obiettivo di rendere MQTT un protocollo distribuito anzichè centralizzato; questo cambio di paradigma si è reso necessario per venire incontro alle esigenze delle nuove infrastrutture di rete come il 5G, basato sul Multi-Access Edge Computing (MEC), che cerca di spingere i servizi all’"edge" della rete, il più vicino possibile agli utenti. In questo contesto, sono stati sviluppati numerosi lavori che permettono al protocollo MQTT di creare una rete distribuita di broker, organizzati attraverso uno spanning tree. Nonostante i risultati raggiunti da questi ultimi progetti, la principale limitazione di questo approccio risiede nel fatto che la creazione della rete di broker dipende principalmente dalle caratteristiche dei broker stessi e dei link che li collegano, non sfruttando gli interessi (topic) comuni dei proprio utenti. Considerando infatti la quantità sempre più crescente di "smart" objects e di dispositivi connessi a internet, diventa sempre più necessario essere in grado di modellare i servizi in base alle richieste e agli interessi degli utenti. Questo progetto nasce con lo scopo di portare avanti questo percorso, cercando di studiare e sviluppare nuove tecniche per MQTT che possano sfruttare al meglio gli interessi degli utenti, in modo da rendere la distribuzione dei messaggi all’interno della rete di broker il più efficiente possibile. Il fulcro alla base di questo lavoro consiste nell’idea di creare diverse reti logiche, una per ogni topic, che possano agire simultaneamente in modo che ogni rete metta in collegamento solo i broker i cui utenti hanno gli stessi interessi. In questa tesi presentiamo la progettazione e lo sviluppo di algoritmi di distribuzione che permettono di creare reti logiche basate sui topic per broker MQTT distribuiti. Il nostro contributo è duplice: in primo luogo, implementiamo tre diverse tecniche di distribuzione per il broker HiveMQ; in secondo luogo, testiamo e confrontiamo le nostre estensioni con le soluzioni preesistenti basate sull’utilizzo di un unico spanning tree.
Topic-based routing for distributed MQTT brokers
Amico, Luca
2020/2021
Abstract
Nowadays, MQTT (Message Queuing Telemetry Transport) is one of the most used protocols in the Internet of Things field. Its architecture is based on a single central broker to which different customers can connect, make requests and publish data on various subjects, called topics, through a publish/subscribe pattern. In recent years, numerous studies and projects have been carried out with the aim of making MQTT a distributed rather than centralized protocol; this paradigm shift was necessary to meet the needs of new network infrastructures such as the 5G network, based on the Multi-Access Edge Computing (MEC), which bears to move traffic and network functions towards the network edges as close as possible to users. In this context, many works have been developed which allow the MQTT protocol to create a distributed network of brokers organized through a spanning tree. Despite the benefits brought by these recent works, the main limitation of this approach lies in the fact that the creation of the network depends mainly on the characteristics of the brokers themselves and the links that connect them, not exploiting the common interests (topics) of users. In fact, considering the increasing number of "smart" objects and devices connected to the internet, it becomes increasingly necessary to be able to model services according to the requests and the interests of users. This project was born with the aim of pursuing this path, trying to study and develop new techniques for MQTT which can exploit the interests of connected users to make the distribution of messages within the network as efficient as possible. The core behind this thesis is the idea of creating different logical networks, one for each topic, which act simultaneously to ensure that each network connects only brokers whose users have the same interests. In this work, we present the design and the development of distribution algorithms to create topic-based overlay networks for MQTT distributed brokers. Our contribution is twofold: first, we implement three different distribution techniques for the HiveMQ broker; second, we test and compare our extensions with the pre-existent solutions based on the naive spanning tree topology.File | Dimensione | Formato | |
---|---|---|---|
2022_04_Amico_01.pdf
accessibile in internet per tutti
Dimensione
1.6 MB
Formato
Adobe PDF
|
1.6 MB | Adobe PDF | Visualizza/Apri |
2022_04_Amico_02.pdf
accessibile in internet per tutti
Dimensione
787.22 kB
Formato
Adobe PDF
|
787.22 kB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/185980