194 |
A suitable user interface around pointers allows the user to |
A suitable user interface around pointers allows the user to |
195 |
still see old-style file names, but with the file names attached |
still see old-style file names, but with the file names attached |
196 |
to his/her person, not to a particular computer. |
to his/her person, not to a particular computer. |
197 |
There is also a scheme to compress blocks using differences and reverse |
There is also a scheme to compress blocks storing only |
198 |
differences between consecutive blocks but there is no space to explain it here. |
the differences between consecutive versions of a document, |
199 |
|
but there is no space to explain it here. |
200 |
|
|
201 |
|
|
202 |
.. storing |
.. storing |
215 |
to use several different modes of networking, from simply copying |
to use several different modes of networking, from simply copying |
216 |
blocks to using a full-fledged P2P system |
blocks to using a full-fledged P2P system |
217 |
as a library --- as of now, we are already successfully transferring |
as a library --- as of now, we are already successfully transferring |
218 |
blocks between running storm servers using GISP. |
blocks between running storm servers |
219 |
|
using a distributed hashtable. |
220 |
|
|
221 |
|
.. using the GISP DHT [XXXref!]. |
222 |
|
|
223 |
|
|
224 |
Interfacing |
Interfacing |
258 |
Browsers and applications can access Storm either |
Browsers and applications can access Storm either |
259 |
by using the Java library directly or through an |
by using the Java library directly or through an |
260 |
HTTP gateway, which locates and |
HTTP gateway, which locates and |
261 |
returns the associated file when a Storm URN is given. |
returns the associated file given a Storm URN. |
262 |
Documents can be uploaded into Storm through the gateway, |
Documents can be uploaded into Storm through the gateway, |
263 |
using HTTP PUT. |
using HTTP PUT. |
264 |
Using the gateway, we have made the Konqueror |
Using the gateway, we have made the Konqueror |
269 |
documents into Storm when the user hits "Save." |
documents into Storm when the user hits "Save." |
270 |
The Emacs text editor does not understand Storm |
The Emacs text editor does not understand Storm |
271 |
URNs yet, but can load and save documents in |
URNs yet, but can load and save documents in |
272 |
Storm using the HTTP gateway. OpenOffice.org software |
Storm using the HTTP gateway. OpenOffice.org |
273 |
can load documents through the HTTP gateway, |
can load documents through the HTTP gateway, |
274 |
but cannot save changes, since the gateway |
but cannot save changes yet, since the gateway |
275 |
does not yet support WebDAV (HTTP-based distributed |
does not yet support WebDAV (HTTP-based distributed |
276 |
authoring and versioning). |
authoring and versioning). |
277 |
|
|
282 |
stored on their local hard disk, and allowing them |
stored on their local hard disk, and allowing them |
283 |
to conduct searches over the titles of all documents |
to conduct searches over the titles of all documents |
284 |
published on the underlying P2P network. |
published on the underlying P2P network. |
285 |
For HTML, the Storm server is also able to insert links |
For HTML, the Storm server is also able |
286 |
to all other documents referred to by the same pointer, |
to dynamically insert backlinks: |
287 |
i.e. links to *alternate* or *earlier* versions of the document. |
links to all other HTML pages on the network that |
288 |
|
link to *this* page. |
289 |
|
|
290 |
The most important downside of using Storm in lieu of file names and URLs |
The most important downside of using Storm in lieu of file names and URLs |
291 |
is the long, cryptic URIs which |
are the long, cryptic URIs which |
292 |
would ideally be handled through some user interface changes |
would ideally be handled through some user interface changes |
293 |
to the file selector dialog boxes. |
to the file selector dialog boxes. |
294 |
|
|
296 |
=========== |
=========== |
297 |
|
|
298 |
We have presented Storm, a storage system unifying |
We have presented Storm, a storage system unifying |
299 |
the namespaces for private and published documents. |
the namespaces for private and published documents, |
300 |
This may help in making hyperlinks between desktop |
making hyperlinks between desktop |
301 |
documents more convenient. |
documents more practical. |
302 |
While the core of Storm has been in use for almost |
While the core of Storm has been in use for almost |
303 |
three years, the peer-to-peer subsystem has only recently |
three years, the peer-to-peer subsystem has only recently |
304 |
been implemented. |
been implemented. |
310 |
``http://sv.gnu.org/projects/storm``. |
``http://sv.gnu.org/projects/storm``. |
311 |
|
|
312 |
The main new features in Storm over previous systems |
The main new features in Storm over previous systems |
313 |
are the integration of |
are the use of cryptographic identifiers for |
314 |
ordinary office applications with the P2P network and |
versioned hypermedia storage on the desktop, |
315 |
pointer blocks which allow basic versioning of documents. |
smoothly integrated with ordinary office applications; |
316 |
|
pointer blocks for nonlinear versioning; |
317 |
|
and the use of a DHT for finding external hypermedia links. |
318 |
|
|
319 |
|
.. are the integration of |
320 |
|
ordinary office applications with the P2P network and |
321 |
|
pointer blocks which allow basic versioning of documents. |
322 |
|
|
323 |
Storm is by no means finished: more work is needed |
Storm is by no means finished: more work is needed |
324 |
on, e.g., versioning when a group of people are |
on, e.g., versioning when a group of people are |
325 |
collaborating on a document, i.e., when the pointer is not |
collaborating on a document, i.e., when a pointer is not |
326 |
associated with only one person. |
associated with only one person. |
327 |
|
|
328 |
.. A distributed hashtable is used to locate published documents |
.. A distributed hashtable is used to locate published documents |