Author_Institution :
Department of Electronics and Electrical Engineering, Indian Institute of Technology Guwahati, Assam 781039, India
Abstract :
In a distributed storage system (DSS), high data reliability is obtained by dispersing the data over a number of nodes over a network. In an (n, k) erasure code based DSS, a data file is first divided into k packets and then these k packets are encoded into n packets using an MDS code, and finally these n packets are distributed over n nodes so that each node stores one encoded packet. A fixed value of n and k provides certain level of reliability (an (n, k) erasure code based DSS can tolerate n - k node failures) and costs certain storage space. Considering the storage cost and required reliability, we might require to change an existing (n, k) erasure code based DSS to an (n´, k´) erasure code based DSS. However, for converting an (n, k) erasure code based DSS into an (n´, k´) erasure code based DSS, a naive way would be to to download the whole data, re-encode, and disperse the encoded data again. In practical situations, where we have huge amount of data, this process requires huge download bandwidth and thus it is not appreciable. In this paper, we present adaptive coding schemes for erasure code based DSS to adapt to another parameters with the minimum amount of data download. We first introduce a repair scheme for the partially failed nodes in a DSS by downloading the minimum amount of data. The concept of repairing partially failed nodes might be of independent interest. In most cases, our adaptive coding schemes view the problem of converting an (n, k) erasure code based DSS into an (n´, k´) erasure code based DSS with the minimum download as an instance of the repairing scheme of partially failed nodes in a DSS with the minimum download.
Keywords :
"Decision support systems","Maintenance engineering","Reliability","Encoding","Distributed databases","Cloud computing","Network coding"