From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Sat, 4 Aug 2012 17:20:16 +0200 From: tlaronde@polynum.com To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Message-ID: <20120804152016.GB433@polynum.com> References: <20120803171847.GA2720@polynum.com> <501D12A1.1060906@yahoo.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <501D12A1.1060906@yahoo.fr> User-Agent: Mutt/1.4.2.3i Subject: Re: [9fans] Multi-dimensional filesystem Topicbox-Message-UUID: a7ed77d6-ead7-11e9-9d60-3106f5b1d025 On Sat, Aug 04, 2012 at 02:16:33PM +0200, Nicolas Bercher wrote: > > As far as I understand, it seems you are interested in the idea of views > over your files. Something that has been approached as "non-hierarchical > file systems". But the complexity of handling such graphs often seems to > be the reason why these projects failed. Not to mention how the pain to > adapt them to the existing systems that are strictly hierarchical. It seems clearer (and this is in accordance with notions expressed further in your message), that the file hierarchy is a view of the data. The way the data is stored can be totally different from the classical one dimension tree structure. The multidimension can (seen from far) be tricked with (as explained in another message), from the current file, a ".", "..", ".+" for children and ".-" for parents; keeping in mind that the paths are only the next neighbours (so this is a limited local view), as if say in a 2D grid (discrete coordinates) you will only consider the next objects with coordinates differing only by +/- 1. > > In a project we presented in iwp9 6e (2011), we introduced the design of > a filesystem that stores files (stream or hierarchy of files) in > /records/ on a WORM file system (Venti). Records are stored in sequence, > as they arrive (in respect to their recording order). Each record is > identified by your username 'u', the repository name 'h' (for host) and > an index related to time 't' (that is not time, but a self incremented > interger linked to the date in the current calendar). Each triplet > {u,h,t} is uniquely linked to a Venti SHA-1 score. That is the ground level. > > On top of that, you are free to point files to build any view on them > and store these views again in new records, using any naming convention > you like at this moment. A non intrusive hypertext language can be > used to write a log book from were you point the files you stored in > records. From this log book, you can do literate programming, run > scripts on files, etc. (For the moment, Emacs org-mode seems to be a > good hyper-text language to start from.) > > A third component, a "triplet" indexer, helps you to find which records > points to other records, an vice versa. A plain text search engine > helps you to retrieve text from the past. All is centered on traceability. > > We spent a lot of time studying reference bibliography from the 60s to > today and already have plans for implementation of the ground level > file system on top of Venti. > My "application case" was a little different. This was to present a database of mathematical definitions with a file hierarchy, the relationship between the notions being represented by the file hierarchy (but this obviously needs multidimension since not everything is on the same deducing string of notions). In this case, there will be some lookup function, taking a name or a more complex criteria, and returning a file with the definition represented by a n-uple (a, b, c, ...). The advantage is that the identifier can be of fixed length or by convention, if one more dimension is added, it is added last, and shorter uples have all zeroes coordinates for non expressed dimensions. But this encodes not only the definition search, but all the relationships since parent notions or descendant notions are immediately deduced from this. So there could be a WORM but with a typical copy-on-write block strategy for backup and history (but this is orthogonal to the multidimension). The implementation of the multidimension per se (as soon as there is a matrix representation, there is an obvious way to do). And the representation (view) of the data as a "normal" file structure with the ".+" and ".-". (This "explanation" does not hide the vagueness of the thing---but I'm just wandering "intellectually" at the moment). > Hope this will interest you, at least "just for intellectual curiosity"! > ;-) Yes ;-) -- Thierry Laronde http://www.kergis.com/ Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C