A set of path finding and routing algorithms suitable for resource scheduling and allocation of SDN controller
By designing resource scheduling and allocation algorithms in the SDN controller and utilizing the collaborative forwarding of ordinary ports and cascaded channel ports, the problem of uneven distribution of network resources in the SDN controller is solved, thereby improving port utilization and forwarding efficiency.
Patent Information
- Application Number
- CN202310263693.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-10
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2043-03-10
AI Technical Summary
In the SDN controller, the availability of primary and backup cluster ports of the switches in the network resource pool is not high, and some ports are too congested, resulting in uneven distribution of network resources.
Design a pathfinding and routing algorithm for resource scheduling and allocation in SDN controllers, including a port module, a manual operation and maintenance terminal, an SDN controller, a status acquisition module, a weight adjustment module, and an allocation processing module. By monitoring port status and weight coefficients, a resource allocation scheme is generated, and resource allocation is adjusted according to traffic by utilizing the collaborative forwarding of ordinary ports and cascaded channel ports.
It improves port utilization, prevents data congestion, and achieves even resource allocation and efficient forwarding.
Smart Images

Figure CN116319600B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of LAN streaming media scheduling and distribution technology, specifically a set of pathfinding and routing algorithms applicable to resource scheduling and allocation for SDN controllers. Background Technology
[0002] The SDN controller is an application in Software-Defined Networking (SDN) responsible for flow control to ensure intelligent networking. Based on protocols such as OpenFlow, the SDN controller allows servers to tell switches where to send data packets.
[0003] Traffic distribution on the ports of wired network end devices is often uneven, resulting in low availability of primary and backup ports in the network resource pool, while some ports become overly congested. Therefore, it is essential to design a routing and pathfinding algorithm with high availability suitable for resource scheduling and allocation by SDN controllers. Summary of the Invention
[0004] The purpose of this invention is to provide a set of pathfinding and routing algorithms for resource scheduling and allocation in SDN controllers, so as to solve the problems mentioned in the background art.
[0005] To address the aforementioned technical problems, this invention provides the following technical solution: a pathfinding and routing algorithm applicable to resource scheduling and allocation for SDN controllers, comprising a port module and a manual operation and maintenance terminal, wherein the manual operation and maintenance terminal is wiredly connected to the port module; the port module is used to monitor the status of the core network, and the manual operation and maintenance terminal is used to notify operation and maintenance personnel to take corresponding manual handling measures;
[0006] It also includes an SDN controller, which comprises a status acquisition module, a weight adjustment module, and an allocation processing module. The status acquisition module acquires the status of each port and sends it to the allocation processing module. The allocation module acquires the weight coefficients of each port from the weight adjustment module, and generates a resource allocation scheme by combining the weight coefficients of each port with the port status, and sends allocation instructions to the corresponding ports. The allocation processing module allocates different forwarding capabilities according to the average data traffic. The allocation processing module includes a processing unit corresponding to each port, and each unit performs calculations and tracking for the corresponding port.
[0007] According to the above technical solution, the port module includes two types: ordinary ports and cascade channel ports, and the cascade channel ports are wired to each other; the port management module includes a traffic monitoring module, a resource forwarding processing module, a process startup module, and a resource adjustment processing module, and the process startup module is wired to the manual operation and maintenance terminal;
[0008] The traffic monitoring module is used to monitor whether there is traffic in the core network. The ordinary port is used to serve as both the source and destination of information. The resource forwarding processing module is used to allocate resources to forward data packets. The process startup module is used to start and control the above two types of ports. The cascaded channel port is used to exchange port traffic between two switches in the core network. The resource adjustment module is used to allocate forwarding resources according to the allocation amount of each port module.
[0009] The allocation processing module includes a processing unit corresponding to each port, and each unit performs calculations and tracking on the corresponding port.
[0010] According to the above technical solution, the port module operates in the following specific steps:
[0011] S0. Connect port modules to each port of the broadcast media network and allocate cascaded channels with different forwarding capabilities according to the proportion of average data traffic.
[0012] S1. Start the traffic monitoring module to monitor in real time whether there is traffic in all core network ports. At this time, ordinary ports, cascade channels and forwarding resources are in an inactive state.
[0013] S2. When local data flow occurs within the network port of the core network, start the ordinary port to send and receive data.
[0014] S3. When the cross-device traffic passing through the port in the monitoring core network exceeds the set value, the allocation processing module is started, and the forwarding resource function of more cascaded channels is started to perform cross-device forwarding processing on the data flow.
[0015] S4. Send the forwarding resources to be processed to other cascaded channels that have not yet processed resources, adjust the allocation of forwarding resources according to their respective forwarding capabilities, so that multiple cascaded channels can forward information in a coordinated manner and send the information to the manual operation and maintenance terminal.
[0016] According to the above technical solution, in step S4, the method for adjusting the allocation of forwarding resources is as follows:
[0017] S4-1. When only ordinary ports are working under the management of this port module, that is, when there is no cross-device data flow in the network ports of the core network, its resource forwarding processing module fully undertakes to adjust the forwarding resources.
[0018] S4-2. When the cascade channel port of the port module starts working, that is, when cross-device data flow begins to occur in the core network, the proportion of other adjustment forwarding resources it undertakes is reduced. Specifically, the remaining allocation of other port forwarding resources is reduced proportionally to the core network data flow until the remaining allocation of resources is insufficient to complete the transmission service.
[0019] According to the above technical solution, the specific adjustment of the forwarding resource ratio in step S4-2 is as follows:
[0020] ,
[0021] in To take over the allocation of forwarding resources from other ports in real time, For the total allocation, This is the maximum amount of forwarding resources allocated to a regular port. To trigger the cascading channel to stop forwarding resource traffic, This refers to the real-time traffic passing through ports within the core network.
[0022] According to the above technical solution, it also includes a transmission planning module, which includes a total transmission volume statistics module, a rated transmission volume statistics module, an idle value output module, a resource allocation module, and an information receiving module. The total transmission volume statistics module is wiredly connected to the rated transmission volume statistics module and the idle value output module, and the total transmission volume statistics module is wiredly connected to the total transmission volume statistics module.
[0023] The total transmission volume statistics module is used to count the forwarding resource capacity that needs to be sent via the path. The rated transmission volume statistics module is used to count the bandwidth of each cascaded channel. The idle value output module is used to determine whether the current number of cascaded channels is redundant. The resource allocation module is used to allocate the number and bandwidth of each cascaded channel. The information receiving module is used to receive forwarding resource data from other ports.
[0024] Based on the above technical solution, the specific method for calculating the optimal number of cascaded channels for the current transmission activity is as follows:
[0025] S5, Total bandwidth required for all sending activities on this forwarding resource port. There are a total of q cascaded channels on the transmission path between two reachable switches, and the total bandwidth that can be transmitted through all cascaded channels is... ,when At this time, the cascaded channels are redundant, and the excess cascaded channels are shut down. At this time, the cascade channels are just enough. At this time, if there is a shortage of cascaded channels, we will first ensure that each information receiving module has a certain number of cascaded channels to maintain basic operation, and then allocate the remaining cascaded channels.
[0026] According to the above technical solution, in step S5 above, the optimal solution y for the number of cascaded channels of a certain sending planning module is:
[0027] ;
[0028] Where q is the number of cascaded channels on all transmission paths, p is the total number of information receiving modules on this forwarding resource port, and x is the minimum number of cascaded channels required for a single information receiving module to operate. The total forwarding resource input of a certain core network is... .
[0029] Compared with the prior art, the beneficial effects achieved by the present invention are as follows: The present invention expands the original single type of port into ordinary ports and cascaded channels. The cascaded channels can be used as access ports as well as to undertake the forwarding resource tasks of other ports. Furthermore, the port availability is adjusted according to the core network traffic of different cascaded channels, so as to distribute the forwarding resource tasks according to the processing capacity, thereby improving port utilization and preventing port data congestion. Attached Figure Description
[0030] The accompanying drawings are provided to further illustrate the invention and form part of the specification. They are used in conjunction with embodiments of the invention to explain the invention and do not constitute a limitation thereof. In the drawings:
[0031] Figure 1 This is a schematic diagram of the overall modular structure of the present invention. Detailed Implementation
[0032] 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.
[0033] Please see Figure 1 The present invention provides a technical solution: a set of pathfinding and routing algorithms for resource scheduling and allocation of SDN controllers, including a port module and a manual operation and maintenance terminal, wherein the manual operation and maintenance terminal is wiredly connected to the port module; the port module is used to monitor the status of the core network, and the manual operation and maintenance terminal is used to notify operation and maintenance personnel to take corresponding manual handling measures;
[0034] It also includes an SDN controller, which comprises a status acquisition module, a weight adjustment module, and an allocation processing module. The status acquisition module acquires the status of each port and sends it to the allocation processing module. The allocation module acquires the weight coefficients of each port from the weight adjustment module, and generates a resource allocation scheme by combining the weight coefficients of each port with the port status, and sends allocation instructions to the corresponding ports. The allocation processing module allocates different forwarding capabilities according to the average data traffic. The allocation processing module includes a processing unit corresponding to each port, and each unit performs calculations and tracking for the corresponding port.
[0035] The port module includes two types: ordinary ports and cascade channel ports. The cascade channel ports are connected to each other via wires. The port management module includes a traffic monitoring module, a resource forwarding processing module, a process startup module, and a resource adjustment processing module. The process startup module is connected to the manual operation and maintenance terminal via wires.
[0036] The traffic monitoring module is used to monitor whether there is traffic in the core network. Ordinary ports are used to serve as the source and destination of information. The resource forwarding processing module is used to allocate resources to forward data packets. The process startup module is used to start and control the above two types of ports. The cascading channel is used to exchange port traffic between two switches in the core network. The resource adjustment module is used to allocate forwarding resources according to the allocation of each port module.
[0037] The port module operates in the following specific steps:
[0038] S0. Connect port modules to each port of the broadcast media network and allocate cascaded channels with different forwarding capabilities according to the proportion of average data traffic.
[0039] S1. Start the traffic monitoring module to monitor in real time whether there is traffic in all core network ports. At this time, ordinary ports, cascade channels and forwarding resources are in an inactive state.
[0040] S2. When local data flow occurs within the network port of the core network, start the ordinary port to send and receive data.
[0041] S3. When the cross-device traffic passing through the port in the monitoring core network exceeds the set value, the allocation processing module is started, and the forwarding resource function of more cascaded channels is started to perform cross-device forwarding processing on the data flow.
[0042] S4. Send the forwarding resources to be processed to other cascaded channels that have not yet processed resources, adjust the allocation of forwarding resources according to their respective forwarding capabilities, enable multiple cascaded channels to forward information in a coordinated manner, and send the information to the manual operation and maintenance terminal.
[0043] In step S4 above, the method for adjusting the allocation of forwarding resources is as follows:
[0044] S4-1. When only ordinary ports are working under the management of this port module, that is, when there is no cross-device data flow in the network ports of the core network, its resource forwarding processing module fully undertakes to adjust the forwarding resources.
[0045] S4-2. When the cascade channel port of the port module starts working, that is, when cross-device data flow begins to occur in the core network, the proportion of other adjustment forwarding resources it undertakes is reduced. Specifically, the remaining allocation of other port forwarding resources is reduced proportionally with the core network data flow until the remaining allocation of resources is insufficient to complete the transmission service.
[0046] In step S4-2 above, the specific adjustment of the forwarding resource ratio is as follows:
[0047] ,
[0048] in To take over the allocation of forwarding resources from other ports in real time, For the total allocation, This is the maximum amount of forwarding resources allocated to a regular port. To trigger the cascading channel to stop forwarding resource traffic, This refers to real-time traffic passing through ports within the core network.
[0049] It also includes a sending planning module, which includes a total sending volume statistics module, a rated sending volume statistics module, an idle value output module, a resource allocation module, and an information receiving module. The total sending volume statistics module is wiredly connected to the rated sending volume statistics module and the idle value output module, and the total sending volume statistics module is wiredly connected to the total sending volume statistics module.
[0050] The total transmission volume statistics module is used to count the forwarding resource capacity that needs to be sent via the path; the rated transmission volume statistics module is used to count the bandwidth of each cascaded channel; the idle value output module is used to determine whether the current number of cascaded channels is redundant; the resource allocation module is used to allocate the number and bandwidth of each cascaded channel; and the information receiving module is used to receive forwarding resource data from other ports.
[0051] The specific method for calculating the optimal number of cascaded channels for the current transmission activity is as follows:
[0052] S5, Total bandwidth required for all sending activities on this forwarding resource port. There are a total of q cascaded channels on the transmission path between two reachable switches, and the total bandwidth that can be transmitted through all cascaded channels is... ,when At this time, the cascaded channels are redundant, and the excess cascaded channels are shut down. At this time, the cascade channels are just enough. At this time, if there is a shortage of cascade channels, we will first ensure that each information receiving module has a certain number of cascade channels to maintain basic operation, and then allocate the remaining cascade channels.
[0053] Example 1: Assume there are N cascaded channels between one switch and another, each with a bandwidth of 100G, resulting in a total bandwidth of 100NG. The forwarding task might involve batches of data streams, each requiring tens of kilobytes or even tens of gigabytes of bandwidth. The total bandwidth requirement for these data streams is... When the bandwidth is less than 100ng, the cascaded channels are redundant. Excess cascaded channels are shut down, and ordinary ports are used instead, based on the total bandwidth requirement of the data flow. When the bandwidth is equal to 100NG, the cascaded channels are just sufficient, meeting the total bandwidth requirements of the data stream. When the threshold is greater than 100NG, there is a shortage of cascade channels. First, we will ensure that each information receiving module has a certain number of cascade channels to maintain basic operation, and then allocate the remaining cascade channels.
[0054] In step S5 above, the optimal solution y for the number of cascaded channels in a certain sending planning module is:
[0055] ;
[0056] Where q is the number of cascaded channels on all transmission paths, p is the total number of information receiving modules on this forwarding resource port, and x is the minimum number of cascaded channels required for a single information receiving module to operate. The total forwarding resource input of a certain core network is... .
[0057] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus.
[0058] Finally, it should be noted that the above descriptions are merely preferred embodiments of the present invention and are not intended to limit the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing embodiments or make equivalent substitutions for some of the technical features. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A set of path finding and routing algorithms for resource scheduling and allocation suitable for SDN controllers, characterized in that: The port module, the manual operation end, the manual operation end is wired with port module, the port module is used for monitoring the situation of core network, the manual operation end is used for informing the operation personnel to take corresponding manual processing means; It also includes an SDN controller, the SDN controller includes state acquisition module, weight control module, distribution processing module;State acquisition module obtains the state of each port, and sends to distribution processing module, distribution processing module obtains the weight coefficient of each port in weight control module, and generates resource allocation scheme in combination with the weight coefficient of each port and the state of port, and sends allocation instruction to corresponding port; The distribution processing module distributes different forwarding capabilities in proportion to the average data flow; The distribution processing module includes a processing unit corresponding to each port, and each unit calculates and tracks the corresponding port; The port module includes two types of ordinary ports and cascade channel ports, and the cascade channel ports are wired with the cascade channel ports respectively;The port management module includes a flow monitoring module, a resource forwarding processing module, a process starting module and a processing resource adjusting module, and the process starting module is wired with the manual operation end; The flow monitoring module is used for monitoring whether there is flow in the core network, the ordinary port plays the role of information source and information destination, the resource forwarding processing module is used for distributing resources to forward data packets, the process starting module is used for starting control to the above two types of ports, the cascade channel port is used for switching the port flow between two switches in the core network, and the processing resource adjusting module is used for distributing the tasks of forwarding resources according to the distribution amount of each port module; The port module works in the following specific steps: S0, in the each port of the broadcasting media network is hung to the port module, and the cascade channel of different forwarding capabilities is distributed in proportion to the average data flow; S1, start the flow monitoring module, and monitor whether there is flow in all core network network ports in real time, at this time, the ordinary port and the cascade channel forwarding resource are in the unstarted state; S2, when the local data flow appears in the network port of the core network, start the ordinary port, and perform data sending and data receiving; S3, when the cross-device flow through the port in the core network exceeds the set value, start the distribution processing module, and start the forwarding resource function of more cascade channels, and perform cross-device forwarding processing on the data flow; S4, send the forwarding resource to be processed to other cascade channels without resource processing, adjust the distribution of forwarding resources according to the respective forwarding capacity, so that multiple cascade channels perform cooperative forwarding, and send information to the manual operation end. 2.The set of routing and routing algorithm for resource scheduling and allocation applicable to SDN controller according to claim 1, wherein: In the above step S4, the adjustment method of the distribution of forwarding resources is, S4-1, when only the ordinary port under the management of the port module works, that is, no cross-device data flow appears in the network port of the core network, the resource forwarding processing module completely undertakes the adjustment of forwarding resources. S4-2, when the cascade channel port of the port module starts to work, that is, the cross-device data flow in the core network starts to appear, then reduce the proportion of its bearing other adjustment forwarding resources, the specific reduction method is that the remaining allocation amount of real-time bearing other port forwarding resources is reduced in direct proportion to the flow of core network data until the remaining resource allocation amount is insufficient to complete the transmission service. 3.The set of routing and routing algorithm for resource scheduling and allocation applicable to SDN controller according to claim 2, characterized in that: In the step S4-2, the specific adjustment of the proportion of forwarding resources is as follows: , wherein is the real-time volume of other port forwarding resources taken up, is the total volume taken up, is the limit value of forwarding resource volume taken up by ordinary ports, is the traffic triggering the cascade channel to stop forwarding resources, is the real-time traffic through the port in the core network. 4.The set of routing and routing algorithm for resource scheduling and allocation applicable to SDN controller according to claim 3, characterized in that: The sending planning module includes a total sending amount statistical module, a rated sending amount statistical module, an idle value derivation module, a resource allocation module, and an information receiving module. The total sending amount statistical module is connected with the rated sending amount statistical module and the idle value derivation module by wires. 5.The set of routing and routing algorithm for resource scheduling and allocation applicable to SDN controller according to claim 4, characterized in that: The total sending amount statistical module is used to count the forwarding resource capacity that needs to be sent by the path. The rated sending amount statistical module is used to count the bandwidth of each cascade channel. The idle value derivation module is used to judge whether the current cascade channel quantity is redundant. The resource allocation module is used to allocate the quantity and bandwidth of each cascade channel. The information receiving module is used to receive the forwarding resource data of other ports. The specific method for calculating the optimal solution of the current sending transmission activity cascade channel quantity is as follows: S5, the total bandwidth required by all sending activities of the forwarding resource port , there are q cascaded channels on the sending path between the two switches which are route reachable, and the total bandwidth that all the cascaded channels can transmit is , when , the cascaded channels are redundant, and the redundant cascaded channels are closed, when , the cascaded channels are just enough, when , the cascaded channels are short, and first, a certain number of cascaded channels are guaranteed for each information receiving module to maintain basic operation, and then the remaining cascaded channels are distributed; in the above step S5, the optimal solution y of the number of cascaded channels of the sending planning module is: ; Wherein q is the number of concatenated channels on all transmission paths, p is the total number of information receiving modules of the forwarding resource port, x is the number of concatenated channels at least required for a single information receiving module to operate, and the total forwarding resource input of the core network is .
Citation Information
Patent Citations
Software defined networking based congestion control
US20150365325A1
KR20200002439A