Network Simplification and K-Terminal Reliability Evaluation of Sensor-Cloud Systems

The sensor-cloud system (SCS) integrates sensors, sensor networks, and cloud for managing sensors, collecting and processing data, and decision-making based on data processed. Though the SCS has received tremendous attention from both academia and industry because of its numerous exciting applications, it still faces the challenge in reliability. The reliability of an SCS is generally referred to as the ability to perform required functions for a given period of time. This work is focused on the <inline-formula> <tex-math notation="LaTeX">$K$ </tex-math></inline-formula>-terminal reliability of an SCS, which is concerned with the successful communication between all pairs of network nodes belonging to a pre-specified subset <inline-formula> <tex-math notation="LaTeX">$K$ </tex-math></inline-formula>. The increased complexity and scale of real-life SCSs require new efficient techniques to evaluate their <inline-formula> <tex-math notation="LaTeX">$K$ </tex-math></inline-formula>-terminal reliability. In this work we make novel contributions by proposing a network simplification method that can effectively remove all redundant network edges and vertices, leading to a significantly reduced network model for accurate and efficient <inline-formula> <tex-math notation="LaTeX">$K$ </tex-math></inline-formula>-terminal reliability analysis. The method is based on graph decomposition and reconstruction through articulation vertices. Empirical studies show that the proposed simplification method integrated with the binary-decision-diagrams based evaluation algorithm can significantly speed up <inline-formula> <tex-math notation="LaTeX">$K$ </tex-math></inline-formula>-terminal reliability analysis of large real-life SCSs.


