Method for identifying critical links in a communication network

CN117640504BActive Publication Date: 2026-09-22HENAN UNIVERSITY OF TECHNOLOGY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210955481.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-10
Publication Date
2026-09-22
Estimated Expiration
2042-08-10

AI Technical Summary

Technical Problem

[0004]本发明的目的在于提供一种通信网络中关键链路的识别方法,用以解决现有技术在识别大规模网络图的关键链路时可行度不高的问题

Benefits of technology

[0010]其有益效果为:本发明的通信网络中关键链路的识别方法,通过计算网络图G中各个节点的割值,对割值小于等于割值阈值的节点x进行遍历,以判断节点x与其相邻的各邻居节点的边是否为割边,将确定出的割边作为候选边,其余边作为零成本边,对割边进行进一步筛选,筛选出的割边组成的链路即为关键链路。将识别出的关键链路进行屏蔽,能够可靠地维持整个图的连通性,并且本发明的方法计算速度快,额外开销小,能够对大规模网络图的关键链路进行有效屏蔽,进而增强网络的健壮性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117640504B_ABST
    Figure CN117640504B_ABST
Patent Text Reader

Abstract

The application belongs to the technical field of data exchange network, and particularly relates to a method for identifying key links in a communication network. The method comprises the following steps: 1) converting the communication network into an undirected graph G to obtain each node, each edge and edge connectivity of the graph; 2) performing depth-first traversal on the undirected graph G to determine the cut value of each node in the graph G; 3) performing traversal on the node with a cut value less than or equal to a cut value threshold to determine whether the edge between the node x and each adjacent node is a cut edge; and 4) further screening the cut edge to obtain a corresponding minimum cost spanning tree, and the link composed of each edge in the minimum cost spanning tree is the key link to be identified. The method can shield the identified edge link, reliably maintain the connectivity of the whole graph, and effectively shield the key link of a large-scale network graph, thereby enhancing the robustness of the network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of data exchange network technology, and specifically relates to a method for identifying critical links in a communication network. Background Technology

[0002] With the development of internet technology and the continuous expansion of the user base, the robustness of communication networks has gradually become an important indicator for measuring network availability. Network robustness can be seen as the network's ability to cope with failures. Once a large-scale network system fails, it may cause significant losses to upper-layer applications and services, seriously affecting network availability. Therefore, improving network robustness is of great significance for resisting network failures caused by disasters or attacks.

[0003] The emergence of graph computing technology has enabled the use of the properties of nodes and edges in network graphs to enhance network robustness. One existing approach is to pre-deploy redundant nodes or edges to maintain network connectivity in the event of a large-scale network failure. While network capacity may decrease significantly, connectivity is guaranteed, allowing communication between any endpoints. Another approach, when pre-deploying redundancy is impractical or cost-inefficient, is to identify and shield critical links, for example, by strengthening the cable strength and performance of critical links, thereby improving the reliability and attack resistance of the communication network. However, current shielding methods are typically optimized for small-scale scenarios targeting specific nodes. If there are too many potential target nodes, point-to-point optimization becomes impractical. Given the hundreds of thousands or even millions of nodes in today's large-scale networks, existing methods for shielding critical links to enhance network robustness still have significant room for improvement. Summary of the Invention

[0004] The purpose of this invention is to provide a method for identifying critical links in communication networks, in order to solve the problem that the feasibility of existing technologies in identifying critical links in large-scale network graphs is not high.

[0005] To address the aforementioned technical problems, this invention provides a method for identifying critical links in a communication network, comprising the following steps:

[0006] 1) Transform the communication network into an undirected graph G, and obtain each node, each edge and its connectivity.

[0007] 2) Perform a depth-first traversal on the undirected graph G, and determine the cut value of each node in the graph G during the traversal. The cut value of the parent node is equal to the sum of the cut values ​​of all its child nodes and the cut value of the parent node itself.

