Fully distributed switch traffic scheduling method, apparatus and device, and storage medium

By independently applying local information and intelligent decision-making models on each switch, the network performance problem caused by controller failure in distributed traffic engineering is solved, and efficient and flexible network traffic scheduling is achieved.

WO2025184950A1PCT designated stage Publication Date: 2025-09-11PENG CHENG LAB
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/084325
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-04
Filing Date
2024-03-28
Publication Date
2025-09-11

AI Technical Summary

Technical Problem

Existing distributed traffic engineering relies on sharing information between controllers, which leads to serious network performance problems when controllers fail.

Method used

A fully distributed switch traffic scheduling method is adopted. Each switch is equipped with an independent controller. By obtaining local network information, using pre-trained intelligent decision-making models and reinforcement learning algorithms, it independently determines routing decisions, reducing communication and synchronization losses between controllers.

Benefits of technology

It achieves efficient and flexible network traffic engineering, reduces performance loss caused by controller failure, and improves network stability and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024084325_12092025_PF_FP_ABST
    Figure CN2024084325_12092025_PF_FP_ABST
Patent Text Reader

Abstract

The present application belongs to the technical field of traffic engineering. Disclosed are a fully distributed switch traffic scheduling method, apparatus and device, and a storage medium. The method comprises: acquiring local network information of a current switch in a current network; inputting the local network information into a pre-trained intelligent decision model, and determining a traffic ratio of a path between the current switch and another switch in the current network; when a data packet has been received, performing traffic scheduling on the data packet on the basis of the traffic ratio of the path between the current switch and the other switch, and determining a forwarding path of the data packet; and forwarding the data packet on the basis of the forwarding path.
Need to check novelty before this filing date? Find Prior Art

Description

Fully distributed switch traffic scheduling method, device, equipment and storage medium

[0001] Related applications

[0002] This application claims priority to Chinese patent application No. 202410243306.3 filed on March 4, 2024, the entire contents of which are incorporated by reference into this application. Technical Field

[0003] The present application relates to the field of traffic engineering technology, and in particular to a method, apparatus, device, and storage medium for fully distributed switch traffic scheduling. Background Art

[0004] Traffic Engineering (TE) is crucial for managing network load and can typically be implemented in two forms: centralized or distributed. However, most distributed TE implementations are only partially distributed, relying on shared information between multiple controllers to make routing decisions. This can easily lead to significant network performance issues when a controller fails.

[0005] The above content is only used to assist in understanding the technical solution of this application and does not constitute an admission that the above content is prior art.

[0006] Summary of the Invention

[0007] The main purpose of this application is to provide a fully distributed switch traffic scheduling method, device, equipment and storage medium, aiming to solve the technical problem in the prior art that traditional distributed traffic engineering relies on shared information between controllers to determine routing, which easily leads to serious network performance problems when the controller fails.

[0008] To achieve the above objectives, the present application provides a fully distributed switch traffic scheduling method. A network currently has multiple switches, each of which has an independent controller. The fully distributed switch traffic scheduling method is independently applied to the controllers of each switch. The fully distributed switch traffic scheduling method includes:

[0009] Get the local network information of the current switch in the current network;

[0010] Inputting the local network information into a pre-trained intelligent decision model to determine a traffic splitting ratio between the current switch and other switches in the current network;

[0011] When receiving a data packet, performing traffic scheduling on the data packet based on the split ratio of the paths between the current switch and the other switches, and determining a forwarding path for the data packet;

[0012] The data packet is forwarded based on the forwarding path.

[0013] In one embodiment, the performing traffic scheduling on the data packet based on the split ratio of the path between the current switch and the other switches to determine the forwarding path of the data packet includes:

[0014] Determine a traffic splitting ratio of a path between the current switch and the target switch according to a target switch of the data packet and a traffic splitting ratio of a path between the current switch and the other switches;

[0015] determining a hash boundary of the path between the current switch and the target switch according to a traffic split ratio of the path between the current switch and the target switch;

[0016] Performing hash processing on the header of the data packet to obtain a path hash value of the data packet, and determining a matching range of the path hash value within the hash boundary;

[0017] A forwarding path for the data packet is determined according to the matching range.

[0018] In one embodiment, the intelligent decision model includes a decision model and an evaluation model. Inputting the local network information into the pre-trained intelligent decision model to determine the traffic split ratio between the current switch and other switches in the current network includes:

[0019] Inputting the link utilization vector corresponding to the local network information into the decision model to obtain an initial traffic splitting ratio of the path between the current switch and the other switches;

[0020] Inputting the link utilization vector and the initial diversion ratio vector corresponding to the initial diversion ratio into the evaluation model, evaluating the initial diversion ratio, and obtaining a reward score corresponding to the initial diversion ratio;

[0021] Based on the reward score, the initial traffic split ratio is optimized to obtain the traffic split ratio of the path between the current switch and the other switches.

[0022] In one embodiment, evaluating the initial diversion ratio to obtain a reward score corresponding to the initial diversion ratio includes:

