- About this Journal ·
- Abstracting and Indexing ·
- Advance Access ·
- Aims and Scope ·
- Annual Issues ·
- Article Processing Charges ·
- Articles in Press ·
- Author Guidelines ·
- Bibliographic Information ·
- Citations to this Journal ·
- Contact Information ·
- Editorial Board ·
- Editorial Workflow ·
- Free eTOC Alerts ·
- Publication Ethics ·
- Reviewers Acknowledgment ·
- Submit a Manuscript ·
- Subscription Information ·
- Table of Contents

International Journal of Distributed Sensor Networks

Volume 2012 (2012), Article ID 868943, 9 pages

http://dx.doi.org/10.1155/2012/868943

## Two-Layer Storage Scheme and Repair Method of Failure Data in Wireless Sensor Networks

^{1}School of Computer Science and Technology, Xidian University, Shaanxi, Xi’an 710071, China^{2}Department of Computer Science, Wayne State University, Detroit, MI 48202, USA

Received 20 July 2012; Accepted 8 September 2012

Academic Editor: Fu Xiao

Copyright © 2012 Yulong Shen et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

Distributed data storage is a key technology in the data collection in wireless sensor networks. The storage scheme based on network coding is applied to data collection in wireless sensor networks because of its high reliability and low overhead. However, it is an open problem to reduce data repair communication overhead caused by the failure of storage nodes. This paper focuses on this issue and presents a two-layer distributed data storage scheme. The lower-layer nodes store the encoded data blocks and the upper-layer nodes store the re-encoded blocks that are responsible for failure data recovery. Based on the two-layer data storage scheme, a data repair method is proposed to decrease the repair communication overhead with only sacrificing lower storage overhead. Compared with MSR, interference alignment-based scheme and group interference alignment scheme, the proposed method has lower repair communication overhead. We prove that the proposed method can reduce the repair communication overhead to times and it is suitable to resource-constrained distributed wireless sensor networks.

#### 1. Introduction

Wireless sensor networks, Internet of things and M2 M make the computer networks extended to things. The data collection in wireless sensor networks perform environmental monitoring, information transmission, data storage, and independent provided service. The collected data are distributed stored at the data storage nodes. In the case of node failure, high reliability and low-overhead distributed data storage is an open problem which has received widespread attention in recent years [1, 2]. With the consideration of resource-constrained property of the storage nodes in the data collection in wireless sensor networks, some effective distributed storage methods are proposed in [3–8]. The distributed storage scheme based on network coding is one of them and it has been researched extensively. It encodes the original data into a number of encoded data blocks and then stores them at different storage nodes. To reconstruct the original data, users only need to get a reasonable number of encoded data blocks (not less than the original data amount). Compared with the data backup method, the network coding technique has advantages of low storage overhead and robustness.

But it also brings the repair problem: When a storage node fails, the data on nonfailure nodes are used to repair the failure data to keep the same level reliability. To repair the failure encoded data blocks, the traditional method is that the newly added storage node collect sufficient encoded data (not less than the original data amount), then decode the encoded data to get the original data, and reencode the original data blocks to recover the failure data. As a result, traditional method causes great repair communication overhead which makes it not optimal for the wireless sensor networks because of the strict limitation of energy. Therefore, communication overhead becomes the primary factor of designing data repair algorithm. In order to reduce the repair communication overhead, some researchers focus their attention on designing data repair algorithms. Among these repair algorithms, the interference alignment repair algorithm presented in [9] and regenerating codes repair algorithm introduced in [7, 8] are outstanding.

For regenerating codes repair algorithm, there are two interesting points on its optimal tradeoff curve: minimum-bandwidth regenerating (MBR) codes and minimum-storage regenerating (MSR) codes [7, 8]. For MSR codes, its core constructive techniques are interference alignment and the network coding. With the interference alignment technique, MSR codes can reduce the repair communication overhead. The more interference elements are aligned, the more communication overhead is reduced. In order to decrease the interference dimension to a maximum extent, a common eigenvector should be computed and used. But when the interference dimension is more than 3, the complexity of computing the common eigenvector will increase greatly and that will become a significant challenge to the wireless network nodes with limited calculation ability. Dimakis et al. [7] have proved that the repair communication overhead of exact-MSR codes repair algorithm can be achieved with interference alignment only when the code rate is not higher than 1/2. For MBR codes, it can decrease the repair communication overhead to the minimum by sacrificing significant storage overhead. Its storage overhead is about 2 times of MSR. So for the given redundancy, the MBR codes are no longer optimal in terms of reliability.