[0008] 3) For nodes whose cut values ​​obtained in step 2) are less than or equal to the cut value threshold, traverse them. For any node x, traverse all neighboring nodes of the node and determine whether the edge between node x and its neighboring nodes is a cut edge based on the sum of the edge capacities of all edges of node x and the depth of each neighboring node.

[0009] 4) The identified cut edges are used as candidate edges, and the remaining edges are used as zero-cost edges. The zero-cost edges are traversed until all zero-cost edge subtrees are obtained. All edges in the zero-cost edge subtrees are zero-cost edges. The candidate edges are filtered based on the zero-cost edge subtrees, and the filtered cut edges are used as key links in the network.

[0010] The beneficial effects are as follows: The critical link identification method in the communication network of the present invention calculates the cut value of each node in the network graph G, traverses the nodes x whose cut values ​​are less than or equal to the cut value threshold, and determines whether the edges between node x and its neighboring nodes are cut edges. The determined cut edges are used as candidate edges, and the remaining edges are used as zero-cost edges. The cut edges are further filtered, and the links formed by the filtered cut edges are the critical links. By masking the identified critical links, the connectivity of the entire graph can be reliably maintained. Furthermore, the method of the present invention has a fast calculation speed, low additional overhead, and can effectively mask critical links in large-scale network graphs, thereby enhancing the robustness of the network.

[0011] Furthermore, any node r in the undirected graph G is selected as the root node and traversed to obtain the corresponding depth-first traversal subtree. All neighboring nodes of any node x in the subtree are traversed. If a neighboring node is the parent node of node x, then the cut value of node x is its own cut value plus 1, and the cut value of the neighboring node is its own cut value minus 1. If a neighboring node is a child node of node x, then the cut value of node x is the cut value of node z plus the cut value of x itself.

[0012] Its beneficial effects are as follows: Select any node r in the undirected graph G as the root node, and traverse it to obtain the depth-first traversal subtree. Then, calculate the cut value of any node x in the subtree. This method of calculating the cut value is fast and efficient.

[0013] Furthermore, for a node x whose cut value is less than the threshold, traverse the nodes and find all its neighboring nodes. If the neighboring node is the parent node of node x, mark the edge between node x and the neighboring node as a cut edge. If the neighboring node is a child node of node x, determine the degree of the child node and determine whether all edges of the child node are cut edges based on the degree of the child node.

[0014] Its beneficial effects are: by setting a threshold for the cut value, nodes smaller than the cut value threshold are filtered out, and then the cut edge is judged. This not only improves the calculation speed, but also ensures the accuracy of the cut edge selection.

[0015] Furthermore, when the degree of a child node is less than or equal to a set degree threshold, if the edge of the child node has been traversed, the edge will no longer be judged. If the edge of the child node has not been traversed, the edge will be treated as a cut edge, and the degree of the other node of the edge will be judged to determine whether the other edges of the node are cut edges. The judgment ends when the degree of the node is greater than the set degree threshold.

[0016] Its beneficial effect is that when the child node z is less than or equal to the set degree threshold, the cut edge is judged to determine all cut edges. This method can guarantee that all cut edges are selected.

[0017] Furthermore, for node x whose edge capacity is less than the cut threshold, the sum of the edge capacities is judged. If the sum of the edge capacities of node x is less than the set capacity threshold, all edges of that node are marked as cut edges.

[0018] Its beneficial effect is that for a node x whose cut value is less than the cut value threshold, the cut edge is judged by the sum of the capacity of all its edges, so as to mark all cut edges. This method can quickly and conveniently mark whether the edge of node x is a cut edge.

[0019] Furthermore, the degree threshold is set to 2.

[0020] Its beneficial effect is that by setting the degree threshold to 2, it can ensure that the edges of nodes with fewer connected edges are marked as cut edges.

