Network congestion control method, apparatus, chip, electronic device, and storage medium

By employing timestamped messages to differentiate network transfer and receiver processing times, the method accurately identifies and manages network congestion, ensuring optimal transmission rates.

JP2026516230APending Publication Date: 2026-05-20SHENZHEN JAGUAR MICROSYSTEMS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SHENZHEN JAGUAR MICROSYSTEMS CO LTD
Filing Date
2024-04-24
Publication Date
2026-05-20

AI Technical Summary

Technical Problem

Conventional network congestion control methods using Round Trip Time (RTT) as the congestion signal are prone to distortion due to the inability to distinguish between network propagation time and receiver processing time, and they cannot accurately determine the degree of congestion, leading to inadequate adjustment of transmission rates.

Method used

A network congestion control method that involves sending and receiving messages with timestamps to differentiate between network transfer time and receiver processing time, using multiple transfer times to accurately identify congestion state and adjust transmission rates accordingly.

Benefits of technology

Accurately determines the presence, degree, and trend of network congestion, enabling precise adjustment of transmission rates to effectively manage network congestion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026516230000001_ABST
    Figure 2026516230000001_ABST
Patent Text Reader

Abstract

This application discloses a network congestion control method, apparatus, chip, electronic device, and storage medium. A method applied to a transmitting side includes: transmitting a first request message containing a first timestamp to a receiving side (S210); receiving a first response message corresponding to the first request message transmitted from the receiving side and recording a second timestamp (S220); identifying a first network transfer time for the first request message based on the first timestamp, second timestamp, third timestamp, and fourth timestamp (S230); obtaining a second network transfer time and a reference network transfer time (S240); identifying a network state for transferring the first request message based on the comparison relationship between the first network transfer time, the second network transfer time, and the reference network transfer time (S250); and adjusting the transmission rate of the next request message following the first request message based on the network state (S260).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] <Cross - reference to Related Applications> This application claims the priority of a Chinese patent application with the application number 202310514423.4, filed with the China National Intellectual Property Administration on May 8, 2023, and all of its contents are incorporated herein by reference.

[0002] This application relates to the field of computer technology, for example, to network congestion control methods, devices, chips, electronic devices, and storage media.

Background Art

[0003] In related technologies, the network congestion control method usually determines the congestion state of the network using the RTT (Round Trip Time) as the congestion signal, and further controls network congestion by adjusting the message transmission rate from the sender to the receiver. RTT means the round - trip time of a message, that is, the difference between the time when a request message is sent and the time when a response message is received.

[0004] However, the conventional network congestion control method using RTT as the congestion signal has the following problems. On the one hand, since it does not distinguish between the network propagation time of the message and the processing time on the receiver side, it is easily affected by the jitter of the processing time on the receiver side, and there is a risk of distortion in the determination of the network congestion state. On the other hand, since the congestion state is determined based only on a single RTT signal, the presence or absence of congestion can be determined, but the degree of congestion cannot be determined, which also causes distortion in the determination of the network congestion state, resulting in the problem that the transmission rate of the request message cannot be adjusted appropriately and the effect of network congestion control is not sufficient.

Summary of the Invention

[0005] This application provides a network congestion control method, apparatus, chip, electronic device, and storage medium that effectively control network congestion by more accurately identifying network congestion conditions and, consequently, more rationally adjusting the transmission rate of requested messages.

[0006] According to a first aspect of the present application, a network congestion control method applicable to the transmitting side is provided. The method is: The receiving side sends a first request message that includes a first timestamp indicating the time when the transmitting side sent the first request message, Receiving a first response message transmitted from the receiving side in response to the first request message, which includes a first timestamp, a third timestamp, and a fourth timestamp, and recording a second timestamp, wherein the second timestamp indicates the time the sending side received the first response message, the third timestamp indicates the time the receiving side received the first request message, and the fourth timestamp indicates the time the receiving side sent the first response message. Based on the first timestamp, the second timestamp, the third timestamp, and the fourth timestamp, the first network transfer time of the first request message is determined, The second network transfer time is the network transfer time of the first request message immediately preceding the current first request message, and the first request message In the current data flow Obtain the reference network transfer time, which is the shortest network transfer time in history, Based on the comparison relationship between the first network transfer time, the second network transfer time, and the reference network transfer time, the network state for transferring the first request message is identified. This includes adjusting the transmission rate of the next request message following the first request message based on the network state.

[0007] According to a second aspect of the present application, a network congestion control method applicable to a receiving side is provided. The method is: Receiving a first request message sent from the sender, which includes a first timestamp indicating the time the sender sent the first request message; The method includes sending a first response message to the sender in response to the first request message, the first response message containing a first timestamp, a third timestamp, and a fourth timestamp, wherein the third timestamp indicates the time the receiver received the first request message, and the fourth timestamp indicates the time the receiver sent the first response message.

