Next Article in Journal
Information-Theoretic Concepts in Physics
Previous Article in Journal
Optimal Control of an Electromechanical Energy Harvester
Previous Article in Special Issue
Some New Constructions of q-ary Codes for Correcting a Burst of at Most t Deletions
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Construction of Binary Locally Repairable Codes with Nonuniform Locality and Availability Using Combinatorial Designs

1
School of Information Management, Shanghai Lixin University of Accounting and Finance, Shanghai 201209, China
2
School of Materials and Chemistry, University of Shanghai for Science and Technology, Shanghai 200093, China
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Entropy 2025, 27(3), 269; https://doi.org/10.3390/e27030269
Submission received: 15 January 2025 / Revised: 2 March 2025 / Accepted: 4 March 2025 / Published: 5 March 2025
(This article belongs to the Special Issue Coding Theory and Its Applications)

Abstract

:
In this paper, we generalize the construction of locally repairable codes (LRCs) by leveraging pairwise balanced designs (PBDs) and balanced incomplete block designs (BIBDs) to construct codes with nonuniform locality or nonuniform availability. Our constructions prioritize binary implementations for practical deployment while achieving optimal or near-optimal performance in terms of rate, minimum distance, and repair efficiency. Specifically, we propose distance-optimal LRCs with nonuniform localities and message-symbol ( r , t ) -availability. These binary constructions achieve optimal minimum distance under known bounds and have higher code rates than existing works. We also address open problems in the literature, including constructions where r k , and demonstrate that our constructions encompass or outperform several prior works.

1. Introduction

Large-scale distributed storage systems store vast amounts of data, which are vulnerable to loss in the event of node failures. A widely adopted method to prevent data loss is the replication mechanism, where data from a failed node are recovered by copying it from one of its replicas to a new replacement node. This approach ensures data integrity and system reliability but introduces significant storage overhead. To address this inefficiency, erasure codes have been proposed as an alternative to replication, offering reduced storage overhead and the same level of reliability. Facebook’s cluster storage system [1] employs a ( 14 , 10 ) Reed–Solomon (RS) code. This system can tolerate up to four node failures. However, such codes require all the data from the other 10 nodes to repair a single node. Therefore, there is a critical need for coding schemes that minimize the number of nodes accessed during recovery. To address this problem, locally repairable codes (LRCs) [2] have been introduced.
In recent years, locally repairable codes have gained significant attention due to their practical applications in distributed storage systems [2,3,4,5]. The primary objective of LRCs is to minimize the number of nodes that need to be accessed when repairing a failed node. In [4], the concept of [ n , k , d ] LRCs with ( r , δ ) -locality was introduced. Cai et al. [6] gave a construction of locally repairable codes with ( r , δ ) -locality and smaller field sizes than known constructions of this kind.
However, these constructions do not support parallel reading of specific data nodes. In practice, some data experience significantly higher access frequencies, and such data are called hot data. For such data, supporting parallel access is an important feature. To address this shortcoming, Wang et al. [7] introduced ( n , k , r , t ) q . These codes enable the retrieval of data stored in an individual node using t + 1 mutually exclusive recovery sets, thereby enabling parallel access to frequently accessed data in distributed storage systems. Below, we give a formal definition of ( n , k , r , t ) q LRC.
Definition 1. 
Given a systematic [ n , k , d ] q linear code C with block length n, dimension k, and minimum distance d over F q , where d ( C ) denotes the minimum distance of C , R ( C ) denotes the code rate of C , the k × n generator matrix of C is defined as G = [ I k | P ] , and the ( n k ) × n parity-check matrix of C is defined as H = [ P | I n k ] . A message m of length k over F q is encoded into a codeword c of length n over F q . The encoding process can be written in the form of matrix multiplication: m G = c .
Let [ n ] denote the set { 1 , , n } . A symbol c i in a codeword c C has locality r if c i is a linear combination of a subset of c indexed by R ( i ) [ n ] { i } , where | R ( i ) | r . R ( i ) is a recovery set (repair set) of c i . C is said to have all-symbol locality if every symbol in C has locality r.
If a symbol c i in a codeword c C has t repair sets R 1 ( i ) , , R t ( i ) [ n ] { i } , where | R i ( i ) | r , j [ t ] , R l ( i ) R m ( i ) l m , then the symbol c i has locality r and availability t, or the symbol has ( r , t ) -availability [8].
For an [ n , k , d ] code C over F q , if all information symbols possess ( r , t ) -availability, C is called an ( n , k , r , t ) q locally repairable code (LRC) with information-symbol (IS) ( r , t ) -availability. This type of code is abbreviated as IS-LRC. Alternatively, if every codeword symbol in C has ( r , t ) -availability, C is referred to as an ( n , k , r , t ) q LRC with all-symbol ( r , t ) -availability, abbreviated as AS-LRC.
The repair sets of any coordinate i in a codeword c from an ( n , k , r , t ) locally repairable code can be deduced from its parity-check matrix H. Let h 1 , , h n k denote the rows of H. If coordinate i possesses ( r , t ) -availability, then the i-th column of H has at least t nonzero elements in t rows h i 1 , , h i t . Note that c H T = 0 . So, we can obtain t linear equations c · h i 1 = 0 , , c · h i t = 0 . Assume c i is lost. Then, the terms in the above t linear equations, other than c i , index a repair set of c i .
Example 1. 
G is a generator matrix of an ( 8 , 4 , 2 , 2 ) 7 LRC C over F 7 . H is its parity-check matrix.
G = 1 0 0 0 1 0 1 0 6 2 0 1 0 0 1 0 0 1 2 2 0 0 1 0 0 1 1 0 2 5 0 0 0 1 0 1 0 1 5 6 , H = 6 6 0 0 1 0 0 0 0 0 0 0 6 6 0 1 0 0 0 0 6 0 6 0 0 0 1 0 0 0 0 6 0 6 0 0 0 1 0 0 1 5 5 2 0 0 0 0 1 0 5 5 2 1 0 0 0 0 0 1 .
In this code C , the message symbols c 1 , c 2 , c 3 , c 4 in any codeword c can be recovered by two disjoint repair sets of size 2. Assume c 1 is lost. From H or G, we can see that c 1 + c 2 = c 5 and c 1 + c 3 = c 7 . So, the two disjoint repair sets of c 1 are R 1 ( 1 ) = { 2 , 5 } and R 2 ( 1 ) = { 3 , 7 } . So, c 1 can be recovered by reading the data stored in c 2 , c 5 (or c 3 , c 7 ), and c 5 c 2 = c 1 .
Li et al. [9] constructed asymptotically good LRCs with multiple recovery sets using automorphism groups of function fields. Wang et al. [7] proposed the following minimum distance bound for ( n , k , r , t ) q LRC:
d n k t ( k 1 ) + 1 t ( r 1 ) + 1 + 2 .
Rawat et al. [8] demonstrated that for ( n , k , r , t ) LRCs, where each repair group includes precisely one parity symbol, the minimum distance d adheres to the following relationship:
d n k k t r + t + 1 .
In their work, Rawat et al. [8] employed combinatorial designs to develop locally repairable codes with ( r , t ) -availability under the condition that r divides k. These constructions were shown to meet the bound in (3). The authors also raised an open question: whether r | k is a necessary condition for ( n , k , r , t ) locally repairable codes to attain the bound in (3). Su et al. [10] introduced binary LRCs constructed using resolvable configurations. Su [11] gave additional parameters for locally repairable codes whose minimum distance attains the bound (3) based on resolvable configurations.
It is important to highlight that binary codes over F 2 offer significant benefits for practical applications compared to codes defined over larger fields. Hao et al. [12] presented methods for constructing locally repairable codes from LDPC codes. Balaji et al. [13] gave a definition of the strict availability of locally repairable codes. Zhang et al. [14] extended this construction by relaxing the constraint n = ( r + 1 ) x , x 2 given in [13]. Zhang et al. [15] also gave a series of distance-optimal locally repairable codes from certain combinatorial structures to attain the bound in (3). Among the codes proposed in [15], r | k is not a necessary condition. Teng et al. [16] developed constructions of optimal binary locally repairable codes (LRCs) with multiple recovery sets. Jin et al. [17] introduced a new class of binary LRCs with high availability. Tan et al. [18] proposed several constructions of binary distance-optimal LRCs from linear algebra and partial geometries. Fetrat et al. [19] presented a novel family of binary LRCs designed for coded distributed computing.
Prakash et al. [20] derived the following upper bound on the code rate for t = 2 :
k n r r + 2 .
In practice, distributed storage systems often involve nodes with different characteristics, such as varying failure rates or uptimes. Existing constructions are not fully equipped to address these heterogeneous requirements. Kadhe et al. [21] and Zeh et al. [22] proposed LRCs with nonuniform localities, while Bhadane et al. [23] introduced LRCs with varying localities and availabilities. Cai et al. [24] derived a connection between ( k , R , 1 ) -packing and optimal locally repairable codes. They also proposed a classification of LRCs with nonuniform locality or availability and specific conditions that the parameters need to satisfy under these classifications [24]. Cai et al. [25] generalized the concept of ( r , t ) -availability and provided a series of constructions that achieve the bound in (3).
This paper generalizes these approaches by leveraging pairwise balanced designs (PBDs) and balanced incomplete block designs (BIBDs) to construct LRCs with nonuniform localities and availabilities. Table 1 presents the parameters of all constructions proposed in this article. These codes prioritize binary implementations for ease of deployment while achieving optimal or near-optimal performance in terms of rate, minimum distance, and repair efficiency. The contributions of this paper are as follows:
  • We introduce LRCs with nonuniform availabilities and all-symbol availabilities from pairwise balanced designs. This construction contains the codes with all-symbol availabilities constructed in [15]. Moreover, from this construction, we obtain a distance-optimal binary ( n = 7 , k = 3 , r = 2 , t = 2 ) LRC with all-symbol availability attaining the bounds in (2) and (3);
  • We also give a construction of LRCs with nonuniform localities and all-symbol availability from PBDs. This construction also contains the codes from [15];
  • We introduce LRCs with nonuniform availabilities and uniform locality using PBDs. When the chosen PBD is a BIBD, this construction gives distance-optimal locally repairable codes with message ( r , t ) -availability. The rate of this construction is optimal when t = 2 . This construction also contains some codes from [15,18,24], and the rate of this construction is higher than that of the codes in [11,24,25];
  • Finally, we propose distance-optimal LRCs with nonuniform localities using PBDs. This construction gives distance-optimal locally repairable codes with nonuniform localities and message ( r , t ) -availability attaining the bound in (3). The rate of this construction is higher than the codes in [11,24,25] while requiring a much smaller field size. This construction also contains some codes from [15,18,24]. This construction gives codes with parameters not contained in [11,15,18,24,25].

