On Thu, 2005-06-02 at 14:38 +0400, Nikita Danilov wrote: > Jonathan Briggs writes: > > On Wed, 2005-06-01 at 21:27 +0400, Nikita Danilov wrote: > > [snip] > > > Frankly speaking, I suspect that name-as-attribute is going to limit > > > usability of file system significantly.
Usability as in features? Or usability as in performance? > > > > > > Note, that in the "real world", only names from quite limited class are > > > attributes of objects, viz. /proper names/ like "France", or "Jonathan > > > Briggs". Communication wouldn't get any far if only proper names were > > > allowed. > > > > > > Nikita. > > > > Bringing up /proper names/ from the real world agrees with my idea > > though! :-) > > I don't understand why if you are liberty to design new namespace model > from scratch (it seems POSIX semantics are not binding in our case), you > are going to faithfully replicate deficiencies of natural languages. > > It is common trait in both science and engineering that when two flavors > of the same functionality (real names vs. indices) arise, an attempt is > made to reduce one of them to another, simplifying the system as a > result. A index is an arrangement of information about the indexed items. The index contents *belong* to the items. An index by name? That name belongs to the item. An index by date? Those dates are properties of the item. Anything that can be indexed about an item can be described as a property of the item. Only for efficiency reasons are index data not included with the item data. > > In our case, motivation to reduce one type of names to another is even > more pressing, as these types are incompatible: in the presence of > cycles or dynamic queries, namespace visible through the directory > hierarchy is different from the namespace of real names. Queries create indexes based on properties of the items. This is no different from directories, which are indexes based on names of the items. In the same way that you can descend a directory tree and copy the names found into each item, you can check each item and copy the names found into a directory tree. > > Indices cannot be reduced to real names (as rename is impossible to > implement efficiently), but real names can very well be reduced to > indices as exemplified by each and every UNIX file system out there. > > So, the question is: what real names buy one, that indices do not? By storing the names in the items, cycles become solvable because you can always look at the current directory's name(s) to see where you really are. Every name becomes absolutely connected to the top of the namespace instead of depending on a parent pointer that may not ever connect to the top. If speeding up rename was very important, you can replace every pathname component with a indirect reference instead of using simple strings. Changing directory levels is still difficult. -- Jonathan Briggs <[EMAIL PROTECTED]> eSoft, Inc.
signature.asc
Description: This is a digitally signed message part