DistOS-2011W Wuala: Difference between revisions

From Soma-notes
Lmundt (talk | contribs)
Lmundt (talk | contribs)
Line 23: Line 23:
Wuala is a distributed storage system.  Wuala can be thought of as a peer-to-peer system with a both a cryptographic overlay and a distribution overlay.  Unlike most other storage systems Wuala leverages the storage and bandwidth of it's client's systems.  As a system that relies on the contributions of it's users Wuala has a subsystem that ensures fairness and discourages freeloading.
Wuala is a distributed storage system.  Wuala can be thought of as a peer-to-peer system with a both a cryptographic overlay and a distribution overlay.  Unlike most other storage systems Wuala leverages the storage and bandwidth of it's client's systems.  As a system that relies on the contributions of it's users Wuala has a subsystem that ensures fairness and discourages freeloading.


Client nodes both put and get files from the Wuala cloud ( network ).  The cloud itself can be conceived as being composed of client, storage and super nodes<ref> Gromilund Dominik. 2007. Wuala - A Distributed File System. ''Computer Engineering and Networks Laboratory, ETH Zurich. http://www.youtube.com/watch?v=3xKZ4KGkQY8</ref>.
Wuala provides private user storage but it also provides a fairly rich infrastructure for sharing files.  Users can have three levels that they can share files on, individuals, groups and public.  These permissions are stored as metadata along with the data it represents.
 
Clients both put and get files from the Wuala cloud ( network ).  The cloud itself can be conceived as being composed of client, storage and super nodes<ref> Gromilund Dominik. 2007. Wuala - A Distributed File System. ''Computer Engineering and Networks Laboratory, ETH Zurich. http://www.youtube.com/watch?v=3xKZ4KGkQY8</ref>. In this oversimplified view super nodes are responsible for the routing of requests, storage nodes are responsible for storing the files and clients are only responsible for consumption. 
 
Increasing in detail: in Wuala all stored files are broken into fragments for speed and reliability.  These fragments are stored on a number of storage nodes requiring significant routing solutions to provide quick lookup for storage and retrieval.
 


== Speed ==
== Speed ==
Erasure codes


== Security ==
== Security ==
Wuala is designed with security in the forefront.  All fragments are encrypted on the client system before being fragmented and stored in the Wuala cloud. 


== Reliability ==
== Reliability ==
Erasure codes
== Fairness ==


=Experiences/Comparison (multiple sections)=
=Experiences/Comparison (multiple sections)=

Revision as of 04:54, 8 March 2011

Introduction

We live in an unprecedented era of communication with most modern computers being connected to each other via the internet. This interconnectivity provides an age of instant communication and information sharing. This same connectivity should protect users from file loss as the user's files should not have to exist solely on local storage, the files should also exist in storage in the internet. With files stored in the internet these same files should then be available from any computer a user deign's to sit at. This is a vision that others share and have started to implement; there are now abundant online services that help provide online storage. However these system's all impose a central authority that allows access and provides the storage itself. I prefer the concept of a service ran between peers where user's give up space and bandwidth from their local system and in turn receive fast, secure and reliable distributed online storage. Currently the system that comes closes to this is Wuala. In this paper I explore the technology behind Wuala and it's relative viability.

End with a paragraph outlining the rest of the document.<ref> A. S. Tanenbaum, Distributed Operating Systems. Prentice Hall, 1995.</ref>

Previous Work/Alternative Solutions

In the area of online/distributed storage there are a number of existing works. The can be seperated into two main divisions; distributed file systems and service oriented systems.

Distributed file systems include academic offerings such as OpenAFS (Andrew File System), OceanStore, Ceph and the commercially driven GFS( Google File System ) and it's open source implementation HFS(Hadoop File System). The weaknesses and strengths and viability of these solutions have been examined thoroughly in class and I won't rehash those discussions here.