2. Preliminaries

This section outlines the notations and foundational concepts applicable throughout this article. We define the set [ i ] for any positive integer i as 1 , 2 , , i , and the set [ i , j ] for i < j as i , i + 1 , , j . The symbol F q represents the finite field with q elements, where q is a prime power. Additionally, the support of a vector x is indicated by supp x .

2.1. Block Designs

Let v ^ , k ^ , λ ^ be integers such that v ^ k ^ 2 and λ ^ 1 . A finite set X is denoted as the point set. Elements in B are subsets of X. Elements in B are called blocks. The pair ( X , B ) is called a balanced incomplete block design (BIBD), written as a ( v ^ , k ^ , λ ^ ) -BIBD, if the following conditions are satisfied: | X | = v ^ , | B | = k ^ for every B B , and every pair of distinct points in X is contained in exactly λ ^ blocks [26]. In a ( v ^ , k ^ , λ ^ ) -BIBD, each point belongs to r ^ = λ ^ ( v ^ 1 ) k ^ 1 blocks, and the number of blocks is given by b ^ = v ^ r ^ k ^ = λ ^ ( v ^ 2 v ^ ) k ^ 2 k ^ .
A balanced incomplete block design can be described using its incidence matrix. For a ( v ^ , b ^ , r ^ , k ^ , λ ^ ) -BIBD ( X , B ) , where X is a point set of size v ^ and B is a block set of size b ^ , let M represent a v ^ × b ^ incidence matrix. The columns of M correspond to the blocks B 1 , B 2 , , B b ^ , with each B i B for i [ b ^ ] . The rows of M correspond to the points p 1 , p 2 , , p v ^ . The entry m i j in the incidence matrix M is defined as
m i j = 1 , if p j B i , 0 , otherwise .
In this matrix, each column contains exactly k ^ ones, while each row contains exactly r ^ ones.
A resolution is defined as a partition of B into multiple parallel classes. If such a partition exists, the BIBD is called resolvable [26]. The union of all parallel classes is equal to the point set X. A ( v ^ , k ^ , λ ^ ) -RBIBD denotes a resolvable BIBD. The existence of a parallel class implies that k ^ divides v ^ , and the parallel class contains exactly v ^ / k ^ blocks. For a resolvable BIBD, B can be partitioned into b ^ / ( v ^ / k ^ ) = r ^ parallel classes.

2.2. Pairwise Balanced Designs (PBDs)

A PBD is a generalization of the balanced incomplete block design (BIBD) and is defined below.
Consider a positive integer v ^ , a set of positive integers K ^ such that v ^ k ^ for all k ^ K ^ , and another positive integer λ ^ . Let X be a finite set, referred to as the set of points, and let B be a collection of subsets of X, known as blocks. The pair ( X , B ) is defined as a ( v ^ , K ^ , λ ^ ) -pairwise balanced design (PBD) [26], abbreviated as ( v ^ , K ^ , λ ^ ) -PBD, if it satisfies the following conditions: The cardinality of X is v ^ , i.e., | X | = v ^ . For every block B B , the size | B | belongs to K ^ , and any pair of distinct points in X appears in exactly λ ^ blocks.
The set of parameters { v ^ , K ^ , λ ^ } is known as the parameter set of the PBD ( X , B ) . When K ^ contains only one element, i.e., K ^ = { k ^ } , the ( v ^ , K ^ , λ ^ ) -PBD is a ( v ^ , k ^ , λ ^ ) -BIBD. A ( v ^ , K ^ , λ ^ ) -PBD ( X , B ) is considered nondegenerate if there exists at least one block B B such that 2 | B | < v ^ . In this paper, all PBDs discussed are assumed to be nondegenerate. PBDs can also be represented via incidence matrices.
A PBD can be constructed by removing points from a BIBD [26]. Suppose ( X , B ) is a ( v ^ , k ^ , λ ^ ) -BIBD, and let p X be any point. Define X p = X { p } as the point set excluding p, and let B p = { B { p } : B B } be the collection of blocks obtained by removing p from each block in B . Then, the pair ( X p , B p ) forms a ( v ^ , { k ^ 1 , k ^ } , λ ^ ) -PBD.

3. Code Construction

3.1. Locally Repairable Codes from PBDs with Nonuniform Availability and All-Symbol Locality