[0008] According to a third aspect of the present application, a network congestion control device is provided which is located on the transmitting side, and the device comprises a first message transmitting module, a first message receiving module, transfer Time-specific module, transfer It includes a time acquisition module, a network status identification module, and a rate adjustment module.

[0009] The first message sending module is configured to send a first request message to the receiving side, which includes a first timestamp indicating the time when the sending side sent the first request message. The first message receiving module receives a first response message transmitted from the receiving side in response to the first request message, which includes a first timestamp, a third timestamp, and a fourth timestamp, and records a second timestamp, wherein the second timestamp indicates the time the sending side received the first response message, the third timestamp indicates the time the receiving side received the first request message, and the fourth timestamp indicates the time the receiving side sent the first response message. transferThe time identification module is configured to identify the first network transfer time of the first request message based on the first timestamp, the second timestamp, the third timestamp, and the fourth timestamp. transfer The time acquisition module retrieves the time of the first request message immediately preceding the current first request message. First The second network transfer time is the network transfer time, and the first request message In the current data flow Smallest ever First It is configured to obtain the reference network transfer time, which is the network transfer time. The network state identification module is configured to identify the network state for transferring the first request message based on the comparison relationship between the first network transfer time, the second network transfer time, and the reference network transfer time. The rate adjustment module is configured to adjust the transmission rate of the next request message following the first request message based on the network conditions.

[0010] According to a fourth aspect of the present application, a network congestion control device is provided which is located on the receiving side, and the device comprises a second message receiving module and a second message transmitting module. The second message receiving module is configured to receive a first request message sent from the sender, which includes a first timestamp indicating the time the sender sent the first request message. The second message transmission module transmits to the transmitting side a first response message that includes a first timestamp, a third timestamp, and a fourth timestamp in response to the first request message, wherein the third timestamp indicates the time the receiving side received the first request message, and the fourth timestamp indicates the time the receiving side transmitted the first response message.

[0011] According to an embodiment of the fifth aspect of the present application, a chip is provided, the chip is, It includes a processor, which is configured to execute computer program instructions stored in memory. When the computer program instruction is executed by the processor, it triggers the execution of a network congestion control method provided in a first or second embodiment of the present application by the chip.

[0012] According to a sixth aspect of the present application, an electronic device is provided, which includes a chip provided according to a fifth aspect of the present application and a memory.

[0013] The aforementioned memory is used to store computer program instructions. When the computer program instruction is executed by the processor in the chip, the processor implements a network congestion control method provided in the first or second embodiment of the present application.

[0014] According to a seventh aspect of the present application, a computer-readable storage medium is provided, the computer-readable storage medium storing computer program instructions, the computer program instructions being executed by a processor and used to implement a network congestion control method provided in the first or second aspect of the present application. [Brief explanation of the drawing]

[0015] [Figure 1] Figure 1 is a schematic diagram of an application scenario for the network congestion control method according to the present invention. [Figure 2] Figure 2 is a flowchart showing how a network congestion control method according to one embodiment of the present invention is applied to the transmitting side. [Figure 3] Figure 3 is a flowchart showing how a network congestion control method according to one embodiment of the present invention is applied to the receiving side. [Figure 4]FIG. 4 is a schematic diagram showing the configuration of a network congestion control device arranged on the transmission side according to an embodiment of the present application. [Figure 5] FIG. 5 is a schematic diagram showing the configuration of a network congestion control device arranged on the reception side according to an embodiment of the present application.

Embodiments for Carrying Out the Invention

[0016] Terms such as "first", "second", etc. in the specification, claims, and above-mentioned drawings of the present application are used to distinguish similar objects and do not indicate a specific order or sequence. Thus, the use of these terms can be appropriately replaced with each other, and it should be understood that the embodiments described in the present application can be implemented in an order other than the illustrated or described order. Also, terms such as "including" and "having" and their variants mean non-exclusive inclusion. That is, a process, method, system, product, or device including a plurality of steps or elements is not limited to the clearly enumerated steps or elements, and can further include other steps or elements not clearly enumerated or specific to these processes, methods, products, or devices.

[0017] <� It should be understood that the data according to the present technical solution (including but not limited to the data itself, data acquisition, or utilization) needs to comply with the requirements of relevant laws and regulations.

[0018] The network congestion control method according to the present application can perform congestion control on messages transferred between the transmission side and the reception side. Exemplarily, refer to FIG. 1 for the application scenario of the network congestion control method. FIG. 1 is a schematic diagram of the application scenario of the network congestion control method according to the present application.

