Explicit congestion notification marking method, switch, system and storage medium

By employing a PID-controlled ECN tagging method in the switch to adjust the packet tagging probability, the network congestion problem in the many-to-one communication mode was solved, achieving stability of the switch queue and improvement of network throughput.

CN121418366APending Publication Date: 2026-01-27ZTE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411007916.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-07-25
Publication Date
2026-01-27

AI Technical Summary

Technical Problem

In remote direct memory access networks, many-to-one communication mode is prone to network congestion. Existing linear ECN marking methods cannot effectively control switch queues, resulting in low network bandwidth utilization, long packet queuing time, and unstable flow control speed adjustment.

Method used

The ECN marking method based on PID control is adopted. By adjusting the marking probability of packets through proportional-integral-derivative parameters, the switch queue is kept stable at a certain queue depth, reducing invalid and excessive ECN marking, and improving the accuracy and timeliness of flow control marking.

Benefits of technology

It effectively avoids network congestion, increases network throughput, ensures rapid convergence and stability of switch queues, and improves network performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121418366A_ABST
    Figure CN121418366A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an explicit congestion notification marking method, a switch, a system and a storage medium, and the method comprises the steps: obtaining the exit queue length of the switch, determining the marking probability of a message according to a preset PID parameter, a preset exit queue reference length and the exit queue length, and performing explicit congestion notification ECN marking on the message according to the marking probability. According to the embodiment of the invention, the marking probability of the message is determined through the PID parameter, and ECN marking is carried out according to the marking probability, so that the message queue of the switch can be stabilized at a certain queue depth, invalid and excessive ECN marking is reduced, blind excessive speed increase or speed reduction is avoided, and the accuracy and timeliness of flow control marking are improved, thereby improving the network throughput and improving the flow control marking efficiency. The problem of network congestion easily caused by a many-to-one communication mode in related technologies is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communications, and more specifically, to an explicit congestion notification marking method, a switch, a system, and a storage medium. Background Technology

[0002] In Remote Direct Memory Access (RDMA) networks, the goal of congestion flow control is to avoid network congestion while maximizing network bandwidth utilization for optimal network performance. A mainstream congestion control algorithm in related technologies is Data Center Quantized Congestion Notification (DCQCN), a rate-based congestion control algorithm where switch congestion signals are primarily implemented using Explicit Congestion Notification (ECN). Because data center receivers use a many-to-one communication model and data traffic exhibits intermittent burst characteristics, switch queues may accumulate, leading to network congestion.

[0003] In conclusion, solutions are urgently needed to address the aforementioned technical problems. Summary of the Invention

[0004] This application provides an explicit congestion notification marking method, a switch, a system, and a storage medium to at least solve the problem that many-to-one communication modes in related technologies are prone to causing network congestion.

[0005] According to one embodiment of this application, an explicit congestion notification marking method is provided. The method includes: obtaining the egress queue length of a switch; determining the marking probability of a packet based on preset proportional-integral-derivative (PID) parameters, a preset egress queue reference length, and the egress queue length; and marking the packet with explicit congestion notification (ECN) according to the marking probability.

[0006] According to another embodiment of this application, a switch is also provided for explicitly marking congestion notifications according to the steps in the various method embodiments of this application.

[0007] According to another embodiment of this application, a message transmission system is also provided, comprising: a sending end, one or more switches, and a receiving end, wherein the sending end and the receiving end are connected through one or more switches, wherein the sending end is configured to send messages according to a preset message sending rate, wherein the messages are transmitted to the receiving end through one or more switches; the switches are configured to receive messages from the previous node, explicitly mark the messages with ECN according to the steps in the various method embodiments of this application, and send the messages or marked messages to the next node, wherein the marked messages carry an ECN mark; the switches are also configured to receive marked messages from the previous node and send the marked messages to the next node; the receiving end is configured to receive marked messages or messages from the previous node, and upon receiving a marked message, generate a congestion notification message according to the ECN mark in the marked message, and feed back the congestion notification message to the sending end through one or more switches; the sending end is also configured to adjust the message sending rate according to the congestion notification message, and send messages according to the adjusted message sending rate.