First, we construct an LRC with different availability and all-symbol locality using certain special PBDs. Since general PBDs have different block sizes and the occurrence frequency of each point also differs, it is relatively difficult to use general PBDs to construct locally repairable codes. However, certain special PBDs can be selected for constructing locally repairable codes. In this section, we choose a ( v ^ , K ^ , λ ^ ) -PBD such that the number of appearances of each point is r ^ .
Consider a ( v ^ , K ^ , 1 ) -PBD ( X , B ) , where each point in X occurs exactly r ^ times across the blocks in B , and the total number of blocks is | B | = b ^ . In any nondegenerate PBD, it holds that b ^ v ^ . The incidence matrix M associated with this PBD can be utilized to construct a locally repairable code. Let us denote this matrix by H. Define k ^ min as the smallest value in K ^ , k ^ max as the largest value in K ^ , and k ^ avg as the average of all elements in K ^ .
Theorem 1. 
H defines an ( n = b ^ , k , r = r ^ 1 , t = k ^ min ) 2 locally repairable code. This code provides ( r = r ^ 1 , t = k ^ min ) -availability, where the code length is b ^ , the minimum distance satisfies d ( C ) t + 1 , and the code rate is bounded below by R ( C ) 1 k ^ avg r .
Proof. 
From the earlier construction, it is established that M serves as the incidence matrix of a ( v ^ , K ^ , λ ^ ) -PBD ( X , B ) . For the matrix H = M , its rows are indexed by the points of the PBD, and its columns are indexed by the blocks. Each row of H has a weight equal to r ^ . Unlike LRCs derived from BIBDs, the columns of H do not necessarily have uniform weights. Specifically, the smallest column weight of H is denoted by k ^ min , the largest column weight is denoted by k ^ max , and the average column weight is denoted by k ^ avg .
In a PBD, any two distinct points appear together in exactly one block. As a result, the supports of the rows of H that correspond to different points intersect only at that coordinate. If the supports of these rows were to intersect more than once, it would imply that two distinct points in X are present together in more than one block, which violates the fundamental properties of a ( v ^ , K ^ , λ ^ ) -PBD. The supports of the rows in H associated with the same coordinate are allowed to overlap at one coordinate.
When H is used as the parity-check matrix of a locally repairable code, each code symbol is associated with at least k ^ min different sets. The size of each recovery set is r ^ 1 . It should be emphasized that the number of recovery sets varies across code symbols and is not uniform throughout the code. The minimum number of recovery sets for any symbol is k ^ min , while the maximum number is k ^ max .
Since every code symbol has no fewer than k ^ min disjoint recovery sets, the parameter t can be assigned the value k ^ min . Consequently, H acts as the parity-check matrix.
The parameters of our construction in the theorem are ( n = b ^ , k , r = r ^ 1 , t = k ^ min ) q . We obtain an AS-LRC with nonuniform availability.
We now analyze the parameters of our code. Let c denote a codeword in our construction of a locally repairable code. The weight of c corresponds to the minimum distance d. Note that every code symbol has t repair sets of size r + 1 . In this case, any erased symbol in c can be deduced when no more than t positions in c are erased. As a result, the minimum distance d ( C ) satisfies the condition d ( C ) t + 1 .
Next, we determine the code rate of the proposed construction. The matrix H is of size v ^ × b ^ . Let m = v ^ and n = b ^ . The relationship m · r ^ = n · k ^ avg holds: r a n k ( H ) m . Then, the code rate can be computed as follows:
R ( C ) = 1 rank ( H ) n 1 m n = 1 k ^ avg r ^ = 1 k ^ avg r + 1 .
Remark 1. 
Since a ( v ^ , k ^ , 1 ) -BIBD is also a ( v ^ , k ^ , 1 ) -PBD, our construction in Theorem 1 includes the code constructed in [15]. When H is an incidence matrix of a ( v ^ , k ^ , 1 ) -BIBD, the above proof process is still valid, and we obtain an ( n = b ^ , k , r = r ^ 1 , t = k ^ ) LRC with all-symbol availability, where d ( C ) t + 1 and R ( C ) 1 t r + 1 .
Note that in our construction in this subsection, the size of the parity-check matrix H may not be ( n k ) × n . In a full-rank ( n k ) × n parity-check matrix H, if we add several redundant rows to H, where the extra rows are all linear combinations of the first ( n k ) rows, then the resulting parity-check matrix H is still a parity-check matrix of the same code, provided that H and H define the same linear space. In the above construction, it is relatively difficult to obtain the exact rank of H for arbitrary parameters, which will be the subject of future work. However, in the next section, we partially solve this problem.
This work generalizes the construction in [23] by assigning equal locality but varying availability. It is well suited for distributed storage, as it increases the number of repair sets for high-load or failure-prone nodes, thereby enhancing fault tolerance.
We illustrate the code construction in the above theorem with some examples.
Example 2. 
Let M represent the incidence matrix of a ( 7 , 3 , 1 ) -BIBD. By removing a single point from this BIBD, a ( 6 , { 2 , 3 } , 1 ) -PBD with points 1 , 2 , 3 , 4 , 5 , 6 and blocks { 1 , 2 , 4 } , { 1 , 3 , 5 } , { 1 , 6 } , { 2 , 3 } , { 2 , 5 , 6 } , { 3 , 4 , 6 } , { 4 , 5 } can be constructed. The incidence matrix of this PBD, denoted as H, acts as the parity-check matrix for an LRC:
M = 1 1 1 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 , H = 1 1 1 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 .
Since the row rank of H is 4, we obtain a ( 7 , 3 , 2 , 2 ) -LRC. This code maintains the same locality while providing nonuniform availabilities for different coordinates. The minimum distance of the code is 4, and its rate is 3 / 7 . Furthermore, this code achieves the upper bound on the distances given in (2) and (3), making it distance-optimal. Without loss of generality, assume that in a codeword c , c 2 is lost. There are three rows (rows 1, 3, and 5) with nonzero elements in the second column of H, leading to the following three linear equations: c 1 + c 2 + c 3 = 0 , c 2 + c 4 + c 6 = 0 , and c 2 + c 5 + c 7 = 0 . Since our code is constructed over F 2 , c 2 can be recovered by XORing c 1 and c 3 , XORing c 4 and c 6 , or XORing c 5 and c 7 . The recovery sets of c 2 are R 1 ( 2 ) = { 1 , 3 } , R 2 ( 2 ) = { 4 , 6 } , and R 3 ( 2 ) = { 5 , 7 } .
Similarly, consider M , the incidence matrix of a ( 9 , 3 , 1 ) -BIBD. By deleting one point from this BIBD, an ( 8 , { 2 , 3 } , 1 ) -PBD is obtained. The incidence matrix of this PBD, H , serves as the parity-check matrix for a ( 12 , 4 , 3 , 2 ) -LRC. This code also features the same locality and nonuniform availabilities. This example has a minimum distance of 5 and a rate of 1 / 3 :
M = 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 1 0 1 0 0 , H = 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 .
In the above construction, the locality r of the code is fixed to r ^ 1 . However, using PBDs from resolvable BIBDs, we can construct locally repairable codes with more choices for the locality r. First, choose ( r + 1 ) parallel classes from a ( v ^ 1 , r ^ , { k ^ , k ^ 1 } , 1 ) -PBD constructed by removing a single point in a ( v ^ , b ^ , r ^ , k ^ , 1 ) -RBIBD. Each parallel class corresponds to a ( v ^ 1 ) × v ^ k ^ submatrix M i . Choose r + 1 such submatrices, where ( r + 1 ) v ^ k ^ v ^ , i.e., ( r + 1 ) k ^ . Since there are only r ^ parallel classes in the PBD, r + 1 r ^ , we obtain a ( v ^ 1 ) × ( r + 1 ) v ^ k ^ matrix H:
H = M 1 M r + 1 .
Note that in H, the weight of each row is ( r + 1 ) , and the weight of each column is k ^ or k ^ 1 .
Theorem 2. 
H defines an ( n = ( r + 1 ) v ^ k ^ , k , r [ t , r ^ 1 ] , t = k ^ 1 ) 2 locally repairable code C . This code provides all-symbol ( r , t ) -locality, the minimum distance satisfies d ( C ) t + 1 , and the code rate is bounded below by R ( C ) 1 ( r + 1 ) ( t + 1 ) ( v ^ 1 ) v ^ .
Proof. 
Note that in our construction of H, any two rows intersect at most once. If two rows in H intersect twice, two points will appear twice in the related PBD. So, for each coordinate in the code, there are at least t = k ^ 1 repair sets of size r. We have shown that our construction provides all-symbol ( r , t ) -locality.
Assume that c is a randomly chosen nonzero codeword from C and i denotes the first nonzero element in C . Since each coordinate in C has t disjoint recovery sets, the minimum hamming weight of the codeword is t + 1 , where d ( C ) t + 1 . The code rate can be computed as follows:
R ( C ) = 1 rank ( H ) n 1 ( v ^ 1 ) n = 1 ( r + 1 ) ( t + 1 ) ( v ^ 1 ) v ^
In this construction, we constructed locally repairable codes with uniform locality r [ t , r ^ 1 ] and nonuniform availability. We provide some examples below to illustrate the above codes from our construction.
Example 3. 
M 1 is the incidence matrix of a ( 9 , 3 , 1 ) -RBIBD. By removing a point in this RBIBD, we obtain the incidence matrix M 2 of an ( 8 , { 2 , 3 } , 1 ) -PBD:
M 1 = 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 0 1 0 0 0 1 1 0 0 ,
M 2 = 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 0 1 0 0 0 1 1 0 0 ,
Choose the first three parallel classes in M 2 to form H:
H = 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 ,
We obtain a ( 9 , 2 , 2 , 3 ) locally repairable code with uniform locality and nonuniform availability, with d ( C ) = 6 and R ( C ) = 2 9 . The coordinates 2 , 3 , 5 , 7 , and 8 have three disjoint repair sets of size 2. Assume that in a codeword c , the symbol c 3 is erased. The three recovery sets of c 3 are R 1 ( 3 ) = { 6 , 7 } , R 2 ( 3 ) = { 4 , 8 } , and R 3 ( 3 ) = { 5 , 9 } . c 3 can be recovered by adding all symbols indexed by any repair set (for example, c 5 + c 9 = c 3 ). The code rate of the above construction is not sufficiently high. However, it can be used to construct an IS-LRC, and its transpose can be used to construct locally repairable codes with nonuniform localities.

3.2. Locally Repairable Codes with Nonuniform Localities