[0019] As shown in Figure 1, when sender A and sender B send request messages to the receiver, the request messages sent from sender A and sender B reach the receiver via the switch. The response message sent back to sender A by the receiver of sender A's request message is returned to sender A via the switch. The response message sent back to sender B by the receiver of sender B's request message is returned to sender B via the switch. If the rate of data flow in to the switch is greater than the rate of data flow out of the switch, messages may accumulate in the cache queue within the switch, potentially causing message congestion within the switch.

[0020] In this application, a transmitted message includes request messages and response messages. A message sent by the sender to the receiver based on a business request is a request message, and multiple request messages flowing from the sender to the receiver form a data flow. A message sent by the receiver back to the sender based on the request message is a response message, and multiple response messages flowing from the receiver to the sender also form a data flow.

[0021] Depending on the direction of the request message flow, the sender is defined as the source end and the receiver as the destination end. For example, the sender and receiver may be a NIC (Network Interface Card) or a DPU (Data Processing Unit). Alternatively, they may be software or hardware modules configured on a NIC or DPU. Furthermore, they may be an electronic device equipped with a NIC or DPU, or software or hardware modules within such an electronic device. These software or hardware modules can implement at least one business function, either alone or in combination with other modules. The electronic device may be a computer or a server, etc.

[0022] To avoid situations where network congestion may occur in messages transferred between a sender and a receiver, this application provides a network congestion control method. The network congestion control method is applied to both the sender and the receiver.

[0023] For a network congestion control method applied to the transmitting side, please refer to Figure 2. Figure 2 is a flowchart showing how a network congestion control method according to one embodiment of the present invention is applied to the transmitting side. As shown in Figure 2, the network congestion control method may include the following steps.

[0024] In step S210, the receiving side receives a first request message which includes a first timestamp indicating the time when the transmitting side sent the first request message.

[0025] In one embodiment, upon receiving a business request, the sender analyzes the business request and then sends a request message to the receiver based on the business request. The business request may be an instruction that commands the sender to send data to the receiver. The business request includes at least five-tuple information from the receiver.

[0026] In one embodiment, when sending a first request message to the receiving side, the sending side constructs the first request message. In the process of constructing the first request message, the sending side records the time at which it intends to send the first request message to the receiving side and includes this time as a first timestamp in the message header of the first request message. The first request message is a data message having an RTT (Round Trip Time) request. The first request message includes an RTT extended message header, which stores the first timestamp.

[0027] For example, in this application, a request message includes two types of request messages: one is a first request message and the other is a second request message. With respect to the first request message, the sender sends the first request message to the receiver in two situations. In the first situation, the sender sends the first request message to the receiver when it first sends a request message in order to detect network congestion. In the second case, the sender sends the first request message to the receiver when it receives a first response message, which is a response message to the first request message.

[0028] In addition to sending a first request message to the receiver, the sender also sends a second request message to the receiver. Upon receiving a second response message for the second request message, the sender sends a second request message to the receiver. The second request message is a normal data message that does not include the first timestamp. The second response message does not include the first, third, or fourth timestamps.

[0029] In step S220, the receiver receives a first response message corresponding to the first request message transmitted from the receiver and records a second timestamp including a first timestamp, a third timestamp, and a fourth timestamp.

[0030] In one embodiment, when the sender receives a first response message corresponding to the first request message returned by the receiver, the sender records the time the first request message was received as a second timestamp. The second timestamp may be used to indicate the time the sender receives the first response message. The first response message includes an RTT message header, which includes a first timestamp, a third timestamp, and a fourth timestamp. The third timestamp may be used to indicate the time the receiver receives the first request message. The fourth timestamp may be used to indicate the time the receiver sends the first response message.

[0031] In step S230, the first network transfer time of the first request message is determined based on the first timestamp, the second timestamp, the third timestamp, and the fourth timestamp.

[0032] In one embodiment, the first network transfer time of the first request message may be understood as the time from when the sender sends the first request message until the receiver sends the first response message corresponding to the first request message, minus the processing time from when the receiver receives the first request message until the receiver sends the first response message corresponding to the first request message.

[0033] In a modified embodiment of one example, the transmitting side determines the first network transfer time for the current first request message each time, and then stores the first network transfer time for the current first request message in a storage module.

[0034] In this application, by calculating and identifying the first network transmission time of the first request message, it is possible to distinguish between the network transmission time of the first request message and the processing time of the first request message at the receiving end. This avoids being affected by the jitter of the processing time of the first request message at the receiving end and prevents distortion in the determination of network congestion status.

[0035] In step S240, the second network transfer time and the reference network transfer time are obtained.

[0036] In one embodiment, the second network transfer time is the first network transfer time of the first request message immediately preceding the current first request message. The sender may obtain the first network transfer time of the first request message immediately preceding the current first request message from the storage module. network The transfer time is the shortest first network transfer time for the first request message. The sender can obtain the shortest first network transfer time for the first request message from the storage module.