[0021] Further, the filtering process in step 4) is as follows: Based on the generated zero-cost edge subtree, determine the nodes that do not belong to any zero-cost edge subtree, traverse each node one by one, and the traversal ends when all reachable zero-cost edges of the node have been traversed to obtain the corresponding subtree. Delete all cut edges in the subtree whose two ends are both in the subtree. The tree generated by the remaining cut edges is the minimum cost spanning tree, and the links formed by the edges in this tree are the critical links in the network.

[0022] Its beneficial effects are: it further filters the cut edges to generate a minimum-cost spanning tree, and the links formed by the edges in this tree are the critical links in the network. This method is computationally fast, has low overhead, can identify critical links in the network, and reliably maintains the connectivity of the entire graph. Attached Figure Description

[0023] Figure 1 This is a flowchart of the method for identifying critical links in the communication network according to the present invention. Detailed Implementation

[0024] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0025] Example of a method for identifying critical links in a communication network:

[0026] In communication networks, critical links generally refer to important paths within the network. Identifying critical links can be transformed into the minimum cut problem in graph theory. A cut is the process of dividing a graph into two or more disconnected subgraphs. The minimum cut problem is to find the minimum sum of the weights of the edges from the source vertex s to the sink vertex t, which can be defined by the following formula:

[0027] S∪T=V

[0028]

[0029] s∈Sandt∈T

[0030]

[0031] Where s is the source vertex, t is the sink vertex, S is the set of vertices connected by outgoing edges from the source vertex s, T is the set of vertices connected by incoming edges from the sink vertex t, V is the set of vertices in the entire network graph, c(S,T) is the cost from S to T, i.e., the sum of the weights of edges pointing from set S to set T, u is a node belonging to set S, and v is a node belonging to set T. In summary, the minimum cut problem is to find the minimum value of c(S,T) and the edge e(u,v) belonging to that minimum cut.

[0032] In this invention, we first give two definitions: 1. In an undirected graph G with V nodes and E edges, for two disjoint sets of nodes X and Y, X + Y = V. Let E[X,Y] be the set of edges with one end in X and the other end in Y, then E[X,Y] is called the (edge)cut of the undirected graph G. 2. The edge connectivity of a network refers to the minimum number of edges that need to be removed to divide the network into two disjoint sets of nodes.

[0033] The method for identifying critical links in a communication network according to the present invention (also known as the method for ensuring connectivity of large-scale sparse networks by shielding links at minimal cost) is as follows: Figure 1As shown, the communication network is first converted into an undirected graph G, obtaining each node, edge, and its connectivity. Then, Algorithm 2 is used to perform a depth-first traversal of the undirected graph G, determining the cut value of each node in G during the traversal. Next, Algorithm 3 is used to traverse nodes whose cut values ​​obtained by Algorithm 2 are less than or equal to the cut value threshold. For any node x, all its neighboring nodes are traversed to determine whether the edge between node x and its neighboring nodes is a cut edge. Finally, the determined cut edges are used as candidate edges, and the remaining edges are used as zero-cost edges. The zero-cost edges are traversed until all zero-cost edge subtrees are obtained, where all edges in the zero-cost edge subtrees are zero-cost edges. Based on the zero-cost edge subtrees, the candidate edges are filtered, and the filtered cut edges are used as critical links in the network.

[0034] 1. The purpose of converting the communication network into an undirected graph G is to obtain the nodes, edges and their connectivity of the graph.

[0035] 2. Determine the cut value of each node in graph G.

[0036] The purpose of this step is to determine the cut value of each node in the undirected graph G by performing a depth-first traversal. This embodiment refers to this process as Algorithm 2, and the implementation flow of Algorithm 2 is as follows:

