Articulo de referencia

Código recuperable localmente

Los códigos recuperables localmente son una familia de códigos de corrección de errores que fueron introducidos por primera vez por DS Papailiopoulos y AG Dimakis [ 1 ] y han si...

Los códigos recuperables localmente son una familia de códigos de corrección de errores que fueron introducidos por primera vez por DS Papailiopoulos y AG Dimakis [ 1 ] y han sido ampliamente estudiados en la teoría de la información debido a sus aplicaciones relacionadas con sistemas de almacenamiento distribuido y en la nube . [ 2 ] [ 3 ] [ 4 ] [ 5 ]

Un[norte,k,d,r]q{\displaystyle [n,k,d,r]_{q}}LRC es un[norte,k,d]q{\displaystyle [n,k,d]_{q}}código lineal tal que exista una funciónFi{\displaystyle f_{i}}que toma como entradai{\displaystyle i}y un conjunto der{\displaystyle r}otras coordenadas de una palabra clavedo=(do1,,donorte)do{\displaystyle c=(c_{1},\ldots ,c_{n})\in C}diferente dedoi{\displaystyle c_{i}}y resultadosdoi{\displaystyle c_{i}}.

Descripción general

Los códigos de corrección de errores , o simplemente códigos de borrado , para sistemas de almacenamiento distribuido y en la nube , están ganando popularidad debido al reciente aumento de la demanda de servicios de computación y almacenamiento en la nube. Esto ha impulsado a investigadores en los campos de la teoría de la información y la codificación a investigar nuevas facetas de los códigos específicamente adaptadas para su uso con sistemas de almacenamiento.

Es bien sabido que LRC es un código que requiere acceder a un conjunto limitado de otros símbolos para restaurar todos los símbolos de una palabra clave. Esta idea es fundamental para los sistemas de almacenamiento distribuido y en la nube, ya que el caso de error más común se produce cuando falla un nodo de almacenamiento (borrado). El objetivo principal es recuperar la mayor cantidad de datos posible con el menor número de nodos de almacenamiento adicionales para restaurar el nodo. Por lo tanto, los códigos recuperables localmente son cruciales para este tipo de sistemas.

La siguiente definición de LRC se deriva de la descripción anterior: un[norte,k,r]{\displaystyle [n,k,r]}-Código recuperable localmente (LRC) de longitudnorte{\displaystyle n}es un código que produce unnorte{\displaystyle n}-símbolo palabra clave dek{\displaystyle k}símbolos de información, y para cualquier símbolo de la palabra clave, existen como máximor{\displaystyle r}otros símbolos de tal manera que el valor del símbolo pueda recuperarse a partir de ellos. El parámetro de localidad satisface1rk{\displaystyle 1\leq r\leq k}porque la palabra clave completa se puede encontrar accediendo ak{\displaystyle k}símbolos distintos del símbolo borrado. Además, códigos recuperables localmente, que tienen la distancia mínimad{\displaystyle d}, puede recuperarsed1{\displaystyle d-1}borraduras.

Definición

Dejardo{\displaystyle C}ser un[norte,k,d]q{\displaystyle [n,k,d]_{q}}código lineal . Parai{1,,norte}{\displaystyle i\in \{1,\ldots ,n\}}, denotemos porri{\displaystyle r_{i}}el número mínimo de otras coordenadas que tenemos que examinar para recuperar una eliminación en coordenadasi{\displaystyle i}. El númerori{\displaystyle r_{i}}Se dice que es la localidad de lai{\displaystyle i}-ésima coordenada del código. La localidad del código se define como

r=máximo{rii{1,,norte}}.{\displaystyle r=\max\{r_{i}\mid i\in \{1,\ldots ,n\}\}.}

Un[norte,k,d,r]q{\displaystyle [n,k,d,r]_{q}}El código recuperable localmente (LRC) es un[norte,k,d]q{\displaystyle [n,k,d]_{q}}código linealdoFqnorte{\displaystyle C\in \mathbb {F} _{q}^{n}}con localidadr{\displaystyle r}.

