Among computer users the demand for greater and greater storage spaces was always high. A new solution came aboard in the late 2000s with the groundbreaking cloud hosting providers. Each offers a free base package for those who just want to use the service for home use, but in this they set a limit of size that can be reached quite easily. The question arises that nowadays more and more devices generate data to store. We also want these contents to be available everywhere, not stepping over the limits.
We can register to multiple sites, thus increasing the capacities that will be given to us, but then we need to keep track of the files locations’. Also we will be in big trouble if one of them shuts down and is temporarily unable to be connected to.
I worked out a solution with my app called RaspberryCloud that connects any number of cloud services or FTP repositories and manages distributed files increasing redundancy, security and availability. The program uses the Random Linear Network Coding technology that encodes and decodes the data, fragmenting them into several parts.
I implemented multiple caching implementations and compared the measurements in up-and download times. I have analyzed RLNC’s settings and fine-tunings to reach optimal performance.
The program uses a multi-platform client, but it was important in this project to support the new smart devices, so I made a client for the Android OS too.