[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] manuscripts/storm article.rst
From: |
Benja Fallenstein |
Subject: |
[Gzz-commits] manuscripts/storm article.rst |
Date: |
Sat, 25 Jan 2003 13:34:09 -0500 |
CVSROOT: /cvsroot/gzz
Module name: manuscripts
Changes by: Benja Fallenstein <address@hidden> 03/01/25 13:34:09
Modified files:
storm : article.rst
Log message:
start section on block storage
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/manuscripts/storm/article.rst.diff?tr1=1.36&tr2=1.37&r1=text&r2=text
Patches:
Index: manuscripts/storm/article.rst
diff -u manuscripts/storm/article.rst:1.36 manuscripts/storm/article.rst:1.37
--- manuscripts/storm/article.rst:1.36 Sat Jan 25 12:51:33 2003
+++ manuscripts/storm/article.rst Sat Jan 25 13:34:09 2003
@@ -103,11 +103,42 @@
================
In our system, Storm (for *storage module*), all data is stored
-in *blocks*, byte sequences identified by a
-cryptographic hash. Blocks often have a similar granularity
-as files, but they are immutable, since any change to the
+in *blocks*, byte sequences identified by a SHA-1 cryptographic hash
+[ref SHA-1 and our ht'02 paper]. Blocks often have a similar granularity
+as regular files, but they are immutable, since any change to the
byte sequence would change the hash (and thus create a different block).
+Mutable data structures are built on top of the immutable blocks
+(see Section 5).
+Block storage makes it easy to replicate data between systems.
+Different versions of the same document can easily coexist at this level,
+stored in different blocks. To replicate all data from computer A
+on computer B, it suffices to copy all blocks from A to B that B
+does not already store.
+
+Storm blocks are MIME messages [ref MIME], i.e., objects with
+a header and body as used in Internet mail or HTTP.
+This allows them to carry any metadata that can be carried
+in a MIME header, most importantly a content type.
+
+Collections of Storm blocks are called *pools*. Pools provide
+the following interface::
+
+ getIds() -> list
+ get(id) -> block
+ add(block)
+ delete(block)
+
+Implementations may store blocks in RAM, in individual files,
+in a Zip archive, in a database or through other means.
+We have implemented the first three (using hexadecimal
+representations of the block ids for file names).
+
+When used in a network environment, Storm ids do not provide
+a hint as to where in the network the matching block can be found.
+However, current peer-to-peer systems could be used to
+find blocks in a distributed fashion; for example, Freenet [ref]
+and some Gnutella clients [ref] also use SHA-1-based identifiers.
3. Xanalogical storage
- [Gzz-commits] manuscripts/storm article.rst, (continued)
[Gzz-commits] manuscripts/storm article.rst, Benja Fallenstein, 2003/01/25
[Gzz-commits] manuscripts/storm article.rst, Benja Fallenstein, 2003/01/25
[Gzz-commits] manuscripts/storm article.rst,
Benja Fallenstein <=
Re: [Gzz-commits] manuscripts/storm article.rst, hemppah, 2003/01/27
[Gzz-commits] manuscripts/storm article.rst, Benja Fallenstein, 2003/01/25