Dejardo{\displaystyle C}frijol[norte,k,d]q{\displaystyle [n,k,d]_{q}}-código localmente recuperable. Entonces un componente borrado puede recuperarse linealmente, [ 6 ] es decir, para cadai{1,,norte}{\displaystyle i\in \{1,\ldots ,n\}}, el espacio de ecuaciones lineales del código contiene elementos de la formaincógnitai=F(incógnitai1,,incógnitair){\displaystyle x_{i}=f(x_{i_{1}},\ldots ,x_{i_{r}})}, dóndeiji{\displaystyle i_{j}\neq i}.

Códigos óptimos recuperables localmente

Teorema [ 7 ] Seanorte=(r+1)s{\displaystyle n=(r+1)s}y dejardo{\displaystyle C}frijol[norte,k,d]q{\displaystyle [n,k,d]_{q}}-código recuperable localmente que tengas{\displaystyle s}conjuntos de localidades disjuntas de tamañor+1{\displaystyle r+1}. Entonces

dnortekkr+2.{\displaystyle d\leq nk-\left\lceil {\frac {k}{r}}\right\rceil +2.}

Un[norte,k,d,r]q{\displaystyle [n,k,d,r]_{q}}-LRCdo{\displaystyle C}Se dice que es óptimo si la distancia mínima dedo{\displaystyle C}Satisface

d=nortekkr+2.{\displaystyle d=nk-\left\lceil {\frac {k}{r}}\right\rceil +2.}

Códigos Tamo-Barg

DejarFFq[incógnita]{\displaystyle f\in \mathbb {F} _{q}[x]}Sea un polinomio y sea{\displaystyle \ell }Sea un número entero positivo . EntoncesF{\displaystyle f}Se dice que es (r{\displaystyle r},{\displaystyle \ell })-bueno si

F{\displaystyle f}tiene títulor+1{\displaystyle r+1},
• existen subconjuntos distintosA1,,A{\displaystyle A_{1},\ldots ,A_{\ell }}deFq{\displaystyle \mathbb {F} _{q}}de tal manera que
– para cualquieri{1,,}{\displaystyle i\in \{1,\ldots ,\ell \}},F(Ai)={ti}{\displaystyle f(A_{i})=\{t_{i}\}}para algunostiFq{\displaystyle t_{i}\in \mathbb {F} _{q}}, es decir,F{\displaystyle f}es constante enAi{\displaystyle A_{i}},
#Ai=r+1{\displaystyle \#A_{i}=r+1},
AiAj={\displaystyle A_{i}\cap A_{j}=\varnothing }para cualquierij{\displaystyle i\neq j}.

Decimos que {A1,,A{\displaystyle A_{1},\ldots ,A_{\ell }}} es una cubierta divisoria paraF{\displaystyle f}. [ 8 ]

Construcción Tamo-Barg

La construcción de Tamo-Barg utiliza buenos polinomios. [ 9 ]

• Supongamos que un(r,){\displaystyle (r,\ell )}-buen polinomioF(incógnita){\displaystyle f(x)}encimaFq{\displaystyle \mathbb {F} _{q}}se da con una cubierta divisoriai{1,,}{\displaystyle i\in \{1,\ldots ,\ell \}}.
• Dejars1{\displaystyle s\leq \ell -1}sea ​​un número entero positivo .
• Considere lo siguienteFq{\displaystyle \mathbb {F} _{q}}- espacio vectorial de polinomiosV={i=0sgramoi(incógnita)F(incógnita)i:grados(gramoi(incógnita))grados(F(incógnita))2}.{\displaystyle V=\left\{\sum _{i=0}^{s}g_{i}(x)f(x)^{i}:\deg(g_{i}(x))\leq \deg(f(x))-2\right\}.}
• DejarT=i=1Ai{\textstyle T=\bigcup _{i=1}^{\ell }A_{i}}.
• El código{evT(gramo):gramoV}{\displaystyle \{\operatorname {ev} _{T}(g):g\in V\}}es un((r+1),(s+1)r,d,r){\displaystyle ((r+1)\ell ,(s+1)r,d,r)}-código localmente cubrible óptimo, dondeevT{\displaystyle \operatorname {ev} _{T}}denota evaluación degramo{\displaystyle g}en todos los puntos del conjuntoT{\displaystyle T}.

