Also known as Locally repairable code.

## Description

An LRC is a block code for which one can recover any coordinate of a codeword from at most \(r\) other coordinates of the codeword. In other words, an LRC of locality \(r\) is a block code for which, given a codeword \(c\) and coordinate \(c_i\), \(c_i\) can be recovered from at most \(r\) other coordinates of \(c\). An \(r\)-locally recoverable code of length \(n\) and dimension \(k\) is denoted as an \((n,k,r)\) LRC. The definition can be generalized to \(t\)-LRC, if every coordinate is recoverable from \(t\) disjoint subsets of coordinates.

## Protection

A study on the parameters of \(t\)-LRCs, together with known bounds, can be found in Ref. [1]. See Ref. [2] for more bounds on locally recoverable distributed storage codes.

## Rate

The rate of an \((n,k,r)\) LRC satisfies \begin{align} \frac{k}{n}\leq\frac{r}{r+1}~. \tag*{(1)}\end{align} Various asymptotic lower [3,4] and upper bounds [5] exist.

## Realizations

An \((18,14,7)\) LRC has beed used in the Windows Azure cloud storage system [6]; see also [7; 31.3.1.2].Facebook f4 BLOB cloud storage system [8]

## Notes

See Ref. [9].

## Parents

- \(t\)-erasure LRC
- Code with locality — An LRC of locality \(r\) is a code with \((r,2)\) locality [7; Sec. 31.3.4.5].

## Children

- Locally correctable code (LCC) — LRCs (LCCs) allow one to recover any coordinate of a codeword from at most \(r\) coordinates of a codeword (an error word within the decoding radius). Since a codeword is a trivial error word, any LCC is also an LRC.
- Optimal LRC
- Tamo-Barg-Vladut code
- \(q\)-ary LDPC code — LDPC codes are linear LRCs whose locality is the maximum number of nonzero entries in a row of the parity-check matrix [10].

## Cousins

- Linear \(q\)-ary code — A \(q\)-ary linear code is an LRC of locality \(r\) if each coordinate participates in at least one parity check of weight \(\leq r\) [10][7; Sec. 31.3.4.5].
- Regenerating code (RGC) — RGCs and LRCs are related via the group repair with optimal access problem [11].
- Linearized RS code — Linearized RS codes can be used to construct locally recoverable codes [12].
- Batch code — A systematic batch code with restricted size of reconstruction sets can recover any query of \(t\) information symbols with recovery sets of size \(r\) [13,14].
- Private information retrieval (PIR) code — LRCs and PIR codes are related [15,16]: LRCs are designed to recover a codeword coordinate from a small set of other codeword coordinates, while PIR codes are designed to recover from many disjoint sets of arbitrary size [15].
- Quantum locally recoverable code (QLRC)

## References

- [1]
- I. Tamo, A. Barg, and A. Frolov, “Bounds on the Parameters of Locally Recoverable Codes”, IEEE Transactions on Information Theory 62, 3070 (2016) DOI
- [2]
- A. Mazumdar, “Storage Capacity of Repairable Networks”, IEEE Transactions on Information Theory 61, 5810 (2015) arXiv:1408.4862 DOI
- [3]
- A. Barg, I. Tamo, and S. Vladut, “Locally recoverable codes on algebraic curves”, 2015 IEEE International Symposium on Information Theory (ISIT) (2015) arXiv:1603.08876 DOI
- [4]
- V. R. Cadambe and A. Mazumdar, “Bounds on the Size of Locally Recoverable Codes”, IEEE Transactions on Information Theory 61, 5787 (2015) DOI
- [5]
- A. Agarwal et al., “Combinatorial Alphabet-Dependent Bounds for Locally Recoverable Codes”, IEEE Transactions on Information Theory 64, 3481 (2018) arXiv:1702.02685 DOI
- [6]
- C. Huang, H. Simitci, Y. Xu, A. Ogus, B. Calder, P. Gopalan, J. Li, and S. Yekhanin. Erasure coding in Windows Azure Storage. In Proc. USENIX Annual Technical Conference (ATC), pgs. 15-26, Boston, Massachusetts, June 2012.
- [7]
- V. Ramkumar, M. Vajha, S. B. Balaji, M. Nikhil Krishnan, B. Sasidharan, P. Vijay Kumar, "Codes for Distributed Storage." Concise Encyclopedia of Coding Theory (Chapman and Hall/CRC, 2021) DOI
- [8]
- Muralidhar, S., Lloyd, W., Roy, S., Hill, C., Lin, E., Liu, W., Pan, S., Shankar, S., Sivakumar, V., Tang, L. and Kumar, S., 2014. f4: Facebook's warm BLOB storage system. In 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14) (pp. 383-398).
- [9]
- I. F. Blake, Essays on Coding Theory (Cambridge University Press, 2024) DOI
- [10]
- L. Golowich and V. Guruswami, “Quantum Locally Recoverable Codes”, (2023) arXiv:2311.08653
- [11]
- M. Ye and A. Barg, “Explicit constructions of optimal-access MDS codes with nearly optimal sub-packetization”, (2017) arXiv:1605.08630
- [12]
- U. Martínez-Peñas and F. R. Kschischang, “Universal and Dynamic Locally Repairable Codes with Maximal Recoverability via Sum-Rank Codes”, (2019) arXiv:1809.11158
- [13]
- V. Skachek, “Batch and PIR Codes and Their Connections to Locally Repairable Codes”, Network Coding and Subspace Designs 427 (2018) DOI
- [14]
- A.-E. Riet, V. Skachek, and E. K. Thomas, “Batch Codes for Asynchronous Recovery of Data”, IEEE Transactions on Information Theory 68, 1545 (2022) DOI
- [15]
- A. Fazeli, A. Vardy, and E. Yaakobi, “PIR with Low Storage Overhead: Coding instead of Replication”, (2015) arXiv:1505.06241
- [16]
- V. Skachek, “Batch and PIR Codes and Their Connections to Locally Repairable Codes”, (2017) arXiv:1611.09914

## Page edit log

- Victor V. Albert (2022-04-28) — most recent
- Mustafa Doger (2022-04-03)

## Cite as:

“Locally recoverable code (LRC)”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2022. https://errorcorrectionzoo.org/c/locally_recoverable