SCIENTIFIC NEWS AND
INNOVATION FROM ÉTS
How to Use Blockchains to Store IoT Data - By : Syed Muhammad Danish, Kaiwen Zhang, Hans-Arno Jacobsen,

How to Use Blockchains to Store IoT Data


The original article won Best Paper Award during the 2nd IEEE International Conference on Decentralized Applications and Infrastructures (IEEE DAPPS 2020).

Syed Muhammad Danish
Syed Muhammad Danish Author profile
Syed Muhammad Danish is pursuing his PhD degree at the ÉTS FUSÉE laboratory. His research interests include IoT security and privacy, blockchains, and electric vehicles.

Kaiwen Zhang
Kaiwen Zhang Author profile
Kaiwen Zhang is a professor in the Department of Software and IT Engineering at ÉTS. His research interests include blockchain technologies, publish/subscribe systems, massive multiplayer online games, and software-defined networking.

Hans-Arno Jacobsen
Hans-Arno Jacobsen Author profile
Hans-Arno Jacobsen is a professor of Computer Engineering at University of Toronto. His research interests include event processing, publish/subscribe, service-orientation, aspect-orientation, and green middleware.

Blockchain

Purchased from Istock.com. Copyright.

SUMMARY

Current Internet of Things (IoT) infrastructures generate massive heterogeneous data, which needs to be managed in an efficient and secure manner. This article is a short presentation of BlockAM, a middleware design for the intelligent selection of storage technology for IoT applications, based on their service requirements (performance, availability, security, etc.). This design allows IoT application developers to select the best storage candidate for IoT applications, specific to their service requirements, while considering the large variety of cloud and decentralized storage options available and their underlying heterogeneous storage systems, as well as their different promised Service Level Agreement (SLA) guarantees.

Introduction

The phenomenal deployment of IoT applications worldwide results in the production of terabytes of heterogeneous data—underlying communication protocols, data formats, and technologies—per day with distinct service requirements in terms of performance, security, privacy, availability, and pricing. Relying on a single cloud technology to store this data tends to set limits on the applications, which could be alleviated by another storage solution. Moreover, current centralized cloud storage solutions bring significant security and trust issues as sensitive client data can easily be leaked from cloud servers. 

Recently, decentralized storage solutions are gaining traction as an alternative to cloud storage. Such solutions are usually based on a combination of blockchain technology and peer-to-peer (P2P) networking, and their architecture differs significantly from cloud technologies, possessing distinct characteristics in terms of security, privacy, performance, price, and availability, while offering competitive pricing. Therefore, it is necessary for IoT developers to consider large varieties of available storage technologies for data storage of IoT applications. 

A storage selection middleware—a software that acts as an intermediary between two applications or services to facilitate communication—will help in better understanding IoT application parameters and characteristics of storage technologies aimed at decision-making on storage selection, directly impacting performance and security of IoT applications in a dynamic environment. This study analyzes the theoretical storage selection problem, its proposed practical solutions, and evaluates said solutions.

Blockchain Motivation

Blockchain is a type of distributed ledger and is managed by a P2P network without the involvement of a trusted third party. The information stored in the blockchain network is immutable and tamper-proof. All the entities in the network—IoT applications, storage technologies, middleware, and fog nodes—are directly connected to the blockchain network, as shown in Figure 1. 

The main objective of the blockchain network in our architecture is to build trust among network entities, and to ensure accountability, traceability and auditability of middleware decisions. Moreover, the blockchain network also ensures the integrity of stored IoT data by storing the data hash.

Bockchain in the proposed storage framework

Figure 1 Blockchain Motivation

BlockAM Design

The proposed middleware architecture is depicted in Figure 2. Compared to the traditional IoT fog architecture, BlockAM jointly considers decentralized storage technologies along with cloud storage, and intelligently selects a storage technology for IoT applications. Moreover, the blockchain network is also used to store critical IoT data on-chain to provide 100% availability.

BlockAM framework

Figure 2 BlockAM Architecture

 An Optimization Problem Based on Minimum Cost

