180 |
However, Storm is able to address both downsides by |
However, Storm is able to address both downsides by |
181 |
simple cryptographic techniques. |
simple cryptographic techniques. |
182 |
|
|
183 |
|
.. pointers |
184 |
|
|
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, overriding |
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. |
a digital signature of the above information. The pointer Id |
193 |
|
contains the public key used for signatures --- this allows |
194 |
|
only the originator of the document to validate new versions. |
195 |
|
A suitable user interface around pointers allows the user to |
196 |
|
still see old-style file names, but with the file names attached |
197 |
|
to his/her person, not to a particular computer. |
198 |
|
|
199 |
|
|
200 |
.. storing |
.. storing |
201 |
documents on the desktop and publishing and retrieving |
documents on the desktop and publishing and retrieving |
206 |
.. part of the web -- URN scheme (so far experimental, |
.. part of the web -- URN scheme (so far experimental, |
207 |
targetting registration): |
targetting registration): |
208 |
|
|
|
XXX Cryptic - need UI |
|
209 |
|
|
210 |
We are using an experimental URN namespace |
We are using an experimental URN namespace |
211 |
(Uniform Resource Name, a persistent kind of URI) |
(Uniform Resource Name, a persistent kind of URI) |
212 |
and are preparing the registration |
and are preparing the registration |
213 |
of a real namespace with IANA. |
of a real namespace with IANA. |
214 |
The URN is constructed analogously to a DATA URI (RFC XXX) |
The URN is constructed analogously to a DATA URI (RFC XXX) |
215 |
from the hash and the content-type. |
from the hash of the block content and the MIME content-type, |
216 |
|
for example ``urn-...XXX``. |
217 |
|
|
218 |
.. Our system implements append-and-delete-only |
.. Our system implements append-and-delete-only |
219 |
storage; past versions of documents are stored |
storage; past versions of documents are stored |
223 |
Interfacing |
Interfacing |
224 |
=========== |
=========== |
225 |
|
|
226 |
On the user level, Storm could be used as a |
.. On the user level, |
227 |
|
.. Even without user interface changes, |
228 |
|
|
229 |
|
At the moment, |
230 |
|
Storm can be used as a |
231 |
replacement for both file names and HTTP URLs |
replacement for both file names and HTTP URLs |
232 |
as document identifiers. |
as document identifiers. |
233 |
|
The downside is the long, cryptic URIs which |
234 |
|
would ideally be handled through some user interface changes. |
235 |
|
|
236 |
|
|
237 |
.. accessible through Java library or http gateway: |
.. accessible through Java library or http gateway: |
238 |
|
|
271 |
stored on their local hard disk, and allowing them |
stored on their local hard disk, and allowing them |
272 |
to conduct searches over the titles of all documents |
to conduct searches over the titles of all documents |
273 |
published on the network. |
published on the network. |
274 |
|
For HTML, the Storm server is also able to insert links |
275 |
|
to all other documents referred to by the same pointer, |
276 |
|
i.e. links to *alternate* or *earlier* versions of the document. |
277 |
|
|
278 |
|
|
279 |
Conclusions |
Conclusions |
294 |
|
|
295 |
XXX Chief contributions of storm: pointers, ...?? |
XXX Chief contributions of storm: pointers, ...?? |
296 |
|
|
297 |
|
XXX Authentication, user management needs work |
298 |
|
|
299 |
.. A next step will be |
.. A next step will be |
300 |
WebDAV support, allowing many more systems to |
WebDAV support, allowing many more systems to |
301 |
save data in Storm. |
save data in Storm. |