The growth of the amount of stored information in large scale distributed and cloud storage systems makes the loss of data due to node failures a major problem. To obtain a reliable storage, when a node fails, we want to recover the data it contains by using information from other nodes. This is the repair problem. A naive solving method consists of the replication of information across several nodes. A more clever method is to protect the data using error-correcting codes, what has led to the introduction of locally recoverable (LRC) codes . As typical examples of this solution we can mention Google and Facebook storage systems that use Reed-Solomon (RS) codes to protect the information. The procedure is as follows: the information to be stored is a long sequence of elements in a finite field . This sequence is divided into blocks, , of the same length . According to the isomorphism , each of these blocks can be seen as an element of the finite field , , being a prime number and a positive integer. Fix an integer
. The vectoris encoded by using a Reed-Solomon code of dimension over , whose length , , is equal to the number of nodes that will be used in its storage. We choose and send
to the th node. Even if a node fails, we may recover the stored data
by using Lagrangian interpolation from any otheravailable nodes.
Note that this method is wasteful, since symbols over nodes must be used to recover just one erasure. Of course other error-correcting codes, apart from RS codes, can be used to deal more efficiently with the repair problem. Thus in terms of coding theory the repair problem can be stated as follows: Let be a linear code of length and dimension over . A coordinate is locally recoverable with locality if there is a recovery set with and , such that for any codeword , an erasure at position of can be recovered by using the information given by the coordinates of with indices in . The code is called to be locally recoverable (LRC) with locality if each coordinate is so, and the locality of is the smallest satisfying this condition. For example, MDS codes (RS codes in particular) of dimension have locality . In Section 1 we will specify these definitions.
Among the different classes of codes used as good candidates for local recovering, cyclic codes and subfield-subcodes of cyclic codes play an important role, as the cyclic shifts of a recovery set provide again recovery sets [1, 10, 12, 17]. In this article we continue this line of research by using the very general language of affine variety codes. We consider specific -affine variety codes, which were introduced in , whose subfield-subcodes provide LRC codes. These subfield-subcodes admit large lengths over fields , , and according to Theorems 2.6 and 2.7, have localities or .
A variation of LRC codes was introduced in . As multiple device failures may occur simultaneously, it is of interest to consider LRC codes correcting more than one erasure. This idea leads to the concept of -localilty (see Section 1 and Theorem 2.9). Codes of this type have been subsequently studied in [1, 3]. The codes we present in this work belong to this category. Using affine variety constructions we are able to provide examples of good LRC codes correcting several erasures, and also to compute its -locality. In some cases these codes are optimal for the Singleton-like bound (2). Compared with the codes obtained in , our codes are considerably longer, although they are not optimal in general. Let us recall here that most good currently known LRC codes have small lengths , in comparison with the cardinality of the ground field : usually ,  (or for the codes in ). For the opposite, our codes (as is the case with those in ) have lengths .
Section 1 recalls some basic facts on LRC codes. In Subsection 2.1 we introduce -affine variety codes which also gave rise to good quantum error-correcting codes [6, 7, 4]. Subsections 2.2 and 2.3 show -affine variety codes for which locality and -locality of their subfield-subcodes can be determined. Finally in Section 3 we provide examples of parameters of good LRC codes obtained with our procedure.
1. LRC codes
In this section we state some definitions and facts concerning LRC codes that will be necessary for the rest of the work. We mostly follow the usual conventions and definitions of locally recoverable codes. As a notation, given a fixed coordinate and a set such that , we write . Let be an code over . Let be a generator matrix of with columns . A set is a recovery set for a coordinate if , the linear space spanned by . In this case, for any codeword , can be obtained from just by solving the linear system whose augmented matrix is .
Let , , be the projection on the coordinates in . For we write . Often we will consider the punctured and shortened codes:
respectively, where denotes the support of , . Note that if and only if . So the notion of recovery set does not depend on the generator matrix chosen. In this case, there exist such that with and if . Then , the dual of , and . Thus is a recovery set for a coordinate if and only if there exists a word with . In this case .
The smallest cardinality of a recovery set for a coordinate is the locality of . The locality of , often denoted by , is the largest locality of any of its coordinates. Thus, we have proved the following result.
The locality of an LRC code satisfies .
A code reaching equality in the bound given by Proposition 1.1 will be called sharp. Note that all cyclic codes are sharp. Apart from Proposition 1.1, perhaps the most important bound on the locality of an code is given by the following Singleton-like inequality, see .
The locality of an LRC code satisfies
The difference between the two terms in Theorem 1.2, , is the LRC-Singleton defect of . Codes with are called Singleton-optimal (or simply optimal). While optimal LRC codes are known for all lengths , , the searching of these codes when is a challenging problem .
The LRC codes that we have described above allow local recovery of the information stored in a failed node. However, concurrent failures of several nodes in a network are also possible and uncommon. Thus, it is also of interest to consider LRC codes that allow local recovery of failed nodes even in the presence of failures or errors in other nodes. This problem was first treated in .
A code has locality if for any coordinate there exists a set of positions such that
(a) and ;
Notice that the original definition of locality of LRC codes corresponds to the case . Provided that , any subset of cardinal satisfies that and consequently is a recovery set for ; the locality of is and the number of recovery sets of cardinality is at least
which can be relevant to improve the availability of for recovering erasures. In addition, the correction capability of can be used to correct the erasure plus any other erasures in . The sets satisfying Conditions (a) and (b) above are called -sets. The following generalization of the Singleton-like bound of Theorem 1.2 was proved in .
The -locality of an LRC code satisfies the following inequality
Analogously to what was done for the locality , for , we define
The value is the minimum number of positions, , needed to recover a given coordinate of any codeword , when at most erasures occur in . Clearly , the usual locality of . We refer to as the -locality of . For example, since puncturing times an MDS code gives a new MDS code of the same dimension, for the -locality of an MDS code is .
We can translate the bound given by Proposition 1.4 in terms of ’s, as
is the -th LRC-Singleton defect of . Codes with will be called -optimal. For example, MDS codes are -optimal for all .
We can extend to all ’s the bound for given in Proposition 1.1. For it we use generalized Hamming weights (see [15, Section 4.5.1] for the definition and properties of these weights). Let us see that result.
For , the -locality of an LRC code satisfies , where is the -th generalized Hamming weight of the dual code .
Let be a set of coordinates such that and . According to the Singleton bound, we have . Since (see , Proposition 3.1.17), it holds that . Thus and the result follows. ∎
In this paper we are particularly interested in -locality of LRC codes. The following result is derived from Proposition 1.5.
The -locality of a code satisfies the following inequality
Keep the above notation. From the definition of -locality it holds . Since for all , we deduce that . By Proposition 1.5 , which concludes the proof. ∎
2. -affine variety codes giving LRC codes
In this section we are going to show that considering subfield-subcodes of -affine variety codes we will get some LRC codes with good recovery properties. The concept of -affine variety code was introduced in  and used in [4, 5] for constructing quantum and LCD codes with good parameters. Our first subsection recalls its definition and some properties.
2.1. -affine variety codes and their subfield-subcodes
Let be a power of a prime number and set the polynomial ring in variables over the finite field . For defining our -affine variety codes, we fix positive integers , , such that divides , a subset of the indices of the variables and consider the quotient ring , where is the ideal in generated by the binomials when and otherwise. Set when and otherwise, and
The set of zeros of over , , has cardinality
and it allows us to provide the map defined as
where denotes the polynomial in and its corresponding equivalence class in . Finally, we will often use the monomials in , given by the tuples .
With the above ingredients, next we define the concept of -affine variety code.
The -affine variety code , given by a non-empty subset of , is the -vector subspace of generated by the vectors , .
The linear code has length and its dimension equals the cardinality of the set . The dual of will denoted by .
The main goal of this paper is to show the existence of subfield-subcodes of -affine variety codes which are LRC codes with good behaviour. Concepts as cyclotomic sets and polynomials over a field evaluating to some subfield are essential to manage these subcodes. Recall that and consider a positive integer such that divides ; then we will set .
With the above notation, the subfield-subcode over the field , , of the code is the linear code
The elements in the set can be regarded as tuples of representatives of congruences classes in a particular manner. Indeed, for each , if we write the congruence ring as and its elements will be represented by . Otherwise, , represents the elements in and will denote the set . As a consequence, can be identified with the Cartesian product . Under this identification, a cyclotomic set with respect to of is a subset such that for any , where is the componentwise product, that is and the product by is always . Minimal cyclotomic sets are those whose elements are , , for some fixed element in .
We consider a unique representative associated to each minimal cyclotomic set . The coordinate is the minimum of the coordinates of the representatives of the elements in , is the minimum of the coordinates of the elements having as a first coordinate; the remaining coordinates are defined analogously. We will denote by the minimal cyclotomic set with representative and by the set of representatives of the minimal cyclotomic sets in . The cardinality of each set is an important datum for us and it is denoted by .
We are interested in subfield-subcodes of -affine variety codes. Since these last codes are obtained by evaluating polynomials, we are interested in those polynomials whose evaluation supplies values in the field . Our next result extends to any set as above that proved in [6, Theorem 4] for and it can be proved in a similar way. Previously we introduce some notation. For each , consider the map defined as follows:
and denote by a primitive element of the field .
With the above notation, the subfield-subcode is a linear space generated by the images under the map of the set of classes in
2.2. Lrc -affine variety codes
The goal of this section is to present subfield-subcodes of -affine variety codes for which we are able to provide recovery sets. Afterwards, we will consider specific families of the above codes which will be LRC codes whose -locality behaves well.
Considering different sets , -affine variety codes admit different lengths. When , one can evaluate at the point , however, this will not be suitable for our purposes. So we will also assume . Let be a subset of and from now on, we assume that divides for all index . We denote by (respectively, ) a primitive element of (respectively, ). Also consider the elements , . We are interested in specific positions within each word of our codes which we will introduce shortly in (4).
With the above notations, for each , the following equality holds
where and are nonnegative integers.
The proof follows from the following chain of equalities:
Now we are ready to introduce the above mentioned positions. Given an element and a point , , the product provides a new element in obtained by multiplying by the coordinates of corresponding to and leaving invariant the remaining ones. Then, fixed an evaluation point and a set as above, we define the following indices set
Notice that is well-defined by Lemma 2.4. For simplicity sake, the evaluation point will be denoted .
The following results will be useful hereinafter.
Keep the notations in Subsection 2.1 and consider a tuple in and any index . Then
where and .
Suppose without loss of generality that , where, as mentioned, , being a primitive element of . Notice that implies that if some coordinate of would vanish, it did not belong to the set . Then
The sets we will use in this paper will be union of minimal cyclotomic sets. Afterwards we will consider even more restrictive conditions. So, set , where is some subset of .
Fix a set as above and suppose that the set of congruence classes in has cardinality . Assume also that . Then, is a LRC code with locality .
It suffices to prove that any consecutive subset of cardinality in is a recovery set for the coordinate .
Indeed, let be a codeword in . Then , where by Theorem 2.3, can be written as
being a linear combination with coefficients in of polynomials of the form , .
Assume the existence of an erasure at position and that we know values for consecutive ’s among those in . Then, by linearity
By Lemma 2.5, one gets the following chain of equalities
As a consequence, setting , , one obtains a system of linear equations
This is a square system. The determinant of its matrix of coefficients is a product of a Vandermonde determinant and a power of . As a consequence, it has a unique solution which gives the values , , in (7) and therefore the required erasure . This concludes the proof. ∎
Our next result gives conditions for enlarging the locality of the codes . For simplicity’s sake and up to the end of this section, the set involved in products will be . We will write the first coordinate of .
With the above notations, consider tuples in , denoted , such that the congruence classes of their first coordinates are different modulo . Assume the existence of some index such that
for , , and
Set . Then is a LRC code of locality .
Fix an evaluation point where the erasure appears and consider the sets of indices
where is a primitive -root of unity.
We are going to show that the set is a recovery set for the coordinate .
For simplicity reasons and without loss of generality we set . As in Theorem 2.6, and can be written as
being a linear combination with coefficients in of polynomials of the form , . So,
Notice that the facts that divides and imply that none of the points , , coincide neither with nor among them. Now, summing up the equalities in (8) one gets on the left hand a known value from our recovery set. On the right hand, the obtained value has the form
where , , are values obtained when evaluating the polynomials . Now, taking into account that , , each sum
is the sum of all roots of unity and, therefore equals zero. Then the expression in (9) equals
Therefore, we are able to obtain .
Finally, applying to the polynomial the procedure given in the proof of Theorem 2.6, we are able compute since is a sum of polynomials attached to minimal cyclotomic sets. This concludes the proof because determines the erasure. ∎
2.3. The -locality of -affine variety codes
In this subsection we consider products as in Subsection 2.2 and subfield-subcodes where and is a union of minimal cyclotomic sets such that the set
has exactly consecutive positive integers. Abusing of notation, set the representatives of cyclotomic sets such that the set has cardinality .
Our first result concerns only the case when . So we are considering consecutive elements in and . Reasoning as in the proof of [8, Proposition 11] it holds that
The proof of the above result follows from Delsarte theorem  and the fact that is a union of minimal cyclotomic sets. A consequence of the above result is that the minimum distance of the code is larger than or equal to . Finally, the facts that and the cyclotomic sets are with respect to show that one can consider a set with consecutive natural numbers and
Assume that , and consider the code where is given by consecutive natural numbers. Then is sharp, that is
Finally, we are going to prove that in the general case, , the codes introduced at the beginning of this subsection have locality and Conditions (a) and (b) in the definition of -locality are satisfied with equality.
Let a code as above. Let be the index corresponding to an evaluation point and consider the set of indices defined in (4). Then, the punctured code is linear with parameters .
The code consists in evaluating classes of polynomials in at the ordered set of points