Network congestion adaptive control method, equipment and medium

By dynamically adjusting the ECN configuration information and ECN marking of packets, the problem of traffic congestion control in the data center network is solved, and the adaptive optimal state of network traffic is achieved.

CN120238495APending Publication Date: 2025-07-01ZTE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311856039.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-29
Publication Date
2025-07-01

AI Technical Summary

Technical Problem

The prior art is difficult to effectively control traffic congestion in data center networks, especially in emergencies and incast phenomena, resulting in inefficient network transmission.

Method used

By obtaining the status indication information of the previous time period, ECN configuration information and network status information of the network, dynamically adjust the ECN configuration information of the current time period, and ECN mark the packets to achieve adaptive congestion control of network traffic.

Benefits of technology

Adaptive congestion control of network traffic is realized, avoiding the problem of excessive or inaccurate parameter adjustment, so that network traffic is always in the optimal state.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120238495A_ABST
    Figure CN120238495A_ABST
Patent Text Reader

Abstract

The invention provides a network congestion adaptive control method and device and a medium, and the method comprises the steps: firstly obtaining corresponding state indication information, ECN configuration information and network state information of a network in a previous time period, and carrying out the adaptive control of the network congestion according to the corresponding state indication information, ECN configuration information and network state information in the previous time period; and determining ECN configuration information corresponding to the current time period, and performing ECN marking on the message according to the ECN configuration information corresponding to the current time period. According to the embodiment of the invention, the ECN configuration message of the current time period is dynamically adjusted according to the state indication information of the previous time period, the ECN configuration information and the network state information, so that the adaptive congestion control of the network flow can be realized, and the problem of excessive adjustment or inaccurate adjustment of the congestion control parameter of the network flow is avoided; and the network flow is always in a staged optimal state.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of communication technologies, and in particular, to a method, device, and medium for network congestion adaptive control. Background Art

[0002] With the advent of the AI era, especially the emergence of chatbots based on large language models, it has triggered an unprecedented research boom in the industry for large models. The training efficiency of large models depends to a large extent on the transmission efficiency of the data center network. Therefore, the industry's demand for data center networks with low latency, high throughput, and zero packet loss is becoming increasingly strong. However, the traffic in the network is complex and changeable, with frequent burst situations and incast phenomena, making the control of network traffic extremely complex and difficult. Summary of the Invention

[0003] The embodiments of the present application provide a method, device, and medium for network congestion adaptive control, which can achieve adaptive congestion control of network traffic.

[0004] In a first aspect, the embodiments of the present application provide a method for network congestion adaptive control, the method comprising:

[0005] Obtaining status indication information, Explicit Congestion Notification (ECN) configuration information, and network status information corresponding to the network in the previous time period;

[0006] Determining ECN configuration information corresponding to the current time period according to the status indication information, the ECN configuration information, and the network status information corresponding to the previous time period;

[0007] Performing ECN marking on the packet according to the ECN configuration information corresponding to the current time period.

[0008] In a second aspect, the embodiments of the present application provide an electronic device, comprising:

[0009] One or more processors;

[0010] A memory storing one or more programs thereon, and when the one or more programs are executed by the one or more processors, the one or more processors implement the network congestion adaptive control method as described in the first aspect above.

[0011] In a third aspect, the embodiments of the present application provide a computer-readable storage medium storing a computer program thereon, and when the program is executed by a processor, the network congestion adaptive control method as described in the first aspect above is implemented.

[0012] The network congestion adaptive control method, device, and medium provided by the embodiments of the present application. The network congestion adaptive control method first obtains the status indication information, ECN configuration information, and network status information corresponding to the previous time period of the network. According to the status indication information, ECN configuration information, and network status information corresponding to the previous time period, it determines the ECN configuration information corresponding to the current time period, and performs ECN marking on the packets according to the ECN configuration information corresponding to the current time period. The embodiments of the present application dynamically adjust the ECN configuration message for the current time period according to the status indication information, ECN configuration information, and network status information of the previous time period, and can achieve adaptive congestion control of network traffic, avoiding the problems of over-regulation or inaccurate regulation of the congestion control parameters of network traffic, so that the network traffic is always in an optimal state in stages. Description of the Drawings

[0013] The drawings are used to provide a further understanding of the technical solutions of the present invention, and constitute a part of the specification. They are used together with the embodiments of the present invention to explain the technical solutions of the present invention, and do not constitute a limitation to the technical solutions of the present invention.

[0014] Figure 1 It is a schematic flowchart of a network congestion adaptive control method provided by an embodiment of the present application;

[0015] Figure 2 It is a schematic flowchart of a network congestion adaptive control method provided by another embodiment of the present application;

[0016] Figure 3 It is a schematic flowchart of a network congestion adaptive control method provided by another embodiment of the present application;

[0017] Figure 4 It is a schematic flowchart of a network congestion adaptive control method provided by another embodiment of the present application;

[0018] Figure 5 It is a schematic flowchart of a network congestion adaptive control method provided by another embodiment of the present application;

[0019] Figure 6 It is a schematic flowchart of a network congestion adaptive control method provided by another embodiment of the present application;

[0020] Figure 7 It is a schematic flowchart of a network congestion adaptive control method provided by another embodiment of the present application;

[0021] Figure 8 It is a schematic diagram of the device structure of an electronic device provided by an embodiment of the present application. Detailed Embodiments

[0022] In order to make the objectives, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0023] It should be understood that in the description of the embodiments of the present application, if there is a description of "first", "second", etc., it is only for the purpose of distinguishing technical features and cannot be understood as indicating or implying relative importance or implicitly indicating the quantity of the indicated technical features or implicitly indicating the sequence of the indicated technical features. "At least one" means one or more, and "a plurality" means two or more. "And / or" describes the association relationship of associated objects and indicates that there can be three relationships. For example, A and / or B can indicate the situation of A existing alone, A and B existing simultaneously, and B existing alone. Where A and B can be singular or plural. The character " / " generally indicates that the associated objects before and after are in an "or" relationship. "At least one of the following" and its similar expressions refer to any group of these items, including any group of single items or plural items. For example, at least one of a, b, and c can indicate: a, b, c, a and b, a and c, b and c, or a, b, and c, where a, b, and c can be single or multiple.

[0024] In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.

[0025] With the advent of the AI era, especially the emergence of chatbots based on large language models, it has triggered an unprecedented research boom in the industry for large models, and the training efficiency of large models depends to a large extent on the transmission efficiency of the data center network. Therefore, the industry's demand for data center networks with low latency, high throughput, and zero packet loss is becoming increasingly strong. However, the traffic in the network is complex and changeable, with frequent burst situations and incast phenomena, making the control of network traffic extremely complex and difficult.

[0026] Based on this, the embodiments of the present application provide a network congestion adaptive control method, device, and medium, which can achieve adaptive congestion control of network traffic.

[0027] Before introducing the technical solutions of the embodiments of the present application, an exemplary description of the network architecture of the embodiments of the present application will be given. Please refer to Figure 1 , Figure 1 which is a schematic diagram of a network architecture provided by the embodiments of the present application, Figure 1The network architecture therein includes network device 100, network device 101, network device 102, sender 200, and receiver 300. The sender 200, network device 100, and receiver are connected in sequence. The sender 200 sends network data to the receiver 300 through the network device 100. In addition, network device 101 and network device 102 are also connected to network device 100. Among them, the network device can be a node device such as a switch or a router, and the sender and receiver can be a server, a user terminal device, etc. The network congestion adaptive control method provided by the embodiments of the present application can be applied to network devices in the above network architecture, specifically, network devices such as routers and switches and corresponding configuration units. For example, for network device 100, its input port may receive network data from the sender 200, network device 101, and network device 102 simultaneously, resulting in the traffic bandwidth of the input port being greater than that of the output port, thus causing network congestion. Based on the network congestion adaptive control method provided by the embodiments of the present application, the network device obtains the status indication information, explicit congestion notification ECN configuration information, and network status information corresponding to the network in the previous time period, determines the ECN configuration information corresponding to the current time period according to the status indication information, ECN configuration information, and network status information corresponding to the previous time period, performs ECN marking on the packet according to the ECN configuration information corresponding to the current time period, and then the network device sends the packet after ECN marking. When receiving the packet after ECN marking, the receiver feeds back the congestion notification to the corresponding sender, and the sender responds to the congestion notification by adjusting the packet sending rate, thereby realizing the adaptive congestion control of network traffic and meeting the network requirements of low latency, high throughput, and zero packet loss.

[0028] Please refer to Figure 2 , Figure 2 FIG. shows a network congestion adaptive control method provided by an embodiment of the present application. As Figure 2 shown, the network congestion adaptive control method includes but is not limited to steps S210 to S230.

[0029] Step S210: Obtain the status indication information, explicit congestion notification ECN configuration information, and network status information corresponding to the network in the previous time period.

[0030] It can be understood that the above time period is usually a relatively short time interval. Obtaining the status indication information, ECN configuration information, and network status corresponding to the previous relatively short time interval can capture the instantaneous changes in network traffic in a short time, and then realize the instant dynamic control of network traffic congestion. Exemplarily, the network congestion adaptive control method is applied to Figure 1In the network device 100, the network device 100 obtains status indication information corresponding to the network traffic between the network device and the sending end 200 in the previous time period, explicit congestion notification (ECN) configuration information, and network status information, and then implements congestion adaptive control of the network traffic on the network device 200 according to the status indication information, the ECN configuration information, and the network status information.

[0031] It should be noted that the ECN configuration information is used to mark network congestion for packets to achieve congestion control of network traffic. Specifically, in the ECN mechanism, network traffic congestion control can be performed by configuring ECN configuration information such as the ECN upper water line, the ECN lower water line, and the ECN marking probability. Exemplarily, when the queue depth of the output port buffer queue of the network device is greater than the ECN upper water line, the packet to be added to the output port buffer queue is set with an ECN marking probability of 1. When the queue depth of the output port buffer queue of the network device is less than the ECN upper water line and greater than the ECN lower water line, the packet to be added to the output port buffer queue is set with an ECN marking probability greater than 0 and less than 1, and the ECN marking probability of the packet is positively correlated with the queue depth of the output port buffer queue. When the queue depth of the output port buffer queue is less than the ECN lower water line, the packet to be added to the output port buffer queue is set with an ECN marking probability of 0.

[0032] In one embodiment, the network status information includes at least one of transmission rate information and queue length information.

[0033] It should be noted that the network status information includes the throughput information or delay information of the network in the previous time period, etc. Among them, the throughput information of the network can be represented by the number of bytes of packets received by the network per unit time and the number of bytes of packets sent, and can also be called input rate information and output rate information, that is, transmission rate information; the delay information of the network can be represented by the queue length information of the port buffer queue, and the queue depth can be the average queue depth or the instantaneous queue depth within a period of time.

