Fun filesystem-level ideas

The file and folder metaphor lies at the heart of computing. It is such a powerful concept that it has acquired a status of "reality" as strong as a book, even though a computer file is nothing more than some bytes strung together in a filesystem entry, disseminated randomly on a disk. This concept has tremendously helped us organize digital information, and here are a few ideas on how to extend it as we go towards the unified computing environment.

1. CVS filesystem\A filesystem that integrates CVS functionality. The idea is to enable rolling back (i.e., 'undo'ing) any version of a file, individually or as part of a transaction, like a process that modified several files during its execution. Related projects: VCFS that exposes CVS repositories as NFS servers.

2. Archive filesystem\A filesystem module that mounts .tar, .zip, .bz2, you name it. Very useful because many P2P files are delivered as archives and it makes sense to keep them as such. Already implemented by Masanao Izumo but needs to be ported to kernel 2.6.

3. Web filesystem\A filesystem module that mounts web documents based on some criteria (like how long a page has been viewed) by using your browser's cached copy for example.

4. Metadata filesystem\Metadata is useful to attach information about the content of files. For example, file authorship or topic keywords. Currently different file formats use different metadata mechanisms (ID3 tags for audio, JPEG comments, PDF attributes, etc.), rendering the process of finding relevant information across formats a difficult task. A filesystem module allowing metadata retrieval at the filesystem level would simplify this process. Strategies for dealing with different metadata mechanisms include abstracting the metadata information and providing format-specific sub-modules, in addition to allowing non-metadata-ready formats to be tagged. An example usage would be searching through the metadata using the Unix command find with a -metadata option, or locate with the option of indexing metadata. Some filesystems already support tagging, such as Apple's HFS, Unix's XFS, and Microsoft's NTFS. However, little or no tools exist to allow for unified information retrieval. Related work includes MacOS X implementation of the traditional Mac resource forks using xattr.

Resources:\ * IBM's Advanced filesystems implementors guide articles.