Changes between Version 1 and Version 2 of VolunteerDataArchival
- Timestamp:
- Nov 23, 2011, 9:27:08 AM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
VolunteerDataArchival
v1 v2 31 31 We don't consider direct client-to-client communication. 32 32 33 Recovering from the failure of a host, using techniques like replication, 34 involves uploading data from a 2nd host, then downloading it to a 3rd host. 35 Each of these steps may take days. 36 This, for volunteer storage the ratio 37 38 average time to failure / average time to recover 39 40 may be fairly small (like 100). 41 In other distributed storage systems (such as RAIDs) this ratio may 42 be on the order of 100,000. 43 Thus, these systems can modeled as a sequence of individual 44 failures and recoveries. 45 46 Volunteer storage, on the other hand, must be modeled as process 47 in which multiple recoveries may be in progress at the same time, 48 and new failures may occur during these recoveries. 33 49 There are two basic techniques for achieving reliable storage using 34 50 unreliable resources: 35 51 36 * '''Replication''': a file 52 '''Replication''': a file is divided into N pieces, 53 and each piece is stored on M hosts. 54 If a replica is lost, and there another replica, 55 that replica is uploaded to the server, then downloaded to another host. 37 56 38 * '''Coding''': with Reed-Solomon coding, a file is divided into N 'packets', 39 and an additional K checksum packets are generated. 40 The original data can be reconstructed from any N of these N+K packets. 57 58 59 '''Coding''': with Reed-Solomon coding, a file is divided into N 'packets', 60 and an additional K checksum packets are generated. 61 The original data can be reconstructed from any N of these N+K packets. 62 63 In