[0034] It can be understood that the status indication information refers to the status of the network's ECN configuration adjustment in the previous time period. Specifically, since the higher the ECN waterline or the lower the ECN marking probability, the fewer packets marked with ECN at the egress port, it is possible to attempt to increase the throughput level by raising the ECN waterline or lowering the ECN marking probability. This stage can be referred to as the rate increase stage of network traffic; on the other hand, since the lower the ECN waterline or the higher the ECN marking probability, the more packets marked with ECN at the egress port, thus restricting the packet sending rate of the sender. Therefore, it is possible to attempt to reduce the queue accumulation in the port buffer queue by lowering the ECN waterline or raising the ECN marking probability. This stage can be referred to as the queue elimination stage of network traffic.

[0035] In a specific embodiment, the status indication information further includes the stage where the rate increase has reached the upper limit, the stage where the queue elimination has reached the lower limit, the parameter callback stage, and the convergence stage.

[0036] Specifically, the stage where the rate increase has reached the upper limit refers to the process of raising the ECN waterline or lowering the ECN marking probability to attempt to increase the throughput level, and the adjusted parameter has reached a preset threshold. For example, the threshold range of the ECN marking probability is 20 - 70%, and the current ECN marking probability has been raised to 70%; the stage where the queue elimination has reached the lower limit refers to the process of lowering the ECN waterline or raising the ECN marking probability to attempt to reduce the queue accumulation, and the adjusted parameter has reached a preset threshold. For example, the threshold range of the ECN upper waterline is 80 to 180, and the current ECN upper waterline has been lowered to 80; the parameter callback stage refers to calling back the ECN configuration information to the parameter level of the previous moment. For example, after congestion control in time period 1 and time period 2, it is found that the network status in time period 1 is better than that in time period 2, then the ECN configuration information can be selected to be called back to the configuration in time period 2; the convergence stage refers to keeping the ECN configuration information of the current time period unchanged, that is, adopting the ECN configuration information of the previous time period.

[0037] Step S220, determine the ECN configuration information corresponding to the current time period according to the status indication information, ECN configuration information, and network status information corresponding to the previous time period.

[0038] It should be understood that after obtaining the status indication information corresponding to the network in the previous time period, displaying the congestion notification ECN configuration information and the network status information, the ECN configuration information corresponding to the current time period is determined according to the status indication information, the ECN configuration information, and the network status information corresponding to the previous time period. Specifically, the ECN configuration information corresponding to the previous time period is adjusted according to the network status information and the status indication information of the previous time period to determine the ECN configuration information corresponding to the current time period. Exemplarily, the status indication information is the rate increase stage, and the network status information includes the throughput information of the network. Therefore, if it is determined according to the throughput information of the previous time period that there is still a certain gap between the actual network throughput level and the maximum value of the link rate, the rate increase stage continues, and on the basis of the ECN configuration information of the previous time period, the ECN waterline is continued to be increased or the ECN marking probability is decreased to try to improve the network throughput.

[0039] Step S230, perform ECN marking on the packet according to the ECN configuration information corresponding to the current time period.

[0040] Specifically, at the egress port of the network device, ECN marking is performed on the packet according to the ECN configuration information corresponding to the current time period. Exemplarily, the ECN configuration information includes the ECN upper waterline Kmax, the ECN lower waterline Kmin, and the ECN marking probability Pmax. ECN marking is set for the packet whose cache queue position is above the ECN upper water limit Kmax, and ECN marking is set for the packet whose cache queue position is between the ECN upper water limit Kmax and the ECN lower waterline Kmin with the ECN marking probability Pmax. For the packet whose cache queue position is below the ECN lower water limit Kmin, no ECN marking is set. After the network device performs ECN marking on the packet according to the ECN configuration information corresponding to the current time period at the egress port, the packet is sent. The packet carrying the ECN marking indicates that the network device through which the packet passes has a congestion phenomenon, and the sender needs to reduce the packet sending rate to relieve the congestion. When the receiver receives the packet carrying the ECN marking, a congestion notification is sent to the sender of the packet so that the sender adjusts the packet sending rate, thereby realizing the adaptive congestion control of network traffic.

[0041] In some embodiments, the status indication information includes first status indication information, and the first status indication information indicates that the network is in the rate increase stage.

[0042] Correspondingly, determining the ECN configuration information corresponding to the current time period according to the status indication information, the ECN configuration information, and the network status information corresponding to the previous time period includes step S310, step S320, and step S320.

[0043] Step S310, when the status indication information corresponding to the previous time period is the first status indication information, determine a first judgment result according to the network status information corresponding to the previous time period, where the first judgment result is used to indicate whether the transmission rate of the network reaches the target transmission rate.

[0044] Step S320, when the first judgment result indicates that the target transmission rate was not reached in the previous time period, increase the ECN waterline or decrease the marking probability according to the ECN configuration information corresponding to the previous time period.

[0045] Step S330, when the first judgment result indicates that the target transmission rate was reached in the previous time period, decrease the ECN waterline or increase the marking probability.

[0046] It can be understood that the status indication information of the network in the previous time period is used to indicate that the network is in the rate increase stage, that is, the network attempts to improve the network throughput level by increasing the ECN waterline or decreasing the marking probability in the previous time period. When the network is in the rate increase stage, first determine whether the transmission rate of the network reaches the target transmission rate according to the network status information of the previous time period. Among them, the target transmission rate can be the maximum output rate of the link corresponding to the port of the network device, or the product of the maximum output rate of the link corresponding to the port of the network device and the preset target link utilization rate. The target link utilization rate is used to give the expected throughput level of the network. For example, the target link utilization rate is 99%. Specifically, the network status information includes the actual transmission rate information of the network, and then determine whether the actual transmission rate of the network reaches the target transmission rate according to the transmission rate information, or combine multiple types of network status information for judgment to determine whether the actual transmission rate of the network reaches the target transmission rate.

[0047] Further, since the network was in the rate increase stage in the previous time period, if the network still did not reach the target transmission rate in the previous time period, on the basis of the ECN configuration information corresponding to the previous time period, continue to increase the ECN waterline or decrease the marking probability, and use the adjusted ECN configuration as the ECN configuration information for the current time period to attempt to improve the network throughput level;

[0048] Further, if the network reached the target transmission rate in the previous time period, it indicates that the network throughput efficiency has been satisfied. Try to reduce the link transmission rate by decreasing the ECN waterline or increasing the marking probability to reduce the accumulation of the cache queue and reduce the network delay.

[0049] Based on the network congestion adaptive control method provided in the above embodiments, it is possible to maximize the link utilization rate, and when the network throughput efficiency has been satisfied, by changing the adjustment direction of the ECN configuration information, avoid excessive adjustment of the ECN configuration, and prevent network traffic from developing to the congestion state as much as possible.

[0050] In some embodiments, after increasing the ECN waterline or decreasing the marking probability according to the ECN configuration information corresponding to the previous time period, the method further includes step S1010.

[0051] Step S1010: When increasing the ECN waterline or decreasing the marking probability reaches the adjustment limit, update the status indication information to second status indication information, where the second status indication information indicates that the network is in the stage where the rate increase has reached the upper limit.

[0052] It can be understood that if the judgment result indicates that the target transmission rate was not reached in the previous time period, then increase the ECN waterline or decrease the marking probability. Then, determine whether increasing the ECN waterline and decreasing the marking probability reach the adjustment limit, that is, whether the ECN waterline and the ECN marking probability can no longer be adjusted in the given direction (increasing the ECN waterline and decreasing the marking probability). Specifically, determine whether the upper ECN waterline reaches its value upper limit, whether the lower ECN waterline reaches its value upper limit, and whether the ECN marking probability reaches its value lower limit. When increasing the ECN waterline and decreasing the marking probability reach the adjustment limit, update the status indication information to the second status indication information used to indicate that the network is in the stage where the rate increase has reached the upper limit.

[0053] In the embodiments of the present application, update the status indication information of the network traffic according to the state of the ECN configuration adjustment in the current time period, and update the status indication information to the second status indication information used to indicate that the network is in the stage where the rate increase has reached the upper limit, which not only indicates that the current network is in the rate increase, but also indicates whether decreasing the ECN waterline and increasing the ECN marking probability reach the adjustment limit, enabling the network device to perceive the local state of the network traffic in real time, and continuously adjust the ECN configuration information based on the real-time updated status indication information to maximize the link utilization rate.

[0054] In some embodiments, after decreasing the ECN waterline or increasing the marking probability, the method further includes step S1110 and step S1120.

[0055] Step S1110: When decreasing the ECN waterline or increasing the marking probability does not reach the adjustment limit, update the status indication information to third status indication information, where the third status indication information indicates that the network is in the queue elimination stage.

[0056] Step S1120: When decreasing the ECN waterline or increasing the marking probability reaches the adjustment limit, update the status indication information to fourth status indication information, where the fourth status indication information indicates that the network has reached the lower limit stage in processing queue elimination.

[0057] It can be understood that if the judgment result indicates that the target transmission rate is reached in the previous time period, the ECN waterline is lowered or the ECN marking probability is increased. Then, it is judged whether the lowering of the ECN waterline or the increase of the ECN marking probability reaches the adjustment limit, that is, whether the ECN waterline and the ECN marking probability can no longer be adjusted in the given direction (lowering the ECN waterline or increasing the ECN marking probability). Specifically, it is judged whether the upper ECN waterline reaches its lower limit value, whether the lower ECN waterline reaches its lower limit value, and whether the ECN marking probability reaches its lower limit value.

[0058] Further, in the case where the lowering of the ECN waterline and the increase of the ECN marking probability do not reach the adjustment limit, the status indication information is updated to the third status indication information for indicating that the network is in the queue elimination stage.

[0059] Further, in the case where the lowering of the ECN waterline and the increase of the ECN marking probability reach the adjustment limit, the status indication information is updated to the fourth status indication information for indicating that the network is in the stage where the queue elimination has reached the lower limit and the improvement has been achieved.

[0060] In the embodiment of the present application, the status indication information of the network traffic is updated according to the state of the ECN configuration adjustment in the current time period. For example, the status indication information is updated to the third status indication information for indicating that the network is in the queue elimination stage, indicating that the link transmission rate is being reduced by lowering the ECN waterline or increasing the ECN marking probability to reduce the accumulation of the cache queue. Or, the status indication information is updated to the fourth status indication information for indicating that the network is in the stage where the queue elimination has reached the upper limit, which not only indicates that the current network is in the queue elimination, but also indicates that the lowering of the ECN waterline and the increase of the ECN marking probability reach the adjustment limit, enabling the network device to perceive the local state of the network traffic in real time. Based on the real-time updated status indication information, the ECN configuration information is continuously adjusted to prevent the network traffic from developing into a congested state as much as possible.

[0061] In some embodiments, the status indication information includes the second status indication information, and the second status indication information indicates that the network is in the stage where the rate increase has reached the upper limit.

[0062] Correspondingly, according to the status indication information, ECN configuration information, and network status information corresponding to the previous time period, the ECN configuration information corresponding to the current time period is determined, including step S410, step S420, and step S430.

[0063] Step S410, in the case where the status indication information corresponding to the previous time period is the second status indication information, a first judgment result is determined according to the network status information corresponding to the previous time period, and the first judgment result is used to indicate whether the transmission rate of the network reaches the target transmission rate.

