A Proposal for a Non-Directory Filesystem with Graph Structures

Why do directory structures have to exist in a filesystem?

The most fundamental reason is that files based on the same filename cannot coexist in one directory, otherwise, the computer would not be able to distinguish these files when addressing them by filename. Other than that, the biggest advantage of the directory structure is to categorize the files. But, if we consider the scenario in life, a directory or a folder is equivalent to a box or a shelf, in the case of having two books with the same title, that is, two books with the same name, can only one book be put in a box? Books with the same title are placed together on a shelf in a library, when has it ever been stipulated that the books placed on a shelf cannot have the same title (name)?

So the answer is NO, it was not a must in a filesystem, there was an operating system called CP/M that had no directory in its filesystem, it was popular in the 70 to 80 ages of last century. After that, all filesystems were built based on one directory structure which is also the only structure type that exists in a filesystem (for example, all files in C disk are under the root directory of C or its subdirectories, so they’re all in one directory), and this situation has lasted for about 50 years, all applications and database software developed base on it, until now nearly no new space to develop anymore, what if the only one directory structure being replaced by multiple graph structures which have many kinds of file structures including directory? Would this open a new window for the filesystem and operating system development?


Here's the paper: https://docs.google.com/document/d/1iw1QNMpeCYAimWHWxTmLqNlSG0yTEY10oR7VcGNUWNY/edit?usp=sharing


In this paper, first, a non-directory filesystem proposal is presented that allows files with the same filename to coexist in a directory, and then a method for building filesystem structures using tags, including directories and other types so that files can be easily classified into one or more multi-type structures, is presented for file systems that allow tags, whether directory or non-directory structures. Finally, by combining these two chapters, a new filesystem is proposed with new file manager interfaces and new methods for file manipulation.

A Method for Building Filesystem Graph Structures Using Tags

This is involved in the left paper as Chapter IV, but it is a standalone project for both directory and non-directory filesystems, so it is worth having its own place here.


Here's the paper: 

https://docs.google.com/document/d/1px6vSgh0psCj8nbbXI3ufYJfR_jv8RuD2hwp4h4-5rM/edit?usp=sharing


Currently, the most commonly used file structure in a filesystem is the directory structure, where all files are in folders of one large directory structure. For example, if the disk is C, all files are in the root directory or subdirectory of disk C. In other words, there is only one big directory in the whole file system.

 In this paper, a method for building a filesystem graph structures using tags will be introduced, it makes it possible to build as many structures as you want, each of which can be of an unlimited type, such as a directory structure, a circular structure, or a fishbone structure, etc. This is the outstanding advantage of the method.

The connection between documents is inherently diverse, for example, historical documents can be arranged from ancient to modern, or by geography, or by dynasties, emperors, etc., and there are inextricable connections between each arrangement and subject, and arranging these documents simply with a catalog system makes the connection between them single, and it is also difficult to find a specific document quickly.

If each document is treated as a book in a library, then using the method in this paper a filesystem can flexibly define which graph structure a book belongs to, or multiple graph structures a book belongs to, without changing the location of the book, and it can move or delete the location in the graph structure at any time.

The use of tags in directory file systems is already common, and file systems without directory structures have just been proposed and are yet to be developed. Either way, as long as tags are used, the method provided in this paper can be used to build various graph structures of filesystems with tags, that is, graph-like structures with more than one connection between files.


Questions? Comments? Contact me

wy_niu@sina.com