Re: [9fans] Multi-dimensional filesystem

2012-08-04 Thread tlaronde
Hello,

On Fri, Aug 03, 2012 at 05:08:52PM -0400, Burton Samograd wrote:
 
  Has someone ever played with the notion of a multidimensional filesystem
 
 David Korn did some research on a 3d file system called 3d:
 
 David G. Korn, Eduardo Krell, The 3-D File System, pp147-156, USENIX 
 Conference Proceedings, Summer 1989, Baltimore, MD
 
 And also  at behind a paywall:
 
 http://onlinelibrary.wiley.com/doi/10.1002/spe.4380201304/abstract
 
 I seem to remember it being available through ast: 
 http://www2.research.att.com/sw/download/

Thank you for the reference!

Best,
-- 
Thierry Laronde tlaronde +AT+ polynum +dot+ com
  http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C



Re: [9fans] Multi-dimensional filesystem

2012-08-04 Thread Aram Hăvărneanu
I'm pretty sure there's an isomorphism between your multidimensional
filesystem and the set of potential namespaces. A dimension in your
multidimensional fileysystem is just an arbitrary set of filesystems
bounded in a particular namespace...

-- 
Aram Hăvărneanu



Re: [9fans] Multi-dimensional filesystem

2012-08-04 Thread Nicolas Bercher

On 03/08/2012 19:18, tlaro...@polynum.com wrote:

Hello,

This is mainly a theoretical question.

While playing with the representation of mathematical definitions as
a file hierarchy (at dot you find a DESC or whatever named file with
the description, and the subdirs are simply more restrictive
instances of the thing; say : collection -  magma -  monoïde -
group etc.), it is soon obvious that a filesystem is a one dimension
thing: you only follow one string. Multiple parents at the same
level are not there.

One could trick partly using hard or soft links. But with always the
same problem: who is dot-dot, in a case where multiple parents are
here? And multiple parents are not, to my knowledge, supported by
kernel filesystem code. Manipulating the namespace is not the same.

Has someone ever played with the notion of a multidimensional
filesystem, where '/' is the origin, the nodes would be some
representation of (a, b, c,...) (even negatives perhaps), each node
having a name (user defined one by the way), and if a node is, say
(3, 0, 1,...) this means that it is to be found as the third subdir
of the (1, 0, 0,...) path etc., (In this scheme, if there is no link
(no path) from another notion, it is another dimension).

Just for intellectual curiosity.

Best,


Hi,

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.

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.

Hope this will interest you, at least just for intellectual curiosity!
;-)

Nicolas



Re: [9fans] bind /net

2012-08-04 Thread erik quanstrom
 Problem was that factotum seemed busy in some auth protocol.
 (this really sucks. factotum is mounted directly on /mnt instead
 of /mnt/factotum and is single threaded so when its doing some
 auth business, noone can walk /mnt... this can even cause
 deadlock with authsrv which tries to access /mnt/keys on the
 same machine... but thats a different thing...)

the rsc factotum from 9atom is multithreaded.

- erik



Re: [9fans] Multi-dimensional filesystem

2012-08-04 Thread tlaronde
On Sat, Aug 04, 2012 at 01:56:07PM +0300, Aram H?v?rneanu wrote:
 I'm pretty sure there's an isomorphism between your multidimensional
 filesystem and the set of potential namespaces. A dimension in your
 multidimensional fileysystem is just an arbitrary set of filesystems
 bounded in a particular namespace...

I'm not quite sure about the bijective property but at least, since
mathematics has recognized that the linear relationship is fundamental,
and since base and dimensions are easily approached by linear Algebra,
it seems probable enough that as long as the dot-dot thing is
implemented by a fileserver---no semantics enforced at the
kernel level---once you have the primitive for an oriented linearity
(children/parent), multidimension is achievable.

As sketched in a previous mail, a fileserver could present a classical
file hierarchy, but with ., .., and, say .+ for the hierarchical
children, and .- for the reverse hierarchical parents (these being
only a _view_; storage is another story...). So this could be achieved
but by not attempting to provide an ubicuitous view, but only a local
view from the file considered.

-- 
Thierry Laronde tlaronde +AT+ polynum +dot+ com
  http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C



Re: [9fans] Multi-dimensional filesystem

2012-08-04 Thread tlaronde
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 tlaronde +AT+ polynum +dot+ com
  http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C



Re: [9fans] bind /net

2012-08-04 Thread cinap_lenrek
very good. i'll look into this. thanks :)

--
cinap