1554 |
\cite{overneturl} |
\cite{overneturl} |
1555 |
\cite{edonkey2kurl} |
\cite{edonkey2kurl} |
1556 |
|
|
1557 |
\cite{bittorrenturl} |
|
|
\cite{maymounkov03ratelesscodes} |
|
1558 |
|
|
1559 |
\section{Overview} |
\section{Overview} |
1560 |
|
|
1644 |
attacks. Additionally, if possible, it would be benefitial if Peer-to-Peer system |
attacks. Additionally, if possible, it would be benefitial if Peer-to-Peer system |
1645 |
would represent all named resources as keys. |
would represent all named resources as keys. |
1646 |
|
|
|
\section{Benefits over existing Peer-to-Peer file sharing systems} |
|
|
|
|
1647 |
Since Storm uses SHA-1 hash function for creating globally unique |
Since Storm uses SHA-1 hash function for creating globally unique |
1648 |
identifiers, if necessary, we can check the integrity of a scroll |
identifiers, if necessary, we can check the integrity of a scroll |
1649 |
block by re-computing hash value for a scroll block, once fetched |
block by re-computing hash value for a scroll block, once fetched |
1650 |
form the network. Indeed, all scroll blocks' identifiers are |
form the network. Indeed, all scroll blocks' identifiers are |
1651 |
self-certifying. However, this not very efficient when we want |
self-certifying. However, this not very efficient if we want to |
1652 |
fetch large amounts of data. One possibility is to use tree-based |
obtain large amounts of data. One possibility is to use tree-based |
1653 |
hash techiques (e.g., \cite{merkle87hashtree}, \cite{\cite{mohr02thex}) |
hash techiques (e.g., \cite{merkle87hashtree}, \cite{\cite{mohr02thex}), |
1654 |
for more efficient data fetcing. Tree based hash functions can be used |
which makes possible multisource downloads. Tree based hash functions can be used |
1655 |
to verify fixed length segments of data file, instead of whole data file. |
to verify fixed length segments of data file, instead of whole data file. |
1656 |
Currently, Shareaza \cite{shareazaurl}, Overnet \cite{overneturl} and |
Currently, Shareaza \cite{shareazaurl}, Overnet \cite{overneturl} and |
1657 |
eDonkey2000 \cite{edonkey2kurl} uses tree based hashing for validating |
eDonkey2000 \cite{edonkey2kurl} uses tree based hashing for validating |
1658 |
segments of a data file. |
segments of a data file. Another options for more efficient data |
1659 |
|
fething is use multisource downloading (\cite{bittorrenturl}) and online |
1660 |
|
codes (\cite{maymounkov03ratelesscodes}). |
1661 |
- Easy syncing: |
|
1662 |
- Just copy a bunch of blocks |
Multisource downloads can be very useful when video, images or sound |
1663 |
%- Documents can be synced & merged |
is stored using Storm storage model. However, further research is |
1664 |
%- Inter-document structures can be synced & merged |
required. |
|
- Syncing can be done without merging immediately, |
|
|
leaving two alternative versions current |
|
|
(so e.g. an automated process is entirely possible, |
|
|
even when there are conflicts) |
|
|
- Versioning |
|
|
|
|
|
From Benja's (plus antont and me) article: |
|
|
- Reliability (old versions, links work always, accessibility, append-and-delete) |
|
|
- Usability in the face of intermittent connectivity |
|
|
(includes syncing, finding a document if available...) |
|
|
- Xanalogical structure |
|
|
(includes versioning, non-breaking links etc.) |
|
|
|
|
|
-current p2p systems don't support all of these properties together |
|
1665 |
|
|
1666 |
|
For more detailed discussion about Storm's storage model, see |
1667 |
|
\cite{fallenstein03storm}. |
1668 |
|
|
1669 |
\section{Evaluation} |
\section{Evaluation} |
1670 |
|
|