Locally recoverable codes are a family of
error correction codes that were introduced first by D. S. Papailiopoulos and A. G. Dimakis[1] and have been widely studied in
information theory due to their applications related to distributive and
cloud storage systems.[2][3][4][5]
An LRC is an linear code such that there is a
function that takes as input and a
set of other
coordinates of a codeword different from , and outputs .
Overview
Erasure-correcting codes, or simply
erasure codes, for distributed and
cloud storage systems, are becoming more and more popular as a result of the present spike in demand for
cloud computing and storage services. This has inspired researchers in the fields of
information and
coding theory to investigate new facets of codes that are specifically suited for use with storage systems.
It is well-known that LRC is a
code that needs only a limited
set of other symbols to be accessed in order to restore every symbol in a codeword. This idea is very important for distributed and
cloud storage systems since the most common error case is when one storage node fails (erasure). The main objective is to recover as much
data as possible from the fewest additional storage nodes in order to restore the node. Hence, Locally Recoverable Codes are crucial for such systems.
The following
definition of the LRC follows from the description above: an -Locally Recoverable Code (LRC) of length is a
code that produces an -symbol codeword from information symbols, and for any symbol of the codeword, there exist at most other symbols such that the value of the symbol can be recovered from them. The locality
parameter satisfies because the entire codeword can be found by accessing symbols other than the erased symbol. Furthermore, Locally Recoverable Codes, having the minimum
distance, can recover erasures.
Definition
Let be a linear code. For , let us denote by the minimum number of other
coordinates we have to look at to recover an erasure in
coordinate. The number is said to be the locality of the -th
coordinate of the code. The locality of the code is defined as
An locally recoverable code (LRC) is an linear code with locality .
Let be an -locally recoverable code. Then an erased component can be recovered linearly,[6] i.e. for every , the space of
linear equations of the code contains
elements of the form , where .
Optimal locally recoverable codes
Theorem[7] Let and let be an -locally recoverable code having disjoint locality
sets of size . Then
An -LRC is said to be optimal if the minimum
distance of satisfies
Tamo–Barg codes
Let be a
polynomial and let be a positive
integer. Then is said to be (, )-good if
• The code is an -optimal locally coverable code, where denotes evaluation of at all points in the
set.
Parameters of Tamo–Barg codes
• Length. The length is the number of evaluation points. Because the
sets are
disjoint for , the length of the code is .
• Dimension. The
dimension of the code is , for ≤ , as each has
degree at most , covering a
vector space of
dimension, and by the construction of , there are distinct .
• Distance. The
distance is given by the fact that , where , and the obtained code is the
Reed-Solomon code of
degree at most , so the minimum
distance equals .
• Locality. After the erasure of the single component, the evaluation at , where , is unknown, but the evaluations for all other are known, so at most evaluations are needed to uniquely determine the erased component, which gives us the locality of .
To see this, restricted to can be described by a
polynomial of
degree at most thanks to the form of the
elements in (i.e., thanks to the fact that is
constant on , and the 's have
degree at most ). On the other hand , and evaluations uniquely determine a
polynomial of
degree. Therefore can be constructed and evaluated at to recover .
Example of Tamo–Barg construction
We will use to construct -LRC. Notice that the
degree of this
polynomial is 5, and it is
constant on for , where , , , , , , , and : , , , , , , , . Hence, is a -good polynomial over by the definition. Now, we will use this
polynomial to construct a code of
dimension and length over . The locality of this code is 4, which will allow us to recover a single
server failure by looking at the information contained in at most 4 other
servers.
Next, let us define the encoding
polynomial: , where . So, .
For example, the encoding of information
vector gives the codeword .
Observe that we constructed an optimal LRC; therefore, using the
Singleton bound, we have that the
distance of this code is . Thus, we can recover any 6 erasures from our codeword by looking at no more than 8 other components.
Locally recoverable codes with availability
A code has all-symbol locality and availability if every code symbol can be recovered from disjoint repair sets of other symbols, each
set of
size at most symbols. Such codes are called -LRC.[10]
Theorem The minimum
distance of -LRC having locality and availability satisfies the
upper bound
If the code is
systematic and locality and availability apply only to its information symbols, then the code has information locality and availability , and is called -LRC.[11]
^Papailiopoulos, Dimitris S.; Dimakis, Alexandros G. (2012), "Locally repairable codes", 2012 IEEE International Symposium on Information Theory Proceedings, Cambridge, MA, USA: IEEE, pp. 2771–2775,
arXiv:1206.3804,
doi:
10.1109/ISIT.2012.6284027,
ISBN978-1-4673-2579-0
^Cadambe, V. R.; Mazumdar, A. (2015), "Bounds on the Size of Locally Recoverable Codes", IEEE Transactions on Information Theory, 61 (11), IEEE: 5787–5794,
doi:
10.1109/TIT.2015.2477406
^Dukes, A.; Ferraguti, A.; Micheli, G. (2022), "Optimal selection for good polynomials of degree up to five", Designs, Codes and Cryptography, 90 (6), IEEE: 1427–1436,
arXiv:2104.01434,
doi:
10.1007/s10623-022-01046-y
^Haymaker, K.; Malmskog, B.; Matthews, G. (2022), Locally Recoverable Codes with Availability t≥2 from Fiber Products of Curves,
doi:10.3934/amc.2018020
^Papailiopoulos, Dimitris S.; Dimakis, Alexandros G. (2012), "Locally repairable codes", 2012 IEEE International Symposium on Information Theory, Cambridge, MA, USA, pp. 2771–2775,
arXiv:1206.3804,
doi:
10.1109/ISIT.2012.6284027,
ISBN978-1-4673-2579-0{{
citation}}: CS1 maint: location missing publisher (
link)
^Micheli, G. (2020), "Constructions of Locally Recoverable Codes Which are Optimal", IEEE Transactions on Information Theory, 66: 167–175,
arXiv:1806.11492,
doi:
10.1109/TIT.2019.2939464
^Tamo, I.; Barg, A. (2014), "A family of optimal locally recoverable codes", 2014 IEEE International Symposium on Information Theory, Honolulu, HI, USA, pp. 686–690,
doi:
10.1109/ISIT.2014.6874920,
ISBN978-1-4799-5186-4{{
citation}}: CS1 maint: location missing publisher (
link)
^Huang, P.; Yaakobi, E.; Uchikawa, H.; Siegel, P.H. (2015), "Linear locally repairable codes with availability", 2015 IEEE International Symposium on Information Theory, Hong Kong, China, pp. 1871–1875,
doi:
10.1109/ISIT.2015.7282780,
ISBN978-1-4673-7704-1{{
citation}}: CS1 maint: location missing publisher (
link)
^Tamo, I.; Barg, A. (2014), "Bounds on locally recoverable codes with multiple recovering sets", 2014 IEEE International Symposium on Information Theory, Honolulu, HI, USA, pp. 691–695,
arXiv:1402.0916,
doi:
10.1109/ISIT.2014.6874921,
ISBN978-1-4799-5186-4{{
citation}}: CS1 maint: location missing publisher (
link)
^Wang, A.; Zhang, Z. (2014), "Repair locality with multiple erasure tolerance", IEEE Transactions on Information Theory, 60 (11): 6979–6987,
arXiv:1306.4774,
doi:
10.1109/TIT.2014.2351404