/[gzz]/manuscripts/storm/short-paper.rst
ViewVC logotype

Diff of /manuscripts/storm/short-paper.rst

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.30 by tjl, Fri May 30 17:14:33 2003 UTC revision 1.31 by tjl, Fri May 30 17:40:20 2003 UTC
# Line 47  Storm: Using P2P to make the desktop par Line 47  Storm: Using P2P to make the desktop par
47     \terms{Design, Reliability, Performance}     \terms{Design, Reliability, Performance}
48    
49     \keywords{dangling links,     \keywords{dangling links,
50     peer-to-peer, location-independent identifiers}     peer-to-peer, location-independent identifiers, content addressable networks}
51    
52    
53  Introduction  Introduction
# Line 91  is not possible on a global scale. Line 91  is not possible on a global scale.
91  .. can be used to implement external links, backlinks &c:  .. can be used to implement external links, backlinks &c:
92    
93  However, recent developments in peer-to-peer systems have  However, recent developments in peer-to-peer systems have
94  rendered this assumption obsolete. Distributed hashtables (DHTs)  rendered this assumption obsolete.
95    Distributed hashtables (DHTs) and other content-addressable network algorithms
96  [malkhi02viceroy-andalso-maymounkov02kademlia-andalso-ratnasamy01can-andalso-stoica01chord-andalso-zhao01tapestry]_  [malkhi02viceroy-andalso-maymounkov02kademlia-andalso-ratnasamy01can-andalso-stoica01chord-andalso-zhao01tapestry]_
97  allow location-independent identifiers  allow location-independent identifiers
98  to be resolved on a global scale.  to be resolved on a global scale.
# Line 105  set of servers for links [hill94extendin Line 106  set of servers for links [hill94extendin
106  all published external links to a document can be found using  all published external links to a document can be found using
107  a DHT.  a DHT.
108    
109    .. Freenet's cryptographical identifiers:
110    
111    In Freenet [freenet-ieee]_, an anonymous peer-to-peer
112    publication system, *cryptographic hashes*
113    (see, e.g., [schneier96appliedcryptography]_)
114    are used for location-independent identifiers of
115    documents versions. Hashes
116    are short (often 20 bytes), yet it is practically impossible
117    that two different documents will ever have the same hash,
118    making them ideal unique identifiers on the Web.
119    
120  .. [#] Domain Name System (DNS) [rfc1101]_ is a widely used RRS  .. [#] Domain Name System (DNS) [rfc1101]_ is a widely used RRS
121     system in the Internet.     system in the Internet.
122    
# Line 127  harddisk, attached to another email, on Line 139  harddisk, attached to another email, on
139  or on the  or on the
140  public Internet.  public Internet.
141    
 .. Freenet's cryptographical identifiers:  
   
 Location-independent identifiers are not a new idea.  
 In Freenet [freenet-ieee]_, an anonymous peer-to-peer  
 publication system, *cryptographic hashes*  
 (see, e.g., [schneier96appliedcryptography]_)  
 are used to identify versions of documents. Hashes  
 are short (often 20 bytes), yet it is practically impossible  
 that two different documents will ever have the same hash,  
 making them ideal unique identifiers on the Web.  
   
142  .. Hashes allow reference to a single version of a  .. Hashes allow reference to a single version of a
143     document. Documents are refered to by public keys [XXX].     document. Documents are refered to by public keys [XXX].
144     The private key corresponding to a document's public key     The private key corresponding to a document's public key
# Line 184  simple cryptographic techniques. Line 185  simple cryptographic techniques.
185  One of the key innovations in storm is the use  One of the key innovations in storm is the use
186  of *pointer blocks*  of *pointer blocks*
187  to build mutable documents on top of  to build mutable documents on top of
188  the lowest-layer append-and-delete-only model.  the lowest layer append-and-delete-only model.
189  A pointer block is simply a storm block which says  A pointer block is simply a storm block which says
190  "The identifier X points to document Id, overriding  "The identifier X points to document Id, and this block overrides
191  the previous pointer blocks a, b" and contains  the previous pointer blocks a, b" and contains
192  a digital signature of the above information. The pointer Id  a digital signature of the above information. The pointer Id
193  contains the public key used for signatures --- this allows  contains the public key used for signatures --- this allows
# Line 194  only the originator of the document to v Line 195  only the originator of the document to v
195  A suitable user interface around pointers allows the user to  A suitable user interface around pointers allows the user to
196  still see old-style file names, but with the file names attached  still see old-style file names, but with the file names attached
197  to his/her person, not to a particular computer.  to his/her person, not to a particular computer.
198    There is also a scheme to compress blocks using differences and reverse
199    differences between consecutive blocks but there is no space to explain it here.
200    
201    
202  ..          storing  ..          storing
203              documents on the desktop and publishing and retrieving              documents on the desktop and publishing and retrieving
204              documents from the network.              documents from the network.
205    
206  .. Pointers  ..  Our system implements append-and-delete-only
207        storage; past versions of documents are stored
208        unless deleted explicitly. It is possible to
209        store only the differences between versions.
210    
211    Interfacing
212    ===========
213    
214  .. part of the web -- URN scheme (so far experimental,  .. part of the web -- URN scheme (so far experimental,
215     targetting registration):     targetting registration):
216    
217    
218  We are using an experimental URN namespace  Storm uses an experimental URN namespace
219  (Uniform Resource Name, a persistent kind of URI)  (Uniform Resource Name, a persistent kind of URI)
220  and are preparing the registration  and we are preparing the registration
221  of a real namespace with IANA.  of a real namespace with IANA.
222  The URN is constructed analogously to a DATA URI (RFC XXX)  The URN is constructed analogously to a data URL (RFC 2397)
223  from the hash of the block content and the MIME content-type,  from the MIME content-type, using the hash of the data instead
224  for example ``urn-...XXX``.  of the data itself.
   
 ..  Our system implements append-and-delete-only  
     storage; past versions of documents are stored  
     unless deleted explicitly. It is possible to  
     store only the differences between versions.  
225    
 Interfacing  
 ===========  
226    
227  ..  On the user level,  ..  On the user level,
228  ..  Even without user interface changes,  ..  Even without user interface changes,

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.31

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26