269 |
bitstring, to distinguish the pointer from all other documents |
bitstring, to distinguish the pointer from all other documents |
270 |
owned by the same entity. |
owned by the same entity. |
271 |
|
|
272 |
To associate pointers with versions, our system uses *pointer records* |
To associate pointers with versions, our system uses *pointer records*: |
273 |
small files that, similar to OceanStore's heartbeats, |
small files that, similar to OceanStore's heartbeats, |
274 |
are signed by the pointer's owner, and |
are signed by the pointer's owner, and |
275 |
contain at least the following information: |
contain at least the following information: |
332 |
==================== |
==================== |
333 |
|
|
334 |
In this section, we introduce the Storm [#]_ data model, |
In this section, we introduce the Storm [#]_ data model, |
335 |
a simple but powerful abstraction over both local storage |
an API providing simple but powerful abstraction over both local storage |
336 |
and several P2P networks. The Storm API can be used |
and several types of P2P network. The Storm API can be used |
337 |
by P2P Web applications, which then do not have to deal |
by P2P Web applications, which then do not have to deal |
338 |
with each P2P network implementation independently. |
with each P2P network implementation independently. |
339 |
|
|
348 |
.. XXX NOTE: if we move any sections around, update |
.. XXX NOTE: if we move any sections around, update |
349 |
the above section number! |
the above section number! |
350 |
|
|
351 |
The Storm data model is comprised of the following components: |
The model is comprised of the following components: |
352 |
|
|
353 |
Blocks, identified by hash |
Blocks, identified by hash |
354 |
All data is stored in *blocks*, which are file-like, |
All data is stored in *blocks*, which are file-like, |