[0008] According to yet another embodiment of this application, a computer-readable storage medium is also provided, which stores a computer program, wherein the computer program is executed by a processor to perform the steps in any of the above method embodiments.

[0009] According to yet another embodiment of this application, a computer program product is also provided, including a computer program that, when executed by a processor, implements the steps in any of the above method embodiments.

[0010] In this application embodiment, an ECN marking method based on PID control is designed. The marking probability of a packet is determined by the PID parameter, and ECN marking is performed according to the marking probability. This method can keep the packet queue of the switch stable at a certain queue depth, reduce invalid and excessive ECN marking, avoid blindly increasing or decreasing speed, improve the accuracy and timeliness of flow control marking, thereby improving network throughput and solving the problem that many-to-one communication mode in related technologies is prone to network congestion. Attached Figure Description

[0011] Figure 1 This is a schematic diagram illustrating the linear relationship between ECN tagging probability and switch queue length in related technologies;

[0012] Figure 2 This is a flowchart of an explicit congestion notification marking method according to an embodiment of this application;

[0013] Figure 3 This is a structural block diagram of a message transmission system according to an embodiment of this application;

[0014] Figure 4This is a schematic diagram of a data center network message transmission and reception model in one embodiment of this application;

[0015] Figure 5 This is a schematic diagram of the message sending and receiving process of a data center network according to an embodiment of this application;

[0016] Figure 6 This is a schematic diagram of the switch egress queue in one embodiment of this application;

[0017] Figure 7 This is a schematic diagram of a switch in one embodiment of this application. Detailed Implementation

[0018] The embodiments of this application will be described in detail below with reference to the accompanying drawings and examples.

[0019] It should be noted that the terms "first," "second," etc., in the specification, claims, and drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.

[0020] In related technologies, in data centers, when switches experience congestion, congestion signals can typically be used to reduce traffic or drop some data packets to alleviate the congestion. The advantage of packet loss is that it doesn't occupy bottleneck bandwidth and may only affect flows through congested links. The disadvantage is that it leads to uncertainty in packet delivery; packets arrive in the wrong order, making packet loss detection very complex. In the DCQCN congestion flow control scheme, adjusting traffic through congestion signals corresponds to ECN labeling, where the switch labels packets in its egress queue with ECN based on probability, according to the degree of congestion.

[0021] Figure 1 This is a schematic diagram illustrating the linear relationship between ECN marking probability and switch queue length in related technologies, such as... Figure 1 As shown, the switch marks packets in its egress queue with ECN based on their congestion level. A low queue threshold Kmin is set; packets below this threshold are not marked (probability P = 0). A high queue threshold Kmax is set; packets above this threshold are marked 100% of the time (probability P = 1). When the queue length is between Kmin and Kmax, packets are marked with ECN according to a probability of P = (Q - Kmin) / (Kmax - Kmin), where Q is the queue length. This ECN marking method can be called linear ECN marking.

[0022] However, the above-mentioned linear ECN marking method has the following problems: when the switch queue length is less than Kmin, the network bandwidth utilization is low; when the switch queue length is greater than Kmax, the packet queuing time is long, the flow completion time (FCT) of short flows is long, and severe congestion will generate pause frames based on priority flow control (PFC); when the switch queue length is between [Kmin, Kmax], the congestion control algorithm speed adjustment will cause queue oscillation, resulting in excessive speed increase or decrease, and it is difficult to quickly converge and stabilize at a certain queue length value.

[0023] The method embodiments in this application can be run in data center networks or similar network architectures, especially switches in data center networks, which can implement explicit congestion notification marking according to the steps in the various method embodiments in this application.

[0024] This application provides an explicit congestion notification marking method. Figure 2 This is a flowchart of an explicit congestion notification marking method according to an embodiment of this application, such as... Figure 2 As shown, the process includes the following steps:

[0025] Step S202: Obtain the length of the switch's egress queue;

[0026] Step S204: Determine the packet marking probability based on the preset proportional-integral-derivative (PID) parameters, the preset egress queue reference length, and the egress queue length.

[0027] Step S206: Explicitly mark the packet with ECN according to the marking probability.

