Next Article in Journal
Critical Analysis of Hypothesis Tests in Federal Information Processing Standard (140-2)
Next Article in Special Issue
An Information-Theoretic View of Mixed-Delay Traffic in 5G and 6G
Previous Article in Journal
Deep Link-Prediction Based on the Local Structure of Bipartite Networks
Previous Article in Special Issue
Secure Physical Layer Network Coding versus Secure Network Coding
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Repair Rates for Multiple Descriptions on Distributed Storage †

1
Department of Electrical Engineering, University of Hawaii Manoa, Honolulu, HI 96822, USA
2
Division of Computer Convergence, Chungnam National University, 99 Daehak-ro, Yuseong-gu, Daejeon 34134, Korea
3
Department of Electrical and Computer Engineering, Seoul National University, Seoul 08826, Korea
*
Author to whom correspondence should be addressed.
This paper is an extended version of our paper published in International Symposium on Information Theory and Its Applications, ISITA2020, Kapolei, Hawai’i, USA, 24–27 October 2020, pp. 245–249, “Repair of Multiple Descriptions on Distributed Storage”; Copyright (c)2020 IEICE.
Submission received: 22 March 2022 / Revised: 22 April 2022 / Accepted: 25 April 2022 / Published: 27 April 2022
(This article belongs to the Special Issue Wireless Networks: Information Theoretic Perspectives Ⅱ)

Abstract

:
In a traditional distributed storage system, a source can be restored perfectly when a certain subset of servers is contacted. The coding is independent of the contents of the source. This paper considers instead a lossy source coding version of this problem where the more servers that are contacted, the higher the quality of the restored source. An example could be video stored on distributed storage. In information theory, this is called the multiple description problem, where the distortion depends on the number of descriptions received. The problem considered in this paper is how to restore the system operation when one of the servers fail and a new server replaces it, that is, repair. The requirement is that the distortions in the restored system should be no more than in the original system. The question is how many extra bits are needed for repair. We find an achievable rate and show that this is optimal in certain cases. One conclusion is that it is necessary to design the multiple description codes with repair in mind; just using an existing multiple description code results in unnecessary high repair rates.

1. Introduction

In distributed storage systems, data is divided into multiple segments that are then stored on separate servers. In a typical setup [1], data is divided into k segments that are stored on n servers using an ( n , k ) maximum distance separable (MDS) code. If a user is able to contact any set of k servers, the data can be reconstructed. Notice that in this setup, if the user is able to contact less than k servers, it can retrieve no information, while on the other hand, there is no advantage in being able to contact more than k servers. One could instead want the quality of the reconstructed data to depend on how many servers a user is able to contact. An example could be video: it is common that the quality of streamed video depends on the network connection. In the context of distributed storage, the quality would now be dependent on the number of servers possible to connect, which could be constrained by network connection, physical location, delay, or cost. In information theory, this is known as multiple description coding [2,3]. Originally, multiple description coding was aimed at packet transmission networks, where some packets may be lost, but it can be directly applied to the distributed storage problem. We will accordingly call the systems we consider multiple description distributed storage.
A central issue in distributed storage is how to repair the system when one or more of the servers fail or become unavailable and are replaced by new servers [1]. In traditional distributed storage, this is also solved by the MDS code: if one server fails, the repair can be done by contacting k surviving servers, reconstruct the source, and then generating a new coded segment. The problem we consider in this paper is how repair can be done for multiple description distributed storage. The paper [1] and many following papers also consider how much network traffic is required for repair. However, in this paper we will only consider the amount of additional data needed to be stored for repair to be possible. The amount of network traffic is a topic for future research.
In general, the quality of reconstruction could be dependent not only on the number of servers connected, but which servers. However, to simplify the problem, we only consider the symmetric scenario where the quality only depends on the number of servers. This is the symmetric multiple description problem considered in [4]. A multiple description coding system with repair is specified as follows: when a subset J { 1 , , n } of servers is contacted, a source X should be restored with a distortion at most D J . If one (or multiple) of the servers fails, we should be able to set up a replacement server with enough information so that the whole region D J , J { 1 , , n } is restored. We consider two scenarios:
  • There is a special (highly reliable) repair server that does not participate in the usual operation of the system, but only comes into action if another server fails. The repair server can contact all other (non-failed) servers and use their information combined with its own information to restore the failed server (collaborative repair).
  • The repair information is stored in a distributed fashion among the n servers (distributed repair).
For simplicity, in this paper we only consider failure of a single server.
A straightforward solution is to separate the source coding problem (multiple description) and the repair problem. Any existing code for multiple description can then be used, and repair can be done using minimum distance separable (MDS) erasure codes as in traditional distributed storage [1]. We will use this as a baseline. For case 1 above, the repair server can simply store the xor (sum modulo 2) of the bits on the operational servers. When one server fails, the xor together with the bits from the surviving servers can restore the failed server. Thus, if each operational server stores l R bits, the repair server also needs to store l R bits. For distributed repair, the xor can replaced with an ( n , n 1 ) erasure code. Therefore in addition to the l R bits for operation, each server needs to store l R n 1 bits for repair. It should be clear that these rates are also optimal with separation: even if the system knows in advance which server will fail, it cannot store less information. We can consider this as a separate source channel coding solution, with multiple description being source coding and the repair being channel coding. It is known that in many information theory problems, joint source–channel coding is superior to separation. This is then the question we consider here: can we find a better joint source–channel coding solution that can beat the above rates? We will see that for some cases of desired distortion, separation is in fact optimal, while in other cases, joint source–channel coding provides much better rates.
The problem of repair of multiple description has been considered in some previous papers. In [5], the authors consider a problem like 1. above, but they do not give a single letter description of rate-distortion regions. In [6], the authors consider practical codes for repairing. In the current paper we aim to provide single letter expression for achievable rate-distortion regions, and in some cases the actual rate-distortion region. This paper is an extended version of our conference paper [7] with proof of the general achievable rate and specialization to the two level case, where we can prove optimality in certain cases.

2. Problem Description

In the following, we use the term repair node for the special repair server and operational nodes to denote the other servers. We let I k = { 1 , , k } and X I k = [ X 1 , , X k ] , with the definition I 0 = and X I 0 = [ ] (e.g., H ( Y | X I 0 ) = H ( Y ) ). For variables with multiple indices, X I k , I j denotes a matrix of variables, i.e, the collection { X 11 , X 12 , , X 1 j , X 21 , , , X k 1 , X k 2 , , X k j } , and X k I j denotes a row.
We consider a symmetric multiple description problem as in [4]. We have an i.i.d. (independent identically distributed) source X that takes values in a finite alphabet X and needs to be restored in the finite alphabet X ^ ; this can be generalized to a continuous alphabet Gaussian source through usual quantization arguments [3]. Let J I n . We are given a collection of distortion measures d ˜ | J | : X × X ^ R + , and define
d | J | ( x l , x ^ l ) = 1 l i = 1 l d ˜ | J | ( x i , x ^ i )
The required maximum distortion D J is then a function of | J | and the distortion measures d | J | only.

