Optimal Fractional Repetition Codes
and Fractional Repetition Batch Codes
Abstract
Fractional repetition (FR) codes is a family of codes for distributed storage systems (DSS) that allow uncoded exact repairs with minimum repair bandwidth. In this work, we consider a bound on the maximum amount of data that can be stored using an FR code. Optimal FR codes which attain this bound are presented. The constructions of these FR codes are based on families of regular graphs, such as Turán graphs and graphs with large girth; and on combinatorial designs, such as transversal designs and generalized polygons. In addition, based on a connection between FR codes and batch codes, we propose a new family of codes for DSS, called fractional repetition batch codes, which allow uncoded efficient exact repairs and load balancing which can be performed by several users in parallel.
I Introduction
In distributed storage systems, data is stored across a network of nodes, which can unexpectedly fail. To provide reliability, data redundancy based on coding techniques is introduced in such systems. Moreover, existing erasure codes allow to minimize the storage overhead. In [4] Dimakis et al. introduced a new family of erasure codes, called regenerating codes, which allow efficient single node repairs. In particular, they presented two families of regenerating codes, called minimum storage regenerating (MSR) codes and minimum bandwidth regenerating (MBR) codes, which correspond to the two extreme points on the storagebandwidth tradeoff [4]. An regenerating code , where , , is used to store a file in nodes; each node stores symbols from , the finite field with elements, such that the stored file can be recovered by downloading the data from any set of nodes. When a single node fails, a newcomer node which substitutes the failed node contacts with a random set of other nodes and downloads symbols of each node in this set to reconstruct the failed data. This process is called a node repair, and the amount of data downloaded to repair a failed node, , is called the repair bandwidth.
In [13, 14] Rashmi et al. presented a construction for MBR codes which have the additional property of exact repair by transfer, or exact uncoded repair. In other words, the code proposed in [13, 14] allows efficient exact node repairs where no decoding is needed. Every node participating in a node repair process just passes one symbol which will be directly stored in the newcomer node. This construction is based on a concatenation of an outer MDS code with an inner repetition code based on a complete graph. El Rouayheb and Ramchandran [15] generalized the construction of [13] and defined a new family of codes for DSS which allow exact repairs by transfer for a wide range of parameters. These codes, called DRESS (Distributed Replication based Exact Simple Storage) codes [11], consist of the concatenation of an outer MDS code and the inner repetition code called fractional repetition (FR) code. However, in contrast to MBR codes, where a random set of size of available nodes is used for a node repair, the repairs with DRESS codes are table based. This usually allows to store more data compared to MBR codes.
Constructions of FR codes based on some regular graphs and combinatorial designs can be found for example in [7, 15, 9, 10]. However, the optimality of the constructed FR codes regarding the FR capacity, i.e. the maximality of the size of the stored file, was not considered.
In this work, we address the problem of constructing optimal FR codes and hence, optimal DRESS codes. Moreover, based on a connection between FR codes and combinatorial batch codes, we propose a new family of codes for DSS, called fractional repetition batch (FRB) codes, which enable uncoded repairs and load balancing that can be performed by several users in parallel.
The rest of the paper is organized as follows. In Section II we define DRESS codes and FR codes based on regular graphs and combinatorial designs. In Section III we present optimal FR codes based on Turán graphs and on graphs with large girth. In Section IV we consider optimal FR codes based on transversal designs and on generalized polygons. In Section V we define FRB codes and present some examples for their constructions. Conclusion is given in Section VI. We point out that, throughout this paper, proofs are often omitted due to space limitations. Details of all the proofs can be found in [16].
Ii Preliminaries
An FR code is a collection of subsets of , , such that

for each , ;