The interference alignment repair algorithm is based on a hybrid storage model. In this model, the data consist of two parts. One is systematic part which is composed of the original data blocks. The other is nonsystematic part which is composed of the linear combination of the systematic part. Using the interference alignment algorithm to repair the failure data, the newly added node should first collect sufficient data to reduce the interference factors to 3 and then use the interference alignment technique to repair the failure data. The method proposed in [9] can reduce the repair communication overhead, but it is still high.

This paper focuses on optimizing the repair communication overhead of distributed storage. Having analyzed the tradeoff between storage overhead and repair communication overhead and turned the flat storage structure into hierarchical storage structure, this paper proposes a distributed storage method, which is based on two-layer storage structure, and a data repair algorithm. The proposed algorithm decreases the repair communication overhead by sacrificing lower storage overhead. The two-layer storage structure has two kinds of encoded data. They are the encoded network coding data and reencoded data. The lower-layer nodes are responsible for the original data reconstruction. The upper-layer nodes are responsible for failure data recovery. The data repair algorithm based on two-layer storage structure can ensure the restored data and the original encoded data have the recoverability property. Moreover, the two-layer storage structure keeps the storage system in a dynamic steady state all the time. That is, the data reliability of the entire system is stable. The analysis shows that the proposed method can greatly reduce the repair communication overhead by sacrificing lower storage overhead. This paper also proves that the proposed method can reduce the repair communication overhead to times of the traditional method at least and satisfies the basic requirements of sensor networks.

This paper is organized as follows. Section 2 is related works. Section 3 proposes two-layer data storage scheme and data repair method. Section 4 evaluates the repair communication overhead of the proposed method. The conclusion is in Section 5.

#### 2. Related Work

There is a tradeoff between the communication overhead of repairing failure data and the storage overhead in a distributed data storage system. To ensure the availability of the stored data, some methods to balance the storage overhead and the communication overhead of repairing the failure data are proposed in [1, 7, 9–14]. There are three kinds of recovery algorithms: regenerating codes recovery algorithm [1, 7, 11–14], interference alignment recovery algorithm [1, 9], and tree-structured recovery algorithm based on network topology [10].

For the regenerating codes recovery algorithm, MSR codes and MBR codes [7] can be its representation because of most researchers having a huge interest in them. With the consideration of the minimum storage overhead, MSR codes have minimal storage overhead on a single storage node. MSR codes use the interference alignment technique to reduce the repair communication overhead and the repair process can be seen in [7]. Compared with the traditional backup method, MSR codes repair algorithm can significantly reduce the repair communication overhead by interference alignment technique. But MSR codes have some deficiencies. Using interference alignment technique to reduce the interference dimension to 1 should use the common eigenvectors of all the interfering elements. But the complexity of computing the common eigenvectors will greatly increase with the increase of interference elements. It will be a great challenge to the wireless storage nodes with limited calculation ability. Repair communication overhead of exact-MSR codes repair algorithm can be achieved only when the coding rate is at most 1/2 [7], otherwise its desired results cannot be guaranteed.

MBR codes consider the repair problem with the view of minimum repair communication overhead. Repair communication overhead of MBR codes is equal to its single-node storage overhead. And its repair communication overhead is minimal among all the known data repair algorithms. The meticulous process of building MBR codes is in [7]. Nevertheless, the shortcoming of MBR codes is its great storage overhead. That is because each data block is stored twice. So for the given redundancy, the reliability of MBR codes is no longer optimal.

With minimal storage overhead for a single storage node, the data repair method based on interference alignment reduces repair communication overhead by merging interference elements. The interference alignment technique can reduce the interference elements to 1 by collecting sufficient data. Then the failure data can be repaired by solving linear equations. The details are shown in [9]. The shortcomings of the interference alignment repair algorithm are as follows: Interference alignment repair algorithm is mainly acted on the systematic data. When non-systematic data are failure, they are turned into systematic. Compared with the traditional method, the interference alignment repair algorithm does not decrease the repair communication overhead significantly.

