[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz] Re: [GISP] Finally using GISP
From: |
Benja Fallenstein |
Subject: |
[Gzz] Re: [GISP] Finally using GISP |
Date: |
Fri, 09 May 2003 13:09:21 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030430 Debian/1.3-5 |
Dear Brad,
Brad Neuberg wrote:
What is Storm? It sounds interesting. Do you have a
more full-fledged description?
Thanks for your interest, and sorry for not replying earlier. As Toni
has said, I've been off-line.
I hope you don't mind if I simply copy & paste part of our README: then
if you have questions, I can use them to improve the README ;-)
--- snip ---
The Storm (STORage Module) library provides an alternative
to traditional file-based storage. Storm stores data
in *blocks*. A block is like a file but it cannot be changed,
and instead of a file name it is identified by a
cryptographic content hash, like this::
nkownd7c3yvtk2ll7b3c7m2abg25etb3.3ghrsnouwddhjm4uh6vv4qk6yvdaw46o2jvsmxq
A content hash is a number computed from the content
of a block. In practice it's impossible to find two blocks
with the same hash (as long as the algorithm isn't broken).
Don't worry about the 'cannot be changed' part. You can create
a *reference* that can point to different blocks over time.
(However, while we used to have an implementation of this,
this is unimplemented currently; stay tuned.)
Here are a few reasons why you would want to use this
instead of files:
- When you make a new version of something, the old one
doesn't get overwritten. The new version has a new
'name' (content hash).
- You can check whether the content of a block matches
its id. If you download a block from somewhere, you
can check you got the correct data.
- Thus, it doesn't matter where you find a block. No matter
if it's on your harddisk, sent to you by e-mail, stored
in your Web cache, or downloaded from the Web.
- You don't have to store a block twice, even if you
use it in different places. For example, an image used
in many different documents would only need to be
stored once.
- Network transparency: When you have a block locally,
your computer can use it; when you don't, your computer
can go find it on the 'net. (Or on another one of your
machines, if the computer you're currently using
is connected to them.)
- When you're offline, any blocks stored on your computer--
or a computer connected to it-- can be used just as if
you were online.
We are building a P2P system that allows you to find and
download a block if *anybody* on the 'net publishes it.
So when the original site is down, or the content
was removed from it, you can still download
Don't worry that accidentally, there may be two *different* blocks
with the *same* hash floating around on the Internet. In theory there
is an extremely slim possiblity that it *could* happen. But in
practice, since the number of possible hashes is about an octillion
times larger than the estimated number of atoms in the universe, we
can treat it as impossible. We suggest that you worry about something
more likely instead, like, say, the destruction of Earth through an
asteroid ;-)
Our software can:
- import existing files as Storm blocks
- store new data as blocks
- download blocks from a peer-to-peer (P2P) network
- check that the hashes of downloaded blocks are correct
- act as a gateway serving block requests made by http clients
(allowing you to browse Storm blocks in your web browser)
--- snip ---
If you have time, please tell me whether this was helpful! Thanks,
- Benja
- [Gzz] Re: [GISP] Finally using GISP,
Benja Fallenstein <=