ABSTRACT
Ori is a file system that manages user data in a modern setting where users have multiple devices and wish to access files everywhere, synchronize data, recover from disk failure, access old versions, and share data. The key to satisfying these needs is keeping and replicating file system history across devices, which is now practical as storage space has outpaced both wide-area network (WAN) bandwidth and the size of managed data. Replication provides access to files from multiple devices. History provides synchronization and offline access. Replication and history together subsume backup by providing snapshots and avoiding any single point of failure. In fact, Ori is fully peer-to-peer, offering opportunistic synchronization between user devices in close proximity and ensuring that the file system is usable so long as a single replica remains. Cross-file system data sharing with history is provided by a new mechanism called grafting. An evaluation shows that as a local file system, Ori has low overhead compared to a File system in User Space (FUSE) loopback driver; as a network file system, Ori over a WAN outperforms NFS over a LAN.
Supplemental Material
- Dropbox Inc. Dropbox - simplify your life. http://www.dropbox.com/, September 2012.Google Scholar
- R. Rodrigues and C. Blake. When multi-hop peer-to-peer routing matters. In 3rd International Workshop on Peer-to-Peer Systems, La Jolla, CA, 2004. Google ScholarDigital Library
- Inc. Software Freedom Conservancy. Git. http://www.git-scm.com/, September 2012.Google Scholar
- Yupu Zhang, Chris Dragga, Andrea Arpaci-Dusseau, and Remzi Arpaci-Dusseau. *-box: Towards reliability and consistency in dropbox-like file synchronization services. In Proceedings of the The Fifth Workshop on Hot Topics in Storage and File Systems, HotStorage '13, Berkeley, CA, USA, 2013. USENIX Association.Google ScholarDigital Library
- Sean Quinlan and Sean Dorward. Venti: A new approach to archival storage. In Proceedings of the Conference on File and Storage Technologies, FAST '02, pages 89--101, Berkeley, CA, USA, 2002. USENIX Association. Google ScholarDigital Library
- Mercurial scm. http://mercurial.selenic.com/, September 2012.Google Scholar
- Athicha Muthitacharoen, Benjie Chen, and David Mazières. A low-bandwidth network file system. In Proceedings of the eighteenth ACM symposium on Operating systems principles, SOSP '01, pages 174--187, New York, NY, USA, 2001. ACM. Google ScholarDigital Library
- Filebench. http://sourceforge.net/apps/mediawiki/filebench/index.php, 2013.Google Scholar
- Russell Coker. Bonnie++ now at 1.03e. http://www.coker.com.au/bonnie++/, September 2012.Google Scholar
- Joey Hess. git-annex. http://git-annex.branchable.com/, September 2012.Google Scholar
- B. Nowicki. NFS: Network File System Protocol specification. RFC 1094 (Informational), March 1989.Google Scholar
- Microsoft Corporation. Common internet file system (cifs) protocol specification. http://msdn.microsoft.com/en-us/library/ee442092.aspx, September 2012.Google Scholar
- Jose Barreto. Smb2, a complete redesign of the main remote file protocol for windows. http://blogs.technet.com/b/josebda/archive/2008/12/05/smb2-a-complete-redesign-of-the-main-remote-file-protocol-for-windows.aspx, December 2008.Google Scholar
- Gursharan S. Sidhu, Richard F. Andrews, and Alan B. Oppenheimer. Inside AppleTalk. Addison-Wesley, Boston, 1990.Google Scholar
- Mahadev Satyanarayanan. Scalable, secure, and highly available distributed file access. Computer, 23(5):9--18, 20--21, May 1990. Google ScholarDigital Library
- Mahadev Satyanarayanan, James J. Kistler, Puneet Kumar, Maria E. Okasaki, Ellen H. Siegel, and David C. Steere. Coda: A highly available file system for a distributed workstation environment. IEEE Trans. Comput., 39(4):447--459, April 1990. Google ScholarDigital Library
- P. J. Braam, M. Callahan, and P. Schwan. The inter-mezzo file system. The Perl Conference 3, August 1999.Google Scholar
- Peter Reiher, John Heidemann, David Ratner, Greg Skinner, and Gerald Popek. Resolving file conflicts in the ficus file system. In Proceedings of the USENIX Summer 1994 Technical Conference on USENIX Summer 1994 Technical Conference - Volume 1, USTC'94, pages 12--12, Berkeley, CA, USA, 1994. USENIX Association. Google ScholarDigital Library
- Björn Grönvall, Ian Marsh, and Stephen Pink. A multicast-based distributed file system for the internet. In Proceedings of the 7th workshop on ACM SIGOPS European workshop: Systems support for worldwide applications, EW 7, pages 95--102, New York, NY, USA, 1996. ACM. Google ScholarDigital Library
- GlusterFS. http://www.gluster.org/.Google Scholar
- Jacob Strauss, Justin Mazzola Paluska, Chris Lesniewski-Laas, Bryan Ford, Robert Morris, and Frans Kaashoek. Eyo: device-transparent personal storage. In Proceedings of the 2011 USENIX conference on USENIX annual technical conference, USENIXATC'11, pages 35--35, Berkeley, CA, USA, 2011. USENIX Association. Google ScholarDigital Library
- Venugopalan Ramasubramanian, Thomas L. Rodeheffer, Douglas B. Terry, Meg Walraed-Sullivan, Ted Wobber, Catherine C. Marshall, and Amin Vahdat. Cimbiosys: a platform for content-based partial replication. In Proceedings of the 6th USENIX symposium on Networked systems design and implementation, NSDI'09, pages 261--276, Berkeley, CA, USA, 2009. USENIX Association. Google ScholarDigital Library
- Daniel Peek and Jason Flinn. Ensemblue: integrating distributed storage and consumer electronics. In Proceedings of the 7th symposium on Operating systems design and implementation, OSDI '06, pages 219--232, Berkeley, CA, USA, 2006. USENIX Association. Google ScholarDigital Library
- Nalini Belaramani, Mike Dahlin, Lei Gao, Amol Nayate, Arun Venkataramani, Praveen Yalagandula, and Jiandan Zheng. Practi replication. In Proceedings of the 3rd conference on Networked Systems Design & Implementation - Volume 3, NSDI'06, pages 5--5, Berkeley, CA, USA, 2006. USENIX Association. Google ScholarDigital Library
- Dave Hitz, James Lau, and Michael Malcolm. File system design for an nfs file server appliance. In Proceedings of the USENIX Winter 1994 Technical Conference on USENIX Winter 1994 Technical Conference, WTEC'94, pages 19--19, Berkeley, CA, USA, 1994. USENIX Association. Google ScholarDigital Library
- J. Bonwick and B. Moore. Zfs: The last word in file systems. http://hub.opensolaris.org/bin/download/Community+Group+zfs/docs/zfslast.pdf, September 2012.Google Scholar
- Douglas J. Santry, Michael J. Feeley, Norman C. Hutchinson, and Alistair C. Veitch. Elephant: The file system that never forgets. In Proceedings of the The Seventh Workshop on Hot Topics in Operating Systems, HOTOS '99, pages 2--, Washington, DC, USA, 1999. IEEE Computer Society. Google ScholarDigital Library
- S. Quinlan, J. McKie, and R. Cox. Fossil, an archival file server. http://www.cs.bell-labs.com/sys/doc/fossil.pdf, 2003.Google Scholar
- Brian Cornell, Peter A. Dinda, and Fabián E. Bustamante. Wayback: a user-level versioning file system for linux. In Proceedings of the annual conference on USENIX Annual Technical Conference, ATEC '04, pages 27--27, Berkeley, CA, USA, 2004. USENIX Association. Google ScholarDigital Library
- Kiran-Kumar Muniswamy-Reddy, Charles P. Wright, Andrew Himmer, and Erez Zadok. A versatile and user-oriented versioning file system. In Proceedings of the 3rd USENIX Conference on File and Storage Technologies, FAST '04, pages 115--128, Berkeley, CA, USA, 2004. USENIX Association. Google ScholarDigital Library
- Wikipedia. Time machine (mac os). http://en.wikipedia.org/wiki/Time_Machine_(Mac_OS), March 2013.Google Scholar
- Steve Sinofsky. Protecting user files with file history. http://blogs.msdn.com/b/b8/archive/2012/07/10/protecting-user-files-with-file-history.aspx, March 2013.Google Scholar
- Siddhartha Annapureddy, Michael J. Freedman, and David Mazières. Shark: scaling file servers via cooperative caching. In Proceedings of the 2nd conference on Symposium on Networked Systems Design & Implementation - Volume 2, NSDI'05, pages 129--142, Berkeley, CA, USA, 2005. USENIX Association. Google ScholarDigital Library
- Kevin Fu, M. Frans Kaashoek, and David Mazières. Fast and secure distributed read-only file system. ACM Transactions on Computer Systems, 20(1):1--24, February 2002. Google ScholarDigital Library
- Jinyuan Li, Maxwell Krohn, David Mazières, and Dennis Shasha. Secure untrusted data repository (sundr). In Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6, OSDI'04, pages 9--9, Berkeley, CA, USA, 2004. USENIX Association. Google ScholarDigital Library
- Ralph C. Merkle. A digital signature based on a conventional encryption function. In Carl Pomerance, editor, Advances in Cryptology---CRYPTO '87, volume 293 of Lecture Notes in Computer Science, pages 369--378, Berlin, 1987. Springer-Verlag. Google ScholarDigital Library
Recommendations
Replication in the harp file system
This paper describes the design and implementation of the Harp file system. Harp is a replicated Unix file system accessible via the VFS interface. It provides highly available and reliable storage for files and guarantees that file operations are ...
File Migration and File Replication: A Symbiotic Relationship
Much of the past research on file migration and file replication has examined these two resource management strategies in isolation or in an environment where they do not work together. We establish through simulation that these two strategies can be ...
Replication in the harp file system
SOSP '91: Proceedings of the thirteenth ACM symposium on Operating systems principlesThis paper describes the design and implementation of the Harp file system. Harp is a replicated Unix file system accessible via the VFS interface. It provides highly available and reliable storage for files and guarantees that file operations are ...
Comments