BlockAM: An Adaptive Middleware for Intelligent Data Storage Selection for Internet of Things

Current Internet of Things (IoT) infrastructures, with its massive data requirements, rely on cloud storage: however, usage of a single cloud storage can place limitations on the IoT applications in terms of service requirements (performance, availability, security etc.). Multi-cloud storage architecture has been emerged as a promising infrastructure to solve this problem, but this approach has limited impact due to the lack of differentiation between competing cloud solutions. Multiple decentralized storage solutions (e.g., based on blockchains) are entering the market with distinct characteristics in terms of architecture, performance, security and availability and at a lower price compared to cloud storage. In this work, we introduce BlockAM: an adaptive middleware for the intelligent selection of storage technology for IoT applications, which jointly considers the cloud, multi-cloud and decentralized storage technologies to store large-scale IoT data. We model the cost-minimization storage selection problem and propose two heuristic algorithms: Dynamic Programming (DP) based algorithm and Greedy Style (GS) algorithm, for optimizing the choice of data storage based on IoT application's service requirements. We also employ blockchain to store IoT data on-chain in order to provide data integrity, auditability and accountability to the middleware architecture. Comparisons among the heuristic algorithms are conducted through extensive experiments, which demonstrates that DP heuristic and GS heuristic achieve up to 92% and 80% accuracy respectively. Moreover, the price associated with a specific IoT application data storage decrease by up to 31.2% by employing our middleware solution.

[1]  Wouter Joosen,et al.  SCOPE: self-adaptive and policy-based data management middleware for federated clouds , 2019, Journal of Internet Services and Applications.

[2]  Stephen B. Wicker,et al.  Vegvisir: A Partition-Tolerant Blockchain for the Internet-of-Things , 2018, 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS).

[3]  Syed Muhammad Danish A blockchain-based adaptive middleware for large scale internet of things data storage selection , 2019, Middleware Doctoral Symposium.

[4]  Stefan Savage,et al.  Understanding Availability , 2003, IPTPS.

[5]  Cong Wang,et al.  Enabling Public Verifiability and Data Dynamics for Storage Security in Cloud Computing , 2009, ESORICS.

[6]  Chaitanya Swamy,et al.  Approximation Algorithms for Data Placement Problems , 2008, SIAM J. Comput..

[7]  Brendan J. Frey,et al.  Solving the Uncapacitated Facility Location Problem Using Message Passing Algorithms , 2010, AISTATS.

[8]  Kaiwen Zhang,et al.  Deconstructing Blockchains: Concepts, Systems, and Insights , 2018, DEBS.

[9]  Ashutosh Saxena,et al.  Data integrity proofs in cloud storage , 2011, 2011 Third International Conference on Communication Systems and Networks (COMSNETS 2011).

[10]  Vincenzo Piuri,et al.  Supporting Application Requirements in Cloud-based IoT Information Processing , 2016, IoTBD.

[11]  Ari Juels,et al.  HAIL: a high-availability and integrity layer for cloud storage , 2009, CCS.

[12]  Samir Khuller,et al.  Greedy strikes back: improved facility location algorithms , 1998, SODA '98.

[13]  Xuan Wang,et al.  Data Centers Selection for Moving Geo-distributed Big Data to Cloud , 2019 .

[14]  Bu-Sung Lee,et al.  Towards Achieving Accountability, Auditability and Trust in Cloud Computing , 2011, ACC.

[15]  Dan Dobre,et al.  Hybris: Robust Hybrid Cloud Storage , 2014, SoCC.

[16]  Eric Pardede,et al.  MCDB: Using Multi-clouds to Ensure Security in Cloud Computing , 2011, 2011 IEEE Ninth International Conference on Dependable, Autonomic and Secure Computing.

[17]  Athanasios V. Vasilakos,et al.  Secure Data Sharing and Searching at the Edge of Cloud-Assisted Internet of Things , 2017, IEEE Cloud Computing.

[18]  Ronald L. Rivest,et al.  Introduction to Algorithms, third edition , 2009 .

[19]  Shawn Wilkinson,et al.  Storj A Peer-to-Peer Cloud Storage Network , 2014 .

[20]  Simon Duquennoy,et al.  Towards Blockchain-based Auditable Storage and Sharing of IoT Data , 2017, CCSW.

[21]  Nick Lambert,et al.  Safecoin : The Decentralised Network Token , 2015 .

[22]  Wouter Joosen,et al.  Towards an Adaptive Middleware for Efficient Multi-Cloud Data Storage , 2017, CCB@EuroSys.

[23]  Hong Li,et al.  Blockchain for Large-Scale Internet of Things Data Storage and Protection , 2019, IEEE Transactions on Services Computing.

[24]  Salil S. Kanhere,et al.  Towards an Optimized BlockChain for IoT , 2017, 2017 IEEE/ACM Second International Conference on Internet-of-Things Design and Implementation (IoTDI).

[25]  Kaiwen Zhang,et al.  Towards Dependable, Scalable, and Pervasive Distributed Ledgers with Blockchains , 2018, 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS).

[26]  Frank Breitinger,et al.  Blockchain-Based Distributed Cloud Storage Digital Forensics: Where's the Beef? , 2019, IEEE Security & Privacy.

[27]  Ethan Katz-Bassett,et al.  SPANStore: cost-effective geo-replicated storage spanning multiple cloud services , 2013, SOSP.

[28]  Luis Rodero-Merino,et al.  Finding your Way in the Fog: Towards a Comprehensive Definition of Fog Computing , 2014, CCRV.

[29]  Hakim Weatherspoon,et al.  RACS: a case for cloud storage diversity , 2010, SoCC '10.

[30]  Fei Xu,et al.  Winning at the Starting Line: Joint Network Selection and Service Placement for Mobile Edge Computing , 2019, IEEE INFOCOM 2019 - IEEE Conference on Computer Communications.