Abstract:
The Internet of Things or IOT is a set of organized computing devices that are provided with exclusive identifiers and the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction. The Internet of Things spreads internet connectivity beyond traditional devices like desktop and laptop computers, smartphones and tablets to a range of devices and everyday things that use embedded technology to connect and interact with the outside environment, all via the Internet. The architecture of IOT will greatly grow in the next few years and there will a big demand in the field of IOT devices performances. IHS forecasts that the IoT market will grow from an installed base of 15.4 billion devices in 2015 to 30.7 billion devices in 2020 and 75.4 billion in 2025 as shown in the Figure 1 - [2].
In order to cope up with the impending needs, we have to improve the current application protocols used in the internet of things. One of the most popular application protocols for IOT would be MQTT - Message Queue Telemetry Transport). As the Internet of Things ' growth explodes, the underlying fundamental protocols are changing. In particular, MQTT, or Message Queue Telemetry Transport, is now the dominant protocol for IoT globally.
MQTT is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. It has been designed as an extremely lightweight messaging protocol packaged as publish / subscribe.
MQTT is alright equipped with compression technologies like deflate. However, our goal is to further enhance compression by introducing Shared Dictionary Compression. Shared Dictionary Compression is tool which uses the redundancies in the messages to form dictionaries for frequently occurring key strings. These dictionaries are distributed among the
iv
devices and for compression and decommission. This could greatly in terms of the compression and hence the bandwidth.
However, it must be noted that enabling Shared Dictionary Analysis would require detecting frequency of repeating keywords among the messages. This could induce additional computation on top of MQTT. Moreover, the distribution of dictionary might have adverse effects on the bandwidth.
So, we will need to find the right balance between the achievable bandwidth reduction and computation complexity. In order to find the right tradeoff between computational costs and bandwidth reduction. We will need to implement an algorithm to assess the performance and determine the right settings for the SDC to function. This could be called as the adaptive algorithm, as the settings would greatly depend on the dataset used.
In terms of our research, we will initially evaluate the Compression Potential of SDC + MQTT. After confirming the potential of SDC, we will evaluate the same with adaptive algorithm. Consequently, using the adaptive algorithm, we will find the right balance between the performance and compression, by evaluating the compression potential and computational costs of SDC-MQTT.
Finally, to further optimize, we will need to analysis the ideal data format for SDC-MQTT for fully optimized performance of SDC-MQTT.
Citation:
Vinyagamany, S. (2019). Analysis of the performance of MQTT with shared dictionary compression (SDC) in IOT networks [Master’s theses, University of Moratuwa]. Institutional Repository University of Moratuwa. http://dl.lib.mrt.ac.lk/handle/123/15788