We theoretically formulate the storage selection problem as a decision optimization problem, with a goal of minimizing the overall cost associated with storage technologies, while fulfilling the service requirements of IoT applications. We define total cost as a combination of five components:  bandwidth cost, availability cost, retrieval and storage cost, latency cost, and privacy cost. The decision variable defined in the optimization problem is a binary value, i.e. one corresponding to the selection of storage technology and zero otherwise. 

Proposed Algorithms

We proved our formulated optimization problem to be NP-Hard, i.e. that the solution to the problem cannot be found in polynomial time. Therefore, in order to approximate a solution to the optimization problem, we propose two heuristic algorithms: Dynamic programming-based (DP) heuristic and Greedy style (GS) heuristic. 

DP heuristic creates a 2-D table to store parameters associated with the storage technologies and selects the best-fitted storage solution for an IoT application using the first-fit strategy. In contrast, GS heuristic selects a storage technology in a random fashion and a storage solution as soon as a certain number of defined optimization conditions are fulfilled. 

It is not always necessary for an IoT application owner to consider all service requirements, for example; the application owner may only be interested in minimum pricing. GS heuristic is specifically designed for this case. Conversely, we argue in favour of DP heuristic if all service requirements are considered for IoT applications. 

Comparison Between Algorithms

A series of simulations were conducted in order to analyze the performance of the proposed design. Figure 3 shows the accuracy of two heuristics in terms of optimal decisions. GS-5 signifies that five service requirements are considered in the optimization problem. Note that DP heuristic achieves approximately 92% accuracy, as compared to maximum accuracy of around 80% by GS heuristic with all service requirements. Similarly, Figure 4 shows the runtime comparison of the proposed heuristics. Note that the GS heuristic outperforms the DP-based heuristic in both cases, however, it gives poor accuracy as compared to the DP-based heuristic, as shown in Figure 3. Moreover, both algorithms significantly reduce the optimization problem runtime as compared to the specific solution. Furthermore, pricing associated with the data storage of specific IoT applications decreases by up to 31.2% with our middleware solution, as shown in Figure 5.

Comparison between Dynamic programming-based (DP) heuristic and Greedy style (GS) heuristic.

Figure 3 Accuracy Comparison

Comparison in runtime between different algorithms

Figure 4 Runtime Comparison

Savings achieved with the middleware

Figure 5 Pricing Comparison

Conclusion

Our performance analysis in terms of accuracy and runtime shows the effectiveness and efficacy of the proposed BlockAM. Moreover, pricing for the storage of IoT data decreases significantly with our middleware solution. But most importantly, the proposed design allows IoT application developers to select the best storage candidate for IoT applications while considering a large variety of available storage technologies, thus reducing the monopoly of giant cloud technologies.

Additional Information

For more information on this research, please refer to the following conference article: Danish, Syed Muhammad, Kaiwen Zhang, and Hans-Arno Jacobsen. “BlockAM: An adaptive middleware for intelligent data storage selection for internet of things.” In IEEE International Conference on Decentralized Applications and Infrastructures (DAPPS), 2020.

Syed Muhammad Danish

Author's profile

Syed Muhammad Danish is pursuing his PhD degree at the ÉTS FUSÉE laboratory. His research interests include IoT security and privacy, blockchains, and electric vehicles.

Program : Information Technology Engineering 

Research laboratories : FUSÉE- Fast Unified Scalable Event processing Event messaging 

Author profile

Kaiwen Zhang

Author's profile

Kaiwen Zhang is a professor in the Department of Software and IT Engineering at ÉTS. His research interests include blockchain technologies, publish/subscribe systems, massive multiplayer online games, and software-defined networking.

Program : Software Engineering  Information Technology Engineering 

Research laboratories : FUSÉE- Fast Unified Scalable Event processing Event messaging 

Author profile

Hans-Arno Jacobsen

Author's profile

Hans-Arno Jacobsen is a professor of Computer Engineering at University of Toronto. His research interests include event processing, publish/subscribe, service-orientation, aspect-orientation, and green middleware.

Program : Information Technology Engineering 

Author profile


Research laboratories :

FUSÉE- Fast Unified Scalable Event processing Event messaging 

Field(s) of expertise :

Blockchains 

Get the latest scientific news from ÉTS