[0023] Obtain the corresponding relationship between the most congested link load, optimal link utilization and reward score;

[0024] Determining the reward score corresponding to the initial split ratio according to the corresponding relationship between the link utilization, the optimal link utilization and the reward score, and the most congested link load and the optimal link utilization corresponding to the initial split ratio;

[0025] The initial traffic split ratio is optimized based on the reward score to obtain traffic split ratios of paths between the current switch and other switches in the current network.

[0026] In one embodiment, the local network information includes at least link traffic and link capacity, and the fully distributed switch traffic scheduling further includes:

[0027] Obtain the corresponding relationship between link traffic, link capacity and link utilization;

[0028] Obtaining the link utilization of the path between the current switch and the other switches according to the link flow, the link capacity, and the corresponding relationship between the link flow, the link capacity, and the link utilization;

[0029] The link utilization vector is obtained based on the link utilization in the adjacent area.

[0030] In one embodiment, before evaluating the initial diversion ratio and obtaining the reward score corresponding to the initial diversion ratio, the method further includes:

[0031] Obtaining a maximum element and a minimum element in the initial split ratio vector, and determining a variation range of the maximum element based on the maximum element and the minimum element;

[0032] The variation of the maximum element is randomly determined within the variation range, and the variation is evenly distributed to other elements in the initial split ratio vector.

[0033] In one embodiment, obtaining local network information of the current switch in the current network includes:

[0034] Determining a hop count threshold based on network topology information and link status information of the current network;

[0035] Determining a neighboring area of ​​the current switch based on the hop count threshold;

[0036] The network status information in the vicinity of the current switch is obtained to obtain the local network information.

[0037] In addition, to achieve the above objectives, the present application also proposes a fully distributed switch traffic scheduling device, which includes:

[0038] The acquisition module is used to obtain the local network information of the current switch in the current network;

[0039] a decision module, configured to input the local network information into a pre-trained intelligent decision model to determine a traffic splitting ratio between the current switch and other switches in the current network;

[0040] a scheduling module, configured to, upon receiving a data packet, perform traffic scheduling on the data packet based on a traffic splitting ratio between the current switch and the other switches, and determine a forwarding path for the data packet;

[0041] The scheduling module is further configured to forward the data packet based on the forwarding path.

[0042] In addition, to achieve the above-mentioned purpose, the present application also proposes a fully distributed switch traffic scheduling device, which includes: a memory, a processor, and a fully distributed switch traffic scheduling program stored on the memory and executable on the processor, wherein the fully distributed switch traffic scheduling program is configured to implement the steps of the fully distributed switch traffic scheduling method described above.

[0043] In addition, to achieve the above-mentioned purpose, the present application also proposes a storage medium, on which a fully distributed switch traffic scheduling program is stored. When the fully distributed switch traffic scheduling program is executed by a processor, the steps of the fully distributed switch traffic scheduling method described above are implemented.

[0044] In this application, a current network is provided with multiple switches, each of which is provided with an independent controller. A fully distributed switch traffic scheduling method is independently applied to the controller of each switch. By obtaining the local network information of the current switch in the current network, the local network information is input into a pre-trained intelligent decision model to determine the split ratio of the path between the current switch and other switches in the current network. When a data packet is received, the data packet is traffic scheduled based on the split ratio of the path between the current switch and other switches, the forwarding path of the data packet is determined, and the data packet is forwarded based on the forwarding path. Because traditional distributed traffic engineering relies on shared information between controllers to determine routing, it is easy to cause serious network performance problems when the controller fails. This application implements a fully distributed traffic engineering architecture, in which the independent controller of each switch makes routing decisions, using only the local information of each switch in the network as input. Through the pre-trained intelligent decision model, a reinforcement learning algorithm is used to predict the traffic distribution on multiple paths, and then make corresponding decisions. No collaboration between controllers is required, which reduces communication and synchronization losses between controllers and also reduces performance losses caused by controller failures, thus achieving efficient and flexible network traffic engineering. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] FIG1 is a schematic diagram of the structure of a fully distributed switch traffic scheduling device in a hardware operating environment according to an embodiment of the present application;

[0046] FIG2 is a flow chart of a first embodiment of a fully distributed switch traffic scheduling method of the present application;

[0047] FIG3 is a schematic diagram of a programmable data plane according to an embodiment of a fully distributed switch traffic scheduling method of the present application;

[0048] FIG4 is a flow chart of a second embodiment of a fully distributed switch traffic scheduling method according to the present application;

[0049] FIG5 is a schematic diagram of a noise mechanism according to an embodiment of a fully distributed switch traffic scheduling method of the present application;

[0050] FIG6 is a flow chart of a third embodiment of a fully distributed switch traffic scheduling method according to the present invention;

[0051] FIG7 is a structural block diagram of the first embodiment of the fully distributed switch traffic scheduling device of the present application.

[0052] The realization of the objectives, functional features and advantages of this application will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0053] It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application.

[0054] Refer to Figure 1, which is a schematic diagram of the structure of a fully distributed switch traffic scheduling device in the hardware operating environment involved in the embodiment of the present application.

