An Elasticity Framework for Distributed Message Queuing Telemetry Transport Brokers
Authors: Pham Linh Manh , Hoang Xuan - Tung 
Published: May 2021

Internet of Things (IoT) applications are increasingly making impact in all areas of humanlife. Day by day, its chatty embedded devices have been generating tons of data requiring effectivenetwork infrastructure. To deliver millions of IoT messages back and fort with as few faults aspossible, participation of communication protocols like MQTT is a must. Lightweight blueprintand friendly battery are just two of many advantages of this protocol making it become a dominantin IoT world. In real application scenarios, distributed MQTT solutions are usually required sincecentralized MQTT approach is incapable of dealing with huge amount of data. Although distributedMQTT solutions are scalable, they do not adapt to fluctuations of traffic workload. This might costIoT service provider because of redundant computation resources. This leads to the need of a novelapproach that can adapt its size changes in workload. This article proposes such an elastic solutionby proposing a flexible MQTT framework. Our MQTT framework uses off-the-shelf componentsto obtain server’s elasticity while keeping IoT applications intact. Experiments are conducted tovalidate elasticity function provided by an implementation of our framework.
Keywords
MQTT broker, Elasticity, Internet of Things, Cloud computing
References
[1] Sharma, D. Panwar, Green IoT: Advancements and Sustainability with Environment by 2050. In: 8th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions) (ICRITO), Noida, India, 2020, pp. 1127-1132.
[2] Turner, D. Reinsel, J.F. Gantz, S. Minton, The Digital Universe of Opportunities: Rich Data and the Increasing Value of the Internet of Things, IDC Report Apr, 2014.
[3] MQ Telemetry Transport. http://mqtt.org/, 2020 (30 October 2020).
[4] Mell, T. Grance, The NIST definition of cloud computing (draft), NIST special publication 800-145 (2011) 1-3.
[5] T. Eugster, P.A. Felber, R. Guerraoui, A. Kermarrec, The many faces of publish/subscribe, ACM Comput, Surv. 35(2) (2003) 114-131.
[6] Kawaguchi, M. Bandai, Edge Based MQTT Broker Architecture for Geographical IoT Applications, 2020 International Conference on Information Networking (ICOIN), Barcelona, Spain, 2020, pp. 232-235.
[7] Gupta, S. Khera, N. Turk, MQTT protocol employing IOT based home safety system with ABE encryption, Multimed Tools Appl, 2020.
[8] Mukambikeshwari, Poojary, Smart Watering System Using MQTT Protocol in IoT, Advances in Artificial Intelligence and Data Engineering. Advances in Intelligent Systems and Computing, Springer, Singapore 1133 (2020) số trang đầu-cuối.
[9] C. See, E.X. Ho, IoT-Based Fire Safety System Using MQTT Communication Protocol, International Journal of Integrated Engineering. 12(6) (2020) 207-215.
[10] Nazir, M. Kaleem, Reliable Image Notifications for Smart Home Security with MQTT, International Conference on Information Science and Communication Technology (ICISCT), Karachi, Pakistan, 2019, pp. 1-5.
[11] Alqinsi, I.J.M. Edward, N. Ismail, W. Darmalaksana, IoT-Based UPS Monitoring System Using MQTT Protocols, 4th International Conference on Wireless and Telematics (ICWT), Nusa Dua, 2018, pp. 1-5.
[12] Comparison of MQTT Brokers, https://tewarid.github.io/2019/03/21/comparison-of-mqtt-brokers.html”/, 2020 (30 October 2020).
[13] Collina, G.E. Corazza, A. Vanelli-Coralli, Introducing the QEST broker: Scaling the IoT by bridging MQTT and REST, 2012 IEEE 23rd International Symposium on Personal, Indoor and Mobile Radio Communications - (PIMRC), Sydney, NSW, 2012, pp. 36-41.
[14] Schmitt, F. Carlier, V. Renault, Data Exchange with the MQTT Protocol: Dynamic Bridge Approach, 2019 IEEE 89th Vehicular Technology Conference (VTC2019-Spring), Kuala Lumpur, Malaysia, 2019, pp. 1-5.
[15] M.V. Zambrano, M.V. Zambrano, E.L.O. Mej´ıa, X.H. Calderon´, SIGPRO: A Real-Time Progressive Notification System Using MQTT Bridges and Topic Hierarchy for Rapid Location of Missing Persons, in IEEE Access. 8 (2020) 149190-149198.
[16] The features that various MQTT servers (brokers) support. https://github.com/mqtt/mqtt.github.io/wiki/server-support”/, 2020 (30 October 2020).
[17] Jutadhamakorn, T. Pillavas, V. Visoottiviseth, R. Takano, J. Haga, D. Kobayashi, A scalable and low-cost MQTT broker clustering system, 2017 2nd International Conference on Information Technology (INCIT), Nakhonpathom, 2017, pp. 1-5.
[18] Y. Thean, V. Voon Yap, P.C. Teh, Container-based MQTT Broker Cluster for Edge Computing, 2019 4th International Conference and Workshops on Recent Advances and Innovations in Engineering (ICRAIE), Kedah, Malaysia, 2019, pp. 1-6.
[19] Detti, L. Funari, N. Blefari-Melazzi, Sub-Linear Scalability of MQTT Clusters in Topic-Based Publish-Subscribe Applications, in IEEE Transactions on Network and Service Management 17(3) (2020) 1954-1968.
[20] R. Righi, E, Correa, M.M. Gomes, C.A. Costa, Enhancing performance of IoT applications with load prediction and cloud elasticity, Future Generation Computer Systems 109 (2020) 689-701.
[21] H. Fourati, S. Marzouk, K. Drira, M. Jmaiel, DOCKERANALYZER: Towards Fine Grained Resource Elasticity for Microservices-Based Applications Deployed with Docker, 20th International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT), Gold Coast, Australia, 2019, pp. 220-225.
[22] Nardelli, V. Cardellini, E. Casalicchio, Multi-Level Elastic Deployment of Containerized Applications in Geo-Distributed Environments, 2018 IEEE 6th International Conference on Future Internet of Things and Cloud (FiCloud), Barcelona, 2018, pp. 1-8.
[23] M. Pham, A Big Data Analytics Framework for IoT Applications in the Cloud, VNU Journal of Science: Computer Science and Communication Engineering 31(2) (2015) 44-55.
[24] F. Rodrigues, I.G. Wendt, R.R. Righi, C.A. Costa, J.L.V. Barbosa, A.M. Alberti, Brokel: Towards enabling multi-level cloud elasticity on publish/subscribe brokers, International Journal of Distributed Sensor Networks 13(8) (2017) 1-20.
[25] Vavassori, J. Soriano, R. Fernandez, Enabling Large-Scale IoT-Based Services through Elastic Publish/Subscribe, Sensors, 2017.
[26] A distributed, reliable key-value store. https://etcd.io/docs/v3.4.0/, 2020 (30 October 2020).
[27] Roure, C. Goble, Software Design for Empowering Scientists, IEEE Software 26(1) (2009) 88-95.
[28] EMQX Broker. https://docs.emqx.io/broker/latest/en/, 2020 (30 October 2020).
[29] Kubernetes. https://kubernetes.io/, 2020 (30 October 2020).
[30] HAProxy. https://www.haproxy.com/solutions/load-balancing/, 2020 (30 October 2020).
[31] OpenStack: Open Source Cloud Computing Infrastructure. https://www.openstack.org/, 2020 (30 October 2020).
[32] OpenStack Heat. https://docs.openstack.org/heat/latest/, 2020 (30 October 2020).
[33] OpenStack Ceilometer. https://docs.openstack.org/ceilometer/latest/, 2020 (30 October 2020).
[34] OpenStack Aodh. https://docs.openstack.org/aodh/latest/, 2020 (30 October 2020).
[35] Gnocchi - Metric as a Service. https://gnocchi.xyz/, 2020 (30 October 2020).
[36] RabbitMQ. https://www.rabbitmq.com/, 2020 (30 October 2020).
[37] Apache Jmeter. https://jmeter.apache.org/, 2020 (30 October 2020).
[38] M. Pham, T.T. Nguyen, M.D. Tran, A Benchmarking Tool for Elastic MQTT Brokers in IoT Applications, International Journal of Information and Communication Sciences 4(4) (2019) 59-67.