[CloudRAID] 1. Introduction

During last year a fellow student of mine, Florian Bausch, and I wrote a student research paper about how to provide availability, redundancy and security of data in the overall existing and “well known” cloud. In this context we additionally developed a prototype that we call CloudRAID. The software is licensed under the terms of the Apache 2 License and published on GitHub.

During the next weeks we are going to publish our paper as a series of posts on our blogs. This post makes the start of this series and is going to introduce the general idea behind the topic. The next part of the student research paper will be published by Florian on his blog and covers some basic topics like the “OSGi Framework” and “Cloud”. I will announce the publication here. So, stay tuned.

0. Table of Contents

  1. Introduction
  2. Basics
    1. The OSGi Framework
    2. Cloud
    3. Background on RAID Technology
    4. Encryption Standards and Hash Algorithms
  3. Concept
    1. Requirements
    2. General Architecture
    3. Server Architecture (Part 1, Part 2)
    4. Client Architecture
  4. Implementation
    1. JNI API
    2. RESTful API Endpoint Specifications
    3. Compression on RESTful API
    4. Client Software
  5. Benchmarks
    1. Environments
    2. Comparison of Java, Python and C
    3. RAID Level 5 Benchmarks
  6. Conclusion and Outlook

1. Introduction

In a world that gets more and more mobile, everybody wants to have access to his data all the time. The knowledge that one needs an important document and cannot access it because it is on the computer at home, makes one use cloud storage providers. But relying on the availability of those cloud providers is not a good idea as is shown later on. To work around the availability concerns, one might use multiple cloud storage provides and ends up with a lot of work to synchronize the storages.

Structural layout idea

Figure 1: Structural layout idea

This student research paper by Florian Bausch and Markus Holtermann finds a solution to this problem. It describes and evaluates the idea, concept and example implementation of a cloud-based Redundant Array of Independent Disks (RAID) storage system. The research goal is a file storage system, that combines multiple cloud services as back-end storages and represents them as a single front-end storage to the user. Providing several features like encryption, authorization, availability and redundancy, the cloud-based RAID can be used as a reliable backup storage even for sensitive personal information.

After introducing the basic knowledge and requirements of the research project, mainly Open Services Gateway initiative framework (OSGi), Cloud Computing, RAID and cryptography, there will be the concept of how to implement the features and building a cloud-based RAID. This elaboration is then followed by detailed implementation notes. The program will be titled CloudRAID to combine the terms “Cloud” and “RAID” as they are the foundational backgrounds for the project. To show the validity of CloudRAID, there are some benchmarks that point out the advantages and disadvantages as well as the problems that might occur.

One must keep in mind that CloudRAID will not be a RAID system in the strict sense, but uses the ideas and techniques of those systems.