[0028] In this embodiment, through steps S202 to S206, the packet marking probability can be determined based on the PID parameters, and ECN marking can be performed according to the marking probability. This maintains the switch's packet queue at a stable queue depth, reduces invalid and excessive ECN marking, avoids blindly increasing or decreasing speed, improves the accuracy and timeliness of flow control marking, thereby increasing network throughput and solving the problem of network congestion easily caused by many-to-one communication modes in related technologies. Furthermore, compared to linear ECN marking methods, this embodiment can also solve the problem of switch queues being difficult to converge quickly and maintain stability.

[0029] In this embodiment, the execution subject of the above steps S202 to S206 can be a network node such as a switch, router, or relay node, and this application is not limited to this.

[0030] In this embodiment, Explicit Congestion Notification (ECN) is a network congestion control mechanism used to provide congestion signals. ECN allows the switch to explicitly notify the sender by modifying the ECN field in the packet header when congestion is detected. Therefore, marking the packet with ECN in step S206 can be achieved by modifying the ECN field in the packet.

[0031] In one exemplary embodiment, the packet header may include an 8-bit "Type of Service" field. The ECN mechanism can use the lowest two bits of this field as the ECN field to indicate the congestion state. Different values ​​of the ECN field can correspond to the following ECN states: ECN not supported, non-congested, and congested. In this embodiment, marking the packet with ECN indicates that the ECN field is marked as congested.

[0032] In this embodiment, PID control is a feedback control mechanism widely used in industrial control systems. It stands for Proportional, Integral, and Derivative, representing the three control actions. The PID controller adjusts the system output through these three components to achieve a predetermined control objective. In this embodiment, the PID parameters can be adjusted to regulate the tag probability, thereby achieving flow control at the receiving end. This allows the outlet queue length to converge quickly and remain stable based on a preset outlet queue reference length.

[0033] In some embodiments, the preset PID parameters include: proportional coefficient, integral coefficient, and derivative coefficient.

[0034] In some embodiments, step S204 includes: determining the tagging probability of a message based on a preset proportional coefficient, a preset integral coefficient, a preset differential coefficient, a preset egress queue reference length, and the egress queue length.

[0035] In this embodiment, the proportional coefficient, integral coefficient, and derivative coefficient can be PID parameters that optimize the overall system performance, obtained in advance through simulation.

[0036] In some embodiments, the proportional, integral, and derivative coefficients can be adjusted to obtain PID parameters that meet the overall system performance requirements: The proportional coefficient controls the response speed and force. If the proportional coefficient is set too small, the system response will be slow; if it is set too large, oscillations may occur. When adjusting the proportional coefficient, start with a small value and gradually increase it until the system begins to oscillate. Then record the proportional value at which this critical oscillation occurs and set it to approximately 60% of that value. The integral coefficient helps eliminate steady-state errors and improves the system's accuracy. However, if the integral coefficient is set too large, it may slow down the system response and increase the risk of overshoot and oscillations. When adjusting the integral coefficient, start with a large value and gradually decrease it until the system achieves satisfactory steady-state performance. The derivative coefficient can suppress overshoot and oscillations, improving system stability. The derivative coefficient is sensitive to noise, and improper setting may cause problems. When adjusting the derivative coefficient, start with a small value and gradually increase it until the system exhibits good damping, while avoiding a slowdown in response speed due to an excessively large derivative coefficient.

[0037] In an exemplary embodiment, the proportional coefficient can be set to 0.3, and the integral coefficient and derivative coefficient can be set to 0.01, but this application is not limited to this. The specific PID parameters can be adjusted according to the simulation results.

[0038] In some embodiments, step S204 may include the following steps:

[0039] Step S2041: Determine the exit queue length deviation based on the exit queue length and the exit queue reference length;

[0040] Step S2042: Determine the proportional value based on the exit queue length deviation and the proportional coefficient;

[0041] Step S2043: Determine the integral value based on the exit queue length deviation and the integral coefficient;

[0042] Step S2044: Determine the differential value based on the exit queue length deviation and the differential coefficient;

[0043] Step S2045: The sum of the proportional value, the integral value, and the differential value is determined as the label probability.