[0037] First, initialize three local variables: state variable st, traversal depth dep, and cut value cv of the depth-first traversal tree (DTT). Then, randomly select node r from the network graph as the root node and set its depth dep. r Set it to 1, and recursively call the CheckNode function on node r. For the CheckNode function, first input node x, and set the state variable st of x... x Set to CHECKING (during iteration), this state variable has three values: UNCHECKED, CHECKING, and CHECKED, with a cut value cv. x Set it to 0. Then, iterate through each neighbor node z of x in a random priority order, entering the loop. If st z =CHECKING means that the call to the CheckNode function on z has not yet ended, that is, z is an ancestor node of x, and x is in the DTT. z Internally, then cv x =cv x +1, cv z =cv z -1; otherwise if st z =UNCHECKED means that the CheckNode function was not called on z, that is, x is the parent node of z. z =dep z+1, then call the CheckNode function on the z node, repeat the above process, and change the cv x Updated, the new value is cv x =cv x +cv z until all neighboring nodes are in state st z Once the value changes to CHECKED, the loop ends.

[0038] 3. Determine whether the edge between any node in graph G and its neighboring nodes is a cut edge.

[0039] The purpose of this step is to traverse the nodes whose cut values ​​obtained from Algorithm 2 are less than or equal to the cut value threshold. For any node x, all its neighboring nodes are traversed to determine whether the edges between node x and its neighboring nodes are cut edges. In this embodiment, this process is referred to as Algorithm 3, and the implementation flow of Algorithm 3 is as follows:

[0040] First, for the root node r selected by Algorithm 2, initialize the variable rd = 0. This variable defines the depth of the node whose cut value is less than K closest to the root node of DTT. Next, call the EFunc function. For the EFunc function, first input the node x and the variable rd, if cv x If the cutoff value is ≤K (where K is the cutoff threshold), then update rd by setting rd = dep. x Set the variable `tcap` to the sum of the capacities of all edges connected to node `x`. Then iterate through all neighboring nodes `z` of `x`, entering a loop, and if `dep`... z If <rd or tcap < K' (where K' is the threshold for the sum of the capacities of all edges connected to any node x), it means that (x, z) is at least a DTT boundary edge with a cut value less than K, and (x, z) is marked as a cut edge; when degree z When ≤2, enter the loop if edge (z, fa) z ) is marked, where fa z If the parent node of z is to be traversed, then exit the loop; otherwise, mark the edge (z, fa). z ) is used as a cut edge, and node z is transformed into fa z That is, z = fa z up to degree z >2. End the loop. Otherwise, if node x is the parent node of node z, call the EFunc function on node z to traverse all neighboring nodes of x, and then the loop ends.

[0041] 4. Identify the key links in the diagram.

[0042] The purpose of this step is to further filter the cut edges to obtain the corresponding minimum cost spanning tree. Each edge in the minimum cost spanning tree represents the critical link to be identified. In this embodiment, this process is referred to as Algorithm 4, and the implementation flow of Algorithm 4 is as follows:

[0043] First, input the network graph G obtained by Algorithm 3. The cut edges obtained by Algorithm 3 are called candidate edges, and the remaining edges are called zero-cost edges. Select any edge from the zero-cost edges and perform a depth-first traversal to obtain the corresponding zero-cost edge subtree. All edges in the zero-cost edge subtree are zero-cost edges. Repeat this process until all zero-cost edge subtrees are obtained. Based on the generated zero-cost edge subtrees, identify nodes that do not belong to any zero-cost subtree. Perform a depth-first traversal on each of these nodes. The traversal ends when all reachable zero-cost edges of the node have been traversed, resulting in the corresponding subtree. For example, perform a depth-first traversal on any node n that does not belong to any zero-cost edge subtree until all reachable zero-cost edges of node n have been traversed, resulting in the subtree corresponding to node n. Delete all cut edges in the subtree of node n whose endpoints are both in that subtree, retaining the remaining cut edges. Through this process, further filtering of cut edges can be achieved. The tree generated by the filtered cut edges is the minimum cost spanning tree, and the edges in this tree are the identified critical links.

[0044] The effectiveness of the method of the present invention will be illustrated below by applying it to specific examples.