[0037] In step S250, the network state for transferring the first request message is identified based on the comparison relationship between the first network transfer time, the second network transfer time, and the reference network transfer time.

[0038] In one embodiment, the transmitting side can obtain a first network transfer time, a second network transfer time, and a reference network transfer time, and then compare the first network transfer time with the second network transfer time and the reference network transfer time, respectively, to obtain a first comparison result between the first network transfer time and the second network transfer time, obtain a second comparison result between the first network transfer time and the reference network transfer time, and further, identify the network state for transferring the first request message based on the first and second comparison results.

[0039] For example, identifying the network state for transferring the first request message based on the comparative relationship between the first network transfer time, the second network transfer time, and the reference network transfer time may include at least the following situations:

[0040] (Situation 1) When the first network transfer time is less than the second network transfer time and greater than the reference network transfer time, the network state can be identified as one in which congestion exists and the congestion tends to be alleviated.

[0041] (Situation 2) If the first network transfer time is less than the second network transfer time and is less than or equal to the reference network transfer time, the network state may be identified as one in which congestion may exist and congestion tends to be alleviated.

[0042] (Situation 3) If the first network transfer time is equal to the second network transfer time and greater than the reference network transfer time, the network state may be defined as having congestion and maintaining stable congestion.

[0043] (Situation 4) If the first network transfer time is equal to the second network transfer time and equal to the reference network transfer time, the network state may be determined to be one in which congestion may exist and the congestion is stable.

[0044] (Situation 5) If the first network transfer time is greater than the second network transfer time and is greater than the reference network transfer time, the network state may be identified as having congestion and a tendency for the congestion to worsen.

[0045] Furthermore, there is no case where the first network transfer time is equal to the second network transfer time and shorter than the reference network transfer time. Alternatively, there is no case where the first network transfer time is greater than the second network transfer time and shorter than or equal to the reference network transfer time.

[0046] In this invention, by using two derived signals—a first network transfer time and a second network transfer time and a reference network transfer time—the network state can be determined in a dual manner. This allows for accurate determination not only of whether congestion exists, but also of its degree and trend, thereby making the determination of network congestion more accurate.

[0047] In step S260, the transmission rate of the next request message following the first request message is adjusted based on the network status.

[0048] In a modified embodiment of one embodiment, adjusting the transmission rate of the next request message following the first request message based on the network state includes obtaining the transmission rate of the first request message, and adjusting the transmission rate of the next request message following the first request message based on the network state and the transmission rate of the first request message.

[0049] Adjusting the transmission rate of the next request message following the first request message based on the network conditions and the transmission rate of the first request message may include at least the following situations:

[0050] (Situation 1) If the network conditions are "congestion exists and the congestion tends to ease" and "congestion may exist and the congestion tends to ease", the transmission rate of the request message following the first request message may be maintained at the transmission rate of the first request message.

[0051] (Situation 2) The network state is either "congestion exists and the congestion is maintained stably" or "congestion exists and the congestion is worsening" vinegar If there is a tendency for the transmission rate of the first request message to decrease, the transmission rate of the first request message may be reduced to match the transmission rate of the next request message following the first request message.

[0052] (Situation 3) If the network conditions are such that congestion may exist but the congestion is stable, the transmission rate of the first request message can be increased to match the transmission rate of the next request message after the first request message.

[0053] The network congestion control method provided in this application records a first timestamp, a second timestamp, a third timestamp, and a fourth timestamp, and calculates and identifies the first network transfer time of the first request message. This allows for the distinction between the network transfer time of the first request message and the processing time of the first request message at the receiving end, thereby avoiding the influence of jitter in the processing time of the first request message at the receiving end and preventing distortion in the determination of the network congestion state. Furthermore, by using two derived signals—the first network transfer time and the second network transfer time and reference network transfer time—the network state can be determined in a dual manner, allowing for accurate determination not only of whether congestion exists but also of its degree, thereby making the determination of network congestion more accurate. Consequently, the transmission rate of the next request message after the first request message can be adjusted, effectively controlling network congestion.

[0054] For a network congestion control method applied to the receiving side, please refer to Figure 3. Figure 3 is a flowchart showing how a network congestion control method according to one embodiment of the present invention is applied to the receiving side. As shown in Figure 3, the network congestion control method may include the following steps.

[0055] Step In S310, the first request message sent by the sender is received. The first request message includes a first timestamp. The first timestamp is used to indicate the time when the sender sent the first request message.

[0056] In one embodiment, upon receiving a first request message, the receiving side parses the first request message. By parsing the first request message, the receiving side obtains a first timestamp set and learns that the first request message is a data message with an RTT request. After learning that the first request message is a data message with an RTT request, the receiving side records the time the first request message was received and sets this time as the third timestamp.

[0057] In step S320, a first response message corresponding to the first request message is sent to the sender. The first response message includes a first timestamp, a third timestamp, and a fourth timestamp.