[0044] In some embodiments, step S2041 includes: determining the ratio of the difference between the exit queue length and the exit queue reference length to the exit queue reference length as the exit queue length deviation; or, determining the difference between the exit queue length and the exit queue reference length as the exit queue length deviation.

[0045] In an exemplary embodiment, step S2041 can be implemented in the following manner:

[0046] diff(N) = (QQ) R ef) / Q R ef;

[0047] Where N is the current time, diff(N) is the deviation of the exit queue length, and Q is the length of the exit queue. R ef is the reference length of the exit queue.

[0048] In some embodiments, steps S2042 to S2045 can be implemented in the following ways:

[0049]

[0050] Where P is the labeling probability, M is the preset integration time, and K... P K is the proportionality coefficient. I Let K be the integral coefficient. D The differential coefficient is denoted as .

[0051] In an exemplary embodiment, the labeling probability, based on the value of a preset PID parameter, can be expressed as:

[0052]

[0053] In some embodiments, step S206, which involves explicitly marking the packet with an ECN (Electronic Congestion Notification) based on the marking probability, may include the following steps:

[0054] Step S2062: For the message, generate a random number in the range of 0 to 1;

[0055] Step S2064: If the random number is greater than the marking probability, mark the message with ECN to obtain a marked message;

[0056] Step S2066: If the random number is less than or equal to the marking probability, do not mark the message with ECN.

[0057] In this embodiment, the generated random numbers are evenly distributed in the range of 0 to 1. Over a long period of time, if the probability of marking 1,000 packets in the current switch is 60%, then about 60% of these 1,000 packets will be marked as congested, and the remaining 40% of the packets will not be marked.

[0058] In some embodiments, after step S206, the method further includes step S208, sending the tagged message or the message to the next node.

[0059] In this embodiment, the switch detects the egress queue length in real time and determines the marking probability corresponding to each packet to be sent, thereby determining whether the packet needs to be marked with ECN before sending. If a packet has already been marked with ECN in a previous node, the ECN marking process can be skipped in the current node and subsequent nodes, and forwarding can be performed directly, thus avoiding redundant processing operations.

[0060] This application presents an ECN marking method based on PID control. The PID parameters determine the marking probability of packets, and ECN marking is performed according to this probability. This method maintains the switch's packet queue at a stable queue depth, reduces invalid and excessive ECN marking, avoids blindly increasing or decreasing speed, and improves the accuracy and timeliness of flow control marking, thereby increasing network throughput. It also solves the problem of network congestion caused by many-to-one communication modes in related technologies. Furthermore, compared to linear ECN marking methods, this application also addresses the issue of switch queues struggling to converge quickly and remain stable.

[0061] Embodiments of this application also provide a message transmission system. Figure 3 This is a structural block diagram of a message transmission system according to an embodiment of this application, as shown below. Figure 3 As shown, the system includes the following structure:

[0062] The transmitter 32, one or more switches 34, and the receiver 36.

[0063] In this embodiment, the sending end and the receiving end are connected through one or more switches.

[0064] In this embodiment, the sending end is used to send messages according to a preset message sending rate, wherein the messages are transmitted to the receiving end through the one or more switches;

[0065] In this embodiment, the switch is configured to receive the packet from the previous node, perform explicit congestion notification marking according to the steps in any of the above method embodiments, and send the packet or the marked packet to the next node, wherein the marked packet carries an ECN tag;

[0066] In this embodiment, the switch is further configured to receive the tagged packet from the previous node and send the tagged packet to the next node;

[0067] In this embodiment, the receiving end is used to receive the tagged message or the message from the previous node. When the tagged message is received, the receiving end generates a congestion notification message according to the ECN tag in the tagged message, and feeds back the congestion notification message to the sending end through the one or more switches.

[0068] In this embodiment, the sending end is further configured to adjust the message sending rate according to the congestion notification message, and send the message according to the adjusted message sending rate.

[0069] In some embodiments, the sending end is further configured to, upon receiving the congestion notification message, adjust the message transmission rate to a first rate, wherein the first rate is less than the preset message transmission rate; and, upon not receiving the congestion notification message, maintain the message transmission rate or adjust the message transmission rate to a second rate, wherein the second rate is greater than the preset message transmission rate.