[0064] Step S420: When the first judgment result indicates that the target transmission rate is not reached in the previous time period, the ECN configuration information corresponding to the previous time period is used as the ECN configuration information corresponding to the current time period.

[0065] Step S430, when the first judgment result indicates that the target transmission rate has been reached in the previous time period, the ECN watermark is lowered or the marking probability is increased.

[0066] It should be understood that the status indication information of the network in the previous time period is used to indicate that the network is in a stage where the rate increase has reached the upper limit, that is, the network attempted to improve the network throughput level by raising the ECN waterline or lowering the marking probability in the previous time period, but the ECN waterline and the ECN marking probability can no longer be adjusted in a given direction (i.e., raising the ECN waterline and lowering the ECN marking probability), that is, the ECN upper waterline of the previous time period reached its upper limit, the ECN lower waterline reached its upper limit, and the ECN marking probability reached its lower limit, where the upper limits of the ECN upper waterline and the ECN lower waterline can be determined by manual experience, which are usually less than the maximum depth of the port cache queue, and the lower limit of the ECN marking probability is usually 1%.

[0067] Furthermore, if the network has not reached the target transmission rate in the previous time period, the network throughput level should be improved by increasing the ECN waterline or decreasing the marking probability. However, since the network rate has reached the upper limit, that is, the ECN waterline and the ECN marking probability can no longer be adjusted in a given direction (i.e., increasing the ECN waterline and decreasing the ECN marking probability), the ECN configuration level will be kept unchanged, that is, the ECN configuration information corresponding to the previous time period will be used as the ECN configuration information corresponding to the current time period, and the link transmission rate will continue to be improved with the maximum adjustment range. If the network reaches the target transmission rate in the previous time period, it indicates that the network throughput efficiency has been met, and you can try to decrease the ECN waterline or increase the marking probability, and use the adjusted ECN configuration as the ECN configuration information for the current time period to avoid excessive adjustment of the ECN configuration.

[0068] Based on the network congestion adaptive control method provided by the above embodiment, the link transmission rate can be increased with the maximum adjustment range of the ECN configuration, and when the network throughput efficiency has been met, by changing the adjustment direction of the ECN configuration information, excessive adjustment of the ECN configuration is avoided, and the network traffic is prevented from developing into a congested state as much as possible.

[0069] In a specific embodiment, if the judgment result indicates that the target transmission rate was achieved in the previous time period, then the ECN waterline is lowered or the ECN marking probability is increased. Next, it is determined whether lowering the ECN waterline or increasing the ECN marking probability has reached the adjustment limit, that is, whether the ECN waterline and the ECN marking probability can no longer be adjusted in the given direction (lowering the ECN waterline or increasing the ECN marking probability). Specifically, it is determined whether the upper ECN waterline has reached its lower limit value, whether the lower ECN waterline has reached its lower limit value, and whether the ECN marking probability has reached its lower limit value.

[0070] Further, in the case where lowering the ECN waterline and increasing the ECN marking probability have not reached the adjustment limit, the status indication information is updated to the third status indication information used to indicate that the network is in the queue elimination stage.

[0071] Further, in the case where lowering the ECN waterline and increasing the ECN marking probability have reached the adjustment limit, the status indication information is updated to the fourth status indication information used to indicate that the network is in the stage where the improvement has reached the lower limit of queue elimination.

[0072] In some embodiments, the status indication information includes the third status indication information, and the third status indication information indicates that the network is in the queue elimination stage.

[0073] Correspondingly, according to the status indication information, ECN configuration information, and network status information corresponding to the previous time period, the ECN configuration information corresponding to the current time period is determined, including step S510, step S520, and step S530.

[0074] Step S510, in the case where the status indication information corresponding to the previous time period is the third status indication information, according to the network status information corresponding to the previous time period, a second judgment result is determined, and the second judgment result is used to indicate whether the degree of queue congestion mitigation in the network has reached the target mitigation degree.

[0075] Step S520, in the case where the second judgment result indicates that the degree of queue congestion mitigation in the previous time period has reached the target mitigation degree, the ECN configuration information corresponding to the time period before the previous time period is used as the ECN configuration information corresponding to the current time period, and the ideal state parameters are determined according to the network status information corresponding to the time period before the previous time period.

[0076] Step S530, in the case where the second judgment result indicates that the degree of queue congestion mitigation in the previous time period has not reached the target mitigation degree, the ECN waterline is lowered or the marking probability is increased.

[0077] It can be understood that the status indication information of the network in the previous time period is used to indicate that the network is in the queue elimination stage, that is, the network attempts to reduce the link transmission rate by lowering the ECN waterline or increasing the marking probability in the previous time period to reduce the accumulation of the cache queue. When the network is in the queue elimination stage, first determine whether the degree of queue congestion mitigation of the network reaches the target mitigation degree according to the network status information in the previous time period. Exemplarily, the size of the queue length qsize_1 in the previous time period can be compared with the adaptive threshold threshold_qsize. When qsize_1 < threshold_qsize, it is determined that the congestion is alleviated, that is, the degree of congestion mitigation reaches the target mitigation degree. Among them, the congestion degree of the cache queue can be characterized by the average queue depth in the current time period, or by the instantaneous queue depth at a certain moment in the current time period, or other network status information that can characterize the congestion degree is used to determine whether the congestion degree of the cache queue is alleviated. The adaptive threshold threshold_qsize changes with the change of the network status, and its calculation logic is to judge to what extent the queue depth drops will cause throughput loss through the fluctuation of the queue, that is, the adaptive threshold threshold_qsize is the balance point between the queue depth and the transmission rate; or, compare the throughput information of the previous time period with the time period before the previous time period. If the throughput information of the previous time period drops significantly compared with the time period before the previous time period, it can also be considered that the congestion is alleviated; or, it can be determined whether it is necessary to further reduce the link transmission rate according to the queue input rate. For example, when the gap between the queue input rate and the output rate is very small, there is no need to further reduce it to achieve the purpose of queue elimination. At this time, the degree of queue congestion mitigation of the network has reached the target mitigation degree.

[0078] Furthermore, if the degree of queue congestion mitigation of the network in the previous time period reaches the target mitigation degree, the ECN configuration information corresponding to the time period before the previous time period is used as the ECN configuration information corresponding to the current time period. At the same time, the network status information corresponding to the time period before the previous time period is determined as the ideal state parameter, where the ideal state parameter is used to characterize the approximate optimal state of the network flow in a local time period. In the subsequent adjustment of the ECN configuration information, the ideal state information can be used to guide the adjustment direction and start / stop timing of the ECN configuration information. Through this ideal state value, the network traffic is controlled to maintain a certain throughput loss but also keep a low network delay, that is, the balance point between the transmission rate and the network delay.

[0079] Exemplarily, the network enters the rate increase stage during time period 1. During time period 1, the actual link transmission rate of the network is 85 (only for differentiating magnitudes), which is quite different from the maximum link rate of 100. Therefore, the marking probability is decreased from 50% to 45%. During time period 2, the actual link transmission rate of the network becomes 90, still quite different from the maximum link rate of 100. The marking probability is continuously decreased from 45% to 40%. During time period 3, the actual link transmission rate of the network becomes 97, with a smaller difference from the maximum link rate of 100, that is, the network reaches the target transmission rate during time period 3, and the marking probability is increased from 40% to 45%. During time period 4, the actual link transmission rate of the network drops from 97 to 95. At this time, the link transmission rate of the network during time period 4 is less than that in the previous time period of time period 4, that is, the link transmission rate during time period 3. It is considered that time period 3 is the approximate optimal state of the network in the recent local time. The ECN configuration information of time period 3 is used as the configuration information of time period 5, and the network state information of time period 3, that is, the network state information with a link transmission rate of 97, is used as the ideal state parameter to seek the optimal balance point between the transmission rate and the network delay.

[0080] Based on the network congestion adaptive control method provided in the above embodiments, in the case where the network is in the queue elimination stage, it is determined whether to continue to lower the ECN waterline or increase the marking probability according to whether the queue congestion mitigation degree of the network in the previous time period reaches the target mitigation degree, which can avoid excessive adjustment of the ECN configuration and cause excessive throughput loss while reducing the network delay.

[0081] In some embodiments, after using the ECN configuration information corresponding to the previous time period of the previous time period as the ECN configuration information corresponding to the current time period, the method further includes step S710.

[0082] Step S710, updating the status indication information to the fifth status indication information, where the fifth status indication information indicates that the network is in the parameter callback stage.

[0083] It should be understood that if the queue congestion mitigation degree of the network in the previous time period reaches the target mitigation degree, the ECN configuration information corresponding to the previous time period of the previous time period is used as the ECN configuration information corresponding to the current time period. Then, the status indication information is updated to the fifth status indication information used to indicate that the network is in the parameter callback stage.

[0084] In the embodiment of the present application, the status indication information of network traffic is updated according to the status of the ECN configuration adjustment in the current time period. When the degree of queue congestion mitigation in the previous time period reaches the target mitigation degree, the status indication information is updated to the fifth status indication information indicating that the network is in the parameter callback stage, indicating that the approximate optimal state of the network in the local time period has been determined, and the ECN configuration parameters are called back to the ECN configuration information corresponding to when the network is in the approximate optimal state to attempt to obtain the approximate optimal state of the network, so that the network device can perceive the local state of network traffic in real time. Based on the real-time updated status indication information, the ECN configuration information is continuously adjusted, and finally the network state is adjusted to the optimal under the guidance of the approximate optimal state of the network.

[0085] Furthermore, if the degree of queue congestion caching in the previous time period does not reach the target mitigation degree, since the network was in the queue elimination stage in the previous time period, the ECN waterline is continuously lowered or the marking probability is increased to attempt to reduce the link transmission rate, thereby reducing the accumulation of the cache queue and reducing the network delay.

[0086] In some embodiments, the status indication information includes the fourth status indication information, and the fourth status indication information indicates that the network is in the stage where the queue elimination has reached the lower limit.

[0087] Correspondingly, according to the status indication information, ECN configuration information, and network status information corresponding to the previous time period, the ECN configuration information corresponding to the current time period is determined, including step S610, step S620, and step S630.

[0088] Step S610, when the status indication information corresponding to the previous time period is the fourth status indication information, according to the network status information corresponding to the previous time period, a second judgment result is determined, and the second judgment result is used to indicate whether the degree of queue congestion mitigation of the network reaches the target mitigation degree.

[0089] Step S620, when the second judgment result indicates that the degree of queue congestion mitigation in the previous time period reaches the target mitigation degree, the ECN configuration information corresponding to the previous time period of the previous time period is used as the ECN configuration information corresponding to the current time period.

[0090] Step S630, when the second judgment result indicates that the degree of queue congestion mitigation in the previous time period does not reach the target mitigation degree, the ECN configuration information corresponding to the previous time period is used as the ECN configuration information corresponding to the current time period.