[0058] In one embodiment, when the receiving side sends a first response message to the transmitting side, the receiving side constructs the first response message. In the process of constructing the first response message, the receiving side records the time at which it intends to send the first response message to the transmitting side, and sets this time as the fourth timestamp. The receiving side places the first timestamp, the third timestamp, and the fourth timestamp in the message header of the first response message. The first response message is a response message that includes an RTT request, and the first response message includes an RTT extended message header, and the RTT extended message header of the first response message includes the first timestamp, the third timestamp, and the fourth timestamp.

[0059] In one embodiment, the network congestion control method applied to the receiving side may further include receiving a second request message transmitted from the transmitting side, wherein the second request message does not include the first timestamp. A second response message corresponding to the second request message is sent to the transmitting side, wherein the second response message does not include the first timestamp, the third timestamp, and the fourth timestamp.

[0060] The network congestion control method provided in this application records a first timestamp, a second timestamp, a third timestamp, and a fourth timestamp, and calculates and identifies the first network transfer time of the first request message. This allows for the distinction between the network transfer time of the first request message and the processing time of the first request message at the receiving end, thereby avoiding the influence of jitter in the processing time of the first request message at the receiving end and preventing distortion in the determination of the network congestion state. Furthermore, by using two derived signals—the first network transfer time and the second network transfer time and reference network transfer time—the network state can be determined in a dual manner, allowing for accurate determination not only of whether congestion exists but also of its degree, thereby making the determination of network congestion more accurate. Consequently, the transmission rate of the next request message after the first request message can be adjusted, effectively controlling network congestion.

[0061] One embodiment of the present invention further provides a network congestion control device to be located on the transmitting side. Referring to Figure 4, which is a schematic diagram showing the configuration of a network congestion control device located on the transmitting side according to one embodiment of the present invention. The device shown in Figure 4 includes a first message transmission module 410, a first message reception module 420, a time identification module 430, a time acquisition module 440, a network status identification module 450, and a rate adjustment module 460.

[0062] The first message transmission module 410 is configured to send a first request message to the receiver. The first request message includes a first timestamp indicating the time when the sender sent the first request message.

[0063] The request messages in this application include two types of request messages: one is a first request message and the other is a second request message. With respect to the first request message, the sender sends the first request message to the receiver in two situations. In the first situation, the sender sends the first request message to the receiver when it first sends a request message in order to detect network congestion. In the second situation, the sender sends the first request message to the receiver when it receives a response message corresponding to the first request message (i.e., a first response message).

[0064] For a second request message sender, the sender sends the second request message to the receiver in addition to sending the first request message to the receiver. Furthermore, when the sender receives a second response message corresponding to the second request message, it sends the second request message to the receiver. The second request message is a normal data message that does not include the first timestamp. The second response message does not include the first, third, and fourth timestamps.

[0065] The first message receiving module 420 is configured to receive a first response message corresponding to a first request message sent from the receiving side and to record a second timestamp. The first response message includes a first timestamp, a third timestamp, and a fourth timestamp. The second timestamp is used to indicate the time when the sender receives the first response message. The third timestamp is used to indicate the time when the receiving side receives the first request message. The fourth timestamp indicates the time when the receiving side sends the first response message.

[0066] In this application, the first response message includes an RTT message header, the RTT message header includes a first timestamp, a third timestamp, and a fourth timestamp.

[0067] The time identification module 430 is configured to identify the first network transfer time of the first request message based on the first timestamp, the second timestamp, the third timestamp, and the fourth timestamp.

[0068] In this application, the first network transfer time of the first request message may be understood as the time from when the sender sends the first request message until the receiver sends the first response message corresponding to the first request message, minus the processing time from when the receiver receives the first request message until the receiver sends the first response message corresponding to the first request message. After determining the first network transfer time of the current first request message, the sender stores the first network transfer time of the current first request message in a storage module.

[0069] In this application, by calculating and identifying the first network transmission time of the first request message, it is possible to distinguish between the network transmission time of the first request message and the processing time of the first request message at the receiving end. This avoids being affected by the jitter of the processing time of the first request message at the receiving end and prevents distortion in the determination of network congestion status.

[0070] The time acquisition module 440 is configured to acquire a second network transfer time and a reference network transfer time. The second network transfer time is the first network transfer time of the first request message immediately preceding the current first request message, and the reference network transfer time is the first network transfer time of the first request message immediately preceding the current first request message. network The transfer time is the first network transfer time, which is the shortest time recorded for the first request message.

[0071] In this application, the sender can select the shortest possible first network transfer time for the first request message from the storage module.

[0072] The network state identification module 450 is configured to identify the network state for transferring the first request message based on the comparison relationship between the first network transfer time, the second network transfer time, and the reference network transfer time.