[0055] As shown in Figure 1, the fully distributed switch traffic scheduling device may include: a processor 1001, such as a central processing unit (CPU), a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. The communication bus 1002 is used to implement communication between these components. The user interface 1003 may include a display screen and an input unit such as a keyboard. The user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may include a standard wired interface or a wireless interface (such as a wireless fidelity (WI-FI) interface). The memory 1005 may be a high-speed random access memory (RAM) or a stable non-volatile memory (NVM), such as a disk storage device. The memory 1005 may also be a storage device independent of the aforementioned processor 1001.

[0056] Those skilled in the art will understand that the structure shown in FIG1 does not constitute a limitation on the fully distributed switch traffic scheduling device, and may include more or fewer components than shown in the figure, or a combination of certain components, or a different arrangement of components.

[0057] As shown in FIG. 1 , the memory 1005 as a storage medium may include an operating system, a network communication module, a user interface module, and a fully distributed switch traffic scheduler.

[0058] In the fully distributed switch traffic scheduling device shown in Figure 1, the network interface 1004 is mainly used for data communication with the network server; the user interface 1003 is mainly used for data interaction with the user; the processor 1001 and the memory 1005 in the fully distributed switch traffic scheduling device of the present application can be set in the fully distributed switch traffic scheduling device. The fully distributed switch traffic scheduling device calls the fully distributed switch traffic scheduling program stored in the memory 1005 through the processor 1001 and executes the fully distributed switch traffic scheduling method provided in the embodiment of the present application.

[0059] An embodiment of the present application provides a fully distributed switch traffic scheduling method. Referring to FIG. 2 , FIG. 2 is a flow chart of a first embodiment of a fully distributed switch traffic scheduling method of the present application.

[0060] In this embodiment, the fully distributed switch traffic scheduling method includes the following steps:

[0061] Step S10: Obtain local network information of the current switch in the current network.

[0062] It should be noted that there are multiple switches in the current network, each switch is equipped with an independent controller, and the controller of each switch can independently apply the fully distributed switch traffic scheduling method, that is, the fully distributed switch traffic scheduling method is independently applied to the controller of each switch. In other words, the execution subject of this embodiment is the independent controller of each switch, and the controller of each switch is equipped with a fully distributed switch traffic scheduling program. By running the fully distributed switch traffic scheduling program, traffic scheduling is performed on the switches in the current network.

[0063] It is understandable that the current switch refers to the switch corresponding to each controller. Generally speaking, each controller corresponds to a switch. For example, if the controller of switch A is B, then for controller B, the current switch is A.

[0064] It should be understood that local network information, namely local status, refers to the network status in the adjacent area, that is, the network status information in the adjacent area of ​​the current switch, including at least link traffic and link capacity.

[0065] In one embodiment, step S10 includes: determining a hop count threshold based on network topology information and link status information of the current network; determining a neighboring area of ​​the current switch based on the hop count threshold; and obtaining network status information within the neighboring area of ​​the current switch to obtain the local network information.

[0066] It should be noted that the network topology information, i.e., the topology of the current network, can be defined as a directed graph G(V,E), where V represents the set of switches in the current network, E represents the links in the current network, and each link can be represented as e(u,v)∈□E, where u,v∈V, and each link is represented by its capacity c e and flow t e To represent, link state information is the relevant information of the links in the current network. The hop threshold is the threshold of the distance between the link and the switch set in this embodiment, which determines the size of the adjacent area. For each switch v in V, if dist(e,v) is used to represent the distance between e and v, and the hop threshold is set to H, then dist(e,v) in the adjacent area needs to be less than H. The set of links that meet the conditions is N. v , that is, N v=[e],e∈E,v∈V,dist(e,v) <H。

[0067] Step S20: Inputting the local network information into a pre-trained intelligent decision model to determine the traffic splitting ratio of the paths between the current switch and other switches in the current network.

[0068] It is understandable that an investigation of the traffic distribution pattern between source-destination pairs reveals a significant correlation between demand and distance (i.e., the minimum number of hops between switches). For each topology, the total demand between switches tends to decrease as the distance increases, indicating that the impact of the switch's routing decisions is primarily limited to its immediate vicinity. It can be seen that the behavior of a switch typically only significantly impacts networks within a specific range around it, and has less impact on networks far from the switch. Therefore, in order to reduce the overhead of information collection, in this embodiment, the controller only considers the network conditions within the vicinity of the switch and makes routing decisions based on this network condition information. Routing decisions in this embodiment primarily refer to the scheduling of traffic and determining the data forwarding path in order to forward data packets.

[0069] It should be understood that to quantify each switch's traffic share, this embodiment introduces the Traffic Ratio (TR). This measures the ratio of a switch's traffic to the total traffic on a link. Generally, links closer to the switch have higher traffic ratios. A switch's routing decisions significantly impact nearby links, and the status of these adjacent links can indicate the effectiveness of these decisions.

