Storage/Energy Efficiency in IoT
With recent advances in machine-to-machine communication built on cloud computing and networks of data-gathering sensors, the Internet-Of-Things (IoT) has become an important part of the system and software community. IoT devices generate massive amounts of data which makes the cloud an ideal storage solution for such data. Although cloud storage is preferred over on-premise storage due to its ease of access and low cost, IoT data storage using a single cloud provider has its share of disadvantages. Relying on a single cloud provider to store all the data compromises data reliability while simultaneously sacricing data availability.
Our proposed study focuses on leveraging distributed storage properties to securely store IoT data in a multi-cloud storage module while ensuring data availability. Cloud computing has been trending for a while now and is getting more complex each day. A few years ago the idea of placing workloads on a single public or private cloud seemed very enticing. But with the introduction of the hybrid cloud architecture, the variety of choices made it a more attractive option for many enterprises. As more and more enterprises are avoiding dependence on a single public cloud provider, cloud computing is making a shift towards a multi-cloud strategy.
A multi-cloud strategy is the use of two or more cloud computing services at the same time and offers a certain flexibility which allows the user to choose between a variety of features made available at the most competitive pricing. Organizations also believe that a multi-cloud strategy helps avoid vendor lock-ins and tackles cloud reliability in addition to providing benefits of data sovereignty.
We propose a multi-cloud storage model to securely store data from IoT devices. Data from the devices is stored across multiple cloud services. This has advantages like data reliability and data availability. Users do not have to rely on a single service to store their data and no single service will have complete access to the data. We use secret-splitting to store data chunks across the services such that all services have an erasure coded piece of the data but that piece reveals no information about the original data. This prevents services from using the user data incorrectly or maliciously. Additionally data loss is prevented incase of failures in individual services. As long as a sucient number of cloud services are functional and available the data can be accessed and recovered.
Generally IoT devices do not have enough computation power to process large amounts of data which is why we use a gateway device to perform all our computations. Every network has their own gateway device for a group of Things. This device takes care of secure computations and access to the IoT data. The device accepts split and rebuild requests from the users and pulls or sends data to the multi-cloud services on priority basis.
Project started in Spring 2018