[0073] For example, the network status identification module 450 may be configured to identify at least some of the following situations:

[0074] (Situation 1) When the first network transfer time is less than the second network transfer time and greater than the reference network transfer time, the network state can be identified as one in which congestion exists and the congestion tends to be alleviated.

[0075] (Situation 2) If the first network transfer time is less than the second network transfer time and is less than or equal to the reference network transfer time, the network state may be identified as one in which congestion may exist and congestion tends to be alleviated.

[0076] (Situation 3) If the first network transfer time is equal to the second network transfer time and greater than the reference network transfer time, the network state may be defined as having congestion and maintaining stable congestion.

[0077] (Situation 4) If the first network transfer time is equal to the second network transfer time and equal to the reference network transfer time, the network state may be determined to be one in which congestion may exist and the congestion is stable.

[0078] (Situation 5) If the first network transfer time is greater than the second network transfer time and is greater than the reference network transfer time, the network state may be identified as having congestion and a tendency for the congestion to worsen.

[0079] In this invention, by using two derived signals—a first network transfer time and a second network transfer time and a reference network transfer time—the network state can be determined in a dual manner, making it possible to accurately determine not only whether congestion exists but also the degree of congestion, thereby making the determination of network congestion more accurate.

[0080] The rate adjustment module 460 is configured to adjust the transmission rate of the next request message following the first request message based on the network conditions.

[0081] For example, the rate adjustment module 460 is configured to acquire the transmission rate of the first request message and adjusts the transmission rate of the next request message following the first request message based on the network conditions and the transmission rate of the first request message.

[0082] For example, the rate adjustment module 460 may be configured to adjust the transmission rate in at least some of the following situations:

[0083] (Situation 1) If the network conditions are "congestion exists and the congestion tends to ease" and "congestion may exist and the congestion tends to ease", the transmission rate of the request message following the first request message may be maintained at the transmission rate of the first request message.

[0084] (Situation 2) The network state is either "congestion exists and the congestion is maintained stably" or "congestion exists and the congestion is worsening" vinegarIf there is a tendency for the transmission rate of the first request message to decrease, the transmission rate of the first request message may be reduced to match the transmission rate of the next request message following the first request message.

[0085] (Situation 3) If the network conditions are such that congestion may exist but the congestion is stable, the transmission rate of the first request message can be increased to match the transmission rate of the next request message after the first request message.

[0086] The network congestion control device provided in this application, on which the transmitting side is located, records a first timestamp, a second timestamp, a third timestamp, and a fourth timestamp, and calculates and identifies the first network transfer time of the first request message. This allows for the distinction between the network transfer time of the first request message and the processing time of the first request message at the receiving side, thereby avoiding the influence of jitter in the processing time of the first request message at the receiving side and preventing distortion in the determination of the network congestion state. Furthermore, by using two derived signals—the first network transfer time and the second network transfer time and reference network transfer time—the network state can be determined in a dual manner, allowing for accurate determination not only of whether congestion exists but also of its degree, thereby making the determination of network congestion more accurate. Consequently, the transmission rate of the next request message after the first request message can be adjusted, effectively controlling network congestion.

[0087] Furthermore, the network congestion control device located on the transmitting side according to the embodiment of the present invention can execute the network congestion control method according to the embodiment of the present invention, and has a corresponding functional module and beneficial effects for executing the method.

[0088] One embodiment of the present invention further provides a network congestion control device to be located on the receiving side. Referring to Figure 5, Figure 5 is a schematic diagram showing the configuration of a network congestion control device located on the receiving side according to one embodiment of the present invention. The device shown in Figure 5 includes a second message receiving module 510 and a second message transmitting module 520.

[0089] The second message receiving module 510 is configured to receive a first request message sent from the sender. The first request message includes a first timestamp. The first timestamp is used to indicate the time when the sender sent the first request message.

[0090] In this application, the first request message is a data message containing an RTT request. The first request message includes an RTT extended message header, which stores a first timestamp.

[0091] The second message transmission module 520 is configured to send a first response message to the sender corresponding to the first request message. The first response message includes a first timestamp, a third timestamp, and a fourth timestamp. The third timestamp is used to indicate the time when the receiver receives the first request message. The fourth timestamp is used to indicate the time when the receiver sends the first response message.

[0092] In this application, the first response message is a response message including an RTT request, the first response message includes an RTT extended message header, and the RTT extended message header of the first response message includes a first timestamp, a third timestamp, and a fourth timestamp.

[0093] In one embodiment, the network congestion control device located on the receiving side may further include a third message receiving module and a third message transmitting module.

[0094] The third message receiving module is configured to receive a second request message sent from the sender, and the second request message does not include the first timestamp.

