To harness the ever growing capacity and decreasing cost of storage, providing an abstraction of dependable storage in the presence of crash-stop and Byzantine failures is compulsory. We propose a decentralized Reed Solomon coding mechanism with minimum communication overhead. Using a progressive data retrieval scheme, a data collector contacts only the necessary number of storage nodes needed to guarantee data integrity. The scheme gracefully adapts the cost of successful data retrieval to the number of storage node failures. Moreover, by leveraging the Welch-Berlekamp algorithm, it avoids unnecessary computations. Compared to the state-of-the-art decoding scheme, the implementation and evaluation results show that our progressive data retrieval scheme has up to 35 times better computation performance for low Byzantine node rates. Additionally, the communication cost in data retrieval is derived analytically and corroborated by Monte-Carlo simulation results. Our implementation is flexible in that the level of redundancy it provides is independent of the number of data generating nodes, a requirement for distributed storage systems
Several XOR-based erasure codes (in a field of GF(2)) @cite_9 @cite_4 @cite_8 @cite_16 have been used in storage systems. In RAID-6 systems, each disk is partitioned into strips of fixed size. Two parity strips are computed using one strip from each data disk, forming a stripe together with the data strips. EVEN-ODD @cite_8 , Row Diagonal Parity (RDP) @cite_9 , and Minimal Density RAID-6 codes @cite_4 use XOR operations, and are specific to RAID-6. A detailed comparison of the encoding and decoding performance of several open-source erasure coding libraries for storage is provided @cite_10 . We mention that the gain in computation efficiency of XOR-based erasure codes is achieved by trading off fault tolerance. Our progressive data retrieval algorithm--however-- can tolerate as much fault--according to the configuration of the code's robustness--as is needed is highly efficient both in computation and communication costs. Moreover, RAID-6 systems can recover from the loss of exactly two disks but cannot handle Byzantine failures, thereby eliminating the application of such systems for sensor networks.
@cite_4 @cite_8 @cite_9 @cite_16 @cite_10
2104812861 201688508 1622719107 2164328519 130792636
Let F sub q denote the finite field GF(q) and let h be a positive integer. MDS (maximum distance separable) codes over the symbol alphabet F sub q sup b are considered that are linear over F sub q and have sparse ("low-density") parity-check and generator matrices over F sub q that are systematic over F sub q sup b . Lower bounds are presented on the number of nonzero elements in any systematic parity-check or generator matrix of an F sub q -linear MDS code over F sub q sup b , along with upper bounds on the length of any MDS code that attains those lower bounds. A construction is presented that achieves those bounds for certain redundancy values. The building block of the construction is a set of sparse nonsingular matrices over F sub q whose pairwise differences are also nonsingular. Bounds and constructions are presented also for the case where the systematic condition on the parity-check and generator matrices is relaxed to be over F sub q , rather than over F sub q sup b . An improved musical instrument strap attaching, holding, and supporting device and method for supporting, for example, guitars by slitted straps utilizing uniquely shaped and designed retaining devices. The novel attaching, holding and supporting device is usually located at the bottom end of the guitar body for all types of guitars and also near the neck of the guitar for electic guitars (FIG. 1). The device includes an attachment wedge, usually a screw for electric guitars or wooden wedge for either "F hole" or folk or classic guitars, and a central stem portion which is cylindrical in shape which mates with the attachment wedge on one end and a strap retaining head on the other end. The strap retaining head is elongated at one end, forming a generally isosceles triangular shape with curved corners, similar to that of a plectrum, and has a hemispherical projection on its inner side facing the guitar body the combination being used to support the body of the guitar by a shoulder strap or sling placed between the guitar body and the strap retainer and connected by friction and weight to the shoulder of the person playing the guitar and, in the case of "F Hole" or folk or classic guitars, to the neck of the guitar by other means such as a string (FIG. 2). The elongated tip of the retaining head is initially inserted into the slit of the strap in a lateral direction and then rotated 90 DEG . The longest dimension of the retainer head is preferrably greater than the length of the slit, and the distance between the tip of the hemispherical projection and the bottom of the central stem is preferrably less than the thickness of the strap. Row-Diagonal Parity (RDP) is a new algorithm for protecting against double disk failures. It stores all data unencoded, and uses only exclusive-or operations to compute parity. RDP is provably optimal in computational complexity, both during construction and reconstruction. Like other algorithms, it is optimal in the amount of redundant information stored and accessed. RDP works within a single stripe of blocks of sizes normally used by file systems, databases and disk arrays. It can be utilized in a fixed (RAID-4) or rotated (RAID-5) parity placement style. It is possible to extend the algorithm to encompass multiple RAID-4 or RAID-5 disk arrays in a single RDP disk array. It is possible to add disks to an existing RDP array without recalculating parity or moving data. Implementation results show that RDP performance can be made nearly equal to single parity RAID-4 and RAID-5 performance. It may not be feasible for sensor networks monitoring nature and inaccessible geographical regions to include powered sinks with Internet connections. We consider the scenario where sinks are not present in large-scale sensor networks, and unreliable sensors have to collectively resort to storing sensed data over time on themselves. At a time of convenience, such cached data from a small subset of live sensors may be collected by a centralized (possibly mobile) collector. In this paper, we propose a decentralized algorithm using fountain codes to guarantee the persistence and reliability of cached data on unreliable sensors. With fountain codes, the collector is able to recover all data as long as a sufficient number of sensors are alive. We use random walks to disseminate data from a sensor to a random subset of sensors in the network. Our algorithms take advantage of the low decoding complexity of fountain codes, as well as the scalability of the dissemination process via random walks. We have proposed two algorithms based on random walks. Our theoretical analysis and simulation-based studies have shown that, the first algorithm maintains the same level of fault tolerance as the original centralized fountain code, while introducing lower overhead than naive random-walk based implementation in the dissemination process. Our second algorithm has lower level of fault tolerance than the original centralized fountain code, but consumes much lower dissemination cost. Over the past five years, large-scale storage installations have required fault-protection beyond RAID-5, leading to a flurry of research on and development of erasure codes for multiple disk failures. Numerous open-source implementations of various coding techniques are available to the general public. In this paper, we perform a head-to-head comparison of these implementations in encoding and decoding scenarios. Our goals are to compare codes and implementations, to discern whether theory matches practice, and to demonstrate how parameter selection, especially as it concerns memory, has a significant impact on a code's performance. Additional benefits are to give storage system designers an idea of what to expect in terms of coding performance when designing their storage systems, and to identify the places where further erasure coding research can have the most impact.