skip to main content
research-article

quFiles: The right file at the right time

Published:28 September 2010Publication History
Skip Abstract Section

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.

References

  1. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. ]]Bershad, B. B. and Pinkerton, C. B. 1988. Watchdogs—Extending the UNIX file system. Comput. Syst. 1, 2.Google ScholarGoogle Scholar
  5. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. ]]Bundle. 2009. Bundle Programming Guide. http://developer.apple.com/documentation/CoreFoundation/Conceptual/CFBundles/CFBundles. html.Google ScholarGoogle Scholar
  7. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. ]]FUSE. 2009. Filesystem in userspace. http://fuse.sourceforge.net/.Google ScholarGoogle Scholar
  14. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. ]]GnuCash 2009. GnuCash: Free accounting software. http://www.gnucash.org.Google ScholarGoogle Scholar
  17. ]]Google Desktop. 2008. Google desktop. http://desktop.google.com.Google ScholarGoogle Scholar
  18. ]]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 ScholarGoogle Scholar
  19. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. ]]Kistler, J. J. and Satyanarayanan, M. 1992. Disconnected operation in the Coda file system. ACM Trans. Comput. Syst. 10, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. ]]Kjær, K. 2007. A survey of context-aware middleware. In Proceedings of the IASTED International Conference on Software Engineering. 148--155. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. ]]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 ScholarGoogle Scholar
  24. ]]Love, R. 2005. Kernel Korner: Intro to inotify. Linux J. 139, 8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. ]]Ma, X. and Reddy, A. L. N. 2003. MVSS: Multiview storage system. IEEE Trans, Parall. Distrib. Syst. 14, 10, 993--1005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. ]]Nokia. Nokia Energy Profiler. http://www.forum.nokia.com/main/resources/development_ process/power_management/nokia_energy_profiler/.Google ScholarGoogle Scholar
  31. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  34. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. ]]Russinovich, M. E. and Solomon, D. A. 2005. Advanced features of NTFS. In Microsoft Windows Internals, 719--721.Google ScholarGoogle Scholar
  38. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  39. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  40. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  41. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  42. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  43. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library
  44. ]]Spotlight. 2007. Spotlight overview. http://developer.apple.com/documentation/Carbon/Conceptual/MetadataIntro/MetadataIntro.pdf.Google ScholarGoogle Scholar
  45. ]]Windows Desktop Search. 2008. Windows desktop home page. http://www.microsoft.com/windows/desktopsearch.Google ScholarGoogle Scholar
  46. ]]Xerces. 2009. Xerces-C++ XML Parser. http://xerces.apache.org/xerces-c/.Google ScholarGoogle Scholar
  47. ]]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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. quFiles: The right file at the right time

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!