[0095] The third message transmission module is configured to send a second response message to the sender corresponding to the second request message, wherein the second response message does not include a first timestamp, a third timestamp, and a fourth timestamp.

[0096] In the embodiment of the present invention, the receiving side receives a first request message containing a first timestamp, which is sent from the transmitting side. After receiving the first request message, the receiving side generates a first response message containing a first timestamp, a third timestamp, and a fourth timestamp, which corresponds to the first request message, and sends the first response message corresponding to the first request message to the transmitting side. In the technical solution of the embodiment of the present invention, by recording the first timestamp, the third timestamp, and the fourth timestamp in the first response message, the transmitting side can easily distinguish between network transfer delay and data processing delay, and the impact of data processing delay on network state determination can be avoided. As a result, the delay in network transfer of the request message can be grasped more accurately, and the technical effect of controlling network congestion in cooperation with the receiving side can be obtained.

[0097] Furthermore, the network congestion control device located on the receiving side according to the embodiment of the present application can execute the network congestion control method according to the embodiment of the present application, and has a corresponding functional module and beneficial effects for executing the method.

[0098] The present invention further provides a chip comprising a processor configured to execute computer program instructions stored in memory, wherein when the computer program instructions are executed by the processor, a network congestion control method provided in an embodiment of the present invention is triggered to be executed by the chip. For example, the chip may be a DPU chip.

[0099] The present invention further provides an electronic device, the electronic device comprising the chip and memory, the memory being used to store computer program instructions, and when the computer program instructions are executed by a processor in the chip, the processor implements a network congestion control method provided in an embodiment of the present invention.

[0100] For example, "electronic device" is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants (PDAs), servers, blade servers, mainframes, and other appropriate computers. "Electronic device" can also represent various forms of mobile devices, such as personal digital processing devices, mobile phones, smartphones, wearable devices (helmets, glasses, watches, etc.), and other similar computing devices. The components, their connections and relationships, and their functions shown herein are presented as examples only and are not intended to limit the implementation of the application described and / or claimed herein.

[0101] The present invention further provides a computer-readable storage medium in which computer program instructions are stored, and which, when executed by a processor, are used to implement a network congestion control method provided in an embodiment of the present invention.

[0102] For example, computer program instructions for carrying out the method of the present invention may be written in any combination of one or more programming languages. These computer program instructions may be provided to a processor of a general-purpose computer, a dedicated computer, or other programmable data processing device, so that when the computer program instructions are executed by the processor, the functions / operations defined in the flowchart and / or block diagram are performed. The computer program instructions may be executed entirely on the device, partially on the device, partially on the device and partially on a remote device as an independent software package, or entirely on a remote device or server.

[0103] For example, a computer-readable storage medium is a tangible medium that may contain or store computer programs for use by, or in combination with, instruction execution systems, apparatus, or devices. A computer-readable storage medium includes, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or appropriate combinations thereof. A computer-readable storage medium may also be a machine-readable signal medium. More specific examples of machine-readable signal mediums include one or more wire-based electrical connections, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any appropriate combination of the above. A computer-readable storage medium may also be a non-temporary computer-readable storage medium.

[0104] It should be understood that the various forms of flows shown above can be rearranged, added, or deleted. For example, the steps described in this application may be performed in parallel, sequentially, or in different orders, as long as the technical solution of this application achieves the desired results, and are not limited herein.

Claims

1. A network congestion control method applied to the transmitting side, The receiving side sends a first request message that includes a first timestamp indicating the time when the transmitting side sent the first request message, Receiving a first response message transmitted from the receiving side in response to the first request message, which includes a first timestamp, a third timestamp, and a fourth timestamp, and recording a second timestamp, wherein the second timestamp indicates the time the sending side received the first response message, the third timestamp indicates the time the receiving side received the first request message, and the fourth timestamp indicates the time the receiving side sent the first response message. Based on the first timestamp, the second timestamp, the third timestamp, and the fourth timestamp, the first network transfer time of the first request message is determined, The process involves obtaining the second network transfer time, which is the first network transfer time of the first request message immediately preceding the current first request message, and the reference network transfer time, which is the shortest first network transfer time of any request messages in the data flow to which the first request message belongs. Based on the comparison relationship between the first network transfer time, the second network transfer time, and the reference network transfer time, the network state for transferring the first request message is identified. A method comprising adjusting the transmission rate of the next request message following the first request message based on the network state.

2. The method according to claim 1, further, When sending the request message for the first time or receiving the first response message for the first time, the first request message is sent to the receiving side, When a second response message is received, a second request message is sent to the receiving side. A method wherein the request message includes the first request message and the second request message, the second request message does not include the first timestamp, and the second response message does not include the first timestamp, the third timestamp, and the fourth timestamp.