[0070] In some embodiments, the sender adjusts the packet transmission rate based on the number of received Congestion Notification Packets (CNPs). After several rounds of rate adjustment, the switch's egress queue can quickly and stably converge to a preset reference value. For example, the sender can alleviate packet congestion in the system by reducing the packet transmission rate after receiving a congestion notification packet, or it can maintain the packet transmission rate or appropriately increase it when no congestion notification packets are received, thereby increasing network throughput and improving overall system performance when the transmission channel is idle.

[0071] In this embodiment, the sending end receives an ACK message and a CNP message, and adjusts the sending rate R in real time according to the received CNP message, and sends the message according to the adjusted sending rate R. This embodiment does not require parameters to be consistent between the sending and receiving ends, and does not require negotiation between the two ends.

[0072] In this embodiment, each switch can determine the packet marking probability using PID parameters and perform ECN marking based on the marking probability. This maintains the switch's packet queue at a stable queue depth, reduces invalid and excessive ECN marking, avoids blindly increasing or decreasing speed, and improves the accuracy and timeliness of flow control marking, thereby increasing network throughput and solving the problem of network congestion caused by many-to-one communication modes in related technologies. Furthermore, compared to linear ECN marking methods, this embodiment can also solve the problem of switch queues being difficult to converge quickly and maintain stability.

[0073] In one embodiment of this application, the aforementioned message transmission system can be implemented in a data center network or a similar network architecture. The data center network consists of a core layer, an aggregation layer, and an access layer. Switches may include edge switches located in the access layer, aggregation switches located in the aggregation layer, and / or core switches located in the core layer. The access layer is the lowest layer of the data center network, directly connecting to servers and other terminal devices. The aggregation layer aggregates traffic from the access layer, providing higher-level routing and switching functions. The core layer is the center of the data center network, responsible for transmitting data between different aggregation layers. The functions of the access layer, aggregation layer, and core layer can all be implemented using routers, switches, or similar network devices.

[0074] In this embodiment, the receiving end and the sending end can be located in the access layer, or they can be computing nodes connected to the edge switch of the access layer, such as user terminals or servers. The computing nodes can send and receive data through the edge switch.

[0075] Through the embodiments of this application, packet flow control of data center networks can be achieved, accelerating the convergence speed of the DCQCN flow control algorithm and improving bandwidth utilization. Simultaneously, the switch can quickly converge to the reference queue length, achieving low transmission latency.

[0076] Figure 4 This is a schematic diagram of a data center network message transmission and reception model according to one embodiment of this application, as shown below. Figure 4 As shown, a data center network includes a transmitter, multiple switches, and a receiver.

[0077] In this embodiment, the sending end continuously transmits packets. As the packets pass through various switches, they are marked with an ECN (Exchange-Confirmation Number) based on the congestion status of the switch's egress queue. Upon receiving a packet carrying an ECN, the receiving end generates a Congestion Notification Message (CNP) to notify the sending end of the existing congestion point. The sending end can adjust its packet transmission rate based on the CNP and continue transmitting packets based on the adjusted rate.

[0078] In this embodiment, the sending end can be based on the Data Center Quantized Congestion Notification (DCQCN) algorithm. Without modifying the DCQCN algorithm, this approach can also solve the problem of network congestion easily caused by many-to-one communication. Furthermore, compared to the linear ECN marking method, this embodiment can also solve the problem in related technologies where switch queues are difficult to converge quickly and maintain stability.

[0079] In this embodiment, the switch can internally implement any of the above method embodiments without adjusting the sending and receiving ends. By configuring a reference queue length internally and calculating the ECN marking probability using the PID method based on the monitored real-time network egress queue length, and marking the packets in the egress queue with ECN according to the marking probability, congestion flow control performance can be improved.

[0080] Figure 5 This is a schematic diagram of the message sending and receiving process of a data center network according to an embodiment of this application, as shown below. Figure 5 As shown, the process includes the following steps:

[0081] Step S1: The sending end sends a message at the initial rate;

