Distributed Reed-Solomon codes for simple multiple access networks
09923669 ยท 2018-03-20
Assignee
Inventors
Cpc classification
G06F11/10
PHYSICS
H04L1/0076
ELECTRICITY
H03M13/05
ELECTRICITY
International classification
H03M13/00
ELECTRICITY
G06F11/10
PHYSICS
H04L1/00
ELECTRICITY
H03M13/05
ELECTRICITY
H03M13/15
ELECTRICITY
Abstract
A computer-based distributed error correction scheme with an efficient decoding algorithm is disclosed. The efficiency of the corresponding decoding algorithm, based on standard single source Reed-Solomon error correcting codes, makes the practical employment of the DECC feasible. Various implementation examples are also provided.
Claims
1. A single computer-based receiver node comprising a processor configured to: i) communicate over a computer-based network with distributed error correction code (DECC), ii) receive source files from multiple computer-based source nodes of the computer-based network via a plurality of computer-based relay nodes of the computer-based network, the source files being encoded by the computer-based relay nodes for transmission to the computer-based receiver, node into encoded source files, and iii) decode the encoded source files according to a single-source error correcting code having a parity check matrix and a generator matrix whose dimensions are selected based on a number of the plurality of computer-based relay nodes, decoding being operatively implemented in one of: a) hardware, b) software, and c) a combination of a) and b), wherein one or more of the plurality of encoded source files received by the computer-based receiver node are erroneous due to an erroneous relay transmission link and/or an erroneous computer-based relay node, and wherein the source files are encoded by the plurality of computer-based relay nodes based on the single source error correcting code.
2. The single computer-based receiver node of claim 1, wherein the single-source error correcting code is a single-source Reed-Solomon code.
3. The single computer-based receiver node of claim 1, wherein the processor is further configured to perform the following steps: 1) after receiving the encoded source files from the computer-based relay nodes, organizes the encoded source files as a received single vector; 2) uses the received single vector in combination with the parity check matrix and the generator matrix of the single-source error correcting code to find locations and values of errors in the received single vector; and 3) knowing the errors from step 2), either subtracts the errors from the received encoded source files to decode corrected source files, or obtains a corrected vector, which is a concatenation of the corrected source files, and extracts the corrected source files therefrom.
4. The single computer-based receiver node of claim 3, wherein the single-source error correcting code is a single-source error correcting code with low encoding and decoding complexity used in the encoding of the encoded source files.
5. The single computer-based receiver node of claim 3, wherein the single-source error correcting code is a single-source Reed-Solomon code.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
DETAILED DESCRIPTION
(8) Throughout the present disclosure, including the Annex A1, the term simple multiple access network (SMAN) refers to the network topology of
(9) In the present disclosure, a novel construction for distributed error correction codes (DECC), which has an efficient decoding algorithm and therefore is feasible for practical employment of DECC is presented.
(10) In the scenario of distributed error correction coding and in reference to
(11) The objective of distributed error correction code is that the receiver can correctly recover the source information in the presence of such errors. DECC has potential applications such as distributed storage in cloud computing, network file distribution (e.g., P2P system), and wireless key pool bootstrapping. In some embodiment, each node may be a computer workstation adapted to perform various tasks, including sending/receiving data as well as performing various steps associated with the DECC (e.g. signal processing, encoding/decoding), and the link in-between nodes may be wired or wireless network transmission links.
(12) A purely random code construction for DECC is able to achieve the maximum communication throughput with high probability. However, the decoding complexity at the receiver is exponentially high, which is not acceptable in practical scenarios.
(13) According to an embodiment of the present disclosure, an efficient linear DECC construction, which is described in further details in Annex A1, is presented.
(14) During the Setup phase of the DECC for a given SMAN communication network and in reference to the flowchart (300) of
(15) First, (step 301 of flowchart 300) obtain the topology and characteristic of the communication network. Assume there are n relay nodes and there are at most z erroneous nodes or channels,
(16) Then (step 302) accordingly choose a parity check matrix H of a single-source error correcting code with low encoding and decoding complexity. One such matrix is the Vandermonde parity check matrix for RS codes. Then the dimension of the parity check matrix H is (2zn).
(17) Then (step 303) compute the linear subspace D, represented by a generator matrix G, whose row space is orthogonal to the rows of the parity check matrix H. The generator matrix G is selected such as for each relay node, say V.sub.s, a corresponding column vector G.sub.s at the position s of the matrix G has all zero coefficients at positions corresponding to the messages that V.sub.s does not have (e.g. V.sub.7 of
(18) Then (step 304) provide to each relay node V.sub.s the vector G.sub.s to be used for the encoding.
(19) During the Encoding phase of the DECC for a given SMAN communication network and in reference to the flowchart (400) of
(20) Upon receiving of the messages (steps 401 and 402 of flowchart 400), each relay node V.sub.s uses the provided vector G.sub.s to encode its received messages. During this process, the non-zero coefficients in G.sub.s are used as encoding coefficients to encode the messages for transmission to the receiver node. The relay node may concatenate the received messages to form a single vector upon which the encoding is performed, by inserting zeros as placeholders for the messages it does not have (e.g. are not sent to the particular relay node as per topology of the associated SMAN, see
(21) During the Decoding phase of the DECC for a given SMAN communication network and in reference to the flowchart (500) of
(22) After receiving all the n messages from the relay nodes (step 501), the receiver organizes them as a vector (step 502).
(23) The receiver then uses the received vector as an input to a standard error decoding algorithm (step 503) corresponding to the original single-source error correcting code to correct the errors in the received vector.
(24) The receiver can then extract the individual source messages (step 504).
(25) Numerical simulations executed so far show such construction is able to achieve the maximum error correction capacity in distributed error correction scenarios.
(26) The person skilled in the art of information theory and coding theory will know how to apply the mentioned techniques and computations presented above and in Annex A1, including generation of the various matrices and encoding/decoding based on Reed Solomon codes and/or other cyclic error correcting codes, to the disclosed methods above. The skilled person may also find different sequences of applying the above steps represented in flowcharts (200-500), whether serially, in parallel and/or combination thereof, to obtain a similar result, and implement those using various hardware, software, firmware and/or combination thereof.
(27) With reference to
(28) If the size of the file S.sub.i is R.sub.i then the link capacity (e.g. information rate) between each storage and a corresponding relay workstation is at least the file size R.sub.i. Also, each relay workstation of
(29) For any given hardware implementation of a relay workstation V.sub.i, corresponding software/firmware may be used to generate all or portion of the encoding steps required by the DECC as some of the associated steps (e.g. flowcharts 200-500 and Annex A1), such as one that are computational intensive, may be implemented using the target hardware itself or a dedicated hardware residing on an I/O port of the workstation. Each workstation V.sub.i may not have access to all source files and therefore and as depicted by
(30) Once the relay workstations V.sub.i have accessed the information files, whether read into a local memory first or while reading segments of the information files, can encode the files as per the provided DECC encoding scheme and as described in prior paragraphs. The encoding can be implemented in a combination of hardware, firmware and software, working in unison to generate the encoded file. In one configuration, files can be buffered onto a local memory of a relay workstation and then progressively fed to a dedicated hardware printed circuit board (PCB) residing into the workstation at an I/O location (e.g. item 40 of
(31) In the exemplary embodiment of
(32) The destination workstation of
(33)
(34) The examples set forth above are provided to give those of ordinary skill in the art a complete disclosure and description of how to make and use the embodiments of the distributed Reed-Solomon codes for simple multiple access networks of the present disclosure, and are not intended to limit the scope of what the inventors regard as their disclosure.
(35) Such embodiments may be, for example, used within computer science and communication fields with applications in distributed storage in cloud computing, network file distribution and wireless key pool bootstrapping where error free reconstruction of a set of original files is the goal. The skilled person may find other suitable implementations of the presented embodiments.
(36) Modifications of the above-described modes for carrying out the disclosure, including pressure control devices, accumulators, and so forth, may be used by persons of skill in the art, and are intended to be within the scope of the following claims. All patents and publications mentioned in the specification may be indicative of the levels of skill of those skilled in the art to which the disclosure pertains. All references cited in this disclosure are incorporated by reference to the same extent as if each reference had been incorporated by reference in its entirety individually.
(37) It is to be understood that the disclosure is not limited to particular methods or systems, which can, of course, vary. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to be limiting. As used in this specification and the appended claims, the singular forms a, an, and the include plural referents unless the content clearly dictates otherwise. The term plurality includes two or more referents unless the content clearly dictates otherwise. Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the disclosure pertains.
(38) A number of embodiments of the disclosure have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the present disclosure. Accordingly, other embodiments are within the scope of the following claims.