We design and analyze the performance of a redundancy management mechanism for peer-to-peer backup applications. Armed with the realization that a backup system has peculiar requirements - namely, data is read over the network only during restore processes caused by data loss - redundancy management targets data durability, i.e. guaranteeing that data is not lost, rather than attempting to make each piece of information available at any time.
In our approach each peer determines, in an on-line manner, an amount of redundancy sufficient to counter the effects of peer deaths, while preserving acceptable data restore times. Our experiments, based on trace-driven simulations, indicate that our mechanism can reduce the redundancy by a factor between two and three with respect to redundancy policies aiming for data availability. These results imply an according increase in storage capacity and decrease in time to complete backups, at the expense of longer times required to restore data. We believe this is a very reasonable price to pay, given the nature of the application.
We complete our work with a discussion on practical issues, and their solutions, related to which encoding technique is more suitable to support our scheme.