I. INTRODUCTION
The sensor-cloud system (SCS) integrates sensors, sensor networks, and cloud for managing sensors, collecting and processing data, and subsequent decision-making [1], [2]. The integration provides flexible, low-cost, and reconfigurable platforms for monitoring and controlling objects in various applications, including emerging applications of the Internet of Things (IoT), machine to machine, and cyber-physical systems.
Network models are widely applied for analyzing many SCS systems. Because networks in SCSs usually display a high degree of tolerance to random failures and attacks due to redundant paths, the SCS network reliability analysis is a challenging task. There are two classes of reliability metrics The associate editor coordinating the review of this manuscript and approving it for publication was Datong Liu .
for SCS systems: network-level metrics and application-level metrics.
Network-level metrics concern the reliability or resilience of the whole network. For example, two metrics of isolation time and probability of isolation were studied in [3], where the isolation time is the expected delay before a vertex is forcefully isolated from the network (i.e., the time before all neighbors of the vertex are simultaneously in the failed state) and the probability of isolation is the probability of the isolation occurring within the vertex's lifetime.
Application-level metrics often concern the successful communication among a specified set of vertices through at least one fault-free path or tree [4]. For example, the K -terminal reliability of a network system is concerned with the successful communication between all pairs of vertices of a subset K . The K -terminal network reliability evaluation is known to be an NP-hard problem [5]. In this article, we focus on the problem of K -terminal network reliability evaluation.
One common class of traditional exact evaluation of K -terminal reliability is based on the enumeration of all minimal paths (MPs) or minimal cuts (MCs). Once all MPs/MCs are identified, the network reliability can be evaluated using different techniques, like inclusion-exclusion (IE) or sum of disjoint products (SDPs) [6]. The major limitation of the MPs/MCs-based methods is as the number of network edges becomes large, the number of MPs/MCs can become too large to be evaluated using the IE or SDPs expression. Recently, the recursive decomposition algorithms have been proposed by integrating a shortest path search algorithm and a disjoint path identification process to improve the efficiency of network reliability calculation [7]. In [8], a matrix-based system reliability method was proposed based on efficient matrix manipulations and MCs identification. Later, the methods in [5]- [8] were integrated and applied to estimate the reliability of a real-world network in [9], where a smaller number of non-minimal disjoint sets were identified to fully represent the network connectivity. Although the methods in [5]- [9] improved the computational efficiency, they still need to deal with the exponentially increasing number of MPs/MCs. In [10], in order to improve the computational efficiency of MP/MC identification or inclusion-exclusion calculation, a universal generating function (UGF)-based recursive procedure was proposed to evaluate the network reliability. The UGF-based method was improved by Yeh through some reduction techniques in [11]. However, the UGF-based methods still suffer from computational inefficiency on large-scale networks. A survey of recent developments of UGF-based methods in the field of network reliability estimation can be found in [12].
To solve large-scale networks, the Monte Carlo Simulation (MCS) approaches can be used because their computational efficiency depends largely on the convergence of probability not the size of networks. However, it has been shown that in highly reliable networks the crude MCS method is impractical, because the probability of network failure is a rare-event probability [13], [14]. The search for efficient MCS algorithms for highly reliable networks has resulted in a number of variance reduction methods, such as conditional MCS approaches, approximate zero-variance importance sampling [15], and combinations of these [16]. For a survey of these methods see [17]. It should be noted that the statistical errors in the simulation-based approaches may result in slow convergence for achieving acceptable accuracy in low probability estimations and in parameter sensitivity calculations, and this challenge may hamper the rapid reliability estimation for large-scale networks.
In the last few decades, binary decision diagrams (BDD), an extraordinarily efficient method to represent and manipulate Boolean functions [18], [19], [36], have been exploited to model different classes of systems, such as multi-state systems [20], [21], dynamic systems [22], [37], phased-mission systems [23], [24], [38], IoT systems and networks [39], [40], wireless sensor networks [41], [42], and online social networks [43]. Among these efforts, BDD-based approaches for reliability analysis of large-scale networks were proposed in [25]- [29]. Despite the efficiency improvement over the traditional MP/MC based approaches, the BDD-based method can become inefficient or even impractical for analyzing very large networks. Therefore, some researchers have attempted to develop network reduction techniques to simplify the target network for BDD-based network reliability analysis. However, these efforts are still partial; the existing network simplification techniques cannot effectively remove all the redundant vertices. For example, in [25]- [27], a vertex (other than the source and sink) is defined as a redundant vertex if only one another vertex is connected to it. These redundant vertices can be easily identified using the definition and be removed to avoid manipulation of some redundant graph searching. In practice, vertices with more than one neighboring vertex can also be redundant vertices and thus should be removed for efficient network reliability analysis.
In this article,, we focus on this line of research and make novel contributions by proposing a comprehensive network simplification method. The main contributions of our study can be summarized as follows: 1. Based on the concept of articulation vertices, we construct a valid subnetwork from the original network by removing all redundant networking elements (edges and vertices) that have no contribution to the K -terminal reliability to be evaluated. The method is based on graph decomposition and reconstruction through articulation vertices and has polynomial time complexity. Based on the generated valid subnetwork having fewer elements (edges and vertices), the BDD model can be constructed more quickly by avoiding inefficient manipulations involved in the analysis based on the original network. 2. The size of BDD (i.e., the number of non-sink nodes) encoding a network heavily depends on the chosen ordering of the network components. A comprehensive comparative study has been conducted on the high-performance edge ordering for SCS networks. The performance comparisons among existing ordering heuristics are conducted and some improvements on the heuristic performance for SCS networks are proposed. The rest of this article, is organized as follows: Section II introduces background. Section III is devoted to the development of a simplification method based on articulation vertices for constructing the valid subnetwork and shows the correctness of the proposed simplification method. Experimental data of applying the proposed method to two large real-life SCS network models are presented in Section IV. Finally, Section V gives conclusions.

A. THE CONCEPT OF K-TREE
A K spanning tree, or simply, , denoted by mkt, is a K -tree containing no subgraphs that are also K -trees. For example, the network in Fig.2(a) is a K -tree of G in Fig.1, but it is not a minimal K -tree because one of its subgraphs as shown in Fig.2(b) is also a K -tree. Fig.3 presents all different minimal K -trees for the example network in Fig.1.