[0070] It should be noted that the intelligent decision-making model can be considered as the deep reinforcement learning (DRL) agent set in this embodiment to assist in making routing decisions. Because the controller only uses local network information as input, it lacks sufficient data to construct a complete optimization problem. Therefore, this embodiment uses the intelligent decision-making model to discover hidden network characteristics from incomplete information to facilitate routing decisions. The intelligent decision-making model can use the MADDPG (Multi-Agent Deep Deterministic Policy Gradient) algorithm to learn hidden characteristics from locally collected network states, or other suitable algorithms, which are not limited in this embodiment.

[0071] It is understandable that in this embodiment, an intelligent decision model is deployed for each switch. Each agent is responsible for only one switch v. Therefore, it is necessary to decide the traffic distribution from switch v to all other switches u (u∈V, u≠v) in the current network, that is, the split ratio of the path between the current switch and other switches. Assume that there are K paths between switches v and u, using avu To express the split ratio from v to u, then a vu It can be expressed as: i=1,2…K,v∈V,u∈V,v≠u, where, is the diversion ratio of the i-th path from v to u, and the sum of the diversion ratios of the same destination is 1, that is, v∈V,u∈V,u≠v, By connecting the split ratios of different destinations, the action vector a can be obtained v =[a vu ],v∈V,u∈V,u≠v.

[0072] It should be understood that although these paths are fixed, the trained intelligent decision model can prevent data packets from passing through heavily loaded links. For links outside the adjacent area, the decisions made based on the intelligent decision model have limited impact on the link load because the TR is low.

[0073] Step S30: When a data packet is received, traffic scheduling is performed on the data packet based on the traffic splitting ratio between the current switch and the other switches to determine a forwarding path for the data packet.

[0074] It should be noted that the switch in this embodiment is typically a programmable switch and can adopt a programmable data plane as shown in Figure 3. When a switch (such as a P4 switch) receives a data packet, a counter records the ingress port. The controller then collects information by reading the statistical information of the counter and then performs flooding. The intelligent decision-making model predicts the diversion ratio based on the collected information. Finally, the controller changes the forwarding policy of the switch by writing table entries and registers. By using the mechanisms in the programmable switch to implement the various functions in this embodiment, the data plane and control plane are combined to realize the function of scheduling traffic in the network, thereby optimizing the overall performance of the network.

[0075] As you can understand, during the initialization phase, the controller calculates the forwarding port for each hop, known as a port path. After initialization, the controller assigns a path ID to each port path based on the destination switch and writes these port paths into the switch's table. When the current switch receives a packet, the controller finds several path IDs for the packet's destination. Then, based on the split ratio, it determines the final path and matches the path IDs to obtain the port path. This path is then inserted into the packet's header. If the switch receives a packet and determines the forwarding path, the controller inserts the forwarding port for each hop into the packet's header.

[0076] Step S40: forwarding the data packet based on the forwarding path.

[0077] It should be understood that the port number for each hop can be matched against the table entry based on the forwarding path ID. However, only the current switch knows the forwarding port for each hop. Therefore, in this embodiment, source routing is used to ensure that each switch forwards the packet to the correct port. The port number for each hop is inserted into the packet header stack by the current switch's controller. The destination switch receiving a source-routed packet checks and pops the port number at the top of the stack before forwarding the packet.

[0078] It should be noted that each switch is equipped with an independent controller. Each switch collects data about its local network conditions and shares this data with its corresponding controller to make routing decisions. The controller only relies on information from its own switch and does not rely on data from other controllers.

[0079] In one embodiment, this embodiment collects link traffic using a counter mechanism. In a switch, a counter counts the number of packets received on a receiving port, recording the size and number of packets. This recorded data can be accessed by a controller. The controller can periodically read the size of packets received on each port to calculate the link traffic over a specific period. After reading the recorded data from the counter, the controller resets the counter for subsequent recording. This method continuously collects link status information within the network, providing data for the controller's decision-making.

[0080] In this embodiment, a current network is provided with multiple switches, each of which is equipped with an independent controller. A fully distributed switch traffic scheduling method is independently applied to the controller of each switch. Local network information of the current switch in the current network is obtained and input into a pre-trained intelligent decision model to determine the traffic split ratio between the current switch and other switches in the current network. Upon receiving a data packet, traffic scheduling is performed on the data packet based on the traffic split ratio between the current switch and other switches, and a forwarding path for the data packet is determined. The data packet is then forwarded based on the forwarding path. This embodiment implements a fully distributed traffic engineering architecture, where routing decisions are made by an independent controller of each switch, using only local information about each switch in the network as input. A pre-trained intelligent decision model, utilizing a reinforcement learning algorithm, predicts traffic distribution along multiple paths, and thus makes corresponding decisions. This eliminates the need for collaboration between controllers, reduces communication and synchronization losses between controllers, and reduces performance losses caused by controller failures, thereby achieving efficient and flexible network traffic engineering.

[0081] 4 , which is a flow chart of a second embodiment of a fully distributed switch traffic scheduling method according to the present application.

[0082] Based on the above embodiment, step S20 includes:

[0083] Step S201: inputting the link utilization vector corresponding to the local network information into the decision model to obtain an initial traffic splitting ratio of the path between the current switch and the other switches.

[0084] It should be noted that the intelligent decision model includes a decision model and an evaluation model. In this embodiment, the decision model is an Actor model and the evaluation model is a Critic model. In the Actor model, the input layer is the state vector [s v ],v∈V, the Actor network consists of two fully connected hidden layers, using Leaky ReLU as the activation function, the output layer is fully connected to the second hidden layer, using the Softmax function as the activation function to ensure that the sum of the diversion ratios of the same target switch is equal to 1, and the final output action vector [a v ],v∈V, where the target switch is the switch at the destination. The Critic model uses the action vector [a v ] and the state vector [s v ] as input, the Critic model consists of two fully connected layers, using Leaky ReLU as the activation function, and the output layer contains one neuron representing the evaluation of the action generated by the Actor network.

[0085] It is understood that the link utilization vector represents the utilization of different paths between the current switch and other switches. The link utilization vector is a vector composed of the utilization of different paths between the current switch and other switches in the adjacent area. In this embodiment, the state vector input into the decision model is the link utilization vector. The initial traffic split ratio refers to the preliminarily determined traffic split ratio for all paths between the current switch and other switches, which can be further optimized later.

[0086] It should be understood that the step of determining the link utilization vector includes: obtaining a correspondence between link traffic, link capacity, and link utilization; obtaining the link utilization of the path between the current switch and the other switches based on the link traffic, the link capacity, and the correspondence between the link traffic, the link capacity, and the link utilization; and obtaining the link utilization vector based on the link utilization in the adjacent area.

[0087] It should be noted that this embodiment uses the link utilization in the vicinity of the switch as the state input decision model. The corresponding relationship between link flow, link capacity and link utilization refers to the calculation relationship of link utilization. Generally speaking, the link flow t corresponding to the path is e Divide by the link capacity ce , we can get the link utilization of all paths between the current switch and other switches, and combine the link utilizations in the adjacent areas of the switch into a vector to form the input state vector, namely the link utilization state vector s v =[t e / c e ],e∈N v ,v∈V.

[0088] Step S202: inputting the link utilization vector and the initial diversion ratio vector corresponding to the initial diversion ratio into the evaluation model, evaluating the initial diversion ratio, and obtaining a reward score corresponding to the initial diversion ratio.

[0089] It can be understood that the action vector output by the decision model in this embodiment is a vector composed of the initial split ratios of different target switches, that is, the initial split ratio vector. By connecting the split ratios of different target switches, the action vector a can be obtained. v =[a vu ]□,v∈V,u∈V,u≠v.

[0090] In one embodiment, the initial diversion ratio is evaluated to obtain a bonus score corresponding to the initial diversion ratio, including: obtaining a correspondence between the most congested link load, the optimal link utilization, and the bonus score; determining the bonus score corresponding to the initial diversion ratio based on the correspondence between the link utilization, the optimal link utilization, and the bonus score, and the most congested link load and the optimal link utilization corresponding to the initial diversion ratio; and optimizing the initial diversion ratio based on the bonus score to obtain a diversion ratio of the path between the current switch and other switches in the current network.

[0091] It should be understood that the most congested link load is the load of the most congested link in the current network, which can usually be represented by the maximum link utilization (MLU). In this embodiment, by optimizing an NP-hard multi-commodity flow (MCF) problem, the optimal MLU, i.e., the optimal link utilization MLU, can be obtained. opt The corresponding relationship between the most congested link load, the optimal link utilization, and the bonus score refers to the calculation formula of the bonus score, which is as follows:

[0092] In the formula, R represents the reward score, MLU represents the optimal link utilization, and MLU opt Indicates the most congested link load, since MLU≥MLU opt ,This design method allows the model to adjust network traffic to minimize the load.

[0093] In one embodiment, before evaluating the initial diversion ratio and obtaining the reward score corresponding to the initial diversion ratio, it also includes: obtaining the maximum element and the minimum element in the initial diversion ratio vector, and determining the variation range of the maximum element based on the maximum element and the minimum element; randomly determining the variation amount of the maximum element within the variation range, and evenly distributing the variation amount to other elements in the initial diversion ratio vector.

[0094] It should be noted that, as shown in FIG5 , this embodiment sets up a noise mechanism that can increase or decrease the value of the largest element in the initial diversion ratio vector, and then evenly distribute the changed value among the other elements. Therefore, we first need to determine the maximum and minimum elements in the initial diversion ratio vector, and use them to calculate the range of change of the maximum element. Then, we randomly select a value in this range of change as the change r of the maximum element, and evenly distribute -r to the other elements to ensure that the sum of the elements in the noise is 0. This noise mechanism has two characteristics: the sum of the elements in the noise is 0, which ensures that the sum of the elements in the diversion ratio is still 1 after adding the noise r; after the initial diversion ratio vector and the noise are added, it can be ensured that the value of each element in the initial diversion ratio vector is still in the range [0,1] to ensure the validity of the diversion ratio.

