Optical network multipath resource allocation method, system and equipment
By constructing a directed graph and using gradient descent to optimize multipath resource allocation in optical networks, the problems of limited capacity and poor robustness in traditional optical networks are solved, network bandwidth is improved and load is balanced, and the flexibility and reliability of the network are enhanced.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-26
- Publication Date
- 2026-04-14
AI Technical Summary
Traditional optical networks suffer from limited capacity, low network resource utilization, traffic concentration leading to local link congestion, and high service vulnerability in single-path mode. Existing multi-path routing technologies lack global congestion awareness and awareness of optical network physical topology information, resulting in poor network robustness.
The optical network multipath resource allocation method is adopted. By constructing a directed graph, using a preset optical network multipath resource allocation model and gradient descent method, the allocation ratio of service flows on multiple paths is optimized, an integer allocation matrix is generated, and flow tables are issued through a centralized controller to realize the allocation of service flows on multiple paths.
It increased the network bandwidth limit, increased network throughput, reduced network latency, achieved network load balancing, eliminated local congestion, and improved network flexibility and reliability.
Smart Images

Figure CN121864693A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a method, system and device for multipath resource allocation in optical networks. Background Technology
[0002] Traditional optical networks typically employ a single routing mechanism based on shortest path algorithms (such as Dijkstra's algorithm), establishing a dedicated end-to-end optical path for each service connection. With the advancement of network technology and the continuous surge in network traffic, the limitations of this single-path model have become increasingly apparent. First, the capacity of a single path is limited by the physical limits of a single optical fiber or a single wavelength channel, making it difficult to meet the transmission demands of massive datasets. There is an upper limit to the single-wavelength rate; increasing capacity by continuously improving the single-wavelength rate (from 10G to 40G, 100G, 400G) faces challenges related to physical limitations, high costs, and shortened transmission distances. Second, traffic concentrating on the shortest path in the network topology easily leads to local link congestion, while other path resources remain idle, resulting in low overall network resource utilization. Furthermore, the vulnerability of a single path means that services face the risk of interruption when encountering fiber breaks or equipment failures. These issues necessitate a shift in optical networks from "pipes" to "resource pools." To overcome these bottlenecks, multipath technology, which treats the network as a unified resource pool and uses multiple paths collaboratively to carry services, has become an important direction for the evolution of optical networks. In existing technologies, equal-cost multipath routing is a widely used load balancing solution. This technology is typically implemented at the network layer (IP layer). When a router discovers multiple paths with the same cost to the same destination, it performs hash calculations based on packet characteristics (such as 5-tuple information) to distribute different data flows across these paths for forwarding, thereby achieving traffic sharing.
[0003] However, the aforementioned existing technologies lack global congestion awareness. Their traffic distribution decisions are based solely on local routing information, failing to identify the actual load on links. This may result in traffic being continuously allocated to already congested paths, exacerbating network congestion. Furthermore, their flow hash-based load balancing mechanism is insensitive to flow size, making it difficult to achieve fine-grained and fair bandwidth allocation in mixed service scenarios with both long and short flows. Most importantly, as a network layer solution, it is completely unaware of the underlying optical network's physical topology and risk information (such as shared risk link groups). When the underlying optical cable is cut, all multiple IP paths hashed to that cable may simultaneously fail, leading to weak service recovery capabilities and poor network robustness. Therefore, a novel multi-path resource allocation method that can integrate cross-layer information and perform global optimization calculations is urgently needed. Summary of the Invention
[0004] In view of this, embodiments of this application provide a method, system, and device for multipath resource allocation in optical networks to eliminate or improve one or more defects existing in the prior art.
[0005] One aspect of this application provides a method for multipath resource allocation in an optical network, the method comprising: Based on the node pairs in the current directed graph of the optical network, obtain the current preset routing table of the optical network; and obtain a service set including multiple service flows; wherein, the nodes in the directed graph represent devices in the optical network, and the directed edges connecting different nodes in the directed graph are used to represent links; The preset routing table and the service set are input into a preset optical network multipath resource allocation model. Based on preset constraints and gradient descent, the optical network multipath resource allocation model is solved to obtain a continuous solution representing the allocation ratio of each service flow on different paths and the integer allocation matrix corresponding to the continuous solution. The integer allocation matrix is transformed to obtain a corresponding flow table for recording the allocation relationship between each service flow and each path resource, and the flow table is then sent to each network device.
[0006] In some embodiments of this application, before obtaining the current preset routing table of the optical network based on each node pair in the current directed graph of the optical network, and before obtaining the service set including multiple service flows, the method further includes: Obtain the current network device identifiers and link identifiers of the optical network; A directed graph is constructed based on the current network device identifiers and link identifiers of the optical network.
[0007] In some embodiments of this application, obtaining the current preset routing table of the optical network based on each node pair in the current directed graph of the optical network includes: Based on the KSP algorithm, pre-calculation processing is performed on each node pair in the directed graph to obtain a pre-set routing table.
[0008] In some embodiments of this application, the constraints include: The sum of the number of data packets allocated to each of the paths in the service flow is equal to the total number of data packets in that service flow. The total service load on each of the links is less than or equal to the maximum capacity of that link.
[0009] In some embodiments of this application, the optical network multipath resource allocation model is shown in the following formula: in, Describe the objective function. This represents the physical link in an optical network. Indicates link The number of data packets carried on top It represents the set of all links in an optical network. Indicates the size of the data packet. Indicates the bandwidth of the link. Indicates business flow, Represents a set of business functions. K represents the number of pre-computed paths for each business flow. Indicates business flow Assigned in path Number of data packets on Indicates a 0 or 1 indicator function, when hour It is 1 if it is true, otherwise it is 0. This represents the source node of the business flow. Indicates the destination node of the business flow. Indicates business From the source node to the destination node The There are several optional paths.
[0010] In some embodiments of this application, the step of solving the optical network multipath resource allocation model based on preset constraints and gradient descent to obtain a continuous solution representing the allocation ratio of each service flow on different paths and the integer allocation matrix corresponding to the continuous solution includes: Initialize continuous variables, which include the proportions allocated to each of the business flows on different paths; Perform iterative update steps: In the current iteration, calculate the subgradient of the objective function with respect to the current continuous variable; based on the preset learning rate and the preset number of iterations, update the current continuous variable to obtain the updated continuous variable; If it is determined that the current iteration round is not the preset last round, and / or the optical network multipath resource allocation model has not converged, then the iterative update step is executed again; If it is determined that the current iteration round is the preset last round, and / or the optical network multipath resource allocation model converges, then the updated continuous variable obtained now will be used as the target continuous variable. The target continuous variables of each of the business flows on each of the paths are normalized to obtain the continuous solutions representing the allocation ratio of each of the business flows on different paths, so that the sum of the continuous solutions representing the allocation ratio of each of the business flows on different paths is 1. The continuous solution is discretized to obtain the corresponding integer allocation matrix.
[0011] In some embodiments of this application, the discretization of the continuous solution to obtain the corresponding integer allocation matrix includes: The continuous solutions are allocated and rounded based on the total number of data packets in each of the service flows to obtain the corresponding basic allocation quantity. Based on the total number of data packets in the service flow and the basic allocation quantity, the remaining number of data packets and the fractional part are calculated; Sort the fractional parts in descending order. For those paths whose number of paths in the top ranking is equal to the number of remaining data packets, add one data packet to the base allocation number to obtain the corresponding integer allocation matrix.
[0012] Another aspect of this application provides an optical network multipath resource allocation system, which includes a centralized controller module and a southbound interface module; The centralized controller module is used to execute the optical network multipath resource allocation method described above. The southbound interface module connects the central controller module to each of the network devices and is used for flow table distribution and status reporting.
[0013] In some embodiments of this application, the centralized controller module further includes: The fault detection unit is used to detect link faults and equipment faults. The recovery calculation unit is used to recalculate a multipath scheme to avoid the failed link when a failure occurs.
[0014] A third aspect of this application provides an electronic device including a processor and a memory, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the optical network multipath resource allocation method.
[0015] A fourth aspect of this application provides a computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the optical network multipath resource allocation method.
[0016] The fifth aspect of this application provides a computer program product comprising a computer program that, when executed by a processor, implements the optical network multipath resource allocation method.
[0017] The optical network multipath resource allocation method of this application includes: obtaining a current preset routing table of the optical network based on each node pair in the current directed graph of the optical network; and obtaining a service set including multiple service flows; wherein, the nodes in the directed graph represent devices in the optical network, and the directed edges connecting different nodes in the directed graph are used to represent links; inputting the preset routing table and the service set into a preset optical network multipath resource allocation model, solving the optical network multipath resource allocation model based on preset constraints and gradient descent method, obtaining a continuous solution representing the allocation ratio of each service flow on different paths and an integer allocation matrix corresponding to the continuous solution; transforming the integer allocation matrix to obtain a corresponding flow table for recording the allocation relationship between each service flow and each path resource, and distributing the flow table to each network device. By aggregating the bandwidth of multiple physical paths, the upper limit of service bandwidth is increased; by solving the optical network multi-path resource allocation model using the gradient descent method, continuous solutions of the allocation ratio of each service flow on different paths and the corresponding integer allocation matrix are obtained, which better utilizes the global view of the SDON controller, improves the degree of network load balancing, thereby increasing network throughput, reducing network latency, achieving network load balancing, and eliminating local congestion.
[0018] Additional advantages, objectives, and features of this application will be set forth in part in the description which follows, and will in part become apparent to those skilled in the art upon review of the following description, or may be learned by practice of the application. The objectives and other advantages of this application can be realized and obtained by means of the structures specifically pointed out in the specification and drawings.
[0019] Those skilled in the art will understand that the purposes and advantages that can be achieved with this application are not limited to those specifically described above, and that the above and other purposes that this application can achieve will be more clearly understood from the following detailed description. Attached Figure Description
[0020] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, do not constitute a limitation thereof. The components in the drawings are not drawn to scale but are merely for illustrating the principles of this application. For ease of illustration and description of certain parts of this application, corresponding portions in the drawings may be enlarged, i.e., may appear larger relative to other components in an exemplary device actually manufactured according to this application. In the drawings: Figure 1 This is a schematic diagram of the first process of a multipath resource allocation method for optical networks in one embodiment of this application.
[0021] Figure 2 This is a schematic diagram of a second process for a multipath resource allocation method in an embodiment of this application.
[0022] Figure 3 This is a schematic diagram of a multipath resource allocation system for optical networks according to one embodiment of this application.
[0023] Figure 4 This is a flowchart illustrating a multipath resource allocation method for optical networks, as specifically exemplified in this application.
[0024] Figure 5 This is a polynomial diagram of the polynomial function of the multipath resource allocation method for optical networks in a specific example of this application. Detailed Implementation
[0025] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the embodiments and accompanying drawings. Here, the illustrative embodiments and their descriptions are used to explain this application, but are not intended to limit it.
[0026] It should also be noted that, in order to avoid obscuring this application with unnecessary details, only the structures and / or processing steps closely related to the solution according to this application are shown in the accompanying drawings, while other details that are not closely related to this application are omitted.
[0027] It should be emphasized that the term "including / comprises" as used herein refers to the presence of a feature, element, step, or component, but does not exclude the presence or addition of one or more other features, elements, steps, or components.
[0028] It should also be noted that, unless otherwise specified, the term "connection" in this article can refer not only to a direct connection, but also to an indirect connection involving an intermediary.
[0029] In the following description, embodiments of the present application will be illustrated with reference to the accompanying drawings. In the drawings, the same reference numerals represent the same or similar parts, or the same or similar steps.
[0030] It's important to note that in IP networks, when multiple paths with equivalent metrics (such as cost or hop count) exist to reach the same destination, routers distribute data flows across these paths based on algorithms. Path selection algorithms include flow hashing, packet round-robin, and path weighting. Equal Cost Multipath Routing (ECMP) is a load balancing scheme that uses hash calculations based on packet characteristics to distribute traffic across different paths. It includes: 1. Hash: Routers divide data into different flows based on the five-tuple information of IP packets (source IP address, source port, destination IP address, destination port, and transport protocol). IP packets with the same five-tuple information belong to the same flow. When forwarding data, different flows are sent out sequentially from multiple paths. 2. Packet Round-Robin: When forwarding data, different packets are sent sequentially from multiple paths. 3. Path Weighting: Packet load balancing is performed according to the physical bandwidth of the interface. Routers distribute the load according to the interface bandwidth specified by the user. As a simple load balancing strategy, ECMP does not have a congestion awareness mechanism; it simply distributes flows across different paths for forwarding. For paths already congested, this could exacerbate congestion. Furthermore, hash collisions generated by hash algorithms can also increase the probability of link congestion. ECMP performs poorly in load balancing situations with both large and small traffic flows. In environments like data centers with bursts of traffic and both large and small flows, a more sophisticated load balancing strategy is needed. IP-layer multipath schemes are unaware of the underlying optical network environment and cannot obtain optical network SRLG information. Once the optical cable is cut, all IP paths may fail simultaneously. Based on this, the inventors of this application first considered that when the bandwidth demand of a single service exceeds the maximum capacity of a single optical fiber or a single wavelength channel, by distributing traffic across multiple physical paths for parallel transmission, the bandwidth of these paths can be aggregated to form a logical superchannel. Traditional shortest path routing easily leads to traffic concentrating on certain "hot" links, causing congestion, while other paths may remain idle. Multipath design can consciously distribute traffic evenly across different paths, avoiding localized congestion, fully utilizing the potential of the entire network, thereby carrying more services on the same infrastructure, optimizing network resource utilization, and achieving load balancing. This application leverages the flexibility and scalability of multipath networks, transforming them into dynamically allocateable resources under the control of Software-Defined Networking (SDN). The network can flexibly create, adjust, or dismantle multipaths based on real-time traffic conditions and different service level protocol requirements (e.g., allocating the shortest path for low-latency services and high-bandwidth aggregation paths for big data backup), transforming the network from a static pipeline into an intelligent and elastic resource pool. The implementation of multipath solutions in optical networks relies on advancements in control technology.Software-Defined Optical Networking (SDON) introduces a centralized control concept, where the controller possesses a global view of the entire network (topology, resources, and status). This allows the controller to calculate multi-path schemes with network-level optimization (improving network throughput and avoiding shared risky link groups) and complete the multi-path distribution of service traffic through unified flow tables. Optical network multi-path routing technology is a natural consequence of addressing service bandwidth demands exceeding single-wavelength capacity and extreme network reliability requirements. It is built upon the foundation of SDN centralized control technology and evolved from early concepts such as linear protection and ECMP. Its core driving force for technological development is to break through the capacity and reliability bottlenecks of single paths while improving the overall network resource utilization. This allows for better utilization of the SDON controller's global perspective, improving network load balancing, thereby increasing network throughput and reducing network latency.
[0031] The following examples will provide a detailed description.
[0032] This application provides a method for multipath resource allocation in optical networks. See also... Figure 1 The method includes the following steps: Step 100: Based on the node pairs in the current directed graph of the optical network, obtain the current preset routing table of the optical network; and obtain a service set including multiple service flows; wherein, the nodes in the directed graph represent devices in the optical network, and the directed edges connecting different nodes in the directed graph are used to represent links; In step 100, each link has a fixed bandwidth and a uniform data packet size.
[0033] Step 200: Input the preset routing table and the service set into the preset optical network multipath resource allocation model, solve the optical network multipath resource allocation model based on the preset constraints and gradient descent method, and obtain a continuous solution representing the allocation ratio of each service flow on different paths and the integer allocation matrix corresponding to the continuous solution. In step 200, the continuous solution can be the theoretically optimal value of the allocation ratio of service flows on different paths, optimized by the gradient descent method, and is a decimal. However, considering that the Ethernet packet is the smallest scheduling unit, the number of schedulable packets must be an integer. Therefore, the continuous solution needs to be converted into an integer allocation matrix to guide the scheduling of Ethernet packets.
[0034] Step 300: The integer allocation matrix is transformed to obtain a corresponding flow table for recording the allocation relationship between each service flow and each path resource, and the flow table is sent to each network device.
[0035] In step 300, the flow table is distributed to each network device via the southbound interface to the switches along the route, and the data packets of the service flow are distributed to each path proportionally.
[0036] As can be seen from the above description, the optical network multipath resource allocation method provided in this application increases the upper limit of service bandwidth by aggregating the bandwidth of multiple physical paths; it obtains continuous solutions of the allocation ratio of each service flow on different paths and the corresponding integer allocation matrix by solving the optical network multipath resource allocation model using the gradient descent method, thereby better utilizing the global view of the SDON controller, improving the degree of network load balancing, thereby increasing network throughput, reducing network latency, achieving network load balancing, and eliminating local congestion.
[0037] To further improve network load balancing, thereby increasing network throughput and reducing network latency, an optical network multipath resource allocation method is provided in this application embodiment, see [link to relevant documentation]. Figure 2 Before obtaining the current preset routing table of the optical network based on each node pair in the current directed graph of the optical network, and before obtaining the service set including multiple service flows, the method further includes: Step 400: Obtain the current network device identifiers and link identifiers of the optical network; Step 500: Construct a directed graph based on the current network device identifiers and link identifiers of the optical network.
[0038] To further improve network load balancing, thereby increasing network throughput and reducing network latency, an optical network multipath resource allocation method provided in this application embodiment obtains the current preset routing table of the optical network based on each node pair in the current directed graph of the optical network, including: Step 110: Based on the KSP algorithm, pre-calculate each node pair in the directed graph to obtain a preset routing table.
[0039] In one or more embodiments of this application, the KSP (K Shortest Paths) algorithm specifically aims to find the first K paths between two points in a network in descending order of length. For example, the specific steps for calculating the path from node i to node j in the network are as follows: First, use Dijkstra's algorithm to calculate the shortest path between i and j, which is taken as the first path. Then, iteratively calculate the second to Kth paths, selecting nodes from the previous path as deviation points, deleting the edge immediately adjacent to the deviation point in the topology, and then using Dijkstra's algorithm to calculate the path from the deviation point to the destination. Finally, combine the paths from the starting point to the deviation point from the previous path to form the current path.
[0040] To further improve network load balancing, thereby increasing network throughput and reducing network latency, the constraints in the optical network multipath resource allocation method provided in this application embodiment include: The sum of the number of data packets allocated to each of the paths in the service flow is equal to the total number of data packets in that service flow. The total service load on each of the links is less than or equal to the maximum capacity of that link.
[0041] In one or more embodiments of this application, the sum of the number of data packets allocated to the service flow on each of the paths is equal to the total number of data packets in the service flow, which can be expressed as follows: in, Indicates business flow The total number of data packets to be transmitted, ensuring that all data packets for each service are allocated.
[0042] To further improve network load balancing, thereby increasing network throughput and reducing network latency, an optical network multipath resource allocation method is provided in this application embodiment, wherein the optical network multipath resource allocation model is as follows: in, Describe the objective function. This represents the physical link in an optical network. Indicates link The number of data packets carried on top It represents the set of all links in an optical network. Indicates the size of the data packet. Indicates the bandwidth of the link. Indicates business flow, Represents a set of business functions. K represents the number of pre-computed paths for each business flow. Indicates business flow Assigned in path Number of data packets on Indicates a 0 or 1 indicator function, when hour It is 1 if it is true, otherwise it is 0. This represents the source node of the business flow. Indicates the destination node of the business flow. Indicates business From the source node to the destination node The There are several optional paths.
[0043] In one or more embodiments of this application, the link The total load on the link is the sum of the number of service packets passing through that link. The objective function is the overall delay for service completion, which is the transmission time of the largest link group in the optical network, i.e., the total time for the system to complete this batch of packets. Minimizing O is equivalent to minimizing the maximum link load, thereby achieving load balancing.
[0044] To further improve network load balancing, thereby increasing network throughput and reducing network latency, an optical network multipath resource allocation method is provided in this application embodiment, see [link to relevant documentation]. Figure 2 Step 200 includes: Step 210: Initialize continuous variables, which include the proportions allocated to each of the service flows on different paths; In step 210, the initialization of continuous variables can be expressed as follows: For each business flow-path pair continuous variables Assign initial values. Uniform initialization is typically used, that is, setting all values to their initial values. This provides a starting point for gradient descent iterations.
[0045] Step 220: Perform iterative update steps: In the current iteration, calculate the subgradient of the objective function with respect to the current continuous variable; based on the preset learning rate and the preset number of iterations, update the current continuous variable to obtain the updated continuous variable; In step 220, the objective function for each continuous variable is calculated under the current continuous variables. The gradient is expressed by the following formula: in, Indicates the data packet size. Let represent the link bandwidth. Since the objective function is a maximum function, which is non-differentiable and difficult to directly differentiate, a "subgradient" approximation is used. The set of currently most congested links is defined as follows: in, Let represent the loop variable (or dummy variable) used to traverse all links. Then the subgradient is expressed as follows: Based on a preset learning rate and a preset number of iterations, the current continuous variable is updated to obtain the updated continuous variable, which can be expressed as follows: in, This represents the learning rate, which can be 0.001, and the number of iterations can be 10000. Step 230: If it is determined that the current iteration round is not the preset last round, and / or the optical network multipath resource allocation model has not converged, then the iterative update step is executed again; if it is determined that the current iteration round is the preset last round, and / or the optical network multipath resource allocation model has converged, then the currently updated continuous variable is taken as the target continuous variable. Step 240: Normalize the target continuous variables of each of the business flows on each of the paths to obtain the continuous solutions representing the allocation ratio of each of the business flows on different paths, so that the sum of the continuous solutions representing the allocation ratio of each of the business flows on different paths is 1. In step 240, for each service flow The updated continuous solution over all K paths Normalize the sum to 1, as shown in the following formula: in, This represents an accumulated variable (dummy variable) used to traverse [0, k-1] paths, ensuring that the sum of the allocation ratios for each business flow is always 100%.
[0046] Step 250: Discretize the continuous solution to obtain the corresponding integer allocation matrix.
[0047] To further improve network load balancing, thereby increasing network throughput and reducing network latency, in an optical network multipath resource allocation method provided in this application embodiment, step 250 includes: Step 251: Based on the total number of data packets in each of the service flows, the continuous solutions are allocated and rounded to obtain the corresponding basic allocation quantity; Step 252: Based on the total number of data packets in the service flow and the basic allocation quantity, calculate the remaining number of data packets and their fractional part; Step 253: Sort the decimal part in descending order. For those paths whose number of paths in the top ranking is equal to the number of remaining data packets, add one data packet to the basic allocation number to obtain the corresponding integer allocation matrix.
[0048] In one or more embodiments of this application, after the iteration is completed, the continuous variable is... Convert to integer allocation First, calculate the floor portion, as shown below: in, Represents the integer part of a continuous solution. This represents the floor function, followed by the calculation of the number of remaining unallocated data packets, as shown below: in, This indicates the number of unallocated packets remaining in the business flow. The decimal part is then calculated as follows: in, The fractional part of the continuous solution is represented, and then the remaining packets are allocated for each business. Will Sort by largest to smallest, and take the first few. For each path, increment the number of allocated packets for that path by one, as shown in the following formula: Finally, the integer allocation matrix is obtained. .
[0049] This application provides an optical network multipath resource allocation system, see [link to relevant documentation]. Figure 3 The system includes a central controller module 10 and a southbound interface module 20; The centralized controller module 10 is used to execute the aforementioned optical network multipath resource allocation method; The southbound interface module 20 connects the central controller module 10 to each of the network devices and is used for flow table distribution and status reporting.
[0050] In one or more embodiments of this application, the centralized controller module 10 is deployed at the optical layer. The centralized controller collects network status information in real time, including: the real-time load rate of each link, optical layer shared risk link group (SRLG) information, source and destination nodes of service flows, and the number of data packets.
[0051] To further improve network load balancing, thereby increasing network throughput and reducing network latency, in an optical network multipath resource allocation method provided in this application embodiment, the centralized controller module further includes: Fault detection unit 11 is used to detect link faults and equipment faults; The recovery calculation unit 12 is used to recalculate the multipath scheme to avoid the faulty link when a fault occurs.
[0052] In a specific example of the optical network multipath resource allocation method provided in this application, reference is made to... Figure 4 The method includes: For a network topology Communication services ,in These represent the beginning and end nodes of the business process, respectively. Indicates the number of data packets for this service. Service set. Indicates overall business operations. Let represent the k-th shortest path between nodes S and T, pre-calculated by the KSP algorithm, and be a set of multiple interconnected network links. The optimization objective is global latency. This represents the time interval from the sending of the first service packet to the receiving of the last service packet, and it actually depends on the link with the highest load in the network. The specific calculation method is as follows: in, Indicates the size of the package. Indicates link bandwidth. Indicates link Total business load on the platform It is a 0-1 indicator function, when It is 1 if it is 1 otherwise it is 0. An integer decision variable represents the business. The number of packets on the k-th path. The entire variable needs to satisfy the constraint of formula (3), indicating that all packets of the service have been transmitted successfully without packet loss: The three formulas above constitute a global combinatorial optimization problem. The optimization function is... It is the independent variable Since it is a polynomial function, it can be solved quickly using gradient descent. Its polynomial relation is as follows: Figure 5 As shown, An integer decision variable represents the business. The packet load ratio matrix on the k-th path. After random initialization, row normalization is performed so that the sum of each row is 1. Then the matrix... Column vector of number of business data packets Multiply. Combine with the pre-configured routing table. Given the information, perform the calculations shown in (2) to obtain the packet load on all links in the network. .Compare The maximum value is the result to be optimized. Then, the gradient descent optimization process is performed as shown in the table below. The complete steps include: Model the network as a directed graph. ,in Indicates a node (IP router / optical switching device). This represents the physical link (optical link). Each link Fixed bandwidth and uniform data packet size .
[0053] Deploy a centralized controller at the optical layer to collect real-time network status information, including: real-time load rate of each link, optical layer shared risk link group (SRLG) information, source and destination nodes of service flows, and number of data packets.
[0054] Using the KSP algorithm, for each node in the network... Pre-compute K network routes, denoted as .
[0055] Business Flow ,in These are the source and destination nodes, respectively. The total number of data packets for this service; the service set is... Business Flow Number of packets allocated on the k-th path .
[0056] The constraints can be expressed as follows: Ensure that all data packets for each service are allocated.
[0057] link Total load on The sum of the number of service packets passing through this link is expressed by the following formula: in, Indicates the size of the package. Indicates link bandwidth. This represents the total service load on link e. It is a 0-1 indicator function, when It is 1 if it is 1 otherwise it is 0.
[0058] The objective function is the transmission time of the largest link group in the entire network, that is, the total time for the system to complete this batch of packets, as expressed in the following formula: minimize This is equivalent to swapping the minimum link load with the maximum link load, thus achieving load balancing.
[0059] Relax integer programming into a continuous problem and initialize continuous variables. (correspond ),set up: That is, the initial uniform distribution.
[0060] objective function right The partial derivatives are calculated as follows: Since the max function is not differentiable, a subgradient method is used. Define the current set of most congested links: The subgradient is then expressed as follows: Set learning rate =0.001, number of iterations Each iteration updates as shown in the following formula: After the update, for each business Perform normalization, as shown in the following formula: After the iteration is complete, the continuous variables will be... Convert to integer allocation First, calculate the floor portion, as shown below: The number of remaining unassigned packets is calculated using the following formula: The decimal part is calculated as follows: The remaining packet allocation is expressed as follows: For each business Will Sort by largest to smallest, and take the first few. For each path, increment the number of allocated packets for that path by one, as shown in the following formula: Output integer allocation matrix The controller sends flow tables to switches along the route via southbound interfaces (such as OpenFlow), specifying the services... Data packets by The traffic is proportionally distributed to each path, as shown in Table 1, thus calculating the optimal network multipath configuration scheme. ,in, This indicates the partial derivative, floor is the floor function, and argsort is the reverse sorting function.
[0061] Table 1. Flowchart for Calculating Multipath Load in Optical Networks This application also provides an electronic device, which may include a processor, a memory, a receiver, and a transmitter. The processor is used to execute the optical network multipath resource allocation method mentioned in the above embodiments. The processor and the memory can be connected via a bus or other means, taking a bus connection as an example. The receiver can be connected to the processor and the memory via wired or wireless means.
[0062] The processor can be a central processing unit (CPU). The processor can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or combinations of the above types of chips.
[0063] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as the program instructions / modules corresponding to the optical network multipath resource allocation method described in the embodiments of this application. The processor executes various functional applications and data processing by running the non-transitory software programs, instructions, and modules stored in the memory, thereby implementing the optical network multipath resource allocation method described in the above method embodiments.
[0064] The memory may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created by the processor, etc. Furthermore, the memory may include high-speed random access memory and non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory may optionally include memory remotely located relative to the processor, which can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0065] The one or more modules are stored in the memory, and when executed by the processor, the optical network multipath resource allocation method described in the embodiment is executed.
[0066] In some embodiments of this application, the user equipment may include a processor, a memory, and a transceiver unit. The transceiver unit may include a receiver and a transmitter. The processor, memory, receiver, and transmitter may be connected via a bus system. The memory is used to store computer instructions, and the processor is used to execute the computer instructions stored in the memory to control the transceiver unit to send and receive signals.
[0067] As one implementation method, the functions of the receiver and transmitter in this application can be implemented by transceiver circuits or dedicated transceiver chips, and the processor can be implemented by dedicated processing chips, processing circuits or general-purpose chips.
[0068] As another implementation approach, the server provided in this application embodiment can be implemented using a general-purpose computer. That is, the program code implementing the processor, receiver, and transmitter functions is stored in memory, and the general-purpose processor implements the processor, receiver, and transmitter functions by executing the code in memory.
[0069] This application also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the aforementioned optical network multipath resource allocation method. The computer-readable storage medium can be a tangible storage medium, such as random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, floppy disks, hard disks, removable storage disks, CD-ROMs, or any other form of storage medium known in the art.
[0070] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the aforementioned optical network multipath resource allocation method.
[0071] Those skilled in the art will understand that the exemplary components, systems, and methods described in conjunction with the embodiments disclosed herein can be implemented in hardware, software, or a combination of both. Whether implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application. When implemented in hardware, it can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. The programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave.
[0072] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.
[0073] In this application, features described and / or illustrated for one embodiment may be used in the same or similar manner in one or more other embodiments, and / or combined with or in place of features of other embodiments.
[0074] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to the embodiments of this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A method for multipath resource allocation in an optical network, characterized in that, The method, executed by a centralized controller, includes: Based on the node pairs in the current directed graph of the optical network, obtain the current preset routing table of the optical network; and obtain a service set including multiple service flows; wherein, the nodes in the directed graph represent devices in the optical network, and the directed edges connecting different nodes in the directed graph are used to represent links; The preset routing table and the service set are input into a preset optical network multipath resource allocation model. Based on preset constraints and gradient descent, the optical network multipath resource allocation model is solved to obtain a continuous solution representing the allocation ratio of each service flow on different paths and the integer allocation matrix corresponding to the continuous solution. The integer allocation matrix is transformed to obtain a corresponding flow table for recording the allocation relationship between each service flow and each path resource, and the flow table is then sent to each network device.
2. The method according to claim 1, characterized in that, Before obtaining the current preset routing table of the optical network based on each node pair in the current directed graph of the optical network, and before obtaining the service set including multiple service flows, the method further includes: Obtain the current network device identifiers and link identifiers of the optical network; A directed graph is constructed based on the current network device identifiers and link identifiers of the optical network.
3. The method according to claim 2, characterized in that, The step of obtaining the current preset routing table of the optical network based on each node pair in the current directed graph of the optical network includes: Based on the KSP algorithm, pre-calculation processing is performed on each node pair in the directed graph to obtain a pre-set routing table.
4. The method according to claim 1, characterized in that, The constraints include: The sum of the number of data packets allocated to each of the paths in the service flow is equal to the total number of data packets in that service flow. The total service load on each of the links is less than or equal to the maximum capacity of that link.
5. The method according to claim 1, characterized in that, The optical network multipath resource allocation model is shown in the following equation: in, Describe the objective function. This represents the physical link in an optical network. Indicates link The number of data packets carried on top It represents the set of all links in an optical network. Indicates the size of the data packet. Indicates the bandwidth of the link. Indicates business flow, Represents a set of business functions. K represents the number of pre-computed paths for each business flow. Indicates business flow Assigned in path Number of data packets on Indicates a 0 or 1 indicator function, when hour It is 1 if it is true, otherwise it is 0; This represents the source node of the business flow. Indicates the destination node of the business flow. Indicates business From the source node to the destination node The There are several optional paths.
6. The method according to claim 1, characterized in that, The method of solving the optical network multipath resource allocation model based on preset constraints and gradient descent yields a continuous solution representing the allocation ratio of each service flow on different paths, and the corresponding integer allocation matrix includes: Initialize continuous variables, which include the proportions allocated to each of the business flows on different paths; Perform iterative update steps: In the current iteration, calculate the subgradient of the objective function with respect to the current continuous variable; based on the preset learning rate and the preset number of iterations, update the current continuous variable to obtain the updated continuous variable; If it is determined that the current iteration round is not the preset last round, and / or the optical network multipath resource allocation model has not converged, then the iterative update step is executed again; If it is determined that the current iteration round is the preset last round, and / or the optical network multipath resource allocation model converges, then the updated continuous variable obtained now will be used as the target continuous variable. The target continuous variables of each of the business flows on each of the paths are normalized to obtain the continuous solutions representing the allocation ratio of each of the business flows on different paths, so that the sum of the continuous solutions representing the allocation ratio of each of the business flows on different paths is 1. The continuous solution is discretized to obtain the corresponding integer allocation matrix.
7. The method according to claim 6, characterized in that, The discretization of the continuous solution to obtain the corresponding integer allocation matrix includes: The continuous solutions are allocated and rounded based on the total number of data packets in each of the service flows to obtain the corresponding basic allocation quantity. Based on the total number of data packets in the service flow and the basic allocation quantity, the remaining number of data packets and the fractional part are calculated; Sort the fractional parts in descending order. For those paths whose number of paths in the top ranking is equal to the number of remaining data packets, add one data packet to the base allocation number to obtain the corresponding integer allocation matrix.
8. A multipath resource allocation system for optical networks, characterized in that, Includes a centralized controller module and a southbound interface module; The centralized controller module is used to execute the optical network multipath resource allocation method as described in any one of claims 1 to 7; The southbound interface module connects the central controller module to each of the network devices and is used for flow table distribution and status reporting.
9. The system according to claim 8, characterized in that, The centralized controller module also includes: The fault detection unit is used to detect link faults and equipment faults. The recovery calculation unit is used to recalculate a multipath scheme to avoid the failed link when a failure occurs.
10. An electronic device, characterized in that, It includes a processor and a memory; when the processor executes the running program stored in the memory, it implements the optical network multipath resource allocation method as described in claims 1 to 7.