Flexible replication for personal clouds

People own an increasing number of personal devices ranging from mobile phones and laptops to tablet and desktop computers. In addition, it is more and more common to rent cloud storage resources from utility computing providers. We call this new computing environment a user’s Personal Cloud. Managing data in such a heterogeneous environment requires a large effort on the user side. Given the storage limitations of some of these devices and the increasing amount of digital information stored on them, users demand a way to partially replicate their data across the devices in their Personal Cloud. Such a replication system must be flexible enough to fulfill the requirements of various potential applications. The heterogeneous devices may have different communication capabilities which disallow direct communication to every other device in the Personal Cloud. Furthermore, disconnections and failures of the devices must also be taken into account. In this thesis, we present a flexible replication infrastructure that is inspired by the PRACTI system and offers partial replication, arbitrary consistency, and topology independence. We have integrated our system in the Rhizoma runtime to benefit from its self-monitoring functionality and the ability to dynamically redeploy in the execution environment. We have extended PRACTI with metadata-based grouping of content and support for content-based filters. We have assessed the performance of our replication system on a realistic testbed consisting of mobile devices, desktop PCs and cloud virtual machines. Results show the feasibility of our approach and the incurred overhead.

[1]  Guido van Rossum,et al.  Python Programming Language , 2007, USENIX Annual Technical Conference.

[2]  Andrew S. Tanenbaum,et al.  Distributed systems: Principles and Paradigms , 2001 .

[3]  Amin Vahdat,et al.  Design and evaluation of a conit-based continuous consistency model for replicated services , 2002, TOCS.

[4]  Mustaque Ahamad,et al.  Slow memory: weakening consistency to enhance concurrency in distributed shared memories , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[5]  Friedemann Mattern,et al.  Virtual Time and Global States of Distributed Systems , 2002 .

[6]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[7]  Catherine C. Marshall,et al.  Cimbiosys: a platform for content-based partial replication , 2009, NSDI 2009.

[8]  Nancy A. Lynch,et al.  Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services , 2002, SIGA.

[9]  Lei Gao,et al.  PRACTI Replication , 2006, NSDI.

[10]  Eric A. Brewer,et al.  Towards robust distributed systems (abstract) , 2000, PODC '00.

[11]  Howard Gobioff,et al.  The Google file system , 2003, SOSP '03.

[12]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[13]  Richard A. Golding A Weak-Consistency Architecture for Distributed Information Services , 1992, Comput. Syst..

[14]  Leslie Lamport,et al.  Vertical paxos and primary-backup replication , 2009, PODC '09.

[15]  Robert Tappan Morris,et al.  Device transparency: a new model for mobile storage , 2010, OPSR.

[16]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.

[17]  Hagit Attiya,et al.  Sequential consistency versus linearizability , 1994, TOCS.

[18]  Maurice Herlihy,et al.  Axioms for concurrent objects , 1987, POPL '87.

[19]  Marvin Theimer,et al.  Flexible update propagation for weakly consistent replication , 1997, SOSP.

[20]  Lorrie Faith Cranor,et al.  Perspective: Semantic Data Management for the Home , 2009, FAST.

[21]  Werner Vogels,et al.  Building reliable distributed systems at a worldwide scale demands trade-offs between consistency and availability. , 2022 .

[22]  Robbert van Renesse,et al.  Chain Replication for Supporting High Throughput and Availability , 2004, OSDI.

[23]  Mao Yang,et al.  PacificA: Replication in Log-Based Distributed Storage Systems , 2008 .

[24]  Justin Cappos,et al.  Rhizoma: A Runtime for Self-deploying, Self-managing Overlays , 2009, Middleware.