[0095] Step S203: Based on the reward score, the initial traffic split ratio is optimized to obtain the traffic split ratio of the path between the current switch and the other switches.

[0096] In this embodiment, a link utilization vector corresponding to local network information is input into a decision model to obtain an initial split ratio for the path between the current switch and the other switches. The link utilization vector and the initial split ratio vector corresponding to the initial split ratio are input into an evaluation model to evaluate the initial split ratio and obtain a reward score corresponding to the initial split ratio. Based on the reward score, the initial split ratio is optimized to obtain the split ratio for the path between the current switch and the other switches. This embodiment implements a fully distributed traffic engineering architecture, in which routing decisions are made by an independent controller of each switch, using only local information about each switch in the network as input. A pre-trained intelligent decision model, utilizing a reinforcement learning algorithm, predicts traffic distribution on multiple paths and makes corresponding decisions. This eliminates the need for collaboration between controllers, reduces communication and synchronization losses between controllers, and reduces performance losses caused by controller failures. This achieves efficient and flexible network traffic engineering and proposes an adaptive noise mechanism that improves the training effect of the intelligent decision model and allows the model to explore more action spaces.

[0097] 6 , which is a flow chart illustrating a third embodiment of a fully distributed switch traffic scheduling method according to the present application.

[0098] Based on the first embodiment above, step S30 includes:

[0099] Step S301: determining a split ratio of a path between the current switch and the target switch according to a target switch of the data packet and a split ratio of a path between the current switch and the other switches.

[0100] It should be noted that the target switch is the destination switch of the data packet. According to the target switch of the received data packet, the diversion ratio corresponding to the target switch is determined from the diversion ratios of all paths, that is, the diversion ratio of the path between the current switch and the target switch.

[0101] It can be understood that in this embodiment, traffic segmentation can be achieved through a register mechanism. The register can be a storage element read and written by the controller. Therefore, K adjacent areas can be continuously allocated to the target switch in the register. The positions of these K adjacent areas can be calculated based on the ID of the target switch. These K positions correspond to the hash boundaries of K paths leading to the target switch.

[0102] Step S302: Determine a hash boundary of the path between the current switch and the target switch according to the traffic splitting ratio of the path between the current switch and the target switch.

[0103] It should be understood that since switches may not support floating-point numbers (e.g., P4 switches), the diversion ratio predicted by the intelligent decision model needs to be multiplied by a large value to obtain the corresponding hash boundary to ensure the accuracy of the segmentation and calculation of the cumulative value. The final hash boundary is then obtained by calculating the cumulative value. The value to be multiplied is usually 10000. Assuming the diversion ratio is (0.1, 0.6, 0.3), multiplying by 10000 respectively will give (1000, 6000, 3000). After calculating the cumulative value, the hash boundary obtained is (1000, 7000, 10000). Other suitable values ​​can also be set, and this embodiment does not limit this.

[0104] Step S303: performing hash processing on the header of the data packet to obtain a path hash value of the data packet, and determining a matching range of the path hash value within the hash boundary.

[0105] It should be noted that the path hash value is the value obtained by hashing the header of the data packet, and the range in which the path hash value falls within the hash boundary is the matching range.

[0106] Step S304: Determine the forwarding path of the data packet according to the matching range.

[0107] In the specific implementation, when a switch receives a data packet, the controller finds all the paths to the target switch of the data packet, uses the diversion ratio of the paths between the current switch and the target switch, calculates the hash boundaries of these paths, and then hashes the header of the data packet to determine the range in which the hash value falls, and determines the path where the data packet will be forwarded.

[0108] In this embodiment, the split ratio of the path between the current switch and the target switch is determined based on the target switch of the data packet and the split ratio of the path between the current switch and other switches. The hash boundary of the path between the current switch and the target switch is determined based on the split ratio of the path between the current switch and the target switch. The header of the data packet is hashed to obtain the path hash value of the data packet, and the matching range of the path hash value within the hash boundary is determined. Based on the matching range, the forwarding path of the data packet is determined. This embodiment implements a fully distributed traffic engineering architecture, in which independent controllers of each switch make routing decisions, using only local information of each switch in the network as input. Through a pre-trained intelligent decision model and a reinforcement learning algorithm, the traffic distribution on multiple paths is predicted, and corresponding decisions are made. No collaboration between controllers is required, which reduces communication and synchronization losses between controllers, and also reduces performance losses caused by controller failures, thereby achieving efficient and flexible network traffic engineering.

[0109] In addition, an embodiment of the present application further proposes a storage medium on which a fully distributed switch traffic scheduling program is stored. When the fully distributed switch traffic scheduling program is executed by a processor, the steps of the fully distributed switch traffic scheduling method described above are implemented.

[0110] Refer to FIG. 7 , which is a structural block diagram of a first embodiment of a fully distributed switch traffic scheduling device of the present application.

[0111] As shown in FIG7 , the fully distributed switch traffic scheduling device proposed in the embodiment of the present application includes:

[0112] The acquisition module 10 is used to acquire the local network information of the current switch in the current network.

[0113] The decision module 20 is configured to input the local network information into a pre-trained intelligent decision model to determine a traffic splitting ratio between the current switch and other switches in the current network.

[0114] The scheduling module 30 is configured to, upon receiving a data packet, perform traffic scheduling on the data packet based on the split ratio of the paths between the current switch and the other switches, and determine a forwarding path for the data packet.

[0115] The scheduling module 30 is further configured to forward the data packet based on the forwarding path.

[0116] In this embodiment, local network information of the current switch in the current network is obtained and input into a pre-trained intelligent decision-making model to determine the traffic split ratio between the current switch and other switches in the current network. Upon receiving a data packet, traffic scheduling is performed on the data packet based on the traffic split ratio between the current switch and other switches, and a forwarding path for the data packet is determined. The data packet is then forwarded based on the forwarding path. This embodiment implements a fully distributed traffic engineering architecture, where routing decisions are made by an independent controller in each switch, using only local information about each switch in the network as input. A pre-trained intelligent decision-making model, utilizing a reinforcement learning algorithm, predicts traffic distribution along multiple paths, enabling appropriate decisions. This eliminates the need for collaboration between controllers, reduces communication and synchronization losses between controllers, and minimizes performance losses caused by controller failures, achieving efficient and flexible network traffic engineering.

[0117] In one embodiment, the scheduling module 30 is further configured to determine a split ratio of a path between the current switch and the target switch based on a target switch of the data packet and a split ratio of a path between the current switch and the other switches;

[0118] determining a hash boundary of the path between the current switch and the target switch according to a traffic split ratio of the path between the current switch and the target switch;

[0119] Performing hash processing on the header of the data packet to obtain a path hash value of the data packet, and determining a matching range of the path hash value within the hash boundary;

[0120] A forwarding path for the data packet is determined according to the matching range.

[0121] In one embodiment, the decision module 20 is further configured to input the link utilization vector corresponding to the local network information into the decision model to obtain an initial traffic split ratio of the path between the current switch and the other switches;

[0122] Inputting the link utilization vector and the initial diversion ratio vector corresponding to the initial diversion ratio into the evaluation model, evaluating the initial diversion ratio, and obtaining a reward score corresponding to the initial diversion ratio;

[0123] Based on the reward score, the initial traffic split ratio is optimized to obtain the traffic split ratio of the path between the current switch and the other switches.

[0124] In one embodiment, the decision module 20 is further configured to obtain a correspondence between the most congested link load, the optimal link utilization, and the reward score;

[0125] Determining the reward score corresponding to the initial split ratio according to the corresponding relationship between the link utilization, the optimal link utilization and the reward score, and the most congested link load and the optimal link utilization corresponding to the initial split ratio;

[0126] The initial traffic split ratio is optimized based on the reward score to obtain traffic split ratios of paths between the current switch and other switches in the current network.

[0127] In one embodiment, the decision module 20 is further configured to obtain a corresponding relationship between link traffic, link capacity, and link utilization;

[0128] Obtaining the link utilization of the path between the current switch and the other switches according to the link flow, the link capacity, and the corresponding relationship between the link flow, the link capacity, and the link utilization;

[0129] The link utilization vector is obtained based on the link utilization in the adjacent area.

[0130] In one embodiment, the decision module 20 is further configured to obtain a maximum element and a minimum element in the initial split ratio vector, and determine a variation range of the maximum element based on the maximum element and the minimum element;

[0131] The variation of the maximum element is randomly determined within the variation range, and the variation is evenly distributed to other elements in the initial split ratio vector.

[0132] In one embodiment, the acquisition module 10 is further configured to determine a hop count threshold based on the network topology information and link status information of the current network;

[0133] Determining a neighboring area of ​​the current switch based on the hop count threshold;

[0134] The network status information in the vicinity of the current switch is obtained to obtain the local network information.

[0135] It should be understood that the above is only an example and does not constitute any limitation to the technical solution of the present application. In specific applications, technicians in this field can make settings as needed, and the present application does not impose any restrictions on this.

[0136] It should be noted that the workflow described above is merely illustrative and does not limit the scope of protection of this application. In actual applications, technicians in this field can select part or all of it according to actual needs to achieve the purpose of this embodiment scheme, and no restrictions are imposed here.

[0137] In addition, for technical details not fully described in this embodiment, please refer to the fully distributed switch traffic scheduling method provided in any embodiment of the present application, and will not be repeated here.

[0138] In addition, it should be noted that, in this document, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or system comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, commodity, or system. In the absence of further limitations, an element defined by the phrase "comprising a..." does not exclude the presence of other identical elements in the process, method, commodity, or system comprising the element.

[0139] The serial numbers of the above embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0140] Through the description of the above embodiments, those skilled in the art can clearly understand that the above embodiment methods can be implemented by means of software plus the necessary general hardware platform, or of course by hardware, but in many cases the former is a better embodiment. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as a read-only memory (ROM) / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present application.