Parámetros de los códigos de Tamo-Barg

Longitud. La longitud es el número de puntos de evaluación. Porque los conjuntosAi{\displaystyle A_{i}}son disjuntos parai{1,,}{\displaystyle i\in \{1,\ldots ,\ell \}}, la longitud del código es|T|=(r+1){\displaystyle |T|=(r+1)\ell }.
Dimensión. La dimensión del código es(s+1)r{\displaystyle (s+1)r}, paras{\displaystyle s}1{\displaystyle \ell -1}, como cada unogramoi{\displaystyle g_{i}}tiene un título como máximogrados(F(incógnita))2{\displaystyle \deg(f(x))-2}, cubriendo un espacio vectorial de dimensióngrados(F(incógnita))1=r{\displaystyle \deg(f(x))-1=r}y mediante la construcción deV{\displaystyle V}, hays+1{\displaystyle s+1}distintogramoi{\displaystyle g_{i}}.
Distancia. La distancia viene dada por el hecho de queVFq[incógnita]k{\displaystyle V\subseteq \mathbb {F} _{q}[x]_{\leq k}}, dóndek=r+12+s(r+1){\displaystyle k=r+1-2+s(r+1)}y el código obtenido es el código Reed-Solomon de grado como máximok{\displaystyle k}, por lo que la distancia mínima es igual a(r+1)((r+1)2+s(r+1)){\displaystyle (r+1)\ell -((r+1)-2+s(r+1))}.
Localidad. Después de la eliminación del único componente, la evaluación enaiAi{\displaystyle a_{i}\in A_{i}}, dónde|Ai|=r+1{\displaystyle |A_{i}|=r+1}, es desconocido, pero las evaluaciones para todos los demásaAi{\displaystyle a\in A_{i}}son conocidos, por lo que como máximor{\displaystyle r}Se necesitan evaluaciones para determinar de forma unívoca el componente borrado, lo que nos da la localidad der{\displaystyle r}.
Para ver esto,gramo{\displaystyle g}restringido aAj{\displaystyle A_{j}}puede describirse mediante un polinomioh{\displaystyle h} of degree at most deg(f(x))2=r+12=r1{\displaystyle \deg(f(x))-2=r+1-2=r-1} thanks to the form of the elements in V{\displaystyle V} (i.e., thanks to the fact that f{\displaystyle f} is constant on Aj{\displaystyle A_{j}}, and the gi{\displaystyle g_{i}}'s have degree at most deg(f(x))2{\displaystyle \deg(f(x))-2}). On the other hand |Aj{aj}|=r{\displaystyle |A_{j}\backslash \{a_{j}\}|=r}, and r{\displaystyle r} evaluations uniquely determine a polynomial of degreer1{\displaystyle r-1}. Therefore h{\displaystyle h} can be constructed and evaluated at aj{\displaystyle a_{j}} to recover g(aj){\displaystyle g(a_{j})}.

Example of Tamo–Barg construction

We will use x5F41[x]{\displaystyle x^{5}\in \mathbb {F} _{41}[x]} to construct [15,8,6,4]{\displaystyle [15,8,6,4]}-LRC. Notice that the degree of this polynomial is 5, and it is constant on Ai{\displaystyle A_{i}} for i{1,,8}{\displaystyle i\in \{1,\ldots ,8\}}, where A1={1,10,16,18,37}{\displaystyle A_{1}=\{1,10,16,18,37\}}, A2=2A1{\displaystyle A_{2}=2A_{1}}, A3=3A1{\displaystyle A_{3}=3A_{1}}, A4=4A1{\displaystyle A_{4}=4A_{1}}, A5=5A1{\displaystyle A_{5}=5A_{1}}, A6=6A1{\displaystyle A_{6}=6A_{1}}, A7=11A1{\displaystyle A_{7}=11A_{1}}, and A8=15A1{\displaystyle A_{8}=15A_{1}}: A15={1}{\displaystyle A_{1}^{5}=\{1\}}, A25={32}{\displaystyle A_{2}^{5}=\{32\}}, A35={38}{\displaystyle A_{3}^{5}=\{38\}}, A45={40}{\displaystyle A_{4}^{5}=\{40\}}, A55={9}{\displaystyle A_{5}^{5}=\{9\}}, A65={27}{\displaystyle A_{6}^{5}=\{27\}}, A75={3}{\displaystyle A_{7}^{5}=\{3\}}, A85={14}{\displaystyle A_{8}^{5}=\{14\}}. Hence, x5{\displaystyle x^{5}} is a (4,8){\displaystyle (4,8)}-good polynomial over F41{\displaystyle \mathbb {F} _{41}} by the definition. Now, we will use this polynomial to construct a code of dimensionk=8{\displaystyle k=8} and length n=15{\displaystyle n=15} over F41{\displaystyle \mathbb {F} _{41}}. 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)=i=0r1fi(x)xi{\displaystyle f_{a}(x)=\sum _{i=0}^{r-1}f_{i}(x)x^{i}}, where fi(x)=i=0kr1ai,jg(x)j{\displaystyle f_{i}(x)=\sum _{i=0}^{{\frac {k}{r}}-1}a_{i,j}g(x)^{j}}. So, fa(x)={\displaystyle f_{a}(x)=}a0,0+{\displaystyle a_{0,0}+}a0,1x5+{\displaystyle a_{0,1}x^{5}+}a1,0x+{\displaystyle a_{1,0}x+}a1,1x6+{\displaystyle a_{1,1}x^{6}+}a2,0x2+{\displaystyle a_{2,0}x^{2}+}a2,1x7+{\displaystyle a_{2,1}x^{7}+}a3,0x3+{\displaystyle a_{3,0}x^{3}+}a3,1x8{\displaystyle a_{3,1}x^{8}}.

