Reliable IoT Storage: Minimizing Bandwidth Use in Storage Without Newcomer Nodes

Reliable IoT Storage: Minimizing Bandwidth Use in Storage Without Newcomer Nodes

Xiaobo Zhao, Daniel E. Lucani, Xiaohong Shen, and Haiyan Wang X. Zhao is a visiting student at Aarhus University, supported by the Chinese Scholarship Council (CSC). This research is supported partly by National Natural Science Foundation of China (61671386), partly by the Cisco University Research Program Fund (Project CG #593761), Gift #2015-146035 (3696) and partly by the AUFF Starting Grant Project AUFF-2017-FLS-7-1.X. Zhao, X. Shen and H. Wang are with Key Laboratory of Ocean Acoustics and Sensing, Northwestern Polytechnical University, Ministry of Industry and Information Technology and School of Marine Science and Technology, Northwestern Polytechnical University, Xi’an, China. (e-mail:, {xhshen, hywang} Zhao and D. E. Lucani are with the Department of Engineering, Aarhus University, Aarhus, Denmark. (e-mail:,

This letter characterizes the optimal policies for bandwidth use and storage for the problem of distributed storage in Internet of Things (IoT) scenarios, where lost nodes cannot be replaced by new nodes as is typically assumed in Data Center and Cloud scenarios. We develop an information flow model that captures the overall process of data transmission between IoT devices, from the initial preparation stage (generating redundancy from the original data) to the different repair stages with fewer and fewer devices. Our numerical results show that in a system with 10 nodes, the proposed optimal scheme can save as much as 10.3 % of bandwidth use, and as much as 44 % storage use with respect to the closest suboptimal approach.

Network coding, distributed storage, Internet of Things, information flow

I Introduction

The Internet of Things (IoT) has gained increasing attention in various fields due to its ability to enable new devices to connect to the Internet [1]. Many IoT-based applications, e.g., environmental monitoring [2], data collection [3], and industrial automation [4], have a common challenge, namely, how to maintain data reliably when using vulnerable, resource-limited devices. Device failures are caused by a variety of different factors, including limited energy, hardware failures, and software errors [5]. IoT systems that are deployed in harsh or unaccessible environments [6] face unique challenges to replace damaged devices or they will be unable to do so. Thus, it is critical to develop a theoretical framework and policies to maintain data reliably in such systems without expecting replacement devices. The goal of this paper is to provide such framework and use it to minimize communication and energy consumption costs for the IoT devices as well as reducing the data storage requirement of individual device.

Network coding [7] for distributed storage has been shown to provide efficient solutions to maintain data reliably for long periods of time [8, 9, 10]. Early work introducing network coding to Distributed Storage Systems (DSS) identified the optimal tradeoff between storage and repair cost, i.e., the network traffic that creates packets of the newcomer node [8]. More recently, the problem of reliability without newcomer nodes has been considered in [9] and [10], assuming that a lead node is required for coordination purposes. The former studies how to transition optimally between extremal operation points of the optimal tradeoff curve in [8] without newcomers. The latter revealed that the cost for introducing redundancy at the beginning of the storage process has a critical role in the overall cost to the system. Additionally, the timing and quantity of redundancy introduced as multiple nodes suffer failures has an effect on reducing the repair cost of failures. An optimal solution for the problem described in [10] is missing.

We investigate the fundamental problem of minimizing bandwidth and storage costs for the data protection with no newcomers, but without the need for a lead/coordinating node in the process. We model the problem based on an information flow graph and formulate an optimization problem to identify the optimal process for the repair of data. We show that the problem of minimizing traffic can be formulated as a Linear Programming (LP) optimization problem. The solution of this LP problem provides an optimal strategy in terms of when and how much redundancy/traffic should be generated by the system coming from each node. Our analysis method and solution is not limited to IoT applications. By comparing to suboptimal protection strategies inspired by the work in [9, 10], we show that significant gains can be achieved by solving the optimization problem both in bandwidth reduction, but also by reducing storage requirement per device.

Ii System Model

We consider an -node network has bits of initial data, where each node has generated bits. Nodes can fail (leave without sending data to others nodes) one at a time. We assume that the data will be recovered by a data collector at the end of the process, even if only nodes survive. For simplicity, the network is considered as a symmetric one where each node has the same probability to be unavailable and any nodes are sufficient to recover the original data. In the sense of network management, the costs are negligible compared with those of repairs, and network protocols have been well studied in the literature. We assume that the system operates well without considering the protocols in this letter.

The system encodes the data and distributes coded data from each device to the others to achieve a certain redundancy across the nodes. This first stage is called the preparation phase. The amount of transmitted data from all nodes is called the preparation bandwidth. When a node fails, a repair is carried out, in which any two nodes communicate with each other to recover the lost redundancy and guarantee that subsequent node failures will not cause permanent loss of data. The amount of transmitted data from all nodes in this stage is called the repair bandwidth.

We define the summation of preparation and repair bandwidth as the protection bandwidth. Since the preparation phase can be regarded as a special repair phase if we consider that there is a loss of a virtual node and nodes remain after that loss, we will not distinguish between preparation bandwidth and repair bandwidth in our analysis, contrary to what was done in [10].

Fig. 1: An illustration of the protection problem corresponding to and based on an information flow graph.

Ii-a Performance Metrics

Our key performance metrics are the protection bandwidth and the storage cost, as the former is mapped to the network and energy costs and the latter to a cost in the design of the IoT devices, i.e., how much storage capacity is needed. Considering a protection problem with parameters and , we denote the storage in each of existing nodes by , and the storage overhead by ().

Concerning network traffic of the problem, we denote the amount of data sent from each node in a repair stage as , where nodes are involved . The repair bandwidth consists of entire , denoted as . The protection bandwidth is defined as the summation of all as . The reason to use the protection bandwidth as key metric is that the problem of repair without newcomers is different from [8] in that previous losses and actions to repair from those losses have an effect on subsequent repairs, i.e., the repair bandwidth depends on how many nodes remain in a repair stage, but also on previous repairs. For example, the repair bandwidth of one or more repair stages can become zero if in a previous stage the storage of each device is increased sufficiently. An extreme and wasteful case occurs when the preparation phase generates full copies of the data in all nodes, thus making any data exchange after losses unnecessary.

Ii-B Information Flow Graph

In [8], the original data can be reconstructed provided that the minimum capacity of the cuts separating source and data collector is equal or greater than its size. Although the formulation is not suitable in our scenario, the insight of mapping the repair problem to a multicast problem on an information flow graph is still useful. However, it requires a non-trivial adaptation to incorporate the various repair stages and a more complex set of min-cut constraints. We utilize an information flow graph to map the protection problem to a multicasting problem. Fig. 1 is an example corresponding to , to illustrate the mapping.

The information flow graph is a directed acyclic graph, which is composed of three categories of nodes: a source , ordinary nodes ’s, and a data collector . In terms of capacity, communicates original information to each ordinary node with a directed edge of infinite capacity, and is linked to every remaining node by a directed edge with infinite capacity. The directed edges between ordinary nodes are of two patterns, and the distinction lies in whether the destination is exactly the transmitter. In a repair stage, the capacity of directed edges between the same node is the storage , and that between different nodes is the transmission size . Note that notations and are employed to distinguish the two edge patterns, and they do not refer to specific nodes.

In our particular problem, if there is more than one failure , the min-cut of - cuts in each stage should be equal or greater than to guarantee the reconstruction of original data. Nevertheless, only the original data size in each node is known, and the values of will vary with different strategies being employed. Without the capacity of edges, the capacity of a cut cannot be obtained, and then the minimum cut cannot be determined. Given this, we consider to let all - cuts (with finite capacity) in each stage satisfy the data reconstruction condition, then every min-cut will satisfy the condition without a doubt. The detail will be provided in next section.

Unlike the more general multicast problem considering all losses at once, we choose a sequence of events for them, which provides a better comprehension of the metric relationship for two successive repair stages. Moreover, due to the problem’s symmetry, we can focus on one path, i.e., one set of remaining nodes, with the understanding that each of the other paths will contribute to the traffic . As the example in Fig. 1, we focus only on the beneficial transmissions, which carry information that would be lost otherwise when losing nodes and . The transmissions sent from other nodes will be counted in while calculating the protection bandwidth .

Iii Protection Bandwidth Analysis

This section provides a systematic method to find all cuts in the information flow graph of a multicast problem, which is mapped by a protection problem with arbitrary starting point and finishing point . We also establish an optimization problem to minimize the protection bandwidth for and .

Iii-a Example

As shown in Fig. 1, by two repair stages, can reconstruct the original data of a six-node system after two nodes fail. We denote the set of all - cuts with five nodes remaining as , and that with four nodes remaining as . Since we focus only on - cuts in this letter, we rewrite and as and without ambiguity. Due to space limitations, only three typical cuts of are shown in Fig. 1, but all additional cuts are accounted for in the analysis. And the capacity set of is

(a) Protection bandwidth of MS, MRB and OP for different numbers of surviving nodes , and a fixed numbers of original nodes .
(b) Minimum protection bandwidth of OP strategy for different numbers of original nodes. The number of node failures is got by .
Fig. 2: Normalized protection bandwidth of different strategies

Similarly, we have the capacity set of all - cuts as four nodes remain . Based on the analysis before, and are necessary to reconstruct the original data, i.e., they are the constraints of cut capacity of a protection problem with and . Combining with the constraints of ’s and ’s, we establish an optimization problem to minimize the protection bandwidth as

min (2)

where the constraints apart from cut capacity are related to storage and repair bandwidth. In this example, and limit their ranges, respectively. The principle is that the storage in a node cannot exceed the sum of the previous data already stored and the total data received from the repair stage and that each transmission cannot be negative or exceed the amount of stored data in the node. Moreover, is known as .

Both of the objective function and constraints in (2) are linear, thus, by solving this LP problem, we can determine the minimum protection bandwidth , and the optimal protection strategy that achieves it. Next, we will formulate the problem to acquire .

Iii-B Minimum Protection Bandwidth

For our information flow graph with arbitrary and , the set of all - cuts when nodes remain is denoted as , and the capacity set of that is denoted as , . In , each cut is determined by a combination of edges and with capacity and , respectively. For calculating the cut (capacity), we do not explicitly consider in the transmissions sent from the nodes that survive until a collector comes to reconstruct data. In other words, only transmissions sent from the nodes which do not survive are beneficial for data protection, because they are needed to deliver the information (degrees of freedom) to the remaining nodes. As explained, the symmetry in our problem and the fact that we account for the cost of transmissions from all nodes at each repair phase, allows us to focus on a specific sequence of lost nodes without compromising the accuracy of the result. Based on this, we formulate as


where is the set of all natural numbers.

While nodes are remaining and connected to , there must be edges in each - cut, which means the total number of in each cut capacity is , namely,


As stated above, nodes send beneficial transmissions in a repair stage involving nodes . Regarding this stage, the number of beneficial transmissions in a cut is also dependent on the number of edges that have been counted in the cut, which is . Specifically, the beneficial transmissions received by nodes are in the cut. Thus, the number of edges in a cut is


By (3), (4) and (5), we acquire the capacity set of every stage for a given pair of and .

(a) Storage in different stages for .
(b) Repair bandwidth in each stage for .
(c) Storage in different stages for .
(d) Storage requirement for  different , and .
Fig. 3: Detailed metrics of different strategies

Minimizing the protection bandwidth can generate multiple feasible solutions for the storage requirements. Accordingly, we modify slightly the cost function to select the min protection bandwidth that requires the least amount of storage. For this reason, we use a cost function the protection bandwidth plus a small term concerning storage overhead as the objective function, where is a very small constant (e.g., ). In this way, the optimal protection strategy with minimum storage overhead is selected. Therefore, we formulate the optimization problem as follows,


while maintaining a resulting that is the same as solving the problem for min . Since (6) is a formulation of (2), we do not repeat the analysis in the example. By solving this LP problem, we determine the minimum protection bandwidth , and the optimal protection strategy with least storage overhead.

The computational complexity of an LP depends on the number of variables and the input size. As to our LP problem, the number of variables is , and the size of cut capacity constraints is , which increases dramatically and makes the input size enlarge with increasing, especially when the difference of and is large. So, moderate values for them are expected from a practical perspective in IoT and monitoring problems. Approximated solutions will be considered in future works for large values.

Iv Evaluation

In this section, we compare the optimal strategy with two suboptimal strategies inspired by the work in [9].

: OP is the solution the optimization problem in (6).

: MS is a protection strategy inspired by the MSR strategy in [9], which stores minimum data after each repair stage.

: MRB is inspired by the MBR repair strategy in [9], which transitions between MBR storage points in each node given by the results in [8] and the number of remaining nodes. This scheme focuses on optimizing repair bandwidth in each stage (repair triggered after every loss). However, it disregards the cost of the early protection phase and provides a myopic solution for the protection process.

Although the system model in this letter is different from those in [8, 9], the operating points and described in the previous results can still be achieved by MS and MRB, respectively, which makes the strategies in this letter comparable to those in [9]. We omit the proof as it is beyond the scope of this work.

In plots, the protection bandwidth and storage are normalized with the size of original data . Fig. 1(a) shows that the protection bandwidth of MS increases rapidly and linearly when the number of surviving nodes decreases. This happens due to the fact that the bandwidth in each repair stage is large, specifically, bits in order to guarantee data recoverability. Compared with MRB, OP has a significant reduction in terms of protection bandwidth when is between and . The reduction is up to % of , and over % of on average. In particular, adopting OP will save considerable network resources when is larger. For the case of , the storage before repair is , i.e., the minimum storage irrespective of the value of , and the protection bandwidth is the same as the repair bandwidth, i.e., . Note that MRB has the same performance as OP on if and , which means that MRB is optimal under those conditions. Fig. 1(b) shows for different . Considering a certain , a greater leads to smaller , due to the fact that a greater indicates greater . As more nodes participate in a repair stage, the number of bits per transmission decreases.

Let us understand the process of repair. Fig. 2(a) shows that for and the storage of MS raises gradually, while that of OP raises faster in the first two stages. Fig. 2(b), the corresponding repair bandwidth of Fig. 2(a), shows that OP transmits more in the first two repair stages, but, it transmits much less in future repairs as it stores more in each node in that first stage. Fig. 2(c) shows that MRB is optimal (matches OP) in terms of and when . Finally, Fig. 2(d) shows that the storage requirements of OP are as low as those of MS, and are much less than those of MRB. The reduction is up to 16.6 % of and 11.4 % of on average for .

V Conclusion

This letter formulated the information flow approach to solve the problem of efficient repair of losses without newcomer nodes, which is an important problem in IoT and monitoring applications. We showed that the optimal strategy to reduce communication bandwidth outperforms a prior scheme from [9] not only in bandwidth use, but also in storage use. Although the optimal solution provided is an LP that can be solved for moderate and values in the network, the number of min-cut constraints might hinder its use for nodes. Although in practice this can be handled by establishing clusters of nodes of reasonable size, our future work will study relaxations to the min-cut constraints in order to solve the problem for large . Future work will consider practical implementations as well as extending our formulation to the case of a lead repair node used in [9, 10].


  • [1] L. Atzori, A. Iera, and G. Morabito, “The internet of things: A survey,” Comput. Netw., vol. 54, no. 15, pp. 2787–2805, Oct. 2010.
  • [2] D. Miorandi, S. Sicari, F. De Pellegrini, and I. Chlamtac, “Internet of things: Vision, applications and research challenges,” Ad Hoc Networks, vol. 10, no. 7, pp. 1497–1516, Sep. 2012.
  • [3] A. Orsino, G. Araniti, L. Militano, J. Alonso-Zarate, A. Molinaro, and A. Iera, “Energy efficient iot data collection in smart cities exploiting d2d communications,” Sensors, vol. 16, no. 6, p. 836, Jun. 2016.
  • [4] C. Wang, Z. Bi, and L. Da Xu, “Iot and cloud computing in automation of assembly modeling systems,” IEEE Trans. Ind. Informat, vol. 10, no. 2, pp. 1426–1434, May 2014.
  • [5] T. Qiu, D. Luo, F. Xia, N. Deonauth, W. Si, and A. Tolba, “A greedy model with small world for improving the robustness of heterogeneous internet of things,” Comput. Netw., vol. 101, pp. 127–143, Jun. 2016.
  • [6] M. T. Lazarescu, “Design of a wsn platform for long-term environmental monitoring for iot applications,” IEEE J. Emerg. Sel. Topics Circuits Syst., vol. 3, no. 1, pp. 45–54, Mar. 2013.
  • [7] R. Ahlswede, N. Cai, S.-Y. Li, and R. W. Yeung, “Network information flow,” IEEE Trans. Inf. Theory, vol. 46, no. 4, pp. 1204–1216, Jul. 2000.
  • [8] A. G. Dimakis, P. B. Godfrey, Y. Wu, M. J. Wainwright, and K. Ramchandran, “Network coding for distributed storage systems,” IEEE Trans. Inf. Theory, vol. 56, no. 9, pp. 4539–4551, Aug. 2010.
  • [9] J. Cabrera, D. Lucani, and F. Fitzek, “On network coded distributed storage: How to repair in a fog of unreliable peers,” in International Symposium on Wireless Communication Systems (iswcs).   IEEE, 2016.
  • [10] X. Zhao, D. Lucani, X. Shen, H. Wang, and J. Cabrera, “Reliable iot storage for sensor monitoring applications: Trading off early redundancy injection costs and repair costs,” in European Wireless 2017; 23th European Wireless Conference; Proceedings of, 2017, pp. 1–5.
Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
Add comment
Loading ...
This is a comment super asjknd jkasnjk adsnkj
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test description