In this subsection, we introduce a method for constructing locally repairable codes with varying localities but uniform availability, derived from PBDs. These constructions ensure all-symbol ( r , t ) -availability.
Consider a ( v ^ , b ^ , r ^ , k ^ , 1 ) -RBIBD, where r ^ = ( v ^ 1 ) k ^ 1 and b ^ = v ^ r ^ k ^ = ( v ^ 2 v ^ ) k ^ 2 k ^ . Let the transpose of the incidence matrix of this RBIBD be denoted by M. This RBIBD contains r ^ parallel classes. M contains r ^ submatrices, denoted by M 1 , , M r ^ :
M = M 1 M r ^ .
Each submatrix M i corresponds to a parallel class in the RBIBD. Then, a ( v ^ 1 , { k ^ , k ^ 1 } , 1 ) -PBD can be obtained by removing a single point from the RBIBD. The transpose of the incidence matrix corresponding to this PBD, denoted by M , also contains r ^ submatrices as follows:
M = M 1 M r ^ .
Here, M is a b ^ × ( v ^ 1 ) matrix. Next, choose any t submatrices M 1 , , M t from the collection of submatrices { M 1 , , M r ^ } . Then, H is defined as follows:
H = M 1 M t .
In the above block design, r ^ k ^ + 1 is satisfied. Then, select t k ^ 1 submatrices from M. Consequently, the resulting matrix H is a ( v ^ 1 ) × t v ^ k ^ matrix.
Theorem 3. 
The code constructed with H as its parity-check matrix is an ( n = v ^ 1 , k , r = k ^ 1 , t r ) 2 locally repairable code. This code has varying localities but uniform availability while possessing all-symbol locality. In this construction, R ( C ) 1 t ( n + 1 ) ( r + 1 ) n t 1 n , d ( C ) t + 1 .
Proof. 
By the construction of H, it is clear that H is formed by selecting t parallel classes from M and removing the same point from all blocks within these parallel classes. Additionally, H is part of the incidence matrix of the PBD. Therefore, any two different points appear in one block. When forming the PBD, one point is removed from the RBIBD, resulting in a PBD with block sizes k ^ or k ^ 1 . In this process, the frequency of occurrence of each remaining point does not change, and the v ^ 1 remaining points appear r ^ times in M .
From this construction, we observe that each row of H has a weight of at most k ^ = r + 1 , while each column of H has a weight t. The column weight equals t because each point remaining in the RBIBD is present once in each submatrix of M , and t submatrices M 1 , , M t are selected to construct H. Therefore, every symbol in the codeword has availability t. The locality of this symbol is r. Because blocks belonging to distinct parallel classes share exactly one point, the t recovery sets are mutually disjoint (If two recovery sets had more than one common point, it would indicate that two blocks from separate parallel classes intersect at two points, contradicting the fundamental properties of PBDs). Therefore, the code constructed in this theorem is an ( n = v ^ 1 , k , r = k ^ 1 , t r ) 2 AS-LRC, d ( C ) t + 1 .
H has m = t v ^ k ^ rows and n columns. Note that H is not a full-rank matrix. Choose one parallel class in H and fix this parallel class. Note that each parallel class is a partition of n. So, for each of the remaining parallel classes in H, there exists a redundant row R, and this row can be represented by the fixed parallel class and the corresponding parallel class. So, we can remove t 1 redundant rows from H. Thus, the rank of H satisfies rank ( H ) t v ^ k ^ ( t 1 ) . Let the rate of the code be denoted by R ( C ) . Then, the rate is given by
R ( C ) = 1 rank ( H ) n 1 t v ^ k ^ t + 1 n = 1 t ( n + 1 ) ( r + 1 ) n t 1 n .
Example 4. 
Let M denote the transpose of the incidence matrix of a ( 9 , 3 , 1 ) -RBIBD. Construct a matrix H 1 by selecting two parallel classes from M. The matrix H 1 serves as the parity-check matrix for a ( 9 , 4 , 2 , 2 ) 2 SA-LRC C , which has a minimum distance of 4 and a rate of 4 / 9 .
By removing one point (corresponding to the RBIBD) from H 1 , a new matrix H 2 is obtained. The matrix H 2 acts as the parity-check matrix for an ( 8 , 3 , 2 , 2 ) 2 locally repairable code C with varying localities but uniform availability. This code achieves a minimum distance of 4 and a rate of 3 / 8 .
M = 1 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 .
H 1 = 1 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 , H 2 = 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 1 .
It is important to note that while the code defined by H 2 has a lower rate compared to the code defined by H 1 , the locality r of certain nodes (the coordinates 2 , 4 , 5 , 7 ) in the code corresponding to H 2 is reduced to 1. This reduction in locality decreases the repair bandwidth for these nodes when node failure happens. Additionally, the relative distance of the code defined by H 2 is improved, enhancing the overall reliability of the code. Consider the case where c 4 is erased from the codeword c C . The two repair sets of c 4 are R 1 ( 4 ) = { 5 } and R 2 ( 4 ) = { 6 , 8 } . So, c 4 can be recovered by accessing c 5 or XORing c 6 and c 8 .
Remark 2. 
We can choose t parallel classes from M (an incidence matrix of a ( v ^ , b ^ , r ^ , k ^ , 1 ) -RBIBD) and form H as described above. In this case, the above proof process is still applicable. We can obtain an ( n = v ^ . k , r = k ^ 1 , t k ^ ) AS-LRC C with d ( C ) t + 1 and R ( C ) 1 t ( r + 1 ) t 1 n . Since an RBIBD is also a PBD, our construction in Theorem 3 includes the parameters of the code proposed in [15]. The first code in Example 4 is from this construction.

3.3. Construction of Binary Locally Repairable Codes with Different Information-Symbol Availabilities

In Section 3.1, a construction of locally repairable codes with different availabilities and the same locality from PBDs was presented. In distributed storage systems, information symbols are typically accessed more frequently because they represent the original data, which can usually be accessed without decoding. Therefore, if a class of LRCs with different availabilities for information symbols can be constructed using PBDs, such codes would be more suitable for distributed storage systems than the codes presented in Section 3.1.
This subsection provides a construction of LRCs with different information-symbol availabilities. The construction is based on constructing the generator matrix G or parity-check matrix H:
G = I k × k   | R T , H = R   | I ( n k ) × ( n k ) = R   | I ( n k ) × ( n k ) .
The last equation follows from the fact that our codes are over F 2 . Let ( X , B ) be a ( v ^ , K ^ , 1 ) -PBD, where each point appears exactly r ^ times in B , and the total number of blocks is | B | = b ^ . Let R represent the incidence matrix of this PBD. Assume that for every k ^ K ^ , there exists at least one block of size k ^ . Let k ^ min , k ^ max , and k ^ avg denote the smallest, largest, and average block sizes in B , respectively.
Theorem 4. 
The code constructed above is an ( n = b ^ + v ^ , k = b ^ , r = r ^ , t = k ^ min ) 2 locally repairable code. This code has uniform locality and nonuniform availability for all information symbols. It achieves a minimum distance of at least t + 1 and has a rate of R ( C ) = b ^ b ^ + v ^ . Additionally, the code provides all-symbol locality.
Proof. 
Since R acts as the parity-check matrix of an ( n = b ^ , k , r = r ^ 1 , t = k ^ min ) locally repairable code, every symbol in R has availability t . Furthermore, any two rows of R intersect at exactly one point. Each row of R has a weight of r = r ^ , and each column of R has a weight of t = k ^ min . This indicates that each message symbol in the code is safeguarded by at least t different recovery sets, where each set has a size of r. These recovery sets enable t independent and parallel repair processes for every symbol. Furthermore, some information symbols are secured by more than t disjoint recovery sets of size r. Consequently, the code constructed in this section is an ( n = b ^ + v ^ , k = v ^ , r = r ^ , t = k ^ min ) LRC, featuring uniform locality for the information symbols and nonuniform availability.
We now proceed to examine the minimum distance of the code. Here, H represents the parity-check matrix:
H = R   | I v ^ × v ^ = R   | I ( n k ) × ( n k ) .
c is a codeword with weight d, where c i denotes the ith nonzero symbol of c . Assume that c i is located within the final v ^ coordinates of c . In this scenario, at least one additional nonzero symbol c j must be present within the first k coordinates of c . R serves as the parity-check matrix for an AS-LRC ( n = b ^ , k , r = r ^ 1 , t = k ^ min ) ; thus, it can be concluded that c j is involved in at least t parity-check equations. There exists a corresponding nonzero symbol c h in each of them. Moreover, the rows in H corresponding to these t equations satisfy the condition that the supports of different rows are mutually disjoint. Therefore, c must contain a minimum of t + 1 nonzero elements.
Let us now examine the scenario where c i lies within the first k coordinates of c . In this case, c i is involved in no fewer than t parity-check equations. There is another nonzero symbol c j in each of these equations. Again, the supports of the corresponding rows in H are disjoint. Therefore, c contains at least t + 1 nonzero entries. Thus, d ( C ) t + 1 . The rate of the constructed LRC is given by
R ( C ) = k n = b ^ b ^ + v ^ .
Remark 3. 
Recall that a ( v ^ , b ^ , r ^ , k ^ , 1 ) -BIBD is also a ( v ^ , b ^ , r ^ , k ^ , 1 ) -PBD. R is its incidence matrix. Let H = R   | I ( n k ) × ( n k ) . Then, the code C with H as its parity-check matrix is an ( n = v ^ + b ^ , k = b ^ , r = r ^ , t = k ^ ) IS-LRC with distance d ( C ) = t + 1 and R ( C ) = b ^ b ^ + v ^ . In this case, b ^ k ^ = v ^ r ^ and k t r = v ^ = n k , so R ( C ) = k n = b ^ b ^ + v ^ = r r + t , and d ( C ) is optimal. This construction includes a construction from [15].
We can also choose R as the transpose of the incidence matrix of a ( v ^ , b ^ , r ^ , k ^ , 1 ) -BIBD. Then, we can obtain an ( n = v ^ + b ^ , k = v ^ , r = k ^ , t = r ^ ) IS-LRC C with distance d ( C ) = t + 1 and R ( C ) = v ^ b ^ + v ^ . Similarly, R ( C ) = r r + t and d ( C ) attain the bound in (3). This construction includes another code constructed in [15].
Example 5. 
Let M represent the incidence matrix of a ( 7 , 3 , 1 ) -BIBD. By applying the construction method described in Theorem 1, removing a single point from this BIBD produces a ( 6 , { 2 , 3 } , 1 ) -PBD. The resulting incidence matrix H serves as the parity-check matrix for a ( 7 , 3 , 2 , 2 ) -LRC with all-symbol locality and nonuniform availability. This code has a minimum distance of 4 and a rate of 3 / 7 . Using the construction outlined in this section, a generator matrix G for a ( 13 , 7 , 3 , 2 ) -LRC C can be derived from H. In this code, some information symbols (coordinates 1 , 2 , 5 , 6 ) are protected by three disjoint recovery sets, making it an LRC with nonuniform availability for different information symbols. Its minimum distance is 3, and its rate is 7 / 13 . Assume that c 2 in a codeword c is erased. Its repair sets are R 1 ( 1 ) = { 2 , 3 , 8 } , R 2 ( 1 ) = { 4 , 5 , 9 } , and R 3 ( 1 ) = { 6 , 7 , 11 } . c 1 can be recovered by reading all symbols indexed by any of its recovery sets from c .
M = 1 1 1 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 , H = 1 1 1 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 ,
G = 1 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 .
Similarly, let M denote the incidence matrix of a ( 9 , 3 , 1 ) -BIBD. Removing one point from this BIBD results in an ( 8 , { 2 , 3 } , 1 ) -PBD whose incidence matrix is H . H is the parity-check matrix of a ( 12 , 4 , 3 , 2 ) -LRC, which also has all-symbol locality and nonuniform availabilities. This code has a minimum distance of 5 and a rate of 1 / 3 . Using the construction presented in this section, a generator matrix G for a ( 20 , 12 , 4 , 2 ) -LRC C can be obtained from H . In this code, some information symbols have three disjoint recovery sets, making it an LRC with varying information-symbol availabilities. Its minimum distance is 3, and its rate is 3 / 5 . Consider a message symbol c 3 from a codeword c C that cannot be accessed. The recovery sets of c 3 are R 1 ( 3 ) = { 1 , 2 , 13 } , R 2 ( 3 ) = { 5 , 10 , 11 , 16 } , and R 3 ( 3 ) = { 7 , 9 , 12 , 19 } , and each repair set contains only one parity symbol. c 3 can be reconstructed by XORing all symbols in any of its repair sets.
M = 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 1 0 1 0 0 , H = 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0
G = 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 .
As demonstrated in the examples above, the construction method presented in this section improves the rate of the codes described in Section 3.1. In this framework, the information symbols possess availability, whereas the parity symbols, despite lacking multiple disjoint recovery sets, still maintain locality r. Although this construction significantly enhances the performance of the codes compared to those in Section 3.1, it has certain limitations. The primary drawback is that the minimum distance of the construction is not optimal. The construction introduced in the next subsection aims to address this limitation.