[0045] First, the efficiency and effectiveness of the algorithm were verified by randomly generating a series of graphs, using test metrics such as running time, cost, and improved network robustness. We compared our invention with a mixed-integer linear programming (MILP)-based optimization algorithm in small-scale graphs with dozens of nodes. Let N represent the number of nodes and D represent the average degree (the average number of edges connecting to a node in the network graph). For each D∈[2,3,4], we first generated 100 small-scale random graphs with N=50 nodes, and then generated 100 scale-free graphs with the same parameters. The cost of each edge in the graph was randomly selected from 1 to 10. In each graph, we tested the solution time, robustness per 1000 K edges, and additional overhead of our invention and MILP. The test results are shown in Table 1 (the numerical format in the table is "average (minimum, maximum)", and the same applies to subsequent tables). The test results show that our invention significantly improves the solution time compared to MILP, by up to five orders of magnitude. Furthermore, our advantage over MILP is even more pronounced, with the best and worst improvement differing by only one order of magnitude. The improvement in solution time achieved by this invention is directly proportional to the average degree of the graph; that is, the denser the graph, the better the solution performance and the higher the level of robustness. Furthermore, there is a small additional cost, with the average additional cost limited to between 6% and 7.5%, decreasing as the degree of the original graph increases. In summary, this invention offers faster solution speed and lower overhead, effectively enhancing the robustness of large-scale networks.

[0046] Table 1. Test results of small random graphs with a target connectivity of 5.

[0047]

[0048] The results of the test using small scale-free graphs are shown in Table 2. The results show that, under the same parameter conditions, the trends of all test indicators in small scale-free graphs are similar to those in small random graphs. We can conclude that the enhancement effect of the present invention on two commonly used network graph types is very significant.

[0049] Table 2. Test results of small scale-free graphs with a target connectivity of 5.

[0050]

[0051] The invention was then tested using large-scale graphs. For each average degree D ∈ [2,3,4], 100 different large-scale random graphs were first generated, with N = 10 nodes. 6However, since existing optimization and approximation methods cannot handle problems of this scale within an acceptable timeframe, we measured and presented three test metrics: absolute solution time, robustness per 1000 K edges, and cost. The test results in Table 3 show that in large-scale graphs, the solution time of this invention can be kept within several thousand seconds, and the solution time increases linearly with the number of edges in the graph. This invention can achieve 100% robustness in small-scale graphs, but in dense graphs, because the probability of ignoring edges with small cut values ​​is low, more edges with large cut values ​​(e.g., edges with a cut value of 4) will be missed, thus the robustness cannot reach 100%, leading to a decrease in robustness. The optimal cost of this invention is proportional to the change in average degree. In summary, this invention enhances the robustness of network graphs within an acceptable timeframe. More importantly, since the preprocessing steps consisting of Algorithms 2 and 3 in this invention occupy most of the solution time, and Algorithms 2 and 3 are independent in each run. From this, we can conclude that if the preprocessing steps at different stages are completely parallelized, the total solution time of this invention can be as low as tens of seconds, based on the runtime measured in the test.

[0052] Table 3. Large random graph with a target connectivity of 5 (number of nodes: 10) 6 Test results

[0053]

[0054] In addition, we generated 100 scale-free large graphs with the same parameters. The test results are shown in Table 4. The solution time and network robustness are similar to those of large random graphs. The solution time is related to the total number of edges, but the optimal cost is significantly increased compared to large random graphs. This is because the distribution of edges in scale-free graphs is more uneven. Most of the local sparsity of scale-free graphs is higher than that of random graphs, so the algorithm needs to mask more edges.

[0055] Table 4. Large scale-free graphs with a target connectivity of 5 (number of nodes: 10) 6 Test results

[0056]

[0057] In summary, the present invention has the following characteristics:

