Abstract

In the recent years, many peer-to-peer (P2P) storage systems have been designed and implemented with the goal in mind of providing persistent storage on top of cooperating peers. These systems provide reliability by means of redundancy. The two most common redundancy schemes are replication and erasure codes. In general, erasure codes provide the same level of reliability as replication while using significantly less storage space. When the peers can freely join and leave the system, redundancy is lost through churn. In order to provide persistent storage, the lost redundancy must be replenished eventually. While replenishing the lost redundancy in replication schemes is achieved through simple copying, it becomes a more complex process when using erasure codes: Nodes have to download a number of fragments before they can replenish the lost fragment. Therefore, erasure codes have higher maintenance costs in terms of bandwidth consumption than replication. Two main solutions have been suggested to cope with this problem: a combined technique of replication and erasure codes, and network coding technique. The first proved to be inefficient and very complex. The second was found to have higher maintenance costs than erasure codes. In this paper, we propose a third solution. It uses a combined technique of erasure codes and random linear codes. As our simulations show, our solution slightly increases the reliability level, and it reduces the maintenance costs significantly.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call