3.4. Distance-Optimal Binary Locally Repairable Codes with Different Localities for Information Symbols

This section focuses on constructing a class of distance-optimal locally repairable codes with different localities while maintaining the same availability for information symbols. The design relies on the construction presented in Section 3.2:
G = I k × k   | R T ,
H = R   | I ( n k ) × ( n k ) .
G and H represent the generator matrix and parity-check matrix of the code, respectively. M T denotes the incidence matrix of a ( v ^ , b ^ , r ^ , k ^ , 1 ) -RBIBD. The matrix M contains r ^ submatrices { M 1 , M 2 , , M r ^ } :
M = M 1 M r ^ .
Each submatrix M i corresponds to a parallel class in the RBIBD. By removing s k ^ 1 points from the design, we obtain a matrix M , which can be partitioned into r ^ submatrices:
M = M 1 M r ^ .
Note that in this case, M is not necessarily an incidence matrix of a PBD. Here, M has b ^ rows and v ^ s columns. From submatrices { M 1 , M 2 , , M r ^ } , select any t submatrices M 1 , , M t . R is constructed as follows:
R = M 1 M t .
There are a total of t < k ^ s submatrices in R. The resulting matrix R has size t v ^ k ^ × ( v ^ s ) , where n k = t v ^ k ^ . The weight of each row in R is at most k ^ , and the weight of each column in R is t.
In order to prove that the construction in this subsection is optimal, a lemma is required. The proof of this lemma is given below.
Lemma 1 
([15]). Choose t parallel classes from the matrix M to form R . H = R   | I ( n k ) × ( n k ) . Then, H is a parity-check matrix of an ( n = v ^ + t v ^ k ^ , k = v ^ , r = k ^ , t < r ) 2 IS-LRC C . The minimum distance is d ( C ) = t + 1 , C attains the bound in (3), and the rate of the code R ( C ) = r r + t attains the bound in (4) for t = 2 .
Proof. 
From our construction of H , we can see that the first k coordinates of C are protected by t disjoint repair sets of size r. So, the code C has information-symbol ( r , t ) -availability.
Next, we prove that this construction is distance-optimal. Recall that each information symbol has t disjoint recovery sets of size r. Choose any nonzero codeword c from C . Assume there is a nonzero symbol in c that is located in the i-th coordinate, and assume i [ 1 , k ] . Since each message symbol has t disjoint repair sets, there are at least t other nonzero coordinates in c . Now, consider the case when i [ n k , n ] . From our construction of H , the last n k columns of H are an identity matrix, so there is at least one nonzero coordinate in the first k coordinates. So, the Hamming weight of any codeword c C is at least t + 1 .
Note that in this construction, every repair set contains exactly one parity symbol. Therefore,
d ( C ) n k k t r + t + 1 = v ^ + t v ^ k ^ v ^ v ^ t k ^ + t + 1 = t + 1 .
So, this construction is distance-optimal, and d ( C ) = t + 1 . The code rate R ( C ) = k n = v ^ v ^ + t v ^ k ^ = r r + t . □
Theorem 5. 
A code C with G as its generator matrix and H as its parity-check matrix has parameters ( n = v ^ s + t v ^ k ^ , k = v ^ s , s + 1 r = k ^ , t < r s ) 2 . This construction has nonuniform localities and uniform availability for all information symbols. Its minimum distance is t + 1 , and its rate is R ( C ) = v ^ s v ^ s + t v ^ k ^ . The minimum distance achieves the optimal bound stated in (3), and the code supports all-symbol locality.
Proof. 
H = R | I t v ^ k ^ × t v ^ k ^ = R | I ( n k ) × ( n k ) .
Here, n k = t v ^ k ^ , n = v ^ s + t v ^ k ^ , and k = v ^ s . From our construction of H, we can conclude that in this case, any two rows in H intersect at precisely one point in the first k columns of H. Therefore, every message symbol in the code can be recovered from t mutually disjoint repair sets, where each set contains at most r = k ^ elements. This guarantees that each information coordinate can be retrieved in t different methods in parallel with repair sets of size at most r. Consequently, the code constructed in this theorem is an ( n , k , r , t ) 2 IS-LRC.
Then, we calculate the code’s minimum distance. Let c represent a nonzero codeword. Denote the ith nonzero symbol in c as c i . First, suppose c i is one of the last n k = t v ^ k ^ positions in c . From H, we know that at least one additional nonzero symbol c j is among the initial k coordinates of c . So, c j appears in at least t parity-check equations. Each of them involves at least one other nonzero symbol c h , and the corresponding supports of rows in H are disjoint. Consequently, c contains at least t + 1 nonzero symbols. Now, consider the case when c i comes from the first k coordinates of c . Since c i is involved in at least t parity-check equations, each of them involves another nonzero symbol c j . Again, the rows in H corresponding to these equations are disjoint, so c contains at least t + 1 nonzero elements. Therefore, the code’s minimum distance d satisfies d ( C ) t + 1 .
R ( C ) = k n = v ^ s v ^ s + t v ^ k ^ .
From Lemma 1, we know that an ( n = n + s , k = k + s , r = r , t = t ) LRC C with parity-check matrix H is distance-optimal d ( C ) = t + 1 . From the parameters of the RBIBD, we know that
d ( C ) = n k k t r + t + 1 = t + 1 = t + 1 .
d ( C ) attains the bound given in (3). For LRCs where each repair set contains precisely one parity symbol [8],
d n k k t r + t + 1 .
In the above construction, every recovery set has precisely one parity symbol. If d ( C ) satisfies this equality, the code is considered distance-optimal.
d ( C ) n k k t r + t + 1 = n k k t r + t + 1
Now, we compare k t r and k t r . Note that k t r < k t r . Since k t r is an integer, if k t r k t r < 1 , k t r = k t r .
k t r k t r = ( k + s ) t r k t r = s t r
In our construction, t < r s , so k t r k t r < 1 . Then,
d ( C ) n k k t r + t + 1 = n k k t r + t + 1 = n k k t r + t + 1 = t + 1 = t + 1 .
Combining this with the earlier result d ( C ) t + 1 , we conclude that d ( C ) = t + 1 , which attains the bound in (3). Hence, the LRC constructed in this theorem is distance-optimal. The proof is complete. □
Remark 4. 
When the chosen RBIBD in the above construction is an affine plane of order q, i.e., a ( v ^ = q 2 , b ^ = q ( q + 1 ) , r ^ = q + 1 , k ^ = q , 1 ) -RBIBD, the parameters of the above construction can be written in a clearer form. The above construction yields an ( n = r 2 s + t r , k = r 2 s , s + 1 r = k ^ , t < r s ) 2 distance-optimal LRC, with rate R ( C ) = r 2 s r 2 s + t r .
Note that an RBIBD is a special case of a PBD. If we choose t submatrices from the above M, we can obtain a distance-optimal ( n = v ^ + t v ^ k , k = v ^ , r = k ^ , t r ^ ) IS-LRC C , where d ( C ) = t + 1 and R ( C ) = r r + t . These parameters include a construction from [15].
Example 6. 
Let M be a matrix that is created by choosing two parallel classes from a ( 16 , 4 , 1 ) -RBIBD. By removing the final column of M, we derive a submatrix H, which corresponds to a portion of the incidence matrix of a ( 15 , { 4 , 3 } , 1 ) -PBD. The matrix H serves as the parity-check matrix for a ( 15 , 8 , 3 , 2 ) locally repairable code (LRC) with nonuniform localities but uniform availability. In this code, certain symbols exhibit a locality of 2. The minimum distance of the code is 4, while its rate is 8 / 15 . Note that this code attains the bound in (3), and its rate outperforms the upper bound on the rate in (4) for t = 2 .
M = 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 ,
H = 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 .
Utilizing the construction outlined in this section, one can derive a generator matrix G for a ( 23 , 15 , 4 , 2 ) LRC C from H. This resulting code has a rate of 15 / 23 , a minimum distance of 3, and satisfies the distance-optimality bound. The construction presented here enhances the rate of the codes developed in Section 3.2 while maintaining distance optimality, making it particularly well suited for distributed storage applications. Suppose that an information symbol c 4 in a codeword c C is lost. The two repair sets of c 4 are R 1 ( 4 ) = { 9 , 14 , 18 } and R 2 ( 4 ) = { 5 , 11 , 13 , 22 } , where each recovery set contains exactly one parity symbol. c 4 can be recovered by accessing all symbols indexed by R 1 ( 4 ) or R 2 ( 4 ) in c .
G = 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 .
Example 7. 
We choose two parallel classes from a ( 25 , 5 , 1 ) -RBIBD to form M .
M = 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 .
R = 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 .
By removing the first two points from the RBIBD, we can obtain a matrix R. R serves as the parity-check matrix of a ( 23 , 14 , 4 , 2 ) AS-LRC. Its minimum distance is 4, and its code rate is 14 23 . Using the construction in Theorem 5, we can obtain a 10 × 33 parity-check matrix H = R | I 10 and a 23 × 33 generator matrix G = I 23 | R T .
G T = 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
H T = 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
Due to space limitations, we give the transposed form of G and H. We obtain a ( 33 , 23 , 5 , 2 ) IS-LRC C with nonuniform localities. The minimum distance of this code is d ( C ) = 3 , which attains the bound in (3). R ( C ) = 23 33 . The first message symbol in the code has 2 recovery sets: R 1 ( 1 ) = { 2 , 3 , 24 } and R 2 ( 1 ) = { 6 , 11 , 16 , 21 , 31 } , in which each repair set contains one parity symbol. When this information symbol is lost, we can recover it by XORing all symbols indexed by R 1 ( 1 ) or R 2 ( 1 ) .

