Overview
We need clever solutions that manage
distributed network systems. LanStore is a highly reliable, fully decentralized
storage system which can be constructed from already existing desktop machines.
Our software utilizes the otherwise wasted storage capacity of these machines.
Reliability is achieved with the help of a traditional erasure coding algorithm
called the Reed-Solomon algorithm which generates n error correcting code items
for each m data item. The distributed behavior is controlled by a voting- based
quorum algorithm. These provide us with the capability of tolerating up to n
simultaneously failing machines. As LanStore is intended to be used in LAN
environments, instead of employing an overlay multicast solution we used an IP
level multicast service. To use the bandwidth effectively, we designed a
special UDP-based multicast flow control protocol. Our solution supports both
IPv4 and IPv6. For the implementation platform we chose the Windows family and
the .NET framework as they are the most popular platforms in offices and
university departments. So far we have implemented a prototype version of this
solution. We measured its performance and the results indicate that this
solution can provide a throughput comparable to the currently used network file
systems, its performance depending on the selected error correcting capability,
the number of failing machines and the performance of the client machine. In
special cases like video-on-demand with a high client number our solution can
outperform the traditional single server solutions.
|