mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-19 13:07:56 +00:00
docs: edits and updates to architecture.txt, with Amber
This commit is contained in:
parent
2e84230a18
commit
e400c5a8fb
@ -30,7 +30,7 @@ applications, too.
|
|||||||
|
|
||||||
THE GRID OF STORAGE SERVERS
|
THE GRID OF STORAGE SERVERS
|
||||||
|
|
||||||
The grid is composed of a collection of peer nodes -- processes running on
|
The grid is composed of peer nodes -- processes running on
|
||||||
computers. They establish TCP connections to each other using Foolscap, a
|
computers. They establish TCP connections to each other using Foolscap, a
|
||||||
secure remote message passing library.
|
secure remote message passing library.
|
||||||
|
|
||||||
@ -47,8 +47,8 @@ all other peers from it. Each peer then connects to all other peers,
|
|||||||
creating a fully-connected topology. In the current release, nodes
|
creating a fully-connected topology. In the current release, nodes
|
||||||
behind NAT boxes will connect to all nodes that they can open
|
behind NAT boxes will connect to all nodes that they can open
|
||||||
connections to, but they cannot open connections to other nodes behind
|
connections to, but they cannot open connections to other nodes behind
|
||||||
NAT boxes. Therefore, the more nodes there are behind NAT boxes the
|
NAT boxes. Therefore, the more nodes behind NAT boxes, the less the
|
||||||
less the topology resembles the intended fully-connected topology.
|
topology resembles the intended fully-connected topology.
|
||||||
|
|
||||||
|
|
||||||
FILE ENCODING
|
FILE ENCODING
|
||||||
@ -57,15 +57,15 @@ When a peer stores a file on the grid, it first encrypts the file,
|
|||||||
using a key that is optionally derived from the hash of the file
|
using a key that is optionally derived from the hash of the file
|
||||||
itself. It then segments the encrypted file into small pieces, in
|
itself. It then segments the encrypted file into small pieces, in
|
||||||
order to reduce the memory footprint, and to decrease the lag between
|
order to reduce the memory footprint, and to decrease the lag between
|
||||||
initiating a download and receiving the first part of the file, for
|
initiating a download and receiving the first part of the file; for
|
||||||
example the lag between hitting "play" and a movie actually starting.
|
example the lag between hitting "play" and a movie actually starting.
|
||||||
|
|
||||||
The peer then erasure-codes each segment, producing blocks such that
|
The peer then erasure-codes each segment, producing blocks such that
|
||||||
only a subset of the blocks (by default 3 out of 12 of the blocks) are
|
only a subset of them are needed to reconstruct the segment (by
|
||||||
needed to reconstruct the segment. The peer uploads each block to a
|
default 3 out of 12 of the blocks). It sends one block from each
|
||||||
storage server. It sends one block from each segment to a given
|
segment to a given server. The set of blocks on a given server
|
||||||
server, creating a "share" stored on that server. Only a subset of
|
constitutes a "share". Only a subset of the shares (3 out of 12) are
|
||||||
the shares (3 out of 12) are needed to reconstruct the file.
|
needed to reconstruct the file.
|
||||||
|
|
||||||
A tagged hash of the encryption key is used to form the "storage
|
A tagged hash of the encryption key is used to form the "storage
|
||||||
index", which is used for both server selection (described below) and
|
index", which is used for both server selection (described below) and
|
||||||
|
Loading…
Reference in New Issue
Block a user