each symbol of belongs to exactly subsets in , where is called the repetition degree of .
A DRESS code is a code obtained by the concatenation of an outer MDS code and an inner FR code . To store a file in a DSS, f is first encoded by using the MDS code; next, the symbols of the codeword from the MDS code, which encodes the file f, are placed in the nodes defined by , as follows: node of the DSS stores symbols of , indexed by the elements of the subset . The encoding scheme for a DRESS code is shown in Fig. 1.
Each symbol of is stored in exactly nodes. It should be possible to reconstruct the stored file f of size from any set of nodes, and hence,
(1) 
Since we want to maximize the size of a file that can be stored by using a DRESS code, in the sequel we will always assume that . Note, that the same FR code can be used in different DRESS codes, with different ’s as reconstruction degrees, and different MDS codes. The file size , which is the dimension of the chosen MDS code, depends on the value of and hence in the sequel we will use to denote the size of the file. An FR code is called universally good [15] if for any the DRESS code satisfies
(2) 
where the righthand side of equation (2) is the maximum file size (called MBR capacity) that can be stored using an MBR code [4]. Note also that if an FR code is universally good then , for , [13]. In the sequel, we will consider only universally good FR codes.
An upper bound on the maximum file size of a DRESS code (), called the FR capacity and denoted in the sequel by , was presented in [15]:
(3) 
Note that for any given , the function is determined by the parameters of the inner FR code. We call an FR code optimal if a file stored by using this code is the maximum possible for the given . We call an FR code optimal if for any it is optimal.
Let be an FR code. can be described by an incidence matrix , which is an binary matrix, , whose rows indexed by the nodes and columns indexed by the symbols of the corresponding MDS codeword, such that if and only if node contains symbol . Note that every row of has ones and every column of has ones.
Let be an regular graph with vertices. We say that an FR code is based on if , where is the incidence matrix of . Such a code will be denoted by .
Let be a design with points such that each block contains points and each point is contained in blocks. We say that an FR code is based on if , where is the incidence matrix of . Such a code will be denoted by .
Iii Optimal FR Codes with Repetition Degree
In this section we consider optimal FR codes with repetition degree 2. First, we present the following useful lemma which shows a connection between the problem of finding the maximum file size of an FR code based on a graph and the edge isoperimetric problem on graphs [2].
Lemma 1.
Let be an regular graph and let be the FR code based on . We denote by the family of induced subgraphs of with vertices. Then the file size of is given by
Proof.
For each induced subgraph we define to be the set of all the edges of in the cut between and , i.e.,
Clearly, for every . Note that and hence
∎
The following lemma directly follows from Lemma 1.
Lemma 2.
Let be an regular graph with vertices, and let be the file size of the corresponding code . The graph contains a clique if and only if .
Corollary 3.
The file size of an FR code , where is a graph which does not contain a clique, is strictly larger than the MBR capacity.
One of the main advantages of an FR code is that its file size usually exceeds the MBR capacity. Hence, as a consequence of Corollary 3, we consider regular graphs which do not contain a clique for a given . In particular, we consider a family of regular graphs, called Turán graphs, which do not contain a clique of a given size and also have the smallest number of vertices [6]. Let be two integers such that divides . An Turán graph is defined as a regular complete partite graph, i.e., a graph formed by partitioning the set of vertices into parts of size and connecting each two vertices of different parts by an edge. Clearly, an Turán graph does not contain a clique of size and it is an regular graph.
The following theorem shows that FR codes obtained from Turán graphs attain the upper bound in (3) for all and hence they are optimal FR codes. The proof of this theorem follows from Lemma 1 and by Turán’s theorem [6, p. 58].
Theorem 4.
Let be an Turán graph, , , and let be an integer such that . Then the FR code based on has file size given by
(4) 
which attains the upper bound in (3).
Note that an regular complete graph is an Turán graph. Hence, the construction of MBR codes from [13, 14] can be considered as a special case of our construction of the DRESS codes with an inner FR code based on a Turán graph. Note also that an regular complete bipartite graph is a Turán graph. The following example illustrates Theorem 4 for such a graph.
Example 1.
The FR code based on and its file size for are shown in Fig. 2.
The proof of the following lemma can be easily verified from Lemma 1.
Lemma 5.
Let be an FR code. Then the file size of for any satisfies
By Lemma 1, to obtain a large value for , every induced subgraph with vertices should be as sparse as possible. Hence, for the rest of this section we consider graphs where the induced subgraphs with vertices, , will be cyclefree. These are graphs with girth at least , where the girth of a graph is the length of its shortest cycle.
Lemma 6.
Let be an regular graph with vertices and let be the file size of the corresponding FR code . The girth of is at least if and only if .
Corollary 7.
Corollary 8.
An FR code based on an regular graph with girth is optimal.
The proof of the following theorem follows from Lemma 6 and the fact that any two cycles in a graph with girth have at most common vertices.
Theorem 9.
If is a graph with girth , then the file size of an FR code based on satisfies
A cage is a regular graph with girth and minimum number of vertices. Let be the minimum number of vertices in a cage. A lower bound on , known as Moore bound [3, p. 180], is given by
Lemma 10.
The bound in (3) is not tight for if
Iv Optimal FR Codes with Repetition Degree
In this section, we consider FR codes with repetition degree . Note, that while codes with have the maximum data/storage ratio, codes with provide multiple choices for node repairs. In other words, when a node fails, it can be repaired from different subsets of available nodes.
We present generalizations of the constructions from the previous section which were based on Turán graphs and graphs with a given girth. These generalizations employ transversal designs and generalized polygons, respectively.
A transversal design of group size and block size , denoted by is a triple , where