The other division of solutions can be visualized as a small two dimensional matrix with one axis consisting of open source and closed and the second axis being divided into backup only and backup and sync. The number of closed source options is exceptionally high including SugarSync, Syncplicity, SpiderOak, BOX.Net, Tonido, Unilium, BackBlaze, Mozy, Carbonite, UbuntuOne, Wuala and the prolific of the bunch Dropbox. On the open source side there is Cyber Duck, iFolder, RubyDrop, and SparkleShare. Neither of these lists are exhaustive but both provide a large portion of the well known offerings.

Common to the majority of these offerings is that storage is centralized. Some of the corporations behind the closed source solutions run their own data centres but, most rely on the storage services of current cloud providers. The exceptions are RubyDrop and SparkleShare both of which rely on GIT which is a distributed version control system. Unluckily neither are ready for general use and are still in the early stages of development. In contrast Wuala is a working system that uses the storage of participants machines for it's storage requirements.

System Description

Preamble

Wuala's designers intended it to be fast, secure and reliable. With these goals they researched, implemented and published for three year's before public testing. Wuala is an academic project turned commercial offering. Wuala's roots can be traced to a group of graduate students at Swiss Federal Institute of Technology Zurich. The students involved now run the service though their company Celeido Inc. As such there is no source code available but due to Wuala's academic roots there are a number of papers and presentations that present the engineering and idea's behind Wuala.

Overview

Wuala is a distributed storage system. Wuala can be thought of as a peer-to-peer system with a both a cryptographic overlay and a distribution overlay. Unlike most other storage systems Wuala leverages the storage and bandwidth of it's client's systems. As a system that relies on the contributions of it's users Wuala has a subsystem that ensures fairness and discourages freeloading.

Wuala provides private user storage but it also provides a fairly rich infrastructure for sharing files. Users can have three levels that they can share files on, individuals, groups and public. These permissions are stored as metadata along with the data it represents.

Clients both put and get files from the Wuala cloud ( network ). The cloud itself can be conceived as being composed of client, storage and super nodes<ref> Gromilund Dominik. 2007. Wuala - A Distributed File System. Computer Engineering and Networks Laboratory, ETH Zurich. http://www.youtube.com/watch?v=3xKZ4KGkQY8</ref>. In this oversimplified view super nodes are responsible for the routing of requests, storage nodes are responsible for storing the files and clients are only responsible for consumption.

Increasing in detail: in Wuala all stored files are broken into fragments for speed and reliability. These fragments are stored on a number of storage nodes requiring significant routing solutions to provide quick lookup for storage and retrieval.


Speed

Erasure codes

Security

Wuala is designed with security in the forefront. All fragments are encrypted on the client system before being fragmented and stored in the Wuala cloud.


Reliability

Erasure codes

Fairness

Experiences/Comparison (multiple sections)

In multiple sections, describe what you learned.

Discussion

What was interesting? What was surprising? Here you can go out on tangents relating to your work

Conclusion

Summarize the report, point to future work.

References

<ref> Gromilund Dominik, Meisser Luzius, Schmid Stefan, Wattenhofer Roger. 2006. Cryptree: A Folder Tree Structure for Cryptographic File Systems. Computer Engineering and Networks Laboratory, ETH Zurich. http://dcg.ethz.ch/publications/srds06.pdf</ref>

<ref> Gromilund Dominik, Meisser Luzius, Schmid Stefan, Wattenhofer Roger. 2006. Havelaar: A Robust and Efficient Reputation System for Active Peer-to-Peer Systems. Computer Engineering and Networks Laboratory, ETH Zurich. http://dcg.ethz.ch/publications/netecon06.pdf</ref>

<ref> Gromilund Dominik, Miller Peter. 2007. A Pattern Language for Overlay Networks in Peer-to-Peer Systems. Department of Computer Science, ETH Zurich. http://people.inf.ethz.ch/lehnerh/pm/publications/getpdf.php?bibname=Own&id=GrolimundMueller06.pdf</ref>

<ref> Gromilund Dominik. 2007. Wuala - A Distributed File System. Computer Engineering and Networks Laboratory, ETH Zurich. http://www.youtube.com/watch?v=3xKZ4KGkQY8</ref>

<references/> Give references in proper form (not just URLs if possible, give dates of access).