Context- and Template-Based Data Compression Approach to Improve Resource-Constrained IoT Systems Interoperability
The Internet of Things (IoT) has emerged as a powerful paradigm with a huge range of possibilities, promoting its adoption across multiple technological domains. Roughly speaking, the IoT abstraction aims to interconnect every kind of things, like simple devices (a light bulb or a thermostat) or more complex and abstract systems, e.g., facility management. Behind these things, there are physical devices tasked with specific sensing or actuation roles. Similarly to the things themselves, these devices often have significant differences among them in terms of capabilities and the set of communication technologies they use. This heterogeneity leads to an integration challenge regarding interoperability at the connectivity level, including data representation.
A common approach to deal with interoperability in IoT systems is to re-use Internet mature technologies and approaches. At data level, this can be implemented by structuring data following a standard data model and using text-based data formats, e.g., XML. However, the type of devices usually deployed in IoT systems has limited capabilities as well as scarce processing and communication resources. Due to these restrictions, text-based data formats cannot be integrated into resource-constrained devices and networks in an easy and efficient way. Consequently, these limitations also apply to interoperable technologies that rely on text-based data formats such as Web Services.
In this thesis, we present a novel data compression approach for text-based data formats, namely Context- and Template-based Compression (CTC), which is specially designed taking into account the limitations of resource-constrained devices and networks. CTC enhances data-level interoperability in IoT systems while keeping very low resource requirements (in terms of communication bandwidth, memory size and processing power). This thesis also includes the specification of a set of complementary solutions which facilitate the deployment of CTC in IoT networks and its integration into applications targeted at resource-constrained devices.
Interestingly, CTC is designed with interoperability and extensibility in mind so that it can be applied to different data formats. This work also includes the evaluation of the proposed solution for two popular data formats, XML and JSON, both in real and simulated scenarios.
Additionally, the results of the evaluations have been compared with some other current data compression approaches, showing that CTC is a suitable candidate for data compression in resource-constrained IoT deployments.