is a set of points;

is a partition of into sets (groups), each one of size ;

is a collection of subsets of (blocks);

each block meets each group in exactly one point;

any pair of points from different groups is contained in exactly one block.
The properties of a transversal design which will be useful for our constructions are summarized in the following lemma [1].
Lemma 11.
Let be a transversal design . The number of points is given by , the number of groups is given by , the number of blocks is given by , and the number of blocks that contain a given point is equal to .
Let TD be a transversal design , , with block size and group size . Let be an FR code based on TD (see Section II). By Lemma 11, there are points in TD and hence . Note, that all the symbols stored in node correspond to the set of blocks from TD that contain the point . Since by Lemma 11 there are blocks that contain a given point, it follows that each node stores symbols.
Theorem 12.
Let , for integers such that . For an FR code based on a transversal design we have
Remark 1.
Note, that for all , the file size of the FR code is strictly larger than the MBR capacity.
Note that the incidence matrix of the transversal design is equal to the incidence matrix of the Turán graph, and hence in this case .
Example 2.
Let TD be a transversal design defined as follows: ; , where , , and ; , where , , , , , , , , , , , , , , , and .
The placement of symbols from a codeword of the corresponding MDS code of length is shown in Fig. 3.
The values of a file size for are given in the following table.

Remark 2.
Similarly to an FR code with based on a graph with girth , one can consider an FR code based on a generalized gon (generalized polygon GP [3]) for . One can prove that the file size of is identical to the file size of for given in Theorem 9. However, a generalized gon is known to exist only for . This observation also holds for a general biregular bipartite graph of girth , not only the incidence graph of a generalized polygon.
Remark 3.
Note that the problem of constructing FR codes with also can be considered in terms of bipartite expander graphs (see e.g [5]). Let be a bipartite expander and let be the FR code such that the subset , , corresponds to the th vertex in and the symbol , , corresponds to the th vertex in , and . Then calculating can be described by calculating the number of neighbours of any subset of of size . In other words, for an FR code with file size it should hold that for every of size , where denotes the set of neighbours of . Hence, to have an FR code with file size , one need to construct a expander graph, where is its expansion factor [5].
V Fractional Repetition Batch Codes
In this section we propose a new type of codes for DSS, called fractional repetition batch (FRB) codes, which enable uncoded efficient exact node repairs and load balancing which can be performed by several users in parallel. An FRB code is a combination of an FR code and an uniform combinatorial batch code.
The family of codes called batch codes was proposed in [8] for load balancing in distributed storage. A batch code stores (encoded) data symbols in system nodes in such a way that any batch of data symbols can be decoded by reading at most one symbol from each node. In a uniform combinatorial batch code, proposed in [12], each node stores a subset of data symbols and no decoding is required during retrieval of any batch of symbols. Each symbol is stored in exactly nodes and hence it is also called a replication based batch code. A uniform combinatorial batch code is denoted by CBC, where is the total storage over all the nodes. These codes were studied in [8, 12, 17].
Next, we provide a formal definition of FRB codes. This definition is based on the definitions of a DRESS code and a uniform combinatorial batch code. Let be a file of size and let be a codeword of an MDS code which encodes the data . Let be a collection of subsets of the set . A FRB code , , , represents a system of nodes with the following properties:

Every node , , stores symbols of indexed by ;

Every symbol of is stored in nodes;

From any set of nodes it is possible to reconstruct the stored file , in other words, ;

Any batch of symbols from can be retrieved by downloading at most one symbol from each node.
Note that the retrieval of any batch of symbols can be performed by different users in parallel, where each user gets a different symbol.
In the following, we present our constructions of FRB codes which are based on the uniform batch codes from [12] and [17] and on FR codes considered in Sections III and IV.
Theorem 13.

If is a complete bipartite graph with , then is a FRB code with .

If is an regular graph on vertices with girth , then is a FRB code with

Let TD be a resolvable transversal design , for a prime power . is an FRB code with , where are nonnegative integers which satisfy , .
Example 3.