4. Discussion

In this section, we compare the parameters of our constructions with those of some related works. Table 1 gives the parameters of all constructions proposed in this paper. In Table 2 and Table 3, we give the parameters of some locally repairable codes with information-symbol ( r , t ) -availability from this paper and related constructions.
First, we compare our constructions with the codes constructed in [15] with all-symbol ( r , t ) -availability. Since a ( v ^ , k ^ , 1 ) -BIBD is also a ( v ^ , k ^ , 1 ) -PBD, we can use our constructions in Section 3.1 to obtain an ( n = b ^ , k , r = r ^ 1 , t = k ^ ) LRC with all-symbol availability, where d ( C ) t + 1 and R ( C ) 1 t r + 1 . This parameter set includes the first code constructed in [15]. The construction of an ( n = ( r + 1 ) v ^ k ^ , k , r [ t , r ^ 1 ] , t = k ^ 1 ) LRC in Theorem 2 from a ( v ^ 1 , r ^ , { k ^ , k ^ 1 } , 1 ) -PBD leads to multiple choices of r for fixed t, and the parameters of this construction cannot be derived from [15]. Moreover, the codes from Section 3.1 and Section 3.2 give nonuniform locality or nonuniform availability LRCs, and we can obtain a distance-optimal ( 7 , 3 , 2 , 2 ) LRC with availabilities of 2 and 3 for different coordinates from Theorem 1.
Then, we consider locally repairable codes with information ( r , t ) -availability. Since a ( v ^ , k ^ , 1 ) -BIBD is also a ( v ^ , k ^ , 1 ) -PBD, we can use the codes in Section 3.3 and Section 3.4 to obtain three classes of distance-optimal constructions from BIBDs. These constructions contain the codes from [15]. Moreover, our codes in Theorem 4 give locally repairable codes with nonuniform availability, and our construction in Theorem 5 proposes distance-optimal IS-LRCs with nonuniform locality. The locally repairable codes in this paper contain almost all the codes from [15], except for those derived from Latin squares. Table 2 contains the corresponding properties of these constructions.
Then, we compare our construction with some known distance-optimal locally repairable codes from [6,11,18,24,25]. Locally repairable codes with ( r , δ ) -locality [6] focus on enhancing the fault tolerance ability of each repair group. In this kind of code, each code symbol has multiple choices of repair groups. However, there is no guarantee that these repair sets are disjoint. On the other hand, locally repairable codes with multiple disjoint recovery sets [11,18,24,25] support parallel reading of hot data.
Su [11] proposed a series of distance-optimal locally repairable codes with information symbol ( r , t ) -availability from ( k , b , c , r ) resolvable configurations and an ( N + t , k ) MDS code or an ( N + t 1 , k ) Gabidulin code. The first kind of construction in [11] gave ( N + k t r , k , r , t ) q IS-LRCs without all-symbol locality and a minimum distance of N k + t + 1 , where q N + t , r | k . The second kind of construction in [11] gave distance-optimal ( N + N r + ( t 1 ) k t r , k , r , t ) q M IS-LRCs with all-symbol locality, where M N + t 1 . Compared to the codes in [11], our distance-optimal constructions in Section 3.3 and Section 3.4 achieve higher code rates and require much smaller field sizes, leading to lower computational and storage overhead. Moreover, the locality of our codes in Section 3.3 and Section 3.4 is r for all code symbols, while the code in [11] with all-symbol locality has a field size that is exponential in the code length n. Compared to the codes in [11], our distance-optimal codes achieve the smallest finite field size, a higher code rate, and all-symbol locality at the expense of a lower minimum distance (minimum distance of our codes still attains the bound in (3)).
Rawat et al. [8] raised an open question: whether r | k is a necessary condition for ( n , k , r , t ) locally repairable codes to attain the bound in (3). Zhang et al. [15] and Cai et al. [24] addressed this open question by proposing distance-optimal locally repairable codes, where r k . Cai et al. presented a framework for constructing locally repairable codes with optimal distance using ( k , R , 1 ) -packings. A ( k , R , 1 ) -packing can be viewed as a generalization of a PBD that requires each pair of points can appear at most once in all blocks. Cai et al. gave a series of distance-optimal locally repairable codes from packings when r | k t . The parameters of these constructions are ( n = k + k t r , k , r , t ) , d = t + 1 , and R = r r + t . Our constructions yield similar parameters in this case. The authors also gave a series of constructions when r k t . The parameters of these constructions are listed in Table 3. Our construction in Theorem 5 yields similar parameters as these constructions when r = 3 or r = 4 , as well as in other cases. For example, in our constructions from Theorem 5, given a ( v ^ , k ^ , 1 ) -RBIBD, we can obtain an LRC with parameters ( n = v ^ 1 + t v ^ k ^ , k = v ^ 1 , r = k ^ , t < r ) . We can obtain a construction with the same r and t as the codes in rows 3 and 4 of Table 3 [24]. When we choose s = v in the construction from Theorem 5, we obtain a construction with the same r and t as the codes in [24] in the second row of Table 3. Moreover, our distance-optimal constructions in Section 3.4 have higher code rates and smaller field sizes, and all coordinates in our constructions in Section 3.4 have locality r. We also addressed the open problem proposed in [8]. Therefore, compared to the construction in [24], the codes in this paper have certain advantages.
Cai et al. [25] also proposed a construction of distance-optimal locally repairable codes with ( r , t ) -availability from linearized Reed–Solomon codes and Gabidulin codes. Their constructions can attain the bound in (2). The parameters of these constructions are listed in Table 3. The constructions in [25] give ( n = k ( 1 + r t ) , k , r , t ) q LRCs with information ( r , t ) -availability for arbitrary r and t. They give the first explicit construction of LRCs with minimum distance to attain the bound in (2). Compared to the codes in [25], our constructions in Section 3.4 have a smaller minimum distance. However, the code rate of the constructions in [25] is 1 r t + 1 , and the field size is much larger than 2. The code rate of our constructions is higher than that of the constructions in [25]. In addition, our constructions are binary and distance-optimal, so they are more suitable for deployment in actual distributed storage systems.
In [18], Tan et al. proposed two classes of optimal LRCs with message-symbol ( r , t ) -availability from linear algebra and partial geometries. Note that some partial geometries are BIBDs, so our constructions in Section 3.3 and Section 3.4 include the constructions from [18] when the chosen partial geometry is a BIBD. Their codes from linear algebra with ( n = r 2 + t r , k = r 2 , r , t ) , where t r and r is a prime, are included in our constructions from an affine plane of order r. Their constructions with parameters ( n = r t + t r t 1 , k = r t , r , t ) are covered in our codes when an ( r t , r , 1 ) -BIBD exists. The codes in [15] can also yield the parameters mentioned above. Therefore, our codes include part of the constructions from [18]. Moreover, our constructions can yield binary distance-optimal codes when r k , while the constructions in [11,18] cannot.

5. Conclusions