[0091] It should be understood that the status indication information of the network in the previous time period is the fourth status indication information used to indicate that the network is in the stage where the queue elimination has reached the upper limit, that is, the network tried to limit the transmission rate by lowering the ECN waterline or increasing the marking probability in the previous time period to reduce queue accumulation. However, the ECN waterline and the ECN marking probability cannot be adjusted any further in the given direction (i.e., lowering the ECN waterline and increasing the ECN marking probability). That is, the upper waterline of ECN in the previous time period reached its lower limit value, the lower limit value of the ECN lower waterline reached its lower limit value, and the ECN marking probability reached its upper limit value. Among them, the lower limit values of the ECN upper waterline and the ECN lower waterline can be determined by manual experience, and they are usually less than the maximum depth of the port buffer queue. The upper limit value of the ECN marking probability is usually 100%.

[0092] Furthermore, if the degree of queue congestion alleviation of the network in the previous time period did not reach the target alleviation degree, it should continue to try to limit the transmission rate by lowering the ECN waterline or increasing the ECN marking probability to reduce queue accumulation. However, since the queue elimination has reached the lower limit, that is, the ECN waterline and the ECN marking probability cannot be adjusted any further in the given direction (i.e., lowering the ECN waterline and increasing the ECN marking probability), the ECN configuration will be kept unchanged. That is, the ECN configuration information corresponding to the previous time period will be used as the ECN configuration information corresponding to the current time period, and continue to try to limit the transmission rate by the maximum mediation amplitude to reduce queue accumulation.

[0093] Furthermore, if the network is in the stage where the queue elimination has reached the lower limit and the degree of queue congestion alleviation of the network in the previous time period reaches the target alleviation degree, it indicates that the congestion situation of the buffer queue has been fully alleviated. Therefore, the ECN configuration information corresponding to the previous time period will be used as the ECN configuration information corresponding to the current time period, and the network status information of the previous time period will be recorded as the ideal state parameter. That is, the network status in the previous time period is the approximate optimal state of the network in the local time period. In the subsequent adjustment of the ECN configuration information, the ideal state information can be used to guide the adjustment direction and start / stop timing of the ECN configuration information. Through this ideal state value, the network traffic can be controlled to maintain a certain throughput loss but also keep a low network delay, that is, the balance point between the transmission rate and the network delay.

[0094] Based on the network congestion adaptive control method provided in the above embodiments, it can increase the link transmission rate with the maximum adjustment amplitude of the ECN configuration. And when the network throughput efficiency has been satisfied, by changing the adjustment direction of the ECN configuration information, it can avoid excessive adjustment of the ECN configuration and prevent the network traffic from developing to the congestion state as much as possible.

[0095] In a specific embodiment, if the degree of queue congestion alleviation of the network in the previous time period reaches the target alleviation degree, the ECN configuration information corresponding to the previous time period is used as the ECN configuration information corresponding to the current time period. Then, the status indication information is updated to the fifth status indication information used to indicate that the network is in the parameter callback stage.

[0096] In the embodiments of the present application, the status indication information of the network traffic is updated according to the status of the ECN configuration adjustment of the network in the current time period. When the degree of queue congestion alleviation of the network in the previous time period reaches the target alleviation degree, the status indication information is updated to the fifth status indication information used to indicate that the network is in the parameter callback stage, indicating that the approximate optimal state of the network in the local time period has been determined, and the ECN configuration parameters are called back to the ECN configuration information corresponding to when the network is in the approximate optimal state to attempt to obtain the approximate optimal state of the network, so that the network device can real-time sense the local state of the network traffic, and continuously adjust the ECN configuration information based on the real-time updated status indication information, and finally adjust the network state to the optimal under the guidance of the approximate optimal state of the network.

[0097] In a specific embodiment, if the network is in the stage where the queue elimination has reached the lower limit and the degree of queue congestion alleviation of the network in the previous time period has not reached the target alleviation degree, that is, the ECN waterline has been lowered and the ECN marking probability has been raised to the maximum extent, but the queue depth of the cache queue is still at a relatively high level, the ECN configuration information remains unchanged, that is, the ECN configuration information corresponding to the previous time period is used as the ECN configuration information corresponding to the current time period, and the transmission rate is continuously tried to be restricted with the maximum adjustment amplitude to reduce queue accumulation. Then, the status indication information is updated to the sixth status indication information indicating that the network is in the convergence stage.

[0098] In some embodiments, the status indication information includes the fifth status indication information, and the fifth status indication information indicates that the network is in the parameter callback stage.

[0099] Correspondingly, determining the ECN configuration information corresponding to the current time period according to the status indication information, ECN configuration information, and network status information corresponding to the previous time period includes steps S810 to S860.

[0100] Step S810, when the status indication information corresponding to the previous time period is the fifth status indication information, determining a third judgment result according to the network status information and ideal state parameters of the previous time period, where the third judgment result is used to indicate whether the network reaches the ideal network state.

[0101] Step S820, when the third judgment result indicates that the ideal network state was not reached in the previous time period, determine a fourth judgment result according to the ECN waterline and the marking probability, where the fourth judgment result is used to indicate whether the ECN configuration information has reached the adjustment limit.

[0102] Step S830, when the fourth judgment result indicates that the ECN configuration information has reached the adjustment limit, use the ECN configuration information corresponding to the previous time period as the ECN configuration information corresponding to the current time period, and update the status indication information to the second status indication information, where the second status indication information indicates that the network is in the stage where the rate increase has reached the upper limit.

[0103] Step S840, when the fourth judgment result indicates that the ECN configuration information has not reached the adjustment limit, determine a fifth judgment result according to the network status information of the previous time period, where the fifth judgment result is used to indicate whether the transmission rate of the network does not meet the ideal rate requirement.

[0104] Step S850, when the fifth judgment result indicates that the ideal rate requirement was not met in the previous time period, increase the ECN waterline or decrease the marking probability.

[0105] Step S860, when the fifth judgment result indicates that the ideal rate requirement was met in the previous time period, use the ECN configuration information corresponding to the previous time period as the ECN configuration information corresponding to the current time period, and update the status indication information to the sixth status indication information, where the sixth status indication information indicates that the network is in the convergence stage.

[0106] It should be understood that the status indication information of the network in the previous time period is the fifth status indication information used to indicate that the network is in the parameter callback stage, indicating that the approximate optimal state of the network in the local time period has been determined, and the ECN configuration parameters are called back to the ECN configuration information corresponding to when the network is in the approximate optimal state to try to obtain the approximate optimal state of the network. In this case, determine whether the network reaches the ideal network state according to the network status information and the ideal state parameters of the previous time period, and determine whether the ECN configuration information reaches the adjustment limit according to the ECN waterline and the marking probability, and determine the ECN configuration information of the current time period based on whether the network reaches the ideal network state and whether the ECN configuration information reaches the adjustment limit.

[0107] Specifically, if the network did not reach the ideal network state in the previous time period and the ECN configuration information reached the adjustment limit, keep the ECN configuration information unchanged, that is, use the ECN configuration information of the previous time period as the ECN configuration information of the current time period, and then update the status indication information to the second status indication information used to indicate that the network is in the stage where the rate increase has reached the upper limit.

[0108] Specifically, if the network did not reach the ideal network state in the previous time period and there is still room for adjustment in the ECN configuration information, then continue to increase the ECN waterline or decrease the ECN marking probability.

[0109] Specifically, if the network reached the ideal network state in the previous time period, regardless of whether the ECN configuration information reached the adjustment limit, keep the ECN configuration information unchanged, that is, use the ECN configuration information of the previous time period as the ECN configuration information of the current time period, and then update the status indication information to the sixth status indication information used to indicate that the network is in the convergence stage.

[0110] Exemplarily, the network enters the rate increase stage in time period 1. In time period 1, the actual link transmission rate of the network is 85 (only used to distinguish the magnitude), which is quite different from the maximum value of the link rate, 100. Therefore, the marking probability is decreased from 50% to 45%; in time period 2, the actual link transmission rate of the network becomes 90, which is still quite different from the maximum value of the link rate, 100. Continue to decrease the marking probability from 45% to 40%; in time period 3, the actual link transmission rate of the network becomes 97, which is less different from the maximum value of the link rate, 100, that is, the network reaches the target transmission rate in time period 3. Increase the marking probability from 40% to 45%; in time period 4, the actual link transmission rate of the network drops from 97 to 95. At this time, the link transmission rate of the network in time period 4 is less than that in the previous time period of time period 4, that is, the link transmission rate in time period 3. It is considered that time period 3 is the approximate optimal state of the network in the recent local time. Use the ECN configuration information of time period 3, that is, the marking probability of 40% as the configuration information of time period 5, and use the network status information of time period 3, that is, the network status information with a link transmission rate of 97 as the ideal state parameter, so as to seek the optimal balance point between the transmission rate and the network delay.

[0111] Next, in time period 5, the actual link transmission rate of the network is 95, which does not reach the ideal state parameter of 97. If the value range of the ECN marking probability is 1 - 100%, that is, there is still room for decreasing the marking probability, then continue to decrease the ECN marking probability. If the value range of the ECN marking probability is 40 - 100%, that is, the marking probability of 40% has reached the boundary state that can be modulated, then continue to use the ECN marking probability of 40%, and at the same time update the status indication information to that the rate increase has reached the upper limit.

[0112] In the embodiments of the present application, after determining the approximate optimal state of the network within a local time period, that is, the ideal state parameters of the network, the ideal state parameters are used to guide the subsequent adjustment of the ECN configuration information. That is, when the network did not reach the ideal network state in the previous time period, the ECN waterline is continuously increased or the marking probability is decreased, or when the ECN configuration reaches the adjustment limit, the ECN configuration is kept unchanged. Through the ideal state parameters, it can be ensured that when the ECN configuration adjustment enters the convergence state, the network state is in the approximate optimal state of the local stage, avoiding the performance loss caused by excessive parameter adjustment when feedback delay occurs.

[0113] In some embodiments, the status indication information includes sixth status indication information, and the sixth status indication information indicates that the network is in the convergence stage.

[0114] Correspondingly, according to the status indication information, ECN configuration information, and network status information corresponding to the previous time period, determining the ECN configuration information corresponding to the current time period includes steps S910 to S980.

[0115] Step S910, when the status indication information corresponding to the previous time period is the sixth status indication information, obtain the network status information of multiple historical time periods to obtain network status sequence data.

[0116] Step S920, when the length of the network status sequence data reaches the sequence length upper limit value, delete the network status information with the longest time from the network status sequence data, and add the network status information of the current time period to the network status sequence data.

[0117] Step S930, determine a fifth judgment result according to the network status information of the previous time period, and the fifth judgment result is used to indicate whether the transmission rate of the network fails to meet the ideal rate requirement.

[0118] Step S940, when the fifth judgment result indicates that the ideal rate requirement was not met in the previous time period, clear the network status sequence data, increase the ECN waterline or decrease the marking probability.

[0119] Step S950, when the fifth judgment result indicates that the ideal rate requirement was met in the previous time period, determine a sixth judgment result according to the queue delay information of the previous time period, and the sixth judgment result is used to indicate whether the congestion degree of the network reaches the congestion determination standard.

[0120] Step S960, when the sixth judgment result indicates that the congestion determination standard was reached in the previous time period, determine a seventh judgment result according to the network status information of the previous time period, and the seventh judgment result is used to indicate whether there is room for alleviating the congestion degree of the network.

