Locally recoverable code explained

Locally recoverable codes are a family of error correction codes that were introduced first by D. S. Papailiopoulos and A. G. Dimakis and have been widely studied in information theory due to their applications related to distributive and cloud storage systems.

An

[n,k,d,r]q

LRC is an

[n,k,d]q

linear code such that there is a function

fi

that takes as input

i

and a set of

r

other coordinates of a codeword

c=(c1,\ldots,cn)\inC

different from

ci

, and outputs

ci

.

Definition

Let

C

be a

[n,k,d]q

linear code. For

i\in\{1,\ldots,n\}

, let us denote by

ri

the minimum number of other coordinates we have to look at to recover an erasure in coordinate

i

. The number

ri

is said to be the locality of the

i

-th coordinate
of the code. The locality of the code is defined as r = \max\.

An

[n,k,d,r]q

locally recoverable code (LRC) is an

[n,k,d]q

linear code

C\in

n
F
q
with locality

r

.

Let

C

be an

[n,k,d]q

-locally recoverable code. Then an erased component can be recovered linearly, i.e. for every

i\in\{1,\ldots,n\}

, the space of linear equations of the code contains elements of the form

xi=

f(x
i1

,\ldots,

x
ir

)

, where

iji

.

Optimal locally recoverable codes

Theorem Let

n=(r+1)s

and let

C

be an

[n,k,d]q

-locally recoverable code having

s

disjoint locality sets of size

r+1

. Then

d\leqn-k-\left\lceil

k
r

\right\rceil+2.

An

[n,k,d,r]q

-LRC

C

is said to be optimal if the minimum distance of

C

satisfies

d=n-k-\left\lceil

k
r

\right\rceil+2.

Tamo–Barg codes

Let

f\inFq[x]

be a polynomial and let

\ell

be a positive integer. Then

f

is said to be (

r

,

\ell

)-good if

f

has degree

r+1

,

• there exist distinct subsets

A1,\ldots,A\ell

of

Fq

such that

– for any

i\in\{1,\ldots,\ell\}

,

f(Ai)=\{ti\}

for some

ti\inFq

, i.e.,

f

is constant on

Ai

,

\#Ai=r+1

,

Ai\capAj=\varnothing

for any

ij

.

We say that is a splitting covering for

f

.

Tamo–Barg construction

The Tamo–Barg construction utilizes good polynomials.

• Suppose that a

(r,\ell)

-good polynomial

f(x)

over

Fq

is given with splitting covering

i\in\{1,\ldots,\ell\}

.

• Let

s\leq\ell-1

be a positive integer.

• Consider the following

Fq

-vector space of polynomials V = \left\.

• Let T = \bigcup_^\ell A_i.

• The code

\{\operatorname{ev}T(g):g\inV\}

is an

((r+1)\ell,(s+1)r,d,r)

-optimal locally coverable code, where

\operatorname{ev}T

denotes evaluation of

g

at all points in the set

T

.

Parameters of Tamo–Barg codes

Ai

are disjoint for

i\in\{1,\ldots,\ell\}

, the length of the code is

|T|=(r+1)\ell

.

Dimension. The dimension of the code is

(s+1)r

, for

s

\ell-1

, as each

gi

has degree at most

\deg(f(x))-2

, covering a vector space of dimension

\deg(f(x))-1=r

, and by the construction of

V

, there are

s+1

distinct

gi

.

Distance. The distance is given by the fact that

V\subseteqFq[x]\leq

, where

k=r+1-2+s(r+1)

, and the obtained code is the Reed-Solomon code of degree at most

k

, so the minimum distance equals

(r+1)\ell-((r+1)-2+s(r+1))

.

Locality. After the erasure of the single component, the evaluation at

ai\inAi

, where

|Ai|=r+1

, is unknown, but the evaluations for all other

a\inAi

are known, so at most

r

evaluations are needed to uniquely determine the erased component, which gives us the locality of

r

.

To see this,

g

restricted to

