2 |
What's missing: Why isn't the Web running over P2P? |
What's missing: Why isn't the Web running over P2P? |
3 |
=================================================== |
=================================================== |
4 |
|
|
5 |
|
.. XXX Abstract has to mention static pages, |
6 |
|
maybe that we discuss briefly how to extend this to |
7 |
|
dynamic pages, discussion forums &c |
8 |
|
|
9 |
Abstract |
Abstract |
10 |
======== |
======== |
24 |
and P2P-based software distribution and upgrading, |
and P2P-based software distribution and upgrading, |
25 |
and serve as a common versioning model integrating |
and serve as a common versioning model integrating |
26 |
separate P2P networks. |
separate P2P networks. |
|
|
|
27 |
Extending OceanStore's "heartbeats," we propose *pointer records*, |
Extending OceanStore's "heartbeats," we propose *pointer records*, |
28 |
signed files containing a document's id, |
signed files containing a document's id, |
29 |
its current version's hash, and a timestamp. |
its current version's hash, and a timestamp. |
34 |
This way, versions of a document |
This way, versions of a document |
35 |
stay available as long as anybody keeps a copy. |
stay available as long as anybody keeps a copy. |
36 |
|
|
37 |
|
|
38 |
|
|
39 |
.. raw:: latex |
.. raw:: latex |
40 |
|
|
41 |
\endabstract |
\endabstract |
310 |
the functionality of current P2P filesharing systems |
the functionality of current P2P filesharing systems |
311 |
as well as local storage. |
as well as local storage. |
312 |
|
|
313 |
|
The Storm abstraction does not provide any new functionality; |
314 |
|
indeed, it does not provide all the features of advanced |
315 |
|
systems such as OceanStore or Freenet. |
316 |
|
Rather, it is the *least requirements* |
317 |
|
on which a pointer records -based |
318 |
|
P2P Web system may be built. |
319 |
|
|
320 |
|
|
321 |
.. [#] For STORage Module. Storm is also the name of our |
.. [#] For STORage Module. Storm is also the name of our |
322 |
Free Software implementation, discussed in |
Free Software implementation, discussed in |
323 |
Section 5. |
Section 5. |
340 |
by a particular P2P Web server, the data downloaded |
by a particular P2P Web server, the data downloaded |
341 |
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 |
342 |
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. |
343 |
In an API, a pool provides the functionality to |
A pool provides the functionality to |
344 |
fetch a block by its global id; local (cache- or filesystem-like) |
fetch a block by its global id; local (cache- or filesystem-like) |
345 |
pools also allow |
pools also allow |
346 |
blocks to be added and deleted. |
blocks to be added, deleted and iterated over. |
347 |
|
A user would generally have at least three local pools: |
348 |
|
blocks I've created; blocks I've created and publish on the P2P Web; |
349 |
|
blocks I've downloaded and cached from elsewhere that may also |
350 |
|
be shared on the P2P Web. |
351 |
|
|
352 |
Reverse indices |
Reverse indices |
353 |
Reverse indices are application-specific plug-ins |
Reverse indices are application-specific plug-ins |
554 |
Acknowledgements |
Acknowledgements |
555 |
================ |
================ |
556 |
|
|
557 |
We would like to thank Toni Alatalo, |Hermanni| and Matti Katila |
We would like to thank Toni Alatalo, |Hermanni|, |
558 |
for comments and discussions. |
Antti-Juhani Kaijanaho (who also proposed the name Storm) |
559 |
|
and Matti Katila for comments and discussions. |
560 |
|
|
561 |
.. XXX who else |
.. XXX who else |
562 |
|
|