[0121] Step S970, when the seventh judgment result indicates that there is room for alleviating the congestion degree in the previous time period, clear the network status sequence data, update the adaptive queue length threshold according to the fluctuation data of the queue length, and lower the ECN waterline or increase the marking probability.

[0122] Step S980, when the seventh judgment result indicates that there is no room for alleviating the congestion degree in the previous time period, use the ECN configuration information of the previous time period as the ECN configuration information of the current time period.

[0123] It can be understood that the status indication information of the network in the previous time period is used to indicate that the network is in the convergence stage, that is, the network was in an approximately optimal state in the local time period of the previous time period. In this case, it is judged whether to jump out of the convergence state and re-seek the approximate optimal state of the network according to the network status information.

[0124] Specifically, when the network is in the convergence stage, record the network status information of the historical network traffic, that is, obtain the network status information of multiple historical time periods to form network status sequence data. In the subsequent convergence stage, if the length of the network status sequence data reaches the upper limit value of the sequence length, delete the network status information with the longest time from the network status sequence data, and add the network status information of the current time period to the network status sequence data.

[0125] In the subsequent convergence stage, determine whether the transmission rate of the network reaches the ideal rate requirement according to the network status information of the previous time period, where the ideal rate requirement is the ideal state parameter determined when entering the parameter callback stage. If the transmission rate of the network does not reach the ideal rate requirement, clear the network status sequence data, try to improve the network throughput level by increasing the ECN waterline or decreasing the ECN marking probability, and jump out of the convergence stage, and update the status indication information to the second status indication information used to indicate that the network is in the rate improvement stage.

[0126] In addition, when the transmission rate of the network reaches the ideal rate requirement, it is also possible to determine whether the congestion level of the network has reached the congestion determination standard based on the queue delay information in the previous time period. Among them, the congestion level of the network can be represented by the queue length of the buffer queue, such as the average queue length of the network traffic in the current time period or the instantaneous queue length at a certain moment. The congestion determination standard is the ideal state parameter obtained when entering the parameter callback stage. If the network reached the congestion determination standard in the previous time period, further determine whether there is room for alleviating the congestion level of the network. When there is room for alleviating the congestion level of the network, clear the network status sequence data, update the adaptive queue length threshold according to the fluctuation data of the queue length, and try to reduce the link transmission rate by lowering the ECN waterline or increasing the marking probability to alleviate the queue congestion. If the network did not reach the congestion determination standard in the previous time period, or there is no buffer space for the congestion level in the previous time period, maintain the convergence state, that is, use the ECN configuration information in the previous time period as the ECN configuration information in the current time period.

[0127] It should be noted that the level and fluctuation of the network traffic maintained are obtained based on the historical network status information in the network status sequence data, and it is estimated whether there is a more stable state of the network traffic within a local time period. For example, if the network traffic has a high delay but small fluctuations, it is determined that there is still room for optimizing the delay of the network traffic. Specifically, the standard deviation can be calculated to measure the fluctuation degree of the buffer queue. For example, if the calculated mean value of the network traffic delay is large and the variance is small, it can indicate that the network traffic has a high delay but small fluctuations.

[0128] It should also be noted that the adaptive queue length threshold is used to judge the degree of alleviating the queue congestion of the network. For example, in the queue elimination stage, by comparing the queue length in the previous time period with the adaptive queue length threshold, it is determined whether the degree of alleviating the queue congestion of the network has reached the target alleviation degree. The adaptive queue length threshold is updated according to the fluctuation data of the queue length. Specifically, when the fluctuation of the queue length is larger, that is, when the delay fluctuation is larger, the adaptive queue length threshold is higher, indicating that when the network fluctuates greatly, the queue elimination stage should be stopped as soon as possible to avoid throughput loss caused by excessive adjustment.

[0129] In a specific embodiment, if any one of the following conditions is met: the transmission rate of the network traffic does not reach the ideal rate requirement, the delay of the network traffic is greater than the ideal delay level, or whether there is a more stable state of the network traffic within a local time period, the convergence stage can be exited and the corresponding ECN configuration adjustment can be performed.

[0130] In some embodiments, the ECN waterline includes an ECN upper waterline and an ECN lower waterline. According to the ECN configuration information in the previous time period, increasing the ECN waterline or decreasing the marking probability includes step S1210 or step S1220.

[0131] Step S1210, when both the ECN upstream water line and the ECN downstream water line have reached the adjustment upper limit, lower the marking probability.

[0132] Step S1210, when the marking probability has reached the adjustment lower limit, randomly increase either the ECN upstream water line or the ECN downstream water line.

[0133] It can be understood that the ECN water line includes the ECN upstream water line and the ECN downstream water line. During the process of increasing the ECN water line or lowering the marking probability in an attempt to improve the link transmission rate, it is possible to first determine whether both the ECN upstream water line and the ECN downstream water line have reached the adjustment upper limit. If both the ECN upstream water line and the ECN downstream water line have reached the adjustment upper limit, then perform the operation of lowering the marking probability. Or, it is possible to first determine whether the marking probability has reached the adjustment lower limit. When the marking probability has reached the adjustment lower limit, randomly increase either the ECN upstream water line or the ECN downstream water line. For example, set a random number threshold. If the random number generated within a certain range is less than this random number threshold, then select to adjust the downstream water line; otherwise, select to adjust the upstream water line.

[0134] In some embodiments, the ECN water line includes the ECN upstream water line and the ECN downstream water line. According to the ECN configuration information of the previous time period, lowering the ECN water line or increasing the marking probability includes Step S1310 or Step S1320.

[0135] Step S1310, when both the ECN upstream water line and the ECN downstream water line have reached the adjustment lower limit, increase the marking probability.

[0136] Step S1320, when the marking probability has reached the adjustment upper limit, randomly lower either the ECN upstream water line or the ECN downstream water line.

[0137] It should be understood that the ECN water line includes the ECN upstream water line and the ECN downstream water line. During the process of lowering the ECN water line or increasing the marking probability, it is possible to first determine whether both the ECN upstream water line and the ECN downstream water line have reached the adjustment lower limit. If both the ECN upstream water line and the ECN downstream water line have reached the adjustment lower limit, then perform the operation of increasing the marking probability. Or, it is possible to first determine whether the marking probability has reached the adjustment upper limit. When the marking probability has reached the adjustment upper limit, randomly lower either the ECN upstream water line or the ECN downstream water line. For example, set a random number threshold. If the random number generated within a certain range is less than this random number threshold, then select to adjust the upstream water line; otherwise, select to adjust the downstream water line.

[0138] See Figure 3 , the following describes the network congestion adaptive control method provided by the embodiments of the present application through a specific example:

[0139] Initialize the ECN configuration information, status indication information, and queue length threshold, and enter the rate increase phase.

[0140] In the rate increase phase, determine whether the network transmission rate reaches the target transmission rate according to the network status information rate in the previous time period. Try to increase the network transmission rate by raising the ECN waterline or lowering the marking probability. After the network transmission rate reaches the target transmission rate, lower the ECN waterline or raise the marking probability, and enter the queue elimination phase. Among them, if the network transmission rate does not reach the target transmission rate and the ECN configuration information reaches the adjustable boundary state, enter the rate increase reached upper limit phase; if after lowering the ECN waterline or raising the marking probability, the ECN configuration information reaches the adjustable boundary state, enter the queue elimination reached lower limit phase.

[0141] In the rate increase reached upper limit phase, determine whether the network transmission rate reaches the target transmission rate according to the network status information rate in the previous time period. Keep the ECN configuration unchanged to continue trying to increase the network transmission rate. After the network transmission rate reaches the target transmission rate, lower the ECN waterline or raise the marking probability, and enter the queue elimination phase.

[0142] In the queue elimination phase, determine whether the degree of queue congestion mitigation of the network reaches the target mitigation degree according to the network status information and queue length threshold in the previous time period. Try to reduce the network transmission rate by lowering the ECN waterline or raising the marking probability to reduce the queue accumulation of the cache queue. Specifically, if the queue length at the previous moment of the network is less than the queue length threshold, or the throughput in the previous time period has a significant decrease compared with the time period before the previous time period, it is considered that the queue congestion degree has been mitigated. Take the ECN configuration information corresponding to the previous time period of the previous time period as the ECN configuration information corresponding to the current time period, and take the network status information corresponding to the previous time period of the previous time period as the ideal state parameter, and enter the parameter callback phase. Among them, if the degree of queue congestion mitigation of the network does not reach the target mitigation degree and the ECN configuration information reaches the adjustable boundary state, enter the queue elimination reached lower limit phase.

[0143] In the queue elimination reached lower limit phase, if the degree of queue congestion mitigation of the network does not reach the target mitigation degree, keep the ECN configuration unchanged and enter the convergence phase.

[0144] In the parameter callback phase, determine whether the network status in the previous time period does not reach the level of the ideal state parameter, and according to whether the ECN configuration information reaches the adjustable boundary state.

[0145] Among them, if the network state in the previous time period does not reach the level of the ideal state parameters and the ECN configuration information does not reach the adjustable boundary state, continue to increase the ECN waterline or decrease the marking probability; if the network state in the previous time period does not reach the level of the ideal state parameters and the ECN configuration information reaches the adjustable boundary state, keep the ECN configuration unchanged and enter the state where the rate increase has reached the upper limit; if the network state in the previous time period reaches the level of the ideal state parameters, enter the convergence state.

[0146] In the convergence state, if the transmission rate of the network traffic does not reach the level of the ideal state parameters, the delay of the network traffic is greater than the level of the ideal state parameters, or whether there is a more stable state of the network traffic within a local time period, then exit the convergence stage and perform corresponding ECN configuration adjustments.

[0147] The following describes the network congestion adaptive control method provided by the embodiments of the present application through a specific example. The network congestion adaptive control method is applied to a switch.

[0148] Step S1401: Initialize the ECN configuration information, status indication information, and queue length threshold. Among them, initialize the status indication quantity step = 0, indicating the start stage of the process, and it is first in the rate increase stage of the network traffic; initialize the queue length threshold threshold_qsize0; and assign the actual queue length threshold threshold_qsize to threshold_qsize0. This queue length threshold can be a recommended value given according to manual experience, or can be directly initialized to 0 or other random values far lower than the maximum value of the cache queue. The ECN configuration information can be determined by manual experience or a random policy to obtain an ECN configuration value. The ECN configuration information includes the ECN upper waterline, ECN lower waterline, and ECN marking probability. Denote the ECN upper waterline as Kmax, the ECN lower waterline as Kmin, and the ECN marking probability as Pmax. After execution, enter step S1402.

[0149] Step S1402: The switch configures with the initial ECN configuration information, performs ECN marking on the packets, and obtains network state information. Among them, the network state information needs to include at least the throughput information and delay information of the network. The throughput information of the network can be represented by the number of bytes of the packets received by the network per unit time and the number of bytes of the packets sent out, simply referred to as the input rate input_rate and the output rate output_rate. The delay information of the network can be represented by the queue depth of the port buffer queue. This queue depth can be the average queue depth or the instantaneous queue depth within a period of time. This network state information is obtained during the packet transmission process under this ECN configuration information. After execution, enter step S1403.

