Unlike traditional client-server distributed storage systems, where storage space is
supplied only by servers, Wuala is a P2P system, with more than 110 million
stored files, where each node can be supplier and client at the same time. The main
reason of the success of Wuala is the guaranteed high resource availability (99.99%
guarantee of file availability). Each new user is immediately allowed to use 1 GB of
free storage space. Moreover, users may buy more storage space and possibly sell their
own local disk space.
The distributed architecture of Wuala is based on Chord, probably the most diffused P2P
overlay scheme adopting the Distributed Structured Model (DSM) i.e., implementing a DHT
to store data or, in general, information about resources. In Chord, like in every other
decentralized structured overlay schemes, the responsibility of storing data (fragments,
in our case, or general information about shared resources) is uniformly distributed among
In Chord each data block is identified by a unique key (a m-bit hash of the block’s name)
and described by a value (typically a pointer to the block’s owner). Each node n is
assigned a random identifier in the same space of keys, and it is responsible for storing
key/value pairs for a limited subset of the entire key space. Each node maintains a
routing table with up to m entries, called the finger table. A scalable lookup algorithm
based on finger tables is defined for contacting a successor in this kind of network.
It can be proved that, with high probability, the number of nodes that must be contacted
to find a successor in a network composed by N nodes is O(logN).
With respect to the traditional Chord structure, illustrated above, Wuala defines three
node classes: Super Nodes, responsible for message routing in the whole network, Storage
Nodes, whose duty is to provide at least 1 GB disk space for storing data, and Client
Nodes, which publish and retrieve files.