[0141] The above are merely optional embodiments of the present application and do not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. A fully distributed switch traffic scheduling method, wherein: The current network is provided with multiple switches, each of which is provided with an independent controller. The fully distributed switch traffic scheduling method is independently applied to the controller of each switch. The fully distributed switch traffic scheduling method includes: Get the local network information of the current switch in the current network; Inputting the local network information into a pre-trained intelligent decision model to determine a traffic splitting ratio between the current switch and other switches in the current network; When receiving a data packet, performing traffic scheduling on the data packet based on the split ratio of the paths between the current switch and the other switches, and determining a forwarding path for the data packet; The data packet is forwarded based on the forwarding path.

2. The method according to claim 1, wherein The performing traffic scheduling on the data packet based on the split ratio of the path between the current switch and the other switches to determine the forwarding path of the data packet includes: Determine a traffic splitting ratio of a path between the current switch and the target switch according to a target switch of the data packet and a traffic splitting ratio of a path between the current switch and the other switches; determining a hash boundary of the path between the current switch and the target switch according to a traffic split ratio of the path between the current switch and the target switch; Performing hash processing on the header of the data packet to obtain a path hash value of the data packet, and determining a matching range of the path hash value within the hash boundary; A forwarding path for the data packet is determined according to the matching range.

3. The method according to claim 1, wherein The intelligent decision model includes a decision model and an evaluation model. Inputting the local network information into the pre-trained intelligent decision model to determine the traffic diversion ratio between the current switch and other switches in the current network includes: Inputting the link utilization vector corresponding to the local network information into the decision model to obtain an initial traffic splitting ratio of the path between the current switch and the other switches; Inputting the link utilization vector and the initial diversion ratio vector corresponding to the initial diversion ratio into the evaluation model, evaluating the initial diversion ratio, and obtaining a reward score corresponding to the initial diversion ratio; Based on the reward score, the initial traffic split ratio is optimized to obtain the traffic split ratio of the path between the current switch and the other switches.

4. The method according to claim 3, wherein: The evaluating the initial diversion ratio to obtain a reward score corresponding to the initial diversion ratio includes: Obtain the corresponding relationship between the most congested link load, optimal link utilization and reward score; Determining the reward score corresponding to the initial split ratio according to the corresponding relationship between the link utilization, the optimal link utilization and the reward score, and the most congested link load and the optimal link utilization corresponding to the initial split ratio; The initial split ratio is optimized based on the reward score to obtain the current switch and the current network The traffic split ratio between paths between other switches in the network.

5. The method according to claim 3, wherein: The local network information includes at least link traffic and link capacity, and the fully distributed switch traffic scheduling further includes: Obtain the corresponding relationship between link traffic, link capacity and link utilization; Obtaining the link utilization of the path between the current switch and the other switches according to the link flow, the link capacity, and the corresponding relationship between the link flow, the link capacity, and the link utilization; The link utilization vector is obtained based on the link utilization in the adjacent area.

6. The method of claim 3, wherein: Before evaluating the initial diversion ratio and obtaining the reward score corresponding to the initial diversion ratio, the method further includes: Obtaining a maximum element and a minimum element in the initial split ratio vector, and determining a variation range of the maximum element based on the maximum element and the minimum element; The variation of the maximum element is randomly determined within the variation range, and the variation is evenly distributed to other elements in the initial split ratio vector.

7. The method according to any one of claims 1 to 6, wherein: The obtaining of local network information of the current switch in the current network includes: Determining a hop count threshold based on network topology information and link status information of the current network; Determining a neighboring area of ​​the current switch based on the hop count threshold; The network status information in the vicinity of the current switch is obtained to obtain the local network information.

8. A fully distributed switch traffic scheduling device, wherein: The fully distributed switch traffic scheduling device includes: The acquisition module is used to obtain the local network information of the current switch in the current network; a decision module, configured to input the local network information into a pre-trained intelligent decision model to determine a traffic splitting ratio between the current switch and other switches in the current network; a scheduling module, configured to, upon receiving a data packet, perform traffic scheduling on the data packet based on a traffic splitting ratio between the current switch and the other switches, and determine a forwarding path for the data packet; The scheduling module is further configured to forward the data packet based on the forwarding path.

9. A fully distributed switch traffic scheduling device, wherein: The device includes: a memory, a processor, and a fully distributed switch traffic scheduler stored in the memory and executable on the processor, wherein the fully distributed switch traffic scheduler is configured to implement the steps of the fully distributed switch traffic scheduling method according to any one of claims 1 to 7.

10. A storage medium, wherein: The storage medium stores a fully distributed switch traffic scheduling program, which, when executed by a processor, implements the steps of the fully distributed switch traffic scheduling method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Traffic engineering path selection method and device

    CN109587058A

  • Network management method and device, electronic equipment and storage medium

    CN109905251A

  • Network flow transmission optimization method, device and system and readable storage medium

    CN111431799A

  • Systems and methods for network traffic monitoring

    US9787567B1