B. K-TERMINAL RELIABILITY
Each edge k of G is subject to failure with a known probability q k (0 ≤ q k ≤ 1) or time-to-failure distribution that can derive q k . Thus, p k = 1 − q k represents the reliability of edge k. We assume that all the edge failure events are statistically independent and all the nodes are perfectly reliable. Let mkt i , 1 ≤ i ≤ N , be a minimal K -tree of a network G with N minimal K -trees. The K -terminal reliability of G, denoted by R G , can thus be calculated as shown in Equation (1).
Because mkt i (1 ≤ i ≤ N ) are not disjoint events, the evaluation of (1) cannot be performed by simply adding the probability of each mkt i . Instead, several techniques such as the IE, SDPs, and BDDs can be applied. It has been shown that BDDs are generally more efficient than the IE or SDPs based evaluation. Hence BDDs are selected to evaluate the network reliability R G in this work.

C. VALID SUBNETWRK
According to Equation (1), it can be derived that the K -terminal reliability of G can be correctly calculated from a subgraph of G where edges and vertices that are not included by any minimal K -tree are deleted. Such a subgraph without edges and vertices that make no contribution to the K -terminal reliability being evaluated is referred to as a valid subnetwork in this work. More formally, a connected subgraph in G = (V , E, K ), VG, is a valid subnetwork iff each edge in VG is included by at least one of the minimal K -trees of G. For the same K set and same network G, the set of all minimal K -trees is unique so there is a unique valid subnetwork. However, different K sets of the same network G have different sets of minimal K -trees and thus cause different valid subnetworks. For example, when K = {1, 4, 5} the valid subnetwork of G in Fig.1 is shown in Fig.4(a), and when K = {3, 8} a different valid subnetwork is shown in Fig.4(b).  In general, the valid subnetwork has fewer elements (edges and vertices) than the original network, leading to faster reliability evaluations. Specifically, based on the valid subnetwork, minpaths and mincuts can be enumerated faster or the BDD model can be constructed more quickly by avoiding inefficient manipulation of numerous redundant graph searching and graph expansions. The question that has to be addressed is: Given a specificK-terminal network G = (V, E, K), how to construct its valid subnetwork?
In [25]- [27], a simple method of removing the redundant vertices (vertices that have only one another vertex connected to) is used. These redundant vertices can be simply identified using the vertex degree (the total number of connections of a vertex). As an illustration, consider the network G in Fig.5(a). When K = {1, 6}, vertex 8 is a redundant vertex because only vertex 2 is connected to it. In this case, the method in [25]- [27] can simplify the network G into a valid subnetwork as shown in Fig.5(b). However, when K = {1, 4, 5} or K = {3, 8}, the network G cannot be successfully simplified into a valid subnetwork as shown in Fig.4 where the removed redundant vertices are not only vertices with degree 1 (i.e., having one edge).
In this article, we propose a generalized method to construct the valid subnetwork of a K -terminal network by identifying and removing all its possible redundant elements.

III. NETWORK SIMPLIFICATION METHODOLOGY
This section presents the proposed network simplification method based on identification of articulation vertices. The correctness of the proposed method is also verified.

A. PROPOSE METHOD
The proposed network simplification method consists of the following three steps.

1) CONSTRUCT AN ARTICULATION VERTICES SET AV
An articulation vertex (AV) in a connected network G is a vertex by removing which and associated edges the network is divided into two or more connected subgraphs. Finding articulation vertices can be done by performing a Depth First Search (DFS) [30]. Specifically, in the DFS tree of an undirected network, the root vertex is an articulation vertex iff it has more than one child; a leaf vertex is never an articulation vertex; a non-leaf, non-root vertex u is an articulation point iff no non-tree edge goes above u from a sub-tree below u.
Consider the network in Fig.1. One possible DFS of the network leads to a tree in Fig 6(a). In this DFS tree, any subtree below vertex 2 has no non-tree edge (dotted edges) going above it, and one sub-tree (consists of vertices 7 and 6) below vertex 3 has no non-tree edge (dotted edges) going above it. VOLUME 8, 2020   Thus, this network has two articulation vertices, i.e., vertices 2 and 3. If vertex 2 is deleted, the network is broken into two connected subgraphs as shown in Fig.6(b); if vertex 3 is deleted, the network is broken into two connected subgraphs as shown in Fig.6(c).

