PiCsMu: Platform-Independent Cloud Storage System for Multiple Usage

What is it?

PiCsMu is a cloud storage system implemented as a cloud-based overlay. The built overlay is used in order to store, retrieve, and share files – either private (not sharing) or in a public fashion (sharing). In the private scope, PiCsMu users can upload files to their own use. Just who uploaded can download the file. In the public scope, PiCsMu users can choose if files should be available to a set of other PiCsMu users (private share), or if everyone part of the PiCsMu network can access them (public share).

Find more about PiCsMu by acessing the dedicated PiCsMu Project website: http://www.pics.mu

How does it work?

The PiCsMu application has an innovative manner to store data due to the capability to fragment files into several chunks (file parts) of different file types, and de facto store these file parts into different Cloud Services (independent of which file type is accepted by such Cloud Service).

Each file part is encrypted with a different encryption method, with a different encryption salt, Initialization Vector (IV), and key. Moreover, each file part is encoded using an encoder which transforms the file part data into a specific file type – e.g., data can be encoded into an image through the means of Steganography. Several encoders are provided in the scope of PiCsMu application.

Use Case

In order to illustrate the PiCsMu system, the example of a PiCsMu user uploading a PDF file X for private use is given. The first step is to check which Cloud Services credentials the PiCsMu user has registered for its use. Assuming that Google Picasa, SoundCloud, Dropbox, and Facebook credentials are added to the PiCsMu application, the fragmentation process is able to calculate how many file parts the PDF X can be split – based on the maximum upload size of each Cloud Service. In this example, it is possible to assume that the PDF X was divided into 6 file parts. Each of these file parts should be first encrypted and go through the encoding process. The encoding process will consider each Cloud Service available and check which file type is accepted to upload to the given service. For example, Google Picasa just accepts images or videos (JPG, PNG, AVI, etc), SoundCloud just accept audio files (MP3, WAV, OGG, etc), Facebook accepts either images or video files, and Dropbox accepts any kind of file type. Therefore, the PDF X is fragmented to 6 parts, in which each of these 6 parts are different encoded files (of different file types) carrying the PDF data: 2 JPG images, 1 PNG image, 1 MP3 audio file, 1 WAV audio file, and one plain text file. As the last step, these files are stored into the Cloud Services and the PiCsMu central server that hosts the private index is informed about the process. When the PiCsMu user wants to download the PDF X, the PiCsMu application first contacts the central server and checks the index for the specific PDF file. Based on the index, the PiCsMu application is aware of where the file parts are located (in which services), how the file parts were encoded, how the file parts were encrypted, etc., and it is able to join the PDF X file as in its original format.