text: In this paper we define the overflow problem of a network coding storage system in which the encoding parameter and the storage parameter are mismatched. Through analyses and experiments, we first show the impacts of the overflow problem in a network coding scheme, which not only waste storage spaces, but also degrade coding efficiency. To avoid the overflow problem, we then develop the network coding based secure storage (NCSS) scheme. Thanks to considering both security and storage requirements in encoding procedures and distributed architectures, the NCSS can improve the performance of a cloud storage system from both the aspects of storage cost and coding processing time. We analyze the maximum allowable stored encoded data under the perfect secrecy criterion, and provide the design guidelines for the secure cloud storage system to enhance coding efficiency and achieve the minimal storage cost.
  @cite_14: As the rapid growth of data, many storage systems have used erasure codes instead of replication to reduce the storage cost under the same level of reliability. Maximum-Distance- Separable (MDS) codes have been the most widely adopted, due to their optimal storage efficiency. It is well understood that the application of codes in storage systems, where the data is less frequently accessed. For the data, which is stored in cloud storage systems, is frequently accessed (or so-called “hot data”), the performance of data-retrieving is the key metric. To the best of our knowledge, there has been only a little work on the performance of data-retrieving in cloud storage systems with erasure codes. They combined queuing theory with coding theory to analyze and optimize the effect of MDS codes in the performance of data-retrieving. Their studies were based on MDS codes and they gave the solutions. In this paper, we transfer the perspective of study of based on MDS codes to that of optimizing MDS codes in order to improve the performance of data-retrieving, that is, from optimizing the system retrieving strategies to optimizing the coding schemes. We apply Network Coding to optimize the coding schemes and propose a new family of MDS codes, which reach optimal performance of dataretrieving in theory.
  @cite_7: To provide fault tolerance for cloud storage, recent studies propose to stripe data across multiple cloud vendors. However, if a cloud suffers from a permanent failure and loses all its data, then we need to repair the lost data from other surviving clouds to preserve data redundancy. We present a proxy-based system for multiple-cloud storage called NCCloud, which aims to achieve cost-effective repair for a permanent single-cloud failure. NCCloud is built on top of network-coding-based storage schemes called regenerating codes. Specifically, we propose an implementable design for the functional minimum-storage regenerating code (F-MSR), which maintains the same data redundancy level and same storage requirement as in traditional erasure codes (e.g., RAID-6), but uses less repair traffic. We implement a proof-of-concept prototype of NCCloud and deploy it atop local and commercial clouds. We validate the cost effectiveness of FMSR in storage repair over RAID-6, and show that both schemes have comparable response time performance in normal cloud storage operations.
  @cite_19: This paper studies the recovery from multiple node failures in distributed storage systems. We design a mutually cooperative recovery (MCR) mechanism for multiple node failures. Via a cut-based analysis of the information flow graph, we obtain a lower bound of maintenance bandwidth based on MCR. For MCR, we also propose a transmission scheme and design a linear network coding scheme based on (?, ?) strong-MDS code, which is a generalization of (?, ?) MDS code. We prove that the maintenance bandwidth based on our transmission and coding schemes matches the lower bound, so the lower bound is tight and the transmission scheme and coding scheme for MCR are optimal. We also give numerical comparisons of MCR with other redundancy recovery mechanisms in storage cost and maintenance bandwidth to show the advantage of MCR.
  @cite_2: Distributed storage systems provide reliable access to data through redundancy spread over individually unreliable nodes. Application scenarios include data centers, peer-to-peer storage systems, and storage in wireless networks. Storing data using an erasure code, in fragments spread across nodes, requires less redundancy than simple replication for the same level of reliability. However, since fragments must be periodically replaced as nodes fail, a key question is how to generate encoded fragments in a distributed way while transferring as little data as possible across the network. For an erasure coded system, a common practice to repair from a single node failure is for a new node to reconstruct the whole encoded data object to generate just one encoded block. We show that this procedure is sub-optimal. We introduce the notion of regenerating codes, which allow a new node to communicate functions of the stored data from the surviving nodes. We show that regenerating codes can significantly reduce the repair bandwidth. Further, we show that there is a fundamental tradeoff between storage and repair bandwidth which we theoretically characterize using flow arguments on an appropriately constructed graph. By invoking constructive results in network coding, we introduce regenerating codes that can achieve any point in this optimal tradeoff.
  @cite_17: Network codes designed specifically for distributed storage systems have the potential to provide dramatically higher storage efficiency for the same availability. One main challenge in the design of such codes is the exact repair problem: if a node storing encoded information fails, in order to maintain the same level of reliability we need to create encoded information at a new node. One of the main open problems in this emerging area has been the design of simple coding schemes that allow exact and low cost repair of failed nodes and have high data rates. In particular, all prior known explicit constructions have data rates bounded by 1 2. In this paper we introduce the first family of distributed storage codes that have simple look-up repair and can achieve arbitrarily high rates. Our constructions are very simple to implement and perform exact repair by simple XORing of packets. We experimentally evaluate the proposed codes in a realistic cloud storage simulator and show significant benefits in both performance and reliability compared to replication and standard Reed-Solomon codes.
summary: Network coding can improve the efficiency of data recovery process when storage nodes fail in distributed storage systems. It was proved that the data recovery problem of distributed storage systems is equivalent to the multicasting problem of network routing @cite_2 . The authors of @cite_19 designed a cooperative network coding recovery mechanism for multiple node failures. A proxy-based multiple cloud storage system with the feature of fault tolerance was built based on the network coding storage scheme @cite_7 . A network coding method called Regenerating Code was proposed to improve the repair process of distributed storage systems @cite_17 . Different from erasure coding, the repaired data fragments are mixed in intermediate nodes, thereby reducing the repair bandwidth. The authors of @cite_14 applied network coding to optimize the reliability performance of frequently accessed data in cloud storage systems.