This paper presents a comprehensive framework for constructing locally repairable codes (LRCs) using pairwise balanced designs (PBDs). In this paper, we propose LRCs with all-symbol locality and nonuniform availability using PBDs. These constructions include previously developed codes from [15]. In some cases, this construction can achieve distance optimality under the bounds in (2) and (3). We also introduce a method for constructing LRCs with nonuniform localities and all-symbol availability.
We construct locally repairable codes with uniform locality and nonuniform availability from PBDs. When the chosen PBD is a BIBD, our construction is distance-optimal and rate-optimal for t = 2 . This construction contains the codes from [15].
Moreover, we develop distance-optimal LRCs with nonuniform localities and message ( r , t ) -availability, addressing the open question proposed in [8]. Our construction contains some codes proposed in [15,18,24], and its code rate outperforms that of the codes in [11,24,25] with a much smaller field size, demonstrating superiority over state-of-the-art constructions in terms of code rate, finite field size, and repair efficiency. Our construction can also produce codes with parameters not contained in [11,15,18,24,25].
Through detailed comparisons with existing works, including those by Su et al. [11], Cai et al. [24,25], Zhang et al. [15], and Tan et al. [18], we have shown that our constructions either subsume or outperform prior codes in terms of code rate, minimum distance, and computational complexity. Moreover, our binary implementations make these constructions highly suitable for practical deployment in distributed storage systems. Overall, the results in this paper provide a unified and generalized approach for constructing high-performance locally repairable codes, with significant theoretical and practical implications.

Author Contributions

Y.Z. and X.Z. contributed equally to surveying the literature and writing and editing the manuscript. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China (Grant No. 22478245).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Sathiamoorthy, M.; Asteris, M.; Papailiopoulos, D.; Dimakis, A.G.; Vadali, R.; Chen, S.; Borthakur, D. XORing Elephants: Novel Erasure Codes for Big Data. Proc. VLDB Endow. 2013, 6, 325–336. [Google Scholar] [CrossRef]
  2. Gopalan, P.; Huang, C.; Simitci, H.; Yekhanin, S. On the Locality of Codeword Symbols. IEEE Trans. Inform. Theory 2012, 58, 6925–6934. [Google Scholar] [CrossRef]
  3. Jin, L.; Kan, H.; Zhang, Y. Constructions of Locally Repairable Codes with Multiple Recovering Sets via Rational Function Fields. IEEE Trans. Inform. Theory 2020, 66, 202–209. [Google Scholar] [CrossRef]
  4. Prakash, N.; Kamath, G.M.; Lalitha, V.; Kumar, P.V. Optimal Linear Codes with a Local-Error-Correction Property. In Proceedings of the 2012 IEEE International Symposium on Information Theory Proceedings, Cambridge, MA, USA, 1–6 July 2012; pp. 2776–2780. [Google Scholar]
  5. Jin, L. Explicit Construction of Optimal Locally Recoverable Codes of Distance 5 and 6 via Binary Constant Weight Codes. IEEE Trans. Inform. Theory 2019, 65, 4658–4663. [Google Scholar] [CrossRef]
  6. Cai, H.; Miao, Y.; Schwartz, M.; Tang, X. A Construction of Maximally Recoverable Codes with Order-Optimal Field Size. IEEE Trans. Inf. Theory 2022, 68, 204–212. [Google Scholar] [CrossRef]
  7. Wang, A.; Zhang, Z. Repair Locality with Multiple Erasure Tolerance. IEEE Trans. Inform. Theory 2014, 60, 6979–6987. [Google Scholar] [CrossRef]
  8. Rawat, A.S.; Papailiopoulos, D.S.; Dimakis, A.G.; Vishwanath, S. Locality and Availability in Distributed Storage. IEEE Trans. Inf. Theory 2016, 62, 4481–4493. [Google Scholar] [CrossRef]
  9. Li, S.; Liu, S.; Ma, L.; Wan, Y.; Xing, C. Asymptotic Construction of Locally Repairable Codes with Multiple Recovering Sets. In Proceedings of the 2024 IEEE International Symposium on Information Theory (ISIT), Athens, Greece, 7 July 2024; pp. 2820–2825. [Google Scholar]
  10. Su, Y.-S. Design of Membership Matrices for (r, t)-Availability in Distributed Storage. In Proceedings of the 2016 IEEE International Symposium on Information Theory (ISIT), Barcelona, Spain, 10–15 July 2016; pp. 998–1002. [Google Scholar]
  11. Su, Y.-S. On the Construction of Local Parities for (r, t) -Availability in Distributed Storage. IEEE Trans. Commun. 2017, 65, 2332–2344. [Google Scholar] [CrossRef]
  12. Hao, J.; Xia, S.-T. Constructions of Optimal Binary Locally Repairable Codes with Multiple Repair Groups. IEEE Commun. Lett. 2016, 20, 1060–1063. [Google Scholar] [CrossRef]
  13. Balaji, S.B.; Kumar, P.V. Bounds on the Rate and Minimum Distance of Codes with Availability. In Proceedings of the 2017 IEEE International Symposium on Information Theory (ISIT), Aachen, Germany, 25–30 June 2017; pp. 3155–3159. [Google Scholar]
  14. Zhang, Y.; Kan, H. Locally Repairable Codes with Strict Availability from Linear Functions. Sci. China Inf. Sci. 2018, 61, 109304. [Google Scholar] [CrossRef]
  15. Zhang, Y.; Kan, H. Locally Repairable Codes from Combinatorial Designs. Sci. China Inf. Sci. 2020, 63, 122304. [Google Scholar] [CrossRef]
  16. Teng, J.; Jin, L. Constructions of Binary Locally Repairable Codes with Multiple Recovering Sets. IEEE Access 2021, 9, 92239–92245. [Google Scholar] [CrossRef]
  17. Jin, L.; Kan, H.; Luo, Y.; Zhang, W. Binary Locally Repairable Codes with Large Availability and Its Application to Private Information Retrieval. IEEE Trans. Inform. Theory 2022, 68, 2203–2210. [Google Scholar] [CrossRef]
  18. Tan, P.; Zhou, Z.; Sidorenko, V.; Parampalli, U. Two Classes of Optimal LRCs with Information (r, t)-Locality. Des. Codes Cryptogr. 2020, 88, 1741–1757. [Google Scholar] [CrossRef]
  19. Fetrat Qharabagh, M.; Ardakani, M. A Family of Binary Locally Repairable Codes for Coded Distributed Computing. IEEE Trans. Commun. 2024, 72, 50–62. [Google Scholar] [CrossRef]
  20. Prakash, N.; Lalitha, V.; Balaji, S.B.; Vijay Kumar, P. Codes With Locality for Two Erasures. IEEE Trans. Inf. Theory 2019, 65, 7771–7789. [Google Scholar] [CrossRef]
  21. Kadhe, S.; Sprintson, A. Codes with Unequal Locality. In Proceedings of the 2016 IEEE International Symposium on Information Theory (ISIT), Barcelona, Spain, 10–15 July 2016; pp. 435–439. [Google Scholar]
  22. Zeh, A.; Yaakobi, E. Bounds and Constructions of Codes with Multiple Localities. In Proceedings of the 2016 IEEE International Symposium on Information Theory (ISIT), Barcelona, Spain, 10–15 July 2016; pp. 640–644. [Google Scholar]
  23. Bhadane, S.; Thangaraj, A. Unequal Locality and Recovery for Locally Recoverable Codes with Availability. In Proceedings of the 2017 Twenty-Third National Conference on Communications (NCC), Chennai, India, 2–4 March 2017; pp. 1–6. [Google Scholar]
  24. Cai, H.; Cheng, M.; Fan, C.; Tang, X. Optimal Locally Repairable Systematic Codes Based on Packings. IEEE Trans. Commun. 2019, 67, 39–49. [Google Scholar] [CrossRef]
  25. Cai, H.; Miao, Y.; Schwartz, M.; Tang, X. On Optimal Locally Repairable Codes with Multiple Disjoint Repair Sets. IEEE Trans. Inf. Theory 2020, 66, 2402–2416. [Google Scholar] [CrossRef]
  26. Colbourn, C.J.; Dinitz, J.H. (Eds.) Handbook of Combinatorial Designs. In Discrete Mathematics and Its Applications, 2nd ed.; Chapman & Hall/Taylor & Francis: Boca Raton, FL, USA, 2007; ISBN 978-1-58488-506-1. [Google Scholar]