2.1. Distributed Repair

We will first define the distributed repair problem. For a source sequence x l of length l, each node stores l R t bits. There are n encoding functions f i : X l { 1 , , 2 l R t } , 2 n 1 1 decoding functions g J : { 1 , , 2 l R t } | J | X ^ l , J I n , 1 | J | n 1 , and n repair functions h i : { 1 , , 2 l R t } n 1 { 1 , , 2 l R t } . We define the error probability of repair as
P r ( l ) = max i = 1 , , n P h i ( f I n { i } ( x l ) ) f i ( x l ) .
Here, f I n { i } ( x l ) is the length n 1 list obtained by removing the i-th component from ( f 1 ( ( x l ) , f 2 ( x l ) , , f n ( x l ) ) . We now say that an a tuple ( R t , D 1 , , D n 1 ) is achievable if there exists a sequence of ( 2 l R t , l ) codes with
m < n : lim l max J : | J | = m E [ d | J | ( x l , g J ( f J ( x l ) ) ) ] D m lim l P r ( l ) = 0
We call this exact repair. The repaired node is required to be an exact copy of the failed node, except that we allow a certain, vanishing, and error rate. Notice that the randomness in the system is purely due to the source x l . Thus, for a given sequence x l , either all failures can be repaired exactly, and if they can be repaired once, they can be repaired infinitely many times; or, some failures can never be repaired. The probability of the source sequences that are not repairable should be vanishingly small.
An alternative problem formulation, which we call functional repair, is to allow approximate repair, where the only requirement is that after repair the distortion constraint is satisfied. In that case, one would have to carefully consider repeated repair. In this paper, we will only consider exact repair for coding schemes. It should be noted that in the cases where we have tight converses (the two node case [7], Theorem 3 in some scenarios), the converses are actually for functional repair; thus, functional repair might not decrease rates.

2.2. Collaborate Repair

For collaborate repair with a dedicated repair node, each node stores l R bits and the repair node l R r bits. There are now n encoding functions f i : X l { 1 , , 2 l R } and additionally a repair encoder f r : X l { 1 , , 2 l R r } , 2 n 1 decoding functions g J : { 1 , , 2 l R t } | J | X ^ l , J I n , 1 | J | n , and n repair functions h i : { 1 , , 2 l R } n 1 × { 1 , , 2 l R r } { 1 , , 2 l R } . We define the error probability of repair as
P r ( l ) = max i = 1 , , n P h i ( f I n { i } ( x l ) , f r ( x l ) ) f i ( x l )
We now say that an a tuple ( R , R r , D 1 , , D n ) is achievable if there exists a sequence of ( 2 l R , 2 l R r , l ) codes with
m n : lim l max J : | J | = m E [ d | J | ( x l , g J ( f J ( x l ) ) ) ] D m lim l P r ( l ) = 0

3. Achievable Rate

The rate-distortion region for multiple description coding is only known in a few cases; among those are the two node Gaussian case first studied in [2], and the two level case studied in [8,9]. There are, therefore, many different achievable schemes for multiple description coding, e.g., [4,10,11,12], and we have to design repairs for each specific method. In this paper, we will consider the Puri Pradhan Ramchandran (PPR) scheme [4,13], as this is specifically aimed at the symmetric case and is well-suited for repair. It is optimal in certain cases [8,9], but not always [11].
The coding method in [4] is based on source-channel erasure codes (SCEC) from [13]. An ( n , k ) -SCEC is similar to an ( n , k ) -MDS erasure code: if any k of n packets are received, the transmitted message can be recovered with a certain distortion. However, with an ( n , k ) -SCEC if m > k packets are received, the message can be recovered with decreasing distortion with m. Using a concatenation of ( n , 1 ) , ( n , 2 ) , , ( n , n ) SCEC, [4] obtained the following result
Proposition 1
(PPR [4]). For any symmetric probability distribution p ( y I n 1 , I n , y n | x ) the lower convex closure of ( R , D 1 , , D n ) is achievable, where E [ d | J | ( X , g J ( Y I | J | J ) ] D | J | , | J | n and
R k = 1 n 1 1 k H ( Y k I k | Y I k 1 , I k ) + 1 n I ( Y n ; X | Y I n 1 I n ) 1 n H ( Y I n 1 I n , Y n | X )
A probability distribution p ( y I n 1 , I n , y n 1 | x ) is symmetric if for all 1 r i n , i I n the joint distribution of Y n 1 and all ( r 1 + r 2 + + r n 1 ) random variables where any r i are chosen from the ith layer, conditioned on X are the same.
We first notice that for collaborative repair, reconstruction from n nodes does not make sense: since we can repair the last node from n 1 nodes, there can be no gain for a user to access all n nodes. The performance is therefore specified by ( D 1 , D 2 , , D n 1 ) . As a baseline, we thus consider the standard PPR scheme where we use at most n 1 nodes for the reconstruction. Now, in layer n 1 , we just need a single common message (in standard PPR that happens at layer n). This message can be encoded using an ( n , n 1 ) MDS erasure code. We then get the following rate, which we state without proof as it is a simple modification of PPR:
Proposition 2.
For any symmetric probability distribution p ( y I n 2 , I n , y n 1 | x ) the lower convex closure of ( R , D 1 , , D n 1 ) is achievable, where E [ d | J | ( X , g J ( Y I | J | J ) ] D | J | , | J | n 1 , the following rate is achievable with n nodes and using at most ( n 1 ) nodes for reconstruction
R k = 1 n 2 1 k H ( Y k I k | Y I k 1 , I k ) + 1 n 1 I ( Y n 1 ; X | Y I n 2 I n 1 ) 1 n H ( Y I n 2 I n | X )
Notice that one should not think of this as an ‘improved’ PPR scheme; rather it is the PPR scheme adapted to the special case here, where at most n 1 nodes are used for reconstruction.
For our repair coding scheme, we amend the PPR scheme, specifically from Proposition 2. We still use an ( n , k ) -SCEC at layers k n 2 , but add a common message ( U k ) at each layer k n 2 . At layer 1, this is a true common message that is duplicated to all nodes. At layers k > 1 this is a message stored with an ( n , k ) -MDS code. Common messages were shown to be necessary to achieve optimality for the two-node case in [7]. We also use binning for repair of correlated quantizations. A system schematic for a specific case can be seen in Figure 1 below. The addition of common messages strictly decreases the rate for repair in some cases, see Section 5.
The following is the main result of the paper, an achievable repair rate; this rate can be compared to the rate in Proposition 2. As above, we call a probability distribution p ( y I n 2 , I n , u I n 2 , y n 1 | x ) symmetric if for all 1 r i n 1 , i I n 2 and all k I n 2 the joint distribution of Y n 1 , U k and all ( r 1 + r 2 + + r n 2 ) random variables where any r i are chosen from the ith layer, conditioned on X are the same.
Theorem 1
(Distributed repair). For any symmetric probability distribution p ( y I n 2 , I n , u I n 2 , y n 1 | x ) the lower convex closure of ( R + R r , D 1 , , D n 1 ) is achievable, where E [ d | J | ( X , g J ( Y I | J | J , U I | J | ) ] D | J | , | J | n 1 and the information needed to encode operational information is
R > k = 1 n 2 1 k H ( Y k I k | U I k , Y I k 1 I k ) 1 n H ( Y k I n | X , U I k , Y I k 1 I n ) + 1 n 1 I ( Y n 1 ; X | Y I n 2 I n 1 , U I n 2 ) + k = 1 n 2 1 k ( H ( U k | Y I k 1 I k , U I k 1 ) H ( U k | X , Y I k 1 I n , U I k 1 ) )
with additional information needed to encode repair information
R r > 1 n 1 k = 1 n 2 H ( Y k n | U I k , Y k I n 1 Y I k 1 I n ) 1 n H ( Y k I n | X , Y k 1 I n , U I k ) 1 n H ( Y k I n | X , Y k 1 I n , U I k ) +
with [ x ] + = max { 0 , x }
Proof. 
There is a formal proof in Appendix A—the purpose here is to outline how the coding is done and how the rate expressions are obtained, without a deep knowledge of [4].
Consider at first layer 1. We generate a codebook C u 1 by picking 2 l R u 1 elements uniformly randomly with replacement from the typical set according to the distribution p U 1 ( u 1 ) . We also generate n independent random codebooks C 1 I n drawn from the typical set according to p Y 11 ( y 11 ) with 2 l R 1 codewords. We need to be able to find a codeword in C u 1 that is jointly typical with x l with high probability, which, from standard rate distortion, is the case if
R u 1 = R u 1 > H ( U 1 ) H ( U 1 | X ) = I ( X ; U 1 )
This codeword is stored in all the nodes. We now need to be able to find n codewords from C 1 I n that are jointly typical with x l and the chosen codeword u 1 l C u 1 . There are about 2 n l H ( Y 11 ) (marginally) typical sequences, and about 2 l H ( Y 11 , , Y 1 n | U 1 , X ) that are jointly typical with a given x l and u 1 l (see, e.g., [14] (Section 15.2)); the probability that a given codeword combination in C 1 I n is jointly typical, therefore it is about 2 l ( H ( Y 11 , , Y 1 n | U 1 , X ) n H ( Y 11 ) ) . The probability that no codeword is jointly typical then is about
1 2 l ( H ( Y 11 , , Y 1 n | U 1 , X ) n H ( Y 11 ) ) 2 n l R 1 exp 2 l ( n R 1 ( n H ( Y 11 ) H ( Y 11 , , Y 1 n | U 1 , X ) ) )
The inequality is standard in rate distortion, see [3,14]. Thus, if
n R 1 > n H ( Y 11 ) H ( Y 11 , , Y 1 n | U 1 , X )
there is a high probability that at least one of the 2 n l R 1 codeword combinations is jointly typical.
The codewords in C 1 j are randomly binned into 2 l R 1 bins. At the time of decoding, the common codeword u 1 l C u 1 is available as well as the bin number i for the codeword y i j l C 1 j . The decoder looks for a codeword in bin i that is typical with u 1 l . There is always one, the actual codeword, but if there is more than one, the decoding results in error. The probability that a random codeword in C 1 j is jointly typical with u 1 l is about 2 l ( H ( Y 11 | U 1 ) H ( Y 11 ) ) as above, while there are about 2 l ( R 1 R 1 ) codewords in each bin. By the union bound, the probability that there is at least one random codeword in the bin jointly typical is approximately upper bounded by 2 l ( R 1 R 1 ) 2 l ( H ( Y 11 ) H ( Y 11 | U 1 ) ) . Thus, if
R 1 R 1 < H ( Y 11 ) H ( Y 11 | U 1 )
there is only one such codeword with high probability. Combining (3) and (4) we get
R 1 > H ( Y 11 | U 1 ) 1 n H ( Y i 1 , , Y i n | U 1 , X )
At layer k < n 1 we similarly generate a random codebook C u k with 2 l R u k typical elements according to the marginal distribution p U k ( u k ) and n independent random codebooks C k I n according to the distribution p Y k 1 ( y k 1 ) with 2 l R k codewords. We need to be able to find a codeword in C u k that is jointly typical with x l and all the codewords chosen in the previous layers. This is possible if
R u k > H ( U k ) H ( U k | X , Y I k 1 I n , U I k 1 )
with the same argument as for (3). We also need to be able to find an n-tuple of codewords from C k I n that are jointly typical with all prior codewords and x l , which is possible with high probability if (again as in (3))
n R k > n H ( Y k 1 ) H ( Y k I n | X , Y k 1 I n , U I k )
For C u k , we generate n independent binning partitions each with 2 l R u k elements. The bin number in the i-th partition is stored in the i-th node. When the decoder has access to k nodes, say nodes 1 , , k it needs to be able to be able to find a unique codeword in the k bins jointly typical with codewords from previous layers. The probability that a random selected codeword is jointly typical is about 2 l ( H ( U k | Y I k 1 I k , U I k 1 ) H ( U k ) ) , as above. There are about 2 l R u k 2 l k R u k in each combined bin. Therefore, if
k R u k > R u k + H ( U k | Y I k 1 I k , U I k 1 ) H ( U k )
or
R u k > 1 k ( H ( U k | Y I k 1 I k , U I k 1 ) H ( U k | X , Y I k 1 I n , U I k 1 ) )
with high probability there is only one jointly typical codeword in the combined bin. It also needs to find a single codeword in the k bins for C k I k s that are jointly typical with ( U I k , Y I k 1 I k ) . The probability that a random codeword is jointly typical is about 2 l ( H ( Y k I k | U I k , Y I k 1 I k ) k H ( Y k 1 ) ) , while the number of codewords in the k joint bins is about 2 l k R k 2 l k R k . With high probability there is only one such if
k ( R k R k ) < k H ( Y k 1 ) H ( Y k I k | U I k , Y I k 1 I k )
or
R k > 1 k H ( Y k I k | U I k , Y I k 1 I k ) 1 n H ( Y k I n | X , U I k , Y I k 1 I n )
(as in [13] this can be repeated for any collection of k nodes).
At layer n 1 only a single codebook is generated, and this is binned into n independent partitions. Upon receipt, in analogy with (5), this can be found uniquely with high probability if
R n 1 > 1 n 1 H ( Y n 1 | Y I n 2 I n 1 , U I n 2 ) 1 n 1 H ( Y n 1 | X , Y I n 2 I n , U I n 2 )
For repair, the joint 2 n l R k codewords in C k 1 × × C k n at layer k < n 1 are binned into 2 l R r k bins. The single bin number of the n chosen codewords is encoded with an ( n , n 1 ) MDS erasure code.
Now, suppose node n is lost, and needs to be recovered. The repair node works from the bottom up. So, suppose the previous k 1 layers have been recovered, that is, y I k 1 I b l , u I k 1 l are known without error. First u k l is recovered, which can be done since n 1 k nodes are used. It can also decode the codewords in C k I n 1 . It restores the bin number of the repair codeword from the erasure code. There are approximately 2 l ( n R k R r k ) codewords in the bin, but since it knows the codewords in C k I n 1 , there are only about 2 l ( R k R r k ) valid ones. It searches in the bin for valid codewords jointly typical with y k I n 1 l , y I k 1 I n l , u I k l . With high probability, there is only one such if
R k R r k < H ( Y k n ) H ( Y k n | U I k , Y k I n 1 Y I k 1 I n )
(The right hand side could be negative. This means that the lost codeword can be recovered from the surviving ones without extra repair information. Then we just put R r k = 0 .) Then
R r k > H ( Y k n | U I k , Y k I n 1 Y I k 1 I n ) 1 n H ( Y k I n | X , Y k 1 I n , U I k )
There is at least one codeword in the bin, namely the correct one. Thus, if there is no error (more than one codeword), the repair is exact, as required from the exact repairability condition in Section 2. □
The above result can easily be adapted to the case of a repair node that collaborates with the operational nodes. There are only two differences:
  • The repair node can restore operation of the full n node distortion region. Therefore, the terminal single common codeword is not at layer n 1 , but at layer n. At the same time, the repair node now has to store repair information for this last codeword.
  • For distributed repair, distributions are chosen to minimize R + R r . For collaborative repair, distributions are chosen to minimize R, and R r is then as given for those distributions.
With this in mind, we get
Theorem 2
(Collaborative repair). For any symmetric probability distribution p ( y I n 1 , I n , u I n 1 , y n | x ) the lower convex closure of ( R , D 1 , , D n ) is achievable, where E [ d | J | ( X , g J ( Y I | J | J , U I | J | ) ] D | J | , | J | n and
R > k = 1 n 1 1 k H ( Y k I k | U I k , Y I k 1 I k ) 1 n H ( Y k I n | X , U I k , Y I k 1 I n ) + 1 n I ( Y n ; X | Y I n 1 I n , U I n 1 ) + k = 1 n 1 1 k ( H ( U k | Y I k 1 I k , U I k 1 ) H ( U k | X , Y I k 1 I n , U I k 1 ) )
The additional information the repair node has to store is
R r > k = 1 n 1 H ( Y k n | U I k , Y k I n 1 Y I k 1 I n ) 1 n H ( Y k I n | X , Y k 1 I n , U I k ) 1 n H ( Y k I n | X , Y k 1 I n , U I k ) + + 1 n H ( Y n | Y I n 1 I n , U I n 1 ) 1 n H ( Y n | Y I n 1 I n , U I n 1 , X )
The proof is nearly identical to the proof of Theorem 1, so it will be omitted.

4. The Two Level Case

In [9], the authors considered the situation when there were only two cases of node access: Either we have access to all n nodes, or we have access to a given number k < n nodes; there are two levels of distortion: ( D k , D n ) . Importantly, they were able to derive the exact capacity region for this case for Gaussian sources, one of the few cases when this known except for the original EC case [2]. This makes it an interesting case to consider for repair: at least we can upper bound the number of bits needed for repair by the achievable rate in Section 3. The paper [9] considered the vector Gaussian case, but we restrict ourselves to the scalar Gaussian case.
To fit into the framework of [9], we need to consider the case when there is a repair node, Theorem 2. In that case, the scheme is as shown on Figure 1. The U k represents a common codeword that is stored jointly on the operational nodes with an ( n , k ) MDS. If one server fails, this can be restored without additional information from the repair as k n 1 . Y k 1 , , Y k L represent individual codewords using SCEC (source-channel erasure code) codes from [4,13]; here, the repair is accomplished using correlation and a bin index, similar to the two node case. Finally, Y n represents resolution information, which can be repaired due to the ( n + 1 , n ) MDS code.
The explicit rate constraints from Theorem 2 are
R > 1 k H ( Y k I k | U k ) + 1 n H ( Y n | Y k I n , U k ) 1 n H ( Y k I n , Y n | X , U k ) + 1 k ( H ( U k ) H ( U k | X ) )
with
R r > H ( Y k n | U k , Y k I n 1 ) 1 n H ( Y k I n | X , U k ) + + 1 n H ( Y n | Y k I n , U k ) 1 n H ( Y n | Y k I n , U k , X )
We consider an iid Gaussian source with x i N ( 0 , 1 ) with a quadratic distortion function: d ˜ | J | ( x i , x ^ i ) = ( x i x ^ i ) 2 . For this situation, we can calculate the achievable repair rate explicitly. We recall that the problem setup is that R is fixed to the optimum rate from [9]. We then obtain:
Theorem 3.
In the Gaussian two level case, we have the following bounds on the repair rate:
1. 
For k ( D k 1 1 ) 1 n ( D n 1 1 ) 1 0 a common message is used and achieves
R r 1 2 log D k ( n k ) D k ( n k 1 ) + D n
For k = n 1 the upper bound is tight.
2. 
For 0 < k ( D k 1 1 ) 1 n ( D n 1 1 ) 1 n k no common message is used and
R r 1 2 log ( D k 1 ) n ( n k ) k ( D k D n ) ( D k 1 ) D n ( k n ) 1 / n k ( D k n + D n + n 1 ) + ( D k 1 ) ( n 1 ) n
For k = n 1 the upper bound is tight.
3. 
For k ( D k 1 1 ) 1 n ( D n 1 1 ) 1 > n k no common message is used and the exact repair rate is
R r = R = 1 2 n log 1 D n
for all k and n.
We will discuss some implications of this result. The converse is provided by the bound (A8) ( n 1 ) R + R r 1 2 log 1 D n , which is simply the requirement that the repair node together with the surviving nodes should be able to restore the source with distortion D n . This is clearly also a converse for functional repair, which could indicate that relaxing to functional repair cannot decrease rates. For k = n 1 , the theorem provides the exact repair rate; without using common messages, we could not have achieved the bound. We can compare with separate repair and multiple description coding, as mentioned in the introduction. For case 3, the theorem separation is optimal, but for the other cases R r < R . For example, for n = 10 , k = 5 , D k = 0.5 , D n = 0.48 , we get R = 0.06 , R r = 0.02 for case 1.

5. Example Gaussian Case

Figure 2 shows typical numerical results. All curves are for two levels of constraints, ( D 1 , D 2 ) , but variable number of nodes. First, from the bottom, we have the curve for the optimum region for the two node problem according to EC [2,3]. Notice that this is achieved without any refinement information, using only correlation between the base layer random variables; refinement information is only required for D 1 > 1 2 and D 2 < 2 D 1 1 . Second, we have the curves for the three node problem, but where we use at most two nodes for reconstruction, either using [4] (Section V) directly (ignoring the D 3 constraint), or using Theorem 1 without repair. It can be noticed that using Proposition 2 gives a slight improvement; this is not due to the common message, but due to the fact that PPR uses n 1 codewords in the last layer, while the modified PPR uses only one. For the 4 node case, we use (4,1)-SCEC and (4,2)-SCEC successively, as well as (4,1)-MDS common message and (4,2)-MDS common message. Therefore, we have 2 variables U 1 and U 2 for common messages, and Y 1 i and Y 2 i for SCEC, where i = 1, 2, 3, 4. As a result, it is noted that the overall rate of the 4 node system improves over that of the 3 node system, whereas the overall rate of the 2 node system improves over that of the 3 node system where common message and SCEC were used only once. We see that a common message gives a clear improvement.

6. Conclusions

The paper has derived achievable rates for repair of multiple description distributed storage, which in some cases is optimal. Our solution shows that joint repair and multiple description coding beats separate coding in many cases. It also shows that it is sub-optimal for repair to just take a standard multiple description code and add repair information. Rather, the multiple description code has to be designed with repair in mind. In this paper, we do this by adding common messages.
This paper is only a first step in solving repair of multiple description distributed storage. For one thing, we have assumed that the repair bandwidth is unlimited. When the required repair bandwidth is also of concern as in [1], an entirely new set of constraints comes into play. We will consider this in a later paper.

Author Contributions

Conceptualization, A.H.-M. and J.L.; methodology, A.H.-M. and J.L.; software, H.Y. and M.K.; validation, H.Y. and M.K.; formal analysis, A.H.-M.; resources, J.L.; writing—original draft preparation, A.H.-M.; writing—review and editing, A.H.-M. and J.L.; visualization, H.Y. and M.K.; supervision, J.L.; project administration, A.H.-M.; funding acquisition, A.H.-M. All authors have read and agreed to the published version of the manuscript.

Funding

The research was funded in part by the NSF grant CCF-1908957.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

Abbreviations

The following abbreviations are used in this manuscript:
MDSMaximum distance separable (code)
ECEl-Gamal Cover (coding scheme)
ZBZhang-Berger (coding scheme)
PPRPuri Pradhan Ramchandran (coding scheme)
SCECSource-channel erasure code

Appendix A. Proof of Theorem 1

Contrary to the proof outline, which is intended to stand by itself, the formal proof is a modification of the proof of Theorem 2 in [4], and reading it requires a good familiarity with [4]. We will not repeat the proof in [4], but only the new elements. The proof in this paper adds common messages, which require a separate codebook generation, and an analysis of additional error events. It also adds repair codebooks, and an analysis of repair error.
We let T ϵ l ( X ) denote the strongly ϵ typical set for X.
The coding scheme for repair uses MDS codes in several places. These can be put in the binning framework of PPR [13]. However, it is easier to think of them as pure channel codes. We can state this as follows:
Remark A1.
A message M { 1 , , 2 l R } is stored on n nodes, of which at least arbitrary k is accessed for decoding. With l R > 1 k l R bits on each node, decoding is possible with error P ( E ) 0 as l .

Appendix A.1. Codebook Generation

The codebooks C I n 2 I n are generated and binned exactly as in [4]. The difference from [4] is that there is no n-th layer, and that at layer n 1 there is only one codebook C n 1 . The codebook C n 1 of size 2 l R n 1 is generated like C n in [4], but then stored on the nodes with an ( n , n 1 ) MDS code.
We also generate n 2 common codebooks C u I n 2 by drawing 2 l R u k codewords u k ( l ) ( 1 ) , , u k ( l ) ( 2 l R u k ) independently with replacement over the set T ϵ l ( U k ) according to a uniform distribution. The indices for C u k , k = 2 , , , n 2 are next binned. Let ξ u k = 2 l ( R u k R u k + γ u k ) for some γ k > 0 and make 2 l R u k bins. For each bin, select ξ u k numbers from the set { 1 , , 2 l R u k } , uniformly and with replacement. They are finally coded with an ( n , k ) MDS erasure code.
We finally generate ( n 1 ) repair codebooks through binning. First, if
0 > H ( Y k n | U I k , Y k I n 1 Y I k 1 I n ) 1 n H ( Y k I n | X , Y k 1 I n , U I k )
it turns out, as will be seen later, that the lost codeword can be recovered from the remaining ones with high probability. In that case, we set R r k = 0 and store no extra repair information. For consistency, we think of there being one bin at layer k containing all codewords. Otherwise, we let ξ r k = 2 l ( n R k R r k + γ r k ) for some γ r k > 0 and make 2 l R r k bins. For each bin, select ξ r k vectors from the set { 1 , , 2 l R k } n , uniformly and with replacement. The bin indices are further coded with an ( n , n 1 ) MDS erasure code.

Appendix A.2. Encoding

Given a source codeword x ( l ) X l , we find codewords so that
x ( l ) , u I n 2 ( l ) ( V I n 2 ) , y I n 2 I n ( l ) . ( Q I n 2 I m ) , y n 1 ( l ) ( Q n 1 )
are jointly typical. The binning of Q I n 2 I m and Q n 1 are done exactly as in [4] to obtain bin indices B I n 2 I n , B n 1 . The bin index B n 1 is further coded with the ( n , n 1 ) MDS code. For V k , we find the smallest bin index B u k that contains V k (if V k is in no bin, B u k = 0 ), and this is further coded with the ( n , k ) MDS code.
For repair, for those k I n 1 where repair information is needed, we find the smallest bin index W k so that Q k I n is in the corresponding bin; if no bin contains W k , we put W k = 0 . These are then coded with the ( n , n 1 ) MDS code.

Appendix A.3. Decoding

We assume node 1 , 2 , , j are available. The bin indices B u I j are decoded from the MDS code, where j = min { j , n 2 } . The decoding now is similar to [4], except that there is also a common codeword. Consider decoding at layer k { 2 , , j } . First, we find an index V k in bin B u k so that
y I k 1 I j ( l ) , u k ( l ) ( V k ) , u I k 1 ( l ) T ϵ l Y I k 1 I j , U I k
Next, for any size k subset S I j , the decoder looks in bins B k S for codewords y k S ( l ) so that
y k S ( l ) , y I k 1 I j ( l ) , u I k ( l ) T ϵ l Y k I k , Y I k 1 I j , U I k
If j = n 1 , B n 1 is first recovered from the MDS code. Then, the above procedure is repeated (there is no U n 1 ).
The reconstructions of x ^ ( l ) are standard as in [4].

Appendix A.4. Repair

Without loss of generality and to simplify notation, we can assume that node n fails. The repair is done layer by layer. At layer 1, we copy V 1 from any node to the replacement node n. Next, from the ( n 1 ) surviving nodes we decode the repair bin index W 1 from the MDS code; if there is no extra repair information, we put W 1 = 1 . We know Q 1 I n 1 from the surviving nodes. In bin W 1 , we look for an index Q 1 n so that the corresponding codeword ( y ( l ) . ( Q 1 I n ) , u 1 ( l ) ( V 1 ) ) T ϵ l ( Y 1 I n , U 1 ) ; if there is more than one, there is a repair error. We then store the recovered Q 1 n in the replacement node n.
The following layers proceed in almost the same way. However, now to recover the common message V k we arbitrarily choose k of the surviving nodes and decode V k just as with usual operation. The decoded V k is then encoded with the exact same MDS code and we store the corresponding codeword on the replacement node n. We next find an index Q k n in bin W k so that ( y I k I n ( l ) . ( Q I k I n ) , u I k ( l ) ( V I k ) ) T ϵ l ( Y I k I n , U I k ) .
On the last layer, we simply decode Q n 1 from the surviving nodes as usual, and then we re-encode with the same MDS code, and store the recovered bin index on the new node n.
We notice that this repair is exact: the information on the restored node is exactly the same as on the failed node, except if a repair error happens.

Appendix A.5. Analysis of Decoding Error

We have some slightly modified error events compared to [4] and some additional ones. We find it necessary to write these down explicitly
  • E 0 : x ( l ) T ϵ l ( X ) .
  • E 1 : There exists no indices so that
    x ( l ) , u I n 2 ( l ) ( V I n 2 ) , y I n 2 I n ( l ) . ( Q I n 2 I m ) , y n 1 ( l ) ( Q n 1 ) T ϵ l ( X , U I n 2 , Y I n 2 I n , Y n 1 )
  • E 2 : Not all the indices ( B 2 I n , , B ( n 2 ) I n , B n 1 ) are greater than zero.
  • E 3 : For some subset S I n with | S | = k { 2 , , n 2 } there exists some other Q k S in bins B k S so that (We use a slightly different notation for E 3 compared to [4], which we think is clearer.
    y k S ( l ) ( Q k S ) , y I k 1 I j ( l ) , u I k ( l ) T ϵ l Y k I k , Y I k 1 I k , U I k
  • E 4 : Not all the indices B u k are greater than zero.
  • E 5 : For some 2 k n 2 there exist another index V k V k in bin B u k so that
    y I k 1 I j ( l ) , u k ( l ) ( V k ) , u I k 1 ( l ) T ϵ l Y I k 1 I k , U I k
  • E 6 : There is a decoding error in the ( n , k ) MDS erasure code for B u k .
  • E 7 : There is a decoding error in the ( n , n 1 ) MDS erasure code for B n 1 .
First by Remark A1, P ( E 6 ) , P ( E 7 ) 0 as long as the rates before the MDS is scaled appropriately.
As in [4] we have P ( E 0 ) 0 as l . For E 1 as in [4] we define E 1 i as an encoding error on layer i given that the previous layers have been encoded correctly and in addition, here, that u i ( l ) has been encoded correctly. Then, as in [4], we find that P ( E 1 i ) 0 if
n R 1 > n H ( Y 11 ) H ( Y 1 I n | X , U 1 ) n R i > n H ( Y i 1 ) H ( Y i I n | X , Y I i 1 I n , U I i 1 ) n R n 1 > I ( Y n 1 ; X , Y I n 2 I n U I n 2 )
with the difference being the addition of the U variables. Similarly, we can define E 1 i u as an encoding error of u i ( l ) given that the previous layers have been encoded correctly, and we similarly have that P ( E 1 i u ) 0 if
R u 1 > H ( U 1 ) H ( U 1 | X ) R u i > H ( U i ) H ( U i | X , Y I i 1 I n , U I i 1 )
The proof that P ( E 2 ) 0 is unchanged from [4], and the proof that P ( E 4 ) 0 is similar.
The proof that P ( E 3 ) 0 is similar to [4], except that at the time of decoding at layer k the decoder has access to u I k ( l ) . The relevant probability of decoding error at layer k is therefore P ( E 3 k | E 3 I k 1 c , E 2 c , E 4 c , E 5 I k c , E 6 c , E 7 c ) , and since we search for codewords in T ϵ l Y k I k , Y I k 1 I j , U I k , the condition for this error probability converging to zero is
R k > R k H ( Y k 1 ) + 1 k H ( Y k I k | U I k , Y I k 1 I k )
instead of [4] (A17).
To prove that P ( E 5 ) 0 , we let E 5 k be the decoding error on layer k, and then bound P 5 k = P ( E 5 k | E 3 I k 1 c , E 2 c , E 4 c , E 5 I k 1 c , E 6 c , E 7 c ) . If we pick a random codeword u k ( l ) T ϵ l ( U k ) , the probability that this is jointly typical, i.e., the event (A2), is
P 2 l ( I ( U k ; Y I k 1 U I k 1 ) δ ( ϵ ) )
There are ξ u k = 2 l ( R u k R u k + γ u k ) elements in each bin, and therefore,
P 5 k ξ u k P
if we let γ u k > δ ( ϵ ) , we have P 5 k 0 if
R u k R u k < I ( U k ; Y I k 1 U I k 1 )
Together with (A4), this gives (5).

Appendix A.6. Analysis of Repair Error

If E 4 E 7 , from above happen, there is also a repair error. Notice that at time of repair, we have access to n 1 nodes, and we can therefore use decoding for n 1 nodes, and in that case we have proven that i = 4 7 P ( E i ) 0 as l . We have the following additional repair error events:
  • E r 1 : Some W k = 0 for k I n 2 .
  • E r 2 : For k I n 2 , there exists another bin index Q k n in bin W k so that
    ( y k I n ( l ) ( Q k I n ) , y I k 1 I n ( l ) . ( Q I k 1 I n ) , u I k ( l ) ( V I k ) ) T ϵ l ( Y I k I n , U I k )
  • E r 3 : For k I n 2 , there is a decoding error in the ( n , n 1 ) MDS erasure code for W k .

Appendix A.6.1. Bounding Er1

In total, for all bins, we pick N = 2 l R r k ξ r k = 2 l ( n R k + γ r k ) elements with replacement from a set of size 2 n l R r k . The probability that a particular element was never picked is then P ( E r 1 ) = 1 2 n l R r k N and
log P ( E r 1 ) = N log 1 2 n l R r k N 2 n l R r k = 2 l γ r k as l

Appendix A.6.2. Bounding Er2

First, we will argue that if (A1) is satisfied, we can predict y k n ( l ) with probability approaching one. We can state this as follows: if we pick a random y k n ( l ) T ϵ l ( Y k n ) , what is the probability P that
( y k n ( l ) , y k I n 1 ( l ) ( Q k I n 1 ) , y I k 1 I n ( l ) . ( Q I k 1 I n ) , u I k ( l ) ( V I k ) ) T ϵ l ( Y I k I n , U I k )
This is actually a standard channel coding problem, so we get
P 2 l ( I ( Y k n ; Y k I n 1 , Y i I n 1 , U I k ) δ ( ϵ ) )
Since the codebook C u k has 2 l R k elements, we then have
P ( E r 2 k ) 2 l R k P
Thus, P ( E r 2 k ) 0 as l if
R k < H ( Y k n ) H ( Y k n | Y k I n 1 , Y i I n 1 , U I k ) δ ( ϵ )
Now in consideration of (A5) there is no gain from making R k larger than needed. Thus, R k is chosen arbitrarily close to the limit given by (A3), and we therefore have P ( E r 2 k ) 0 if
H ( Y k 1 ) 1 n H ( Y k I n | X , Y I k 1 I n , U I k 1 ) < H ( Y k n ) H ( Y k n | Y k I n 1 , Y i I n 1 , U I k ) δ ( ϵ )
which is (A1).
Now, turn to the case when (A1) is not satisfied. We look for vectors ( Q k 1 , Q k 2 , , Q k n ) { 1 , , 2 l R k } n that
  • Are in the bin indicated by W k .
  • Has Q k i = Q k i , i n 1 .
  • Are jointly typical, i.e., satisfy (A6).
For condition 3, (A7) is still valid. Each bin contains ξ r k = 2 l ( n R k R r k + γ r k ) vectors. Each of these has probability P 2 = 2 l ( n 1 ) R l k of satisfying conditions 2. Therefore,
P ( E r 2 k ) ξ r k P 2 P = 2 l ( R k R r k + γ r k ) P
if we choose γ r k > δ ( ϵ ) we have P ( E r 2 k ) 0 as l if
R k R r k < H ( Y k n ) H ( Y k n | Y k I n 1 , Y i I n 1 , U I k )
Which together with (A3) and the argument above leads to (6).

Appendix B. Proof of Theorem 3

We use the following simple converse: when one node fails and the remaining n 1 nodes collaborates with the repair node, they have to be able to restore X with distortion D n . Therefore,
( n 1 ) R + R r 1 2 log 1 D n
While the calculations in the proof are in principle straightforward, we include some detail to make it simpler for readers to further develop the results. The three different cases in the Theorem are as in [9] (Section VI.A). We put
Y k I n = X + Q k U k = X + Q u Y n = X + Q n
with Q zero-mean Gaussian, E [ Q u 2 ] = σ u 2 , E [ Q k i 2 ] = σ k 2 , E [ Q n 2 ] = σ n 2 , E [ Q k i Q k j ] = ρ σ k 2 for i j , and all other noise variables uncorrelated. Let
R k = ( 1 ρ ) I + ρ 1 1 T R k 1 = 1 1 ρ I ρ ( 1 ρ ) 1 + ( k 1 ) ρ 1 1 T
Here, 1 is a column vector of all 1s, so 1 1 T is a matrix of all ones.
We first calculate the distortions,
D k = σ u 2 0 0 σ k 2 R k D k = 1 + 1 T D k 1 1 1   = 1 + σ u 2 + σ k 2 1 1 ρ k ρ k 2 ( 1 ρ ) 1 + ( k 1 ) ρ 1
= 1 + σ u 2 + k σ k 2 1 + ( k 1 ) ρ 1
  = ( 1 + ( k 1 ) ρ ) σ k 2 σ u 2 ( 1 + ( k 1 ) ρ ) σ k 2 σ u 2 + ( 1 + ( k 1 ) ρ ) σ k 2 + k σ u 2
Q 2 = σ n 2 0 0 0 σ u 2 0 0 0 σ k 2 R n D n = 1 + 1 T Q 2 1 1 1   = 1 + σ n 2 + σ u 2 + n σ k 2 1 + ( n 1 ) ρ 1
The D k distortion constraint is always satisfied with equality, and therefore
σ k 2 = k D k σ u 2 ( 1 + ( k 1 ) ρ ) ( σ u 2 D k σ u 2 D k )
In general, we can write
h ( X | Y ) = 1 2 log ( 2 π e ) n det K X | Y = 1 2 log ( 2 π e ) n det K XX K YX T K YY 1 K YX
So we just need to the various conditional covariances
K Y k I k | U k = 1 1 T + σ k 2 R k 1 1 + σ u 1 2 1 1 T = σ k 2 R k + σ u 1 2 1 + σ u 1 2 1 1 T K Y k I n , U k = 1 1 T + σ u 2 0 0 σ k 2 R n K Y k I n , U k 1 = σ u 2 0 0 σ k 2 R n 1 σ u 2 0 0 σ k 2 R n 1 1 1 T σ u 2 0 0 σ k 2 R n 1 1 + 1 T σ u 2 0 0 σ k 2 R n 1 1 K Y n | Y k I n U k = 1 + σ n 2 1 T K Y k I n , U k 1 1 = 1 + σ n 2 1 + ( n 1 ) ρ σ k 2 + n σ u 2 1 + ( n 1 ) ρ σ k 2 σ u 2 + 1 + n σ u 2 K Y k I n | X U = K Q k = σ k 2 R n K Y n | X U k = σ n 2
We need
det K Y k I k | U k = det σ k 2 R k + σ u 2 1 + σ u 2 1 1 T = 1 σ k 2 σ u 2 1 + σ u 2 1 T R k 1 1 det σ k 2 R k = 1 + σ u 2 1 + σ u 2 k σ k 2 1 + ( k 1 ) ρ σ k 2 k 1 + ρ 1 ρ 1 T I 1 det ( 1 ρ ) I = 1 + σ u 2 1 + σ u 2 k σ k 2 1 + ( k 1 ) ρ ( 1 ρ ) σ k 2 k 1 + k ρ 1 ρ det K Y k I n | X U k = det σ k 2 R n = ( 1 ρ ) σ k 2 n 1 + n ρ 1 ρ
Then we get
R = 1 2 k log 1 1 1 + σ u 1 2 k σ k 2 1 + ( k 1 ) ρ ( 1 ρ ) σ k 2 k 1 + k ρ 1 ρ + 1 2 n log 1 σ n 2 1 + σ n 2 1 + ( n 1 ) ρ σ k 2 + n σ u 2 1 + ( n 1 ) ρ σ k 2 σ u 2 + 1 + n σ u 2 1 2 n log ( 1 ρ ) σ k 2 n 1 + n ρ 1 ρ + 1 2 k log 1 + 1 σ u 2
For repair we need
K U k Y k I n 1 = 1 1 T + σ u 2 0 0 σ k 2 R n 1 K U k Y k I n 1 1 = σ u 2 0 0 σ k 2 R n 1 1 σ u 2 0 0 σ k 2 R n 1 1 1 1 T σ u 2 0 0 σ k 2 R n 1 1 1 + 1 T σ u 2 0 0 σ k 2 R n 1 1 1 K Y k n , U k Y k I n 1 = 1 1 + ρ 1 σ k 2 1 T K Y k I n | X , U k = σ k 2 R n K Y k n | U k Y k I n 1 = 1 + σ k 2 σ u 2 + ( n 1 ) σ k 2 1 + ( n 2 ) ρ 1 + ρ 1 σ k 2 2 1 + σ u 2 + ( n 1 ) σ k 2 1 + ( n 2 ) ρ = 1 + σ k 2 1 + ( n 2 ) ρ σ k 2 + ( n 1 ) σ u 2 1 + ρ 1 σ k 2 2 1 + ( n 2 ) ρ σ k 2 σ u 2 + 1 + ( n 1 ) σ u 2
From which
R r = 1 2 log 1 + σ k 2 1 + ( n 2 ) ρ σ k 2 + ( n 1 ) σ u 2 1 + ρ 1 σ k 2 2 1 + ( n 2 ) ρ σ k 2 σ u 2 + 1 + ( n 1 ) σ u 2 1 2 n log ( 1 ρ ) σ k 2 n 1 + n ρ 1 ρ + 1 2 n log 1 σ n 2 1 + σ n 2 1 + ( n 1 ) ρ σ k 2 + n σ u 2 1 + ( n 1 ) ρ σ k 2 σ u 2 + 1 + n σ u 2
For case 1, we set σ n 2 = and ρ = 0 . Then
R = 1 2 k log 1 D k
independent of σ u 2 . We choose σ u 2 so that we get exactly D n . Solving for σ u 2 and inserting in (A14) results in
R r = 1 2 log D k ( n k ) D k ( n k 1 ) + D n
Then,
( n 1 ) R + R r = 1 2 log D k ( n k ) D k ( n k 1 ) + D n 1 D k ( n 1 ) / k
for k = n 1 we get
( n 1 ) R + R r = 1 2 log D k D n 1 D k = 1 2 log 1 D n
which achieves (A8)
For case 2, we put σ u 2 = σ n 2 = . We solve for ρ so that we exactly achieve D n ,
ρ = D k ( ( n k ) D n + k ) D n n D k ( D n n k ( D n + n 1 ) ) + D n ( k 1 ) n
Giving
R = 1 2 log ( D k 1 ) D n ( k n ) k ( D k D n ) 1 / n ( D n 1 ) ( k n ) n ( D k D n ) 1 / k R r = 1 2 log ( D k 1 ) n ( n k ) ( D k 1 ) D n ( k n ) k ( D k D n ) 1 / n k ( D k n + D n + n 1 ) + ( D k 1 ) ( n 1 ) n
Inserting k = n 1 and simplifying, it is seen that (A8) is achieved.
Now region III. We put σ u 2 = , and find σ k 2 and σ n 2 to exactly satisfy D k and D n . We minimize the resulting (large) expression with respect to ρ , giving ρ = D k 1 D k + k 1 . This results in
R = R r = 1 2 log 1 D n n

References

  1. Dimakis, A.G.; Godfrey, P.B.; Wu, Y.; Wainwright, M.J.; Ramchandran, K. Network Coding for Distributed Storage Systems. IEEE Trans. Inf. Theory 2010, 56, 4539–4551. [Google Scholar] [CrossRef] [Green Version]
  2. Gamal, A.E.; Cover, T. Achievable rates for multiple descriptions. IEEE Trans. Inf. Theory 1982, 28, 851–857. [Google Scholar] [CrossRef]
  3. Gamal, A.E.; Kim, Y.H. Network Information Theory; Cambridge University Press: Cambridge, UK, 2011. [Google Scholar]
  4. Puri, R.; Pradhan, S.S.; Ramchandran, K. n-channel symmetric multiple descriptions-part II:An achievable rate-distortion region. IEEE Trans. Inf. Theory 2005, 51, 1377–1392. [Google Scholar] [CrossRef]
  5. Chan, T.H.; Ho, S.W. Robust multiple description coding—Joint Coding for source and storage. In Proceedings of the 2013 IEEE International Symposium on Information Theory, Istanbul, Turkey, 7–12 July 2013; pp. 1809–1813. [Google Scholar] [CrossRef]
  6. Kapetanovic, D.; Chatzinotas, S.; Ottersten, B. Index assignment for multiple description repair in distributed storage systems. In Proceedings of the 2014 IEEE International Conference on Communications (ICC), Sydney, Australia, 10–14 June 2014; pp. 3896–3901. [Google Scholar] [CrossRef] [Green Version]
  7. Høst-Madsen, A.; Yang, H.; Kim, M.; Lee, J. Repair of Multiple Descriptions on Distributed Storage. In Proceedings of the ISITA’2020, Honolulu, HI, USA, 24–27 October 2020. [Google Scholar]
  8. Wang, H.; Viswanath, P. Vector Gaussian Multiple Description With Individual and Central Receivers. IEEE Trans. Inf. Theory 2007, 53, 2133–2153. [Google Scholar] [CrossRef] [Green Version]
  9. Wang, H.; Viswanath, P. Vector Gaussian Multiple Description With Two Levels of Receivers. IEEE Trans. Inf. Theory 2009, 55, 401–410. [Google Scholar] [CrossRef] [Green Version]
  10. Venkataramani, R.; Kramer, G.; Goyal, V.K. Multiple description coding with many channels. IEEE Trans. Inf. Theory 2003, 49, 2106–2114. [Google Scholar] [CrossRef]
  11. Tian, C.; Chen, J. New Coding Schemes for the Symmetric K-Description Problem. IEEE Trans. Inf. Theory 2010, 56, 5344–5365. [Google Scholar] [CrossRef]
  12. Viswanatha, K.B.; Akyol, E.; Rose, K. Combinatorial Message Sharing and a New Achievable Region for Multiple Descriptions. IEEE Trans. Inf. Theory 2016, 62, 769–792. [Google Scholar] [CrossRef] [Green Version]
  13. Pradhan, S.S.; Puri, R.; Ramchandran, K. n-channel symmetric multiple descriptions—Part I: (n, k) source-channel erasure codes. IEEE Trans. Inf. Theory 2004, 50, 47–61. [Google Scholar] [CrossRef]
  14. Cover, T.; Thomas, J. Information Theory, 2nd ed.; John Wiley: Hoboken, NJ, USA, 2006. [Google Scholar]
Figure 1. Two layer repair. See text for explanation.
Figure 1. Two layer repair. See text for explanation.
Entropy 24 00612 g001
Figure 2. Plots of R or R + R r for two levels of constraints ( D 1 , D 2 ) and variable number of nodes.
Figure 2. Plots of R or R + R r for two levels of constraints ( D 1 , D 2 ) and variable number of nodes.
Entropy 24 00612 g002
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Høst-Madsen, A.; Yang, H.; Kim, M.; Lee, J. Repair Rates for Multiple Descriptions on Distributed Storage. Entropy 2022, 24, 612. https://0-doi-org.brum.beds.ac.uk/10.3390/e24050612

AMA Style

Høst-Madsen A, Yang H, Kim M, Lee J. Repair Rates for Multiple Descriptions on Distributed Storage. Entropy. 2022; 24(5):612. https://0-doi-org.brum.beds.ac.uk/10.3390/e24050612

Chicago/Turabian Style

Høst-Madsen, Anders, Heecheol Yang, Minchul Kim, and Jungwoo Lee. 2022. "Repair Rates for Multiple Descriptions on Distributed Storage" Entropy 24, no. 5: 612. https://0-doi-org.brum.beds.ac.uk/10.3390/e24050612

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