Consider the code based on the resolvable transversal design (see also Example 2 for an FR code based on ). By Theorem 13, for , is a FRB code, which stores a file of size and allows for retrieval of any (coded) symbols, by reading at most one symbol from a node. In particular, when using a systematic MDS code, provides load balancing in data reconstruction.
Remark 4.
Similarly to FR codes, the problem of constructing for FRB codes can be considered in terms of bipartite expanders (see Remark 3). The construction of batch codes based on (unbalanced) expander graphs was proposed in [8]. To construct an FRB code, one need a bipartite expander with two different expansion factors, and 1, for two sides and of a graph, respectively.
Vi Conclusion
We considered the problem of constructing optimal FR codes and as a consequence, optimal DRESS codes. We presented constructions of FR codes based on Turán graphs, graphs with a given girth, transversal designs, and generalized polygons. Based on a connection between FR codes and batch codes, we proposed a new family of codes for DSS, FRB codes, which have the properties of batch codes and FR codes simultaneously. These are the first codes for DSS which allow uncoded efficient exact repairs and load balancing.
Acknowledgment
This research was supported in part by the Israeli Science Foundation (ISF), Jerusalem, Israel, under Grant no. 10/12. Natalia Silberstein was also supported in part at the Technion by a Fine Fellowship.
References
 [1] I. Anderson, Combinatorial designs and tournaments, Clarendon Press, Oxford, 1997.
 [2] S. L. Bezrukov, “Edge isoperimetric problems on graphs”, in: L. LovÃ¡sz,A. Gyarfas, G.O.H. Katona,A. Recski, L. Szekely (Eds.), Graph Theory and Comb. Biology, Bolyai Society Math. Studies, vol. 7, Budapest, 1999, pp. 157 â 197.
 [3] N. Biggs, Algebraic Graph Theory, Cambridge Univ. Press, 2nd Ed., 1993.
 [4] A. G. Dimakis, P. Godfrey, M. Wainwright, and K. Ramachandran, “Network coding for distributed storage system,” IEEE Trans. on Inform. Theory, vol. 56, no. 9, pp. 4539 – 4551, Sep. 2010.
 [5] V. Guruswami, C. Umans, and S. P. Vadhan, “Unbalanced expanders and randomness extractors from ParvareshVardy codes,” in Proc. IEEE Conf. Comput. Complex., pp. 96â108. 2007
 [6] S. Jukna, Extremal Combinatorics, SpringerVerlag, 2nd Ed., 2011.
 [7] J. C. Koo and J. T. Gill. III, “Scalable constructions of fractional repetition codes in distributed storage systems,” in Proc. 49th Annual Allerton Conf. on Comm., Control, and Computing, pp. 1366 – 1373, 2011.
 [8] Y. Ishai, E. Kushilevitz, R. Ostrovsky, and A. Sahai, “Batch codes and their applications,” in Proc. 36th annual ACM symposium on Theory of computing, vol. 36, pp. 262–271, 2004.
 [9] O. Olmez and A. Ramamoorthy, “Repairable replicationbased storage systems using resolvable designs,” in Proc. 50th Annual Allerton Conf. on Comm., Control, and Computing, pp. 1174 – 1181, 2012.
 [10] O. Olmez and A. Ramamoorthy, “Replication based storage systems with local repair,” Int. Symp. on Network Coding (NetCod), pp. 1â6, 2013.
 [11] S. Pawar, N. Noorshams, S. El Rouayheb, and K. Ramchandran, “Dress codes for the storage cloud: Simple randomized constructions,” in IEEE Int. Symp. on Inform. Theory (ISIT 2013), pp. 892 – 896, Jul. 2013.
 [12] M. B. Paterson, D. R. Stinson, and R. Wei, “Combinatorial batch codes,” Advances in Mathematics of Communications, vol. 3, pp. 13–27, 2009.
 [13] K. V. Rashmi, N. B. Shah, P. V. Kumar, and K. Ramchandran, “Explicit construction of optimal exact regenerating codes for distributed storage,” in Proc. 47th Annual Allerton Conf. on Comm., Control, and Computing, pp. 1243 – 1249, 2009.
 [14] K. V. Rashmi, N. B. Shah, P. V. Kumar, and K. Ramchandran, “Distributed storage codes with repairbytransfer and nonachievability of interior points on the storagebandwidth tradeoff,” IEEE Trans. Inf. Theory, vol. 58, pp. 1837 – 1852, Mar. 2012.
 [15] S. El Rouayheb and K. Ramchandran, “Fractional repetition codes for repair in distributed storage systems,” in Proc. 48th Annual Allerton Conf. on Comm., Control, and Computing, pp. 1510 – 1517, 2010.
 [16] N. Silberstein and T. Etzion, “Optimal Fractional Repetition Codes”, arXiv:1401.4734, Jan. 2014.
 [17] N. Silberstein and A. Gál, “Optimal combinatorial batch codes based on block designs”, accepted to Designs, Codes and Cryptography, 2014, DOI: 10.1007/s1062301400079.