A software optical network controller deployment method and system using improved A* algorithm
By improving the A* algorithm and the minimum dominance set theory, the deployment of software optical network controllers is optimized, solving the problems of insufficient system robustness and high deployment cost in existing technologies. This enables the rapid finding of a set of controller nodes that meet the link and latency requirements, thereby improving the network's reliability and self-healing capabilities.
Patent Information
- Application Number
- CN202510006748.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-03
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2045-01-03
AI Technical Summary
Existing software-based optical network controller deployment methods cannot quickly find a set of controller nodes that meet the link and latency requirements, resulting in insufficient system robustness and high deployment costs.
An improved A* algorithm is adopted to generate a set of controller nodes. Based on the constraints of reliability and transmission delay, the number and location of controllers are determined. The layout of controllers is optimized by using the minimum dominating set method to reduce controller redundancy.
It improves controller response speed, reduces deployment costs, and enhances the network's self-healing and normal operation capabilities in the event of a failure.
Smart Images

Figure CN119814643B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of cross-layer survivability design of the control plane in software-defined optical networks. Specifically, it is a software optical network controller deployment method and system that combines regional control and centralized control in the control plane and adopts an improved A* algorithm. Background Technology
[0002] Controller deployment algorithms refer to the methods used in a network or system to rationally deploy controllers to various nodes or locations according to certain rules and objectives, in order to achieve effective control and optimization of the system. Their main purpose is to improve system control efficiency, reduce latency, and enhance reliability and stability.
[0003] The deployment methods for Software Optical Network Controllers (SONCs) can vary depending on the specific network architecture, hardware conditions, and service requirements. Currently, the main approaches are as follows: 1. Minimum cut-based controller deployment algorithms enhance control plane survivability within the same cluster but neglect the survivability of control planes between different clusters and do not resolve conflicts between multiple controllers at the same level. 2. The Control Plane based on Minimum Point Covering (CP-MPC) algorithm employs a "protection + recovery" mechanism, effectively reducing conflicts between multiple controllers in multiple network clusters, but its deployment cost is relatively high. 3. Delay-Constrained Deployment (DCD) algorithms ensure the user's latency requirements are met and reduce controller costs to some extent, but do not consider the impact of link failures. 4. Software-defined optical network controller deployment algorithms under survivability constraints, such as Chinese patent CN111953522A, can fully guarantee the network's survivability requirements. However, it imposes limitations on the control link length, resulting in poor performance in networks with long links. Furthermore, it has shortcomings in quantifying network failure probabilities and does not fully exploit the survivability guarantees of multipath connections between nodes.
[0004] In summary, current software-defined optical network controller deployment methods have many shortcomings, mainly in the inability to quickly find a set of controller nodes that meet the link and latency requirements. This results in insufficient system robustness and high deployment costs. Summary of the Invention
[0005] To address the problems existing in current technologies, this invention proposes a software optical network controller deployment method and system employing an improved A* algorithm. This method and system utilize the improved A* algorithm to generate a set of possible controller nodes. Based on constraints on reliability and transmission delay, it generates the required number and location of controllers to be deployed. Furthermore, it identifies node pairs that meet reliability requirements and calculates the deployment scheme using a minimum dominating set method. Compared to existing similar technologies, this deployment method and system can reduce controller redundancy, improve controller response speed, and lower deployment costs while meeting given reliability performance requirements.
[0006] In a first aspect, the present invention proposes a method for deploying a software optical network controller using an improved A* algorithm, the method comprising:
[0007] Obtain a set of network nodes, and divide the set of network nodes into a set of starting nodes and a set of target nodes;
[0008] By improving the A* algorithm, the shortest path without multiple edges from any starting node to all target nodes and the path length are obtained, thus obtaining the first set of paths;
[0009] Based on the specific time delay requirements from any starting node to all target nodes, a second set of paths that meet the time delay conditions is obtained by filtering from the first set of paths;
[0010] Based on the link error probability from any starting node to all target nodes, a third set of paths that meet the reliability conditions is obtained by filtering from the second set of paths.
[0011] Based on the third path set, the first set of nodes where the controller needs to be deployed is determined.
[0012] Furthermore, the improved A* algorithm is used to find the shortest path without multiple edges from any starting node to all target nodes and the path length, resulting in the first path set including:
[0013] Select the node with the lowest overall cost value from the preset open list as the current node;
[0014] If the current node is the target node, rebuild the path and return the result; otherwise, remove the current node from the preset open list and add it to the preset closed list.
[0015] Iterate through all neighboring nodes of the current node;
[0016] If a neighboring node is in the preset closed list, then skip that neighboring node;
[0017] If a neighboring node is not in the preset open list, the neighboring node is added to the open list, and the estimated cost value from the current node to the neighboring node and the actual cost value from the starting node to the current node are calculated according to the smooth transition heuristic function. The comprehensive cost value from the starting point to the neighboring node is calculated based on the actual cost value and the estimated cost value.
[0018] If a neighboring node is in the preset open list, check if the actual cost of reaching that neighboring node through the current node is lower. If it is lower, update the estimated cost, actual cost, and total cost, and update the parent node of that neighboring node to the current node.
[0019] Repeat the above steps until the target node is found or the preset open list is empty;
[0020] Once the destination is determined, starting from the destination, the path back to the starting point is constructed by tracing back through the parent node pointers, thus forming the first path set.
[0021] Furthermore, the step of calculating the estimated cost from the current node to its neighboring nodes based on the heuristic function of smooth transition includes:
[0022] When the number of explored nodes in the preset open list is less than the preset threshold, a relaxed heuristic function is used to calculate the estimated cost value from the current node to its neighboring nodes.
[0023] When the number of explored nodes in the preset open list is not less than the preset threshold, the estimated cost from the current node to its neighboring nodes is calculated using a tightened heuristic function.
[0024] The dynamic smoothing factor is calculated based on the ratio of the number of explored nodes in the preset open list to a preset threshold.
[0025] The estimated generation value from the current node to its neighboring nodes is adjusted based on the dynamic smoothing factor.
[0026] Furthermore, the relaxed heuristic function is the estimated cost from the current node to its neighboring nodes corresponding to the minimum relaxation coefficient; the tightened heuristic function is the estimated cost from the current node to its neighboring nodes corresponding to the maximum tightening coefficient.
[0027] Furthermore, the method also includes:
[0028] Based on the first set of nodes where controllers need to be deployed, determine the set of controllers directly connected to the current switch node;
[0029] Based on the length of the direct connection path between the current switch node and each controller, the controller to which the current switch node belongs can be determined.
[0030] Furthermore, the method also includes:
[0031] Based on the first set of nodes where the controller needs to be deployed, determine the average path length between any node in the first set and other nodes;
[0032] Based on the first path set and the first node set where the controller needs to be deployed, determine the number of acyclic paths from any node in the first node set to other nodes;
[0033] Based on the average path length between any node in the first node set and other nodes, and the number of acyclic paths from any node in the first node set to other nodes, the nodes where the central controller needs to be deployed are determined.
[0034] Furthermore, determining the nodes for which the central controller needs to be deployed based on the average path length between any node in the first node set and other nodes, and the number of acyclic paths from any node in the first node set to other nodes, includes:
[0035] The normalized mean path length of the current node is calculated based on the maximum, minimum, and current values of the mean path length between any node in the first node set and other nodes.
[0036] The normalized number of acyclic paths to the current node is calculated based on the maximum and current value of the number of acyclic paths from any node to other nodes in the first node set.
[0037] The score of the current node is calculated based on the mean normalized path length and the number of normalized acyclic paths of the current node.
[0038] Based on the scores of each node, the node with the highest score is determined as the node where the central controller needs to be deployed.
[0039] In a second aspect, the present invention also proposes a software optical network controller deployment system employing an improved A* algorithm, the system comprising:
[0040] The first access unit is used to acquire a set of network nodes and divide the set of network nodes into a set of starting nodes and a set of target nodes.
[0041] The first configuration unit is used to find the shortest path without multiple edges from any starting node to all target nodes and the path length by using the improved A* algorithm, so as to obtain the first path set.
[0042] The second configuration unit is used to filter the first path set to obtain a second path set that meets the time delay conditions based on the specific time delay requirements from any starting node to all target nodes.
[0043] The third configuration unit is used to select a third path set that meets the reliability conditions from the second path set based on the link error probability from any starting node to all target nodes.
[0044] The first deployment unit is used to determine the first set of nodes where the controller needs to be deployed based on the third path set.
[0045] Furthermore, the system includes:
[0046] The second deployment unit is used to determine the set of controllers directly connected to the current switch node based on the first set of controllers to be deployed; and to obtain the controller to which the current switch node belongs based on the direct connection path length between the current switch node and each controller.
[0047] Furthermore, the system includes:
[0048] The third deployment unit is used to determine the average path length between any node in the first node set and other nodes based on the first node set where controllers need to be deployed; and to determine the number of loop-free paths from any node in the first node set to other nodes based on the first path set and the first node set where controllers need to be deployed; and to determine the nodes where the central controller needs to be deployed based on the average path length between any node in the first node set and other nodes and the number of loop-free paths from any node in the first node set to other nodes.
[0049] The beneficial effects of this invention are:
[0050] This invention employs an improved A* algorithm to find the shortest path without repeated edges from any starting node to all target nodes, along with the path length, resulting in a first path set. This improved A* algorithm not only guarantees finding the optimal path but also effectively reduces memory consumption and improves search performance in large-scale networks. By considering specific latency requirements from any starting node to all target nodes, a second path set satisfying the latency condition is selected from the first path set. This allows for the selection of paths meeting the latency condition as control links for switching devices, effectively ensuring the timeliness of network control. By considering the link error probability from any starting node to all target nodes, a third path set satisfying the reliability condition is selected from the second path set. Calculations are performed on paths without loops between network topology nodes to assess network reliability. Simultaneously, suitable controller nodes are selected, significantly enhancing the network's ability to maintain normal operation during faults. When a network fault occurs, it can quickly switch to a suboptimal link as the control link, strengthening the network's self-healing capability. Furthermore, after fault repair, it can return to an efficient link configuration state. This invention determines the first set of nodes where controllers need to be deployed by using the third path set; it optimizes the layout of controllers by using mathematical theories such as minimum dominance sets, thereby reducing controller redundancy and improving resource utilization efficiency. Attached Figure Description
[0051] Figure 1 This is a deployment scenario diagram of the software optical network controller according to an embodiment of the present invention;
[0052] Figure 2 This is a flowchart of the deployment of a software optical network controller using the improved A* algorithm according to the first embodiment of the present invention;
[0053] Figure 3 This is a flowchart of the deployment of a software optical network controller using the improved A* algorithm according to the second embodiment of the present invention;
[0054] Figure 4 This is a flowchart of the deployment of a software optical network controller using the improved A* algorithm according to the third embodiment of the present invention.
[0055] Figure 5 This is a structural diagram of the software optical network controller deployment system using the improved A* algorithm according to the first embodiment of the present invention;
[0056] Figure 6 This is a schematic diagram of the deployment structure of the software optical network controller using the improved A* algorithm according to the second embodiment of the present invention;
[0057] Figure 7 This is a schematic diagram of the deployment structure of a software optical network controller using the improved A* algorithm according to the third embodiment of the present invention. Detailed Implementation
[0058] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0059] This invention proposes a software optical network controller deployment method and system employing an improved A* algorithm to optimize network reliability and transmission latency in software-defined optical networks. In the initial stage, a maximum acceptable failure rate and a maximum control transmission latency standard are set for the network, and calculations are performed on the failure rate over a 100-kilometer fiber optic cable. The quantified value of the control link failure rate is determined based on the link length, and links meeting the control transmission latency conditions are identified in the undirected connected network topology. Subsequently, the joint probability density of paths without overlap between two points is calculated to keep it below the allowable failure probability, thereby improving network reliability. Due to the transmission latency constraint, links that do not meet the requirements are eliminated, which may result in the network topology being divided into logical sub-regions that meet latency and reliability requirements. Finally, a controller is deployed within each sub-region to minimize the number of controllers, reduce network redundancy, and ensure that the logical links between any OpenFlow switch and controller within the sub-region meet the reliability and latency requirements.
[0060] Figure 1 This is a deployment scenario diagram of the software optical network controller according to an embodiment of the present invention, such as... Figure 1 As shown, Figure 1 This diagram illustrates the controller deployment model, clearly showing its architecture. The model presents a three-layer structure: from top to bottom, a central controller, regular controllers, and OpenFlow switches. Based on survivability and latency requirements, the network is divided into multiple distinct regions. Within each region, the assigned controller is responsible for managing the OpenFlow switches within that region, and all regional controllers are under the control of the central controller.
[0061] Figure 2 This is a flowchart of the deployment of a software optical network controller using the improved A* algorithm according to the first embodiment of the present invention, as shown below. Figure 2 As shown, the method includes:
[0062] 101. Obtain the set of network nodes, and divide the set of network nodes into a set of starting nodes and a set of target nodes;
[0063] In this embodiment of the invention, the network node set includes at least SDN switch nodes and SDN controller nodes. SDN switch nodes are data plane devices in the SDN architecture, responsible for forwarding data packets; SDN controllers are control plane devices in the SDN architecture, responsible for managing and configuring the entire network. SDN switch nodes are selected from all network nodes to form the starting node set. This can be achieved by checking the node type identifier or related configuration information. For example, in a network management system, the device type field of a node can be queried, and nodes with the device type "SDN switch" can be added to the starting node set. The target node set can be obtained by excluding the already determined starting node set from all network node sets. These nodes will serve as a candidate set for controllers, providing candidates for subsequent controller selection and deployment.
[0064] 102. By improving the A* algorithm, find the shortest path without multiple edges from any starting node to all target nodes and the path length, and obtain the first set of paths;
[0065] In this embodiment of the invention, the traditional A* algorithm is improved to obtain an A* algorithm based on dynamic adjustment of search depth. By dynamically adjusting the heuristic function and storage strategy, the improved A* algorithm can not only guarantee finding the optimal path, but also effectively reduce memory consumption and improve the search performance of the algorithm in large-scale networks.
[0066] The evaluation function of the A* algorithm is f(v) = g(v) + h(v), where g(v) is the actual cost of reaching the current node from the starting node, and h(v) is the estimated cost of reaching the target node from the current node, also known as the heuristic function. During the traversal, the target node is the neighboring node of the current node. The improved A* algorithm's heuristic function is h(v) = (α + k(m) * (β - α)) * dist(v, v g ). Where dist(v,v g ) represents the distance from the current node v to the target node v. g The actual distance is given by α and β, where α and β are two extreme coefficients of the heuristic function, determining its relaxation and tightening degrees. α represents the minimum relaxation degree of the heuristic function, used to control its relaxation level in the initial stage. β represents the maximum tightening degree of the heuristic function, used to gradually tighten it as the search progresses, focusing on a better path. k(m) is a dynamic adjustment factor that smoothly transitions the heuristic function based on the number of nodes m searched.
[0067] Specifically, the improved heuristic function is divided into an initial search phase and a deep search phase based on the number of nodes already searched and a given threshold p.
[0068] In the initial search stage, when the number of explored nodes in the preset open list is less than the preset threshold, a loose heuristic function is used to calculate the estimated cost value from the current node to its neighbor nodes; that is, when the number of explored nodes m < p, a relatively loose heuristic function is used:
[0069] h(v) = α * dist(v, v g )
[0070] where α is a relatively small coefficient to increase the exploration of distant nodes, and v g is the target node.
[0071] In the in-depth search stage, when the number of explored nodes in the preset open list is not less than the preset threshold, a tightened heuristic function is used to calculate the estimated cost value from the current node to its neighbor nodes; that is, when the number of explored nodes m ≥ p, it is gradually adjusted to a tighter heuristic function:
[0072] h(v) = β * dist(v, vg)
[0073] where β is a relatively large coefficient, making the heuristic function pay more attention to the nodes closer to the target, thus guiding the search to focus on the area near the target.
[0074] To avoid the heuristic function from jumping excessively and affecting the stability of the search process, a smooth transition mechanism is designed. That is, the adjustment of the heuristic function is not directly from loose to tight, but is gradually adjusted through a transition factor k(m). This factor will gradually adjust the weight coefficient of the heuristic function as the number of searched nodes increases, ensuring a natural and continuous transition. According to the ratio of the number of explored nodes in the preset open list to the preset threshold, the dynamic smoothing factor is calculated:
[0075] k(m) = m / p
[0076] According to the dynamic smoothing factor, the estimated cost value from the current node to its neighbor nodes is adjusted, and the adjustment form of the heuristic function is:
[0077] (α + k(m) * (β - α)) * dist(v, v g )
[0078] where k(m) is dynamically adjusted according to the number of processed nodes, and it determines the relaxation degree of the heuristic function. As the search process deepens, k(m) will increase, thus gradually tightening the heuristic function and focusing the search on the paths more likely to reach the target. In this way, the heuristic function gradually transitions in different stages, enabling the search process to expand quickly and converge precisely.
[0079] Based on the improved heuristic function described above, this embodiment of the invention uses the improved A* algorithm to find the shortest path without repeated edges from any starting node to all target nodes and the path length, resulting in a first set of paths including:
[0080] Select the node with the lowest overall cost value from the preset open list as the current node;
[0081] If the current node is the target node, rebuild the path and return the result; otherwise, remove the current node from the preset open list and add it to the preset closed list.
[0082] Iterate through all neighboring nodes of the current node;
[0083] If a neighboring node is in the preset closed list, then skip that neighboring node;
[0084] In this embodiment of the invention, the node v with the minimum total cost is selected from the OPEN queue. c If v c If the node is the target node, it indicates that the shortest path has been found, the loop exits, and backtracking begins. If it is not the target node, it is removed from the OPEN list and added to the CLOSE list, indicating that the node has been processed to avoid duplicate processing.
[0085] If a neighboring node is not in the preset open list, the neighboring node is added to the open list, and the estimated cost value from the current node to the neighboring node and the actual cost value from the starting node to the neighboring node are calculated according to the smooth transition heuristic function. The comprehensive cost value from the starting point to the neighboring node is calculated based on the actual cost value and the estimated cost value.
[0086] In this embodiment of the invention, if the neighboring node v c If the node is already in the CLOSED list, skip it. Calculate g(v) n ), that is, the path cost from the starting node to the neighboring node: g(v n )=g(v c )+cost(v c ,v n If v n Not in g_values, or the new g(v) n If ) is smaller, then update g(v) n ), h(v n ) and f(v n ):
[0087] g_values[v n ]=g(v n )
[0088] h_values[v n] = heuristic(v n ,v g )
[0089] f_values[v n ] = g_values[v n ]+h_values[v n ]
[0090] Based on the above formula, the updated v n Add to the OPEN queue.
[0091] If a neighboring node is in the preset open list, check if the actual cost of reaching that neighboring node through the current node is lower. If it is lower, update the estimated cost, actual cost, and total cost, and update the parent node of that neighboring node to the current node.
[0092] Repeat the above steps until the target node is found or the preset open list is empty;
[0093] Once the destination is determined, starting from the destination, the path back to the starting point is constructed by tracing back through the parent node pointers, thus forming the first path set.
[0094] The preset open list queue stores nodes to be expanded, and the initialization includes the starting node v. s The default closed list (CLOSED) queue stores processed nodes. The g_values dictionary stores the actual cost (path length) from the starting node to each node. Initially, g_values[v s ] = 0. The h_values dictionary stores the heuristic cost estimate for each node; initially, h_values[v s ] = heuristic(v s ,v g The `f_values` dictionary stores the total cost for each node, where `f_values[m] = g_values[m] + h_values[m]`. This process and storage strategy aim to minimize memory usage.
[0095] Through the improved A* algorithm of the embodiments of the present invention, a coordinate system is established for the undirected graph of the network topology. The edge weights in the graph represent distances, and the nodes have coordinate information. The improved A* algorithm is used to solve the shortest path between v1 and v2. For example, α = 0.8, β = 1.5, and p = 4 are selected. After recording, all the edges of the recorded route are removed from the graph. In the updated graph, the A* algorithm is run again to find a new shortest route from v1 to v2 and record it. This process is continuously repeated until there is no feasible route between v1 and v2. For other nodes in the network, the same method is used to determine the unique path starting from v1, and the lengths of these paths are recorded, so as to obtain the final first path set.
[0096] It can be understood that the embodiments of the present invention adopt an A* algorithm based on dynamic adjustment of search depth. By dynamically adjusting the heuristic function and storage strategy, the improved A* algorithm can not only ensure finding the optimal path, but also effectively reduce memory consumption and improve the search performance of the algorithm in a large-scale network, so as to quickly find the shortest path without duplicate edges that meets the conditions and obtain the first path set.
[0097] 103. According to the specific delay requirements from any starting node to all target nodes, screen and obtain a second path set that meets the delay conditions from the first path set;
[0098] In the embodiments of the present invention, according to the first constraint condition in the formula M i / C f <T, the maximum path length d0 allowed under the delay requirement is calculated, where M i is the length of the i-th control link in the network, C f is the propagation speed of light in the optical fiber, and T is the maximum control delay of the network. Remove the paths in the first path set whose lengths exceed d0, so as to form a second path set that meets the delay requirements.
[0099] In the embodiments of the present invention, for the switching device, select the path that meets the delay conditions as the control link, which effectively ensures the timeliness of network control.
[0100] 104. According to the link error probability from any starting node to all target nodes, screen and obtain a third path set that meets the reliability conditions from the second path set;
[0101] In the embodiments of the present invention, select one of the nodes in the second path set as the deployment node of the controller. When this controller controls other nodes, the probability that the entire link fails completely is calculated by the following formula: In the formula, d m (v i , v j ) is the node v iand node v j The m-th link between and node v that satisfies the given delay constraint condition. p represents the failure probability of the optical fiber per 100 kilometers. This parameter is a fixed value determined by the optical fiber material used in the link. For any two nodes, calculate through the above formula to obtain the link error probability between any two points. Nodes v i,j that satisfy P i and node v j are connected to form a network topology graph, where P is the probability of link alarms that users can accept. The obtained topology graph may be a connected graph or multiple connected subgraphs. Take each node and its connection relationship in these network topology graphs as the third path set that meets the reliability conditions.
[0102] In the embodiment of the present invention, when the network fails, it can quickly switch to the sub-optimal link to act as the control link, strengthening the self-repair function of the network, and can return to the efficient link setting state after the fault is repaired. The simulation experiment data shows that this strategy can effectively reduce the network failure rate and the deployment scale of the controller, and has significant optimization and improvement compared with the existing algorithms.
[0103] Through the embodiment of the present invention, calculate the paths between network topology nodes without loops to evaluate the reliability of the network, and at the same time select suitable nodes for placing the controller, effectively enhancing the ability of the network to maintain normal operation when encountering faults and improving the reliability of the deployed system.
[0104] 105. Determine the first node set where the controller needs to be deployed according to the third path set.
[0105] In the embodiment of the present invention, the minimum dominating set with the smallest number of nodes can be found from the network topology graph corresponding to the third path set. When there is only one minimum dominating set that meets the conditions, select the nodes of this dominating set to place the SDN controller. When there are multiple minimum dominating sets that meet the conditions, select the minimum dominating set with the largest total degree, and place the SDN controller with the nodes of this dominating set. In this way, the first node set for deploying the controller is obtained.
[0106] In the embodiment of the present invention, mathematical theories such as the minimum vertex dominating set are used to optimize the layout of the controller, reducing the redundancy of the controller and improving the utilization efficiency of resources.
[0107] Figure 3 is the software optical network controller deployment flowchart of the second embodiment of the present invention using the improved A* algorithm. As Figure 3 shown, the method includes:
[0108] 111. Obtain the network node set and divide the network node set into a starting node set and a target node set;
[0109] 112. By improving the A* algorithm, find the shortest path without multiple edges from any starting node to all target nodes and the path length, and obtain the first set of paths;
[0110] 113. Based on the specific time delay requirements from any starting node to all target nodes, select a second set of paths from the first set of paths that meet the time delay conditions;
[0111] 114. Based on the link error probability from any starting node to all target nodes, select a third set of paths that meet the reliability conditions from the second set of paths;
[0112] 115. Based on the third path set, determine the first set of nodes where the controller needs to be deployed;
[0113] In this embodiment of the invention, steps 111-115 can refer to steps 101-105, and will not be repeated in this embodiment.
[0114] 116. Based on the first set of nodes where controllers need to be deployed, determine the set of controllers directly connected to the current switch node;
[0115] In this embodiment of the invention, after determining the first set of nodes where controllers need to be deployed in step 115, all controllers directly connected to the current switch are determined in a connected subgraph.
[0116] 117. Based on the direct path length between the current switch node and each controller, determine the controller to which the current switch node belongs.
[0117] In this embodiment of the invention, based on the current link lengths from the OpenFlow switch to each controller, the controller with the shortest link length is selected and designated as the dedicated controller for that switch. The selection of controllers for the remaining switches can be performed using the same principle and method.
[0118] Figure 4 This is a flowchart of the deployment of a software optical network controller using the improved A* algorithm according to the third embodiment of the present invention, as shown below. Figure 4 As shown, the method includes:
[0119] 121. Obtain the set of network nodes, and divide the set of network nodes into a set of starting nodes and a set of target nodes;
[0120] 122. By improving the A* algorithm, find the shortest path without multiple edges from any starting node to all target nodes and the path length, and obtain the first set of paths;
[0121] 123. Based on the specific time delay requirements from any starting node to all target nodes, select a second set of paths from the first set of paths that meet the time delay conditions;
[0122] 124. Based on the link error probability from any starting node to all target nodes, select a third set of paths that meet the reliability conditions from the second set of paths;
[0123] 125. Based on the third path set, determine the first set of nodes where the controller needs to be deployed;
[0124] In this embodiment of the invention, steps 121-125 can refer to steps 101-105, and will not be described again in this invention.
[0125] 126. Based on the first set of nodes for which the controller needs to be deployed, determine the average path length between any node in the first set of nodes and other nodes;
[0126] 127. Based on the first path set and the first node set where the controller needs to be deployed, determine the number of acyclic paths from any node in the first node set to other nodes;
[0127] 128. Based on the average path length between any node in the first node set and other nodes, and the number of acyclic paths from any node in the first node set to other nodes, determine the nodes where the central controller needs to be deployed.
[0128] In this embodiment of the invention, step 128 may include:
[0129] The normalized mean path length of the current node is calculated based on the maximum, minimum, and current values of the mean path length between any node in the first node set and other nodes.
[0130] Here, it is assumed that the deployed controller deployment node is Calculate the average path length between each controller deployment node and other controller nodes. Right now Where A ij For nodes arrive The shortest path length. Record the maximum and minimum values of the mean, i.e.
[0131] The normalized number of acyclic paths to the current node is calculated based on the maximum and current value of the number of acyclic paths from any node to other nodes in the first node set.
[0132] For each controller node The summation of the number of all acyclic paths reaching the remaining nodes gives M. i ,Right now Where M ij Deploy nodes for the controller To the node The number of acyclic paths, denoted as M. max =max(M1,M2,…,M) u ).
[0133] The score of the current node is calculated based on the mean normalized path length and the number of normalized acyclic paths of the current node.
[0134] Wherein, according to the formula Calculate the score S for each controller node. i The score of this controller node reflects its importance.
[0135] Based on the scores of each node, the node with the highest score is determined as the node where the central controller needs to be deployed.
[0136] In some embodiments, steps 116-117 may be included before step 126. Through these steps, the first set of nodes for deploying the controller can be determined first, the controller node to which the switch belongs can be determined second, and the node for deploying the central controller can be determined finally.
[0137] Figure 5 This is a structural diagram of the software optical network controller deployment system using the improved A* algorithm according to the first embodiment of the present invention; as shown. Figure 5 As shown, the system includes:
[0138] The first access unit 201 is used to acquire a set of network nodes and divide the set of network nodes into a set of starting nodes and a set of target nodes.
[0139] The first configuration unit 202 is used to find the shortest path without multiple edges from any starting node to all target nodes and the path length by using the improved A* algorithm, so as to obtain the first path set;
[0140] The second configuration unit 203 is used to filter the first path set to obtain a second path set that meets the time delay conditions based on the specific time delay requirements from any starting node to all target nodes.
[0141] The third configuration unit 204 is used to select a third path set that meets the reliability conditions from the second path set based on the link error probability from any starting node to all target nodes.
[0142] The first deployment unit 205 is used to determine the first set of nodes for which the controller needs to be deployed based on the third path set.
[0143] This embodiment obtains a set of network nodes through a first access unit 201 and divides the set of network nodes into a set of starting nodes and a set of target nodes. A first configuration unit 202 uses an improved A* algorithm to find the shortest path without repeated edges from any starting node to all target nodes and the path length, obtaining a first path set. A second configuration unit 203 filters the first path set to obtain a second path set that meets the latency requirements from any starting node to all target nodes. A third configuration unit 204 filters the second path set to obtain a third path set that meets the reliability requirements based on the link error probability from any starting node to all target nodes. A first deployment unit 205 determines the first set of nodes from which controllers need to be deployed based on the third path set. This allows for the rapid identification of a set of controller nodes that meet the link and latency requirements, improving system robustness and reducing deployment costs.
[0144] Figure 6 This is a schematic diagram of the deployment structure of a software optical network controller using the improved A* algorithm according to the second embodiment of the present invention; as shown. Figure 6 As shown, the system includes:
[0145] The first access unit 201 is used to acquire a set of network nodes and divide the set of network nodes into a set of starting nodes and a set of target nodes.
[0146] The first configuration unit 202 is used to find the shortest path without multiple edges from any starting node to all target nodes and the path length by using the improved A* algorithm, so as to obtain the first path set;
[0147] The second configuration unit 203 is used to filter the first path set to obtain a second path set that meets the time delay conditions based on the specific time delay requirements from any starting node to all target nodes.
[0148] The third configuration unit 204 is used to select a third path set that meets the reliability conditions from the second path set based on the link error probability from any starting node to all target nodes.
[0149] The first deployment unit 205 is used to determine the first set of nodes for which the controller needs to be deployed based on the third path set.
[0150] The second deployment unit 216 is used to determine the set of controllers directly connected to the current switch node based on the first set of controllers to be deployed; and to obtain the controller to which the current switch node belongs based on the direct connection path length between the current switch node and each controller.
[0151] This embodiment obtains a set of network nodes through a first access unit 201 and divides the set of network nodes into a set of starting nodes and a set of target nodes. A first configuration unit 202 uses an improved A* algorithm to find the shortest path without repeated edges from any starting node to all target nodes and the path length, obtaining a first path set. A second configuration unit 203 filters the first path set to obtain a second path set that meets the latency requirements from any starting node to all target nodes. A third configuration unit 204 filters the second path set to obtain a third path set that meets the reliability requirements based on the link error probability from any starting node to all target nodes. A first deployment unit 205 determines the first set of nodes where controllers need to be deployed based on the third path set. A second deployment unit 216 determines the set of controllers directly connected to the current switch node based on the first set of nodes where controllers need to be deployed; and determines the controller to which the current switch node belongs based on the direct connection path length between the current switch node and each controller. This allows for faster identification of the controller node set that meets the link and latency requirements, improving system robustness and reducing deployment costs. Figure 7 This is a schematic diagram of the deployment structure of a software optical network controller employing an improved A* algorithm according to the third embodiment of the present invention. Figure 7 As shown, the system includes:
[0152] The first access unit 221 is used to acquire a set of network nodes and divide the set of network nodes into a set of starting nodes and a set of target nodes.
[0153] The first configuration unit 222 is used to find the shortest path without multiple edges from any starting node to all target nodes and the path length by using the improved A* algorithm, so as to obtain the first path set;
[0154] The second configuration unit 223 is used to filter the first path set to obtain a second path set that meets the time delay conditions based on the specific time delay requirements from any starting node to all target nodes.
[0155] The third configuration unit 224 is used to select a third path set that meets the reliability conditions from the second path set based on the link error probability from any starting node to all target nodes.
[0156] The first deployment unit 225 is used to determine the first set of nodes for which the controller needs to be deployed based on the third path set.
[0157] The second deployment unit 226 is used to determine the set of controllers directly connected to the current switch node based on the first set of controllers to be deployed; and to obtain the controller to which the current switch node belongs based on the direct connection path length between the current switch node and each controller.
[0158] The third deployment unit 227 is used to determine the average path length between any node in the first node set and other nodes based on the first node set where controllers need to be deployed; and to determine the number of loop-free paths from any node in the first node set to other nodes based on the first path set and the first node set where controllers need to be deployed; and to determine the nodes where the central controller needs to be deployed based on the average path length between any node in the first node set and other nodes and the number of loop-free paths from any node in the first node set to other nodes.
[0159] In this embodiment, a network node set is obtained through a first access unit 221, and the network node set is divided into a starting node set and a target node set. A first configuration unit 222 uses an improved A* algorithm to calculate the shortest path without repeated edges from any starting node to all target nodes and the path length, obtaining a first path set. A second configuration unit 223 filters the first path set to obtain a second path set that meets the latency requirements from any starting node to all target nodes. A third configuration unit 224 filters the second path set to obtain a third path set that meets the reliability requirements based on the link error probability from any starting node to all target nodes. A first deployment unit 225 determines the first node set for which controllers need to be deployed based on the third path set. A second deployment unit 226 determines the set of controllers directly connected to the current switch node based on the first node set for which controllers need to be deployed, and obtains the controller to which the current switch node belongs based on the direct connection path length between the current switch node and each controller. The third deployment unit 227 determines the average path length between any node in the first node set and other nodes based on the first node set where controllers need to be deployed; it also determines the number of loop-free paths from any node in the first node set to other nodes based on the first path set and the first node set where controllers need to be deployed; and finally, based on the average path length between any node in the first node set and other nodes, and the number of loop-free paths from any node in the first node set to other nodes, it determines the nodes where the central controller needs to be deployed. This allows for the rapid identification of a set of controller nodes that meet the link and latency requirements, improving system robustness and reducing deployment costs.
[0160] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, which may include ROM, RAM, disk, or optical disk, etc.
[0161] Although embodiments of the invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the appended claims and their equivalents.
Claims
1. A method for deploying a software optical network controller using an improved A* algorithm, characterized in that, The method includes: Obtain a set of network nodes, and divide the set of network nodes into a set of starting nodes and a set of target nodes; The improved A* algorithm is used to find the shortest path without repeated edges from any starting node to all target nodes and the path length, thus obtaining a first set of paths. This first set of paths includes: Select the node with the lowest overall cost value from the preset open list as the current node; If the current node is the target node, rebuild the path and return the result; otherwise, remove the current node from the preset open list and add it to the preset closed list. Iterate through all neighboring nodes of the current node; If a neighboring node is in the preset closed list, then skip that neighboring node; If a neighboring node is not in the preset open list, the neighboring node is added to the open list, and the estimated cost value from the current node to the neighboring node and the actual cost value from the starting node to the current node are calculated according to the smooth transition heuristic function. The comprehensive cost value from the starting point to the neighboring node is calculated based on the actual cost value and the estimated cost value. If a neighboring node is in the preset open list, check if the actual cost of reaching that neighboring node through the current node is lower. If it is lower, update the estimated cost, actual cost, and total cost, and update the parent node of that neighboring node to the current node. Repeat the above steps until the target node is found or the preset open list is empty; Once the destination is determined, starting from the destination, we backtrack to the starting point step by step through the parent node pointers, thereby constructing the shortest path from the starting point to the destination, which constitutes the first path set. According to the specific delay requirements from any starting node to all target nodes, a second path set that meets the delay conditions is filtered from the first path set; including: According to the formula M i / C f <The first constraint condition in T, calculate the maximum path length d0 allowed under the delay requirements, where M i is the length of the i-th control link in the network, C f is the propagation speed of light in the optical fiber, and T is the maximum control delay of the network; Remove the paths with lengths exceeding d0 from the first path set, thereby forming a second path set that meets the delay requirements; Based on the link error probability from any starting node to all target nodes, a third set of paths that meet the reliability conditions is obtained by filtering from the second set of paths. Based on the third path set, the first set of nodes where the controller needs to be deployed is determined.
2. The method for deploying a software optical network controller using an improved A* algorithm according to claim 1, characterized in that, The calculation of the estimated cost from the current node to its neighboring nodes based on the heuristic function of smooth transition includes: When the number of explored nodes in the preset open list is less than the preset threshold, a relaxed heuristic function is used to calculate the estimated cost value from the current node to its neighboring nodes. When the number of explored nodes in the preset open list is not less than the preset threshold, the estimated cost from the current node to its neighboring nodes is calculated using a tightened heuristic function. The dynamic smoothing factor is calculated based on the ratio of the number of explored nodes in the preset open list to a preset threshold. The estimated generation value from the current node to its neighboring nodes is adjusted based on the dynamic smoothing factor.
3. The method for deploying a software optical network controller using an improved A* algorithm according to claim 2, characterized in that, The relaxed heuristic function is the estimated cost from the current node to its neighboring nodes corresponding to the minimum relaxation coefficient; the tightened heuristic function is the estimated cost from the current node to its neighboring nodes corresponding to the maximum tightening coefficient.
4. The method for deploying a software optical network controller using an improved A* algorithm according to claim 1, characterized in that, The method further includes: Based on the first set of nodes where controllers need to be deployed, determine the set of controllers directly connected to the current switch node; Based on the length of the direct connection path between the current switch node and each controller, the controller to which the current switch node belongs can be determined.
5. A method for deploying a software optical network controller using an improved A* algorithm according to claim 1 or 4, characterized in that, The method further includes: Based on the first set of nodes where the controller needs to be deployed, determine the average path length between any node in the first set and other nodes; Based on the first path set and the first node set where the controller needs to be deployed, determine the number of acyclic paths from any node in the first node set to other nodes; Based on the average path length between any node in the first node set and other nodes, and the number of acyclic paths from any node in the first node set to other nodes, the nodes where the central controller needs to be deployed are determined.
6. The method for deploying a software optical network controller using an improved A* algorithm according to claim 5, characterized in that, The steps to determine the nodes for which a central controller needs to be deployed, based on the average path length between any node in the first node set and other nodes, and the number of acyclic paths from any node in the first node set to other nodes, include: The normalized mean path length of the current node is calculated based on the maximum, minimum, and current values of the mean path length between any node in the first node set and other nodes. The normalized number of acyclic paths to the current node is calculated based on the maximum and current value of the number of acyclic paths from any node to other nodes in the first node set. The score of the current node is calculated based on the mean normalized path length and the number of normalized acyclic paths of the current node. Based on the scores of each node, the node with the highest score is determined as the node where the central controller needs to be deployed.
7. A software optical network controller deployment system employing an improved A* algorithm, characterized in that, The system includes: The first access unit is used to acquire a set of network nodes and divide the set of network nodes into a set of starting nodes and a set of target nodes. The first configuration unit is used to find the shortest path without repeated edges from any starting node to all target nodes and the path length using the improved A* algorithm, thus obtaining a first path set; including: Select the node with the lowest overall cost value from the preset open list as the current node; If the current node is the target node, rebuild the path and return the result; otherwise, remove the current node from the preset open list and add it to the preset closed list. Iterate through all neighboring nodes of the current node; If a neighboring node is in the preset closed list, then skip that neighboring node; If a neighboring node is not in the preset open list, the neighboring node is added to the open list, and the estimated cost value from the current node to the neighboring node and the actual cost value from the starting node to the current node are calculated according to the smooth transition heuristic function. The comprehensive cost value from the starting point to the neighboring node is calculated based on the actual cost value and the estimated cost value. If a neighboring node is in the preset open list, check if the actual cost of reaching that neighboring node through the current node is lower. If it is lower, update the estimated cost, actual cost, and total cost, and update the parent node of that neighboring node to the current node. Repeat the above steps until the target node is found or the preset open list is empty; Once the destination is determined, starting from the destination, we backtrack to the starting point step by step through the parent node pointers, thereby constructing the shortest path from the starting point to the destination, which constitutes the first path set. The second configuration unit is used to screen out a second path set that meets the delay condition from the first path set according to the specific delay requirements from any starting node to all target nodes; it includes: according to the formula M i / C f <The first limiting condition in T, calculate the maximum path length d0 allowed under the delay requirement, where M i is the length of the i-th control link in the network, C f is the propagation speed of light in the optical fiber, and T is the maximum control delay of the network; remove the paths with lengths exceeding d0 from the first path set to form a second path set that meets the delay requirement; The third configuration unit is used to select a third path set that meets the reliability conditions from the second path set based on the link error probability from any starting node to all target nodes. The first deployment unit is used to determine the first set of nodes where the controller needs to be deployed based on the third path set.
8. A software optical network controller deployment system employing an improved A* algorithm according to claim 7, characterized in that, The system includes: The second deployment unit is used to determine the set of controllers directly connected to the current switch node based on the first set of controllers to be deployed; and to obtain the controller to which the current switch node belongs based on the direct connection path length between the current switch node and each controller.
9. A software optical network controller deployment system employing an improved A* algorithm according to claim 7 or 8, characterized in that, The system includes: The third deployment unit is used to determine the average path length between any node in the first node set and other nodes based on the first node set where controllers need to be deployed; and to determine the number of loop-free paths from any node in the first node set to other nodes based on the first path set and the first node set where controllers need to be deployed; and to determine the nodes where the central controller needs to be deployed based on the average path length between any node in the first node set and other nodes and the number of loop-free paths from any node in the first node set to other nodes.
Citation Information
Patent Citations
Software optical network controller deployment method and storage medium
CN111953522A
An optimal path selection algorithm based on machine learning under SDN
CN109831386A
SDN controller deployment method based on user survivability condition constraint
CN110061859A