Abstract
The ext3cow file system, built on the popular ext3 file system, provides an open-source file versioning and snapshot platform for compliance with the versioning and audtitability requirements of recent electronic record retention legislation. Ext3cow provides a time-shifting interface that permits a real-time and continuous view of data in the past. Time-shifting does not pollute the file system namespace nor require snapshots to be mounted as a separate file system. Further, ext3cow is implemented entirely in the file system space and, therefore, does not modify kernel interfaces or change the operation of other file systems. Ext3cow takes advantage of the fine-grained control of on-disk and in-memory data available only to a file system, resulting in minimal degradation of performance and functionality. Experimental results confirm this hypothesis; ext3cow performs comparably to ext3 on many benchmarks and on trace-driven experiments.
- Azagury, A., Factor, M. E., and Satran, J. 2002. Point-in-time copy: Yesterday, today and tomorrow. In Proceedings of the Tenth Goddard Conference on Mass Storage Systems and Technologies. 259--270.]]Google Scholar
- Batten, C., Barr, K., Saraf, A., and Trepetin, S. 2002. pStore: A secure peer-to-peer backup system. Technical memo MIT-LCS-TM-632. Massachusetts Institute of Technology Laboratory for Computer Science, Cambridge, MA.]]Google Scholar
- Boneh, D. and Lipton, R. 1996. A revocable backup system. In Proceedings of the 6th USENIX Security Symposium. 91--96.]] Google Scholar
Digital Library
- Bryant, R., Forester, R., and Hawkes, J. 2002. Filesystem performance and scalability in Linux 2.4.17. In Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference. 259--274.]] Google Scholar
Digital Library
- Card, R., Ts'o, T. Y., and Tweedie, S. 1994. Design and implementation of the second extended file system. In Proceedings of the 1994 Amsterdam Linux Conference.]]Google Scholar
- Cederqvist et al., P. 2003. Version Management with CVS. Network Theory Limited. Web site: http://www.network-theory.co.uk/cvs/manual/.]]Google Scholar
- Chervenak, A., Vellanki, V., and Kurmas, Z. 1998. Protecting file systems: A survey of backup techniques. In Proceedings of the Joint NASA and IEEE Mass Storage Conference.]]Google Scholar
- Chutani, S., Anderson, O. T., Kazar, M. L., Leverett, B. W., Mason, W. A., and Sidebotham, R. N. 1992. The Episode file system. In Proceedings of the USENIX Winter 1992 Technical Conference (San Fransisco, CA). 43--60.]]Google Scholar
- Cornell, B., Dinda, P. A., and Bustamante, F. E. 2004. Wayback: A user-level versioning file system for Linux. In Proceedings of the USENIX Annual Technical Conference, FREENIX Track. 19--28.]] Google Scholar
Digital Library
- Digital Equipment Corporation. 1985. Vax/VMS System Software Handbook.]]Google Scholar
- EMC Corporation 1998. EMC TimeFinder Product Description Guide. EMC Corporation, Hopkinton, MA. Web site: http://www.emc.com.]]Google Scholar
- Gifford, D. K., Needham, R. M., and Schroeder, M. D. 1988. The Cedar file system. Commun. ACM 31, 3 (Mar.), 288--298.]] Google Scholar
Digital Library
- Green, R. J., Baird, A. C., and Christopher, J. 1996. Designing a fast, on-line backup system for a log-structured file system. Dig. Tech. J. 8, 2, 32--45.]] Google Scholar
Digital Library
- Grune, D., Berliner, B., and Polk, J. 2003. Concurrent versioning system (CVS). Web site: http://www.cvshome.org/.]]Google Scholar
- Gutmann, P. 1996. Secure deletion of data from magnetic and solid-state memory. In Proceedings of the 6th USENIX Security Symposium. 77--90.]] Google Scholar
Digital Library
- Hagerty, J. 2004. Sarbanes-Oxley compliance spending will exceed $5b in 2004. AMR Research Outlook. Web site: http://www.amrresearch.com.]]Google Scholar
- Hagman, R. 1987. Reimplementing the Cedar file system using logging and group commit. In Proceedings of the 11th ACM Symposium on Operating systems principles (SOSP). 155--162.]] Google Scholar
Digital Library
- Hitachi, Ltd. 2001. Hitachi ShadowImage. Hitachi, Ltd., Tokyo, Japan. Web site: http://www.hitachi.com.]]Google Scholar
- Hitz, D., Lau, J., and Malcom, M. 1994. File system design for an NFS file server appliance. In Proceedings of the USENIX San Francisco 1994 Winter Conference.]] Google Scholar
Digital Library
- Howard, J. H., Kazar, M. L., Menees, S. G., Nichols, D. A., Satyanarayanan, M., Sidebotham, R. N., and West, M. J. 1988. Scale and performance in a distributed file system. ACM Trans. Comput. Syst. 6, 1 (Feb.), 51--81.]] Google Scholar
Digital Library
- Hutchinson, N. C., Manley, S., Federwisch, M., Harris, G., Hitz, D., Kleiman, S., and O'Malley, S. 1999. Logical vs. physical file system backup. In 3rd Symposium on Operating System Design and Implementation Proceedings (OSDI). 239--250.]] Google Scholar
Digital Library
- Johnson, J. E. and Laing, W. A. 1996. Overview of the Spiralog file system. Dig. Tech. J. 6, 1, 51--81.]] Google Scholar
Digital Library
- Killbridge, P. 2003. The cost of HIPAA compliance. New England J. Med. 348, 15, 1423--1424.]]Google Scholar
Cross Ref
- Kleiman, S. R. 1986. Vnodes: An architecture for multiple file system in SUN UNIX. In Proceedings of the 1986 USENIX Summer Technical Conference. 238--247.]]Google Scholar
- MacDonald, J. P., Hilfinger, P. N., and Semenzato, L. 1998. PRCS: The project revision control system. In Proceedings of System Congifuration Management. Lecture Notes in Computer Science, Vol. 1439, Springer-Verlag, Berlin, Germany.]] Google Scholar
Digital Library
- McCoy, K. 1990. VMS File System Internals. Digital Press, Burlington, MA.]] Google Scholar
Digital Library
- McKusick, M. K. 2002. Running “fsck” in the background. In Proceedings of the BSDCon 2002 Conference. 55--64.]]Google Scholar
- McKusick, M. K., Bostic, K., Karels, M. J., and Quarterman, J. S. 1996. The Design and Implementation of the 4.4BSD Operating System. Addison Wesley, Reading, MA.]] Google Scholar
Digital Library
- McKusick, M. K. and Ganger, G. 1999. Soft updates: A technique for eliminating most synchronous writes in the fast filesystem. In Freenix Track at the Annual USENIX Technical Conference. 1--17.]] Google Scholar
Digital Library
- McKusick, M. K., Joy, W. N., Leffler, J., and Fabry, R. S. 1984. A fast file system for UNIX. ACM Trans. Comput. Syst. 2, 3 (Aug.), 181--197.]] Google Scholar
Digital Library
- Morris, J. H., Satyanarayanan, M., Conner, M. H., Howard, J. H., Rosenthal, D. S. H., and Smith, F. D. 1986. Andrew: A distributed personal computing environment. Commun. ACM 29, 3 (Mar.), 184--201.]] Google Scholar
Digital Library
- Moses, L. 1982. An introductory guide to TOPS-20. Tech. rep. TM-82-22, USC/Information Sciences Institute, Marina del Ray, CA. Web site: http://www.isi.edu.]]Google Scholar
- Muniswamy-Reddy, K.-K., Wright, C. P., Himmer, A., and Zadok, E. 2004. A versatile and user-oriented versioning file system. In Proceedings of the Third USENIX Conference on File and Storage Technologies (FAST). 115--128.]] Google Scholar
Digital Library
- Osman, S., Subhraveti, D., Su, G., and Nieh, J. 2002. The design and implementation of zap: A system for migrating computing environments. In Proceedings of the Fifth Symposium on Operating Systems Design and Implementation (OSDI). 361--376.]] Google Scholar
Digital Library
- Patterson, H., Manley, S., Federwisch, M., Hitz, D., Kleiman, S., and Owara, S. 2002. SnapMirror: File system based asynchronous mirroring for disaster recovery. In Proceedings of the Conference on File and Storage Technologies (FAST). 117--129.]] Google Scholar
Digital Library
- Peterson, Z. N. J., Burns, R., and Stubblefield, A. 2004. Limiting liability in a federally compliant file system. In Proceedings of the PORTIA Workshop on Sensitive Data in Medical, Financial, and Content Distribution Systems.]]Google Scholar
- Presotto, D. 1992. Plan 9. In Proceedings of the Workshop on Micro-Kernels and Other Kernel Architectures. 31--38.]] Google Scholar
Digital Library
- Quinlan, S. 1991. A cached worm file system. Softw.---Pract. Exper. 21, 12 (Dec.), 1289--1299.]] Google Scholar
Digital Library
- Quinlan, S. and Dorward, S. 2002. Venti: A new approach to archival storage. In Proceedings of the 2002 Conference on File And Storage Technologies (FAST). 89--101.]] Google Scholar
Digital Library
- Rochkind, M. J. 1975. The source code control system. IEEE Trans. Softw. Eng. 1, 4 (Dec.), 364--370.]]Google Scholar
- Roselli, D. and Anderson, T. E. 1996. Characteristics of file system workloads. Research rep., University of California, Berkeley, Berkeley, CA.]] Google Scholar
Digital Library
- Rosenblum, M. and Ousterhout, J. K. 1992. The design and implementation of a log-structured file system. ACM Trans. Comput. Syst. 10, 1 (Feb.), 26--52.]] Google Scholar
Digital Library
- Sandberg, R., Goldberg, D., Kleiman, S., Walsh, D., and Lyon, B. 1985. Design and implementation of the Sun network file system. In Proceedings of the Summer USENIX Conference Proceedings. 119--130.]]Google Scholar
- Santry, D. J., Feeley, M. J., Hutchinson, N. C., Veitch, A. C., Carton, R. W., and Ofir, J. 1999. Deciding when to forget in the Elephant file system. In Proceedings of 17th ACM Symposium on Operating Systems Principles (SOSP). 110--123.]] Google Scholar
Digital Library
- Schroeder, M. D., Gifford, D. K., and Needham, R. M. 1985. A caching file system for a programmer's workstation. In Proceedings of the 10th ACM Symposium on Operating Systems Principles (SOSP). 25--34.]] Google Scholar
Digital Library
- Seltzer, M., Bostic, K., McKusick, M. K., and Staelin, C. 1993. An implementation of a log-structured file system for UNIX. In Proceedings of the Winter 1993 USENIX Conference (San Diego, CA, Jan. 25--29).]] Google Scholar
Digital Library
- Shapiro, J. S. and Vanderburgh, J. 2002. CPCMS: A configuration management system based on cryptographic names. In Freenix Track at the Annual the Annual USENIX Technical Conference. 203--216.]] Google Scholar
Digital Library
- Smith, K. A. and Seltzer, M. I. 1997. File system aging---increasing the relevance of file system benchmarks. In Proceedings of the 1997 ACM SIGMETRICS Conference. 203--213.]] Google Scholar
Digital Library
- Soules, C. A. N., Goodson, G. R., Strunk, J. D., and Ganger, G. R. 2003. Metadata efficiency in versioning file systems. In Proceedings of the 2nd USENIX Conference on File and Storage Technologies. 43--58.]] Google Scholar
Digital Library
- Strunk, J. D., G. R. Goodson, M. L. S., Soules, C. A. N., and Ganger, G. R. 2000. Self-securing storage: Protecting data in compromised systems. In Proceedings of the 4th Symposium on Operating Systems Design and Implementation (OSDI). 165--180.]] Google Scholar
Digital Library
- Sun Microsystems. 1989. NFS: Network file system protocol specification. Network Working Group, Request for Comments (RFC 1094), Version 2. Go to http://www.fags.org/rfcs/rfc/094.html.]] Google Scholar
Digital Library
- Tannenbaum, A. S. 1987. Operating Systems: Design and Implementation. Prentice-Hall Inc., Englewood Cliffs, NJ.]] Google Scholar
Digital Library
- Tichy, W. F. 1985. RCS: A system for version control. Softw.---Pract. Exper. 15, 7 (July), 637--654.]] Google Scholar
Digital Library
- Ts'o, T. Y. and Tweedie, S. 2002. Planned extensions to the Linux ext2/ext3 filesystem. In Freenix Track at the Annual USENIX Technical Conference. 235--243.]] Google Scholar
Digital Library
- Zadok, E. and Bădulescu, I. 1999. A stackable file system interface for Linux. In LinuxExpo Conference Proceedings. 141--151.]]Google Scholar
Index Terms
Ext3cow: a time-shifting file system for regulatory compliance
Recommendations
BTRFS: The Linux B-Tree Filesystem
BTRFS is a Linux filesystem that has been adopted as the default filesystem in some popular versions of Linux. It is based on copy-on-write, allowing for efficient snapshots and clones. It uses B-trees as its main on-disk data structure. The design goal ...
An Efficient Memory-Mapped Key-Value Store for Flash Storage
SoCC '18: Proceedings of the ACM Symposium on Cloud ComputingPersistent key-value stores have emerged as a main component in the data access path of modern data processing systems. However, they exhibit high CPU and I/O overhead. Today, due to power limitations it is important to reduce CPU overheads for data ...






Comments