[0058] The critical link identification method in the communication network of the present invention calculates the cut value of each node in the network graph G, traverses the nodes x whose cut values ​​are less than or equal to the cut value threshold, and determines whether the edges between node x and its neighboring nodes are cut edges. The determined cut edges are used as candidate edges, and the undirected graph is traversed to determine the minimum cost spanning tree. The edges in this tree are the critical links in the network. The present invention selects edges quickly with near-optimal cost and masks the identified edge links, which can reliably maintain the connectivity of the entire graph. Furthermore, the method of the present invention has fast calculation speed, low additional overhead, and can effectively mask critical links in large-scale network graphs, thereby enhancing the robustness of the network.

Claims

1. A method for identifying critical links in a communication network, characterized in that, Includes the following steps: 1) Transform the communication network into an undirected graph G, and obtain each node, each edge and its connectivity. 2) Perform a depth-first traversal on the undirected graph G, and determine the cut value of each node in the graph G during the traversal. The cut value of the parent node is equal to the sum of the cut values ​​of all its child nodes and the cut value of the parent node itself. 3) For nodes whose cut values ​​obtained in step 2) are less than or equal to the cut value threshold, traverse them. For any node x, traverse all neighboring nodes of the node and determine whether the edge between node x and its neighboring nodes is a cut edge based on the sum of the edge capacities of all edges of node x and the depth of each neighboring node. For a node x whose degree is less than the cut threshold, traverse all its neighbor nodes. If the neighbor node is the parent node of node x, mark the edge between node x and the neighbor node as a cut edge. If the neighbor node is a child node of node x, when the degree of the child node is less than or equal to the set degree threshold, if the edge of the child node has been traversed, the edge will not be judged again. If the edge of the child node has not been traversed, the edge will be marked as a cut edge, and the degree of the other node of the edge will be judged to determine whether the other edges of the node are cut edges. The judgment ends when the degree of the node is greater than the set degree threshold. The sum of the capacities of all edges of node x that are less than the cut threshold is judged. If the sum of the capacities of all edges of node x is less than the set capacity threshold, all edges of that node are marked as cut edges. 4) The identified cut edges are used as candidate edges, and the remaining edges are used as zero-cost edges. The zero-cost edges are traversed until all zero-cost edge subtrees are obtained. All edges in the zero-cost edge subtrees are zero-cost edges. The candidate edges are filtered based on the zero-cost edge subtrees, and the filtered cut edges are used as key links in the network. Based on the generated zero-cost edge subtrees, identify nodes that do not belong to any zero-cost edge subtree. Traverse each node one by one. The traversal ends when all reachable zero-cost edges of the node have been traversed and the corresponding subtree is obtained. Delete all cut edges in the subtree whose two ends are in the subtree. The tree generated by the remaining cut edges is the minimum cost spanning tree. The links formed by the edges in this tree are the critical links in the network.

2. The method for identifying critical links in a communication network according to claim 1, characterized in that, In an undirected graph G, select any node r as the root node and traverse it to obtain the corresponding depth-first traversal subtree. For any node x in the subtree, traverse all neighboring nodes. If a neighboring node is the parent node of node x, then the cut value of node x is its own cut value plus 1, and the cut value of the neighboring node is its own cut value minus 1. If a neighboring node is a child node of node x, then the cut value of node x is the cut value of the neighboring node plus the cut value of x itself.

3. The method for identifying critical links in a communication network according to claim 2, characterized in that, When traversing node r as the root node, the CheckNode function is called recursively.

4. The method for identifying critical links in a communication network according to claim 3, characterized in that, The CheckNode function sets three values ​​for the input node's state variable: UNCHECKED, CHECKING, and CHECKED. CHECKING indicates that the CheckNode function call has not yet ended, UNCHECKED indicates that the CheckNode function has not been called, and CHECKED indicates that the CheckNode function has been called.

5. The method for identifying critical links in a communication network according to claim 1, characterized in that, The threshold value is set to 2.

Citation Information

Patent Citations

  • Method for positioning nodes of undigraph

    CN102314606A

  • Complex network protective method oriented towards adding of protective links of key nodes

    CN103200118A