297 |
searching different networks for versions |
searching different networks for versions |
298 |
|
|
299 |
|
|
300 |
Primitive block storage abstraction |
The Storm data model: an abstraction of primitive block storage |
301 |
=================================== |
=============================================================== |
302 |
|
|
303 |
In this section, we introduce the Storm [#]_ model, |
In this section, we introduce the Storm [#]_ data model, |
304 |
a simple but powerful data model that can represent |
a simple but powerful abstraction that can represent |
305 |
all data on the P2P Web and that maps well to |
all data on the P2P Web and that maps well to |
306 |
the functionality of current P2P filesharing systems. |
the functionality of current P2P filesharing systems |
307 |
|
as well as local storage. |
308 |
|
|
309 |
.. [#] For STORage Module. Storm is the name of our |
.. [#] For STORage Module. Storm is also the name of our |
310 |
Free Software implementation, discussed in |
Free Software implementation, discussed in |
311 |
Section 5. |
Section 5. |
312 |
|
|
313 |
.. XXX NOTE: if we move any sections around, update |
.. XXX NOTE: if we move any sections around, update |
314 |
the above section number! |
the above section number! |
315 |
|
|
316 |
The Storm model is comprised of the following components: |
The Storm data model is comprised of the following components: |
317 |
|
|
318 |
Blocks, identified by hash |
Blocks, identified by hash |
319 |
All data is stored in *blocks*, which are file-like, |
All data is stored in *blocks*, which are file-like, |
329 |
by a client, the data in a client's cache, and all the |
by a client, the data in a client's cache, and all the |
330 |
data published on the whole Web can all be seen as a pool. |
data published on the whole Web can all be seen as a pool. |
331 |
In an API, a pool provides the functionality to |
In an API, a pool provides the functionality to |
332 |
fetch a block by its global id; local pools also allow |
fetch a block by its global id; local (cache- or filesystem-like) |
333 |
new blocks to be added. |
pools also allow |
334 |
|
blocks to be added and deleted. |
335 |
|
|
336 |
Reverse indices |
Reverse indices |
337 |
Reverse indices are application-specific plug-ins |
Reverse indices are application-specific plug-ins |