[0082] Step S2: After the packet passes through one or more switches, at the exit of each switch, the packet is checked for ECN marking based on the exit queue status before being forwarded to the next hop node.

[0083] Step S3: The receiving end receives the message and sends a CNP message based on the ECN tag on the message;

[0084] Step S4: The switch receives and forwards the CNP message;

[0085] Step S5: The sending end receives the CNP message;

[0086] Step S6: Determine whether the sending has ended. If the sending has been completed, then end the process. If there are still messages to be sent, adjust the sending rate and the sending end continues to send messages. Then proceed to step S2 and repeat the process until the sending is complete.

[0087] Step S2 above is the core step in the embodiments of this application. When a packet passes through each switch, the packet marking probability is determined according to the packet queuing status of the egress queue of the switch, the preset PID parameters, and the preset egress queue reference length, and then it is determined whether to mark the packet with ECN.

[0088] In this embodiment, a complete message rate adjustment can be completed from steps S2 to S6. In a data center network, multiple rounds of message rate adjustment can ultimately achieve convergence and stability of the egress queue length of each switch.

[0089] Figure 6 This is a schematic diagram of the switch egress queue in one embodiment of this application, as shown below. Figure 6 As shown, the switch can set the reference length of the Egress Queue to Q. RWhen a switch receives a packet, it will detect the current egress queue length Q and calculate the marking probability P using the PID method. Then, based on the marking probability P, it will determine whether the packets in the egress queue need to be marked with ECN.

[0090] In this embodiment, the switch performs ECN marking in this manner. Based on the number of received CNP packets, the sending end adjusts its speed several times until the switch's egress queue quickly and stably converges to Q. R Near ef.

[0091] Embodiments of this application also provide a switch for explicitly marking congestion notifications according to the steps in any of the above method embodiments.

[0092] Figure 7 This is a schematic diagram of a switch in one embodiment of this application, as shown below. Figure 7 As shown, the switch supports ECN functionality and uses PID control technology internally.

[0093] In this embodiment, the PID control function in the switch can be implemented by a PID controller, which can be in hardware or software form, and this application does not limit it.

[0094] In this embodiment, the input parameter is the reference length Q of the switch's egress queue. R ef.

[0095] In this embodiment, the switch needs to calculate the ECN marking probability P based on the current egress queue length Q at time N, specifically including:

[0096]

[0097] Where N is the current time, diff(N) is the deviation of the exit queue length, and Q is the length of the exit queue. R ef is the reference length of the exit queue, P is the marking probability, M is the preset integration time, and K is the reference length of the exit queue. P K is the proportionality coefficient. I Let K be the integral coefficient. D The differential coefficient is denoted as .

[0098] In one exemplary embodiment, the labeling probability can be expressed as:

[0099]

[0100] In this embodiment, the output parameter is the ECN of the packets in the egress queue marked by the switch with probability P.

[0101] This application presents an ECN marking method based on PID control. The PID parameters determine the marking probability of packets, and ECN marking is performed according to this probability. This method maintains the switch's packet queue at a stable queue depth, reduces invalid and excessive ECN marking, avoids blindly increasing or decreasing speed, and improves the accuracy and timeliness of flow control marking, thereby increasing network throughput. It also solves the problem of network congestion caused by many-to-one communication modes in related technologies. Furthermore, compared to linear ECN marking methods, this application also addresses the issue of switch queues struggling to converge quickly and remain stable.

[0102] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is executed by a processor to perform the steps in any of the above method embodiments.

[0103] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.

[0104] Embodiments of this application also provide an electronic device including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

[0105] Furthermore, the electronic device includes, but is not limited to, the aforementioned switches, routers, relay nodes, or other network devices.

[0106] In one exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.

[0107] In one exemplary embodiment, the processor may include, but is not limited to, a processing device such as a microprocessor (MCU) or a programmable logic device (FPGA). The memory may include high-speed random access memory (RAM), and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. The transmission device is used to receive or transmit data via a network. In one example, the transmission device includes a network interface controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In one example, the transmission device may be a radio frequency (RF) module used to communicate with the Internet wirelessly.

[0108] Embodiments of this application also provide a computer program product, including a computer program that, when executed by a processor, implements the steps of the methods described in various embodiments of this application.

