103 |
|
|
104 |
In this paper, we present Storm (for *storage module*), a design |
In this paper, we present Storm (for *storage module*), a design |
105 |
dealing with these issues. Storm is a library |
dealing with these issues. Storm is a library |
106 |
for storing and retrieving data as immutable |
for storing and retrieving data as *blocks*, immutable |
107 |
byte sequences identified by cryptographic content hashes |
byte sequences identified by cryptographic content hashes |
108 |
[ref ht'02 paper], unifying the namespaces of |
[ref ht'02 paper]. Storm provides services |
109 |
private data and documents published on the Internet by |
for versioned data and Xanalogical storage [ref], |
110 |
using the same identifiers for both. Storm provides services |
built on top of blocks. |
|
for versioned data and Xanalogical storage [ref]. |
|
111 |
The Storm design, a hypermedia system built to make use |
The Storm design, a hypermedia system built to make use |
112 |
of the emerging peer-to-peer search technologies, |
of the emerging peer-to-peer search technologies, |
113 |
is the main contribution of this paper. |
is the main contribution of this paper. |
114 |
|
|
115 |
Currently, Storm is partially implemented as a part of the Gzz |
Currently, Storm is partially implemented as a part of the Gzz |
116 |
project [ref], which uses Storm exclusively for all disk storage. |
project [ref], which uses Storm exclusively for all disk storage. |
117 |
Gzz provides a general platform for building hypermedia applications upon. |
Gzz is an implementation of Ted Nelson's zzstructure [ref], |
118 |
On top of Storm, we have built a system for storing mutable, versioned data |
providing a platform for hypermedia-aware applications. |
119 |
and an implementation of Xanalogical storage [ref]. |
The peer-to-peer functionality |
|
|
|
|
Our current implementation has been used for local disk storage |
|
|
and with a central repository. The peer-to-peer functionality |
|
120 |
is in a very early stage and not usable yet. |
is in a very early stage and not usable yet. |
121 |
|
|
122 |
.. [General figure of Storm, i.e. application layer, storm layer, |
.. [General figure of Storm, i.e. application layer, storm layer, |
137 |
|
|
138 |
This paper is structured as follows. In the next section, we describe |
This paper is structured as follows. In the next section, we describe |
139 |
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 |
140 |
system, file-like blocks of data identified by cryptographic hashes. |
system, file-like blocks identified by cryptographic hashes. |
141 |
In section 4, we discuss our implementation of Xanalogical storage |
In section 4, we discuss our implementation of Xanalogical storage |
142 |
on top of the block system. In section 5, we discuss application-specific |
on top of the block system. In section 5, we discuss application-specific |
143 |
reverse indexing of blocks by their content, essential for many applications. |
reverse indexing of blocks by their content, essential for many applications. |