278 |
searching for versions of this document. It could also use it |
searching for versions of this document. It could also use it |
279 |
to notify the user when new versions of the file become available. |
to notify the user when new versions of the file become available. |
280 |
|
|
|
.. XXX move previous paragraph to Applications? but it'd be nice |
|
|
to show here how this relates to existing systems. HMMM. |
|
|
|
|
281 |
Because they require no centralized version management, |
Because they require no centralized version management, |
282 |
pointer records may be able to unify the namespaces |
pointer records may be able to unify the namespaces |
283 |
of different P2P systems in a similar way to hash-based identifiers. |
of different P2P systems in a similar way to hash-based identifiers. |
307 |
|
|
308 |
.. [#] For STORage Module. Storm is the name of our |
.. [#] For STORage Module. Storm is the name of our |
309 |
Free Software implementation, discussed in |
Free Software implementation, discussed in |
310 |
Section XXX. |
Section 5. |
311 |
|
|
312 |
|
.. XXX NOTE: if we move any sections around, update |
313 |
|
the above section number! |
314 |
|
|
315 |
The Storm model is comprised of the following components: |
The Storm model is comprised of the following components: |
316 |
|
|
357 |
is used to publish mappings from pointer ids |
is used to publish mappings from pointer ids |
358 |
to the block ids of pointer records. |
to the block ids of pointer records. |
359 |
|
|
360 |
The benefits of starting from this basic model are numerous: |
The Storm model is *simple to implement* on top existing |
361 |
|
P2P overlays. It allows *simple synchronization* e.g. |
362 |
- simple to implement - existing models cover this well |
between mirrors, consisting of only copying all blocks |
363 |
|
available on only one of the hosts to the other host. |
364 |
- can be made to work with peers that join and leave small |
It is also *robust*, because all the information is stored |
365 |
ad hoc networks often (and the global "net" less often) |
in blocks, which are immutable; no data is ever overwritten, |
366 |
|
protecting from accidents. |
367 |
- robust - all state of the system is in the blocks |
|
368 |
|
Finally, if desktop machines |
369 |
|
use the same data model to store local data, the desktop |
370 |
|
and Web namespaces can be unified; a document can keep |
371 |
|
its address when published on the network, or when |
372 |
|
downloaded to the local harddisk (see [fallenstein03storm]_). |
373 |
|
|
374 |
|
.. - can be made to work with peers that join and leave small |
375 |
|
ad hoc networks often (and the global "net" less often) |
376 |
|
-> XXX what does this mean? |
377 |
|
|
378 |
|
|
379 |
Applications |
Applications |
380 |
============ |
============ |
381 |
|
|
382 |
In this section, we discuss three possible applications |
In this section, we discuss three possible applications |
383 |
of pointer blocks: A P2P Web, a distributed Wayback Machine, |
of pointer records: A P2P Web, a distributed Wayback Machine, |
384 |
and software updates akin to Debian ``apt`` and Windows Update. |
and software updates akin to Debian ``apt`` and Windows Update. |
385 |
|
|
386 |
**A File-shared, Decentralized, Heterogeneous Web.** |
**A File-shared, Decentralized, Heterogeneous Web.** |
434 |
as the rest of the file-shared web, simply configured slightly |
as the rest of the file-shared web, simply configured slightly |
435 |
differently. |
differently. |
436 |
|
|
437 |
**Software / media updates.** |
**Software updates.** |
438 |
As an example of a different application, |
As an example of a different application, |
439 |
pointer records could be used to implement |
pointer records could be used to implement |
440 |
a p2p version of software upgrades |
a p2p version of software upgrades |
443 |
updates could be downloaded from the closest |
updates could be downloaded from the closest |
444 |
host that has a copy. |
host that has a copy. |
445 |
|
|
446 |
An important advantage of pointer records, due |
An important advantage of pointer records is |
|
to the simple underlying block abstraction, is |
|
447 |
that it is possible to |
that it is possible to |
448 |
burn the new versions of packages |
burn the new versions of packages |
449 |
(and their pointers records) to a CD |
(and their pointers records) to a CD |
450 |
to take to a machine that is not connected |
to take to a machine that is not connected |
451 |
to a network. Because the versioning model only |
to a network. Because the versioning model |
452 |
uses the pointer blocks as data, the software upgrade |
needs only the pointer blocks, not a connection |
453 |
should simply work out in such a case. |
to the network, the software update could be |
454 |
This advantage is not shared by for example the |
performed exactly the same way as with an Internet connection. |
455 |
onion networks model XXX. |
Other P2P versioning schemes, such as the Content-Addressable |
456 |
|
Network proposal, do not share this advantage. |
457 |
|
|
458 |
|
|
459 |
Implementation |
Implementation |
539 |
================ |
================ |
540 |
|
|
541 |
We would like to thank |Hermanni| |
We would like to thank |Hermanni| |
542 |
[XXX who else] for comments and discussions. |
for comments and discussions. |
543 |
|
|
544 |
|
.. XXX who else |
545 |
|
|
546 |
.. |Hermanni| raw:: latex |
.. |Hermanni| raw:: latex |
547 |
|
|