[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] manuscripts/pointers article.rst
From: |
Benja Fallenstein |
Subject: |
[Gzz-commits] manuscripts/pointers article.rst |
Date: |
Sat, 01 Nov 2003 20:46:58 -0500 |
CVSROOT: /cvsroot/gzz
Module name: manuscripts
Branch:
Changes by: Benja Fallenstein <address@hidden> 03/11/01 20:46:57
Modified files:
pointers : article.rst
Log message:
move related work into intro
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/manuscripts/pointers/article.rst.diff?tr1=1.61&tr2=1.62&r1=text&r2=text
Patches:
Index: manuscripts/pointers/article.rst
diff -u manuscripts/pointers/article.rst:1.61
manuscripts/pointers/article.rst:1.62
--- manuscripts/pointers/article.rst:1.61 Sat Nov 1 19:39:07 2003
+++ manuscripts/pointers/article.rst Sat Nov 1 20:46:57 2003
@@ -87,17 +87,56 @@
and increase availability. However, if the Web worked like
a file-sharing system, Web pages could never be updated.
-While some file-sharing systems provide URIs
-for particular versions of a file, using cryptographic hashes
-(e.g., [XXXrefs]), these files cannot be updated;
-a new version would have a different hash, and thus
-a different URI.
-The few P2P systems that offer an update mechanism
-do so in a way that requires the network to remember
-the current version of a document; for example, CFS [XXXref]
-stores in its distributed hashtable (DHT) a mapping
-from document indentifiers to the current versions
-of these documents.
+Some file-sharing systems offer URIs for files (e.g., [XXXref]).
+These URIs are based on the files' cryptographic hashes.
+A new version of a Web page would have a different hash,
+and thus a different URI.
+
+There are a few (non-file-sharing) P2P systems
+that do offer an update mechanism. *CFS* [XXXref]
+is a file system based on Chord [XXXref], storing
+data in a distributed hashtable (DHT). CFS identifies
+different users' trees by the users' cryptographic keys;
+it stores in its DHT mappings from these keys to the
+the current version of the tree. A node participating
+in the DHT will update a mapping if the update message
+is signed with the appropriate key, and contains a timestamp
+newer than that of the current version.
+
+*Oceanstore* [XXXref] XXX
+
+*Freenet* [XXXref] was originally planned to have an
+update mechanism where the network would remember
+the current version of a document, and update this information
+when receiving a message signed by the appropriate key,
+rather like in Oceanstore [XXXref]. However, in practice,
+Freenet has a rather peculiar combination
+of two workarounds [XXXref Freenet FAQ]:
+
+In date-based updating, the key for the current version
+is formed by concatenating a document's id with the current date;
+this requires publishers to insert versions of their document
+every day, otherwise they will not be accessible.
+
+In edition-based updating, versions ``n`` and ``n+1``
+have different URIs, but version ``n`` links to version ``n+1``
+using an ``<img>`` link; the image will not show until
+version ``n+1`` is actually inserted into the system, so
+if the image does show up, the user knows that they can click
+on it to get to a newer version of the document.
+
+Finally, a simplistic approach to P2P versioning
+is to have a centralized server keep track of the current version
+of a document, such as in the Content-Addressable Web
+proposal [XXXref -> google it], in which clients download
+a file's hash through HTTP (using an HTTP URI),
+then download the file through, e.g., a file-sharing network.
+This provides some of the efficiency advantages of a P2P Web.
+However, there is still a single point of failure;
+links still break when pages move to a different directory
+or Web server; and when the original publisher loses interest
+and stops publishing a page, it disappears, even if
+someone else would have kept a copy.
.. <<<In file-sharing systems, versioning
would be useful for media files like the e-books
@@ -106,10 +145,7 @@
.. Standing on the shoulders of giants: Example of Web links rotting away
-A P2P-based Web would make Web pages more permanent
-by keeping them accessible as long as there is some peer
-that keeps a copy. This is an important concern.
-
+These are important concerns.
In 1997, NASA launched the Cassini-Huygens spacecraft
on a mission to Saturn. Before the launch, the mission
was widely criticized for its use of radioisotope
@@ -284,78 +320,78 @@
-Related work
-============
+.. Related work
+ ============
-In this section, we briefly summarize how existing peer-to-peer
-systems deal with versioning. We have tried to classify peer-to-peer
-system into four different categories based on their versioning
-model below. We conclude that existing peer-to-peer do not provide all the
-benefits of hash-based addressing scheme.
+ In this section, we briefly summarize how existing peer-to-peer
+ systems deal with versioning. We have tried to classify peer-to-peer
+ system into four different categories based on their versioning
+ model below. We conclude that existing peer-to-peer do not provide all the
+ benefits of hash-based addressing scheme.
-No versioning model
--------------------
+ No versioning model
+ -------------------
-PAST [rowstron01storage]_ is a persistent storage system
-that uses pastry [rowston01pastry]_
-for locating data in a Peer-to-Peer environment.
-Nodes and data items are distributed uniformly based on the hash
-identifier in a PAST network. Free Haven [dingledine00free]_
-provides a distributed anonymous persistent data storage. It uses
-both cryptography and routing techniques to provide anonymity for
-the participating peers and splits a file to a number of shares
-which are distributed through a network.
-
-.. Regular filesharing apps:
-.. Gnutella
-.. Fasttrack stack (Kazaa/Morpheus)
-.. Shareaza (magnet uri's)
-.. Overnet/eDonkey2000/eMule/MlDonkey (have location-independent identifiers,
MD4 hashes)
-.. BitTorrent
-
-Centralized versioning model
-----------------------------
-
-.. SFS is a network filesystem that does not support of searching
- docs. IMHO it's not relevant w.r.t. the article (as Mnet is
- not either)
+ PAST [rowstron01storage]_ is a persistent storage system
+ that uses pastry [rowston01pastry]_
+ for locating data in a Peer-to-Peer environment.
+ Nodes and data items are distributed uniformly based on the hash
+ identifier in a PAST network. Free Haven [dingledine00free]_
+ provides a distributed anonymous persistent data storage. It uses
+ both cryptography and routing techniques to provide anonymity for
+ the participating peers and splits a file to a number of shares
+ which are distributed through a network.
+
+ .. Regular filesharing apps:
+ .. Gnutella
+ .. Fasttrack stack (Kazaa/Morpheus)
+ .. Shareaza (magnet uri's)
+ .. Overnet/eDonkey2000/eMule/MlDonkey (have location-independent
identifiers, MD4 hashes)
+ .. BitTorrent
+
+ Centralized versioning model
+ ----------------------------
+
+ .. SFS is a network filesystem that does not support of searching
+ docs. IMHO it's not relevant w.r.t. the article (as Mnet is
+ not either)
-Like Free Haven, Publius [pub00]_ focuses on anonymity of the
-participating nodes. Compared to Free Haven, however, Publius
-has a support for destructive updates. An issue with Publius
-is that it requires a globally maintained list of participating
-nodes currently available in a system.
+ Like Free Haven, Publius [pub00]_ focuses on anonymity of the
+ participating nodes. Compared to Free Haven, however, Publius
+ has a support for destructive updates. An issue with Publius
+ is that it requires a globally maintained list of participating
+ nodes currently available in a system.
-OceanStore [kubiatowicz00oceanstore]_ is a global storage system
-based on Tapestry [zhao01tapestry]_ routing algorithm. It
-supports non-destructive, linearly versioned updates through a
-centralized Byzantine agreement protocol.
-
+ OceanStore [kubiatowicz00oceanstore]_ is a global storage system
+ based on Tapestry [zhao01tapestry]_ routing algorithm. It
+ supports non-destructive, linearly versioned updates through a
+ centralized Byzantine agreement protocol.
+
-Network-level destructive versioning
-------------------------------------
+ Network-level destructive versioning
+ ------------------------------------
-CFS [dabek01widearea]_ is based on Chord [stoica01chord]_ and
-stores data blocks, fragments of files, and spreads blocks
-uniformly through the network based on identifier of a block.
-CFS has a support for versioning, but in a way that allows
-only the publisher of a file system to do a destructive
-versioning for a data item. The versioning takes place at
-network-level since the hash of the data block determines
-which host maintains a data block in the overlay.
-
-
-Miscellaneous versioning models
--------------------------------
-
-Freenet [freenet-ieee]_ uses a probabilistic routing scheme to
-preserve the anonymity of the participating nodes in a network.
-It uses the "edition" versioning model: one can link
-version x to a link representing version y even if version y
-does not exist in a system yet.
+ CFS [dabek01widearea]_ is based on Chord [stoica01chord]_ and
+ stores data blocks, fragments of files, and spreads blocks
+ uniformly through the network based on identifier of a block.
+ CFS has a support for versioning, but in a way that allows
+ only the publisher of a file system to do a destructive
+ versioning for a data item. The versioning takes place at
+ network-level since the hash of the data block determines
+ which host maintains a data block in the overlay.
+
+
+ Miscellaneous versioning models
+ -------------------------------
+
+ Freenet [freenet-ieee]_ uses a probabilistic routing scheme to
+ preserve the anonymity of the participating nodes in a network.
+ It uses the "edition" versioning model: one can link
+ version x to a link representing version y even if version y
+ does not exist in a system yet.
-.. ??? XXX I don't understand the above AT ALL
+ .. ??? XXX I don't understand the above AT ALL
Primitive block storage abstraction
===================================
- [Gzz-commits] manuscripts/pointers article.rst, (continued)
- [Gzz-commits] manuscripts/pointers article.rst, Benja Fallenstein, 2003/11/01
- [Gzz-commits] manuscripts/pointers article.rst, Benja Fallenstein, 2003/11/01
- [Gzz-commits] manuscripts/pointers article.rst, Benja Fallenstein, 2003/11/01
- [Gzz-commits] manuscripts/pointers article.rst, Benja Fallenstein, 2003/11/01
- [Gzz-commits] manuscripts/pointers article.rst, Benja Fallenstein, 2003/11/01
- [Gzz-commits] manuscripts/pointers article.rst, Benja Fallenstein, 2003/11/01
- [Gzz-commits] manuscripts/pointers article.rst, Benja Fallenstein, 2003/11/01
- [Gzz-commits] manuscripts/pointers article.rst, Benja Fallenstein, 2003/11/01
- [Gzz-commits] manuscripts/pointers article.rst, Benja Fallenstein, 2003/11/01
- [Gzz-commits] manuscripts/pointers article.rst, Benja Fallenstein, 2003/11/01
- [Gzz-commits] manuscripts/pointers article.rst,
Benja Fallenstein <=
- [Gzz-commits] manuscripts/pointers article.rst, Benja Fallenstein, 2003/11/01
- [Gzz-commits] manuscripts/pointers article.rst, Benja Fallenstein, 2003/11/01
- [Gzz-commits] manuscripts/pointers article.rst, Benja Fallenstein, 2003/11/01
- [Gzz-commits] manuscripts/pointers article.rst, Benja Fallenstein, 2003/11/01
- [Gzz-commits] manuscripts/pointers article.rst, Benja Fallenstein, 2003/11/01
- [Gzz-commits] manuscripts/pointers article.rst, Benja Fallenstein, 2003/11/02
- [Gzz-commits] manuscripts/pointers article.rst, Tuomas J. Lukka, 2003/11/02
- [Gzz-commits] manuscripts/pointers article.rst, Tuomas J. Lukka, 2003/11/02
- [Gzz-commits] manuscripts/pointers article.rst, Tuomas J. Lukka, 2003/11/02
- [Gzz-commits] manuscripts/pointers article.rst, Tuomas J. Lukka, 2003/11/02