Eyo: Device-Transparent Personal Storage

Users increasingly store data collections such as digital photographs on multiple personal devices, each of which typically offers a storage management interface oblivious to the contents of the user's other devices. As a result, collections become disorganized and drift out of sync. This paper presents Eyo, a novel personal storage system that provides device transparency: a user can think in terms of "file X", rather than "file X on device Y", and will see the same set of files on all personal devices. Eyo allows a user to view and manage the entire collection of objects from any of their devices, even from disconnected devices and devices with too little storage to hold all the object content. Eyo synchronizes these collections across any network topology, including direct peer-to-peer links. Eyo provides applications with a storage API with first-class access to object version history in order to resolve update conflicts automatically. Experiments with several applications using Eyo-- media players, a photo editor, a podcast manager, and an email interface--show that device transparency requires only minor application changes, and matches the storage and bandwidth capabilities of typical portable devices.

[1]  Mahadev Satyanarayanan,et al.  Disconnected Operation in the Coda File System , 1999, Mobidata.

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

[3]  Russ Cox,et al.  File Synchronization with Vector Time Pairs , 2005 .

[4]  Jason Flinn,et al.  Energy-Efficiency and Storage Flexibility in the Blue File System , 2004, OSDI.

[5]  Pierre Jouvelot,et al.  Semantic file systems , 1991, SOSP '91.

[6]  Peter L. Reiher,et al.  Peer Replication with Selective Control , 1999, MDA.

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

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

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

[10]  Andrew Tridgell,et al.  Efficient Algorithms for Sorting and Synchronization , 1999 .

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

[12]  David G. Andersen,et al.  An Architecture for Internet Data Transfer , 2006, NSDI.

[13]  M. Feeley,et al.  Mammoth: A Peer-to-Peer File System , 2005 .

[14]  Catherine C. Marshall,et al.  Effective and efficient compromise recovery for weakly consistent replication , 2009, EuroSys '09.

[15]  Magdalena Balazinska,et al.  Homeviews: peer-to-peer middleware for personal data sharing applications , 2007, SIGMOD '07.

[16]  Jason Flinn,et al.  EnsemBlue: integrating distributed storage and consumer electronics , 2006, OSDI '06.

[17]  Mahadev Satyanarayanan,et al.  Flexible and Safe Resolution of File Conflicts , 1995, USENIX.

[18]  Margo I. Seltzer,et al.  Hierarchical File Systems Are Dead , 2009, HotOS.

[19]  Eric A. Brewer,et al.  TierStore: A Distributed Filesystem for Challenged Networks in Developing Regions , 2008, FAST.

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

[21]  Dahlia Malkhi,et al.  P2P replica synchronization with vector sets , 2007, OPSR.

[22]  Robert Tappan Morris,et al.  Persistent personal names for globally connected mobile devices , 2006, OSDI '06.

[23]  Robert Grimm,et al.  System support for pervasive applications , 2004, TOCS.

[24]  Udi Manber,et al.  Integrating content-based access mechanisms with hierarchical file systems , 1999, OSDI '99.

[25]  Petr Kuznetsov,et al.  Autonomous Storage Management for Personal Devices with PodBase , 2011, USENIX Annual Technical Conference.

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

[27]  Alley Stoughton,et al.  Detection of Mutual Inconsistency in Distributed Systems , 1983, IEEE Transactions on Software Engineering.

[28]  Nancy A. Lynch,et al.  Eventually-serializable data services , 1996, PODC '96.

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

[30]  Benjamin C. Pierce,et al.  What is a file synchronizer? , 1998, MobiCom '98.

[31]  John S. Heidemann,et al.  Resolving File Conflicts in the Ficus File System , 1994, USENIX Summer.

[32]  John S. Heidemann,et al.  Implementation of the Ficus Replicated File System , 1990, USENIX Summer.

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

[34]  Mike Dahlin,et al.  Pheme : Synchronizing Replicas In Diverse Environments , 2009 .

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

[36]  Wei Hong,et al.  Custody Transfer for Reliable Delivery in Delay Tolerant Networks , 2003 .

[37]  Xiang Yu,et al.  PersonalRAID: Mobile Storage for Distributed and Disconnected Computers , 2002, FAST.