Data repair algorithm based on network topology is named tree-structured data regeneration. This method views the data repair as recoding of the encoded data blocks. This method is based on the random network coding theory. And it is chiefly used to reduce the repair time. Compared with the traditional method, its repair communication overhead is not reduced.

For these shortcomings of the available data repair algorithms, this paper analyzes the tradeoff between the storage overhead and repair communication overhead, transforms the flat node storage method into hierarchical network coding storage method which is inspired by the tree-structured data regeneration, and then proposes the distributed network coding storage method and repair algorithm.

#### 3. Two-Layer Storage Structure and Data Repair Method

In this section, two-layer storage structure and data repair method are proposed. In the two-layer storage structure, the encoded data blocks are organized into two layers.

##### 3.1. The Construct of Two-Layer Data Storage Structure

There are two types of encoded data blocks in the two-layer storage structure and they constitute the lower-layer and the upper-layer of the two-layer data storage structure, respectively. The network coding data blocks of the original data consist of the lower-layer data blocks; while the upper-layer encoded data blocks are the linear combination of the lower-layer data blocks. The construction process is as follows.

The original data of size bits are divided equally into blocks (of size *M*/*k* bits each), represented by a *k*-dimension vector . These data blocks are expended into encoded blocks by linear network coding, represented by a *n*-dimension vector , that is, :
where denotes the encoding matrix. The encoded data blocks are allocated to the lower-layer storage nodes. The corresponding nodes that stored these encoded data blocks are the lower-layer nodes of the two-layer storage structure. From the property of the network coding, we know that the data at lower layer can reconstruct the original data.

The traditional data repair method illustrates that the data repair is essentially the process of solving linear equations. The communication overhead of the data recovery depends on the required data blocks, which are also the number of linear equations. Thus, reducing the communication overhead of data recovery is to decrease the number of equations.

To reduce the number of equations, the upper-layer encoded data scheme is proposed. The upper-layer nodes store the reencoded data from the lower-layer data by code, where is the number of the upper-layer encoded data blocks. Similar to the original data blocks, the upper-layer encoded data can also be denoted by , that is, :
where is the encoding matrix of the upper layer encoded data. is the number of the lower layer data blocks for encoding a data block of the upper layer and . Each row of has non-zero elements and every column of has only one nonzero element. Moreover, and are the number of the lower layer data blocks that are not involved in re-encoding the upper layer data blocks. The upper layer encoded data blocks can be expressed by . denotes the upper layer encoded data. is a -dimension row vector of . , which is the subvector of , is a* mp*-dimension row vector and represents the lower-layer encoded data participated in re-encoding the upper-layer data. Afterwards, the upper layer data blocks are stored at different nodes which are different from the lower-layer nodes, and these nodes are the upper-layer nodes of the two-layer storage structure. For convenience, the two-layer encoded data structure is represented by triple code. Figure 1 is an example and shows a two-layer encoded data structure with (3, 11, 6) code.

##### 3.2. The Methods of Repairing the Failure Data

The exact repair means that the recovered data are exactly the same as the failures. For all of the upper-layer nodes and the lower-layer nodes involved in re-encoding process, when any of them is failure, the failure data can be exactly repaired. For the rest of the lower-layer nodes, when one of them fails, there are two ways, exact repair and functional repair, to recover the failure data. The functional repair is that the newly generated block can contain the different failure data as long as the system maintains the network coding property. Two types of repairs are presented as follows: exact repair and hybrid repair.

###### 3.2.1. Exact Repair

In exact repair, when the upper-layer nodes failed, the new joined node should only collect the lower-layer data blocks which are responsible for the previous re-encoded block to exact repair the failure data. For the lower-layer node participated in re-encoding, such as node in Figure 1, if it failed to repair the failure data exactly, the data stored at , , and are only required.

For the rest of the lower-layer nodes, if one of them failed, the upper-layer data blocks are used to realize the exact repair. The subsets of the upper-layer encoded blocks can exactly repair the failure data blocks stored at the lower layer nodes that are not involved in re-encoding process and the number of elements in each subset is ( is the number of the upper-layer data blocks that are used for data repair. To maintain network coding property, ). Moreover, any two of the subsets are required to have no intersection to ensure the failure data can be accurately repaired. As a result, should satisfy . The left of the inequality represents the number of the subsets, while the other side of the inequality represents the number of the lower layer nodes that are not involved in re-encoding process. Then with the help of the well-designed repair matrix, the failure data blocks can be repaired exactly by collecting the corresponding data blocks of the upper layer and combining them linearly afterwards.

###### 3.2.2. Hybrid Repair

Hybrid repair is a hybrid model of the exact repair and functional repair. The hybrid model is: If any of the upper-layer nodes or the lower-layer nodes involved in reencoding process failed, the data stored at them are exactly repaired; however, if the lower-layer nodes which are not involved in the reencoding process failed, the data stored at them are functionally repaired. The functional repair is actually the linear combination of () blocks of the upper-layer data. For example, as show in Figure 1, if failed, the data stored at can be functionally repaired by the data stored at and . With the help of the accurately calculated repair coefficients, the repaired data can preserve the network coding property. For convenience, the new joined node storing the recovered data is still named . To keep the same level reliability of the data, the functional repair must make sure that the repaired lower layer storage system maintains network coding property.

The functional repair of the data stored at the lower layer nodes which are not involved in re-encoding process is a linear combination of data blocks of the upper layer. Therefore, the functional repair can be represented by . is the recovered data and is a *-*dimension row vector for repair. Each row of has nonzero elements, where values at least and each column of has only one nonzero element. To ensure the repaired lower layer storage system maintains network coding property, we should work out all the encoding vectors that have network coding property with that of the data stored at the lower layer in advance and their number is set to which is not less than . Then strictly calculate the encoding coefficients of the upper layer data and make the final repair vectors equal to the vectors we calculated beforehand. At this time is equal to. Therefore, the key problem of functional repair is to calculate these coefficients. Their number is . Among them coefficients are used for encoding the upper-layer data and the others are used to repair the failure data. The repair vector of the data repaired can be expressed in the form of the summation of the product of these coefficients. These coefficients can be calculated with the help of repair vectors of the ultimate repaired data. Data repair can also be represented by and . To maintain network coding property, the rank of must be greater than . The solution of these coefficients exists when the rank of equals to that of its augmented matrix by choosing the value of the non-zero elements reasonable. Because of , the solution will not be unique.

#### 4. Evaluation

In this section, we analyze the proposed data repair method and evaluate the communication overhead for data repair, namely, repair communication overhead. We also compare it with the existing data repair method. The communication overhead for data repair is represented by the amount of communication data in the data repair process.

##### 4.1. Repair Communication Overhead Evaluation of the Exact Repair

###### 4.1.1. Repair Communication Overhead

Whether the lower-layer data blocks that are involved in re-encoding process or not brings the difference of the repair schemes and even makes the repair communication overhead not the same. From the repair methods mentioned above, we know that the repair communication overhead of the upper-layer data blocks and the lower-layer data blocks involved in re-encoding process is , and the repair communication overhead of the rest of the lower layer data blocks is . is not necessarily equal to . When we compute the communication overhead of data repair, it is not logical to use an accurate value to represent the repair communication overhead of the entire storage system. Therefore, the expectation value of the repair communication overhead provides a good idea to represent the repair communication overhead of the entire storage system. Let be , let be , and let be . We assume that each storage node has the same failure probability in the entire storage system. When a storage node failed, the expectation of its repair communication overhead is where , and are subject to Set , then . will be turned into

From the equation, we know that the value of is related to , and . is similarly related to and . As a result, the value of is determined by and . According to the relationship between and , we will have the following 3 cases.

Firstly, if , then . From (4), we know that . At this time, we can calculate that .

Secondly, if , then . For the given value of , the range of is determined by the formula (4), and at the same time the range of is determined by the formula (8). Within the range of and , it can be thought that , and are independent of each other. For formula (3), the partial derivative of is:

When is maximal, will be minimal. From (8), we can see that and . At this time, , then .

Thirdly, if , then . Similar to the situation, when is minimal, is minimal. From (7), we can see that . From (4), (5), and (6), we know that if and , will be minimal and at this time .

Compare the value of at these 3 situations and we can see that if , 4, the minimal repair communication overhead is ; if , the minimal repair communication overhead is 2.

###### 4.1.2. Evaluation of the Repair Communication Overhead

Theorem 1. *If and the relationship between and is , the repair communication overhead of exact repair based on the two-layer storage structure is lower than that of MSR.*

*Proof. *If , the repair communication overhead of exact repair based on the two-layer storage structure is 2, while the MSR is [7], where is the number of nodes that are involved in data repair and . Let and its derivative of is a monotone decreasing function. So will be minimal when and . From the condition that , we can know . Therefore, it turns to be correct that the repair communication overhead of the exact repair based on two-layer storage structure is lower than that of MSR when . Moreover, when , 4, the repair communication overhead of the exact repair based on two-layer storage structure is lower than 2. That is to say when and satisfy , the conclusion is also correct. Hence, theorem 1 proves to be correct.

Theorem 2. *If , the repair communication overhead of exact repair based on two-layer storage structure is lower than that of repair method based on interference alignment which is proposed in [9].*

*Proof. *The repair communication overhead of the basic interference alignment repair algorithm proved by [9] is ( is the number of data pieces stored at a single storage node). Let . If , then . The repair communication overhead of exact repair based on two-layer storage structure is 2 if . For , the conclusion is correct. When are 3, 4, the repair communication overhead of exact repair based on two-layer storage structure is and , respectively. Both of them are smaller than 2, so the conclusion is also correct when are 3, 4.

For the repair algorithm based on group interference alignment, the repair communication overhead is and it is higher than ( is the number of storage nodes that a data group contains, ). If , the repair overhead of group interference alignment is and it is higher than 2. Therefore, the Theorem 2 is obviously correct for the repair method based on group interference alignment.

###### 4.1.3. Numeral Result

In order to compare the repair overhead of these data repair method above and verify the correctness of the conclusions, the numeral result is shown in Figure 2. The histogram in Figure 2 shows, respectively, the repair overhead of MSR repair, exact repair based on two-layer storage structure, repair based on basic interference alignment and group interference alignment, where values are as follows: (5, 3), (6, 4), (9, 5), (12, 6), (15, 7), and (17, 8). Comparing the conclusions of this paper with the numeral results displayed in Figure 2, it can be seen apparently that they are consistent.

##### 4.2. Repair Overhead Evaluation of the Hybrid Repair

###### 4.2.1. Repair Communication Overhead

Similar to the exact repair, the communication overhead of hybrid repair can also be represented by its expectation value. Let be , let be , and let be , and assume that in the entire storage system, the failure probability of each storage node is exactly the same. When a storage node failed, the expectation of repair overhead is where and are subject to We can gain

Let . From (19), we can draw [15]. So, is

When , the storage overhead will be minimal, and the value of is .

From (12), we can see that the value of is related to , and . The relationship between , and can be seen from (18). Formula (13) gives the condition that , should be satisfied. When any of , and is determined, the range of the others will be known. Within the range of them, it can be thought that , and are independent of each other. For the given value of, the range of and can respectively be determined and within the range of and , the three variables are independent of each other. For formula (12), the partial derivative of is

And the partial derivative of is

Combine (23) and (18), we can have

Formula (18) can be rewritten as . To compute convenient, by the Taylor formula, (26) can be simplified to

Now, we discuss the value of . According to the relationship between and , we will have the following 3 situations.

First, if , then . From (13), we will know that . At this time, we can calculate that .

Second, if , formulas (24) and (25) show us the value of increases with the increasing of and the values of decrease with the increase of which are known from (14) and (20). So for the given , to make minimal, and should be minimal within their range. When (), and the minimum of can be drawn from (27).

Theorem 3. *Under the condition that the relationship between and is , for the given and , when , it makes E minimal.*

*Proof. * are known, so (27) is a function on and

For, , let , decreases with the increase of *.* Formula (14) shows that , so
then

Therefore, and is an increasing function. To make , the value of must be not less than that of making . Then, the minimal value of can be goten on the condition that .

The minimum value of can be drawn from Theorem 3 when the relationship between and is . For the given and is a function of , so can be set as . Substitute the value of into (12) and then compute the derivative of . Within the range of, if the derivative is greater than 0, the value of will be , and at this time , , then the minimal can be computed. When the derivative is less than 0, the value of will be , and at this time , . Therefore, the minimum of can be gained. If it cannot make sure whether the derivative is greater than 0 or not, we can firstly compute the value of which makes the derivative equal to 0. Substitute the value of into (12), then we can get the minimum .

If , formulas (24) and (25) show us that the value of increases with the increase of and decreases with the increase of . At the same time, the values of and are both decreased with the increase of . That can be seen from (14) and (20). As a result, for the given , to make minimal, should be maximal within its range, while should be minimal within its range. When (), . And when the relationship between and is , will be an increasing function and the maximum of will be .

Then, formula (12) turns into

We can compute the derivative of by the equality (32). If the derivative is greater than 0, set , and substitute the value of into (32) afterwards, then the minimum of can be gained. If the derivative is less than 0, set . Then substitute the value of into (32). The minimum of can be gained. If it cannot make sure whether the derivative is greater than 0 or not, we can compute the value of firstly, which makes the derivative equal to 0. Then put the value of into (32), we can get the minimum .

The repair communication overhead of hybrid repair based on two-layer storage structure is when . If the repair communication overhead is greater than in both cases, and , the minimal repair communication overhead of hybrid repair is . If the repair communication overhead is smaller than in any of the two cases: and , the minimal repair communication overhead of hybrid repair is at most . In one word, the repair communication overhead of hybrid repair is at most .

Theorem 4. *The hybrid repair based on two-layer storage structure can reduce the repair communication overhead to times of the traditional data recovery algorithm. *

*Proof. *From the analysis mentioned above, it can be concluded that the repair communication overhead of hybrid repair based on two-layer storage structure is at most . Compared with the traditional method whose repair communication is , the hybrid repair reduces the repair communication overhead to times of the traditional method.

###### 4.2.2. Evaluation of the Repair Communication Overhead

Theorem 5. *If the relationship between and is , it can make sure that the repair communication overhead of hybrid repair based on two-layer storage structure is lower than that of MSR.*

*Proof. *The repair communication overhead of hybrid repair is at most . While the repair over head of MSR is , where is the number of storage nodes that involved in data repair and . Let , and from its derivative, we can know that is a decreasing function, and the minimum of can be gotten at and at this time . With the condition , we can gain , so if , the repair communication overhead of hybrid repair based on two-layer storage structure is lower than that of MSR.

Theorem 6. *For the repair method based on group interference, if ( is the number of storage nodes that a data group contains), its repair communication overhead is higher than that of hybrid repair based on two-layer storage structure.*

*Proof. *For the repair method based on group interference, its repair communication overhead is which is higher than ( is the number of data pieces stored at a single storage node). That has been proved by [9]. If , the repair communication overhead of it is higher than . However, the repair communication overhead of hybrid repair based on two-layer storage structure is at most which is known from the analysis above. Therefore, the theorem is proved.

For the repair method based on basic interference alignment, since its repair communication overhead is , the repair communication overhead of hybrid repair based on two-layer storage structure is lower.

###### 4.2.3. Numeral Result

To verify the correctness of the conclusions, the numeral result is shown in Figure 3. The histogram in Figure 3 shows, respectively, the repair communication overhead of MSR repair, exact repair based on two-layer storage structure, repair based on basic interference alignment and group interference alignment, where values are as follows: (5, 3), (6, 4), (7, 5), (8, 6), (10, 7), and (12, 8).

Comparing the conclusions of this paper with the numeral results displayed in Figure 3, it can be seen apparently that they are consistent.

#### 5. Conclusion

This paper analyzes the tradeoff between storage overhead and repair communication overhead in the distributed data storage. We turn the flat storage structure into hierarchical storage structure and present a two-layer distributed data storage scheme to improve the repair communication overhead. Based on the two-layer data storage scheme, a data recovery method is proposed to decrease the repair communication overhead with sacrificing lower storage overhead. The proposed method has lower repair communication overhead than that of MSR, basic interference alignment and group interference alignment schemes. We prove this method reduces the repair communication overhead to times. The proposed scheme is suitable for resource-constrained and node frequent failure distributed wireless sensor networks.

#### Acknowledgments

The authors gratefully acknowledge inspiring discussions with Weisong Shi and Xiaohong Jiang. This work was supported by the National Natural Science Foundation of China (61100153, 61172068) and the Aviation Science Foundation of China (2009198101, 2010ZC31001, 2010ZC31002, 20101981015, and 2011ZC31006).

#### References

- C. Suh and K. Ramchandran, “Exact-repair MDS codes for distributed storage using interference alignment,” in
*Proceedings of the IEEE International Symposium on Information Theory (ISIT '10)*, pp. 161–165, Dublin, Ireland, June 2010. View at Publisher · View at Google Scholar · View at Scopus - N. B. Shah, K. V. Rashmi, P. V. Kumar, et al., “Interference alignment in regenerating codes for distributed storage: necessity and code constructions,”
*IEEE Transactions on Information Theory*, vol. 58, no. 4, pp. 2134–2158, 2012. - H. Weatherspoon and J. D. Kubiatowicz, “Erasure coding versus replication: a quantitiative comparison,” in
*Proceedings of the 1st International Workshop on Peer-to-Peer Systems (IPTPS '02)*, pp. 328–338, Cambridge, Mass, USA, March 2002. - J. Kubiatowicz, D. Bindel, Y. Chen et al., “OceanStore: an architecture for global-scale persistent storage,” in
*Proceedings of the 9th Internatinal Conference Architectural Support for Programming Languages and Operating Systems (ASPLOS '00)*, pp. 190–201, Boston, Mass, USA, November 2000. View at Scopus - I. Reed and G. Solomon, “Polynomial codes over certain finite fields,”
*Journal of the Society for Industrial and Applied Mathematics*, vol. 8, no. 2, pp. 300–304, 1960. - S. Rhea, G. Wells, P. Eaton et al., “Maintenance-free global data storage,”
*IEEE Internet Computing*, vol. 5, no. 5, pp. 40–49, 2001. View at Publisher · View at Google Scholar · View at Scopus - A. G. Dimakis, K. Ramchandran, Y. Wu, and C. Suh, “A survey on network codes for distributed storage,”
*Proceedings of the IEEE*, vol. 99, no. 3, pp. 476–489, 2011. View at Publisher · View at Google Scholar · View at Scopus - A. G. Dimakis, P. B. Godfrey, Y. Wu, M. J. Wainwright, and K. Ramchandran, “Network coding for distributed storage systems,”
*IEEE Transactions on Information Theory*, vol. 56, no. 9, pp. 4539–4551, 2010. View at Publisher · View at Google Scholar · View at Scopus - Y. Wu and A. G. Dimakis, “Reducing repair traffic for erasure coding-based storage via interference alignment,” in
*Proceedings of the IEEE International Symposium on Information Theory (ISIT '09)*, pp. 2276–2280, Seoul, Republic of Korea, July 2009. View at Publisher · View at Google Scholar · View at Scopus - J. Li, S. Yang, X. Wang, X. Xue, and B. Li, “Tree-structured data regeneration with network coding in distributed storage systems,” in
*Proceedings of the 17th International Workshop on Quality of Service (IWQoS '09)*, pp. 1–5, Shanghai, China, July 2009. View at Publisher · View at Google Scholar · View at Scopus - D. Cullina, A. G. Dimakis, and T. Ho, “Searching for minimum storage regenerating codes,” in
*Proceedings of the Allerton Conference on Control, Computing, and Communication*, 2009. - K. V. Rashmi, N. B. Shah, P. Vijay Kumar, and K. Ramchandran, “Explicit construction of optimal exact regenerating codes for distributed storage,” in
*Proceedings of the 47th Annual Allerton Conference on Communication, Control, and Computing*, pp. 1243–1249, Urbana-Champaign, Ill, USA, October 2009. View at Publisher · View at Google Scholar · View at Scopus - N. B. Shah, K. V. Rashmi, P. V. Kumar, and K. Ramchandran, “Explicit codes minimizing repair bandwidth for distributed storage,” in
*Proceedings of the IEEE Information Theory Workshop (ITW '10)*, pp. 1–5, Bangalore, India, January 2010. View at Publisher · View at Google Scholar · View at Scopus - K. V. Rashmi, N. B. Shah, and P. V. Kumar, “Optimal exact-regenerating codes for distributed storage at the MSR and MBR points via a product-matrix construction,”
*IEEE Transactions on Information Theory*, vol. 57, no. 8, pp. 5227–5239, 2011. View at Publisher · View at Google Scholar · View at Scopus - P. R. Beesack, “Improvements of Stirling’s formula by elementary methods,” University of Beograd Publications, Elektrotehničkog fakulteta, Serija: Matematika i Fizika, 1969.