Chocolate-Cloud provides efficient and flexible cloud technology solutions using erasure correcting codes. In particular, we exploit the power of network coding for delivering high performance and reliability to our customers.
Network coding provides a clever and disruptive twist to distributed and cloud storage:
- It allows us to leverage the power of recoding for reducing network usage and processing in the event of the loss of a storage device.Traditional storage systems need to collect enough pieces from different devices in a central location, decode them, then code to load a new device with coded packets. Network coding allows us to recode distributed fashion without decoding, thus reducing the computational effort and the amount of data traversing the network.
- It is an inherently distributed and flexible coding approach suited for distributed storage. Traditional systems use erasure correcting codes that are carefully designed, static, and meant to be generated in a centralized fashion. A change in system parameters means the use of a different code in current storage systems. But not so with network coding.
Storage for Reliability, but also for Speed
Although the trend has been to take data to the cloud, providing reliability and high performance are key concerns of end users and corporations relying on the cloud for their day-to-day operations.
To provide reliability, service providers typically replicate data across data centers in different locations. The idea is that mirrors (replicas) of the original data can be used in the event of cloud failures. However, replication dramatically increases the costs in storage (number of devices used) and in energy (to power up the various data centers). Ultimately, cloud outages have been growing in frequency in the latter years and affecting most major cloud services, including Dropbox, Apple, Amazon, Microsoft, and Google.
Chocolate Cloud relies on Random Linear Network Coding (RLNC) and similar techniques to provide an alternative to storying copies. Our goal is really to store mathematical representations of the data, which are more useful for recovering the original data in the event of failures. This increases reliability while reducing the cost in storage. We can now combine multiple clouds to store the data with limited storage costs and design the system to withstand the failure of multiple clouds…it is all about the level of reliability our customers need.
Chocolate Cloud can also offer a speed-up in download time to its customers. Using a single cloud ties you to the performance of that particular cloud. Aggregating multiple clouds and exploiting them simultaneously allows us to aggregate the download speed of the different providers: more speed for the end users! Without compromising reliability or driving up too much the storage costs, Chocolate Cloud provides adaptive solutions to very different cloud storage providers.
Data Privacy by Design
The nature of our underlying technology has one interesting byproduct: data privacy. Replication of data in multiple data centers or clouds makes your privacy as strong as the weakest cloud. Once one cloud is compromised, your data is compromised.
Since our code is not known a priori, but has randomness in its structure, an eavesdropper needs to compromise multiple clouds to get a chance to peek into your data…but that is just the first step. We have more tricks under our sleeves.