Abstract
A quFile is a unifying abstraction that simplifies data management by encapsulating different physical representations of the same logical data. Similar to a quBit (quantum bit), the particular representation of the logical data displayed by a quFile is not determined until the moment it is needed. The representation returned by a quFile is specified by a data-specific policy that can take context into account such as the application requesting the data, the device on which data is accessed, screen size, and battery status. We demonstrate the generality of the quFile abstraction by using it to implement six case studies: resource management, copy-on-write versioning, data redaction, resource-aware directories, application-aware adaptation, and platform-specific encoding. Most quFile policies were expressed using less than one hundred lines of code. Our experimental results show that, with caching and other performance optimizations, quFiles add less than 1% overhead to application-level file system.
- ]]Anand, M., Nightingale, E. B., and Flinn, J. 2003. Self-tuning wireless network power management. In Proceedings of the 9th Annual Conference on Mobile Computing and Networking. 176--189. Google Scholar
Digital Library
- ]]Belaramani, N., Dahlin, M., Gao, L., Nayate, A., Venkataramani, A., Yalagandula, P., and Zheng, J. 2006. PRACTI replication. In Proceedings of the 3rd Symposium on Networked System Design and Implementation. 59--72. Google Scholar
Digital Library
- ]]Bershad, B., Savage, S., Pardyak, P., Sirer, E., Fiuczynski, M., Becker, D., Chambers, C., and Eggers, S. 1995. Extensibility, safety and performance in the SPIN operating system. In Proceedings of the 15th ACM Symposium on Operating Systems Principles. ACM, New York, 267--284. Google Scholar
Digital Library
- ]]Bershad, B. B. and Pinkerton, C. B. 1988. Watchdogs—Extending the UNIX file system. Comput. Syst. 1, 2.Google Scholar
- ]]Bila, N., Ronda, T., Mohomed, I., Truong, K. N., and de lara, E. 2007. PageTailor: Reusable end-user customization for the mobile web. In Proceedings of the 5th International Conference on Mobile Systems, Applications and Services. 16--29. Google Scholar
Digital Library
- ]]Bundle. 2009. Bundle Programming Guide. http://developer.apple.com/documentation/CoreFoundation/Conceptual/CFBundles/CFBundles. html.Google Scholar
- ]]de Lara, E., Kumar, R., Wallach, D. S., and Zwaenepoel, W. 2003. Collaboration and multimedia authoring on mobile devices. In Proceedings of the 1st International Conference on Mobile Systems, Applications and Services. 287--301. Google Scholar
Digital Library
- ]]de Lara, E., Wallach, D. S., and Zwaenepoel, W. 2001. Puppeteer: Component-based adaptation for mobile computing. In Proceedings of the 3rd USENIX Symposium on Internet Technologies and Systems. 159--170. Google Scholar
Digital Library
- ]]Dourish, P., Edwards, W. K., LaMarca, A., Lamping, J., Petersen, K., Salisbury, M., Terry, D. B., and Thornton, J. 2000. Extending document management systems with user-specific active properties. ACM Trans. Inform. Syst. 18, 2, 140--170. Google Scholar
Digital Library
- ]]Engler, D., Kaashoek, M., and J. O'Toole, J. 1995. Exokernel: An operating system architecture for application-level resource management. In Proceedings of the 15th ACM Symposium on Operating Systems Principles. 251--266. Google Scholar
Digital Library
- ]]Flinn, J. and Satyanarayanan, M. 1999. Energy-aware adaptation for mobile applications. In Proceedings of the 17th ACM Symposium on Operating Systems Principles. 48--63. Google Scholar
Digital Library
- ]]Fox, A., Gribble, S. D., Brewer, E. A., and Amir, E. 1996. Adapting to network and client variability via on-demand dynamic distillation. In Proceedings of the 7th International ACM Conference on Architectural Support for Programming Languages and Operating Systems. ACM, New York,160--170. Google Scholar
Digital Library
- ]]FUSE. 2009. Filesystem in userspace. http://fuse.sourceforge.net/.Google Scholar
- ]]Gehani, N. H., Jagadish, H. V., and Roome, W. D. 1994. OdeFS: A file system interface to an object-oriented database. In Proceedings of the 20th International Conference on Very Large Databases. 249--260. Google Scholar
Digital Library
- ]]Gifford, D. K., Jouvelot, P., Sheldon, M. A., and O'Toole, J. W. 1991. Semantic file systems. In Proceedings of the 13th ACM Symposium on Operating Systems Principles. ACM, New York, 16--25. Google Scholar
Digital Library
- ]]GnuCash 2009. GnuCash: Free accounting software. http://www.gnucash.org.Google Scholar
- ]]Google Desktop. 2008. Google desktop. http://desktop.google.com.Google Scholar
- ]]Gupta, A. and Mumick, I. S. 1995. Maintenance of materialized views: Problems, techniques and applications. IEEE Q. Bull. Data Eng; 18, 2, 3--18 (Special issue on materialized views and data warehousing).Google Scholar
- ]]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, 51--81. Google Scholar
Digital Library
- ]]Ioannidis, S., Sidiroglou, S., and Keromytis, A. D. 2006. Privacy as an operating system service. In Proceedings of the 1st Conference on USENIX Workshop on Hot Topics in Security. USENIX Association, Monterey, CA, 45--50. Google Scholar
Digital Library
- ]]Kistler, J. J. and Satyanarayanan, M. 1992. Disconnected operation in the Coda file system. ACM Trans. Comput. Syst. 10, 1. Google Scholar
Digital Library
- ]]Kjær, K. 2007. A survey of context-aware middleware. In Proceedings of the IASTED International Conference on Software Engineering. 148--155. Google Scholar
Digital Library
- ]]Lopresti, D. P. and Lawrence, S. A. 2005. Information leakage through document redaction: Attacks and countermeasures. In Proceedings of Document Recognition and Retrieval XII - International Symposium on Electronic Imaging. 183--190.Google Scholar
- ]]Love, R. 2005. Kernel Korner: Intro to inotify. Linux J. 139, 8. Google Scholar
Digital Library
- ]]Ma, X. and Reddy, A. L. N. 2003. MVSS: Multiview storage system. IEEE Trans, Parall. Distrib. Syst. 14, 10, 993--1005. Google Scholar
Digital Library
- ]]Narayanan, D., Flinn, J., and Satyanarayanan, M. 2000. Using history to improve mobile application adaptation. In Proceedings of the 2nd IEEE Workshop on Mobile Computing Systems and Applications. IEEE, Los Alamitos, CA, 30--41. Google Scholar
Digital Library
- ]]Nicholson, A. J. and Noble, B. D. 2008. BreadCrumbs: Forecasting mobile connectivity. In Proceedings of the 14th International Conference on Mobile Computing and Networking. 46--57. Google Scholar
Digital Library
- ]]Nightingale, E. B. and Flinn, J. 2004. Energy-efficiency and storage flexibility in the Blue file system. In Proceedings of the 6th Symposium on Operating Systems Design and Implementation. 363--378. Google Scholar
Digital Library
- ]]Noble, B. D., Satyanarayanan, M., Narayanan, D., Tilton, J. E., Flinn, J., and Walker, K. R. 1997. Agile application-aware adaptation for mobility. In Proceedings of the 16th ACM Symposium on Operating Systems Principles. ACM, New York, 276--287. Google Scholar
Digital Library
- ]]Nokia. Nokia Energy Profiler. http://www.forum.nokia.com/main/resources/development_ process/power_management/nokia_energy_profiler/.Google Scholar
- ]]Peek, D. and Flinn, J. 2006. EnsemBlue: Integrating distributed storage and consumer electronics. In Proceedings of the 7th Symposium on Operating Systems Design and Implementation. 219--232. Google Scholar
Digital Library
- ]]Peek, D., Nightingale, E. B., Higgins, B. D., Kumar, P., and Flinn, J. 2007. Sprockets: Safe extensions for distributed file systems. In Proceedings of the USENIX Annual Technical Conference. USENIX Association, Monterey, CA, 115--128. Google Scholar
Digital Library
- ]]Peterson, Z. N. J. and Burns, R. 2005. Ext3cow: A time-shifting file system for regulatory compliance. ACM Trans. Storage 1, 2, 190--212. Google Scholar
Digital Library
- ]]Phan, T., Zorpas, G., and Bagrodia, R. 2004. Middleware support for reconciling client updates and data transcoding. In Proceedings of the 2nd International Conference on Mobile Systems, Applications and Services. 139--152. Google Scholar
Digital Library
- ]]Pillai, P., Ke, Y., and Campbell, J. 2004. Multi-fidelity storage. In Proceedings of the ACM 2nd International Workshop on Video Surveillance and Sensor Networks. 72--79. Google Scholar
Digital Library
- ]]Ramasubramanian, V., Rodeheffer, T. L., Terry, D. B., Walraed-Sullivan, M., Wobber, T., Marshall, C. C., and Vahdat, A. 2009. Cimbiosys: A platform for content-based partial replication. In Proceedings of the 6th Symposium on Networked System Design and Implementation. 261--276. Google Scholar
Digital Library
- ]]Russinovich, M. E. and Solomon, D. A. 2005. Advanced features of NTFS. In Microsoft Windows Internals, 719--721.Google Scholar
- ]]Salmon, B., Schlosser, S. W., Cranor, L. F., and Ganger, G. R. 2009. Perspective: Semantic data management for the home. In Proceedings of the 7th USENIX Conference on File and Storage Technologies. 167--182. Google Scholar
Digital Library
- ]]Santry, D. S., 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. SIGOPS Oper. Syst. Rev. 33, 5, 110--123. Google Scholar
Digital Library
- ]]Schilit, B., Adams, N., and Want, R. 1994. Context-aware computing applications. In IEEE Workshop on Mobile Computing Systems and Applications. IEEE, Los Alamitos, CA, 85--90. Google Scholar
Digital Library
- ]]Seltzer, M. I., Endo, Y., Small, C., and Smith, K. A. 1996. Dealing with disaster: Surviving misbehaved kernel extensions. In Proceedings of the 2nd Symposium on Operating Systems Design and Implementation. 213--227. Google Scholar
Digital Library
- ]]Shepler, S., Callaghan, B., Robinson, D., Thurlow, R., Beame, C., Eisler, M., and Noveck, D. 2003. Network file system (NFS) ver. 4 protocol. Tech. rep. RFC 3530, IETF. Google Scholar
Digital Library
- ]]Sohn, T., Griswold, W. G., Scott, J., LaMarca, A., Chawathe, Y., Smith, I., and Chen, M. 2006. Experiences with Place Lab: An open source toolkit for location-aware computing. In Proceedings of the 28th International Conference on Software Engineering. 462--471. Google Scholar
Digital Library
- ]]Spotlight. 2007. Spotlight overview. http://developer.apple.com/documentation/Carbon/Conceptual/MetadataIntro/MetadataIntro.pdf.Google Scholar
- ]]Windows Desktop Search. 2008. Windows desktop home page. http://www.microsoft.com/windows/desktopsearch.Google Scholar
- ]]Xerces. 2009. Xerces-C++ XML Parser. http://xerces.apache.org/xerces-c/.Google Scholar
- ]]Yumerefendi, A. R., Mickle, B., and Cox, L. P. 2007. TightLip: Keeping applications from spilling the beans. In Proceedings of the 4th Symposium on Networked Systems Design and Implementation. 159--172. Google Scholar
Digital Library
Index Terms
quFiles: The right file at the right time
Recommendations
PASS: A Hybrid Storage System for Performance-Synchronization Tradeoffs Using SSDs
ISPA '12: Proceedings of the 2012 IEEE 10th International Symposium on Parallel and Distributed Processing with ApplicationsRecent advances in flash memory show great potential to replace traditional hard drives (HDDs) with flash-based solid state drives (SSDs) from personal computing to distributed systems. However, it is still a long way to go before completely using SSDs ...
Fault-tolerant disk storage and file systems using reflective memory
HICSS '95: Proceedings of the 28th Hawaii International Conference on System SciencesMost replicated storage and file systems either take a specialized hardware approach or a software-oriented approach to fault tolerance. The paper describes a fault-tolerant disk storage and file system that falls in between the hardware and software ...
Data Management Practices on Large-Scale Lustre Scratch File Systems
XSEDE '14: Proceedings of the 2014 Annual Conference on Extreme Science and Engineering Discovery EnvironmentManaging large-scale Lustre scratch file systems is a necessity on shared storage resources. The lack of proper data management can halt all computation that is contingent upon any type of output to disk. Lustre scratch areas are typically provided for ...






Comments