119 |
.. [General figure of Storm, i.e. application layer, storm layer, |
.. [General figure of Storm, i.e. application layer, storm layer, |
120 |
netowork layer ? -Hermanni] |
netowork layer ? -Hermanni] |
121 |
|
|
122 |
.. [Move somewhere else -b]: |
.. [Move somewhere else -b]:: |
123 |
[Section 8 ?-) -Hermanni] |
[Section 8 ?-) -Hermanni] |
124 |
No work on integrating Storm with current programs (in the spirit of Open Hypermedia) |
No work on integrating Storm with current programs (in the spirit of Open Hypermedia) |
125 |
has been done so far. It is not clear how far this is possible |
has been done so far. It is not clear how far this is possible |
131 |
.. Investigating the degrees of interoperability with Open Hypermedia |
.. Investigating the degrees of interoperability with Open Hypermedia |
132 |
(/Structural Computing?) and (more primitive?) other (Web) XXX is a possible |
(/Structural Computing?) and (more primitive?) other (Web) XXX is a possible |
133 |
direction for future work, and will be preliminarly discussed here too. |
direction for future work, and will be preliminarly discussed here too. |
134 |
[benja says: Really? Do we/can we discuss that really?] |
[benja says: Really? Do we/can we discuss that really? antont: 'll try.] |
135 |
|
|
136 |
This paper is structured as follows. In the next section, we describe |
This paper is structured as follows. In the next section, we describe |
137 |
related work. In section 3, we introduce the basic storage unit of our |
related work. In section 3, we introduce the basic storage unit of our |
145 |
we report on implementation experience and future directions. |
we report on implementation experience and future directions. |
146 |
Section 9 concludes the paper. |
Section 9 concludes the paper. |
147 |
|
|
148 |
.. (where and how use cases? are not mentioned in either of the above, but are |
.. [Use cases in intro, discussion on how Storm applies to them |
149 |
currently split in two - hinting somewhere in the beginning and reviewing at |
to the end/in Conclusions.] |
|
the and). |
|
|
[In appendix A ? -Hermanni] |
|
|
[IMHO: Use cases in intro, discussion on how Storm applies to them |
|
|
to the end/in Conclusions. -b] |
|
150 |
|
|
151 |
|
|
152 |
2. Related Work |
2. Related Work |
214 |
architecture. Groove [ref] is a improved design of Lotus Notes, which employs |
architecture. Groove [ref] is a improved design of Lotus Notes, which employs |
215 |
strong security mechanisms and uses peer-to-peer functionality |
strong security mechanisms and uses peer-to-peer functionality |
216 |
as basis of communication channel among limited amount of participants. |
as basis of communication channel among limited amount of participants. |
217 |
Neither of these systems don't support the immutable of data. |
Neither of these systems supports the immutability of data. |
218 |
|
|
219 |
CFS [ref], which is built upon Chord DHT peer-to-peer routing layer[ref], stores |
CFS [ref], which is built upon Chord DHT peer-to-peer routing layer[ref], stores |
220 |
data as blocks. However, CFS *splits* data (files) into several miniblocks and |
data as blocks. However, CFS *splits* data (files) into several miniblocks and |
459 |
|
|
460 |
Our current implementation shows only links between documents |
Our current implementation shows only links between documents |
461 |
that are in memory at the same time [screenshot of xupdf, perhaps ref too |
that are in memory at the same time [screenshot of xupdf, perhaps ref too |
462 |
(submitted) ?]. |
(submitted) antont: was thinking the same, it would illustrate this well]. |
463 |
In the future, we will implement a global distributed index at top of |
In the future, we will implement a global distributed index at top of |
464 |
a distributed hashtable, with the scroll blocks' ids as the keys. |
a distributed hashtable, with the scroll blocks' ids as the keys. |
465 |
To find the transclusions of a span, the system will retrieve |
To find the transclusions of a span, the system will retrieve |
473 |
that this will not be a major scalability problem. Otherwise, |
that this will not be a major scalability problem. Otherwise, |
474 |
systems that allow range queries, such as skip graphs [ref] |
systems that allow range queries, such as skip graphs [ref] |
475 |
and skipnet [ref], may prove useful. |
and skipnet [ref], may prove useful. |
476 |
|
[how does video work here, i.e. are they huge blocks or collections of many |
477 |
|
small, frames? or a sequence between two keyframes?] |
478 |
|
|
479 |
[This might be relevant also: |
[This might be relevant also: |
480 |
http://www.hpl.hp.com/techreports/2002/HPL-2002-209.pdf |
http://www.hpl.hp.com/techreports/2002/HPL-2002-209.pdf |
483 |
One question raised by xanalogical storage is which links to show |
One question raised by xanalogical storage is which links to show |
484 |
for a popular document that has been linked to by many users. |
for a popular document that has been linked to by many users. |
485 |
We hope to address this problem by collaborative filtering |
We hope to address this problem by collaborative filtering |
486 |
of links [explain, ref]. There has been research on |
of links [explain, ref (grouplens.org pubs?)]. There has been research on |
487 |
collaborative filtering in peer-to-peer systems |
collaborative filtering in peer-to-peer systems |
488 |
without compromising participants' privacy [ref John Canny]. |
without compromising participants' privacy [ref John Canny]. |
489 |
|
|
512 |
|
|
513 |
getMappings(block) -> set of (key, value) pairs |
getMappings(block) -> set of (key, value) pairs |
514 |
|
|
515 |
.. [What is mapping ? We should explain this :) -Hermanni] |
.. [What is mapping ? We should explain this :) -Hermanni |
516 |
|
isn't it explained above? it's a set of key-value pairs] |
517 |
|
|
518 |
This callback processes a block and returns a set of mappings |
This callback processes a block and returns a set of mappings |
519 |
to be placed into the index. The Storm pool, in turn, provides |
to be placed into the index. The Storm pool, in turn, provides |
520 |
the following interface to the application:: |
the following interface to the application: |
521 |
|
|
522 |
get(key) -> set of (block, value) pairs |
get(key) -> set of (block, value) pairs |
523 |
|
|
889 |
and verify offline that it really comes from NYT. How to do this will go |
and verify offline that it really comes from NYT. How to do this will go |
890 |
into the article as an open research question ;-) |
into the article as an open research question ;-) |
891 |
|
|
892 |
Future directions: of course, we shoul implement a prototype |
Future directions: of course, we should implement a prototype |
893 |
|
|
894 |
Open issue/Future directions: implement multisource downloading |
Open issue/Future directions: implement multisource downloading |
895 |
|
|
899 |
|
|
900 |
Open issue: identification of online entities ? |
Open issue: identification of online entities ? |
901 |
|
|
902 |
|
Open issue: how to address interoperability - what do we mean with it? |
903 |
|
One thing might be to look at the OHS OHProtocol and such. |
904 |
|
Another is to investigate Web publishing with using storm for zope? |
905 |
|
interestingly zope by default stores diffs in the zodb (similarly:cvs&storm?) |
906 |
|
Benja also noted about pointing to external data? (couldn't find the post |
907 |
|
from the archives) |
908 |
|
|
909 |
9. Conclusions |
9. Conclusions |
910 |
============== |
============== |
911 |
|
|