Aj

can be described by a polynomial

h

of degree at most

\deg(f(x))-2=r+1-2=r-1

thanks to the form of the elements in

V

(i.e., thanks to the fact that

f

is constant on

Aj

, and the

gi

's have degree at most

\deg(f(x))-2

). On the other hand

|Aj\backslash\{aj\}|=r

, and

r

evaluations uniquely determine a polynomial of degree

r-1

. Therefore

h

can be constructed and evaluated at

aj

to recover

g(aj)

.

Example of Tamo–Barg construction

We will use

x5\inF41[x]

to construct

[15,8,6,4]

-LRC. Notice that the degree of this polynomial is 5, and it is constant on

Ai

for

i\in\{1,\ldots,8\}

, where

A1=\{1,10,16,18,37\}

,

A2=2A1

,

A3=3A1

,

A4=4A1

,

A5=5A1

,

A6=6A1

,

A7=11A1

, and

A8=15A1

:
5
A
1

=\{1\}

,
5
A
2

=\{32\}

,
5
A
3

=\{38\}

,
5
A
4

=\{40\}

,
5
A
5

=\{9\}

,
5
A
6

=\{27\}

,
5
A
7

=\{3\}

,
5
A
8

=\{14\}

. Hence,

x5

is a

(4,8)

-good polynomial over

F41

by the definition. Now, we will use this polynomial to construct a code of dimension

k=8

and length

n=15

over

F41

. 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:

fa(x)=

r-1
\sum
i=0
i
f
i(x)x
, where

fi(x)=

k-1
r
\sum
i=0

ai,jg(x)j

. So,

fa(x)=

a0,0+

a0,1x5+

a1,0x+

a1,1x6+

a2,0x2+

a2,1x7+

a3,0x3+

a3,1x8

.

a=

(a0,0,a0,1,a1,0,a1,1,a2,0,a2,1,a3,0,a3,1)

. Encoding the vector

m

to a length 15 message vector

c

by multiplying

m

by the generator matrix

G=\begin{pmatrix} 1&1&1&1&1&1&1&1&1&1&1&1&1&1&1\\ 1&1&1&1&1&32&32&32&32&32&38&38&38&38&38\\ 1&10&16&18&37&2&20&32&33&36&3&7&13&29&30\\ 1&10&16&18&37&23&25&40&31&4&32&20&2&36&33\\ 1&18&10&37&16&4&31&40&23&25&9&8&5&21&39\\ 1&18&10&37&16&5&8&9&39&21&14&17&26&19&6\\ 1&16&37&10&18&8&5&9&21&39&27&15&24&35&22\\ 1&16&37&10&18&10&37&1&16&18&1&37&10&18&16 \end{pmatrix} .

m=(1,1,1,1,1,1,1,1)

gives the codeword

c=mG=(8,8,5,9,21,3,36,31,32,12,2,20,37,33,21)

.

Observe that we constructed an optimal LRC; therefore, using the Singleton bound, we have that the distance of this code is

d=n-k-\left\lceil

k
r

\right\rceil+2=15-8-2+2=7

. 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

C

has all-symbol locality

r

and availability

t

if every code symbol can be recovered from

t

disjoint repair sets of other symbols, each set of size at most

r

symbols. Such codes are called

(r,t)a

-LRC.

Theorem The minimum distance of

[n,k,d]q

-LRC having locality

r

and availability

t

satisfies the upper boundd \leq n - \sum_^t \left\lfloor\frac\right\rfloor.If the code is systematic and locality and availability apply only to its information symbols, then the code has information locality

r

and availability

t

, and is called

(r,t)i

-LRC.

d

of an

[n,k,d]q

linear

(r,t)i

-LRC satisfies the upper boundd \leq n-k-\left\lceil\frac\right\rceil+2.

This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article "Locally recoverable code".

Except where otherwise indicated, Everything.Explained.Today is © Copyright 2009-2025, A B Cryer, All Rights Reserved. Cookie policy.