[0150] Step S1403: The rate increase stage of the ECN configuration adjustment for incoming traffic is entered, i.e., Step = 0. After execution, step S14104 is entered.

[0151] Step S1404: Determine whether the output rate output_rate_1 in the previous time period has reached the target utilization requirement, i.e., whether output_rate_1 > bottle_rate * through_target holds, where bottle_rate represents the maximum output rate of the link of the port, which is determined by the network device and is a known constant, and through_target is the preset target link utilization rate, i.e., the throughput utilization rate, which is used to give the desired throughput level and is usually set to a value close to 1, such as 99%. If the judgment result of step S1404 is no, then step S1405 is entered; otherwise, step S1410 is entered.

[0152] Step S1405: According to the ECN configuration information ECN_1 in the previous time period, increase the ECN waterline or decrease the ECN marking probability as the ECN configuration information ECN_2 for the current time period, i.e., ECN_2 = adjustThroughput(ECN_1). Among them, adjustThroughput selects the specific ECN parameter to be adjusted through a certain random strategy, and it will adjust at least one of Kmanx, Kmin, and Pmax in the specified direction (i.e., increasing the ECN waterline or decreasing the ECN marking probability). After execution, step S1406 is entered.

[0153] Step S1406: Determine whether the ECN configuration information after the execution of step S1405 can no longer be adjusted in the given direction, i.e., Kmax = Kmax_max, Kmin = Kmin_max, Pmax = Pmax_min, where Kmax_max represents the upper limit of the value of Kmax, Kmin_max represents the upper limit of the value of Kmin, and Pmax_min represents the lower limit of the value of Pmax. This set of thresholds generally determines an adjustment range through manual experience. Kmax_max and Kmin_max are usually less than the maximum depth of the cache queue. Pmax_min is usually equal to 1%. If the judgment result of step S1406 is yes, then step S1407 is entered; otherwise, return to step S1403.

[0154] Step S1407: Switch the status indication information to the stage where the rate increase has reached the upper limit, i.e., step = 1. After execution, step S1408 is entered.

[0155] Step S1408: Determine whether the output rate output_rate_1 in the previous time period has reached the target utilization requirement, that is, whether output_rate_1 > bottle_rate * through_target holds. If the judgment result of Step S1408 is no, then proceed to Step S1409; otherwise, proceed to Step S1410.

[0156] Step S1409: Keep the ECN configuration unchanged, and use the ECN configuration information ECN_1 in the previous time period as the ECN configuration information ECN_2 in the current time period, that is, ECN_2 = ECN_1. After execution, proceed to Step S1407.

[0157] Step S1410: According to the ECN configuration information ECN_1 in the previous time period, lower the ECN waterline or increase the marking probability as the ECN configuration information ECN_2 in the current time period, that is, ECN_2 = adjustDelay(ECN_1), where adjustDelay selects specific ECN parameters to be adjusted through a certain random strategy, and it will adjust at least one of Kmanx, Kmin, and Pmax in the specified direction (lower the ECN waterline or increase the marking probability). After execution, proceed to Step S1411.

[0158] Step S1411: Determine whether the ECN configuration information after the execution of Step S1410 can no longer be adjusted in the given direction, that is, Kmax = Kmax_min, Kmin = Kmin_min, Pmax = Pmax_max, where Kmax_min represents the lower limit of the value of Kmax, Kmin_min represents the lower limit of the value of Kmin, and Pmax_max represents the upper limit of the value of Pmax. This set of thresholds generally determines an adjustment range through manual experience. Kmax_min and Kmin_min are usually at least greater than the size of one packet. Pmax_max usually equals 100%. If the judgment result of Step S1411 is no, then proceed to Step S1412; otherwise, proceed to Step S1415.

[0159] Step S1412: The ECN configuration adjustment enters the queue elimination stage of the traffic, that is, step = 2. After execution, proceed to Step S1413.

[0160] Step S1413: Determine whether the queue congestion level has been eliminated or alleviated. Compare the queue length qsize_1 at the previous moment with the adaptive threshold threshold_qsize. When qsize_1 < threshold_qsize, it is determined that the congestion has been alleviated. Here, qsize_1 represents the queue length in the previous time period, and threshold_qsize is an adaptive threshold that changes with the network state. Its main calculation logic is to judge to what extent the queue depth drops when there is a risk of throughput loss through the fluctuation of the queue. If the judgment result of S1413 is yes, go to step S1414; otherwise, go to S1410.

[0161] Step S1414: Perform a callback of the ECN configuration information, and at the same time record the ideal value of the network traffic in the local time period, that is, use the ECN configuration ECN_3 in the time period before the previous time period as the ECN configuration ECN_2 in the current time period, ECN_2 = ECN_3. At the same time, record output_rate_ideal = output_rate_3, qsize_ideal = qsize_3, where output_rate_3 and qsize_3 represent the output rate and queue depth in the time period before the previous time period, and output_rate_ideal and qsize_ideal represent the ideal values of the network traffic output rate and queue depth in the local time period. In subsequent decisions, output_rate_ideal and qsize_ideal will be used as a set of thresholds to determine the direction of ECN adjustment. After execution, go to step S1418.

[0162] Step S1415: The ECN configuration adjustment enters the stage where the queue elimination of the traffic has reached the lower limit, that is, step = 3. After execution, go to S1416.

[0163] Step S1416: Determine whether the queue congestion level has been eliminated or alleviated. Compare the queue length qsize_1 at the previous moment with the adaptive threshold threshold_qsize. When qsize_1 < threshold_qsize, it is determined that the congestion has been alleviated. If the judgment result of S1416 is yes, go to step S1414; otherwise, go to step S1417.

[0164] Step S1417: Keep the ECN configuration unchanged. Use the ECN configuration information ECN_2 of the previous time period as the ECN configuration ECN_1 of the current time period, that is, ECN_2 = ECN_1. At the same time, record the ideal network state as the network state of the previous time period, that is, output_rate_ideal = output_rate_1, qsize_ideal = qsize_1. After execution, enter step S1423.

[0165] Step S1418: The ECN configuration adjustment enters the parameter callback stage, that is, step = 4. After execution, enter step S1419.

[0166] Step S1419: Determine whether the ECN configuration information of the previous time period has reached the adjustable boundary state, and whether the network state of the previous time period is significantly lower than the ideal level, that is, the upper and lower water lines of ECN have been adjusted to the maximum value within the allowable range, the marking probability has been adjusted to the minimum value within the allowable range, Kmax = Kmax_max, Kmin = Kmin_max, Pmax = Pmax_min, and the network state has not recovered to the ideal network state recorded in the above other stages, output_rate_1 < output_rate_ideal * coeff. If the judgment result of step S1419 is yes, enter step S1409, that is, keep the ECN configuration unchanged, and use the ECN configuration ECN_2 of the previous time period as the ECN configuration ECN_1 of the current time period, that is, ECN_2 = ECN_1; otherwise, enter step S1420.

[0167] Step S1420: Determine whether the output rate output_rate_1 is significantly lower than the ideal value of the output rate. That is, whether output_rate_1 < output_rate_ideal * coeff holds. If the result of step S1420 is yes, enter step S1421; otherwise, enter step S1422.

[0168] Step S1421: Increase the ECN water line or decrease the marking probability, that is, ECN_2 = adjustThroughput(ECN_1). After execution, enter step S1418.

[0169] Step S1422: Keep the ECN unchanged, and use the ECN configuration information of the previous time period as the ECN configuration of the current time period, that is, ECN_2 = ECN_1. After execution, enter step S1423.

[0170] Step S1423: Enter the convergence state, i.e., step = 5. After execution, enter step S1424.

[0171] Step S1424: Record the sequence data info_list of the historical network state information. When the sequence length is equal to the given threshold r, update the historical sequence in a rolling mode, that is, pop the oldest historical information and add the network state information of the latest time period at the same time. After execution, enter step S1425.

[0172] Step S1425: Determine whether the output rate meets the requirements: that is, whether the output rate output_rate_1 is significantly lower than the ideal value output_rate_ideal of the output rate, i.e., whether output_rate_1 < output_rate_ideal * coeff holds. If the result of step S1425 is yes, enter step S1426; otherwise, enter step S1427.

[0173] Step S1426: Clear the historical sequence information. After execution, enter step S1405.

[0174] Step S1427: Determine whether the congestion level meets the requirements: that is, whether the queue length qsize_1 is significantly higher than the ideal value qsize_ideal of the queue length. If the judgment result of step S1427 is yes, enter step S1428; otherwise, enter step S1429.

[0175] Step S1428: Clear the historical sequence information. After execution, enter step S1410.

[0176] Step S1429: Determine whether there is room for the congestion level to decrease. When the historical sequence length is equal to the given threshold n, the fluctuation of the historical sequence can be used to determine whether there is room for further alleviation of the congestion level. For example, a possible implementation is that when the average level of the queue buffer depth is high but the fluctuation is small, it can be considered that there is room for the congestion level to further decrease.

[0177] The fluctuation degree of the queue can be characterized in various ways. For example, a possible way is to express it through its standard deviation.

[0178]

[0179] Among them,

[0180] Among them, qsize iis the i-th element in qsize_list, and qsize_list is the sequence data of historical network queue depth information. If the judgment result in step S1429 is negative, then go to step S1422, that is, keep ECN unchanged; otherwise, go to step S1430.

[0181] Step S1430: Clear the historical sequence information, and update the adaptive threshold threshold_qsize through the fluctuation information of the queue. The size of threshold_qsize is usually proportional to the calculation of the fluctuation expression. After execution, go to step S1410.

[0182] In the above process, each policy adjustment only executes a part of the logic. When the process reaches steps S1403, S1407, S1412, S1415, S1418, S1423, a complete adjustment process is completed, and the next adjustment makes a decision starting from the position where the previous adjustment ended.

[0183] See Figure 4 , the adjustment strategy of adjustThroughput is described below through specific examples.

[0184] Step S1501: Obtain the ECN configuration information of the previous time period.

[0185] Step S1502: Judge whether the upper and lower water lines of ECN in the previous time period have been adjusted to the maximum value within the allowable range, and the marking probability has been adjusted to the minimum value within the allowable range, that is, Kmax_1 = Kmax_max, Kmin_1 = Kmin_max, Pmax_1 = Pmax_min. If the judgment result of step S1502 is positive, then go to step S1503; otherwise, go to step S1504.

[0186] Step S1503: Keep the ECN configuration unchanged, that is, ECN_2 = ECN_1.

[0187] Step S1504: Judge whether the upper and lower water lines of ECN in the previous time period have been adjusted to the maximum value within the allowable range. If the judgment result of step S1504 is positive, then go to step S1505; otherwise, go to step S1506.