2) CONSTRUCT A REDUNDANT VERTICES SET RV
For each articulation vertex v in the AV, we first delete v and associated edges from G to generate two or more connected subgraphs. For each connected subgraph cc i that does not inlcude any vertex from the K set, we collect all the vertices in cc i denoted by V (cc i ), and add them to RV, i.e., RV = RV ∪ V (cc i ).
Consider the example network in Fig.1 with K = {1, 4, 5}. After the processing of articulation vertex 2, we get

3) CONSTRUCT THE VALID SUBNETWORK
The valid subnetwork can be simply achieved by deleting all redundant vertices in RV and their associated edges from G. Given that the K set in original network G is connected, the obtained valid subnetwork will be a connected graph according to the above three steps. Consider the example network in Fig.1 with K = {1, 4, 5}. By deleting redundant vertices in RV = {6, 7, 8}, we get a valid subnetwork as shown in Fig.7. We can easily check that it includes all edges in the eleven minimal K -trees in Fig.3.

B. CORRECTNESS OF PROPOSE METHOD
In this section, we show that the subnetwork generated by the above three-step method is a valid subnetwork defined in Section II.C.
Firstly, we prove by contradiction that for any vertex in RV it is not included in any minimal K -tree, i.e., it is redundant for the K -terminal communications. Suppose that there is a minimal K -tree mkt that includes a vertex v in RV. According to step 2 in Section III.A, vertex v is in the connected subgraph cc related to articulation vertex u which has no vertex in the K set. There are only two possible cases: 1) the minimal K -tree mkt has a branch ended by v as shown in Fig.8(a) or Fig.8(b). This case is impossible because v is not in the K set and can be delete from mkt; 2) mkt has a loop which connects v and its corresponding articulation vertex u, as shown in Fig.9(a) or Fig.9(b).
This case is also impossible because the minimal K -tree cannot have a loop. Therefore, all the vertices in RV are truly redundant vertices.
Secondly, we prove that for any vertex v appearing in the final valid subnetwork, it is included by at least one of the minimal K -trees, i.e., it is not redundant. There are two possible cases: 1) v is an articulation vertex in the valid subnetwork, as shown in Fig. 10(a), and each connected subgraph cc related to articulation vertex v includes at least one vertex in K (otherwise, cc will be deleted according to step 2 in Section III.A), thus any minimal K -tree will pass v; 2) v is not an articulation vertex. For this second case, let mkt be a minimal K -tree not including v. Given that the valid subnetwork is a connected graph and v is survived in step 3, we can easily find a path p (including v) by adding which to mkt it will have one loop, and in this loop there will be a path q (not including v) that connects two vertices x and y in the K set (q is required to have no other vertices from the K set other than x and y). We can then add path p and delete path q from x to y in mkt, as shown in Fig,10(b) to get a new minimal K -tree mkt' that includes v. To further illustrate various scenarios in this second case, we give three examples using the network in Fig.1 as shown in Fig.11.

IV. APPLICATION
In this section, we apply the proposed simplification method to two SCS benchmarks. To illustrate the effectiveness of the proposed method, the BDD-based evaluation method is then applied to both the simplified network and the original network for K -terminal reliability analysis.

A. ORDERING HEURISTICS
The size of BDD (i.e., the number of non-sink nodes) encoding a network heavily depends on the chosen ordering of the network components. Empirical studies show that there is often a variation of several orders of magnitude between the sizes of BDD of the same network built using different orderings [31]. From a theoretical point of view, finding the best ordering for a relatively large Boolean reliability problem is an intractable task [32]; heuristics have been used to obtain good orderings. The ordering heuristics commonly used to compute the network reliability are typically based on breadth-first search (BFS) or depth-first search (DFS) [31].
The DFS begins at a root vertex and explores as far as possible along each branch before backtracking. In the implementation, edge ordering with DFS uses a last-in-first-out stack data structure to store intermediate results as it traverses a network graph. To illustrate the DFS heuristic, a simple SCS network is used, and the DFS ordering results on all the edges using vertex 0 as the root vertex are given in Fig.12(a). Note that the successors of the currently processed vertex are chosen according to the increasing indices of the vertices during the DFS search process. For example, vertex 0 has 5 successor vertices 1, 2, 3, 6 and 7, vertex 1 is processed before the other vertices.
A key difference between BFS and DFS is the order in which the discovered (adjacent) vertices are explored. The BFS begins at a root vertex and inspects all its successor vertices. Then for each of these successor vertices in turn, it inspects their successor vertices that remain unvisited, and so on. In the implementation, edge ordering with BFS uses a first-in-first-out queue data structure to store intermediate results as it traverses a network graph. Fig. 12(b) illustrates the BFS ordering results for the network example in Fig.12(a) using vertex 0 as the root vertex. The successors of the currently processed vertex are processed in the order of their increasing indices.

