8 |
Linking personal documents like we link Web pages is inconvenient |
Linking personal documents like we link Web pages is inconvenient |
9 |
enough that users rarely ever do it. A major reason is that |
enough that users rarely ever do it. A major reason is that |
10 |
links break when documents are moved around or sent by mail. |
links break when documents are moved around or sent by mail. |
11 |
We argue that while non-breaking links would be a convenience |
|
12 |
on the Web, they are a necessity for making Web-like hyperlinks |
.. We argue that while non-breaking links would be a convenience |
13 |
useful on the local desktop. |
on the Web, they are a necessity for making Web-like hyperlinks |
14 |
|
useful on the local desktop. |
15 |
|
|
16 |
We propose Storm, a storage system identifying documents by |
We propose Storm, a storage system identifying documents by |
17 |
cryptographic hashes and signatures, independently of their |
cryptographic hashes and signatures, independently of their |
29 |
|
|
30 |
.. raw:: latex |
.. raw:: latex |
31 |
|
|
32 |
\category{H.5.4}{Information Interfaces and Presentation}{Hy\-per\-text/Hy\-permedia}[architectures] |
%\category{H.5.4}{Information Interfaces and Presentation}{Hy\-per\-text/Hy\-permedia}[architectures] |
33 |
\category{H.3.4}{Information Storage and Re\-trie\-val}{Systems and Software}[distributed systems, information networks] |
\category{H.3.4}{Information Storage and Re\-trie\-val}{Systems and Software}[distributed systems, information networks] |
34 |
|
|
35 |
\terms{Design, Reliability, Performance} |
\terms{Design, Reliability, Performance} |
36 |
|
|
37 |
\keywords{versioned hypermedia, dangling links, |
\keywords{dangling links, |
38 |
peer-to-peer, location-independent identifiers} |
peer-to-peer, location-independent identifiers} |
39 |
|
|
40 |
|
|
46 |
|
|
47 |
Bush's Memex [XXX] was to be a hypermedia device |
Bush's Memex [XXX] was to be a hypermedia device |
48 |
for personal use, not for hypermedia publication. |
for personal use, not for hypermedia publication. |
49 |
|
|
50 |
Yet, while many Web pages are densely interlinked today, |
Yet, while many Web pages are densely interlinked today, |
51 |
desktop documents still have rarely any hypermedia |
desktop documents still have rarely any hypermedia |
52 |
functionality. Even though documents written with |
functionality. Even though documents written with |
53 |
OpenOffice.org or Microsoft Word can nowadays be |
Microsoft Word or OpenOffice.org can nowadays be |
54 |
linked just like HTML files, users almost never |
linked just like HTML files, users almost never |
55 |
do so. |
do so. |
56 |
|
|
65 |
.. links needed that don't break when documents are moved: |
.. links needed that don't break when documents are moved: |
66 |
|
|
67 |
We believe that a major burden to hypermedia |
We believe that a major burden to hypermedia |
68 |
on the desktop is that links break when documents |
on the desktop is breaking links. |
|
are published, moved between folders, or sent by email. |
|
|
|
|
69 |
When sending a couple of hyperlinked notes per |
When sending a couple of hyperlinked notes per |
70 |
mail, the receiver would have to assemble them |
mail, the receiver would have to assemble them |
71 |
into the sender's directory structure. A document |
into the sender's directory structure. A document |
86 |
harddisk, attached to another email, or on the |
harddisk, attached to another email, or on the |
87 |
public Internet. |
public Internet. |
88 |
|
|
89 |
.. structure of this paper: |
.. contribution of this paper: |
90 |
|
|
91 |
|
This document describes Storm, a library for |
92 |
|
storing and retrieving data using |
93 |
|
location-independent Uniform Resource Names [XXX]. |
94 |
|
|
95 |
|
|
96 |
Related work |
Related work |
97 |
============ |
============ |
98 |
|
|
|
Systems like Lotus Notes [XXX], a popular database sharing |
|
|
and collaboration tool, use location-independent, |
|
|
global identifiers to refer to documents. |
|
|
|
|
99 |
.. Freenet's cryptographical identifiers: |
.. Freenet's cryptographical identifiers: |
100 |
|
|
101 |
Freenet [freenet-andalso-freenet-ieee]_, a peer-to-peer |
Location-independent identifiers aren't a new idea. |
102 |
anonymous publication system, uses cryptographic |
In Freenet [freenet-ieee]_, an anonymous peer-to-peer |
103 |
functions to generate location-independent identifiers. |
publication system, *cryptographic hashes* [XXX] |
104 |
|
are used to identify versions of documents. Hashes |
105 |
In Freenet, identifiers for specific versions of documents are |
are short, e.g. 20 bytes, yet it is extremely unlikely |
106 |
generated by the use of a *collision-free cryptographic |
that two different documents will ever have the same hash, |
107 |
hash function* [XXX]. A hash function maps an arbitrary-length |
making them ideal identifiers on the Web. |
108 |
input to a short, fixed-length output, e.g. 20 bytes. |
|
109 |
|
Hashes allow reference to a single version of a |
110 |
Hash functions are collision-free if it is |
document. Documents are refered to by public keys [XXX]. |
111 |
mathematically extremely unlikely that two documents |
The private key corresponding to a document's public key |
112 |
will ever be mapped to the same hash, making them |
can update the document by digitally signing a new version |
113 |
ideal to identify documents on the Web. |
of it. |
|
|
|
|
Documents are identified by a public key. |
|
|
Versions of the documents are then |
|
|
digitally signed [XXX]_ using the corresponding |
|
|
private key. |
|
114 |
|
|
115 |
However, finding a document on Freenet can be |
However, finding a document on Freenet can be |
116 |
quite slow, taking many seconds. This is not |
quite slow, taking many seconds. This is not |
135 |
However, recent developments in peer-to-peer systems have |
However, recent developments in peer-to-peer systems have |
136 |
rendered this assumption obsolete. Distributed hashtables |
rendered this assumption obsolete. Distributed hashtables |
137 |
(DHTs) and other structured overlay networks |
(DHTs) and other structured overlay networks |
138 |
[stoica01chord-andalso-ratnasamy01can-andalso-zhao01tapestry-andalso-rowston01pastry-andalso-maymounkov02kademlia-andalso-malkhi02viceroy-andalso-AspnesS2003-andalso-bonsma02swan]_ |
[AspnesS2003-andalso-bonsma02swan-andalso-malkhi02viceroy-andalso-maymounkov02kademlia-andalso-ratnasamy01can-andalso-rowston01pastry-andalso-stoica01chord-andalso-zhao01tapestry]_ |
139 |
allow location-independent identifiers |
allow location-independent identifiers |
140 |
to be resolved on a global scale. |
to be resolved on a global scale. |
141 |
|
|
158 |
|
|
159 |
.. a general storage system, using Freenet-like identifiers: |
.. a general storage system, using Freenet-like identifiers: |
160 |
|
|
161 |
|
We are developing a library storing |
162 |
|
documents on the desktop and publishing and retrieving |
163 |
|
documents from the network. |
164 |
|
Our system, Storm (for STORage Modules), |
165 |
|
uses Freenet-like cryptographic identifiers. |
166 |
|
|
167 |
.. part of the web -- URN scheme (so far experimental, |
.. part of the web -- URN scheme (so far experimental, |
168 |
targetting registration): |
targetting registration): |
169 |
|
|
170 |
|
We are using an experimental URN (Uniform Resource Name, |
171 |
|
[XXX]) namespace and are preparing the registration |
172 |
|
of an informal namespace with IANA. This allows our |
173 |
|
system's identifiers to be used in Web hyperlinks. |
174 |
|
|
175 |
.. accessible through Java library or http gateway: |
.. accessible through Java library or http gateway: |
176 |
|
|
177 |
|
Browsers and applications can access Storm either |
178 |
|
by using the Java library directly or through an |
179 |
|
HTTP gateway, which, given a Storm URN, finds and |
180 |
|
returns the associated file. Documents can be |
181 |
|
uploaded into Storm using HTTP PUT operations |
182 |
|
on the gateway. |
183 |
|
|
184 |
|
.. Applications we are integrated with: |
185 |
|
|
186 |
|
Using the gateway, we have made the Konqueror |
187 |
|
web browser as well as Netscape Navigator 4 |
188 |
|
understand Storm URNs. Using our extension, any |
189 |
|
KDE application can load from and save to |
190 |
|
Storm URNs. KDE automatically uploads changed |
191 |
|
documents into Storm when the user hits "Save." |
192 |
|
|
193 |
|
.. OpenOffice can load from http gateway |
194 |
|
(needs more complete WebDAV impl to save): |
195 |
|
|
196 |
|
The Emacs text editor doesn't understand Storm |
197 |
|
URNs yet, but can load and save documents using |
198 |
|
Storm through the HTTP gateway. OpenOffice.org |
199 |
|
can load documents through the HTTP gateway, |
200 |
|
but cannot save to it, because the gateway |
201 |
|
does not support WebDAV. |
202 |
|
|
203 |
.. web interface for searching etc. |
.. web interface for searching etc. |
204 |
|
|
205 |
- Konqueror and Netscape 4 understand Storm URNs |
The HTTP gateway also provides a Web interface |
206 |
- KDE programs can load from and save to Storm URNs |
to Storm, giving the user a list of all documents |
207 |
- emacs can load from and save to http gateway |
stored on their local hard disk, and allows users |
208 |
- OpenOffice can load from http gateway |
to conduct searches over the titles of all documents |
209 |
(needs more complete WebDAV impl to save) |
published on the network. |
210 |
|
|
211 |
|
|
212 |
Conclusions |
Conclusions |
218 |
Acknowledgements |
Acknowledgements |
219 |
================ |
================ |
220 |
|
|
221 |
|
This work was funded by the Agora Center InBCT project. |
222 |
We would like to thank Erno Kuusela, Sarah Stehlig, |
We would like to thank Erno Kuusela, Sarah Stehlig, |
223 |
Harri Oinas-Kukkonen and Jukka Honkela for |
Harri Oinas-Kukkonen and Jukka Honkela for |
224 |
comments and discussions. |
comments and discussions. |