40 |
Abstract |
Abstract |
41 |
======== |
======== |
42 |
|
|
43 |
If the Web worked like a file-sharing system, there would be |
File-sharing systems save bandwidth and increase availability |
44 |
no central point of failure for a Web page; it could be downloaded |
because there is no single point of failure for a file. |
45 |
from any host that has a copy. This would save bandwidth |
This would be desirable on the Web. |
46 |
and increase availability. However, if the Web worked like |
However, most current P2P systems have no facility |
47 |
a file-sharing system, Web pages could never be updated. |
for updating documents, and those that do |
48 |
|
require keeping the current version as state in the network. |
49 |
|
Thus, to keep a version of a Web page available, |
50 |
|
it would not suffice to keep a copy on your computer. |
51 |
|
|
52 |
We present an updating system usable |
We present an versioning mechanism usable |
53 |
for a P2P Web as well as for file-sharing (e.g. corrected versions |
for a P2P Web as well as for file-sharing (e.g. corrected versions |
54 |
of Project Gutenberg books) and P2P-based software distribution |
of Project Gutenberg books) and P2P-based software distribution |
55 |
(akin to Debian's ``apt-get``). |
(akin to Debian's ``apt-get``). |
56 |
|
|
|
Most current P2P systems have no facility |
|
|
for updating documents. The systems that do |
|
|
require state in the network |
|
|
for remembering what the current version of a document is. |
|
|
Thus, to keep a version of a Web page available, |
|
|
it does not suffice to keep a copy on your computer. |
|
|
|
|
57 |
Extending OceanStore's "heartbeats," we propose *pointer records*, |
Extending OceanStore's "heartbeats," we propose *pointer records*, |
58 |
signed files containing a document's id, |
signed files containing a document's id, |
59 |
the hash of its current version, and a timestamp. |
its current version's hash, and a timestamp. |
60 |
Pointer records, like other files, can be downloaded from any peer |
We can find available pointer records for a document |
61 |
that has a copy. We can find all available pointer records for a document |
through the same mechanism we use to find files by hash |
62 |
through the same mechanism we use to find files in the peer-to-peer network |
(for example, a DHT). |
|
(for example, a distributed hashtable). |
|
63 |
To find the newest version, we look for the most recent timestamp. |
To find the newest version, we look for the most recent timestamp. |
64 |
This way, versions of a document |
This way, versions of a document |
65 |
stay available as long as anybody keeps a copy. |
stay available as long as anybody keeps a copy. |
79 |
.. Introduce location-independent Web idea (citing |
.. Introduce location-independent Web idea (citing |
80 |
benefits from hash-based addressing)--- |
benefits from hash-based addressing)--- |
81 |
|
|
82 |
|
If the Web worked like a file-sharing system, there would be |
83 |
|
no central point of failure for a Web page; it could be downloaded |
84 |
|
from any host that has a copy. This would save bandwidth |
85 |
|
and increase availability. However, if the Web worked like |
86 |
|
a file-sharing system, Web pages could never be updated. |
87 |
|
|
88 |
.. Standing on the shoulders of giants: Example of Web links rotting away |
.. Standing on the shoulders of giants: Example of Web links rotting away |
89 |
|
|
90 |
In 1997, NASA launched the Cassini-Huygens spacecraft |
In 1997, NASA launched the Cassini-Huygens spacecraft |