[0109] Specific examples in this embodiment can be found in the examples described in the above embodiments and exemplary implementations, and will not be repeated here.

[0110] Obviously, those skilled in the art should understand that the modules or steps of this application described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. They can be implemented using computer-executable program code, and thus can be stored in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those presented here, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, this application is not limited to any particular combination of hardware and software.

[0111] The above description is merely an exemplary embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application should be included within the protection scope of this application.

Claims

1. An explicit congestion notification marking method, characterized in that, The method includes: Get the length of the switch's egress queue; The packet marking probability is determined based on preset proportional-integral-derivative (PID) parameters, preset egress queue reference length, and the egress queue length. The message is explicitly marked with an ECN (Emergency Congestion Notification) based on the marked probability.

2. The method according to claim 1, characterized in that, The packet marking probability is determined based on preset proportional-integral-derivative (PID) parameters, a preset egress queue reference length, and the egress queue length, including: The labeling probability of the message is determined based on a preset proportional coefficient, a preset integral coefficient, a preset differential coefficient, a preset egress queue reference length, and the egress queue length, wherein the preset PID parameters include the proportional coefficient, the integral coefficient, and the differential coefficient.

3. The method according to claim 2, characterized in that, The packet marking probability is determined based on a preset proportional coefficient, a preset integral coefficient, a preset differential coefficient, a preset egress queue reference length, and the egress queue length, including: The export queue length deviation is determined based on the export queue length and the export queue reference length; The proportional value is determined based on the export queue length deviation and the proportional coefficient; The integral value is determined based on the exit queue length deviation and the integral coefficient; The differential value is determined based on the deviation of the exit queue length and the differential coefficient; The sum of the proportional value, the integral value, and the derivative value is determined as the labeled probability.

4. The method according to claim 3, characterized in that, Determining the exit queue length deviation based on the exit queue length and the exit queue reference length includes: The ratio of the difference between the exit queue length and the reference length of the exit queue to the reference length of the exit queue is determined as the exit queue length deviation; or, The difference between the exit queue length and the exit queue reference length is determined as the exit queue length deviation.

5. The method according to claim 1, characterized in that, The message is explicitly marked with an ECN (Emergency Congestion Notification) based on the marked probability, including: For the message, generate a random number in the range of 0 to 1; If the random number is greater than the marking probability, the message is marked with ECN to obtain a marked message; If the random number is less than or equal to the marking probability, the message is not marked with ECN.

6. The method according to claim 5, characterized in that, After explicitly marking the packet with an ECN (Emergency Congestion Notification) based on the marking probability, the method further includes: Send the tagged message or the message to the next node.

7. A switch, characterized in that, The switch is used to perform explicit congestion notification marking according to the method described in any one of claims 1 to 6.

8. A message transmission system, characterized in that, The system includes: a transmitter, one or more switches, and a receiver, wherein the transmitter and the receiver are connected via the one or more switches. The sending end is used to send messages according to a preset message sending rate, wherein the messages are transmitted to the receiving end through the one or more switches; The switch is configured to receive the packet from the previous node, explicitly mark the packet with ECN according to the method described in any one of claims 1 to 6, and send the packet or the marked packet to the next node, wherein the marked packet carries an ECN mark. The switch is also configured to receive the tagged message from the previous node and send the tagged message to the next node; The receiving end is configured to receive the tagged message or the message from the previous node, and upon receiving the tagged message, generate a congestion notification message based on the ECN tag in the tagged message, and feed the congestion notification message back to the sending end through the one or more switches. The sending end is further configured to adjust the message sending rate according to the congestion notification message, and send the message according to the adjusted message sending rate.

9. The system according to claim 8, characterized in that, The sending end is further configured to, upon receiving the congestion notification message, adjust the message sending rate to a first rate, wherein the first rate is less than the preset message sending rate; and, upon not receiving the congestion notification message, maintain the message sending rate or adjust the message sending rate to a second rate, wherein the second rate is greater than the preset message sending rate.

10. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, wherein the computer program is executed by a processor to perform the method described in any one of claims 1 to 6.

11. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method described in any one of claims 1 to 6.