123 |
a network of servers (as in Lotus Notes) or directly with each other |
a network of servers (as in Lotus Notes) or directly with each other |
124 |
(as in Groove [groovesurl]_). In each of these cases, a user should be able |
(as in Groove [groovesurl]_). In each of these cases, a user should be able |
125 |
to work on the version at hand and then either merge it with others |
to work on the version at hand and then either merge it with others |
126 |
or fork to a different branch. |
or fork to a different branch, as well as rollback the current changes |
127 |
|
or look at differences between versions *without network connectivity*. |
128 |
|
|
129 |
In this paper, we present Storm (for *STORage Module*), a design |
In this paper, we present Storm (for *STORage Module*), a design |
130 |
dealing with versioning and dangling links. Storm is a library |
dealing with versioning and dangling links. Storm is a library |
131 |
for storing and retrieving data as *blocks*, immutable |
for storing and retrieving data as *blocks*, immutable |
132 |
byte sequences identified by cryptographic content hashes |
byte sequences identified by cryptographic content hashes |
133 |
[lukka02guids]_. Additionally, Storm provides services |
[lukka02guids]_. On top of the block layer, Storm provides services |
134 |
for versioned data and Xanalogical storage [ted-xanalogical-structure-needed]_. |
for versioned data and Xanalogical storage [ted-xanalogical-structure-needed]_. |
135 |
We address the mobility of documents by block storage |
We address the mobility of documents by block storage |
136 |
and versioning, while we use Xanalogical storage |
and versioning, |
137 |
to address the movement of content between documents (copy&paste); |
and the movement of content between documents (copy&paste) |
138 |
|
by Xanalogical storage. |
139 |
Fig. [ref-storm_layers]_ provides an overview of Storm's components. |
Fig. [ref-storm_layers]_ provides an overview of Storm's components. |
140 |
|
|
141 |
.. uml:: storm_layers |
.. uml:: storm_layers |