  Due to the use of commodity software and hardware, crash-stop and Byzantine
failures are likely to be more prevalent in today's large-scale distributed
storage systems. Regenerating codes have been shown to be a more efficient way
to disperse information across multiple nodes and recover crash-stop failures
in the literature. In this paper, we present the design of regeneration codes
in conjunction with integrity check that allows exact regeneration of failed
nodes and data reconstruction in presence of Byzantine failures. A progressive
decoding mechanism is incorporated in both procedures to leverage computation
performed thus far. The fault-tolerance and security properties of the schemes
are also analyzed.
