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 .
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 .
• 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 .
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.
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, 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