Topology Sensitive Replica Selection

As the disks typically found in personal computers grow larger, protecting data by replicating it on a collection of "peer" systems rather than on dedicated high performance storage systems can provide comparable reliability and availability guarantees but at reduced cost and complexity. In order to be adopted, peer-to-peer storage systems must be able to replicate data on hosts that are trusted, secure, and available. However, recent research has shown that the traditional model, where nodes are assumed to have identical levels of trust, to behave independently, and to have similar failure modes, is over simplified. Thus, there is a need for a mechanism that automatically and efficiently selects replica nodes from a large number of available hosts with varying capabilities and trust levels. In this paper we present an algorithm to handle replica node selection either for new replica groups or to replace failed replicas in a peer-to-peer storage system. We show through simulation that our algorithm maintains the node inter-connection topology minimizing the cost of recovery from a failed replica, measured by the number of nodes affected by the failure and the number of inter-node messages

[1]  Marvin Theimer,et al.  Managing update conflicts in Bayou, a weakly connected replicated storage system , 1995, SOSP.

[2]  Magnus Karlsson,et al.  Taming aggressive replication in the Pangaea wide-area file system , 2002, OPSR.

[3]  Jacob R. Lorch,et al.  Farsite: federated, available, and reliable storage for an incompletely trusted environment , 2002, OSDI '02.

[4]  Robert Tappan Morris,et al.  Ivy: a read/write peer-to-peer file system , 2002, OSDI '02.

[5]  Ben Y. Zhao,et al.  OceanStore: an architecture for global-scale persistent storage , 2000, SIGP.

[6]  Antony I. T. Rowstron,et al.  Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility , 2001, SOSP.

[7]  Ben Y. Zhao,et al.  Pond: The OceanStore Prototype , 2003, FAST.

[8]  Stefan Savage,et al.  Understanding Availability , 2003, IPTPS.

[9]  R. Anderson The Eternity Service , 1996 .

[10]  Banu Özden,et al.  StarFish: highly-available block storage , 2003, USENIX Annual Technical Conference, FREENIX Track.

[11]  Zhichen Xu,et al.  Towards a semantic, deep archival file system , 2003, The Ninth IEEE Workshop on Future Trends of Distributed Computing Systems, 2003. FTDCS 2003. Proceedings..

[12]  Robbert van Renesse,et al.  A Gossip-Style Failure Detection Service , 2009 .

[13]  John Kubiatowicz,et al.  Introspective failure analysis: avoiding correlated failures in peer-to-peer systems , 2002, 21st IEEE Symposium on Reliable Distributed Systems, 2002. Proceedings..

[14]  Dmitry Brodsky,et al.  Policy driven replication , 2005 .

[15]  Sean Quinlan,et al.  Venti: A New Approach to Archival Storage , 2002, FAST.

[16]  David R. Karger,et al.  Wide-area cooperative storage with CFS , 2001, SOSP.

[17]  J. Frankel,et al.  The gnutella protocol specification v0.4 document revision 1.2 , 2000 .

[18]  Keith Marzullo Theory and Practice for Fault-Tolerant Protocols on the Internet , 2002 .

[19]  B. Cohen,et al.  Incentives Build Robustness in Bit-Torrent , 2003 .