Software optical network controller deployment method and system adopting improved A* algorithm
By improving the A* algorithm and the minimum point dominant set method, the problem of not being able to quickly find a set of controller nodes in the prior art that meets link requirements and delay requirements is solved, and the effect of reducing controller redundancy and deployment costs is achieved.
Patent Information
- Application Number
- CN202510006748.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-03
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2045-01-03
AI Technical Summary
The existing software optical network controller deployment method cannot quickly find a collection of controller nodes that meet link requirements and delay requirements, resulting in insufficient system robustness and high deployment costs.
The improved A* algorithm is used to generate a set of possible controller nodes, and the number and location of required deployed controllers are determined based on the constraints of reliability and transmission delay. The deployment plan is calculated by the minimum point dominant set method.
Under the given reliability performance conditions, reduce controller redundancy, improve controller response speed, and reduce deployment costs.
Smart Images

Figure CN119814643A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of cross-layer survivability design of control plane in software defined optical network, and specifically provides a software optical network controller deployment method and system using improved A* algorithm to combine regional control with centralized control in the control plane. Background Art
[0002] The controller deployment algorithm refers to the reasonable deployment of controllers to various nodes or locations in a network or system according to certain rules and goals to achieve effective control and optimization of the system. Its main purpose is to improve the control efficiency of the system, reduce latency, and enhance reliability and stability.
[0003] The deployment method of Software Optical Network Controller (SONC) can vary according to the specific network architecture, hardware conditions and business requirements. At present, there are mainly the following methods: 1. The controller deployment algorithm based on minimum cut enhances the survivability of the control plane within the same cluster, but ignores the survivability of the control plane between different clusters, and does not solve the conflict problem of multiple controllers of the same level. 2. The control plane based on minimum point coverage (CP-MPC) algorithm adopts the "protection + recovery" mechanism to effectively reduce the conflict problem of multiple controllers in the control plane of multiple network clusters, but its controller deployment cost is relatively high. 3. The controller deployment algorithm with control delay as a constraint (Delay-Constrained Deployment, DCD) guarantees the user's demand for delay and reduces the controller cost on a certain basis, but does not take into account 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 survivability requirements of the network, but it limits the length of the control link and performs poorly in networks with longer links. It also has deficiencies in quantifying the probability of network failures and does not fully exploit the multi-path survivability guarantee between nodes.
[0004] In summary, the current software optical network controller deployment method has many shortcomings, mainly because it is impossible to quickly find a set of controller nodes that meet the link requirements and latency requirements, which leads to insufficient system robustness and high deployment costs. Summary of the invention
[0005] Based on the problems existing in the prior art, the present invention proposes a software optical network controller deployment method and system using an improved A* algorithm. The deployment method and system use the improved A* algorithm to generate a possible set of controller nodes, and generate the number of controllers required to be deployed and the locations of controllers required to be deployed under the constraints of reliability and transmission delay. And thus, a node pair that can meet the reliability requirements can be given, and a deployment plan can be calculated using the minimum point dominating set method. Compared with existing similar technologies, the deployment method and system can reduce controller redundancy, improve controller response speed, and reduce deployment costs while meeting given reliability performance conditions.
[0006] In a first aspect of the present invention, the present invention proposes a software optical network controller deployment method using an improved A* algorithm, the method comprising:
[0007] Acquire a network node set, and divide the network node set into a start node set and a target node set;
[0008] By improving the A* algorithm, the shortest path without repeated edges from any starting node to all target nodes and the path length are obtained to obtain the first path set;
[0009] According to a specific delay requirement from any starting node to all target nodes, a second path set satisfying the delay condition is obtained from the first path set;
[0010] According to the link error probability from any starting node to all target nodes, a third path set satisfying the reliability condition is obtained from the second path set;
[0011] According to the third path set, a first node set on which a controller needs to be deployed is determined.
[0012] Furthermore, the improved A* algorithm is used to find the shortest path without duplicate edges from any starting node to all target nodes and the path length, and the first path set is obtained, including:
[0013] Select the node with the lowest comprehensive 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] Traverse all neighbor nodes of the current node;
[0016] If the neighbor node is in the preset closed list, skip the neighbor node;
[0017] If the neighbor node is not in the preset open list, the neighbor node is added to the open list, and the estimated cost value from the current node to the neighbor node and the actual cost value from the starting node to the current node are calculated according to the heuristic function of smooth transition, and the comprehensive cost value from the starting point to the neighbor node is calculated according to the actual cost value and the estimated cost value;
[0018] If the neighbor node is in the preset open list, check whether the actual cost of passing through the current node and reaching the neighbor node is lower. If it is lower, update the estimated cost, actual cost and comprehensive cost, and update the parent node of the neighbor node to the current node;
[0019] Repeat the above steps until the target node is found or the preset open list is empty;
[0020] When the end point is determined, starting from the end point, the path is gradually traced back to the starting point through the parent node pointer, so as to construct the shortest path from the starting point to the end point to form a first path set.
[0021] Further, the calculating of the estimated cost from the current node to the neighboring node according to 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 loose heuristic function is used to calculate the estimated cost from the current node to the neighboring node;
[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 the neighboring node 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 the preset threshold;
[0025] According to the dynamic smoothing factor, the estimated cost value from the current node to the neighboring node is adjusted.
[0026] Furthermore, the loose heuristic function is the estimated cost from the current node to the neighboring node corresponding to the minimum relaxation degree coefficient; the tightened heuristic function is the estimated cost from the current node to the neighboring node corresponding to the maximum tightening degree coefficient.
[0027] Furthermore, the method further comprises:
[0028] According to the first node set where the controller needs to be deployed, determine a controller set directly connected to the current switch node;
[0029] According to the length of the direct connection path between the current switch node and each controller, the controller to which the current switch node belongs is obtained.
[0030] Furthermore, the method further comprises:
[0031] According to the first node set where the controller needs to be deployed, determining a mean value of the path length between any node in the first node set and other nodes;
[0032] Determine the number of loop-free paths from any node in the first node set to other nodes according to the first path set and the first node set on which the controller needs to be deployed;
[0033] The nodes where the central controller needs to be deployed are determined according to the average value of the 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.
[0034] Furthermore, the determining of nodes where a central controller needs to be deployed according to the mean value of the 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] According to the maximum value, minimum value and current value of the path length mean between any node in the first node set and other nodes, the normalized path length mean of the current node is calculated;
[0036] Calculate the normalized acyclic path quantity value of the current node according to the maximum value and current value of the acyclic path quantity from any node to other nodes in the first node set;
[0037] The score of the current node is calculated based on the normalized path length mean and the normalized acyclic path number of the current node;
[0038] According to the score values of each node, the node with the highest score value is determined as the node where the central controller needs to be deployed.
[0039] In a second aspect of the present invention, the present invention further proposes a software optical network controller deployment system using an improved A* algorithm, the system comprising:
[0040] A first access unit is used to obtain a network node set and divide the network node set into a start node set and a target node set;
[0041] A first configuration unit is used to obtain a first path set by using an improved A* algorithm to find the shortest path without duplicate edges from any starting node to all target nodes and the path length;
[0042] A second configuration unit is used to filter the first path set to obtain a second path set that meets the delay condition according to a specific delay requirement from any starting node to all target nodes;
[0043] A third configuration unit, configured to filter the second path set to obtain a third path set that meets the reliability condition according to the link error probability from any starting node to all target nodes;
[0044] The first deployment unit is used to determine a first node set where a controller needs to be deployed according to the third path set.
[0045] Furthermore, the system comprises:
[0046] The second deployment unit is used to determine the controller set directly connected to the current switch node according to the first node set of controllers that need to be deployed; and obtain the controller to which the current switch node belongs according to the direct connection path length between the current switch node and each controller.
[0047] Furthermore, the system comprises:
[0048] A third deployment unit is used to determine, based on the first node set where the controller needs to be deployed, an average path length between any node in the first node set and other nodes; and to determine, based on the first path set and the first node set where the controller needs to be deployed, the number of loop-free paths from any node in the first node set to other nodes; and to determine the nodes where 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 loop-free paths from any node in the first node set to other nodes.
[0049] Beneficial effects of the present invention:
[0050] The embodiment of the present invention obtains the shortest path without multiple edges and the path length from any starting node to all target nodes by using an improved A* algorithm, and obtains a first path set, so that the improved A* algorithm can not only ensure the optimal path, but also effectively reduce memory consumption and improve the search performance of the algorithm in large-scale networks. Through the specific delay requirements from any starting node to all target nodes, a second path set that meets the delay conditions is screened from the first path set; the path that meets the delay conditions can be selected as a control link for the switching device, which effectively guarantees the timeliness of network control. Through the link error probability from any starting node to all target nodes, a third path set that meets the reliability conditions is screened from the second path set; the path without loops between network topology nodes is calculated to judge the reliability of the network, and a suitable controller is selected to place the node, which effectively enhances the ability of the network to maintain normal operation when encountering a fault; when a network fault occurs, it can quickly switch to a suboptimal link to serve as a control link, which strengthens the self-repair function of the network, and can return to an efficient link setting state after the fault is repaired. The present invention determines the first node set where the controller needs to be deployed through the third path set; and optimizes the layout of the controller with the help of mathematical theories such as the minimum point dominating set, thereby reducing the redundancy of the controller and improving the efficiency of resource utilization. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] Figure 1 is a deployment scenario diagram of a software optical network controller according to an embodiment of the present invention;
[0052] Figure 2 is a flow chart of software optical network controller deployment using an improved A* algorithm according to a first embodiment of the present invention;
[0053] Figure 3 is a flow chart of software optical network controller deployment using an improved A* algorithm according to a second embodiment of the present invention;
[0054] Figure 4 is a flow chart of software optical network controller deployment using an improved A* algorithm according to a third embodiment of the present invention;
[0055] Figure 5 is a structural diagram of a software optical network controller deployment system using an improved A* algorithm according to a first embodiment of the present invention;
[0056] Figure 6 is a schematic diagram of the deployment structure of a software optical network controller using an improved A* algorithm according to a second embodiment of the present invention;
[0057] Figure 7 It is a schematic diagram of the deployment structure of a software optical network controller using an improved A* algorithm according to the third embodiment of the present invention. DETAILED DESCRIPTION
[0058] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0059] The present invention proposes a software optical network controller deployment method and system using an improved A* algorithm, which is used to optimize the reliability and transmission delay of the network in a software defined optical network. In the initial stage, the maximum failure rate value and the maximum control transmission delay standard that the network can bear are set, and the failure rate of a hundred kilometers of optical fiber is calculated. The quantitative value of the control link failure rate is determined according to the link length, and the link that meets the control transmission delay condition is identified in the undirected connected network topology structure graph. Subsequently, the joint probability density of the path without duplication between the two points is calculated so that it is below the allowable failure probability, thereby improving the reliability of the network. Due to the limited conditions of transmission delay, those links that do not meet the requirements will be eliminated, which may cause the network topology graph to be divided into logical sub-region graphs that meet the delay and reliability requirements. Finally, the controller is deployed in each sub-region graph, the purpose is to control the number of controllers to the minimum level, reduce the redundancy of the network, and ensure that the logical link between any Openflow switch and the controller in the sub-region graph can meet the requirements of reliability and delay.
[0060] Figure 1 is a diagram of a deployment scenario of a software optical network controller according to an embodiment of the present invention, such as Figure 1 As shown, Figure 1 The figure shows a schematic diagram of the controller deployment model, which clearly records the deployment architecture of the controller. The deployment model presents a three-layer structure, from top to bottom, including the central controller, the general controller, and the openflow switch. Based on the requirements of survivability and latency, the network is divided into multiple different areas. In each area, the controller is responsible for controlling the openflow switches in the area, and the controllers of each area are under the control of the central controller.
[0061] Figure 2 FIG. 1 is a flow chart of deploying a software optical network controller using an improved A* algorithm according to a first embodiment of the present invention. Figure 2 As shown, the method includes:
[0062] 101. Acquire a network node set, and divide the network node set into a start node set and a target node set;
[0063] In an embodiment of the present invention, the network node set includes at least an SDN interactive machine node and an SDN controller node. The SDN switch node is a data plane device in the SDN architecture, responsible for forwarding data packets; the SDN controller is a control plane device in the SDN architecture, responsible for managing and configuring the entire network; the SDN switch nodes are screened out from all network nodes, and these nodes are formed into a starting node set. This can be achieved by checking the type identification or related configuration information of the node. For example, in a network management system, the device type field of the node can be queried, and the node with the device type of "SDN switch" can be added to the starting node set. The target node set can be obtained by excluding the determined starting node set from all network node sets. These nodes will serve as a controller candidate set to provide candidates for subsequent controller selection and deployment.
[0064] 102. By improving the A* algorithm, the shortest path without repeated edges from any starting node to all target nodes and the path length are obtained to obtain a first path set;
[0065] In an embodiment of the present invention, the embodiment of the present invention improves the traditional A* algorithm 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 ensure that the optimal path is found, 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 process, the target node is the neighbor node of the current node. The improved A* algorithm heuristic function is h(v)=(α+k(m)*(β-α))*dist(v,v g ). where dist(v,v g ) represents the transition from the current node v to the target node v g The actual distance, where α and β are two extreme coefficients of the heuristic function, which determine the relaxation and tightening of the heuristic function. α represents the minimum relaxation of the heuristic function, which is used to control the looseness of the heuristic function in the initial stage. β represents the maximum tightening of the heuristic function, which is used to gradually tighten the heuristic function after the search goes deep and focus on the better path. k(m) is a dynamic adjustment factor that smoothly transitions the heuristic function according to the number of nodes m that have been searched.
[0067] Specifically, the improved heuristic function is divided into an initial search phase and an in-depth search phase according to the number of nodes that have been 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 adjusted 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, which determines the relaxation degree of the heuristic function. As the search progresses deeper, 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, the embodiment of the present invention obtains the shortest path without duplicate edges from any starting node to all target nodes and the path length by improving the A* algorithm, and obtains the first path set including:
[0080] Select the node with the lowest comprehensive 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] Traverse all neighbor nodes of the current node;
[0083] If the neighbor node is in the preset closed list, skip the neighbor node;
[0084] In the embodiment of the present invention, the node v with the smallest total cost is selected from the OPEN queue. c , if v c If it is the target node, it means that the shortest path is found, the loop is exited, and the backtracking path is started. 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 repeated processing.
[0085] If the neighbor node is not in the preset open list, the neighbor node is added to the open list, and the estimated cost value from the current node to the neighbor node and the actual cost value from the starting node to the neighbor node are calculated according to the smooth transition heuristic function, and the comprehensive cost value from the starting point to the neighbor node is calculated according to the actual cost value and the estimated cost value;
[0086] In this embodiment of the present invention, if the neighbor node v c If it is already in the CLOSED list, skip this node. 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 ) 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] According to the above formula, the updated v n Join the OPEN queue.
[0091] If the neighbor node is in the preset open list, check whether the actual cost of passing through the current node and reaching the neighbor node is lower. If it is lower, update the estimated cost, actual cost and comprehensive cost, and update the parent node of the neighbor node to the current node;
[0092] Repeat the above steps until the target node is found or the preset open list is empty;
[0093] When the end point is determined, starting from the end point, the path is gradually traced back to the starting point through the parent node pointer, so as to construct the shortest path from the starting point to the end point to form a first path set.
[0094] The preset open list OPEN queue stores the nodes to be expanded, and the initialization includes the starting node v s The preset closed list CLOSED queue stores the processed nodes, g_values dictionary: stores the actual cost (path length) from the starting node to each node, initially g_values[v s ]=0. h_values dictionary: stores the heuristic estimated cost of each node. Initially h_values[v s ]=heuristic(v s ,v g ). f_values dictionary: stores the total cost of each node, f_values[m] = g_values[m] + h_values[m]. Through the above process and storage strategy, the memory usage can be reduced as much as possible.
[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 the 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 large-scale networks, 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, filter out 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 those 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, filter out 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 completely fails 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 fiber optic failure probability per 100 kilometers, which is a fixed value determined by the fiber optic 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 satisfies the reliability condition.
[0102] In the embodiment of the present invention, when a network failure occurs, it can quickly switch to a sub-optimal link to act as a control link, strengthening the network's self-healing function, and can return to an efficient link setting state after the failure is repaired. Simulation experiment data shows that this strategy can effectively reduce the network failure rate and the deployment scale of the controller, with significant optimization and improvement compared to 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 controllers, effectively enhancing the ability of the network to maintain normal operation when encountering failures and improving the reliability of the deployed system.
[0104] 105. Determine the first node set that needs to deploy controllers 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 use this dominating set as the nodes to place the SDN controller. In this way, the first node set for deploying controllers 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 controllers, reducing the redundancy of the controllers 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, the shortest path without repeated edges from any starting node to all target nodes and the path length are obtained to obtain the first path set;
[0110] 113. According to a specific delay requirement from any starting node to all target nodes, a second path set satisfying the delay condition is obtained by screening from the first path set;
[0111] 114. Filter the second path set to obtain a third path set that meets the reliability condition according to the link error probability from any starting node to all target nodes;
[0112] 115. Determine, according to the third path set, a first node set where a controller needs to be deployed;
[0113] In the embodiment of the present invention, the steps 111-115 may refer to steps 101-105, which will not be described in detail in this embodiment.
[0114] 116. Determine a controller set directly connected to the current switch node according to the first node set where the controller needs to be deployed;
[0115] In the embodiment of the present invention, after the first node set where the controller needs to be deployed is determined in step 115, all controllers directly connected to the current switch are determined in a connected subgraph.
[0116] 117. According to the length of the direct connection path between the current switch node and each controller, the controller to which the current switch node belongs is obtained.
[0117] In the embodiment of the present invention, according to the link length status of the current openflow switch to each controller, the controller with the shortest link length is selected and determined as the exclusive controller of the switch. The controller selection of the remaining switches can be operated according to the same principle and method.
[0118] Figure 4 FIG. 4 is a flow chart of software optical network controller deployment using improved A* algorithm according to the third embodiment of the present invention. Figure 4 As shown, the method includes:
[0119] 121. Acquire a network node set, and divide the network node set into a start node set and a target node set;
[0120] 122. By improving the A* algorithm, the shortest path without repeated edges from any starting node to all target nodes and the path length are obtained to obtain the first path set;
[0121] 123. According to a specific delay requirement from any starting node to all target nodes, select a second path set that meets the delay condition from the first path set;
[0122] 124. Filtering a third path set that meets a reliability condition from the second path set according to a link error probability from any starting node to all target nodes;
[0123] 125. Determine, according to the third path set, a first node set where a controller needs to be deployed;
[0124] In the embodiment of the present invention, the steps 121-125 may refer to the steps 101-105, which will not be described in detail in the present invention.
[0125] 126. According to the first node set where the controller needs to be deployed, determine the average path length between any node in the first node set and other nodes;
[0126] 127. Determine the number of loop-free paths from any node in the first node set to other nodes according to the first path set and the first node set where the controller needs to be deployed;
[0127] 128. Determine the nodes where the central controller needs to be deployed according to the average value of the 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.
[0128] In the embodiment of the present invention, step 128 may include:
[0129] According to the maximum value, minimum value and current value of the path length mean between any node in the first node set and other nodes, the normalized path length mean of the current node is calculated;
[0130] Among them, it is assumed that the deployed controller deployment node is Calculate the mean path length between each controller deployment node and other controller nodes one by one Right now Among them A ij For Node arrive The shortest path length. Record the maximum and minimum values of the mean, that is,
[0131] Calculate the normalized acyclic path quantity value of the current node according to the maximum value and current value of the acyclic path quantity from any node to other nodes in the first node set;
[0132] Among them, for each controller node The sum of all acyclic paths to the remaining nodes is M. i ,Right now Among them, M ij Deploy nodes for the controller To Node The number of acyclic paths is denoted by M max =max(M1,M2,…,M u ).
[0133] The score of the current node is calculated based on the normalized path length mean and the normalized acyclic path number of the current node;
[0134] Among them, according to the formula Calculate the score S of each controller node i ; The score of this controller node can reflect the importance of the corresponding controller node.
[0135] According to the score values of each node, the node with the highest score value is determined as the node where the central controller needs to be deployed.
[0136] In some embodiments, step 126 may also include steps 116-117. Through these steps, the first node set of the deployment controller can be determined first, the controller node to which the switch belongs can be determined secondly, and finally the node of the deployment center controller can be determined.
[0137] Figure 5 FIG. 1 is a structural diagram of a software optical network controller deployment system using an improved A* algorithm according to a first embodiment of the present invention; Figure 5 As shown, the system comprises:
[0138] The first access unit 201 is used to obtain a network node set and divide the network node set into a start node set and a target node set;
[0139] The first configuration unit 202 is used to obtain the shortest path without duplicate edges from any starting node to all target nodes and the path length by using an improved A* algorithm to obtain a first path set;
[0140] The second configuration unit 203 is configured to filter the first path set to obtain a second path set that meets the delay condition according to a specific delay requirement from any starting node to all target nodes;
[0141] A third configuration unit 204 is configured to filter the second path set to obtain a third path set that meets the reliability condition according to the link error probability from any starting node to all target nodes;
[0142] The first deployment unit 205 is configured to determine a first node set where a controller needs to be deployed according to the third path set.
[0143] In this embodiment, the network node set is obtained by the first access unit 201, and the network node set is divided into a starting node set and a target node set; the first configuration unit 202 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 to obtain the first path set; the second configuration unit 203 selects the second path set that meets the delay condition from the first path set according to the specific delay requirement from any starting node to all target nodes; the third configuration unit 204 selects the third path set that meets the reliability condition from the second path set according to the link error probability from any starting node to all target nodes; the first deployment unit 205 determines the first node set where the controller needs to be deployed according to the third path set. The controller node set that meets the link requirements and delay requirements can be quickly found, which improves the system robustness and reduces the deployment cost.
[0144] Figure 6 FIG. 1 is a schematic diagram of the deployment structure of a software optical network controller using an improved A* algorithm according to a second embodiment of the present invention; Figure 6 As shown, the system comprises:
[0145] The first access unit 201 is used to obtain a network node set and divide the network node set into a start node set and a target node set;
[0146] The first configuration unit 202 is used to obtain the shortest path without duplicate edges from any starting node to all target nodes and the path length by using an improved A* algorithm to obtain a first path set;
[0147] The second configuration unit 203 is configured to filter the first path set to obtain a second path set that meets the delay condition according to a specific delay requirement from any starting node to all target nodes;
[0148] A third configuration unit 204 is configured to filter the second path set to obtain a third path set that meets the reliability condition according to the link error probability from any starting node to all target nodes;
[0149] The first deployment unit 205 is configured to determine a first node set where a controller needs to be deployed according to the third path set.
[0150] The second deployment unit 216 is used to determine the controller set directly connected to the current switch node according to the first node set where the controller needs to be deployed; and obtain the controller to which the current switch node belongs according to the direct connection path length between the current switch node and each controller.
[0151] In this embodiment, the network node set is obtained by the first access unit 201, and the network node set is divided into a starting node set and a target node set; the first configuration unit 202 uses the improved A* algorithm to obtain the shortest path without repeated edges from any starting node to all target nodes and the path length to obtain the first path set; the second configuration unit 203 selects the second path set that meets the delay condition from the first path set according to the specific delay requirement from any starting node to all target nodes; the third configuration unit 204 selects the third path set that meets the reliability condition from the second path set according to the link error probability from any starting node to all target nodes; the first deployment unit 205 determines the first node set where the controller needs to be deployed according to the third path set. The second deployment unit 216 determines the controller set directly connected to the current switch node according to the first node set where the controller needs to be deployed; and the controller to which the current switch node belongs is obtained according to the direct path length between the current switch node and each controller. It is possible to further quickly find a controller node set that meets the link requirements and delay requirements, improve system robustness, and reduce deployment costs. Figure 7 FIG. 1 is a schematic diagram of the deployment structure of a software optical network controller using an improved A* algorithm according to the third embodiment of the present invention. Figure 7 As shown, the system includes:
[0152] A first access unit 221 is used to obtain a network node set and divide the network node set into a start node set and a target node set;
[0153] The first configuration unit 222 is used to obtain the shortest path without duplicate edges from any starting node to all target nodes and the path length by using an improved A* algorithm to obtain a first path set;
[0154] A second configuration unit 223 is configured to filter the first path set to obtain a second path set that meets the delay condition according to a specific delay requirement from any starting node to all target nodes;
[0155] A third configuration unit 224 is used to filter the second path set to obtain a third path set that meets the reliability condition according to the link error probability from any starting node to all target nodes;
[0156] The first deployment unit 225 is configured to determine a first node set where a controller needs to be deployed according to the third path set.
[0157] The second deployment unit 226 is used to determine the controller set directly connected to the current switch node according to the first node set where the controller needs to be deployed; and obtain the controller to which the current switch node belongs according to 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 according to the first node set where the controller needs to be deployed; and determine the number of loop-free paths from any node in the first node set to other nodes according to the first path set and the first node set where the controller needs to be deployed; and determine the nodes where the central controller needs to be deployed according to 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, the first access unit 221 obtains a network node set, and divides the network node set into a starting node set and a target node set; the first configuration unit 222 uses an improved A* algorithm to obtain the shortest path without repeated edges from any starting node to all target nodes and the path length to obtain a first path set; the second configuration unit 223 selects a second path set that meets the delay condition from the first path set according to the specific delay requirement from any starting node to all target nodes; the third configuration unit 224 selects a third path set that meets the reliability condition from the second path set according to the link error probability from any starting node to all target nodes; the first deployment unit 225 determines the first node set where the controller needs to be deployed according to the third path set. The second deployment unit 226 determines the controller set directly connected to the current switch node according to the first node set where the controller needs to be deployed; and the controller to which the current switch node belongs is obtained according to the length of the direct connection path between the current switch node and each controller. The third deployment unit 227 determines the mean path length between any node in the first node set and other nodes according to the first node set where the controller needs to be deployed; and determines the number of loop-free paths from any node in the first node set to other nodes according to the first path set and the first node set where the controller needs to be deployed; and determines the nodes where the central controller needs to be deployed according to the mean 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. A controller node set that meets the link requirements and delay requirements can be quickly found, which improves the system robustness and reduces the deployment cost.
[0160] A person skilled in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing the relevant hardware through a program, and the program can be stored in a computer-readable storage medium, which can include: ROM, RAM, disk or CD, etc.
[0161] Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention 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 comprises: Acquire a network node set, and divide the network node set into a start node set and a target node set; By improving the A* algorithm, the shortest path without repeated edges from any starting node to all target nodes and the path length are obtained to obtain the first path set; According to a specific delay requirement from any starting node to all target nodes, a second path set satisfying the delay condition is obtained from the first path set; According to the link error probability from any starting node to all target nodes, a third path set satisfying the reliability condition is obtained from the second path set; According to the third path set, a first node set on which a 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 improved A* algorithm is used to obtain the shortest path without duplicate edges from any starting node to all target nodes and the path length, and the first path set is obtained, including: Select the node with the lowest comprehensive 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; Traverse all neighbor nodes of the current node; If the neighbor node is in the preset closed list, skip the neighbor node; If the neighbor node is not in the preset open list, the neighbor node is added to the open list, and the estimated cost value from the current node to the neighbor node and the actual cost value from the starting node to the current node are calculated according to the heuristic function of smooth transition, and the comprehensive cost value from the starting point to the neighbor node is calculated according to the actual cost value and the estimated cost value; If the neighbor node is in the preset open list, check whether the actual cost of passing through the current node and reaching the neighbor node is lower. If it is lower, update the estimated cost, actual cost and comprehensive cost, and update the parent node of the neighbor node to the current node; Repeat the above steps until the target node is found or the preset open list is empty; When the end point is determined, starting from the end point, the path is gradually traced back to the starting point through the parent node pointer, so as to construct the shortest path from the starting point to the end point to form a first path set.
3. The method for deploying a software optical network controller using an improved A* algorithm according to claim 2, characterized in that: The step of calculating the estimated cost value from the current node to the neighboring node according to 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 loose heuristic function is used to calculate the estimated cost from the current node to the neighboring node; 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 the neighboring node 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 the preset threshold; According to the dynamic smoothing factor, the estimated cost value from the current node to the neighboring node is adjusted.
4. The method for deploying a software optical network controller using an improved A* algorithm according to claim 3, characterized in that: The loose heuristic function is the estimated cost from the current node to the neighbor node corresponding to the minimum relaxation degree coefficient; the tightened heuristic function is the estimated cost from the current node to the neighbor node corresponding to the maximum tightening degree coefficient.
5. The method for deploying a software optical network controller using an improved A* algorithm according to claim 1, characterized in that: The method further comprises: According to the first node set where the controller needs to be deployed, determine a controller set directly connected to the current switch node; According to the length of the direct connection path between the current switch node and each controller, the controller to which the current switch node belongs is obtained.
6. A method for deploying a software optical network controller using an improved A* algorithm according to claim 1 or 5, characterized in that: The method further comprises: According to the first node set where the controller needs to be deployed, determining a mean value of the path length between any node in the first node set and other nodes; Determine the number of loop-free paths from any node in the first node set to other nodes according to the first path set and the first node set on which the controller needs to be deployed; The nodes where the central controller needs to be deployed are determined according to the average value of the 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.
7. The method for deploying a software optical network controller using an improved A* algorithm according to claim 6, characterized in that: Determining nodes where a central controller needs to be deployed according to the average of the path lengths 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: According to the maximum value, minimum value and current value of the path length mean between any node in the first node set and other nodes, the normalized path length mean of the current node is calculated; Calculate the normalized acyclic path quantity value of the current node according to the maximum value and current value of the acyclic path quantity from any node to other nodes in the first node set; The score of the current node is calculated based on the normalized path length mean and the normalized acyclic path number of the current node; According to the score values of each node, the node with the highest score value is determined as the node where the central controller needs to be deployed.
8. A software optical network controller deployment system using an improved A* algorithm, characterized in that: The system comprises: A first access unit is used to obtain a network node set and divide the network node set into a start node set and a target node set; A first configuration unit is used to obtain a first path set by using an improved A* algorithm to find the shortest path without duplicate edges from any starting node to all target nodes and the path length; A second configuration unit is used to filter the first path set to obtain a second path set that meets the delay condition according to a specific delay requirement from any starting node to all target nodes; A third configuration unit, configured to filter the second path set to obtain a third path set that meets the reliability condition according to the link error probability from any starting node to all target nodes; The first deployment unit is used to determine a first node set where a controller needs to be deployed according to the third path set.
9. The software optical network controller deployment system using the improved A* algorithm according to claim 8, characterized in that: The system comprises: The second deployment unit is used to determine the controller set directly connected to the current switch node according to the first node set of controllers that need to be deployed; and obtain the controller to which the current switch node belongs according to the direct connection path length between the current switch node and each controller.
10. A software optical network controller deployment system using an improved A* algorithm according to claim 8 or 9, characterized in that: The system comprises: A third deployment unit is used to determine, based on the first node set where the controller needs to be deployed, an average path length between any node in the first node set and other nodes; and to determine, based on the first path set and the first node set where the controller needs to be deployed, the number of loop-free paths from any node in the first node set to other nodes; and to determine the nodes where 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 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
Link fault probability quantification method in optical network and SDN controller deployment method
CN115277430A
Standby path deployment method and system for programmable network fault recovery
CN116319621A