B. BENCHMARK SCS ONE
The first benchmark SCS deployed in industry services [33]- [35] has totally 130 vertices and 276 edges as shown in Fig.13.
Consider K = {14, 84}, which are marked with green color in Fig.14(a). By applying the proposed network simplification method, we mark all articulation vertices with yellow color and all vertices in RV with red color. The simplified SCS is obtained by removing all vertices in RV and associated edges, as shown in Fig.14(b). It has 108 vertices and 248 edges.
Consider K = {125, 128}, which are marked with green color in Fig.14(c). By applying our simplification method, the simplified SCS is shown in Fig.13(d), which has 46 vertices and 102 edges. Table 1 gives the experimental data showing the performance improvement achieved by our simplification method. Column 'T 1 ' gives the K -terminal network reliability evaluation time by applying the BDD-based algorithms to the original network. Column 'T 2 ' gives the running time of the network simplification. Column 'T 3 ' gives the K -terminal network reliability evaluation time by applying the BDD-based algorithm to the simplified network. The last column gives the improvement ratio in terms of (T 1 -T 2 -T 3 )/ T 1 .
Nest we investigate the following two questions: Question 1: Does BFS heuristic still outperform the DFS heuristic for the SCS?
Question 2: How to improve the heuristic performance for SCS networks?
To answer Question 1, we test DFS and BFS heuristics on two SCS networks in Fig.14(b) and Fig.14(d). Table 2 gives the experimental data of performance comparison. The 'Rel' column indicates the evaluated K -terminal reliability when each edge is subject to failure with a known probability 0.1. The 'No. ite' column is the total number of if-thenelse expressions generated during the BDD model construction. The 'BDDSize' column is the total number of nonsink nodes in the final BDD model encoding a given K - From the results in Table 2, we get following conclusion, which does not conform to the widely accepted conclusion 'BFS heuristic outperforms the DFS heuristic' drawn from the performance tests based on regular networks [31].
Conclusion 1: For SCS networks, the DFS heuristic is more likely to achieve better performance in BDD size (and also the running time) than the BFS heuristic.
Normally, the successors of the currently processed vertex are chosen according to the preassigned indices of the vertices during the DFS/BFS search process. This scheme has two disadvantages: 1) the same heuristic, applied to different vertex numbering methods of the same network, can give dramatically different results; 2) it gives little respect to the inhomogeneous degree distributions found in the SCS networks.
To answer Question 2 (How to improve the heuristic performance for SCS networks?), we use an improvement technique called 'weighting' to design some variants based on BFS and DFS where a weight is computed and assigned to each vertex before the graph search starts. Then, the successors of the currently processed vertex are chosen according to the weights of the vertices. Here, we use the degree of a vertex as its weight. There are two classes of weighting ordering: increasing degree ordering and decreasing degree ordering. For the increasing degree ordering, the discovered (adjacent) vertices are explored in the order of their increasing degrees, whereas, they are explored in the order of their decreasing degrees for the decreasing degree ordering.
As an illustration, ordering results of the increasing degree DFS (IDDFS), decreasing degree DFS (DDDFS), increasing degree BFS (IDBFS), and decreasing degree BFS (DDBFS) are shown in Fig.12(c)- Fig.12(f). Table 3  For DFS-style heuristics, it can be concluded that: Conclusion 2: For SCS networks, the DDDFS heuristic is more likely to achieve better performance in BDD size than the other two DFS-style heuristics, i.e., choosing the successors of the currently processed vertex in the decreasing degrees order can achieve better performance with a high probability.
For BFS-style heuristics, we get the following conclusion, which is different from Conclusion 2drawn from the performance tests based on DFS.
Conclusion 3: For SCS networks, IDBFS heuristic is more likely to achieve better performance in BDD size than the other two BFS-style heuristics. Specifically, DDBFS heuristic has poor performance because for only one case it can outperform IDBFS but still worse than ordinary BFS.
Finally, according to the comparison results between best DFS-style heuristic 'DDDFS' and best BFS-style 'IDBFS', It can be concluded that: Conclusion 4: For SCS networks, DDDFS heuristic is more likely to achieve better performance in BDD size than IDBFS.

