Look into <a href="http://datr.ws">http://datr.ws</a> also.<br>-E<br><br><div><span class="gmail_quote">On 5/2/07, <b class="gmail_sendername"><a href="mailto:zooko@zooko.com">zooko@zooko.com</a></b> &lt;<a href="mailto:zooko@zooko.com">
zooko@zooko.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>Dear p2p-hackers:<br><br>Allmydata, Inc. [1], provider of the &quot;Allmydata&quot; consumer backup product, is
<br>pleased to announce the first public release of &quot;Tahoe&quot;, a secure,<br>distributed storage grid with a free-software licence.<br><br>The source code that we are releasing is the current working prototype for<br>
Allmydata&#39;s next-generation product.&nbsp;&nbsp;This release is targeted at hackers who<br>are willing to use a minimal, text-oriented web user interface.<br><br>This prototype is not recommended for storage of confidential data nor for
<br>data which is not otherwise backed up, but it already implements a functional<br>distributed storage grid and is useful for experimentation, prototyping, and<br>extension.<br><br><br>LICENCE<br><br>Tahoe is offered under the GNU General Public License (v2 or later), with the
<br>added permission that, if you become obligated to release a derived work<br>under this licence (as per section 2.b), you may delay the fulfillment of<br>this obligation for up to 12 months.<br><br><br>INSTALLATION<br>
<br>This release of Tahoe works and passes all unit tests on Linux/x86,<br>Linux/amd64, Mac/Intel, Mac/PPC, Windows-native, and Cygwin.<br><br>To install, download the tarball [2], untar it, go into the resulting<br>directory, and follow the directions in the README [3].
<br><br><br>USAGE<br><br>Once installed, create a &quot;client node&quot;.&nbsp;&nbsp;Instruct this client node to connect<br>to a specific &quot;introducer node&quot; by means of config files in the client node&#39;s<br>working directory.&nbsp;&nbsp;To join a public grid, copy in the .furl files for that
<br>grid.&nbsp;&nbsp;To create a private grid, run your own introducer, and copy its .furl<br>files.&nbsp;&nbsp;See the README for step-by-step instructions.<br><br>Each client node runs a local webserver (enabled by writing the desired port
<br>number into a file called &#39;webport&#39;).&nbsp;&nbsp;The front page of this webserver shows<br>the node&#39;s status, including which introducer is being used and which other<br>nodes are connected.&nbsp;&nbsp;Links from the status page lead to others that give
<br>access to a shared virtual filesystem, in which each directory is represented<br>by a separate page.&nbsp;&nbsp;Each directory page shows a list of the files available<br>there, with download links, and forms to upload new files.
<br><br>Other ways to access the filesystem are planned, as well as other structures<br>than the single globally-shared namespace implemented by this release: please<br>see the roadmap.txt [5] for some rough details.<br><br>
<br>HACKING AND COMMUNITY<br><br>Please join the mailing list [4] to discuss the ideas behind Tahoe and<br>extensions of and uses of Tahoe.&nbsp;&nbsp;Patches that extend and improve Tahoe are<br>gratefully accepted -- roadmap.txt shows the next improvements that we plan
<br>to make.&nbsp;&nbsp;You can browse the revision control history, source code, and issue<br>tracking at the Trac instance [6].&nbsp;&nbsp;Please see the buildbot [7], which shows<br>how Tahoe builds and passes unit tests on each checkin, and the code coverage
<br>results [8] and percentage-covered graph [9], which show how much of the<br>Tahoe source code is currently exercised by the test suite.<br><br><br>NETWORK ARCHITECTURE<br><br>Each peer maintains a connection to each other peer.&nbsp;&nbsp;A single distinct
<br>server called an &quot;introducer&quot; is used to discover other peers with which to<br>connect.<br><br>To store a file, the file is encrypted and erasure coded, and each resulting<br>share is uploaded to a different peer.&nbsp;&nbsp;The secure hash of the encrypted file
<br>and the encryption key are packed into a URI, knowledge of which is necessary<br>and sufficient to recover the file.<br><br>To fetch a file, starting with the URI, a subset of shares is downloaded from<br>peers, the file is reconstructed from the shares, and then decrypted.
<br><br>A single distinct server called a &quot;vdrive server&quot; maintains a global mapping<br>from pathnames/filenames to URIs.<br><br>We are well aware of the limitations of decentralization and scalability<br>inherent in this prototype.&nbsp;&nbsp;In particular, the completely-connected property
<br>of the grid and the requirement of a single distinct introducer and vdrive<br>server limits the possible size of the grid.&nbsp;&nbsp;We have plans to loosen these<br>limitations (see roadmap.txt).&nbsp;&nbsp;Currently it should be noted that the grid
<br>already depends as little as possible on the accessibility and correctness of<br>the introduction server and the vdrive server.&nbsp;&nbsp;Also note that the choice of<br>which servers to use is easily configured -- you should be able to set up a
<br>private grid for you and your friends almost as easily as to connect to our<br>public test grid.<br><br><br>SOFTWARE ARCHITECTURE<br><br>Tahoe is a &quot;from the ground-up&quot; rewrite, inspired by Allmydata&#39;s existing
<br>consumer backup service.&nbsp;&nbsp;It is primarily written in Python.<br><br>Tahoe is based on the Foolscap library [10] which provides a remote object<br>protocol inspired by the capability-secure &quot;E&quot; programming language [11].
<br>Foolscap allows us to express the intended behavior of the distributed grid<br>directly in object-oriented terms while relying on a well-engineered, secure<br>transport layer.<br><br>The underlying networking is provided by the Twisted library [12].
<br>Computationally intensive operations are performed in native compiled code,<br>such as the &quot;zfec&quot; library for fast erasure coding (also available<br>separately: [13]).<br><br><br>[1]&nbsp;&nbsp;<a href="http://allmydata.com">
http://allmydata.com</a><br>[2]&nbsp;&nbsp;<a href="http://allmydata.org/source/tahoe/tahoe-0.2.0-0-UNSTABLE.tar.gz">http://allmydata.org/source/tahoe/tahoe-0.2.0-0-UNSTABLE.tar.gz</a><br>[3]&nbsp;&nbsp;<a href="http://allmydata.org/trac/tahoe/browser/README">
http://allmydata.org/trac/tahoe/browser/README</a><br>[4]&nbsp;&nbsp;<a href="http://allmydata.org/cgi-bin/mailman/listinfo/tahoe-dev">http://allmydata.org/cgi-bin/mailman/listinfo/tahoe-dev</a><br>[5]&nbsp;&nbsp;<a href="http://allmydata.org/trac/tahoe/browser/roadmap.txt">
http://allmydata.org/trac/tahoe/browser/roadmap.txt</a><br>[6]&nbsp;&nbsp;<a href="http://allmydata.org/trac/tahoe">http://allmydata.org/trac/tahoe</a><br>[7]&nbsp;&nbsp;<a href="http://allmydata.org/buildbot">http://allmydata.org/buildbot</a>
<br>[8]&nbsp;&nbsp;<a href="http://allmydata.org/tahoe-figleaf/figleaf/">http://allmydata.org/tahoe-figleaf/figleaf/</a><br>[9]&nbsp;&nbsp;<a href="http://allmydata.org/tahoe-figleaf-graph/hanford.allmydata.com-tahoe_figleaf.html">http://allmydata.org/tahoe-figleaf-graph/hanford.allmydata.com-tahoe_figleaf.html
</a><br>[10] <a href="http://twistedmatrix.com/trac/wiki/FoolsCap">http://twistedmatrix.com/trac/wiki/FoolsCap</a><br>[11] <a href="http://erights.org/">http://erights.org/</a><br>[12] <a href="http://twistedmatrix.com/">
http://twistedmatrix.com/</a><br>[13] <a href="http://allmydata.org/trac/tahoe/browser/src/zfec">http://allmydata.org/trac/tahoe/browser/src/zfec</a><br>_______________________________________________<br>p2p-hackers mailing list
<br><a href="mailto:p2p-hackers@lists.zooko.com">p2p-hackers@lists.zooko.com</a><br><a href="http://lists.zooko.com/mailman/listinfo/p2p-hackers">http://lists.zooko.com/mailman/listinfo/p2p-hackers</a><br></blockquote></div>
<br><br clear="all"><br>-- <br>Thanks in advance and best regards,<br><br>Ed <br>Mail:&nbsp;&nbsp; edpimentl[at]gmail.com<br>Mail2: edpimentl[at]ieee.org<br>IM:&nbsp;&nbsp;&nbsp;&nbsp; edpimentl [AOL | Jabber | Yahoo | MSN ]<br>Voip:&nbsp;&nbsp; edpimentl [SKype | GoogleTalk ]
<br><br>Mobile Content Marketing/Management/Digital Delivery<br><a href="http://mobilecentral.ws">http://mobilecentral.ws</a><br><br>Mobile ( Context Aware, AmbientIntelligence, Location ) based Social Network<br><a href="http://TagR.mobi">
http://TagR.mobi</a> (Alpha)<br><br>Mobile Payment - P2P Payment<br><a href="http://agilepay.ws">http://agilepay.ws</a><br><br>Private Label Social Networks<br><a href="http://GooGaYa.com">http://GooGaYa.com</a><br><br>Sponsor of P2PSIP&nbsp;&nbsp;open source [viasip_ng] project
<br>Based on IETF P2PSIP WG <br><a href="https://sourceforge.net/projects/viasip/">https://sourceforge.net/projects/viasip/</a><br><a href="http://groups.google.com/group/viasip_ng">http://groups.google.com/group/viasip_ng
</a>