153 |
|
|
154 |
This paper describes Storm, a library for |
This paper describes Storm, a library for |
155 |
storing and retrieving data using |
storing and retrieving data using |
156 |
location-independent URIs. |
location-independent URIs. |
157 |
|
|
158 |
|
|
159 |
Storm |
Storm |
208 |
unless deleted explicitly. It is possible to |
unless deleted explicitly. It is possible to |
209 |
store only the differences between versions. |
store only the differences between versions. |
210 |
|
|
211 |
|
Storm in itself is *not* a P2P system. |
212 |
|
Storm is a data model and a library for using that data model |
213 |
|
with several different backends. |
214 |
|
Because of the simplicity of the lowest-level data model, Storm is able |
215 |
|
to use several different modes of networking, from simply copying |
216 |
|
blocks to a full-fledged P2P system, using DHT and other P2P systems |
217 |
|
as libraries --- as of now, we are already successfully transferring |
218 |
|
blocks between running storm servers using GISP. |
219 |
|
|
220 |
|
|
221 |
Interfacing |
Interfacing |
222 |
=========== |
=========== |
223 |
|
|
237 |
.. On the user level, |
.. On the user level, |
238 |
.. Even without user interface changes, |
.. Even without user interface changes, |
239 |
|
|
|
At the moment, |
|
|
Storm can be used as a |
|
|
replacement for both file names and HTTP URLs |
|
|
as document identifiers. |
|
|
The downside is the long, cryptic URIs which |
|
|
would ideally be handled through some user interface changes. |
|
|
|
|
|
|
|
240 |
.. accessible through Java library or http gateway: |
.. accessible through Java library or http gateway: |
241 |
|
|
242 |
.. Applications we are integrated with: |
.. Applications we are integrated with: |
243 |
|
|
244 |
The use of URNs allows our |
.. The use of URNs allows our |
245 |
system's identifiers to be used in Web hyperlinks. |
system's identifiers to be used in Web hyperlinks. |
246 |
|
|
247 |
|
.. OpenOffice can load from http gateway |
248 |
|
(needs more complete WebDAV impl to save): |
249 |
|
|
250 |
|
|
251 |
|
At the moment, |
252 |
|
Storm URNs can be used as a |
253 |
|
replacement for both file names and HTTP URLs |
254 |
|
as document identifiers. |
255 |
Browsers and applications can access Storm either |
Browsers and applications can access Storm either |
256 |
by using the Java library directly or through an |
by using the Java library directly or through an |
257 |
HTTP gateway, which locates and |
HTTP gateway, which locates and |
264 |
KDE application can load from and save to |
KDE application can load from and save to |
265 |
Storm URNs. KDE automatically uploads changed |
Storm URNs. KDE automatically uploads changed |
266 |
documents into Storm when the user hits "Save." |
documents into Storm when the user hits "Save." |
|
|
|
|
.. OpenOffice can load from http gateway |
|
|
(needs more complete WebDAV impl to save): |
|
|
|
|
267 |
The Emacs text editor does not understand Storm |
The Emacs text editor does not understand Storm |
268 |
URNs yet, but can load and save documents in |
URNs yet, but can load and save documents in |
269 |
Storm using the HTTP gateway. OpenOffice.org software |
Storm using the HTTP gateway. OpenOffice.org software |
274 |
|
|
275 |
.. web interface for searching etc. |
.. web interface for searching etc. |
276 |
|
|
277 |
Additionally, the HTTP gateway provides a Web interface |
The HTTP gateway also provides a richer Web interface |
278 |
to Storm, giving the user a list of all documents |
to Storm, giving the user a list of all documents |
279 |
stored on their local hard disk, and allowing them |
stored on their local hard disk, and allowing them |
280 |
to conduct searches over the titles of all documents |
to conduct searches over the titles of all documents |
281 |
published on the network. |
published on the underlying P2P network. |
282 |
For HTML, the Storm server is also able to insert links |
For HTML, the Storm server is also able to insert links |
283 |
to all other documents referred to by the same pointer, |
to all other documents referred to by the same pointer, |
284 |
i.e. links to *alternate* or *earlier* versions of the document. |
i.e. links to *alternate* or *earlier* versions of the document. |
292 |
This may help in making hyperlinks between desktop |
This may help in making hyperlinks between desktop |
293 |
documents more convenient. |
documents more convenient. |
294 |
|
|
295 |
|
XXX CURRENT INTERFACING |
296 |
|
The downside is the long, cryptic URIs which |
297 |
|
would ideally be handled through some user interface changes |
298 |
|
CUTTING&PASTING. |
299 |
|
|
300 |
A distributed hashtable is used to locate published documents |
A distributed hashtable is used to locate published documents |
301 |
on a global state. |
on a global state. |
302 |
While the core of Storm has been in use for almost |
While the core of Storm has been in use for almost |