Table 1. Parameters of all constructions proposed in this paper.
Table 1. Parameters of all constructions proposed in this paper.
Ref.Field SizeUnderlying StructuresParametersMinimum Distance d ( C ) Rate R ( C ) Special Properties
Theorem 12 ( v ^ , K ^ , 1 ) -PBD n = b ^ , k , r = r ^ 1 , t = k ^ min d ( C ) t + 1 R ( C ) 1 k ^ avg r Nonuniform availability
Theorem 1, special case2 ( 6 , { 2 , 3 } , 1 ) -PBD 7 , 3 , 2 , 2 4, distance-optimal 3 7 Nonuniform availability
Remark 12 ( v ^ , k ^ , 1 ) -BIBD n = b ^ , k , r = r ^ 1 , t = k ^ d ( C ) t + 1 R ( C ) 1 t r + 1 None
Theorem 22 ( v ^ 1 , r ^ , { k ^ , k ^ 1 } , 1 ) -PBD from RBIBD n = ( r + 1 ) v ^ k ^ , k , r [ t , r ^ 1 ] , t = k ^ 1 d ( C ) t + 1 R ( C ) 1 ( r + 1 ) ( t + 1 ) ( v ^ 1 ) v ^ Nonuniform availability
Theorem 32PBD from ( v ^ , b ^ , r ^ , k ^ , 1 ) -RBIBD n = v ^ 1 , k , r = k ^ 1 , t r d ( C ) t + 1 R ( C ) 1 t ( n + 1 ) ( r + 1 ) n t 1 n Nonuniform locality
Remark 22 ( v ^ , b ^ , r ^ , k ^ , 1 ) -RBIBD n = v ^ , k , r = k ^ 1 , t k ^ d ( C ) t + 1 R ( C ) 1 t ( r + 1 ) t 1 n None
Theorem 42 ( v ^ , K ^ , 1 ) -PBD n = b ^ + v ^ , k = b ^ , r = r ^ , t = k ^ min d ( C ) t + 1 R ( C ) = b ^ b ^ + v ^ Nonuniform availability
Remark 32 ( v ^ , b ^ , r ^ , k ^ , 1 ) -BIBD n = v ^ + b ^ , k = b ^ , r = r ^ , t = k ^ d ( C ) = t + 1 , distance-optimal R ( C ) = r r + t , rate-optimal when t = 2 None
Remark 32 ( v ^ , b ^ , r ^ , k ^ , 1 ) -BIBD n = v ^ + b ^ , k = v ^ , r = k ^ , t = r ^ d ( C ) = t + 1 , distance-optimal R ( C ) = r r + t , rate-optimal when t = 2 None
Remark 42 ( v ^ , b ^ , r ^ , k ^ , 1 ) -RBIBD n = v ^ + t v ^ k , k = v ^ , r = k ^ , t r ^ d ( C ) = t + 1 , distance-optimal R ( C ) = r r + t , rate-optimal when t = 2 None
Theorem 52 ( v ^ , b ^ , r ^ , k ^ , 1 ) -RBIBD n = v ^ s + t v ^ k ^ , k = v ^ s , s + 1 r = k ^ , t < r s d ( C ) = t + 1 , distance-optimal R ( C ) = v ^ s v ^ s + t v ^ k ^ Nonuniform locality
Table 2. Some known locally repairable codes with information-symbol ( r , t ) -availability, part 1.
Table 2. Some known locally repairable codes with information-symbol ( r , t ) -availability, part 1.
Ref.Field SizeUnderlying StructuresParametersMinimum Distance d ( C ) Rate R ( C ) Special Properties
Theorem 42 ( v ^ , K ^ , 1 ) -PBD n = b ^ + v ^ , k = b ^ , r = r ^ , t = k ^ min d ( C ) t + 1 R ( C ) = b ^ b ^ + v ^ Nonuniform availability, all-symbol locality, r k t
Remark 32 ( v ^ , b ^ , r ^ , k ^ , 1 ) -BIBD n = v ^ + b ^ , k = b ^ , r = r ^ , t = k ^ d ( C ) = t + 1 , distance-optimal R ( C ) = r r + t , rate-optimal when t = 2 All-symbol locality, r | k t
Remark 32 ( v ^ , b ^ , r ^ , k ^ , 1 ) -BIBD n = v ^ + b ^ , k = v ^ , r = k ^ , t = r ^ d ( C ) = t + 1 , distance-optimal R ( C ) = r r + t , rate-optimal when t = 2 All-symbol locality, r | k t
[15]2 ( v ^ , b ^ , r ^ , k ^ , 1 ) -BIBD n = v ^ + b ^ , k = b ^ , r = r ^ , t = k ^ d ( C ) = t + 1 , distance-optimal R ( C ) = r r + t , rate-optimal when t = 2 All-symbol locality, r | k t
[15]2 ( v ^ , b ^ , r ^ , k ^ , 1 ) -BIBD n = v ^ + b ^ , k = v ^ , r = k ^ , t = r ^ d ( C ) = t + 1 , distance-optimal R ( C ) = r r + t , rate-optimal when t = 2 All-symbol locality, r | k t
Remark 42 ( v ^ , b ^ , r ^ , k ^ , 1 ) -RBIBD n = v ^ + t v ^ k , k = v ^ , r = k ^ , t r ^ d ( C ) = t + 1 , distance-optimal R ( C ) = r r + t , rate-optimal when t = 2 All-symbol locality, r | k t
[15]2 ( v ^ , b ^ , r ^ , k ^ , 1 ) -RBIBD n = v ^ + t v ^ k , k = v ^ , r = k ^ , t r ^ d ( C ) = t + 1 , distance-optimal R ( C ) = r r + t , rate-optimal when t = 2 All-symbol locality, r | k t
Theorem 52 ( v ^ , b ^ , r ^ , k ^ , 1 ) -RBIBD n = v ^ s + t v ^ k ^ , k = v ^ s , s + 1 r = k ^ , t < r s d ( C ) = t + 1 , distance-optimal R ( C ) = v ^ s v ^ s + t v ^ k ^ Nonuniform locality, all-symbol locality, r k t
[11] N + t ( N + t , k ) MDS code, ( k , b , c , r ) resolvable configuration ( N + k t r , k , r , t ) d ( C ) = N k + t + 1 , distance-optimal R ( C ) = k N + k t r Without all-symbol locality, r | k t
[11] q N + t 1 ( N + t 1 , k ) Gabidulin code, ( k , b , c , r ) resolvable configuration ( N + N r + ( t 1 ) k t r , k , r , t ) d ( C ) = N + N r k k r + t + 1 , distance-optimal R ( C ) = k N + N r + ( t 1 ) k t r All-symbol locality, r | k t
Table 3. Some known locally repairable codes with information-symbol ( r , t ) -availability, part 2.
Table 3. Some known locally repairable codes with information-symbol ( r , t ) -availability, part 2.
Ref.Field SizeUnderlying StructuresParametersMinimum Distance d ( C ) Rate R ( C ) Special Properties
[24]2 ( k , r , 1 ) -packing n = k + k t r , k , r , t d ( C ) = t + 1 , distance-optimal R ( C ) = r r + t , rate-optimal when t = 2 All-symbol locality, r | k t
[24] k + d 1 ( r m , r , 1 ) -packing, ( k + d 1 , k , d ) -MDS code n = k + t m t + d 1 , k = r m v , r , t d ( C ) = d , distance-optimal R ( C ) = k k + t m t + d 1 Without all-symbol locality, v [ m 1 ] , r , t [ m ] , r k t
[24] k + d 1 ( k , { p a , p a 1 } , 1 ) -packing, ( k + d 1 , k , d ) -MDS code n = k + ( k r 1 ) t + d 1 , k , r = p a , t d ( C ) = d , distance-optimal R ( C ) = k k + ( k r 1 ) t + d 1 Without all-symbol locality, p is a prime, r k t
[24] k + d 1 ( k , { r , r 1 } , 1 ) -packing, ( k + d 1 , k , d ) -MDS code n = k + ( k r 1 ) t + d 1 , k , r = t d ( C ) = d , distance-optimal R ( C ) = k k + ( k r 1 ) t + d 1 Without all-symbol locality, r = 3 , 4 , r k t
[25] q 1 k ( 1 + ( r 1 ) t ) Gabidulin code n = k ( 1 + r t ) , k , r , t d ( C ) = n k t ( k 1 ) + 1 t ( r 1 ) + 1 + 2 R ( C ) = 1 1 + r t q 1 r + 1 , all-symbol locality
[25] q 1 1 + ( r 1 ) t Linearized Reed–Solomon code n = k ( 1 + r t ) , k , r , t d ( C ) = n k t ( k 1 ) + 1 t ( r 1 ) + 1 + 2 R ( C ) = 1 1 + r t q 1 k + 1 , all-symbol locality
[18]2Linear algebra n = r 2 + t r , k = r 2 , r , t d ( C ) = t + 1 , distance-optimal R ( C ) = r r + t , rate-optimal when t = 2 r is a prime, t r , r | k
[18]2Linear algebra n = r t + t r t 1 , k = r t , r , t d ( C ) = t + 1 , distance-optimal R ( C ) = r r + t , rate-optimal when t = 2 r | k
[18]2 b ^ × v ^ incidence matrix of a partial geometry P G ( s + 1 , u + 1 ) n = v ^ + b ^ , k = b ^ , r = u + 1 , t = s + 1 d ( C ) = t + 1 , distance-optimal R ( C ) = r r + t , rate-optimal when t = 2 r | k t
[18]2Dual code of codes from P G ( s + 1 , u + 1 ) n = v ^ + b ^ , k = v ^ , r = s + 1 , t = u + 1 d ( C ) = t + 1 , distance-optimal R ( C ) = r r + t , rate-optimal when t = 2 r | k t
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zhang, Y.; Zeng, X. Construction of Binary Locally Repairable Codes with Nonuniform Locality and Availability Using Combinatorial Designs. Entropy 2025, 27, 269. https://doi.org/10.3390/e27030269

AMA Style

Zhang Y, Zeng X. Construction of Binary Locally Repairable Codes with Nonuniform Locality and Availability Using Combinatorial Designs. Entropy. 2025; 27(3):269. https://doi.org/10.3390/e27030269

Chicago/Turabian Style

Zhang, Yu, and Xiangqiong Zeng. 2025. "Construction of Binary Locally Repairable Codes with Nonuniform Locality and Availability Using Combinatorial Designs" Entropy 27, no. 3: 269. https://doi.org/10.3390/e27030269

APA Style

Zhang, Y., & Zeng, X. (2025). Construction of Binary Locally Repairable Codes with Nonuniform Locality and Availability Using Combinatorial Designs. Entropy, 27(3), 269. https://doi.org/10.3390/e27030269

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop