Maintaining object ordering in a shared P2P storage environment

To be considered a viable storage solution, modern peer-to-peer (P2P) storage systems must exhibit high availability and data persistence characteristics. In an attempt to provide these, most systems assume a continuously connected and available underlying communication infrastructure. This however is not warranted in any real large-scale distributed system, and thus needs to be addressed. Continuous update systems that allow updating data by multiple writers have harder problems to overcome since the ordering of updates needs to be maintained independently of connectivity conditions. In this paper we propose a solution for maintaining a global view of the ordering even when severe connectivity disruptions take place, allowing the system to continue functioning while connectivity is disrupted and to recover from the disruption smoothly when connectivity is restored. To this end, we introduce and discuss three new concepts to the realm of P2P storage systems: 1) the maintenance of additional state information to detect and trace object updates during partitioning, 2) the usage of active decentralized object replication through shadow roots, and 3) the deployment of cryptographic technologies to allow for the recovery of private state information

[1]  Miguel Castro,et al.  Practical byzantine fault tolerance and proactive recovery , 2002, TOCS.

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

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

[4]  John Kubiatowicz,et al.  Handling churn in a DHT , 2004 .

[5]  Rajmohan Rajaraman,et al.  Accessing Nearby Copies of Replicated Objects in a Distributed Environment , 1999, Theory of Computing Systems.

[6]  Moti Yung,et al.  Robust efficient distributed RSA-key generation , 1998, STOC '98.

[7]  Matthew K. Franklin,et al.  Efficient generation of shared RSA keys , 2001, JACM.

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

[9]  Miguel Oom Temudo de Castro,et al.  Practical Byzantine fault tolerance , 1999, OSDI '99.

[10]  Ben Y. Zhao,et al.  Tapestry: a resilient global-scale overlay for service deployment , 2004, IEEE Journal on Selected Areas in Communications.

[11]  Ben Y. Zhao,et al.  Towards a Common API for Structured Peer-to-Peer Overlays , 2003, IPTPS.

[12]  David R. Karger,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM '01.

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

[14]  Robert Morris,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM 2001.

[15]  Antony I. T. Rowstron,et al.  Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems , 2001, Middleware.

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

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