FreenetWiki : FreenetFS

HomePage :: Categories :: PageIndex :: RecentChanges :: RecentlyCommented :: Login/Register
Most recent edit on 2007-06-20 10:13:01 by ArnoPeters [link to sources]

Additions:

Sources

http://www.koders.com/python/fid146C017FCB57EE5B4BBF174A329AAF9215D1B4CC.aspx




Oldest known version of this page was edited on 2006-05-23 01:46:12 by DavidMcNab []
Page view:

FreenetFS - the Freenet Filesystem


Abstract


FreenetFS is an implementation (currently under development) of an experimental filesystem (or 'virtual disk' to windows folk) which maps Freenet accessibility into a virtual mountable filesystem.

The benefits of such a framework would include:

An example application of freenetfs:

Technical Overview


The initial implementation of FreenetFS (aka 'FreeDisk') uses the FUSE userspace filesystem framework, and is written in Python (for speed/ease of development, maintainability, and given Freenet request turnaround time, the overhead of Python becomes negligible).

I can see no reason at this point why FreenetFS would need to be reimplemented into other languages such as C or Java.

Initial versions will only run on platforms supported by FUSE, predominantly the major Linux distros.

There are 'virtual disk' SDKs for Windows, so some keen developer might like to wrap the FreenetFS core class to work within a Windows vdisk environment. Python is an easily extendable and embeddable language, so it should be no trouble to create thin Python shims within a windows vdisk framework, so the main FreenetFS codebase should be usable in both Windows and *nix scenarios.

Directory/File Hierarchy Model


All readers are encouraged to add to this section, and contribute from their own intelligent creativity.

So far, the proposed hierarchy is along the lines of:




[userdirs]
fred=freenet:USK@privateblah1/name
mary=freenet:USK@privateblah2/name

So reads from '/usr/fred/' become a read to '/keys/USK@publicblah1/name, and writes to /usr/fred become a write to '/privatekeys/USK@privateblah1'. The beauty of using USK keys here is that if you write anywhere in your own tree, a whole new ClientPutComplexDir will occur, and the entire tree will be updated as part of the next filesystem sync.
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.2
Page was generated in 0.0568 seconds