[0188] Step S1505: Keep the upper and lower water lines of the ECN unchanged and lower the marking probability, i.e., Kmax_2 = Kmax_1, Kmin_2 = Kmin_1, Pmax_2 < Pmax_1. Here, Kmax_2, Kmin_2, and Pmax_2 represent the upper water line, lower water line, and marking probability of the ECN in the current time period, while Kmax_1, Kmin_1, and Pmax_1 represent the upper water line, lower water line, and marking probability of the ECN in the previous time period. The downward adjustment amplitude of Pmax_2 relative to Pmax_1 can be a preset fixed value, can vary according to the size of Pmax_1 itself, or can be a random value within a certain range. The adjusted Pmax_2 must not be less than the minimum value of the given range, otherwise, adjust Pmax_2 to this minimum value, i.e., Pmax_2 >= Pmax_min.

[0189] Step S1506: Determine whether the ECN marking probability in the previous time period has been adjusted to the minimum value within the allowable range. If the judgment result of Step S1506 is yes, go to Step S1507; otherwise, go to Step S1508.

[0190] Step S1507: Keep the marking probability unchanged and randomly increase one of the upper and lower water lines, i.e., Pmax_2 = Pmax_1, Kmax_2 > Kmax_1, Kmin_2 = Kmin_1, or Pmax_2 = Pmax_1, Kmax_2 = Kmax_1, Kmin_2 > Kmin_1. The upward adjustment amplitude of the upper and lower water lines can be a preset fixed value, can be adjusted according to a certain growth amplitude, or can be a random value within a certain range. The adjusted Kmax2 and Kmin_2 must meet the requirements within the given range, i.e., Kmax_2 <= Kmax_max, Kmin_2 <= Kmin_max, Kmin_2 <= Kmax_2.

[0191] Step S1508: Randomly generate a random number within a given range.

[0192] Step S1509: Determine whether the generated random number is less than a given threshold. When the random number is less than the given threshold, randomly increase the ECN waterline according to S1507, that is, Pmax_2 = Pmax_1, Kmax_2 > Kmax_1, Kmin_2 = Kmin_1, or Pmax_2 = Pmax_1, Kmax_2 = Kmax_1, Kmin_2 > Kmin_1. Otherwise, decrease the marking probability according to S1505, that is, Kmax_2 = Kmax_1, Kmin_2 = Kmin_1, Pmax_2 < Pmax_1. This random number threshold can be set according to the tendency of adjusting the upper and lower waterlines and the marking probability. The adjusted Kmax2, Kmin_2, Pmax_2 must meet the requirements within a given range, that is, Kmax_2 <= Kmax_max, Kmin_2 <= Kmin_max, Kmin_2 <= Kmax_2, Pmax_2 >= Pmax_min.

[0193] See Figure 5 , the following describes the method of randomly increasing the ECN waterline through specific examples.

[0194] Step S1601: Obtain the ECN configuration information of the previous time period.

[0195] Step S1602: Determine whether the upper ECN waterline has reached the maximum value within a given range, that is, Kmax_1 = Kmax_max. If the judgment result of Step S1602 is yes, go to Step S1603; otherwise, go to Step S1604.

[0196] Step S1603: Increase the lower waterline, that is, Kmax_2 = Kmax_1, Kmax_2 > Kmax_1.

[0197] Step S1604: Determine whether the lower waterline has reached the maximum value within a given range, or the lower waterline is equal to the upper waterline, that is, Kmin_1 = Kmin_max, or Kmin_1 = Kmax_1. If the judgment result of Step S1604 is yes, go to Step S1605; otherwise, go to Step S1606.

[0198] Step S1605: Increase the upper waterline, that is, Kmax_2 > Kmax_1, Kmin_2 = Kmin_1.

[0199] Step S1606: Randomly generate a random number within a given range.

[0200] Step S1607: Determine whether the generated random number is less than a given threshold. When the random number is less than the given threshold, raise the lower water line as described in step S1603; otherwise, raise the upper water line as described in step S1605. The random number threshold can be set according to the tendency of adjusting the upper and lower water lines.

[0201] In the above process, the adjusted Kmax_2 and Kmin_2 must meet the requirements within a given range, that is, Kmax_2 <= Kmax_max, Kmin_2 <= Kmin_max, Kmin_2 <= Kmax_2. Otherwise, pull the adjusted value back to the boundary value of the adjustable range.

[0202] See Figure 6 , the adjustment strategy of adjustDelay is described below through specific examples.

[0203] Step S1701: Obtain the ECN configuration information of the previous time period.

[0204] Step S1702: Determine whether the ECN upper and lower water lines in the previous time period have been adjusted to the minimum value within the allowable range, and mark the probability to the maximum value within the allowable range, that is, Kmax_1 = Kmax_min, Kmin_1 = Kmin_min, Pmax_1 = Pmax_max. If the judgment result of step S1702 is yes, go to step S1703; otherwise, go to step S1703.

[0205] Step S1703: Keep the ECN configuration unchanged, that is, ECN_2 = ECN_1.

[0206] Step S1704: Determine whether the ECN upper and lower water lines in the previous time period have been adjusted to the minimum value within the allowable range. If the judgment result of step S1704 is yes, go to step S1705; otherwise, go to step S1706.

[0207] Step S1705: Keep the upper and lower water lines of the ECN unchanged and raise the marking probability. That is, Kmax_2 = Kmax_1, Kmin_2 = Kmin_1, Pmax_2 > Pmax_1. The upward adjustment amplitude of Pmax_2 relative to Pmax_1 can be a preset fixed value, can also vary according to the size of Pmax_1 itself, or can be a random value within a certain range. The adjusted Pmax_2 must not be greater than the maximum value of the given range, otherwise adjust Pmax_2 to this maximum value, that is, Pmax_2 <= Pmax_max.

[0208] Step S1706: Determine whether the ECN marking probability in the previous time period has been adjusted to the maximum value within the allowable range. If the determination result of step S1706 is yes, go to step S1707; otherwise, go to step S1708.

[0209] Step S1707: Keep the marking probability unchanged and randomly lower one of the upper and lower waterlines. That is, Pmax_2 = Pmax_1, Kmax_2 < Kmax_1, Kmin_2 = Kmin_1, or Pmax_2 = Pmax_1, Kmax_2 = Kmax_1, Kmin_2 < Kmin_1. The downward adjustment amplitude of the upper and lower waterlines can be a preset fixed value, can be adjusted according to a certain growth rate, or can be a random value within a certain range. After adjustment, Kmax2 and Kmin_2 must meet the requirements within the given range, that is, Kmax_2 >= Kmax_min, Kmin_2 >= Kmin_min, Kmax_2 >= Kmin_2.

[0210] Step S1708: Randomly generate a random number within a given range.

[0211] Step S1709: Determine whether the generated random number is less than the given threshold. When the random number is less than the given threshold, randomly lower the ECN waterline according to step S1707, that is, Pmax_2 = Pmax_1, Kmax_2 < Kmax_1, Kmin_2 = Kmin_1, or Pmax_2 = Pmax_1, Kmax_2 = Kmax_1, Kmin_2 < Kmin_1. Otherwise, increase the marking probability according to step S1705, that is, Kmax_2 = Kmax_1, Kmin_2 = Kmin_1, Pmax_2 > Pmax_1. The random number threshold can be set according to the tendency of adjusting the upper and lower waterlines and the marking probability. After adjustment, Kmax2, Kmin_2, and Pmax_2 must meet the requirements within the given range, that is, Kmax_2 >= Kmax_min, Kmin_2 >= Kmin_min, Kmax_2 >= Kmin_2, Pmax_2 <= Pmax_max.

[0212] See Figure 7 , the following describes the method of randomly lowering the ECN waterline through a specific example.

[0213] Step S1801: Obtain the ECN configuration information of the previous time period.

[0214] Step S1802: Determine whether the ECN upper waterline has reached the minimum value within the given range, that is, Kmin_1 = Kmin_min. If the determination result of step S1802 is yes, go to step S1803; otherwise, go to step S1804.

[0215] Step S1803: Lower the water line, i.e., Kmin_2 = Kmin_1, Kmin_2 > Kmin_1.

[0216] Step S1804: Determine whether the water line has reached the minimum value within the given range, or the water supply line is equal to the water line, i.e., Kmax_1 = Kmax_min, or Kmax_1 = Kmin_1. If the judgment result of Step S1804 is yes, go to Step S1805; otherwise, go to Step S1806.

[0217] Step S1805: Raise the water supply line, i.e., Kmax_2 > Kmax_1, Kmin_2 = Kmin_1.

[0218] Step S1806: Randomly generate a random number within the given range.

[0219] Step S1807: Determine whether the generated random number is less than the given threshold. When the random number is less than the given threshold, lower the water supply line as described in Step S1803; otherwise, lower the water line as described in Step S1805. The random number threshold can be set according to the tendency of adjusting the water supply line and the water line.

[0220] In the above process, the adjusted Kmax2 and Kmin_2 must meet the requirements within the given range, i.e., Kmax_2 >= Kmax_min, Kmin_2 >= Kmin_min, Kmax_2 >= Kmin_2. Otherwise, pull the adjusted value back to the boundary value of the adjustable range.

[0221] It should be noted that the water supply line adjustment logic provided in the above embodiments is only a possible adjustment strategy, and can be replaced by any other possible way as long as the adjustment direction meets the corresponding adjustment direction in the above process. For example, the ratio of the water supply line and the water line can be fixed. During the adjustment process, only the marking probability and the ECN water line are randomly adjusted. When adjusting the ECN water line, the water supply line and the water line are adjusted simultaneously and their ratio is maintained.

[0222] The embodiment of the present application also provides an electronic device, as Figure 8 shown. The electronic device 800 includes:

[0223] One or more processors 810;

[0224] A memory 820, on which one or more programs are stored. When the one or more programs are executed by the one or more processors 810, the one or more processors 810 implement the network congestion adaptive control method.

[0225] The memory 820, as a non-transitory network system, can be used to store non-transitory software programs and non-transitory computer-executable programs. In addition, the memory 820 may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state storage devices. In some embodiments, the memory 820 optionally includes a memory 820 that is remotely located relative to the processor 810, and these remote memories 820 can be connected to the processor 810 through a network. Examples of the above network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0226] The memory 820 can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM), etc. The memory 820 can store an operating system and other application programs. When implementing the technical solutions provided in the embodiments of this specification through software or firmware, the relevant program codes are stored in the memory 820 and are called by the processor 810 to execute the methods of the embodiments of this application.

[0227] The processor 810 can be implemented in ways such as a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this application.

[0228] In some embodiments, the electronic device further includes:

[0229] An input / output interface for implementing information input and output;

[0230] A communication interface for implementing communication interaction between this device and other devices, which can communicate through wired means (such as USB, network cable, etc.) or can also communicate through wireless means (such as a mobile network, WIFI, Bluetooth, etc.);

[0231] A bus for transmitting information between various components of the device (such as the processor 810, the memory 820, the input / output interface, and the communication interface);

[0232] Among them, the processor 810, the memory 820, the input / output interface, and the communication interface can achieve communication connections with each other inside the device through the bus.

[0233] An embodiment of the present application further provides a computer-readable storage medium storing computer-executable instructions for executing the network congestion adaptive control method provided by the embodiment of the present application.