Thus, we can use the obtained encoding polynomial if we take our data to encode as the row vectora={\displaystyle a=}(a0,0,a0,1,a1,0,a1,1,a2,0,a2,1,a3,0,a3,1){\displaystyle (a_{0,0},a_{0,1},a_{1,0},a_{1,1},a_{2,0},a_{2,1},a_{3,0},a_{3,1})}. Encoding the vectorm{\displaystyle m} to a length 15 message vectorc{\displaystyle c} by multiplying m{\displaystyle m} by the generator matrix

G=(1111111111111111111132323232323838383838110161837220323336371329301101618372325403143220236331181037164314023259852139118103716589392114172619611637101885921392715243522116371018103711618137101816).{\displaystyle 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}}.}

For example, the encoding of information vectorm=(1,1,1,1,1,1,1,1){\displaystyle 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){\displaystyle 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=nkkr+2=1582+2=7{\displaystyle d=n-k-\left\lceil {\frac {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{\displaystyle C} has all-symbol locality r{\displaystyle r} and availability t{\displaystyle t} if every code symbol can be recovered from t{\displaystyle t} disjoint repair sets of other symbols, each set of size at most r{\displaystyle r} symbols. Such codes are called (r,t)a{\displaystyle (r,t)_{a}}-LRC.[10]

Theorem The minimum distance of [n,k,d]q{\displaystyle [n,k,d]_{q}}-LRC having locality r{\displaystyle r} and availability t{\displaystyle t} satisfies the upper bound

dni=0tk1ri.{\displaystyle d\leq n-\sum _{i=0}^{t}\left\lfloor {\frac {k-1}{r^{i}}}\right\rfloor .}

If the code is systematic and locality and availability apply only to its information symbols, then the code has information locality r{\displaystyle r} and availability t{\displaystyle t}, and is called (r,t)i{\displaystyle (r,t)_{i}}-LRC.[11]

Theorem[12] The minimum distanced{\displaystyle d} of an [n,k,d]q{\displaystyle [n,k,d]_{q}} linear (r,t)i{\displaystyle (r,t)_{i}}-LRC satisfies the upper bound

dnkt(k1)+1t(r1)+1+2.{\displaystyle d\leq n-k-\left\lceil {\frac {t(k-1)+1}{t(r-1)+1}}\right\rceil +2.}

References

  1. Papailiopoulos, Dimitris S.; Dimakis, Alexandros G. (2012), "Códigos localmente reparables", Actas del Simposio Internacional IEEE de Teoría de la Información de 2012 , Cambridge, MA, EE. UU.: IEEE, págs. 2771–2775 , arXiv : 1206.3804 , doi : 10.1109/ISIT.2012.6284027 , ISBN  978-1-4673-2579-0
  2. Barg, A.; Tamo, I.; Vlăduţ, S. (2015), "Códigos localmente recuperables en curvas algebraicas", 2015 IEEE International Symposium on Information Theory , Hong Kong, China: IEEE, pp. 1252–1256 , arXiv : 1603.08876 , doi : 10.1109/ISIT.2015.7282656 , ISBN  978-1-4673-7704-1
  3. Cadambe, VR; Mazumdar, A. (2015), "Límites del tamaño de los códigos localmente recuperables", IEEE Transactions on Information Theory , 61 (11), IEEE: 5787–5794 , doi : 10.1109/TIT.2015.2477406
  4. Dukes, A.; Ferraguti, A.; Micheli, G. (2022), "Selección óptima para buenos polinomios de grado hasta cinco", Designs, Codes and Cryptography , 90 (6), IEEE: 1427–1436 , arXiv : 2104.01434 , doi : 10.1007/s10623-022-01046-y
  5. Haymaker, K.; Malmskog, B.; Matthews, G. (2022), Códigos localmente recuperables con disponibilidad t ≥2 a partir de productos de fibra de curvas , doi : 10.3934/amc.2018020
  6. Papailiopoulos, Dimitris S.; Dimakis, Alexandros G. (2012), "Códigos localmente reparables", 2012 IEEE International Symposium on Information Theory , Cambridge, MA, EE. UU., pp. 2771–2775 , arXiv : 1206.3804 , doi : 10.1109/ISIT.2012.6284027 , ISBN  978-1-4673-2579-0{{citation}}: CS1 mantenimiento: falta el editor de ubicación ( enlace )
  7. Cadambe, V.; Mazumdar, A. (2013), "Un límite superior para el tamaño de códigos localmente recuperables", 2013 International Symposium on Network Coding , Calgary, AB, Canadá, pp. 1–5 , arXiv : 1308.3200 , doi : 10.1109/NetCod.2013.6570829 , ISBN  978-1-4799-0823-3{{citation}}: CS1 mantenimiento: falta el editor de ubicación ( enlace )
  8. 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
  9. Tamo, I.; Barg, A. (2014), "Una familia de códigos localmente recuperables óptimos", 2014 IEEE International Symposium on Information Theory , Honolulu, HI, EE. UU., pp. 686–690 , doi : 10.1109/ISIT.2014.6874920 , ISBN  978-1-4799-5186-4{{citation}}: CS1 mantenimiento: falta el editor de ubicación ( enlace )
  10. Huang, P.; Yaakobi, E.; Uchikawa, H.; Siegel, PH (2015), "Códigos lineales localmente reparables con disponibilidad", 2015 IEEE International Symposium on Information Theory , Hong Kong, China, pp. 1871– 1875, doi : 10.1109/ISIT.2015.7282780 , ISBN  978-1-4673-7704-1{{citation}}: CS1 mantenimiento: falta el editor de ubicación ( enlace )
  11. Tamo, I.; Barg, A. (2014), "Límites en códigos localmente recuperables con múltiples conjuntos de recuperación", 2014 IEEE International Symposium on Information Theory , Honolulu, HI, EE. UU., pp. 691–695 , arXiv : 1402.0916 , doi : 10.1109/ISIT.2014.6874921 , ISBN  978-1-4799-5186-4{{citation}}: CS1 mantenimiento: falta el editor de ubicación ( enlace )
  12. 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