C. BENCHMARK SCS TWO
The second benchmark SCS deployed in a smart grid services [36,37] has totally 89 vertices and 126 edges as shown in Fig.15.
Consider K = {20, 40, 60, 80}, which are marked with green color in Fig.16(a). By applying our simplification method, we mark all articulation vertices with yellow color and all vertices in RV with red color. With the removal of all vertices in RV and associated edges, the simplified SCS is shown in Fig.16(b), which has 28 vertices and 64 edges.
Consider K = {0, 3, 6, 21}, which are marked with green color in Fig.16(c). By applying our simplification method, the simplified SCS is shown in Fig.16(d), which has 22 vertices and 58 edges. Table 4 gives the experimental data of performance comparison. The 'Rel' column indicates the evaluated K -terminal VOLUME 8, 2020 reliability when each edge is subject to failure with a known probability 0.1. Table 5 gives the results of performance comparison among ordinary DFS, ordinary BFS, IDDFS, DDDFS. IDBFS and DDBFS. Table 6 gives the experimental data illustrating the performance improvement achieved by our simplification method combined with the BDD-based algorithm. The data in Table 6 show that the proposed simplification method can significantly improve the efficiency of the BDD-based K -terminal network reliability evaluation.

V. CONCLUSION
In this article,, we propose a network simplification method that can effectively reduce a large network into a smaller valid subnetwork with significantly fewer edges and vertices while retaining the essential K -terminal communication structures for correct network reliability analysis [38], [39]. The method is based on graph decomposition and reconstruction through articulation vertices and has polynomial time complexity. Based on the generated valid subnetwork having fewer elements (edges and vertices), the BDD model can be constructed more quickly by avoiding inefficient manipulation of numerous redundant graph searching and ite expansions involved in the analysis based on the original network.
In this article,, we also investigate the high-performance edge ordering for SCS networks. For regular network benchmarks, the BFS heuristic was shown to outperform other heuristics like DFS in general and thus has been commonly used to generate the ordering for the BDD-based network reliability analysis. However, different conclusions have been derived for SCS networks: 1) the DFS heuristic outperforms the BFS heuristic for most of tested SCS networks; 2) choosing successors of the currently processed vertex according to their degrees may achieve better performance, and DFS and BFS heuristics have different preference for the degree ordering, particularly, the DFS heuristic performs better when choosing successors in the decreasing degrees order while the BFS heuristic performs better when choosing successors in the increasing degrees order.
This work has focused on the K -terminal network reliability, which is mainly concerned with the connectivity of SCSs. In the future we are interested in extending the proposed methodology to consider other characteristics (e.g., sensing coverage, network loading) that contribute to the reliability performance of SCSs [40].
With the drastic development of IoT, the number of connected mobile users is increasing at an unprecedented speed. The increasing popularity of mobile devices has triggered more and more new mobile applications. Thus, we are also interested in extending the K -terminal network reliability analysis for applications in the edge-cloud environment to help the design of effective offloading strategies for multiple mobile devices [41].  VOLUME 8, 2020 JINPING LIAO received the bachelor's degree from Shangrao Normal University. She is currently pursuing the master's degree with Huaqiao University, China. Her research interests include artificial intelligence and machine learning.
XULI LIU received the bachelor's degree from the College of Science and Technology, Gannan Normal University. She is currently pursuing the master's degree with Huaqiao University, China. Her research interests include artificial intelligence and machine learning.