3. The method according to claim 1, Identifying the network state for transferring the first request message based on the comparison relationship between the first network transfer time, the second network transfer time, and the reference network transfer time is: When the first network transfer time is smaller than the second network transfer time and larger than the reference network transfer time, the network state is identified as one in which congestion exists and the congestion tends to be alleviated. If the first network transfer time is less than the second network transfer time and less than or equal to the reference network transfer time, the network state is identified as one in which congestion may exist and the congestion tends to be alleviated. If the first network transfer time is equal to the second network transfer time and greater than the reference network transfer time, the network state is identified as one in which congestion exists and the congestion is maintained stably. When the first network transfer time is equal to the second network transfer time and equal to the reference network transfer time, the network state is identified as one in which congestion may exist and the congestion is maintained stably. A method comprising: identifying the network state as having congestion and being severe if the first network transfer time is greater than the second network transfer time and also greater than the reference network transfer time.

4. The method according to claim 3, Adjusting the transmission rate of the next request message following the first request message based on the network state is: To obtain the transmission rate of the first request message, If the network state is "congestion exists and the congestion tends to be alleviated," or if the network state is "congestion may exist and the congestion tends to be alleviated," then the transmission rate of the request message following the first request message shall be maintained at the transmission rate of the first request message. If the network state is "congestion exists and the congestion is maintained stably," or if the network state is "congestion exists and the congestion is tending to worsen," the transmission rate of the first request message is reduced to the transmission rate of the next request message following the first request message. A method comprising increasing the transmission rate of the first request message to the transmission rate of the next request message following the first request message, when the network state is "there is a possibility of congestion and the congestion is maintained stably."

5. A network congestion control method applied to the receiving side, Receiving a first request message sent from the sender, which includes a first timestamp indicating the time the sender sent the first request message; A method comprising sending to the transmitting side a first response message in response to the first request message, the first response message including a first timestamp, a third timestamp, and a fourth timestamp, wherein the third timestamp indicates the time the receiving side received the first request message, and the fourth timestamp indicates the time the receiving side sent the first response message.

6. The method according to claim 5, further, Receiving the second request message sent from the sender, which does not include the first timestamp, A method comprising sending to the sender a second response message corresponding to the second request message, the second response message not containing the first timestamp, the third timestamp, and the fourth timestamp.

7. A network congestion control device located on the transmitting side, comprising a first message transmission module, a first message reception module, a transfer time specification module, a time acquisition module, a network status specification module, and a rate adjustment module, The first message transmission module is configured to send a first request message to the receiving side, which includes a first timestamp indicating the time when the transmitting side sent the first request message. The first message receiving module receives a first response message transmitted from the receiving side in response to the first request message, which includes a first timestamp, a third timestamp, and a fourth timestamp, and records a second timestamp, wherein the second timestamp indicates the time the transmitting side received the first response message, the third timestamp indicates the time the receiving side received the first request message, and the fourth timestamp indicates the time the receiving side transmitted the first response message. The transfer time identification module is configured to identify the first network transfer time of the first request message based on the first timestamp, the second timestamp, the third timestamp, and the fourth timestamp. The time acquisition module is configured to acquire a second network transfer time, which is the network transfer time of the first request message immediately preceding the current first request message, and a reference network transfer time, which is the shortest historical network transfer time of request messages in the data flow to which the first request message belongs. The network state identification module is configured to identify the network state for transferring the first request message based on the comparison relationship between the first network transfer time, the second network transfer time, and the reference network transfer time. The rate adjustment module is configured to adjust the transmission rate of the next request message following the first request message based on the network state.

8. A network congestion control device located on the receiving side, comprising a second message receiving module and a second message transmitting module, The second message receiving module is configured to receive a first request message sent from the sender, which includes a first timestamp indicating the time when the sender sent the first request message. The second message transmission module transmits to the transmitting side a first response message that includes a first timestamp, a third timestamp, and a fourth timestamp in response to the first request message, wherein the third timestamp indicates the time the receiving side received the first request message, and the fourth timestamp indicates the time the receiving side transmitted the first response message.

9. It's a tip, It includes a processor, which is configured to execute computer program instructions stored in memory. A chip wherein when the computer program instruction is executed by the processor, it triggers the execution of the network congestion control method according to any one of claims 1 to 4 or the network congestion control method according to any one of claims 5 to 6 by the chip.

10. An electronic device comprising a chip according to claim 9 and a memory, The aforementioned memory is used to store computer program instructions. An electronic device in which, when the computer program instruction is executed by the processor in the chip, the processor implements the network congestion control method according to any one of claims 1 to 4 or the network congestion control method according to any one of claims 5 to 6.

11. A computer-readable storage medium, The computer-readable storage medium stores computer program instructions, and when executed by a processor, the computer program instructions are used to implement the network congestion control method described in any one of claims 1 to 4 or the network congestion control method described in any one of claims 5 to 6.