[0234] An embodiment of the present application further provides a computer program product including a computer program or computer instructions. The computer program or computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer program or computer instructions from the computer-readable storage medium, and the processor executes the computer program or computer instructions to enable the computer device to execute and implement the network congestion adaptive control method provided by the embodiment of the present application.

[0235] The system architecture and application scenarios described in the embodiments of the present application are for more clearly illustrating the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. Those skilled in the art can know that with the evolution of the system architecture and the emergence of new application scenarios, the technical solutions provided by the embodiments of the present application are equally applicable to similar technical problems.

[0236] Those of ordinary skill in the art can understand that all or part of the processes of implementing the methods in the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, storage, database, or other medium used in the embodiments provided by the present application can include non-volatile and / or volatile memories. Non-volatile memories can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memories can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

[0237] Those of ordinary skill in the art will understand that all or some of the steps and systems disclosed above can be implemented as software, firmware, hardware, and their appropriate combinations. Some physical components or all physical components can be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software can be distributed on a computer-readable medium, which can include a computer storage medium (or non-transitory medium) and a communication medium (or transitory medium). As is well known to those of ordinary skill in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, it is well known to those of ordinary skill in the art that communication media typically contains computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and can include any information delivery media.

[0238] Some embodiments of the present application have been described above with reference to the accompanying drawings. This is not intended to limit the scope of the present invention. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and essence of the present invention shall fall within the scope of the rights of this application.

Claims

1. A network congestion adaptive control method, the method comprising: Obtaining state indication information, explicit congestion notification (ECN) configuration information, and network state information corresponding to the previous time period of the network; Determining ECN configuration information corresponding to the current time period according to the state indication information, the ECN configuration information, and the network state information corresponding to the previous time period; Performing ECN marking on packets according to the ECN configuration information corresponding to the current time period.

2. The method according to claim 1, wherein The state indication information includes first state indication information, and the first state indication information indicates that the network is in a rate increase stage; The determining the ECN configuration information corresponding to the current time period according to the state indication information, the ECN configuration information, and the network state information corresponding to the previous time period includes: When the state indication information corresponding to the previous time period is the first state indication information, determining a first judgment result according to the network state information corresponding to the previous time period, where the first judgment result is used to indicate whether the transmission rate of the network reaches a target transmission rate; When the first judgment result indicates that the target transmission rate was not reached in the previous time period, increasing the ECN waterline or decreasing the marking probability according to the ECN configuration information corresponding to the previous time period; When the first judgment result indicates that the target transmission rate was reached in the previous time period, decreasing the ECN waterline or increasing the marking probability.

3. The method according to claim 1, wherein The state indication information includes second state indication information, and the second state indication information indicates that the network is in a stage where the rate increase has reached the upper limit; The determining the ECN configuration information corresponding to the current time period according to the state indication information, the ECN configuration information, and the network state information corresponding to the previous time period includes: When the state indication information corresponding to the previous time period is the second state indication information, determining a first judgment result according to the network state information corresponding to the previous time period, where the first judgment result is used to indicate whether the transmission rate of the network reaches a target transmission rate; When the first judgment result indicates that the target transmission rate was not reached in the previous time period, using the ECN configuration information corresponding to the previous time period as the ECN configuration information corresponding to the current time period; When the first judgment result indicates that the target transmission rate was reached in the previous time period, decreasing the ECN waterline or increasing the marking probability.

4. The method according to claim 1, characterized in that The state indication information includes third state indication information, and the third state indication information indicates that the network is in a queue elimination stage; The determining the ECN configuration information corresponding to the current time period according to the state indication information, the ECN configuration information, and the network state information corresponding to the previous time period includes: When the state indication information corresponding to the previous time period is the third state indication information, determining a second judgment result according to the network state information corresponding to the previous time period, where the second judgment result is used to indicate whether the degree of queue congestion mitigation of the network reaches a target mitigation degree; When the second judgment result indicates that the degree of queue congestion mitigation in the previous time period reaches the target mitigation degree, use the ECN configuration information corresponding to the time period immediately preceding the previous time period as the ECN configuration information corresponding to the current time period, and determine the ideal state parameters according to the network state information corresponding to the time period immediately preceding the previous time period; When the second judgment result indicates that the degree of queue congestion mitigation in the previous time period does not reach the target mitigation degree, lower the ECN waterline or increase the marking probability.

5. The method according to claim 1, wherein The status indication information includes fourth status indication information, and the fourth status indication information indicates that the network is in the stage where queue elimination has reached the lower limit; The determining the ECN configuration information corresponding to the current time period according to the status indication information, the ECN configuration information, and the network state information corresponding to the previous time period includes: When the status indication information corresponding to the previous time period is the fourth status indication information, determine a second judgment result according to the network state information corresponding to the previous time period, and the second judgment result is used to indicate whether the degree of queue congestion mitigation of the network reaches the target mitigation degree; When the second judgment result indicates that the degree of queue congestion mitigation in the previous time period reaches the target mitigation degree, use the ECN configuration information corresponding to the time period immediately preceding the previous time period as the ECN configuration information corresponding to the current time period; When the second judgment result indicates that the degree of queue congestion mitigation in the previous time period does not reach the target mitigation degree, use the ECN configuration information corresponding to the previous time period as the ECN configuration information corresponding to the current time period.

6. The method according to claim 4 or 5, characterized in that, After using the ECN configuration information corresponding to the time period immediately preceding the previous time period as the ECN configuration information corresponding to the current time period, the method further includes: Updating the status indication information to fifth status indication information, where the fifth status indication information indicates that the network is in the parameter callback stage.

7. The method according to claim 1, characterized in that, The status indication information includes fifth status indication information, and the fifth status indication information indicates that the network is in the parameter callback stage; The determining the ECN configuration information corresponding to the current time period according to the status indication information, the ECN configuration information, and the network state information corresponding to the previous time period includes: When the status indication information corresponding to the previous time period is the fifth status indication information, determine a third judgment result according to the network state information and the ideal state parameters of the previous time period, and the third judgment result is used to indicate whether the network reaches the ideal network state; When the third judgment result indicates that the previous time period does not reach the ideal network state, determine a fourth judgment result according to the ECN waterline and the marking probability, and the fourth judgment result is used to indicate whether the ECN configuration information reaches the adjustment limit; When the fourth judgment result indicates that the ECN configuration information reaches the adjustment limit, use the ECN configuration information corresponding to the previous time period as the ECN configuration information corresponding to the current time period, and update the status indication information to the second status indication information, where the second status indication information indicates that the network is in the stage where the rate increase has reached the upper limit; When the fourth judgment result indicates that the ECN configuration information does not reach the adjustment limit, determine a fifth judgment result according to the network status information of the previous time period, where the fifth judgment result is used to indicate whether the transmission rate of the network does not meet the ideal rate requirement; When the fifth judgment result indicates that the previous time period does not meet the ideal rate requirement, increase the ECN waterline or decrease the marking probability; When the fifth judgment result indicates that the previous time period meets the ideal rate requirement, use the ECN configuration information corresponding to the previous time period as the ECN configuration information corresponding to the current time period, and update the status indication information to the sixth status indication information, where the sixth status indication information indicates that the network is in the convergence stage; 8. The method according to claim 1, characterized in that The status indication information includes the sixth status indication information, where the sixth status indication information indicates that the network is in the convergence stage; Determining the ECN configuration information corresponding to the current time period according to the status indication information, the ECN configuration information, and the network status information corresponding to the previous time period includes: When the status indication information corresponding to the previous time period is the sixth status indication information, obtain the network status information of multiple historical time periods to obtain network status sequence data; When the length of the network status sequence data reaches the sequence length upper limit value, delete the network status information with the longest time from the network status sequence data, and add the network status information of the current time period to the network status sequence data; Determine a fifth judgment result according to the network status information of the previous time period, where the fifth judgment result is used to indicate whether the transmission rate of the network does not meet the ideal rate requirement; When the fifth judgment result indicates that the previous time period does not meet the ideal rate requirement, clear the network status sequence data, increase the ECN waterline or decrease the marking probability; When the fifth judgment result indicates that the previous time period meets the ideal rate requirement, determine a sixth judgment result according to the queue delay information of the previous time period, where the sixth judgment result is used to indicate whether the congestion degree of the network reaches the congestion determination standard; When the sixth judgment result indicates that the previous time period reaches the congestion determination standard, determine a seventh judgment result according to the network status information of the previous time period, where the seventh judgment result is used to indicate whether there is room for alleviating the congestion degree of the network; When the seventh judgment result indicates that there is room for alleviating the congestion degree in the previous time period, clear the network status sequence data, update the adaptive queue length threshold according to the fluctuation data of the queue length, and decrease the ECN waterline or increase the marking probability; When the seventh judgment result indicates that there is no room for alleviating the congestion degree in the previous time period, use the ECN configuration information of the previous time period as the ECN configuration information of the current time period.

9. The method according to claim 2 or 7 or 8, characterized in that, After increasing the ECN waterline or decreasing the marking probability according to the ECN configuration information corresponding to the previous time period, the method further includes: When the increase of the ECN waterline or the decrease of the marking probability reaches the adjustment limit, update the status indication information to second status indication information, where the second status indication information indicates that the network is in the stage where the rate increase has reached the upper limit.

10. The method according to claim 2 or 3 or 4 or 8, characterized in that After decreasing the ECN waterline or increasing the marking probability, the method further includes: When the decrease of the ECN waterline or the increase of the marking probability does not reach the adjustment limit, update the status indication information to third status indication information, where the third status indication information indicates that the network is in the queue elimination stage; When the decrease of the ECN waterline or the increase of the marking probability reaches the adjustment limit, update the status indication information to fourth status indication information, where the fourth status indication information indicates that the network has reached the lower limit stage in processing queue elimination.

11. The method according to claim 2 or 7 or 8, characterized in that, The ECN waterline includes an ECN upper waterline and an ECN lower waterline. Increasing the ECN waterline or decreasing the marking probability according to the ECN configuration information of the previous time period includes: When both the ECN upper waterline and the ECN lower waterline have reached the adjustment upper limit, decrease the marking probability; Or, When the marking probability has reached the adjustment lower limit, randomly increase either the ECN upper waterline or the ECN lower waterline.

12. The method according to claim 2 or 3 or 4 or 8, characterized in that The ECN waterline includes an ECN upper waterline and an ECN lower waterline. Decreasing the ECN waterline or increasing the marking probability according to the ECN configuration information of the previous time period includes: When both the ECN upper waterline and the ECN lower waterline have reached the adjustment lower limit, increase the marking probability; Or, When the marking probability has reached the adjustment upper limit, randomly decrease either the ECN upper waterline or the ECN lower waterline.

13. The method according to claim 1, wherein The network status information includes at least one of transmission rate information and queue length information.

14. An electronic device, comprising: One or more processors; A memory storing one or more programs, which when executed by the one or more processors cause the one or more processors to implement the network congestion adaptive control method according to any one of claims 1-12.

15. A computer-readable storage medium storing a computer program, which when executed by a processor implements the network congestion adaptive control method according to any one of claims 1-12.