Congestion control method and device and readable storage medium

By receiving and adjusting the window information in the data packets by the base station, combining air interfaces and cache resources, the problem of packet loss sensitivity in distributed AI computing is solved, and data transmission with low latency and high throughput is achieved.

CN120238503APending Publication Date: 2025-07-01HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311866285.2
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

In distributed AI computing, RDMA technology is extremely sensitive to packet loss during data transmission based on TCP/IP communication. A packet loss rate of one thousand will lead to a 30% performance decline. How to control congestion to reduce packet loss in the network and reduce delay, and improve the reliability and throughput of data transmission.

Method used

The base station receives window information in the data packet, combines air interface resources and cache resources, determines and indicates the size of the data transmission window, adjusts the transmission window to match the transmission capability, reduces packet loss and delay, and improves the reliability and throughput of data transmission.

Benefits of technology

Effectively reduce packet loss and data transmission delay in the network, improve the reliability and throughput of data transmission, and realize low-latency and large-throughput data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120238503A_ABST
    Figure CN120238503A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of communication, in particular to a congestion control method and device and a readable storage medium, and the method comprises the steps that a data sender sends a data message 1 which carries window information 1 and is used for requesting to adjust a sending window of data; the base station determines window information 2 based on the window information 1 and the sensed air interface resource, wherein the window information 2 is used for indicating a data sending window; the base station sends the window information 2 to the data sender; and the data sender determines a data sending window based on the window information 2. By adopting the embodiment of the invention, packet loss in a network can be reduced, the time delay of data transmission can be reduced, and the reliability of data transmission can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technologies, and in particular, to a congestion control method, apparatus, and readable storage medium. Background Art

[0002] With the development of machine learning algorithms, intelligent applications, and terminal computing capabilities, distributed computing with end-cloud collaboration (such as distributed artificial intelligence (AI) computing) is gradually becoming a future trend. In distributed AI computing, real-time model or data interaction is required. In traditional distributed computing based on transmission control protocol / internet protocol (TCP / IP) communication, the network is responsible for data transmission, and data copying and protocol encapsulation are performed by both computing devices. However, data copying and protocol encapsulation require frequent participation of computing units such as central processing units (CPUs), increasing the load of the devices and the latency of service completion, resulting in a decrease in the performance of distributed computing.

[0003] Remote direct memory access (RDMA) technology can be used to solve the problem of reduced performance of distributed computing based on TCP / IP communication. RDMA provides a mechanism for direct memory access between remote nodes through network cards by implementing kernel bypass, thereby unloading the workload of processing units (such as CPUs).

[0004] Since the RDMA technology is extremely sensitive to packet loss, a packet loss rate of one-thousandth will cause a 30% performance degradation, making it impossible to perform distributed computing tasks normally. Therefore, how to perform congestion control during data transmission to reduce packet loss in the network is worthy of consideration. Summary of the Invention

[0005] Embodiments of this application provide a congestion control method, apparatus, and readable storage medium, which can reduce packet loss in the network, reduce the latency of data transmission, and improve the reliability of data transmission.

[0006] The following introduces this application from different aspects. It should be understood that the implementation manners and beneficial effects of the following different aspects can be referred to each other.

[0007] In a first aspect, the present application provides a congestion control method, which is applied to a first communication device, such as a base station. The method includes: the first communication device receives a data packet 1 from a second communication device, and the data packet 1 includes window information 1, which is used to request an adjustment of the data transmission window; the first communication device sends a data packet 2 to a third communication device, and the data packet 2 includes the window information 2, which is used to indicate the data transmission window. Wherein, the window information 2 can be determined based on the air interface resources and the above window information 1.

[0008] The "transmission window" in the present application can be understood as: the amount of data that the sender can continuously send. In TCP, the transmission window refers to the size of a buffer maintained by the sender, and this buffer can be used to store the data packets that have been sent but not yet received an acknowledgment. In other words, the transmission window can also be understood as the buffer size of the data transmission queue. This will not be elaborated further below.

[0009] In the present application, unless otherwise specified, various processes for the "transmission window" can be understood as processes for the size of the transmission window. This will not be elaborated further below. For example, adjusting (such as increasing or decreasing) the data transmission window can be understood as adjusting (such as increasing or decreasing) the size of the data transmission window. Another example, indicating the data transmission window can be understood as indicating the size of the data transmission window. Still another example, determining the data transmission window can be understood as determining the size of the data transmission window.

[0010] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0011] Exemplarily, the second communication device is an in-network computing node, and the third communication device is a terminal. Or, the second communication device is a terminal, and the third communication device is an in-network computing node. Or, the second communication device is a terminal, and the third communication device is an out-of-network computing node (such as an edge server / cloud server); or, the second communication device is an out-of-network computing node (such as an edge server / cloud server), and the third communication device is a terminal.

[0012] It can be understood that the in-network computing node in this application can refer to the computing node introduced in the wireless network, which is usually connected to the base station and can be responsible for in-network computing of AI tasks. Exemplarily, the in-network computing node in this application can be understood as a computing node within the scope of discussion of the wireless network or 3GPP (3rd generation partnership project) standard. The out-of-network computing node (such as an edge server or a cloud server) in this application can be a computing server or a computing cluster deployed at the edge or in the cloud, with strong computing capabilities, and can be responsible for out-of-network computing of AI tasks. The terminal can be connected to the out-of-network computing node through the user plane function (UPF). Exemplarily, the out-of-network computing node in this application can be understood as a computing node outside the wireless network or 3GPP.

[0013] After the first communication device (such as a base station) of this application receives a data packet containing window information 1 (the window information 1 is used to request adjustment of the data transmission window), by sensing the usage situation and / or remaining situation of the air interface resources and combining the window information 1, it determines a transmission window size for the second communication device (data sender) and indicates it to the third communication device (data receiver), so that the third communication device feeds back the transmission window size indicated by the first communication device (i.e., window information 2) to the second communication device along with the data stream. Thus, the size of the transmission window actually used by the second communication device can be more matched with the transmission capacity of the first communication device (such as a base station), and packet loss (or no packet loss) and data transmission delay in the network can be reduced, improving the reliability and throughput of data transmission, and further realizing low-latency and high-throughput data transmission.

[0014] Combined with the first aspect, in a possible implementation manner, the above method further includes: the first communication device determines window information 2 based on the window information 1 and the air interface resources in the above data packet 1. Or, the first communication device determines window information 2 based on the window information 1, the air interface resources, and the buffer resources of the first communication device in the above data packet 1. The specific implementation manner for the first communication device to determine window information 2 can be seen in the description of the method embodiments below and will not be elaborated here.

[0015] Exemplarily, the air interface resources include one or more of the following: the channel state / channel quality of the air interface (for example: the gain of the wireless channel, or the path loss, etc.), or the air interface bandwidth situation (for example: the allocation situation of the system bandwidth, or the remaining bandwidth resources in the first communication device, etc.). Exemplarily, the buffer resources of the first communication device include but are not limited to: the lengths of each buffer queue that shares the air interface resources (such as time-frequency resources) in the first communication device.

[0016] Exemplarily, the size of the transmission window indicated by the above window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above window information 1.

[0017] After the first communication device (such as a base station) of this application receives a data packet containing window information 1, by sensing the usage situation and / or remaining situation of the air interface resources and / or the current buffer resources, it can determine whether its own transmission capacity can meet the requirements of the second communication device (data sender) (that is, the size of the transmission window requested to be adjusted by window information 1), which can make the size of the transmission window more matched with the transmission capacity of the first communication device (such as a base station), thereby reducing packet loss (or achieving no packet loss) and data transmission delay in the network, and improving the reliability of data transmission.

[0018] Combined with the first aspect, in a possible implementation manner, the above window information 1 may include one or more of the following: increase intent value (II), the buffer queue length in the second communication device, or the link bandwidth capacity of the second communication device. Based on this window information 1, the size of the transmission window requested to be adjusted by the second communication device (or the desired transmission window size) can be determined. Among them, the increase intent value can represent the size of the transmission window that the second communication device expects to increase. For example, if the size of the current transmission window is 2048 bytes and the increase intent value is also 2048 bytes, then the desired transmission window size of the second communication device is 4096 (i.e., 2048 + 2048) bytes. The buffer queue length in the second communication device may be the buffer queue length of all data to be sent belonging to the same quality of service (QoS) flow as the above data packet 1, or the buffer queue length of all data to be sent in the second communication device, which is not limited in this application.

[0019] It can be understood that the above window information 2 and the above window information 1 may be information of the same dimension. For example: window information 1 is the increase intent value, and window information 2 is also a value; or, window information 1 is the buffer queue length in the second communication device, and window information 2 is also a buffer queue length; or, window information 1 is the link bandwidth capacity of the second communication device, and window information 2 is also a link bandwidth capacity. It can also be understood that the specific value of window information 2 may be determined by the internal policy of the first communication device, which is not limited in this application.

[0020] Combined with the first aspect, in a possible implementation manner, the above window information 1 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the above data packet 1.

[0021] In combination with the first aspect, in a possible implementation manner, the above window information 2 may be carried in the frame header of the data link layer of the above data packet 2, or in the packet header of the network layer, or in the message header of the transport layer.

[0022] It can be understood that the data packets in this application may have different forms of expression in different protocol layers. For example: at the physical layer, the data packet may be a binary bit sequence (bit); at the data link layer, the data packet may be a data frame (frame); at the network layer, the data packet may be a data packet; at the transport layer, the data packet may be a data segment (segment); at the application layer, the data packet may be data. This application does not limit the form of expression of the data packet.

[0023] In combination with the first aspect, in a possible implementation manner, the data (which may also be referred to as the payload, not elaborated below) in the above data packet 2 may be the same as the data (or payload) in the above data packet 1. It can be understood that when the size of the sending window indicated by the above window information 2 is equal to the size of the sending window requested to be adjusted by the above window information 1, the data packet 2 may be the same as the data packet 1, and the value of the window information 2 may be the same as the value of the window information 1. It can also be understood that when the size of the sending window indicated by the above window information 2 is smaller than the size of the sending window requested to be adjusted by the above window information 1, the above data packet 2 may be obtained by replacing / updating the window information 1 in the above data packet 1 with this window information 2. In short, the above data packet 2 may be determined / generated based on the above data packet 1.

[0024] When the first communication device in this application forwards the data sent by the second communication device to the third communication device, it carries the window information 2 in the data packet 2 containing the data and sends it to the third communication device along with the data stream, without additional notification, which can save overhead.

[0025] In a second aspect, this application provides a congestion control method, which includes: the second communication device sends a data packet 1 (to the first communication device), the data packet 1 contains window information 1, and the window information 1 is used to request adjustment of the sending window of the data; the second communication device receives a data packet 3 from the third communication device, the data packet 3 includes window information 2, and the window information 2 is used to indicate the sending window of the data; the second communication device determines the sending window of the data based on the window information 2 in the data packet 3.

[0026] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the target address of the above data packet 1 is the address of the third communication device.

[0027] Exemplarily, the first communication device is a base station.

[0028] Exemplarily, the second communication device is an in-network computing node, and the third communication device is a terminal. Alternatively, the second communication device is a terminal, and the third communication device is an in-network computing node. Alternatively, the second communication device is a terminal, and the third communication device is an out-of-network computing node (such as an edge server / cloud server); or, the second communication device is an out-of-network computing node (such as an edge server / cloud server), and the third communication device is a terminal.

[0029] The second communication device of the present application actively requests to adjust the transmission window of the data according to its own cache situation and internal policy, and the third communication device feeds back congestion control information (i.e., window information 2) to the second communication device, which can not only reduce packet loss in the network and the delay of data transmission, but also provide the reliability of data transmission; it can also make the best use of the existing congestion control mechanism and adapt it to the mobile network to facilitate implementation and have high compatibility.

[0030] Combined with the second aspect, in a possible implementation manner, the size of the transmission window indicated by the above window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above window information 1.

[0031] Combined with the second aspect, in a possible implementation manner, the second communication device determines the transmission window of the data based on the window information 2 in the above data packet 3, including: if the size of the transmission window indicated by the above window information 2 is equal to the size of the transmission window requested to be adjusted by the above window information 1, the second communication device may adjust (such as increase) the transmission window at the next moment to its desired transmission window size (i.e., the size of the transmission window requested to be adjusted by the window information 1, or the size of the transmission window indicated by the window information 2). If the size of the transmission window indicated by the above window information 2 is less than the size of the transmission window requested to be adjusted by the above window information 1, the second communication device may adjust (possibly increase or decrease) the transmission window at the next moment to the size of the transmission window indicated by the window information 2. For the specific adjustment method, please refer to the description of the following embodiments and will not be elaborated here.

[0032] The second communication device of the present application adjusts the size of its own transmission window based on the received indication (i.e., window information 2). Since this window information 2 is matched with the transmission capacity of the first communication device (such as a base station), that is, the size of the transmission window actually used by the second communication device is matched with the transmission capacity of the first communication device (such as a base station), packet loss in the network can be reduced (or no packet loss can be achieved) and the delay of data transmission can be reduced, improving the reliability and throughput of data transmission, and thus realizing low-latency and high-throughput data transmission.

[0033] Combined with the second aspect, in a possible implementation, the above window information 1 may include one or more of the following: increase intent value (II), the buffer queue length in the second communication device, or the link bandwidth capacity of the second communication device. Based on this window information 1, the size of the transmission window that the second communication device requests to adjust (or the desired transmission window size) can be determined. Among them, the increase intent value can represent the size of the transmission window that the second communication device expects to increase. For example, if the size of the current transmission window is 2048 bytes and the increase intent value is also 2048 bytes, then the desired transmission window size of the second communication device is 4096 (i.e., 2048 + 2048) bytes. The buffer queue length in the second communication device can be the buffer queue length of all data to be transmitted belonging to the same QoS flow as the above data packet 1, or the buffer queue length of all data to be transmitted in the second communication device, which is not limited in this application.

[0034] It can be understood that the above window information 2 and the above window information 1 may be information of the same dimension. For example: the window information 1 is the increase intent value, and the window information 2 is also a value; or, the window information 1 is the buffer queue length in the second communication device, and the window information 2 is also a buffer queue length; or, the window information 1 is the link bandwidth capacity of the second communication device, and the window information 2 is also a link bandwidth capacity. It can also be understood that the specific value of the window information 2 can be determined by the internal policy of the first communication device, which is not limited in this application.

[0035] Combined with the second aspect, in a possible implementation, the above window information 1 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the above data packet 1.

[0036] Combined with the second aspect, in a possible implementation, the above data packet 3 may include RDMA layer 3 or layer 4 feedback information, and this RDMA layer 3 or layer 4 feedback information may carry the above window information 2.

[0037] It is understandable that the data (or payload) in the data packet 3 is different from the data (or payload) in the above-mentioned data packet 1. However, the data packet 3 and the data packet 1 belong to the same QoS flow or the same session.

[0038] The present application feeds back window information 2 along with the data stream, which can save overhead without additional notifications.

[0039] In a third aspect, the present application provides a congestion control method, which includes: a third communication device receives a data packet 2 from a first communication device, the data packet 2 contains the window information 2, and the window information 2 is used to indicate the sending window of the data; the third communication device sends a data packet 3 to a second communication device, and the data packet 3 includes the window information 2.

[0040] Exemplarily, the first communication device is a base station.

[0041] Exemplarily, the second communication device is an in-network computing node, and the third communication device is a terminal. Or, the second communication device is a terminal, and the third communication device is an in-network computing node. Or, the second communication device is a terminal, and the third communication device is an out-of-network computing node (such as an edge server / cloud server); or, the second communication device is an out-of-network computing node (such as an edge server / cloud server), and the third communication device is a terminal.

[0042] The third communication device of the present application feeds back the window information 2 to the second communication device through the data packet, which can maximize the reuse of the existing congestion control mechanism and adapt it to the mobile network, facilitating implementation and having high compatibility.

[0043] In combination with the third aspect, in a possible implementation manner, the above window information 2 can be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the above data packet 2.

[0044] In combination with the third aspect, in a possible implementation manner, the above data packet 3 can include RDMA layer 3 or layer 4 feedback information, and the RDMA layer 3 or layer 4 feedback information can carry the above window information 2.

[0045] It is understandable that the data (or payload) in the data packet 3 is different from the data (or payload) in the above-mentioned data packet 2. However, the data packet 3 and the data packet 2 belong to the same QoS flow or the same session.

[0046] Fourthly, the present application provides a communication device, which may be a first communication device or a chip or functional module configured in the first communication device. The communication device includes a processing unit and a transceiver unit. The transceiver unit is configured to receive a data packet 1 from a second communication device. The data packet 1 contains window information 1, and the window information 1 is used to request adjustment of the data transmission window. The transceiver unit is further configured to send a data packet 2 to a third communication device. The data packet 2 contains the window information 2, and the window information 2 is used to indicate the data transmission window. The window information 2 can be determined based on the radio interface resources and the above window information 1.

[0047] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0048] In combination with the fourth aspect, in a possible implementation, the processing unit is configured to determine the window information 2 based on the window information 1 in the above data packet 1 and the radio interface resources. Alternatively, the processing unit is configured to determine the window information 2 based on the window information 1 in the above data packet 1, the radio interface resources, and the buffer resources of the first communication device.

[0049] Exemplarily, the radio interface resources include one or more of the following: the channel state / channel quality of the radio interface (e.g., the gain of the wireless channel, or the path loss, etc.), or the radio interface bandwidth situation (e.g., the allocation situation of the system bandwidth, or the remaining bandwidth resources in the first communication device, etc.). Exemplarily, the buffer resources of the first communication device include, but are not limited to: the lengths of the respective buffer queues in the first communication device that share the radio interface resources (such as time-frequency resources).

[0050] Exemplarily, the size of the transmission window indicated by the above window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above window information 1.

[0051] In combination with the fourth aspect, in a possible implementation, the above window information 1 may include one or more of the following: an increase intent value (II), the length of the buffer queue in the second communication device, or the link bandwidth capacity of the second communication device.

[0052] In combination with the fourth aspect, in a possible implementation, the above window information 1 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the above data packet 1.

[0053] In combination with the fourth aspect, in a possible implementation, the above window information 2 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the above data packet 2.

[0054] In combination with the fourth aspect, in a possible implementation, the data (or payload) in the above data packet 2 may be the same as the data (or payload) in the above data packet 1.

[0055] In a fifth aspect, the present application provides a communication device, which may be a second communication device or a chip or functional module configured in the second communication device, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is configured to send a data packet 1, which includes window information 1 for requesting an adjustment of the data transmission window; the transceiver unit is further configured to receive a data packet 3 from a third communication device, where the data packet 3 includes window information 2 for indicating the data transmission window; the processing unit is configured to determine the data transmission window based on the window information 2 in the data packet 3.

[0056] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0057] In combination with the fifth aspect, in a possible implementation, the size of the transmission window indicated by the above window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above window information 1.

[0058] In combination with the fifth aspect, in a possible implementation, the above processing unit is specifically configured to: when the size of the transmission window indicated by the above window information 2 is equal to the size of the transmission window requested to be adjusted by the above window information 1, adjust the data transmission window to the size of the transmission window requested to be adjusted by the above window information 1; when the size of the transmission window indicated by the above window information 2 is less than the size of the transmission window requested to be adjusted by the above window information 1, adjust the data transmission window to the size of the transmission window indicated by the above window information 2.

[0059] In combination with the fifth aspect, in a possible implementation, the above window information 1 may include one or more of the following: an increase intent value (II), the length of the buffer queue in the second communication device, or the link bandwidth capacity of the second communication device.

[0060] In combination with the fifth aspect, in a possible implementation, the above window information 1 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the above data packet 1.

[0061] In combination with the fifth aspect, in a possible implementation, the above data packet 3 may include layer 3 or layer 4 feedback information of RDMA, and the layer 3 or layer 4 feedback information of RDMA may carry the above window information 2.

[0062] It can be understood that the data (or payload) in the data packet 3 is different from the data (or payload) in the above data packet 1. However, the data packet 3 and the data packet 1 belong to the same QoS flow or the same session.

[0063] In the sixth aspect, the present application provides a communication device, which may be a third communication device or a chip or functional module configured in the third communication device, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is configured to receive a data packet 2 from a first communication device, the data packet 2 includes the window information 2, and the window information 2 is used to indicate a data transmission window; the transceiver unit is further configured to send a data packet 3 to a second communication device, and the data packet 3 includes the window information 2.

[0064] Exemplarily, the processing unit 20 is configured to generate the data packet 3.

[0065] In combination with the sixth aspect, in a possible implementation, the above window information 2 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the above data packet 2.

[0066] In combination with the sixth aspect, in a possible implementation, the above data packet 3 may include layer 3 or layer 4 feedback information of RDMA, and the layer 3 or layer 4 feedback information of RDMA may carry the above window information 2.

[0067] In the seventh aspect, the present application provides a congestion control method, which is applied to a first communication device, such as a base station. The method includes: the first communication device receives a data packet 1 from a second communication device, the data packet 1 includes window information 1, and the window information 1 is used to request an adjustment of the data transmission window; the first communication device sends a data packet 3 to the second communication device, and the data packet 3 includes window information 2, and the window information 2 is used to indicate the data transmission window. Wherein, the window information 2 may be determined based on the air interface resources and the above window information 1.

[0068] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0069] Exemplarily, the second communication device is an in-network computing node, and the third communication device is a terminal. Alternatively, the second communication device is a terminal, and the third communication device is an in-network computing node. Alternatively, the second communication device is a terminal, and the third communication device is an out-of-network computing node (such as an edge server / cloud server); or the second communication device is an out-of-network computing node (such as an edge server / cloud server), and the third communication device is a terminal.

[0070] After the first communication device (such as a base station) of the present application receives a data packet containing window information 1 (the window information 1 is used to request adjustment of the data transmission window), by sensing the usage status and / or remaining status of the radio resource and combining the window information 1, a transmission window size is determined for the second communication device (data sender), and the second communication device is instructed of the transmission window size (i.e., window information 2); this can make the size of the transmission window actually used by the second communication device more matched with the transmission capacity of the first communication device (such as a base station), and can reduce packet loss (or achieve no packet loss) and data transmission delay in the network, improve the reliability and throughput of data transmission, and thus achieve low-latency and high-throughput data transmission.

[0071] Combined with the seventh aspect, in a possible implementation manner, after the first communication device receives the data packet 1 from the second communication device, the method further includes: the first communication device sends a data packet 2 to the third communication device, and the data packet 2 contains the window information 2.

[0072] Exemplarily, the window information 2 can be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the data packet 2.

[0073] Exemplarily, the data (or payload) in the data packet 2 can be the same as the data (or payload) in the above data packet 1.

[0074] The present application carries the window information 2 in the data packet 2 so that the third communication device can learn the transmission window size of the second communication device at the next moment, and thus make preparations for receiving data.

[0075] Combined with the seventh aspect, in a possible implementation manner, the above method further includes: the first communication device determines the window information 2 based on the window information 1 and the radio resource in the above data packet 1. Alternatively, the first communication device determines the window information 2 based on the window information 1, the radio resource, and the cache resource of the first communication device in the above data packet 1. The specific implementation manner for the first communication device to determine the window information 2 is described in the method embodiments below and will not be elaborated here.

[0076] Exemplarily, the radio interface resources include one or more of the following: the channel state / channel quality of the radio interface (e.g., the gain of a radio channel, or path loss, etc.), or the radio interface bandwidth situation (e.g., the allocation of system bandwidth, or the remaining bandwidth resources in the first communication device, etc.). Exemplarily, the buffer resources of the first communication device include, but are not limited to: the lengths of each buffer queue that shares radio interface resources (such as time-frequency resources) in the first communication device.

[0077] Exemplarily, the size of the transmission window indicated by the above window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above window information 1.

[0078] In combination with the seventh aspect, in a possible implementation manner, the above data packet 3 includes layer 3 or layer 4 feedback information of RDMA, and the layer 3 or layer 4 feedback information of RDMA includes the above window information 2.

[0079] Exemplarily, the above data packet 3 and the above data packet 1 belong to the same QoS flow or the same session.

[0080] In combination with the seventh aspect, in a possible implementation manner, the above data packet 3 includes a user plane (userplane) general packet radio service (general packet radio service, GPRS) tunneling protocol (GPRStunneling protocol, GTP-u) header, and the GTP-u header includes the above window information 2. Exemplarily, the above data packet 3 and the above data packet 1 belong to the same QoS flow or the same session. Or, the data in the above data packet 3 is dummy data.

[0081] In combination with the seventh aspect, in a possible implementation manner, the above data packet 3 includes a Uu layer 2 header or a layer 2 control (control) protocol data unit (protocol data unit, PDU), and the Uu L2 header or L2 control PDU includes the above window information 2.

[0082] The first communication device of the present application directly sends window information 2 (the window information 2 is used to indicate the transmission window of data) to the second communication device, which can reduce the detour of window information 2 (or congestion control information) through the radio interface, so that congestion control (or the adjustment of the transmission window) can be more timely, and low latency and high throughput of data transmission can be achieved.

[0083] In combination with the seventh aspect, in a possible implementation, the above window information 1 may include one or more of the following: increase intent (II), the length of the buffer queue in the second communication device, or the link bandwidth capacity of the second communication device. It can be understood that the above window information 2 and the above window information 1 may be information of the same dimension.

[0084] In combination with the seventh aspect, in a possible implementation, the above window information 1 may be carried in the frame header of the data link layer of the above data packet 1, or the packet header of the network layer, or the message header of the transport layer.

[0085] In an eighth aspect, the present application provides a congestion control method, which includes: the second communication device sends a data packet 1 (to the first communication device), the data packet 1 contains window information 1, and the window information 1 is used to request an adjustment of the transmission window of the data; the second communication device receives a data packet 3 from the first communication device, the data packet 3 contains window information 2, and the window information 2 is used to indicate the transmission window of the data; the second communication device determines the transmission window of the data based on the window information 2 in the data packet 3.

[0086] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0087] Exemplarily, the first communication device is a base station.

[0088] Exemplarily, the second communication device is an in-network computing node, and the third communication device is a terminal. Or, the second communication device is a terminal, and the third communication device is an in-network computing node. Or, the second communication device is a terminal, and the third communication device is an off-network computing node (such as an edge server / cloud server); or, the second communication device is an off-network computing node (such as an edge server / cloud server), and the third communication device is a terminal.

[0089] The second communication device of the present application actively requests an adjustment of the transmission window of the data according to its own cache situation and internal policy, and the first communication device feeds back congestion control information (i.e., window information 2) to the second communication device, which can not only reduce packet loss in the network and the delay of data transmission, but also provide the reliability of data transmission; it can also reduce the detour of the window information 2 through the air interface, so that congestion control (or the adjustment of the transmission window) can be more timely, and low delay and high throughput of data transmission can be achieved.

[0090] In combination with the eighth aspect, in a possible implementation, the size of the transmission window indicated by the above window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above window information 1.

[0091] In combination with the eighth aspect, in a possible implementation, the second communication device determines the transmission window for data based on the window information 2 in the above data packet 3, including: If the size of the transmission window indicated by the above window information 2 is equal to the size of the transmission window requested to be adjusted by the above window information 1, the second communication device may adjust (e.g., increase) the transmission window for the next moment to the size of the transmission window it desires (i.e., the size of the transmission window requested to be adjusted by the above window information 1, or the size of the transmission window indicated by the above window information 2). If the size of the transmission window indicated by the above window information 2 is less than the size of the transmission window requested to be adjusted by the above window information 1, the second communication device may adjust (which may be an increase or a decrease) the transmission window for the next moment to the size of the transmission window indicated by the above window information 2. For the specific adjustment method, refer to the description of the embodiments below and will not be elaborated here.

[0092] In combination with the eighth aspect, in a possible implementation, the above data packet 3 includes layer 3 or layer 4 feedback information of RDMA, and the layer 3 or layer 4 feedback information of RDMA includes the above window information 2. Exemplarily, the above data packet 3 and the above data packet 1 belong to the same QoS flow or the same session.

[0093] In combination with the eighth aspect, in a possible implementation, the above data packet 3 includes a GTP-u header, and the GTP-u header includes the above window information 2. Exemplarily, the above data packet 3 and the above data packet 1 belong to the same QoS flow or the same session. Alternatively, the data in the above data packet 3 is pseudo data.

[0094] In combination with the eighth aspect, in a possible implementation, the above data packet 3 includes a Uu layer 2 header or a layer 2 control PDU, and the Uu L2 header or the L2 control PDU includes the above window information 2.

[0095] In combination with the eighth aspect, in a possible implementation, the above window information 1 may include one or more of the following: an increase intent value (II), the length of the buffer queue within the second communication device, or the link bandwidth capacity of the second communication device. It can be understood that the above window information 2 and the above window information 1 may be information of the same dimension.

[0096] In combination with the eighth aspect, in a possible implementation, the above window information 1 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the above data packet 1.

[0097] In a ninth aspect, the present application provides a congestion control method, which includes: a third communication device receives a data packet 2 from a first communication device, and the data packet 2 includes the window information 2, and the window information 2 is used to indicate a transmission window of data.

[0098] Exemplarily, the first communication device is a base station.

[0099] In combination with the ninth aspect, in a possible implementation, the above window information 2 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the above data packet 2.

[0100] In combination with the ninth aspect, in a possible implementation, after the third communication device receives the data packet 2 from the first communication device, the method further includes: the third communication device sends a feedback message to the second communication device. The data carried in the feedback message is different from the data carried in the data packet 2, but the feedback message and the data packet 2 may belong to the same QoS flow or the same session.

[0101] It can be understood that the "feedback message" in the present application can be understood as a data packet carrying feedback information, which will not be elaborated below. Exemplarily, the feedback information may be carried in the header of the data packet.

[0102] In a tenth aspect, the present application provides a communication device, which may be the first communication device or a chip or functional module configured in the first communication device, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is configured to receive a data packet 1 from a second communication device, the data packet 1 includes window information 1, and the window information 1 is used to request an adjustment of the transmission window of data; the transceiver unit is further configured to send a data packet 3 to the second communication device, the data packet 3 includes window information 2, and the window information 2 is used to indicate the transmission window of data, and the window information 2 is determined based on radio resources and the above window information 1.

[0103] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0104] In combination with the tenth aspect, in a possible implementation, the above transceiver unit is further configured to send a data packet 2 to the third communication device, and the data packet 2 includes the window information 2.

[0105] Exemplarily, the window information 2 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the data packet 2.

[0106] Exemplarily, the data (or payload) in the data packet 2 may be the same as the data (or payload) in the above-mentioned data packet 1.

[0107] In combination with the tenth aspect, in a possible implementation, a processing unit is configured to determine window information 2 based on the window information 1 and the radio air interface resources in the above-mentioned data packet 1. Alternatively, the processing unit is configured to determine window information 2 based on the window information 1, the radio air interface resources, and the buffer resources of the first communication device in the above-mentioned data packet 1.

[0108] Exemplarily, the radio air interface resources include one or more of the following: the channel state / channel quality of the radio air interface (e.g., the gain of the wireless channel, or the path loss, etc.), or the radio air interface bandwidth situation (e.g., the allocation situation of the system bandwidth, or the remaining bandwidth resources in the first communication device, etc.). Exemplarily, the buffer resources of the first communication device include, but are not limited to: the lengths of the respective buffer queues that share the radio air interface resources (such as time-frequency resources) in the first communication device.

[0109] Exemplarily, the size of the transmission window indicated by the above-mentioned window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above-mentioned window information 1.

[0110] In combination with the tenth aspect, in a possible implementation, the above-mentioned data packet 3 includes layer 3 or layer 4 feedback information of RDMA, and the layer 3 or layer 4 feedback information of RDMA includes the above-mentioned window information 2. Exemplarily, the above-mentioned data packet 3 and the above-mentioned data packet 1 belong to the same QoS flow or the same session.

[0111] In combination with the tenth aspect, in a possible implementation, the above-mentioned data packet 3 includes a GTP-u header, and the GTP-u header includes the above-mentioned window information 2. Exemplarily, the above-mentioned data packet 3 and the above-mentioned data packet 1 belong to the same QoS flow or the same session. Alternatively, the data in the above-mentioned data packet 3 is pseudo data.

[0112] In combination with the tenth aspect, in a possible implementation, the above-mentioned data packet 3 includes a Uu layer 2 header or an L2 control PDU, and the Uu layer 2 header or the L2 control PDU includes the above-mentioned window information 2.

[0113] In combination with the tenth aspect, in a possible implementation, the above-mentioned window information 1 may include one or more of the following: an increase intent value (II), the length of the buffer queue in the second communication device, or the link bandwidth capacity of the second communication device. It can be understood that the above-mentioned window information 2 and the above-mentioned window information 1 may be information in the same dimension.

[0114] In combination with the tenth aspect, in a possible implementation manner, the above window information 1 may be carried in the frame header of the data link layer of the above data packet 1, or in the packet header of the network layer, or in the message header of the transport layer.

[0115] The eleventh aspect provides a communication device. The communication device may be a second communication device or a chip or functional module configured in the second communication device, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is configured to send a data packet 1, where the data packet 1 includes window information 1, and the window information 1 is used to request an adjustment of the data sending window; the transceiver unit is further configured to receive a data packet 3 from a first communication device, where the data packet 3 includes window information 2, and the window information 2 is used to indicate the data sending window; the processing unit is configured to determine the data sending window based on the window information 2 in the data packet 3.

[0116] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0117] In combination with the eleventh aspect, in a possible implementation manner, the size of the sending window indicated by the above window information 2 is less than or equal to the size of the sending window requested to be adjusted by the above window information 1.

[0118] In combination with the eleventh aspect, in a possible implementation manner, the above processing unit is specifically configured to: when the size of the sending window indicated by the above window information 2 is equal to the size of the sending window requested to be adjusted by the above window information 1, adjust the data sending window to the size of the sending window requested to be adjusted by the above window information 1 that it expects; when the size of the sending window indicated by the above window information 2 is less than the size of the sending window requested to be adjusted by the above window information 1, adjust the data sending window to the size of the sending window indicated by the above window information 2.

[0119] In combination with the eleventh aspect, in a possible implementation manner, the above data packet 3 includes RDMA layer 3 or layer 4 feedback information, and the RDMA layer 3 or layer 4 feedback information includes the above window information 2. Exemplarily, the above data packet 3 and the above data packet 1 belong to the same QoS flow or the same session.

[0120] In combination with the eleventh aspect, in a possible implementation manner, the above data packet 3 includes a GTP-u header, and the GTP-u header includes the above window information 2. Exemplarily, the above data packet 3 and the above data packet 1 belong to the same QoS flow or the same session. Or, the data in the above data packet 3 is pseudo data.

[0121] In combination with the eleventh aspect, in a possible implementation, the above data packet 3 includes a Uu layer 2 header or a layer 2 control PDU, and the Uu L2 header or the L2 control PDU includes the above window information 2.

[0122] In combination with the eleventh aspect, in a possible implementation, the above window information 1 may include one or more of the following: an increase intent value (II), the length of a buffer queue in a second communication device, or the link bandwidth capacity of the second communication device. It can be understood that the above window information 2 and the above window information 1 may be information of the same dimension.

[0123] In combination with the eleventh aspect, in a possible implementation, the above window information 1 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the above data packet 1.

[0124] In the twelfth aspect, the present application provides a communication device, which may be a third communication device or a chip or functional module configured in the third communication device, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is configured to receive a data packet 2 from a first communication device, and the data packet 2 includes the window information 2, and the window information 2 is used to indicate a transmission window of data.

[0125] In combination with the twelfth aspect, in a possible implementation, the above transceiver unit is further configured to send a feedback message to a second communication device. The data carried in the feedback message is different from the data carried in the data packet 2, but the feedback message and the data packet 2 may belong to the same QoS flow or the same session.

[0126] In the thirteenth aspect, the present application provides a congestion control method, which is applied to a first communication device, such as a base station. The method includes: the first communication device receives a data packet 2 from a UPF, the data packet 2 includes a downlink GTP-u header, and the downlink GTP-u header includes window information 1, and the window information 1 is used to request an adjustment of a transmission window of data; the first communication device sends a data packet 4 to the UPF, the data packet 4 includes an uplink GTP-u header, and the uplink GTP-u header includes window information 2, and the window information 2 is used to indicate a transmission window of data. Wherein, the window information 2 may be determined based on radio resources and the above window information 1.

[0127] The first communication device of the present application receives the data packet 2 from the UPF. The window information 1 is carried by the downlink GTP-u header of the data packet 2. Without the need for the first communication device (such as a base station) to perform deep packet inspection on the received data packet, the complexity of the first communication device (such as a base station) can be reduced, and the modification to the existing base station equipment can be minimized. In addition, the first communication device of the present application determines a transmission window size for the second communication device (data sender) by sensing the usage and / or remaining situation of the radio interface resources and combining the window information 1, and notifies the UPF, so that the UPF notifies the second communication device of the transmission window size indicated by the first communication device (i.e., window information 2). Thus, the size of the transmission window actually used by the second communication device can be more matched with the transmission capacity of the first communication device (such as a base station), and packet loss (or no packet loss) and data transmission delay in the network can be reduced, improving the reliability and throughput of data transmission, and further realizing low-latency and high-throughput data transmission.

[0128] In combination with the thirteenth aspect, in a possible implementation manner, after the first communication device receives the data packet 2 from the UPF, the method further includes: the first communication device sends a data packet 3 to the third communication device, and the data packet 3 contains the above window information 2. Exemplarily, the window information 2 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the data packet 3.

[0129] Exemplarily, the data (or payload) in the data packet 3 may be the same as the data (or payload) in the above data packet 2.

[0130] In combination with the thirteenth aspect, in a possible implementation manner, the above method further includes: the first communication device determines the window information 2 based on the above window information 1 and the radio interface resources. Alternatively, the first communication device determines the window information 2 based on the above window information 1, the radio interface resources, and the buffer resources of the first communication device. The specific implementation manner for the first communication device to determine the window information 2 can be referred to the description of the method embodiments below and will not be elaborated here.

[0131] Exemplarily, the radio interface resources include one or more of the following: the channel state / channel quality of the radio interface (e.g., the gain of the wireless channel, or the path loss, etc.), or the radio interface bandwidth situation (e.g., the allocation situation of the system bandwidth, or the remaining bandwidth resources in the first communication device, etc.). Exemplarily, the buffer resources of the first communication device include but are not limited to: the lengths of the respective buffer queues that share the radio interface resources (such as time-frequency resources) in the first communication device.

[0132] Exemplarily, the size of the transmission window indicated by the above window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above window information 1.

[0133] In combination with the thirteenth aspect, in a possible implementation, the data (or payload) in the above data packet 4 and the data (or payload) in the above data packet 2 belong to the same QoS flow or the same session. Alternatively, the data in the above data packet 4 is pseudo-data.

[0134] In combination with the thirteenth aspect, in a possible implementation, the above window information 1 may include one or more of the following: an increase intent value (II), the length of the buffer queue in the second communication device, or the link bandwidth capacity of the second communication device. It can be understood that the above window information 2 and the above window information 1 may be information of the same dimension.

[0135] In a fourteenth aspect, the present application provides a congestion control method, which includes: the UPF receives a data packet 1 from a second communication device, the data packet 1 contains window information 1, and the window information 1 is used to request an adjustment of the transmission window of data; the UPF sends a data packet 2 to a first communication device, the data packet 2 includes a downlink GTP-u header, the downlink GTP-u header includes the window information 1, and the data packet 2 is generated based on the data packet 1; the UPF receives a data packet 4 from the first communication device, the data packet 4 includes an uplink GTP-u header, the uplink GTP-u header includes window information 2, and the window information 2 is used to indicate the transmission window of data; the UPF sends a data packet 5 to the second communication device, and the data packet 5 contains the window information 2.

[0136] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0137] Exemplarily, the first communication device is a base station.

[0138] Exemplarily, the second communication device is an off-net computing node (such as an edge server / cloud server), and the third communication device is a terminal.

[0139] After the UPF of this application receives Data Packet 1 containing Window Information 1, it carries the Window Information 1 in the downlink GTP-u header and sends it to the first communication device. Without the first communication device performing deep packet inspection on the received data packet, the complexity of the first communication device (such as a base station) can be reduced, and the modification to the existing base station equipment can be minimized. In addition, the UPF of this application notifies the second communication device of the transmission window size (i.e., Window Information 2) indicated by the first communication device, so that the size of the transmission window actually used by the second communication device can better match the transmission capacity of the first communication device (such as a base station), and packet loss (or no packet loss) and data transmission delay in the network can be reduced, improving the reliability and throughput of data transmission, and thus achieving low-latency and high-throughput data transmission.

[0140] In combination with the fourteenth aspect, in a possible implementation manner, the above method further includes: The UPF generates Data Packet 2 based on the above Data Packet 1. Exemplarily, the UPF adds a downlink GTP-u header to the above Data Packet 1 to obtain Data Packet 2, and the window information 1 is carried in the downlink GTP-u header.

[0141] In combination with the fourteenth aspect, in a possible implementation manner, the size of the transmission window indicated by the above Window Information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above Window Information 1.

[0142] In combination with the fourteenth aspect, in a possible implementation manner, the above Data Packet 5 includes RDMA layer 3 or layer 4 feedback information, and the RDMA layer 3 or layer 4 feedback information includes the above Window Information 2.

[0143] Exemplarily, the above Data Packet 5 and the above Data Packet 1 belong to the same QoS flow or the same session.

[0144] Exemplarily, the above Data Packet 5 may not include data.

[0145] In combination with the fourteenth aspect, in a possible implementation manner, the UPF sends Data Packet 5 to the second communication device, including: The UPF sends Data Packet 5 to the second communication device through an application programming interface (API).

[0146] In combination with the fourteenth aspect, in a possible implementation manner, the data (or payload) in the above Data Packet 4 and the data (or payload) in the above Data Packet 2 or the above Data Packet 1 belong to the same QoS flow or the same session. Or, the data in the above Data Packet 4 is dummy data.

[0147] In combination with the fourteenth aspect, in a possible implementation, the above window information 1 may include one or more of the following: increase intent (II), the length of the buffer queue in the second communication device, or the link bandwidth capacity of the second communication device. It can be understood that the above window information 2 and the above window information 1 may be information of the same dimension.

[0148] In combination with the fourteenth aspect, in a possible implementation, the above window information 1 may be carried in the frame header of the data link layer of the above data packet 1, or the packet header of the network layer, or the message header of the transport layer.

[0149] In a fifteenth aspect, the present application provides a congestion control method, which includes: the second communication device sends a data packet 1 (to the UPF), the data packet 1 contains window information 1, and the window information 1 is used to request an adjustment of the transmission window of the data; the second communication device receives a data packet 5 from the UPF, the data packet 5 contains window information 2, and the window information 2 is used to indicate the transmission window of the data; the second communication device determines the transmission window of the data based on the window information 2 in the data packet 5. Among them, for the implementation manner of the second communication device determining the transmission window based on the window information 2, refer to the previous description and will not be elaborated here.

[0150] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0151] Exemplarily, the first communication device is a base station.

[0152] Exemplarily, the second communication device is an off-net computing node (such as an edge server / cloud server), and the third communication device is a terminal.

[0153] The second communication device of the present application actively requests an adjustment of the transmission window of the data according to its own cache situation and internal policies, and the UPF feedbacks congestion control information (i.e., window information 2) to the second communication device, which can not only reduce packet loss in the network and the delay of data transmission, but also provide the reliability of data transmission; it can also reduce the window information 2 from detouring through the air interface, so that congestion control (or the adjustment of the transmission window) can be more timely, and low delay and high throughput of data transmission can be achieved.

[0154] In combination with the fifteenth aspect, in a possible implementation, the size of the transmission window indicated by the above window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above window information 1.

[0155] In combination with the fifteenth aspect, in a possible implementation, the above data packet 5 includes layer 3 or layer 4 feedback information of RDMA, and the layer 3 or layer 4 feedback information of RDMA includes the above window information 2.

[0156] Exemplarily, the above data packet 5 and the above data packet 1 belong to the same QoS flow or the same session.

[0157] Exemplarily, the above data packet 5 may not include data.

[0158] In combination with the fifteenth aspect, in a possible implementation, the second communication device receives the data packet 5 from the UPF, including: the second communication device receives the data packet 5 from the UPF through the API.

[0159] In combination with the fifteenth aspect, in a possible implementation, the above window information 1 may include one or more of the following: increase intent value (II), the length of the buffer queue within the second communication device, or the link bandwidth capacity of the second communication device. It can be understood that the above window information 2 and the above window information 1 may be information of the same dimension.

[0160] In combination with the fifteenth aspect, in a possible implementation, the above window information 1 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the above data packet 1.

[0161] Sixteenth aspect, the present application provides a communication device, which may be the first communication device or a chip or functional module configured in the first communication device, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is used to receive the data packet 2 from the UPF. The data packet 2 includes a downlink GTP-u header, and the downlink GTP-u header includes window information 1, and the window information 1 is used to request adjustment of the data transmission window; the transceiver unit is further used to send the data packet 4 to the UPF. The data packet 4 includes an uplink GTP-u header, and the uplink GTP-u header includes window information 2, and the window information 2 is used to indicate the data transmission window.

[0162] In combination with the sixteenth aspect, in a possible implementation, the transceiver unit is further used to send the data packet 3 to the third communication device. The data packet 3 contains the above window information 2. Exemplarily, the window information 2 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the data packet 3.

[0163] Exemplarily, the data (or payload) in the data packet 3 may be the same as the data (or payload) in the above data packet 2.

[0164] In combination with the sixteenth aspect, in a possible implementation, a processing unit is configured to determine window information 2 based on the above window information 1 and radio access network resources. Alternatively, the processing unit is configured to determine window information 2 based on the above window information 1, radio access network resources, and the buffer resources of the first communication device.

[0165] Exemplarily, the radio access network resources include one or more of the following: the channel state / channel quality of the radio access network (e.g., the gain of a wireless channel, or path loss, etc.), or the radio access network bandwidth situation (e.g., the allocation of system bandwidth, or the remaining bandwidth resources in the first communication device, etc.). Exemplarily, the buffer resources of the first communication device include, but are not limited to: the lengths of the respective buffer queues in the first communication device that share radio access network resources (such as time-frequency resources).

[0166] Exemplarily, the size of the transmission window indicated by the above window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above window information 1.

[0167] In combination with the sixteenth aspect, in a possible implementation, the data (or payload) in the above data packet 4 and the data (or payload) in the above data packet 2 belong to the same QoS flow or the same session. Alternatively, the data in the above data packet 4 is dummy data.

[0168] In combination with the sixteenth aspect, in a possible implementation, the above window information 1 may include one or more of the following: an increase intent value (II), the length of the buffer queue in the second communication device, or the link bandwidth capacity of the second communication device. It can be understood that the above window information 2 and the above window information 1 may be information in the same dimension.

[0169] In a seventeenth aspect, the present application provides a communication device, which may be a UPF, or a chip or functional module configured in a UPF, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is configured to receive a data packet 1 from a second communication device, where the data packet 1 contains window information 1 for requesting adjustment of the transmission window of data; the transceiver unit is further configured to send a data packet 2 to a first communication device, where the data packet 2 includes a downlink GTP-u header, and the downlink GTP-u header includes the window information 1, and the data packet 2 is generated based on the data packet 1; the transceiver unit is further configured to receive a data packet 4 from the first communication device, where the data packet 4 includes an uplink GTP-u header, and the uplink GTP-u header includes window information 2 for indicating the transmission window of data; the transceiver unit is further configured to send a data packet 5 to the second communication device, where the data packet 5 contains the window information 2.

[0170] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0171] In combination with the seventeenth aspect, in a possible implementation, a processing unit is configured to generate a data packet 2 based on the above data packet 1. Exemplarily, the processing unit is specifically configured to add a downlink GTP-u header to the above data packet 1 to obtain the data packet 2, and the downlink GTP-u header carries the window information 1.

[0172] In combination with the seventeenth aspect, in a possible implementation, the size of the transmission window indicated by the above window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above window information 1.

[0173] In combination with the seventeenth aspect, in a possible implementation, the above data packet 5 includes layer 3 or layer 4 feedback information of RDMA, and the layer 3 or layer 4 feedback information of RDMA includes the above window information 2.

[0174] Exemplarily, the above data packet 5 and the above data packet 1 belong to the same QoS flow or the same session.

[0175] Exemplarily, the above data packet 5 may not include data.

[0176] In combination with the seventeenth aspect, in a possible implementation, the above transceiver unit is specifically configured to: The API sends the data packet 5 to the second communication device.

[0177] In combination with the seventeenth aspect, in a possible implementation, the data (or payload) in the above data packet 4 and the data (or payload) in the above data packet 2 or the above data packet 1 belong to the same QoS flow or the same session. Alternatively, the data in the above data packet 4 is pseudo data.

[0178] In combination with the seventeenth aspect, in a possible implementation, the above window information 1 may include one or more of the following: an increase intent value (II), the length of the buffer queue in the second communication device, or the link bandwidth capacity of the second communication device. It can be understood that the above window information 2 and the above window information 1 may be information of the same dimension.

[0179] In combination with the seventeenth aspect, in a possible implementation, the above window information 1 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the above data packet 1.

[0180] In an eighteenth aspect, the present application provides a communication device, which may be a second communication device or a chip or functional module configured in the second communication device, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is used to send a data packet 1, and the data packet 1 includes window information 1, and the window information 1 is used to request an adjustment of the data transmission window; the transceiver unit is further used to receive a data packet 5 from the UPF, and the data packet 5 includes window information 2, and the window information 2 is used to indicate the data transmission window; the processing unit is used to determine the data transmission window based on the window information 2 in the data packet 5.

[0181] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0182] In combination with the eighteenth aspect, in a possible implementation, the size of the transmission window indicated by the above window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above window information 1.

[0183] In combination with the eighteenth aspect, in a possible implementation, the above data packet 5 includes layer 3 or layer 4 feedback information of RDMA, and the layer 3 or layer 4 feedback information of RDMA includes the above window information 2.

[0184] Exemplarily, the above data packet 5 and the above data packet 1 belong to the same QoS flow or the same session.

[0185] Exemplarily, the above data packet 5 may not include data.

[0186] In combination with the eighteenth aspect, in a possible implementation, the above transceiver unit is specifically used to: receive the data packet 5 from the UPF through the API.

[0187] In a nineteenth aspect, the present application provides a congestion control method, which includes: the UPF receives data packet 1 from a second communication device, and the data packet 1 contains window information 1, which is used to request an adjustment of the data transmission window; the UPF sends data packet 2 to a first communication device, and the data packet 2 includes window information 2, which is used to indicate the data transmission window, and the window information 2 is determined based on the window information 1 and the buffer resources of the UPF; the UPF receives data packet 4 from the first communication device, and the data packet 4 includes an uplink GTP-u header, and the uplink GTP-u header includes window information 3; the UPF sends data packet 5 to the second communication device, and the data packet 5 contains the window information 3. Wherein, the window information 3 is used to indicate the data transmission window, and the size of the transmission window indicated by the window information 3 is less than or equal to the size of the transmission window indicated by the above window information 2.

[0188] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0189] Exemplarily, the first communication device is a base station.

[0190] Exemplarily, the second communication device is an off-net computing node (such as an edge server / cloud server), and the third communication device is a terminal.

[0191] After receiving the data packet containing the window information 1, the UPF of the present application can determine the window information 2 based on its own buffer resources and the window information 1, and then inform the first communication device (such as a base station) of the window information 2, so that the first communication device also participates in the adjustment of the transmission window. The UPF returns the finally determined window information 3 of the first communication device to the second communication device; it can make the size of the transmission window used by the second communication device better match the transmission capabilities of the intermediate network elements (such as the UPF and the first communication device), so as to reduce packet loss (or achieve no packet loss) and data transmission delay in the network, improve the reliability and throughput of data transmission, and thus achieve low-latency and high-throughput data transmission. In addition, since the intermediate network elements (UPF and base station) in the mobile network both participate in congestion control, the transmission capabilities of all bottleneck nodes (such as the UPF and the base station) are taken into account, thereby improving the quality of service of RDMA.

[0192] In combination with the nineteenth aspect, in a possible implementation manner, the above method further includes: the UPF determines window information 2 based on the above window information 1 and the buffer resources of the UPF, and the window information 2 is used to indicate the data transmission window. Wherein, the implementation manner of the UPF determining the window information 2 is referred to the description of the following embodiments and will not be elaborated here.

[0193] Exemplarily, the size of the transmission window indicated by the window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the window information 1.

[0194] In combination with the nineteenth aspect, in a possible implementation, the UPF sends a data packet 5 to the second communication device, including: the UPF sends a data packet 5 to the second communication device through the API.

[0195] The twentieth aspect provides a communication device. The communication device can be a UPF, a chip or a functional module configured in the UPF, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is configured to receive a data packet 1 from a second communication device. The data packet 1 contains window information 1, and the window information 1 is used to request adjustment of the data transmission window. The transceiver unit is further configured to send a data packet 2 to a first communication device. The data packet 2 includes window information 2, and the window information 2 is used to indicate the data transmission window. The window information 2 is determined based on the window information 1 and the buffer resources of the UPF. The transceiver unit is further configured to receive a data packet 4 from the first communication device. The data packet 4 includes an uplink GTP-u header, and the uplink GTP-u header includes window information 3. The transceiver unit is further configured to send a data packet 5 to the second communication device. The data packet 5 contains the window information 3. Wherein, the window information 3 is used to indicate the data transmission window, and the size of the transmission window indicated by the window information 3 is less than or equal to the size of the transmission window indicated by the above window information 2.

[0196] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0197] In combination with the twentieth aspect, in a possible implementation, the processing unit is configured to determine window information 2 based on the above window information 1 and the buffer resources of the UPF. The window information 2 is used to indicate the data transmission window.

[0198] Exemplarily, the size of the transmission window indicated by the window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the window information 1.

[0199] In combination with the twentieth aspect, in a possible implementation, the above transceiver unit is specifically configured to: send a data packet 5 to the second communication device through the API.

[0200] In combination with the nineteenth aspect or the twentieth aspect, in a possible implementation, the above data packet 5 includes RDMA layer 3 or layer 4 feedback information, and the RDMA layer 3 or layer 4 feedback information includes the above window information 3.

[0201] Exemplarily, the above data packet 5 and the above data packet 1 belong to the same QoS flow or the same session.

[0202] Exemplarily, the above data packet 5 may not include data.

[0203] Combined with the nineteenth aspect or the twentieth aspect, in a possible implementation, the data (or payload) in the above data packet 4 and the data (or payload) in the above data packet 2 or the above data packet 1 belong to the same QoS flow or the same session. Alternatively, the data in the above data packet 4 is pseudo data.

[0204] Combined with the nineteenth aspect or the twentieth aspect, in a possible implementation, the above window information 1 may include one or more of the following: an increase intent value (II), the length of the buffer queue in the second communication device, or the link bandwidth capacity of the second communication device. It can be understood that the above window information 2 and the above window information 1 may be information of the same dimension.

[0205] Combined with the nineteenth aspect or the twentieth aspect, in a possible implementation, the above window information 1 may be carried in the frame header of the data link layer of the above data packet 1, or the packet header of the network layer, or the message header of the transport layer.

[0206] Combined with the nineteenth aspect or the twentieth aspect, in a possible implementation, the above window information 2 may be carried in the frame header of the data link layer of the above data packet 2, or the packet header of the network layer, or the message header of the transport layer.

[0207] In a twenty - first aspect, the present application provides a congestion control method, which is applied to a first communication device, such as a base station. The method includes: the first communication device receives a data packet 2 from the UPF, the data packet 2 includes window information 2, and the window information 2 is used to indicate the transmission window of data; the first communication device sends a data packet 4 to the UPF, the data packet 4 includes an uplink GTP - u header, and the uplink GTP - u header includes window information 3, and the window information 3 is used to indicate the transmission window of data. Wherein, the window information 3 can be determined based on the radio resources and the above window information 2. The size of the transmission window indicated by the window information 3 is less than or equal to the size of the transmission window indicated by the above window information 2. It can be understood that the window information 3 and the window information 2 are information of the same dimension.

[0208] After the first communication device of the present application receives a data packet containing window information 2, it determines window information 3 based on the sensed air interface resources and the window information 2, and returns the window information 3 to the UPF, so that the UPF can notify the second communication device of the window information 3. As a result, the size of the transmission window actually used by the second communication device can better match the transmission capabilities of the intermediate network elements (such as the UPF and the first communication device), thereby reducing packet loss (or achieving no packet loss) and data transmission delay in the network, improving the reliability and throughput of data transmission, and thus achieving low-latency and high-throughput data transmission. In addition, the first communication device of the present application notifies the UPF of "window information 3 (or congestion control information)" through the GTP-u header, which can reduce the detour of window information 3 (or congestion control information) in the air interface, so that congestion control (or adjustment of the transmission window) can be more timely and the adjustment of the data transmission rate can be achieved faster.

[0209] In combination with the twenty-first aspect, in a possible implementation manner, the above method further includes: the first communication device determines window information 3 based on the above window information 2 and air interface resources, and the window information 3 is used to indicate the transmission window of the data. Alternatively, the first communication device determines window information 3 based on the above window information 2, air interface resources, and the buffer resources of the first communication device, and the window information 3 is used to indicate the transmission window of the data. Among them, the implementation manner of the first communication device to determine window information 3 can be seen in the description of the following embodiments and will not be elaborated here. For the specific description of the air interface resources and / or the buffer resources of the first communication device, etc., please refer to the previous description and will not be repeated here.

[0210] In combination with the twenty-first aspect, in a possible implementation manner, after the first communication device receives data packet 2 from the UPF, the method further includes: the first communication device sends data packet 3 to the third communication device, and the data packet 3 contains the above window information 2. Exemplarily, the window information 2 can be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the data packet 3.

[0211] Exemplarily, the data (or payload) in the data packet 3 can be the same as the data (or payload) in the data packet 2.

[0212] In a twenty-second aspect, the present application provides a communication device, which may be a first communication device or a chip or functional module configured in the first communication device, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is configured to receive a data packet 2 from a UPF, where the data packet 2 includes window information 2 for indicating a transmission window of data. The transceiver unit is further configured to send a data packet 4 to the UPF, where the data packet 4 includes an uplink GTP-u header, and the uplink GTP-u header includes window information 3 for indicating a transmission window of data. Wherein, the window information 3 may be determined based on radio resources and the above-mentioned window information 2. The size of the transmission window indicated by the window information 3 is less than or equal to the size of the transmission window indicated by the above-mentioned window information 2.

[0213] In combination with the twenty-second aspect, in a possible implementation, the processing unit is configured to determine the window information 3 based on the above-mentioned window information 2 and radio resources, where the window information 3 is used to indicate a transmission window of data. The processing unit is configured to determine the window information 3 based on the above-mentioned window information 2, radio resources, and the buffer resources of the first communication device, where the window information 3 is used to indicate a transmission window of data.

[0214] In combination with the twenty-second aspect, in a possible implementation, the transceiver unit is further configured to send a data packet 3 to a third communication device, where the data packet 3 contains the above-mentioned window information 2. Exemplarily, the window information 2 may be carried in a frame header of the data link layer, or a packet header of the network layer, or a message header of the transport layer of the data packet 3.

[0215] Exemplarily, the data (or payload) in the data packet 3 may be the same as the data (or payload) in the above-mentioned data packet 2.

[0216] In combination with the twenty-first aspect or the twenty-second aspect, in a possible implementation, the data (or payload) in the above-mentioned data packet 4 and the data (or payload) in the above-mentioned data packet 2 belong to the same QoS flow or the same session. Alternatively, the data in the above-mentioned data packet 4 is dummy data.

[0217] In combination with the twenty-first aspect or the twenty-second aspect, in a possible implementation, the above-mentioned window information 2 may be carried in a frame header of the data link layer, or a packet header of the network layer, or a message header of the transport layer of the above-mentioned data packet 2.

[0218] In a twenty-third aspect, the present application provides a congestion control method, which includes: a second communication device sends a data packet 1 to a UPF, where the data packet 1 includes window information 1, and the window information 1 is used to request an adjustment of the data transmission window; the second communication device receives a data packet 5 from the UPF, where the data packet 5 includes window information 3, and the window information 3 is used to indicate the data transmission window; the second communication device determines the data transmission window based on the window information 3 in the data packet 5. The implementation manner for the second communication device to determine the data transmission window can be referred to the description of the following embodiments and will not be elaborated here.

[0219] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of a third communication device.

[0220] Exemplarily, the first communication device is a base station.

[0221] Exemplarily, the second communication device is an off-net computing node (such as an edge server / cloud server), and the third communication device is a terminal.

[0222] The second communication device of the present application actively requests an adjustment of the data transmission window according to its own cache situation and internal policies, and the UPF feeds back congestion control information (i.e., window information 3) to the second communication device. This can not only reduce packet loss and data transmission delay in the network and provide the reliability of data transmission, but also reduce the detour of the window information 3 through the air interface, so that congestion control (or the adjustment of the transmission window) can be more timely, realizing low latency and high throughput of data transmission.

[0223] In combination with the twenty-third aspect, in a possible implementation manner, the second communication device receiving the data packet 5 from the UPF includes: the second communication device receives the data packet 5 from the UPF through an API.

[0224] In a twenty-fourth aspect, the present application provides a communication device, which can be the second communication device or a chip or functional module configured in the second communication device, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is used to send a data packet 1, where the data packet 1 includes window information 1, and the window information 1 is used to request an adjustment of the data transmission window; the transceiver unit is further used to receive a data packet 5 from the UPF, where the data packet 5 includes window information 3, and the window information 3 is used to indicate the data transmission window; the processing unit is used to determine the data transmission window based on the window information 3 in the data packet 5.

[0225] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of a third communication device.

[0226] In combination with the twenty - fourth aspect, in a possible implementation, the transceiver unit is specifically configured to receive the data packet 5 from the UPF through the API.

[0227] In combination with the twenty - third aspect or the twenty - fourth aspect, in a possible implementation, the size of the transmission window indicated by the window information 3 is less than or equal to the size of the transmission window requested to be adjusted by the window information 1.

[0228] In combination with the twenty - third aspect or the twenty - fourth aspect, in a possible implementation, the above - mentioned data packet 5 includes layer 3 or layer 4 feedback information of RDMA, and the layer 3 or layer 4 feedback information of RDMA includes the above - mentioned window information 3.

[0229] Exemplarily, the above - mentioned data packet 5 and the above - mentioned data packet 1 belong to the same QoS flow or the same session.

[0230] Exemplarily, the above - mentioned data packet 5 may not include data.

[0231] In combination with the twenty - third aspect or the twenty - fourth aspect, in a possible implementation, the above - mentioned window information 1 may include one or more of the following: increase intent value (II), the length of the buffer queue in the second communication device, or the link bandwidth capacity of the second communication device. It can be understood that the above - mentioned window information 3 and the above - mentioned window information 1 may be information of the same dimension.

[0232] In combination with the twenty - third aspect or the twenty - fourth aspect, in a possible implementation, the above - mentioned window information 1 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the above - mentioned data packet 1.

[0233] The twenty - fifth aspect, the present application provides a congestion control method, which includes: the UPF receives the data packet 1 from the second communication device, the data packet 1 contains the window information 1, and the window information 1 is used to request an adjustment of the transmission window of the data; the UPF sends the data packet 2 to the first communication device, the data packet 2 includes the window information 2, and the window information 2 is used to indicate the transmission window of the data, and the window information 2 is determined based on the window information 1 and the cache resources of the UPF.

[0234] Exemplarily, the source address of the above - mentioned data packet 1 is the address of the second communication device, and the destination address of the above - mentioned data packet 1 is the address of the third communication device.

[0235] Exemplarily, the first communication device is a base station.

[0236] Exemplarily, the second communication device is an off - network computing node (such as an edge server / cloud server), and the third communication device is a terminal.

[0237] After the UPF of this application receives a data packet containing window information 1, it can determine window information 2 based on its own cache resources and the window information 1, and then inform the first communication device (such as a base station) of the window information 2, so that the first communication device can also participate in the adjustment of the sending window, which can make the size of the sending window better match the transmission capabilities of the intermediate network elements (such as UPF and the first communication device), thereby reducing packet loss (or achieving no packet loss) and data transmission delay in the network, improving the reliability and throughput of data transmission, and thus realizing low-latency and high-throughput data transmission. In addition, since the intermediate network elements (UPF and base station) in the mobile network both participate in congestion control, the transmission capabilities of all bottleneck nodes (such as UPF and base station) are taken into account, thereby improving the quality of service of RDMA.

[0238] Combined with the twenty-fifth aspect, in a possible implementation, the above method further includes: the UPF determines window information 2 based on the above window information 1 and the cache resources of the UPF, and the window information 2 is used to indicate the sending window of the data. The implementation manner for the UPF to determine the window information 2 can be seen in the description of the following embodiments and will not be elaborated here.

[0239] Exemplarily, the size of the sending window indicated by the window information 2 is less than or equal to the size of the sending window requested to be adjusted by the window information 1.

[0240] In the twenty-sixth aspect, this application provides a communication device, which can be a UPF or a chip or functional module configured in the UPF, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is used to receive a data packet 1 from a second communication device, and the data packet 1 contains window information 1, and the window information 1 is used to request an adjustment of the sending window of the data; the transceiver unit is further used to send a data packet 2 to the first communication device, and the data packet 2 includes window information 2, and the window information 2 is used to indicate the sending window of the data, and the window information 2 is determined based on the window information 1 and the cache resources of the UPF.

[0241] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0242] Combined with the twenty-sixth aspect, in a possible implementation, the processing unit is used to determine window information 2 based on the above window information 1 and the cache resources of the UPF, and the window information 2 is used to indicate the sending window of the data. Exemplarily, the size of the sending window indicated by the window information 2 is less than or equal to the size of the sending window requested to be adjusted by the window information 1.

[0243] In combination with the twenty-fifth aspect or the twenty-sixth aspect, in a possible implementation, the above window information 1 may include one or more of the following: an increase intent value (II), the length of the buffer queue in the second communication device, or the link bandwidth capacity of the second communication device. It can be understood that the above window information 2 and the above window information 1 may be information of the same dimension.

[0244] In combination with the twenty-fifth aspect or the twenty-sixth aspect, in a possible implementation, the above window information 1 may be carried in the frame header of the data link layer of the above data packet 1, or the packet header of the network layer, or the message header of the transport layer.

[0245] In combination with the twenty-fifth aspect or the twenty-sixth aspect, in a possible implementation, the above window information 2 may be carried in the frame header of the data link layer of the above data packet 2, or the packet header of the network layer, or the message header of the transport layer.

[0246] The twenty-seventh aspect provides a congestion control method applied to a first communication device, such as a base station. The method includes: the first communication device receives a data packet 2 from the UPF, the data packet 2 includes window information 2, and the window information 2 is used to indicate the transmission window of the data; the first communication device sends a data packet 3 to a third communication device, the data packet 3 includes window information 3, and the window information 3 is used to indicate the transmission window of the data, and the window information 3 can be determined based on the radio interface resources and the above window information 2. Wherein, the size of the transmission window indicated by the window information 3 is less than or equal to the size of the transmission window indicated by the above window information 2.

[0247] It can be understood that the window information 3 and the window information 2 are information of the same dimension.

[0248] After receiving the data packet containing the window information 2, the first communication device of the present application determines the window information 3 based on the perceived radio interface resources and the window information 2, and sends the window information 3 to the third communication device, so that the third communication device feeds back the window information 3 to the second communication device, which can not only reduce packet loss and data transmission delay in the network and provide data transmission reliability, but also maximize the reuse of the existing congestion control mechanism and adapt it to the mobile network, which is easy to implement and has high compatibility.

[0249] In combination with the twenty-seventh aspect, in a possible implementation, the above method further includes: the first communication device determines window information 3 based on the above window information 2 and radio access network resources, and the window information 3 is used to indicate the transmission window of data. Alternatively, the first communication device determines window information 3 based on the above window information 2, radio access network resources, and the buffer resources of the first communication device, and the window information 3 is used to indicate the transmission window of data. Wherein, for the implementation of the first communication device to determine window information 3, refer to the description of the following embodiments and will not be elaborated here. For the specific description of radio access network resources and / or the buffer resources of the first communication device, etc., refer to the previous description and will not be repeated here.

[0250] The twenty-eighth aspect provides a communication device. The communication device may be the first communication device or a chip or functional module configured in the first communication device, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is configured to receive a data packet 2 from the UPF, where the data packet 2 includes window information 2, and the window information 2 is used to indicate the transmission window of data; the transceiver unit is further configured to send a data packet 3 to a third communication device, where the data packet 3 contains window information 3, and the window information 3 is used to indicate the transmission window of data, and the window information 3 may be determined based on radio access network resources and the above window information 2. Wherein, the size of the transmission window indicated by the window information 3 is less than or equal to the size of the transmission window indicated by the window information 2.

[0251] It can be understood that the window information 3 and the window information 2 are information of the same dimension.

[0252] In combination with the twenty-eighth aspect, in a possible implementation, the processing unit is configured to determine window information 3 based on the above window information 2 and radio access network resources, and the window information 3 is used to indicate the transmission window of data. Alternatively, the processing unit is configured to determine window information 3 based on the above window information 2, radio access network resources, and the buffer resources of the first communication device, and the window information 3 is used to indicate the transmission window of data.

[0253] In combination with the twenty-seventh aspect or the twenty-eighth aspect, the data (or payload) in the above data packet 3 may be the same as the data (or payload) in the above data packet 2.

[0254] In combination with the twenty-seventh aspect or the twenty-eighth aspect, the above window information 2 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the above data packet 2.

[0255] In combination with the twenty-seventh aspect or the twenty-eighth aspect, the above window information 3 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the above data packet 3.

[0256] In the twenty-ninth aspect, the present application provides a congestion control method, which includes: a second communication device sends a data packet 1 (to the UPF), and the data packet 1 includes window information 1, which is used to request adjustment of the data transmission window; the second communication device receives a data packet 4 from a third communication device, and the data packet 4 includes window information 3, which is used to indicate the data transmission window; the second communication device determines the data transmission window based on the window information 3 in the data packet 4. Wherein, for the implementation manner of the second communication device to determine the data transmission window, refer to the description of the following embodiments and will not be elaborated here. It can be understood that the window information 3 and the window information 1 belong to information of the same dimension.

[0257] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0258] Exemplarily, the second communication device is an off-network computing node (such as an edge server / cloud server), and the third communication device is a terminal.

[0259] The second communication device of the present application adjusts the size of its own transmission window based on the received indication (i.e., window information 3). Since the window information 3 matches the transmission capabilities of the first communication device (such as a base station) and the UPF, that is, the size of the transmission window actually used by the second communication device matches the transmission capabilities of the first communication device (such as a base station) and the UPF, packet loss in the network can be reduced (or no packet loss can be achieved) and the data transmission delay can be reduced, improving the reliability and throughput of data transmission, and thus achieving low-latency and high-throughput data transmission.

[0260] In the thirtieth aspect, the present application provides a communication device, which may be the second communication device or a chip or functional module configured in the second communication device, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is used to send a data packet 1, and the data packet 1 includes window information 1, which is used to request adjustment of the data transmission window; the transceiver unit is also used to receive a data packet 4 from a third communication device, and the data packet 4 includes window information 3, which is used to indicate the data transmission window; the processing unit is used to determine the data transmission window based on the window information 3 in the data packet 4. It can be understood that the window information 3 and the window information 1 belong to information of the same dimension.

[0261] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0262] In combination with the twenty-ninth aspect or the thirtieth aspect, in a possible implementation, the size of the transmission window indicated by the window information 3 is less than or equal to the size of the transmission window whose adjustment is requested by the window information 1.

[0263] In combination with the twenty-ninth aspect or the thirtieth aspect, in a possible implementation, the above data packet 4 includes layer 3 or layer 4 feedback information of RDMA, and the layer 3 or layer 4 feedback information of RDMA includes the above window information 3.

[0264] In combination with the twenty-ninth aspect or the thirtieth aspect, in a possible implementation, the above data packet 4 and the above data packet 1 belong to the same QoS flow or the same session.

[0265] In combination with the twenty-ninth aspect or the thirtieth aspect, in a possible implementation, the above window information 1 may include one or more of the following: an increase intent value (II), the length of the buffer queue in the second communication device, or the link bandwidth capacity of the second communication device.

[0266] In combination with the twenty-ninth aspect or the thirtieth aspect, in a possible implementation, the above window information 1 may be carried in the frame header of the data link layer of the above data packet 1, or the packet header of the network layer, or the message header of the transport layer.

[0267] The thirty-first aspect provides a congestion control method, which is applied to a first communication device, such as a base station. The method includes: the first communication device receives a data packet 1 from a second communication device, the data packet 1 contains window information 1, and the window information 1 is used to request an adjustment of the transmission window of data; the first communication device sends a data packet 2 to the UPF, the data packet 2 contains window information 2, and the window information 2 is used to indicate the transmission window of data, and the window information 2 is determined based on the window information 1 and the radio resource.

[0268] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0269] Exemplarily, the second communication device is a terminal, and the third communication device is an off-network computing node (such as an edge server / cloud server).

[0270] After the first communication device of the present application receives a data packet containing window information 1, it can determine window information 2 based on its own cache resources and the window information 1, and then inform the UPF of the window information 2, so that the UPF can also participate in the adjustment of the sending window, which can make the size of the sending window better match the transmission capabilities of the intermediate network elements (such as the UPF and the first communication device), thereby reducing packet loss (or achieving no packet loss) and data transmission delay in the network, improving the reliability and throughput of data transmission, and thus realizing low-latency and high-throughput data transmission. In addition, since the intermediate network elements (UPF and base station) in the mobile network all participate in congestion control, the transmission capabilities of all bottleneck nodes (such as the UPF and the base station) are taken into account, thereby improving the quality of service of RDMA.

[0271] In combination with the thirty-first aspect, in a possible implementation manner, the above method further includes: the first communication device determines window information 2 based on the above window information 1 and radio air interface resources. Alternatively, the first communication device determines window information 2 based on the above window information 1, radio air interface resources, and the cache resources of the first communication device. Wherein, the implementation manner for the first communication device to determine window information 2 can be referred to the description of the following embodiments and will not be elaborated here. For the specific description of radio air interface resources and / or the cache resources of the first communication device, etc., please refer to the previous description and will not be repeated here.

[0272] Exemplarily, the size of the sending window indicated by the window information 2 is less than or equal to the size of the sending window requested to be adjusted by the window information 1.

[0273] In the thirty-second aspect, the present application provides a communication device, which can be the first communication device or a chip or functional module configured in the first communication device, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is used to receive data packet 1 from the second communication device, and the data packet 1 contains window information 1, and the window information 1 is used to request adjustment of the sending window of the data; the transceiver unit is further used to send data packet 2 to the UPF, and the data packet 2 contains window information 2, and the window information 2 is used to indicate the sending window of the data, and the window information 2 is determined based on the window information 1 and radio air interface resources.

[0274] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0275] In combination with the thirty-second aspect, in a possible implementation manner, the processing unit is used to determine window information 2 based on the above window information 1 and radio air interface resources. Alternatively, the processing unit is used to determine window information 2 based on the above window information 1, radio air interface resources, and the cache resources of the first communication device.

[0276] Exemplarily, the size of the sending window indicated by the window information 2 is less than or equal to the size of the sending window requested to be adjusted by the window information 1.

[0277] In combination with the thirty - first aspect or the thirty - second aspect, in a possible implementation, the above - mentioned window information 1 may include one or more of the following: an increase intent value (II), the length of the buffer queue in the second communication device, or the link bandwidth capacity of the second communication device. It can be understood that the above - mentioned window information 2 and the above - mentioned window information 1 may be information of the same dimension.

[0278] In combination with the thirty - first aspect or the thirty - second aspect, in a possible implementation, the above - mentioned window information 1 may be carried in the frame header of the data link layer of the data packet 1, or the packet header of the network layer, or the message header of the transport layer.

[0279] In combination with the thirty - first aspect or the thirty - second aspect, in a possible implementation, the above - mentioned window information 2 may be carried in the frame header of the data link layer of the data packet 2, or the packet header of the network layer, or the message header of the transport layer.

[0280] In a thirty - third aspect, the present application provides a congestion control method. The method includes: the UPF receives a data packet 2 from a first communication device. The data packet 2 contains window information 2, and the window information 2 is used to indicate the sending window of the data; the UPF sends a data packet 3 to a third communication device. The data packet 3 contains window information 3, and the window information 3 is used to indicate the sending window of the data. The window information 3 is determined based on the window information 2 and the cache resources of the UPF. Wherein, the size of the sending window indicated by the window information 3 is less than or equal to the size of the sending window indicated by the above - mentioned window information 2. It can be understood that the window information 3 and the window information 2 are information of the same dimension.

[0281] After receiving the data packet containing the window information 2, the UPF of the present application determines the window information 3 based on its own cache resources and the window information 2, and sends the window information 3 to the third communication device, so that the third communication device feeds back the window information 3 to the second communication device, which can not only reduce packet loss in the network and the delay of data transmission, but also improve the reliability of data transmission; it can also maximize the reuse of the existing congestion control mechanism and adapt it to the mobile network, which is easy to implement and has high compatibility.

[0282] In combination with the thirty-third aspect, in a possible implementation, the above method further includes: The UPF determines window information 3 based on the above window information 2 and the cache resources of the UPF. The implementation of the UPF determining window information 3 can be seen in the description of the following embodiments and will not be elaborated here.

[0283] The thirty-fourth aspect, the present application provides a communication device. The communication device can be a UPF or a chip or a functional module configured in the UPF, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is used to receive a data packet 2 from a first communication device. The data packet 2 includes window information 2, and the window information 2 is used to indicate the transmission window of the data. The transceiver unit is further used to send a data packet 3 to a third communication device. The data packet 3 includes window information 3, and the window information 3 is used to indicate the transmission window of the data. The window information 3 is determined based on the window information 2 and the cache resources of the UPF. Wherein, the size of the transmission window indicated by the window information 3 is less than or equal to the size of the transmission window indicated by the above window information 2. It can be understood that the window information 3 and the window information 2 are information of the same dimension.

[0284] In combination with the thirty-fourth aspect, in a possible implementation, the processing unit is used to determine window information 3 based on the above window information 2 and the cache resources of the UPF.

[0285] In combination with the thirty-third aspect or the thirty-fourth aspect, in a possible implementation, the above window information 2 can be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the above data packet 2.

[0286] In combination with the thirty-third aspect or the thirty-fourth aspect, in a possible implementation, the data (or payload) in the above data packet 3 can be the same as the data (or payload) in the above data packet 2.

[0287] In combination with the thirty-third aspect or the thirty-fourth aspect, in a possible implementation, the above window information 3 can be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the above data packet 3.

[0288] In a thirty-fifth aspect, the present application provides a congestion control method, which includes: a second communication device sends a data packet 1 (to a first communication device), the data packet 1 includes window information 1, and the window information 1 is used to request an adjustment of the data transmission window; the second communication device receives a data packet 4 from a third communication device, the data packet 4 includes window information 3, and the window information 3 is used to indicate the data transmission window; the second communication device determines the data transmission window based on the window information 3 in the data packet 4. Among them, for the implementation manner of the second communication device to determine the data transmission window, refer to the description of the following embodiments and will not be elaborated here. It can be understood that the window information 3 and the window information 1 belong to information of the same dimension.

[0289] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0290] Exemplarily, the second communication device is a terminal, and the third communication device is an off-network computing node (such as an edge server / cloud server).

[0291] The second communication device of the present application adjusts the size of its own transmission window based on the received indication (i.e., window information 3). Since the window information 3 matches the transmission capabilities of the first communication device (such as a base station) and the UPF, that is, the size of the transmission window actually used by the second communication device matches the transmission capabilities of the first communication device (such as a base station) and the UPF, packet loss in the network can be reduced (or packet loss can be avoided) and the data transmission delay can be reduced, improving the reliability and throughput of data transmission, and thus achieving low-latency and high-throughput data transmission.

[0292] In a thirty-sixth aspect, the present application provides a communication device, which may be the second communication device or a chip or functional module configured in the second communication device, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is used to send a data packet 1, the data packet 1 includes window information 1, and the window information 1 is used to request an adjustment of the data transmission window; the transceiver unit is further used to receive a data packet 4 from a third communication device, the data packet 4 includes window information 3, and the window information 3 is used to indicate the data transmission window; the processing unit is used to determine the data transmission window based on the window information 3 in the data packet 4.

[0293] Combined with the thirty-fifth aspect or the thirty-sixth aspect, in a possible implementation manner, the size of the transmission window indicated by the window information 3 is less than or equal to the size of the transmission window requested to be adjusted by the window information 1.

[0294] In combination with the 35th aspect or the 36th aspect, in a possible implementation, the above data packet 4 includes layer 3 or layer 4 feedback information of RDMA, and the layer 3 or layer 4 feedback information of RDMA includes the above window information 3.

[0295] In combination with the 35th aspect or the 36th aspect, in a possible implementation, the above data packet 4 and the above data packet 1 belong to the same QoS flow or the same session.

[0296] In combination with the 35th aspect or the 36th aspect, in a possible implementation, the above window information 1 may include one or more of the following: increase intent value (II), the length of the buffer queue in the second communication device, or the link bandwidth capacity of the second communication device.

[0297] In combination with the 35th aspect or the 36th aspect, in a possible implementation, the above window information 1 may be carried in the frame header of the data link layer of the above data packet 1, or the packet header of the network layer, or the message header of the transport layer.

[0298] The 37th aspect provides a congestion control method applied to a first communication device, such as a base station. The method includes: the first communication device receives a data packet 1 from a second communication device, the data packet 1 contains window information 1, and the window information 1 is used to request an adjustment of the data transmission window; the first communication device sends a data packet 2 to the UPF, the data packet 2 contains window information 2, and the window information 2 is used to indicate the data transmission window, and the window information 2 is determined based on the window information 1 and the radio resource; the first communication device receives a data packet 4 from the UPF, the data packet 4 includes a downlink GTP-u header, and the downlink GTP-u header includes window information 3; the first communication device sends a data packet 5 to the second communication device, and the data packet 5 contains the window information 3. Wherein, the window information 3 is used to indicate the data transmission window, and the size of the transmission window indicated by the window information 3 is less than or equal to the size of the transmission window indicated by the above window information 2.

[0299] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0300] Exemplarily, the first communication device is a base station.

[0301] Exemplarily, the second communication device is a terminal, and the third communication device is an off-net computing node (such as an edge server / cloud server).

[0302] After the first communication device of the present application receives a data packet containing window information 1, it can determine window information 2 based on the sensed air interface resources and the window information 1, and then inform the UPF of the window information 2 so that the UPF also participates in the adjustment of the sending window. The first communication device also returns the window information 3 finally determined by the UPF to the second communication device; this can make the size of the sending window used by the second communication device better match the transmission capabilities of the intermediate network elements (such as the UPF and the first communication device), thereby reducing packet loss (or achieving no packet loss) and data transmission delay in the network, improving the reliability and throughput of data transmission, and thus achieving low-latency and high-throughput data transmission. In addition, since the intermediate network elements (UPF and base station) in the mobile network both participate in congestion control, the transmission capabilities of all bottleneck nodes (such as the UPF and the base station) are taken into account, thereby improving the quality of service of RDMA.

[0303] Combined with the thirty-seventh aspect, in a possible implementation manner, the above method further includes: the first communication device determines window information 2 based on the above window information 1 and air interface resources. Or, the first communication device determines window information 2 based on the above window information 1, air interface resources, and the cache resources of the first communication device. The implementation manner of the first communication device to determine window information 2 can be seen in the description of the following embodiments and will not be elaborated here. The specific descriptions of the air interface resources and / or the cache resources of the first communication device, etc. can be seen in the previous description and will not be repeated here.

[0304] Exemplarily, the size of the sending window indicated by the window information 2 is less than or equal to the size of the sending window requested to be adjusted by the window information 1.

[0305] In the thirty-eighth aspect, the present application provides a communication device, which may be the first communication device or a chip or functional module configured in the first communication device, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is used to receive data packet 1 from the second communication device. The data packet 1 contains window information 1, and the window information 1 is used to request an adjustment of the sending window of the data. The transceiver unit is also used to send data packet 2 to the UPF. The data packet 2 contains window information 2, and the window information 2 is used to indicate the sending window of the data. The window information 2 is determined based on the window information 1 and air interface resources. The transceiver unit is also used to receive data packet 4 from the UPF. The data packet 4 includes a downlink GTP-u header, and the downlink GTP-u header includes window information 3. The transceiver unit is also used to send data packet 5 to the second communication device. The data packet 5 contains the window information 3. Wherein, the window information 3 is used to indicate the sending window of the data, and the size of the sending window indicated by the window information 3 is less than or equal to the size of the sending window indicated by the above window information 2.

[0306] In combination with the thirty-eighth aspect, in a possible implementation, the processing unit is configured to determine window information 2 based on the above window information 1 and the radio air interface resources. Alternatively, the processing unit is configured to determine window information 2 based on the above window information 1, the radio air interface resources, and the buffer resources of the first communication device.

[0307] Exemplarily, the size of the transmission window indicated by the window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the window information 1.

[0308] In combination with the thirty-seventh aspect or the thirty-eighth aspect, in a possible implementation, the above data packet 5 includes a UuL2 header or an L2 control PDU, and the UuL2 header or the L2 control PDU includes the above window information 3.

[0309] In combination with the thirty-seventh aspect or the thirty-eighth aspect, in a possible implementation, the data (or payload) in the above data packet 4 and the data (or payload) in the above data packet 2 or the above data packet 1 belong to the same QoS flow or the same session. Alternatively, the data in the above data packet 4 is dummy data.

[0310] In combination with the thirty-seventh aspect or the thirty-eighth aspect, in a possible implementation, the above window information 1 may include one or more of the following: an increase intent value (II), the length of the buffer queue in the second communication device, or the link bandwidth capacity of the second communication device. It can be understood that the above window information 2 and the above window information 1 may be information of the same dimension.

[0311] In combination with the thirty-seventh aspect or the thirty-eighth aspect, in a possible implementation, the above window information 1 may be carried in the frame header of the data link layer, the packet header of the network layer, or the message header of the transport layer of the above data packet 1.

[0312] In combination with the thirty-seventh aspect or the thirty-eighth aspect, in a possible implementation, the above window information 2 may be carried in the frame header of the data link layer, the packet header of the network layer, or the message header of the transport layer of the above data packet 2.

[0313] In a thirty-ninth aspect, the present application provides a congestion control method, which includes: the UPF receives a data packet 2 from a first communication device, the data packet 2 includes window information 2, and the window information 2 is used to indicate the transmission window of the data; the UPF sends a data packet 4 to the first communication device, the data packet 4 includes a downlink GTP-u header, and the downlink GTP-u header includes window information 3, and the window information 3 is used to indicate the transmission window of the data. Wherein, the window information 3 can be determined based on the cache resources of the UPF and the above window information 2. The size of the transmission window indicated by the window information 3 is less than or equal to the size of the transmission window indicated by the above window information 2. It can be understood that the window information 3 and the window information 2 are information of the same dimension.

[0314] After receiving the data packet containing the window information 2, the UPF of the present application determines the window information 3 based on its own cache resources and the window information 2, and returns the window information 3 to the first communication device, so that the first communication device can notify the second communication device of the window information 3, so that the size of the transmission window actually used by the second communication device can better match the transmission capabilities of the intermediate network elements (such as the UPF and the first communication device), thereby reducing packet loss (or achieving no packet loss) and data transmission delay in the network, improving the reliability and throughput of data transmission, and thus realizing low-latency and high-throughput data transmission. In addition, the UPF of the present application notifies the first communication device of "window information 3 (or congestion control information)" through the GTP-u header, which can reduce the detour of the window information 3 (or congestion control information) in the air interface, so that congestion control (or adjustment of the transmission window) can be more timely and the adjustment of the data transmission rate can be achieved faster.

[0315] In combination with the thirty-ninth aspect, in a possible implementation manner, the above method further includes: the UPF determines the window information 3 based on the above window information 2 and its own cache resources.

[0316] In combination with the thirty-ninth aspect, in a possible implementation manner, after the UPF receives the data packet 2 from the first communication device, the method further includes: the UPF sends a data packet 3 to a third communication device, and the data packet 3 contains the above window information 2. Exemplarily, the window information 2 can be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the data packet 3.

[0317] Exemplarily, the data (or payload) in the data packet 3 can be the same as the data (or payload) in the above data packet 2.

[0318] In a fortieth aspect, the present application provides a communication device, which may be a UPF, or a chip or functional module configured in the UPF, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is configured to receive a data packet 2 from a first communication device. The data packet 2 includes window information 2, and the window information 2 is used to indicate a transmission window for data. The transceiver unit is further configured to send a data packet 4 to the first communication device. The data packet 4 includes a downlink GTP-u header, and the downlink GTP-u header includes window information 3, and the window information 3 is used to indicate a transmission window for data. Wherein, the window information 3 may be determined based on the buffer resources of the UPF and the above-mentioned window information 2. The size of the transmission window indicated by the window information 3 is less than or equal to the size of the transmission window indicated by the above-mentioned window information 2. It can be understood that the window information 3 and the window information 2 are information in the same dimension.

[0319] In combination with the fortieth aspect, in a possible implementation, the processing unit is configured to determine the window information 3 based on the above-mentioned window information 2 and its own buffer resources.

[0320] In combination with the fortieth aspect, in a possible implementation, the transceiver unit is further configured to send a data packet 3 to a third communication device, and the data packet 3 contains the above-mentioned window information 2. Exemplarily, the window information 2 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the data packet 3.

[0321] Exemplarily, the data (or payload) in the data packet 3 may be the same as the data (or payload) in the above-mentioned data packet 2.

[0322] In combination with the thirty-ninth aspect or the fortieth aspect, in a possible implementation, the data (or payload) in the above-mentioned data packet 4 and the data (or payload) in the above-mentioned data packet 2 belong to the same QoS flow or the same session. Alternatively, the data in the above-mentioned data packet 4 is dummy data.

[0323] In combination with the thirty-ninth aspect or the fortieth aspect, in a possible implementation, the above-mentioned window information 2 may be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the above-mentioned data packet 2.

[0324] In a forty-first aspect, the present application provides a congestion control method, which includes: a second communication device sends a data packet 1 to a first communication device, the data packet 1 includes window information 1, and the window information 1 is used to request an adjustment of the data transmission window; the second communication device receives a data packet 5 from the first communication device, the data packet 5 includes window information 3, and the window information 3 is used to indicate the data transmission window; the second communication device determines the data transmission window based on the window information 3 in the data packet 5. Wherein, for the implementation manner of how the second communication device determines the data transmission window, refer to the description of the following embodiments and will not be elaborated here.

[0325] Exemplarily, the source address of the above data packet 1 is the address of the second communication device, and the destination address of the above data packet 1 is the address of the third communication device.

[0326] The second communication device of the present application actively requests an adjustment of the data transmission window according to its own buffer situation and internal policy, and the first communication device feeds back congestion control information (i.e., window information 3) to the second communication device. This can not only reduce packet loss in the network and the delay of data transmission, but also improve the reliability of data transmission; it can also reduce the detour of the window information 3 through the air interface, so that congestion control (or the adjustment of the transmission window) can be more timely, realizing low delay and high throughput of data transmission.

[0327] In a forty-second aspect, the present application provides a communication device, which may be the second communication device or a chip or functional module configured in the second communication device, etc. The communication device includes a processing unit and a transceiver unit. The transceiver unit is used to send a data packet 1, the data packet 1 includes window information 1, and the window information 1 is used to request an adjustment of the data transmission window; the transceiver unit is further used to receive a data packet 5 from the first communication device, the data packet 5 includes window information 3, and the window information 3 is used to indicate the data transmission window; the processing unit is used to determine the data transmission window based on the window information 3 in the data packet 5.

[0328] In combination with the forty-first aspect or the forty-second aspect, in a possible implementation manner, the size of the transmission window indicated by the window information 3 is less than or equal to the size of the transmission window requested to be adjusted by the window information 1.

[0329] In combination with the forty-first aspect or the forty-second aspect, in a possible implementation manner, the above data packet 5 includes a UuL2 header or an L2 control PDU, and the UuL2 header or the L2 control PDU includes the above window information 3.

[0330] In combination with the forty-first aspect or the forty-second aspect, in a possible implementation, the above window information 1 may include one or more of the following: increase intent (II), the buffer queue length in the second communication device, or the link bandwidth capacity of the second communication device. It can be understood that the above window information 3 and the above window information 1 may be information of the same dimension.

[0331] In combination with the forty-first aspect or the forty-second aspect, in a possible implementation, the above window information 1 may be carried in the frame header of the data link layer of the above data packet 1, or the packet header of the network layer, or the message header of the transport layer.

[0332] The forty-third aspect provides a communication device, which may include a processor and an interface circuit, and the processor is connected to the interface circuit. Among them, the interface circuit is used to interact (or transmit and receive or input and output) information or data, and the processor is used to run program instructions so that the communication device executes the method described in the above first aspect, or the above second aspect, or the above third aspect, or the above seventh aspect, or the above eighth aspect, or the above ninth aspect, or the above thirteenth aspect, or the above fourteenth aspect, or the above fifteenth aspect, or the above nineteenth aspect, or the above twenty-first aspect, or the above twenty-third aspect, or the above twenty-fifth aspect, or the above twenty-seventh aspect, or the above twenty-ninth aspect, or the above thirty-first aspect, or the above thirty-third aspect, or the above thirty-fifth aspect, or the above twenty-seventh aspect, or the above thirty-ninth aspect, or the above forty-first aspect, or any possible implementation of any of the above aspects. Among them, the interface circuit may be a communication interface or a transceiver. The transceiver may be a radio frequency module in the communication device, or a combination of a radio frequency module and an antenna, or an input / output interface of a chip or a circuit.

[0333] The forty-fourth aspect provides a readable storage medium, on which program instructions are stored. When it runs on a computer, it causes the computer to execute the method described in the above first aspect, or the above second aspect, or the above third aspect, or the above seventh aspect, or the above eighth aspect, or the above ninth aspect, or the above thirteenth aspect, or the above fourteenth aspect, or the above fifteenth aspect, or the above nineteenth aspect, or the above twenty-first aspect, or the above twenty-third aspect, or the above twenty-fifth aspect, or the above twenty-seventh aspect, or the above twenty-ninth aspect, or the above thirty-first aspect, or the above thirty-third aspect, or the above thirty-fifth aspect, or the above twenty-seventh aspect, or the above thirty-ninth aspect, or the above forty-first aspect, or any possible implementation of any of the above aspects.

[0334] In a forty-fifth aspect, the present application provides a program product containing program instructions, which, when running, causes the method described in any possible implementation of the first aspect, or the second aspect, or the third aspect, or the seventh aspect, or the eighth aspect, or the ninth aspect, or the thirteenth aspect, or the fourteenth aspect, or the fifteenth aspect, or the nineteenth aspect, or the twenty-first aspect, or the twenty-third aspect, or the twenty-fifth aspect, or the twenty-seventh aspect, or the twenty-ninth aspect, or the thirty-first aspect, or the thirty-third aspect, or the thirty-fifth aspect, or the twenty-seventh aspect, or the thirty-ninth aspect, or the forty-first aspect, or any one of these aspects to be executed.

[0335] In a forty-sixth aspect, the present application provides a device, which can be implemented in the form of a chip or in the form of a device. The device includes a processor. The processor is configured to read and execute a program stored in a memory to execute one or more of the first aspect to the third aspect, or the seventh aspect to the ninth aspect, or the thirteenth aspect to the fifteenth aspect, or the nineteenth aspect, or the twenty-first aspect, or the twenty-third aspect, or the twenty-fifth aspect, or the twenty-seventh aspect, or the twenty-ninth aspect, or the thirty-first aspect, or the thirty-third aspect, or the thirty-fifth aspect, or the twenty-seventh aspect, or the thirty-ninth aspect, or the forty-first aspect, or one or more of any possible implementation of any one of these aspects, or a congestion control method provided in any possible implementation of any one of these aspects. Optionally, the device further includes a memory, which is connected to the processor through a circuit. Further optionally, the device further includes a communication interface, and the processor is connected to the communication interface. The communication interface is configured to receive information to be processed, the processor obtains the information from the communication interface, processes the information, and outputs a processing result through the communication interface. The communication interface may be an input / output interface.

[0336] In a possible implementation, the above-mentioned processor and memory may be physically independent units, or the memory may also be integrated with the processor.

[0337] In the forty-seventh aspect, the present application provides a communication system, which includes a first communication device, a second communication device, and a third communication device. Optionally, the communication system further includes a UPF. The first communication device is used to execute the method described in any possible implementation manner of the first aspect, the seventh aspect, the thirteenth aspect, the twenty-first aspect, the twenty-seventh aspect, the thirty-first aspect, the thirty-seventh aspect, or any one of the above aspects. The second communication device is used to execute the method described in any possible implementation manner of the second aspect, the eighth aspect, the fifteenth aspect, the twenty-third aspect, the twenty-ninth aspect, the thirty-fifth aspect, the forty-first aspect, or any one of the above aspects. The third communication device is used to execute the method described in any possible implementation manner of the third aspect, the ninth aspect, or any one of the above aspects. The UPF is used to execute the method described in any possible implementation manner of the fourteenth aspect, the nineteenth aspect, the twenty-fifth aspect, the thirty-third aspect, the thirty-ninth aspect, or any one of the above aspects.

[0338] The technical effects achieved by the above aspects can be referred to each other or to the beneficial effects in the method embodiments shown below, and will not be elaborated here. Description of the Drawings

[0339] Figure 1 is a schematic diagram of a distributed computing scenario provided by an embodiment of the present application;

[0340] Figure 2 is a schematic diagram of a high-precision congestion control method provided by an embodiment of the present application;

[0341] Figure 3 is a first flowchart of a congestion control method provided by an embodiment of the present application;

[0342] Figure 4 is a schematic diagram of a downlink data congestion control method for a UE and a NodeC provided by an embodiment of the present application;

[0343] Figure 5 is a schematic diagram of an uplink data congestion control method for a UE and a NodeC provided by an embodiment of the present application;

[0344] Figure 6 is a schematic diagram of a downlink data congestion control method for a UE and a server provided by an embodiment of the present application;

[0345] Figure 7 is a schematic diagram of an uplink data congestion control method for a UE and a server provided by an embodiment of the present application;

[0346] Figure 8It is the second process schematic diagram of the congestion control method provided by the embodiments of this application;

[0347] Figure 9 It is another schematic diagram of the downlink data congestion control method for the UE and NodeC provided by the embodiments of this application;

[0348] Figure 10 It is another schematic diagram of the uplink data congestion control method for the UE and NodeC provided by the embodiments of this application;

[0349] Figure 11 It is another schematic diagram of the uplink data congestion control method for the UE and the server provided by the embodiments of this application;

[0350] Figure 12 It is the third process schematic diagram of the congestion control method provided by the embodiments of this application;

[0351] Figure 13 It is another schematic diagram of the downlink data congestion control method for the UE and the server provided by the embodiments of this application;

[0352] Figure 14 It is the fourth process schematic diagram of the congestion control method provided by the embodiments of this application;

[0353] Figure 15 It is another schematic diagram of the downlink data congestion control method for the UE and the server provided by the embodiments of this application;

[0354] Figure 16 It is the fifth process schematic diagram of the congestion control method provided by the embodiments of this application;

[0355] Figure 17 It is yet another schematic diagram of the downlink data congestion control method for the UE and the server provided by the embodiments of this application;

[0356] Figure 18 It is the sixth process schematic diagram of the congestion control method provided by the embodiments of this application;

[0357] Figure 19 It is another schematic diagram of the uplink data congestion control method for the UE and the server provided by the embodiments of this application;

[0358] Figure 20 It is the seventh process schematic diagram of the congestion control method provided by the embodiments of this application;

[0359] Figure 21 It is yet another schematic diagram of the uplink data congestion control method for the UE and the server provided by the embodiments of this application;

[0360] Figure 22It is a schematic structural diagram of a communication device provided by an embodiment of the present application;

[0361] Figure 23 It is another schematic structural diagram of a communication device provided by an embodiment of the present application;

[0362] Figure 24 It is yet another schematic structural diagram of a communication device provided by an embodiment of the present application. Detailed implementation manners

[0363] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application.

[0364] In the description of the present application, unless otherwise specified, " / " means "or". For example, A / B may represent A or B. The "and / or" herein is merely a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B may represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, "at least one" means one or more, and "a plurality" means two or more. "One (or more) of the following items" or similar expressions refer to any combination of these items, including any combination of single items (or more) or plural items (or more). For example, at least one of a, b, or c may represent: a, b, c; a and b; a and c; b and c; or a, b, and c. Wherein a, b, and c may be single or multiple.

[0365] In the description of the present application, words such as "first" and "second" are only used to distinguish different objects, and do not limit the quantity and execution order, and the words "first" and "second" do not necessarily mean different. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device, etc. that includes a series of steps or units is not limited to the listed steps or units, but optionally further includes steps or units not listed, or optionally further includes other steps or units inherent to these processes, methods, products, or devices, etc.

[0366] In the present application, words such as "exemplary" or "for example" are used to represent examples, illustrations, or explanations. Any embodiment or design solution described as "exemplary", "for example", or "such as" in the present application should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of words such as "exemplary", "for example", or "such as" is intended to present relevant concepts in a specific manner.

[0367] It should be understood that in this application, "when", "if", and "in case" all refer to the situation where the device will perform corresponding processing under certain objective circumstances, rather than limiting time. It does not require the device to have a judgment action when implemented, nor does it mean there are other limitations.

[0368] In this application, elements represented in the singular are intended to mean "one or more", rather than "one and only one", unless otherwise specified.

[0369] It can be understood that in the embodiments of this application, expressions such as "B corresponding to A" indicate that there is a corresponding relationship between A and B, and B can be determined based on A. It should also be understood that determining B based on A does not mean determining B solely based on A, and B can also be determined based on A and / or other information.

[0370] In one possible implementation, the technical solution of this application can be applied to a distributed computing scenario that supports various wireless communication networks. Of course, the technical solution of this application can also be applied to any other data transmission scenario that supports a wireless communication network, and this application does not limit this. For ease of understanding, the following text of this application takes a distributed computing scenario that supports a wireless communication network as an example. The wireless communication network includes but is not limited to: Long Term Evolution (LTE) network, Worldwide Interoperability for Microwave Access (WiMAX) communication, 5th Generation (5G) mobile communication, such as New Radio Access Technology (NR), next-generation wireless local area network, a network integrating multiple systems, Internet of Things, Internet of Vehicles, Open Radio Access Network (O-RAN), or future communication networks, such as 6th Generation (6G) mobile communication, etc.

[0371] In the embodiments of this application, the term "wireless communication" can also be abbreviated as "communication", and the term "communication" can also be described as "data transmission", "information transmission", or "transmission".

[0372] It should be understood that the application scenarios described in the embodiments of this application are for more clearly explaining the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. Those of ordinary skill in the art know that as the application scenarios evolve, the technical solutions provided by the embodiments of this application are equally applicable to similar technical problems.

[0373] Exemplarily, refer to Figure 1 , Figure 1It is a schematic diagram of a distributed computing scenario provided by an embodiment of the present application. As Figure 1 shown, this distributed computing scenario can include two categories. For example: the scenario of distributed computing between a terminal and an in-network computing node (such as Figure 1 NodeC in Figure 1 ), and the scenario of distributed computing between a terminal and an out-of-network computing node (such as the edge server or cloud server in

[0374] ). It can be understood that the scenario of distributed computing between a terminal and an out-of-network computing node (such as an edge server or cloud server) can also be referred to as a distributed computing scenario of terminal-cloud collaboration. Among them, the scenario of distributed computing between a terminal and an in-network computing node can include but is not limited to: a terminal, a base station, and an in-network computing node. The scenario of distributed computing between a terminal and an out-of-network computing node can include but is not limited to: a terminal, a base station, a user plane function (UPF), and an out-of-network computing node. Exemplarily, for the scenario of distributed computing between a terminal and an in-network computing node (such as NodeC), the transmission path of data (including memory data or operation instructions for memory data, etc.) can include the terminal, the base station, and the in-network computing node. For the scenario of distributed computing between a terminal and an out-of-network computing node, the transmission path of data (including memory data or operation instructions for memory data, etc.) can include the terminal, the base station, the UPF, and the edge server / cloud server. Figure 1 The distributed computing scenario shown in Figure 1 can be: a scenario where the RDMA technology is applied for data transmission in the joint AI training or inference between a terminal and an in-network computing node / out-of-network computing node. It can be understood that

[0375] this is only a schematic diagram. In actual applications, this distributed computing scenario can also include other devices / network functions, which are not limited in this application.

[0376] The terminal in this application can be referred to as a user equipment (UE), a mobile station (MS), a mobile terminal (MT), etc. It can be a device with wireless transceiver functions. It can be deployed on land, including indoor or outdoor, handheld or vehicle-mounted. It can also be deployed on water (such as a ship, etc.). It can also be deployed in the air (such as an airplane, a balloon, a satellite, etc.). The terminal can be used to connect people, things, and machines. The terminal can be widely applied to various scenarios, such as cellular communication, device-to-device (D2D), vehicle-to-everything (V2X), peer to peer (P2P), machine to machine (M2M), machine type communication (MTC), Internet of Things (IoT), virtual reality (VR), augmented reality (AR), industrial control, autonomous driving, telemedicine, smart grid, smart furniture, smart office, smart wearables, smart transportation, smart city, smart home, drones, robots, remote sensing, passive sensing, positioning, navigation and tracking, autonomous delivery and mobility, etc. The terminal can be a user equipment (UE) compliant with the 3GPP standard, a fixed device, a mobile device, a handheld device, a wearable device, a cellular phone, a smart phone, a session initiation protocol (SIP) phone, a laptop computer, a personal computer, a smart book, a vehicle, a satellite, a global positioning system (GPS) device, a target tracking device, a drone, a helicopter, an aircraft, a ship, a remote control device, a smart home device, an industrial device. The terminal device can also be a communication device in a future wireless communication system.

[0377] In the embodiments of this application, the device for implementing the functions of the terminal can be the terminal; it can also be a device capable of supporting the terminal to implement these functions, such as a chip system, a communication module, a modem, etc. This device can be installed in the terminal. In the embodiments of this application, the chip system can be composed of chips, or can also include chips and other discrete devices. In the technical solutions provided in the embodiments of this application, taking the device for implementing the functions of the terminal as the terminal, and taking the terminal as a UE as an example, the technical solutions provided in the embodiments of this application are described. The embodiments of this application do not limit the specific technologies and specific device forms adopted by the terminal device.

[0378] The base station (BS) in this application can be an entity on the network side for transmitting or receiving signals. It can be a device deployed in the radio access network that can communicate wirelessly with terminals. The base station may have various forms, such as macro base stations, micro base stations, relay stations, and access points, etc. Exemplarily, the base station involved in the embodiments of this application can be a base station in 5G, a base station in the sixth-generation (6G) mobile communication system, an access network device or a module of an access network device in an open radio access network (O-RAN) system, a base station in a future mobile communication system or an access node in a WiFi system, or an evolved node B (eNB) in LTE, etc. Among them, the base station in 5G can also be called a transmission reception point (TRP) or a 5G base station (next-generation node B, gNB). The base station can also be replaced with the following names, such as: wireless access point, node B, transmitting point (TP), master station MeNB, secondary station SeNB, multi-standard radio (MSR) node, home base station, network controller, access node, wireless node, access point (AP), transmission node, transceiver node, baseband unit (BBU), remote radio unit (RRU), active antenna unit (AAU), remote radio head (RRH), centralized unit (CU), distributed unit (DU), positioning node, IAB donor, etc.

[0379] The base station in the embodiments of the present application may be an integrated base station, or may be a base station including a centralized unit (CU) and / or a distributed unit (DU). The base station including CU and DU may also be referred to as a base station with separated CU and DU, such as the base station including gNB-CU and gNB-DU. The base station in the embodiments of the present application may also be an Open Radio Access Network (O-RAN) architecture, etc. The embodiments of the present application do not limit the specific deployment manner of the base station. Exemplarily, when the base station is an O-RAN architecture, the base station shown in the embodiments of the present application may be an access network device in O-RAN, such as one or more combinations of CU, DU, or radio unit (RU), or a module in the access network device. In the ORAN system, CU may also be referred to as open (O)-CU, CU-CP may also be referred to as O-CU-CP, CU-UP may also be referred to as O-CU-UP, DU may also be referred to as O-DU, and RU may also be referred to as O-RU.

[0380] The user plane function (UPF) in the present application belongs to the network function of the core network and can be responsible for the data connection between the access network and the Internet. For example, the UPF can be responsible for processing user packets, such as forwarding, charging, etc.

[0381] In distributed AI computing supported by the network, real-time model or data interaction is required, while the performance of distributed AI computing based on TCP / IP communication is poor. It has been proposed that the RDMA technology can be applied to wireless networks (such as mobile networks) to solve the problem of poor performance of distributed AI computing based on TCP / IP communication. However, since the RDMA technology is extremely sensitive to packet loss, in order to reduce packet loss and transmission delay in the network, congestion control can be performed during data transmission.

[0382] In a possible implementation manner, high precision congestion control (HPCC) is a congestion control method applied to a data center network (DCN) and can support RDMA transmission. HPCC can perform congestion control through the load information provided by the switch, such as adjusting the transmission window of the data. It can be understood that the sending end of the data can adjust its own transmission window to control the rate of sending data and avoid network congestion or overload of the receiving end. It can also be understood that the sending end of the data usually adjusts the size of the transmission window of the transport layer (such as the TCP layer).

[0383] See Figure 2 ,Figure 2 It is a schematic diagram of the high-precision congestion control method provided by an embodiment of the present application. This high-precision congestion control (HPCC) method can be applied to distributed computing in a data center network (DCN). In this high-precision congestion control method, each data packet sent by the sender will be acknowledged by the receiver. As Figure 2 shown, during the process of a data packet being transmitted from the sender to the receiver, each switch on the transmission path inserts some metadata into the data packet. This metadata includes the current load of the egress port of the data packet, such as: timestamp, cache queue length, transmission bytes, and link bandwidth capacity. When the receiver receives the data packet, it can copy all the metadata inserted by the switches on the transmission path into the acknowledgement (ACK) message and return the ACK message to the sender. After receiving the ACK message, the sender can adjust the size of the transmission window based on the load information carried in the ACK message.

[0384] It can be understood that due to the congestion control scheme applied to the data center network (such as Figure 2 the HPCC shown), the data transmission paths are all wired connections, and wired connections have the characteristics of ultra-low latency and constant total link bandwidth. Therefore, HPCC can quickly and accurately adjust the transmission window, thereby achieving low-latency and high-throughput RDMA data transmission in the data center network. However, in a mobile network environment where terminals participate in distributed computing, the latency of the data transmission path is at least above 1 millisecond (ms), which is much greater than the transmission latency of 1 to 10 microseconds (μs) in the data center network. In addition, the wireless channel in the mobile network is unstable. For example, the air interface bandwidth of the mobile network is time-varying, and the bandwidth available for data transmission varies with the location of the terminal and / or different times, and the coverage range between the terminal and the UPF is large, with a transmission latency of several milliseconds or even dozens of milliseconds. Therefore, if HPCC is applied to the mobile network, the transmission window cannot be quickly and accurately adjusted, thus unable to achieve low-latency and high-throughput RDMA data transmission.

[0385] In view of this, an embodiment of the present application provides a congestion control method, device, and readable storage medium, which can be applied to the RDMA data transmission process based on a mobile network, can quickly and accurately adjust the size of the transmission window, reduce packet loss in the network (or achieve no packet loss) and the latency of data transmission, improve the reliability and throughput of data transmission, and thus achieve low-latency and high-throughput data transmission.

[0386] The "transmission delay" and "data transmission delay" in this application can be understood as the time it takes for data / information to travel from the sender to the receiver. It is mainly affected by three factors: transmission delay, queuing delay, and processing delay. Transmission delay generally refers to the delay that occurs during the transmission of data / information, including the time it takes for data / information to propagate in the transmission medium and the time for signal detection and conversion. Queuing delay generally refers to the delay that occurs between the sender and the receiver, that is, the time a data packet waits to be transmitted in the network. Processing delay generally refers to the processing time of data / information at the sender and the receiver.

[0387] The "transmission window" in this application can be understood as: the amount of data that the sender can continuously transmit. In TCP, the transmission window refers to the size of a buffer maintained by the sender, which can be used to store data packets that have been sent but not yet acknowledged. In other words, the transmission window can also be understood as the size of the buffer for the data transmission queue.

[0388] The technical solutions provided in this application will be described in detail below with reference to more drawings.

[0389] The technical solutions provided in this application can be described in detail through multiple embodiments. Specifically, refer to the descriptions of the following embodiments. It should be understood that the technical solutions described in the following embodiments of this application can be combined in any way to form new embodiments, and the parts with the same or similar concepts or solutions can be referred to or combined with each other. In this application, unless otherwise specified, the same or similar parts between various embodiments or implementation manners can be referred to each other. In various embodiments of this application, as well as in each implementation manner / implementation method / realization method in each embodiment, if there is no special description and logical conflict, the terms and / or descriptions between different embodiments, as well as between each implementation manner / implementation method / realization method in each embodiment, are consistent and can be referred to each other. The technical features in different embodiments, as well as in each implementation manner / implementation method / realization method in each embodiment, can be combined according to their internal logical relationships to form new embodiments, implementation manners, implementation methods, or realization methods. The implementation manners of this application described below do not constitute a limitation on the protection scope of this application. It can be understood that the order of the following embodiments does not represent the degree of importance.

[0390] It should be understood that in this application, indication includes direct indication (also known as explicit indication) and implicit indication. Among them, directly indicating information A means including this information A; implicitly indicating information A means indicating information A through the correspondence between information A and information B and directly indicating information B. Among them, the correspondence between information A and information B can be predefined, pre-stored, pre-burned, or pre-configured.

[0391] It should be understood that in this application, information D is determined based on information C, which includes both the case where information D is determined only based on information C and the case where it is determined based on information C and other information. In addition, information C is used to determine information D, which may also include indirect determination. For example, information D is determined based on information E, and information E is determined based on information C.

[0392] In addition, for "network element A sends information A to network element B" in each embodiment of this application, it can be understood that the destination end of this information A or the intermediate network element in the transmission path between the destination ends can be network element B, which may include directly or indirectly sending information to network element B. "Network element B receives information A from network element A" can be understood that the source end of this information A or the intermediate network element in the transmission path between the source ends can be network element A, which may include directly or indirectly receiving information from network element A. Necessary processing may be performed on the information between the source end and the destination end of the information transmission, such as format change, etc., but the destination end can be understood as the valid information from the source end. Similar expressions in this application can be understood similarly and will not be elaborated here.

[0393] The method provided in this application can be applied to data transmission scenarios that support wireless communication networks. For example, the method provided in this application can be applied to the Figure 1 distributed computing scenario shown above. The first communication device in this application can be a base station, and the second communication device can be the data sender, such as the Figure 1 terminal, edge server, cloud server, or NodeC shown above; the third communication device can be the data receiver, such as the Figure 1 NodeC, edge server, cloud server, or terminal shown above. For example, when the second communication device (data sender) is a terminal (such as a UE), the third communication device (data receiver) can be a NodeC, or an edge server, or a cloud server. When the second communication device (data sender) is a NodeC, the third communication device (data receiver) can be a terminal (such as a UE). When the second communication device (data sender) is an edge server / cloud server, the third communication device (data receiver) can be a terminal (such as a UE).

[0394] It can be understood that in 5G or future mobile networks (such as 6G), the base station and UPF (or devices similar to gateways) are nodes for realizing service flow aggregation, which are prone to congestion. Therefore, this application focuses on considering that network element nodes (such as base stations or UPFs in the core network) that may become bottlenecks in the link participate in congestion control, so as to provide low-latency and high-throughput communication services for data transmission in distributed computing.

[0395] See Figure 3 , Figure 3It is the first schematic flowchart of the congestion control method provided by the embodiments of the present application. In this method, the first communication device is a base station (such as a gNB), the second communication device is the data sender (Sender), and the third communication device is the data receiver (Receiver). Exemplarily, the second communication device is a terminal (such as a UE), and the third communication device is an in-network computing node (such as a NodeC); or, the second communication device is an in-network computing node (such as a NodeC), and the third communication device is a terminal (such as a UE). Another example is that the second communication device is a terminal (such as a UE), and the third communication device is an off-network computing node (such as an edge server / cloud server); or, the second communication device is an off-network computing node (such as an edge server / cloud server), and the third communication device is a terminal (such as a UE).

[0396] Such as Figure 3 As shown, the congestion control method includes but is not limited to the following steps:

[0397] S101. The second communication device (Sender) sends data packet 1, and the data packet 1 contains window information 1, which is used to request adjustment of the data transmission window. Among them, the source address of the data packet 1 is the address of the second communication device, and the destination address of the data packet 1 is the address of the third communication device.

[0398] In a possible implementation, the second communication device (Sender) can carry window information 1 through the data header along with the data stream, and the window information 1 can be used to request adjustment (such as increasing or decreasing) of the data transmission window (transmission window). Exemplarily, the second communication device (Sender) can carry window information 1 in data packet 1.

[0399] In the present application, unless otherwise specified, various processes for the "transmission window" can be understood as processes for the size of the transmission window, which will not be elaborated below. For example, adjusting (such as increasing or decreasing) the data transmission window can be understood as adjusting (such as increasing or decreasing) the size of the data transmission window. Another example is that indicating the data transmission window can be understood as indicating the size of the data transmission window. Another example is that determining the data transmission window can be understood as determining the size of the data transmission window.

[0400] In a possible implementation, the above window information 1 can be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the data packet 1. In other words, when encapsulating the data to be sent, the second communication device can carry the window information 1 in the frame header of the data link layer (L2), or the packet header of the network layer, or the message header of the transport layer, and then send the encapsulated data.

[0401] It can be understood that the data packets in this application can have different forms of representation at different protocol layers. For example: at the physical layer, the data packet can be a binary bit sequence (bit); at the data link layer, the data packet can be a data frame (frame); at the network layer, the data packet can be a data packet; at the transport layer, the data packet can be a data segment (segment); at the application layer, the data packet can be data. This application does not limit the form of representation of the data packet.

[0402] In a possible implementation, the second communication device (Sender) can determine the window information 1 according to the quality of service (QoS) flow to which the data to be sent belongs. Exemplarily, if the guaranteed flow bit rate (GFBR) corresponding to the QoS flow to which the data to be sent belongs is rising relative to the GFBR at the previous moment, the window information 1 can be used to request an increase in the data transmission window. The specific increased value can be determined by the internal policy of the second communication device, which is not limited in the embodiments of this application. Alternatively, the second communication device can determine the window information 1 according to information such as the total amount of data to be sent (these data belong to the same session) and the delay requirement for transmitting this data. Exemplarily, the ratio of the total amount of data to be sent to the delay is the desired transmission rate. If the current network transmission rate is less than the desired transmission rate, the window information 1 can be used to request an increase in the data transmission window. The specific increased value can be determined by the internal policy of the second communication device, which is not limited in the embodiments of this application.

[0403] In a possible implementation, the above window information 1 may include one or more of the following: increase intent (II), the buffer queue length in the second communication device (Sender), or the link bandwidth capacity of the second communication device (Sender). Based on this window information 1, the size of the transmission window requested by the second communication device (Sender) to be adjusted (or the desired transmission window size) can be determined. Among them, the increase intent value can represent the size of the transmission window that the second communication device (Sender) expects to increase. For example, if the size of the transmission window at the current moment is 2048 bytes and the increase intent value is also 2048 bytes, then the desired transmission window size of the second communication device (Sender) is 4096 (i.e., 2048 + 2048) bytes. The buffer queue length in the second communication device (Sender) can be the buffer queue length of all data to be transmitted belonging to the same QoS flow as the data packet 1, or the buffer queue length of all data to be transmitted in the second communication device. The embodiments of the present application do not make a limitation. For example, the longer the buffer queue length in the second communication device or the larger the link bandwidth capacity of the second communication device, the larger the transmission window desired by the second communication device can be; on the contrary, that is, the shorter the buffer queue length in the second communication device or the shorter the link bandwidth capacity of the second communication device, the smaller the transmission window desired by the second communication device can be. Exemplarily, the above window information 1 may also include one or more of the following: timestamp, or transmitted bytes. For example, the timestamp here can be the transmission timestamp of the above data packet 1, and the transmitted bytes can be the number of transmitted bytes of the above data packet 1.

[0404] It can be understood that the "moment" in this application does not specifically refer to a certain time point, and can also be understood as a time period, or a time cycle, etc., and can be specifically understood in combination with the context. For example, "the current moment" can be understood as: the current time point, the current time period, the current time cycle, etc.; "the previous moment" can be understood as: the previous time point, the previous time period, the previous time cycle, etc.; "the next moment" can be understood as: the next time point, the next time period, the next time cycle, etc.

[0405] In a possible implementation, the frequency at which the sender (such as the second communication device) sends the window information 1 along with the data stream can be determined by the sender (such as the second communication device) according to the round-trip time (RTT) of the communication between the sender and the receiver. Exemplarily, after the sender sends the window information 1 along with the data stream, it waits to receive a feedback packet from the receiver. After receiving the feedback packet or when the timer for waiting for the feedback packet times out, it then decides whether to initiate a new window information 1 again as needed / internal policy to request an adjustment of the data transmission window.

[0406] It can be understood that the "feedback message" in this application can be understood as a data message carrying feedback information, which will not be elaborated below.

[0407] In a possible implementation, in a distributed computing scenario, before two devices (such as a second communication device and a third communication device) perform data interaction (i.e., before step S101), a data channel can be established and it can be negotiated to use the RDMA mechanism to transmit data. Exemplarily, the second communication device is a terminal and the third communication device is a NodeC; or, the second communication device is a NodeC and the third communication device is a terminal. Then, before the terminal and the NodeC perform data interaction (i.e., before step S101), the terminal can initiate a computing offloading task and select a computing offloading node, such as the NodeC, with the assistance of the network. Then, a data channel between the terminal and the NodeC via the base station is established. The terminal and the NodeC can negotiate computing tasks and use the RDMA mechanism to transmit data. At the application level, the terminal and the NodeC can establish a conversion relationship of local memory and map the memory segments to the remote address space. Thereafter, the terminal and the NodeC can perform distributed computing, and the RDMA mechanism can be used to transmit data between the terminal and the NodeC. For example, the above step S101 can occur during the data transmission process between the terminal and the NodeC.

[0408] Again exemplarily, the second communication device is a terminal and the third communication device is an edge server / cloud server (which can be abbreviated as a server); or, the second communication device is an edge server / cloud server and the third communication device is a terminal. Then, before the terminal and the edge server / cloud server perform data interaction (i.e., before step S101), the terminal can initiate a computing offloading task and select a computing offloading node, such as a computing server like an edge server / cloud server, with the assistance of the network. Then, a data channel between the terminal and the edge server / cloud server via the base station and the UPF is established. The terminal and the edge server / cloud server can negotiate computing tasks and use the RDMA mechanism to transmit data. At the application level, the terminal and the edge server / cloud server can establish a conversion relationship of local memory and map the memory segments to the remote address space. Thereafter, the terminal and the edge server / cloud server can perform distributed computing, and the RDMA mechanism can be used to transmit data between the terminal and the edge server / cloud server. For example, the above step S101 can occur during the data transmission process between the terminal and the edge server / cloud server.

[0409] S102. The first communication device (such as a base station) receives the data message 1, and determines window information 2 based on the window information 1 and the radio interface resources in the data message 1. The window information 2 is used to indicate the transmission window of the data, and the size of the transmission window indicated by the window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the window information 1.

[0410] It can be understood that if the source address or destination address of the above data packet 1 is a computing node (NodeC) within the network, the transmission path of the data packet 1 passes through the first communication device (such as a base station). If the source address or destination address of the above data packet 1 is a computing node outside the network (such as an edge server / cloud server), the transmission path of the data packet 1 passes through the first communication device (such as a base station) and the UPF. Therefore, the first communication device can receive the above data packet 1.

[0411] In a possible implementation, after receiving the above data packet 1, the first communication device (such as a base station) can detect whether the data packet 1 contains the above window information 1. Exemplarily, the first communication device (such as a base station) can parse the header information of the data packet 1, or the first communication device (such as a base station) can perform deep packet inspection (DPI) on the data packet 1 to determine whether the data packet 1 contains the window information 1. When the first communication device (such as a base station) detects that the data packet 1 contains the above window information 1, the first communication device (such as a base station) can determine the window information 2 based on the air interface resources it senses and the window information 1. Among them, the window information 2 can be used to indicate the transmission window of the data. Exemplarily, the size of the transmission window indicated by the above window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above window information 1. In other words, the size of the transmission window determined / indicated by the first communication device (base station) is less than or equal to the size of the transmission window expected by the second communication device (Sender).

[0412] It can be understood that the window information 1 and the window information 2 can be information of the same dimension. For example: the window information 1 is an increase intention value, and the window information 2 is also a value; or, the window information 1 is the buffer queue length within the second communication device (Sender), and the window information 2 is also a buffer queue length; or, the window information 1 is the link bandwidth capacity of the second communication device (Sender), and the window information 2 is also a link bandwidth capacity. It can also be understood that the specific value of the window information 2 can be determined by the internal policy of the first communication device, and the embodiments of the present application do not make limitations.

[0413] In a possible implementation, the above-mentioned air interface resources may include one or more of the following: channel state / channel quality of the air interface (e.g., gain of a wireless channel, or path loss, etc.), or air interface bandwidth situation (e.g., allocation situation of system bandwidth, or remaining bandwidth resources in the first communication device, etc.). For example, if the air interface resources sensed by the first communication device can meet the size of the transmission window requested to be adjusted by the above-mentioned window information 1, such as: the currently sensed channel quality by the first communication device is good and there are more remaining bandwidth resources on the air interface, which can meet the transmission window adjustment (such as increasing) requirement of the second communication device (Sender). Then, the size of the transmission window indicated by the above-mentioned window information 2 may be equal to the size of the transmission window requested to be adjusted by the above-mentioned window information 1. On the contrary, if the air interface resources sensed by the first communication device cannot meet the size of the transmission window requested to be adjusted by the above-mentioned window information 1, such as: the channel quality sensed by the first communication device is poor or the remaining bandwidth resources on the air interface are small, which cannot meet the transmission window adjustment (such as increasing) requirement of the second communication device (Sender); then the size of the transmission window indicated by the above-mentioned window information 2 is less than the size of the transmission window requested to be adjusted by the above-mentioned window information 1.

[0414] In a possible implementation, the first communication device (such as a base station) may also determine window information 2 based on the above air interface resources, the above window information 1, and the buffer resources of the first communication device. Exemplarily, the first communication device may determine a transmission window size for the QoS flow or session to which the above data packet 1 belongs based on the above air interface resources and the buffer resources of the first communication device. If the transmission window size determined by the first communication device is greater than or equal to the transmission window size requested to be adjusted by the above window information 1, the first communication device may generate window information 2 according to the transmission window size requested to be adjusted by the window information 1, and the size of the transmission window indicated by the window information 2 is equal to the transmission window size requested to be adjusted by the window information 1. If the transmission window size determined by the first communication device is less than the transmission window size requested to be adjusted by the above window information 1, the first communication device may generate window information 2 according to the determined transmission window size, and the size of the transmission window indicated by the window information 2 is the transmission window size determined by the first communication device. Of course, the size of the transmission window indicated by the window information 2 is less than the transmission window size requested to be adjusted by the window information 1. Exemplarily, the buffer resources of the first communication device include, but are not limited to: the lengths of the respective buffer queues that share the air interface resources (such as time-frequency resources) within the first communication device. For example, if the air interface resources perceived by the first communication device and / or its own buffer resources can meet the size of the transmission window requested to be adjusted by the above window information 1, such as: the current channel quality perceived by the first communication device is good and there are more remaining bandwidth resources on the air interface, and / or the lengths of the respective buffer queues that share the air interface resources (such as time-frequency resources) within the first communication device are short, it indicates that the transmission capacity of the first communication device can meet the requirements of the second communication device. Then the size of the transmission window indicated by the above window information 2 may be equal to the transmission window size requested to be adjusted by the above window information 1. On the contrary, if the air interface resources perceived by the first communication device and / or its own buffer resources cannot meet the size of the transmission window requested to be adjusted by the above window information 1, such as: the channel quality perceived by the first communication device is poor or the remaining bandwidth resources on the air interface are small or the lengths of the respective buffer queues that share the air interface resources (such as time-frequency resources) within the first communication device are long, it indicates that the transmission capacity of the first communication device cannot meet the requirements of the second communication device (Sender). Then the size of the transmission window indicated by the above window information 2 is less than the transmission window size requested to be adjusted by the above window information 1.

[0415] S103, the first communication device (such as a base station) sends data packet 2 to the third communication device (Receiver), and the data packet 2 contains the window information 2. Among them, the window information 2 can be used to indicate the transmission window of the data, and the size of the transmission window indicated by the window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above window information 1.

[0416] Correspondingly, the third communication device (Receiver) receives the data packet 2.

[0417] In a possible implementation, after the first communication device (such as a base station) determines the above window information 2, it can send the data packet 2 to the third communication device (Receiver). Correspondingly, the third communication device (Receiver) receives the data packet 2. Among them, the data in the data packet 2 (which can also be referred to as the payload, not elaborated below) can be the same as the data (or payload) in the above data packet 1. Exemplarily, the data included in the data packet can be RDMA data. The window information 2 can be included in the header of the data packet 2. For example: the window information 2 can be carried in the frame header of the data link layer of the data packet 2, or the packet header of the network layer, or the message header of the transport layer. It can be understood that when the size of the transmission window indicated by the window information 2 determined by the first communication device (such as a base station) is equal to the size of the transmission window requested to be adjusted by the above window information 1, the first communication device can directly forward the above data packet 1 to the third communication device (Receiver) without processing the data packet 1. In other words, at this time, the data packet 2 can be the same as the above data packet 1, and the value of the window information 2 can be the same as the value of the window information 1.

[0418] It can also be understood that when the size of the transmission window indicated by the window information 2 determined by the first communication device (such as a base station) is less than the size of the transmission window requested to be adjusted by the above window information 1, the above data packet 2 can be obtained by replacing / updating the window information 1 in the above data packet 1 with the window information 2. In other words, when the size of the transmission window indicated by the above window information 2 is less than the size of the transmission window requested to be adjusted by the above window information 1, the first communication device can rewrite / replace / update the window information 1 in the above data packet 1 with the window information 2 to obtain the data packet 2.

[0419] S104, the third communication device (Receiver) sends data packet 3 to the second communication device (Sender), and the data packet 3 includes the window information 2. Correspondingly, the second communication device (Sender) receives the data packet 3.

[0420] In a possible implementation, after receiving the above data packet 2, the third communication device (Receiver) may send a data packet 3 to the second communication device (Sender), and the data packet 3 may include the above window information 2. Exemplarily, the data packet 3 may include layer 3 or layer 4 feedback information of RDMA, and the layer 3 or layer 4 feedback information of RDMA may carry the window information 2. It can be understood that the data packet 3 may be forwarded by the first communication device (such as a base station), and optionally also forwarded by the UPF, and finally reach the second communication device (Sender).

[0421] In a possible implementation, the above data packet 2 and data packet 3 may belong to the same QoS flow or the same session. The data in the data packet 3 may be different from the data in the data packet 2.

[0422] In the embodiment of the present application, by the receiving end (the third communication device) feeding back the window information 2 (or congestion control information) to the sending end (the second communication device), the congestion control mechanism of RDMA can be maximally utilized and adapted to the mobile network, which is easy to implement and has high compatibility.

[0423] S105. The second communication device (Sender) determines the transmission window of the data based on the window information 2 in the data packet 3.

[0424] In a possible implementation, after receiving the above data packet 3, the second communication device (Sender) may determine the size of the transmission window of the data based on the window information 2 carried in the data packet 3. For example, when the size of the transmission window indicated by the window information 2 is equal to the size of the transmission window requested to be adjusted by the window information 1, the second communication device (Sender) may adjust (such as increase) the transmission window for the next moment to its desired transmission window size (that is, the size of the transmission window requested to be adjusted by the window information 1, or the size of the transmission window indicated by the window information 2). When the size of the transmission window indicated by the window information 2 is smaller than the size of the transmission window requested to be adjusted by the window information 1, the second communication device (Sender) may adjust (possibly increase or decrease) the transmission window for the next moment to the size of the transmission window indicated by the window information 2. It can be understood that if the size of the transmission window indicated by the window information 2 is equal to the current transmission window size of the second communication device, the second communication device may confirm to use the current transmission window to send the data for the next moment, or in other words, does not adjust the size of the transmission window. In other words, after the sender (the second communication device) receives the feedback packet (i.e., the data packet 3) from the receiver (the third communication device), it does not necessarily change / adjust the transmission window of the data. Or rather, the sender requests to adjust the transmission window of the data, but in fact, it does not necessarily result in a change in the transmission window.

[0425] It can also be understood that if the transmission window size indicated by window information 2 is smaller than the current transmission window size of the second communication device, the second communication device (Sender) can reduce / narrow the transmission window for the next moment to the transmission window size indicated by window information 2. If the transmission window size indicated by window information 2 is larger than the current transmission window size of the second communication device, the second communication device (Sender) can increase the transmission window for the next moment to the transmission window size indicated by window information 2.

[0426] In a possible implementation, after step S105, the second communication device (Sender) can send data according to the determined size of the transmission window.

[0427] In the embodiment of the present application, the sending end (i.e., the second communication device) sends window information 1 along with the data stream to request adjustment of the data transmission window; after receiving the data packet containing window information 1, the first communication device (such as a base station) determines whether its own transmission capacity can meet the requirements of the sending end (i.e., the size of the transmission window requested to be adjusted by window information 1) by sensing the usage situation and / or remaining situation of the radio resource and / or the current buffer resource, which can make the size of the transmission window more matched with the transmission capacity of the first communication device (such as a base station), and can reduce packet loss (or achieve no packet loss) and data transmission delay in the network, improve the reliability and throughput of data transmission, and thus achieve low-latency and high-throughput data transmission.

[0428] For a better understanding of the method flow of the above Figure 3 shown embodiment, the following takes the data transmission process in a distributed computing scenario as an example for illustration.

[0429] For example, the second communication device is NodeC, the third communication device is UE, and the first communication device is gNB. Refer to Figure 4 , Figure 4 is a schematic diagram of a downlink data congestion control method for UE and NodeC provided by the embodiment of the present application. Among them, UE and NodeC use the RDMA mechanism to transmit data, NodeC is the data sender, and UE is the receiver. As Figure 4 shown, NodeC sends data packet 1, which contains window information 1 (for example, an increase intention value a, that is Figure 4The II value a) therein is used to request an adjustment (such as an increase) of the data transmission window. The data transmission path from NodeC to the UE is from NodeC via the gNB and finally to the UE. When the gNB detects that the data packet 1 sent from NodeC to the UE contains the window information 1 (such as the II value a), the gNB determines the window information 2 (such as the II value b, where the II value b is less than or equal to the II value a) based on the window information 1 and one or more of the following: the downlink radio interface status of the destination UE (such as the downlink channel quality), the remaining bandwidth resources of the downlink radio interface, or the lengths of each downlink buffer queue sharing the downlink radio interface resources (such as time-frequency resources) within the gNB. For the specific determination method, refer to the description above, which will not be elaborated here. This window information 2 can be used to indicate the data transmission window. The gNB generates the data packet 2 based on the data packet 1 and the window information 2 (such as the II value b) and sends the data packet 2 to the UE. The data packet 2 contains the window information 2 (such as the II value b, where the II value b is less than or equal to the II value a). For the generation method of the data packet 2, refer to the description above, which will not be elaborated here. After receiving the data packet 2, the UE carries the window information 2 (such as the II value b) in the L3 or L4 feedback information of RDMA and sends it to NodeC through a feedback packet (such as the data packet 3). NodeC adjusts the transmission window based on the UE's feedback, such as the window information 2 (such as the II value b). It can be understood that if the II value b is 0 (or in other words, the size of the transmission window indicated by the window information 2 is equal to the current transmission window size of NodeC), the size of the transmission window is not adjusted.

[0430] In a possible implementation, when determining the window information 2 (such as the II value b), the gNB may decide to reduce the transmission window, that is, the II value b is negative; or in other words, the size of the transmission window indicated by the window information 2 determined by the gNB is smaller than the current transmission window size of NodeC. At this time, the method of this embodiment of the present application (that is, the UE sends the window information 2 (such as the II value b) to NodeC through the L3 or L4 feedback information of RDMA) can still be used to indicate the reduction of the transmission window of the sender (such as NodeC). Of course, other methods can also be used, such as the explicit congestion notification (ECN) mechanism, to indicate the reduction of the transmission window of the sender (such as NodeC). The embodiment of the present application does not limit which specific method is used to implement the reduction control of the transmission window.

[0431] In the process of downlink data transmission between the UE and the NodeC in the embodiments of the present application, congestion control of RDMA data transmission is performed through the bottleneck node gNB, which can better sense the limited and highly fluctuating radio interface state, enabling the size of the sending window to better match the transmission capacity of the gNB, which is the communication bottleneck node. As a result, the size of the sending window can be adjusted quickly and accurately, achieving low-latency and high-throughput RDMA data transmission for distributed computing. In addition, the embodiments of the present application can adapt the RDMA protocol and the congestion control mechanism to the mobile communication network to the greatest extent, or rather, largely reuse the congestion control mechanism of RDMA and adapt it to the mobile communication network, which is easy to implement.

[0432] For example, the second communication device is the UE, the third communication device is the NodeC, and the first communication device is the gNB. Refer to Figure 5 , Figure 5 which is a schematic diagram of the uplink data congestion control method for the UE and the NodeC provided by the embodiments of the present application. Among them, the UE and the NodeC use the RDMA mechanism to transmit data. The UE acts as the data sender, and the NodeC acts as the receiver. As Figure 5 shown, the UE sends data packet 1, which contains window information 1 (such as the increment intention value a, that is, the II value a in Figure 5 ) for requesting an adjustment (such as an increase) of the data sending window. The data transmission path from the UE to the NodeC is from the UE via the gNB to the NodeC. When the gNB detects that the data packet 1 sent by the UE to the NodeC contains window information 1 (such as the II value a), the gNB determines window information 2 (such as the II value b, where the II value b is less than or equal to the II value a) based on the window information 1 and one or more of the following: the uplink radio interface state of the source UE (such as the uplink channel quality), the remaining bandwidth resources of the uplink radio interface, or the lengths of the uplink buffer queues of all shared uplink radio interface resources (such as time-frequency resources) within the gNB. The specific determination method is as described above and will not be elaborated here. The window information 2 can be used to indicate the data sending window. The gNB generates data packet 2 based on data packet 1 and window information 2 (such as the II value b) and sends data packet 2 to the NodeC. Data packet 2 contains window information 2 (such as the II value b, where the II value b is less than or equal to the II value a). For the generation method of data packet 2, refer to the above description and will not be elaborated here. After receiving data packet 2, the NodeC carries the window information 2 (such as the II value b) in the layer 3 or layer 4 feedback information of RDMA and sends it to the UE through a feedback packet (such as data packet 3). The UE adjusts the sending window based on the feedback from the NodeC, such as window information 2 (such as the II value b). It can be understood that if the II value b is 0 (or rather, the size of the sending window indicated by the window information 2 is equal to the size of the current sending window of the UE), the size of the sending window is not adjusted.

[0433] In a possible implementation, for the case where the gNB decides to reduce the transmission window, the method of the embodiments of the present application can be adopted (that is, the NodeC sends the window information 2 (such as the II value b) to the UE through the L3 or L4 feedback information of RDMA) to instruct the sender (such as the UE) to reduce the transmission window. Of course, other methods can also be adopted, such as the explicit congestion notification (ECN) mechanism, to instruct the sender (such as the UE) to reduce the transmission window. This will not be elaborated below. The embodiments of the present application do not limit which specific method is adopted to implement the reduction control of the transmission window.

[0434] In the process of the UE and the NodeC performing uplink data transmission, in the embodiments of the present application, the gNB, as the bottleneck node, participates in congestion control, which can better sense the limited and fluctuating radio interface state, so that the size of the transmission window better matches the transmission capacity of the bottleneck node gNB, thereby quickly and accurately adjusting the size of the transmission window and realizing the low-latency and high-throughput RDMA data transmission of distributed computing. In addition, the embodiments of the present application largely follow the congestion control mechanism of RDMA and adapt it to the mobile communication network, which is easy to implement.

[0435] For example, the second communication device is a server (here referring to an edge server / cloud server, etc.), the third communication device is a UE, and the first communication device is a gNB. Refer to Figure 6 , Figure 6 FIG. is a schematic diagram of a downlink data congestion control method for a UE and a server provided by the embodiments of the present application. Among them, the UE and the server adopt the RDMA mechanism to transmit data. The server is the data sender, and the UE is the receiver. As Figure 6 shown, the data transmission path from the server to the UE is from the server to the UPF, then to the gNB, and finally to the UE. However, because Figure 6 the UPF in FIG. transparently forwards and does not participate in the adjustment of the transmission window (or does not participate in congestion control), so Figure 6 the downlink data congestion control method shown in FIG. can be equivalent to the downlink data congestion control method shown in the foregoing Figure 4 FIG., and this will not be elaborated one by one here.

[0436] In the process of downlink data transmission between the UE and the server in the embodiments of the present application, the gNB, which is the bottleneck node, participates in congestion control, which can better sense the limited and highly fluctuating radio interface state, enabling the size of the sending window to better match the transmission capacity of the bottleneck node gNB. Thus, the size of the sending window can be adjusted quickly and accurately to achieve low-latency and high-throughput RDMA data transmission for distributed computing. In addition, the embodiments of the present application have adapted the RDMA protocol and congestion control mechanism to the mobile communication network to the greatest extent, making it easy to implement.

[0437] For example, the second communication device is the UE, the third communication device is the server (referring to an edge server / cloud server, etc.), and the first communication device is the gNB. Refer to Figure 7 , Figure 7 which is a schematic diagram of the uplink data congestion control method for the UE and the server provided by the embodiments of the present application. Among them, the UE and the server use the RDMA mechanism to transmit data. The UE is the data sender, and the server is the receiver. As Figure 7 shown, the data transmission path from the UE to the server is from the UE to the gNB, then to the UPF, and finally to the server. However, because Figure 7 the UPF in Figure 7 performs transparent forwarding and does not participate in the adjustment of the sending window (or does not participate in congestion control), the uplink data congestion control method shown in Figure 5 is equivalent to the uplink data congestion control method shown above, and will not be elaborated here one by one.

[0438] In the process of uplink data transmission between the UE and the server in the embodiments of the present application, the gNB, which is the bottleneck node, participates in congestion control, which can better sense the limited and highly fluctuating radio interface state, enabling the size of the sending window to match the capacity of the bottleneck node gNB. Thus, the size of the sending window can be adjusted quickly and accurately to achieve low-latency and high-throughput RDMA data transmission for distributed computing. In addition, the embodiments of the present application have adopted the RDMA congestion control mechanism to the greatest extent and adapted it to the mobile communication network, making it easy to implement.

[0439] Refer to Figure 8 , Figure 8It is the second process schematic diagram of the congestion control method provided by the embodiments of the present application. In this method, the first communication device is a base station (such as a gNB), the second communication device is the data sender (Sender), and the third communication device is the data receiver (Receiver). Exemplarily, the second communication device is a terminal (such as a UE), and the third communication device is an in-network computing node (such as a NodeC); or, the second communication device is an in-network computing node (such as a NodeC), and the third communication device is a terminal (such as a UE). Additionally, the second communication device is a terminal (such as a UE), and the third communication device is an out-of-network computing node (such as an edge server / cloud server); or, the second communication device is an out-of-network computing node (such as an edge server / cloud server), and the third communication device is a terminal (such as a UE).

[0440] Such as Figure 8 As shown, the congestion control method includes but is not limited to the following steps:

[0441] S201. The second communication device (Sender) sends data packet 1, which contains window information 1 used to request an adjustment of the data transmission window. Here, the source address of data packet 1 is the address of the second communication device, and the destination address of data packet 1 is the address of the third communication device.

[0442] S202. The first communication device (such as a base station) receives data packet 1 and determines window information 2 based on the window information 1 in data packet 1 and the radio resource. Window information 2 is used to indicate the data transmission window, and the size of the transmission window indicated by window information 2 is less than or equal to the size of the transmission window requested to be adjusted by window information 1.

[0443] In a possible implementation, for the implementation manners of steps S201 and S202 in the embodiments of the present application, reference can be made to the implementation manners of steps S101 and S102 in the foregoing Figure 3 shown embodiments, which will not be elaborated here.

[0444] S203. The first communication device (such as a base station) sends data packet 2 to the third communication device (Receiver), and data packet 2 contains the window information 2. Here, the window information 2 can be used to indicate the data transmission window, and the size of the transmission window indicated by window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above window information 1.

[0445] Correspondingly, after receiving the data packet 2, the third communication device (Receiver) can send a feedback packet to the second communication device (Sender). The data carried in the feedback packet is different from the data carried in the data packet 2, but the feedback packet and the data packet 2 can belong to the same QoS flow or the same session.

[0446] In a possible implementation, after determining the above window information 2, the first communication device (such as a base station) can send the data packet 2 to the third communication device (Receiver). Among them, the data (or payload) in the data packet 2 can be the same as the data (or payload) in the above data packet 1. Exemplarily, the data included in the data packet in the embodiments of the present application can be RDMA data. The window information 2 can be included in the header of the data packet 2. For example: the window information 2 can be carried in the frame header of the data link layer of the data packet 2, or the packet header of the network layer, or the message header of the transport layer.

[0447] In the embodiments of the present application, the window information 2 is carried in the data packet 2 so that the receiving end can know the size of the sending window of the sending end at the next moment, so as to prepare for receiving data.

[0448] It can be understood that when the size of the sending window indicated by the window information 2 determined by the first communication device (such as a base station) is equal to the size of the sending window requested to be adjusted by the above window information 1, the first communication device can directly forward the above data packet 1 to the third communication device (Receiver) without processing the data packet 1. In other words, at this time, the data packet 2 can be the same as the above data packet 1, and the value of the window information 2 can be the same as the value of the window information 1. It can also be understood that when the size of the sending window indicated by the window information 2 determined by the first communication device (such as a base station) is smaller than the size of the sending window requested to be adjusted by the above window information 1, the above data packet 2 can be obtained by replacing / updating the window information 1 in the above data packet 1 with the window information 2. In other words, when the size of the sending window indicated by the above window information 2 is smaller than the size of the sending window requested to be adjusted by the above window information 1, the first communication device can rewrite / replace / update the window information 1 in the above data packet 1 with the window information 2 to obtain the data packet 2.

[0449] In another possible implementation, after receiving the above data packet 1, the first communication device (such as a base station) can, on the one hand, execute step S202, and on the other hand, forward the data packet 1 to the third communication device (Receiver); this can reduce the latency of data transmission. Or, after receiving the above data packet 1, the first communication device (such as a base station) can, on the one hand, execute step S202, and on the other hand, obtain a new data packet after removing the window information 1 in the data packet 1, and send this new data packet to the third communication device (Receiver). In other words, the data packet sent by the first communication device (such as a base station) to the third communication device (Receiver) may not carry any window information (including window information 1 and window information 2), but the data (or payload) in this data packet is the same as the data (or payload) in the data packet 1.

[0450] S204, the first communication device (such as a base station) sends a data packet 3 to the second communication device (Sender), and the data packet 3 includes the window information 2. Wherein, the window information 2 can be used to indicate the transmission window of the data, and the size of the transmission window indicated by the window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above window information 1.

[0451] In a possible implementation manner, the embodiments of the present application do not limit the execution order of step S203 and step S204. For example: step S203 can be executed before step S204, can also be executed after step S204, or can be executed simultaneously with step S204.

[0452] In a possible implementation manner, after determining the above window information 2, the first communication device (such as a base station) can send a data packet 3 to the second communication device (Sender), and the data packet 3 can include the above window information 2. The following is an example of how the window information 2 is carried in the data packet 3.

[0453] Exemplarily, the data packet 3 may include layer 3 or layer 4 feedback information of RDMA. The layer 3 or layer 4 feedback information of RDMA may carry the window information 2, and the data packet 3 and the above-mentioned data packet 1 belong to the same QoS flow or the same session. For example, in the downlink data transmission scenario, if the sender (the second communication device) is NodeC and the receiver (the third communication device) is a UE, after the first communication device (such as a base station) determines the above-mentioned window information 2, it may search in the uplink direction for a feedback packet that belongs to the same QoS flow / the same session as the data packet 1, and may carry the window information 2 in the layer 3 or layer 4 feedback information of RDMA of the first feedback packet (i.e., the data packet 3) that meets the condition (i.e., belongs to the same QoS flow / the same session as the data packet 1) found, and send the feedback packet (i.e., the data packet 3) to the second communication device (Sender).

[0454] Exemplarily, the data packet 3 may include layer 3 or layer 4 feedback information of RDMA. The layer 3 or layer 4 feedback information of RDMA may carry the window information 2. For example, in the downlink data transmission scenario, if the sender (the second communication device) is NodeC and the receiver (the third communication device) is a UE, after the first communication device (such as a base station) determines the above-mentioned window information 2, it may generate a new uplink feedback packet (i.e., the data packet 3). The feedback packet (i.e., the data packet 3) includes layer 3 or layer 4 feedback information of RDMA, which carries the window information 2; and send the feedback packet (i.e., the data packet 3) to the second communication device (Sender). The feedback packet (i.e., the data packet 3) may not include data.

[0455] Exemplarily, the data packet 3 may include a user plane general packet radio service (GPRS) tunneling protocol (GTP-u) header, and the GTP-u header may carry the window information 2. For example, in a downlink data transmission scenario, if the sender (the second communication device) is NodeC and the receiver (the third communication device) is a UE, after the first communication device (such as a base station) determines the above window information 2, it may search for uplink RDMA data belonging to the same QoS flow / session as the data packet 1 in the uplink direction. Then, the uplink RDMA data is encapsulated into a GTP-u tunnel packet (which can be understood as a data packet with a GTP-u header added. So, for ease of description, the GTP-u tunnel packet here can also be referred to as the data packet 3), the window information 2 is carried in the GTP-u header of the GTP-u tunnel packet (i.e., the data packet 3), and the GTP-u tunnel packet is sent to the second communication device (Sender). Alternatively, after the first communication device (such as a base station) determines the above window information 2, it generates dummy data, then encapsulates the dummy data into a GTP-u tunnel packet (i.e., the data packet 3), the window information 2 is carried in the GTP-u header of the GTP-u tunnel packet (i.e., the data packet 3), and the GTP-u tunnel packet is sent to the second communication device (Sender).

[0456] It can be understood that for the method of carrying the window information 2 through the GTP-u header, the second communication device (Sender) needs to have the ability to encapsulate and decapsulate GTP-u tunnels, or have an application programming interface (API) ability to obtain the window information via the operating system. Exemplarily, it can be that the RDMA network card in the second communication device (Sender) has the ability to encapsulate and decapsulate GTP-u tunnels, or has the API ability to obtain the window information via the operating system.

[0457] Exemplarily, the data packet 3 may include a Uu layer 2 header or a layer 2 control protocol data unit (PDU). The Uu L2 header or the L2 control PDU may carry the window information 2. For example, in an uplink data transmission scenario, if the sender (the second communication device) is a UE and the receiver (the third communication device) is a NodeC or a server, after the first communication device (such as a base station) determines the above window information 2, a new feedback packet (i.e., the data packet 3) may be generated. The feedback packet (i.e., the data packet 3) includes a Uu L2 header or an L2 control PDU, which carries the window information 2; and this feedback packet is sent to the second communication device (Sender). The feedback packet (i.e., the data packet 3) may not include data. In a possible implementation, the modem of the second communication device (Sender) may decode the feedback packet (i.e., the data packet 3) through an AT command (AT cmd), obtain the window information 2 therein, and output the window information 2 to the RDMA network card.

[0458] In the embodiments of the present application, the first communication device (such as a base station) modifies the feedback packet in the cache, or generates a new feedback packet, or carries the window information 2 through a GTP-u header / Uu L2 header / L2 control PDU; it can reduce the window information 2 (or congestion control information) from detouring through the air interface, so that congestion control (or adjustment of the sending window) can be more timely, and low latency and high throughput of RDMA data transmission can be achieved.

[0459] S205. The second communication device (Sender) determines the sending window of the data based on the window information 2 in the data packet 3.

[0460] In a possible implementation, for the implementation manner of step S205 in the embodiments of the present application, reference may be made to the implementation manner of step S105 in the foregoing Figure 3 illustrated embodiment, which will not be elaborated here.

[0461] The sending end (i.e., the second communication device) of the embodiment of the present application sends window information 1 along with the data stream, which is used to request an adjustment of the sending window of the data. After receiving the data packet containing window information 1, the first communication device (such as a base station) determines whether its transmission capacity can meet the requirements of the sending end (i.e., the size of the sending window requested to be adjusted) by sensing the usage situation and / or remaining situation of the radio resource and / or the current buffer resource, which can make the size of the sending window more matched with the transmission capacity of the first communication device (such as a base station), and can reduce packet loss (or achieve no packet loss) and data transmission delay in the network, improve the reliability and throughput of data transmission, so as to achieve low-latency and high-throughput data transmission.

[0462] To better understand the method flow of the above Figure 8 illustrated embodiment, the following takes the data transmission process in a distributed computing scenario as an example for illustration.

[0463] For example, the second communication device is NodeC, the third communication device is UE, and the first communication device is gNB. Refer to Figure 9 , Figure 9 is another schematic diagram of the downlink data congestion control method for UE and NodeC provided by the embodiment of the present application. Among them, UE and NodeC use the RDMA mechanism to transmit data, NodeC is the data sender, and UE is the receiver. As Figure 9 shown, NodeC sends data packet 1, which contains window information 1 (for example, an increase intention value a, that is Figure 9The II value a) in it is used to request an adjustment (such as an increase) of the data transmission window. The data transmission path from NodeC to the UE is from NodeC via the gNB and finally to the UE. When the gNB detects that the data packet 1 sent from NodeC to the UE contains the window information 1 (such as the II value a), the gNB determines the window information 2 (such as the II value b, where the II value b is less than or equal to the II value a) based on the window information 1 and one or more of the following: the downlink air interface status of the destination UE (such as the downlink channel quality), the remaining bandwidth resources of the downlink air interface, or the lengths of each downlink buffer queue sharing the downlink air interface resources (such as time-frequency resources) within the gNB. The specific determination method can be referred to the description above, and will not be elaborated here. This window information 2 can be used to indicate the data transmission window. The gNB generates the data packet 2 based on the data packet 1 and / or the window information 2 (such as the II value b), and sends the data packet 2 to the UE. The data in the data packet 2 is the same as the data in the data packet 1. The generation method of the data packet 2 can be referred to the description above, and will not be elaborated here. The gNB sends the data packet 3 to NodeC, carrying the window information 2. The carrying method of the window information 2 in the data packet 3 can be referred to the description above, and will not be elaborated here. For example: the gNB carries the window information 2 by modifying / generating an uplink feedback packet, or carries the window information 2 through the uplink GTP-u header. NodeC adjusts the transmission window based on the feedback from the gNB, such as the window information 2 (such as the II value b). It can be understood that if the II value b is 0 (or the size of the transmission window indicated by the window information 2 is equal to the current transmission window size of NodeC), the size of the transmission window is not adjusted.

[0464] For example, the second communication device is the UE, the third communication device is NodeC, and the first communication device is the gNB. Refer to Figure 10 , Figure 10 is another schematic diagram of the uplink data congestion control method for the UE and NodeC provided in the embodiments of the present application. Among them, the UE and NodeC use the RDMA mechanism to transmit data. The UE is the data sender, and NodeC is the receiver. As Figure 10 shown, the UE sends the data packet 1, which contains the window information 1 (such as the increase intention value a, that is Figure 10The II value a) in it is used to request an adjustment (such as an increase) of the data transmission window. The data transmission path from the UE to NodeC is from the UE via the gNB and finally to NodeC. When the gNB detects that the data packet 1 sent by the UE to NodeC contains window information 1 (such as the II value a), the gNB determines window information 2 (such as the II value b, where the II value b is less than or equal to the II value a) based on this window information 1 and one or more of the following: the uplink air interface status of the source UE (such as the uplink channel quality), the remaining bandwidth resources of the uplink air interface, or the lengths of each uplink buffer queue sharing the uplink air interface resources (such as time-frequency resources) within the gNB. For the specific determination method, refer to the previous description and will not be elaborated here. This window information 2 can be used to indicate the data transmission window. The gNB generates data packet 2 based on data packet 1 and / or window information 2 (such as the II value b) and sends this data packet 2 to NodeC. The data in data packet 2 is the same as the data in data packet 1. For the generation method of data packet 2, refer to the previous description and will not be elaborated here. The gNB sends data packet 3 to the UE, carrying this window information 2. The carrying method of this window information 2 in data packet 3 can refer to the previous description and will not be elaborated here. For example: The gNB carries this window information 2 through the Uu L2 header or L2 control PDU. The UE adjusts the transmission window based on the feedback of the gNB, such as window information 2 (such as the II value b). For example: The modem of the UE decodes this data packet 3 through an AT command (AT command, AT cmd), obtains the window information 2 (such as the II value b) therein, and outputs this window information 2 (such as the II value b) to the RDMA network card, and the RDMA network card adjusts the transmission window based on this window information 2 (such as the II value b). It can be understood that if the II value b is 0 (or the size of the transmission window indicated by the window information 2 is equal to the current transmission window size of the UE), the size of the transmission window is not adjusted.

[0465] For example, the second communication device is the UE, the third communication device is the server (here referring to the edge server / cloud server, etc.), and the first communication device is the gNB. Refer to Figure 11 , Figure 11 is another schematic diagram of the uplink data congestion control method for the UE and the server provided in the embodiments of the present application. Among them, the UE and the server adopt the RDMA mechanism to transmit data. The UE is the data sender, and the server is the receiver. As Figure 11 shown, the data transmission path from the UE to the server is from the UE to the gNB, then to the UPF, and finally to the server. However, because Figure 11 the UPF in it transparently forwards and does not participate in the adjustment of the transmission window (or does not participate in congestion control), so Figure 11 the uplink data congestion control method shown can be the same as the foregoingFigure 10 The uplink data congestion control methods shown are equivalent, and will not be elaborated here one by one.

[0466] In the embodiments of the present application, the gNB senses the air interface state and participates in congestion control, making the transmission window of RDMA data more matched with the network transmission capacity, thereby achieving low-latency and high-throughput transmission in distributed computing in the mobile network.

[0467] See Figure 12 , Figure 12 is the third process schematic diagram of the congestion control method provided by the embodiments of the present application. In this method, the first communication device is a base station (such as a gNB), the second communication device is an off-network computing node (such as an edge server / cloud server), and the third communication device is a terminal (such as a UE). The second communication device acts as the data sender (Sender), and the third communication device acts as the data receiver (Receiver).

[0468] As Figure 12 shown, the congestion control method includes but is not limited to the following steps:

[0469] S301. The second communication device (Sender) sends data packet 1, which includes window information 1 for requesting adjustment of the data transmission window. Among them, the source address of the data packet 1 is the address of the second communication device, and the destination address of the data packet 1 is the address of the third communication device.

[0470] In a possible implementation manner, for the implementation manner of step S301 in the embodiments of the present application, reference can be made to the implementation manner of step S101 in the foregoing Figure 3 shown embodiment, which will not be elaborated here.

[0471] S302. The UPF receives the data packet 1 and generates data packet 2 based on the data packet 1. The data packet 2 includes a downlink GTP-u header, and the downlink GTP-u header includes the window information 1.

[0472] S303. The UPF sends the data packet 2 to the first communication device (such as a base station). Correspondingly, the first communication device (such as a base station) receives the data packet 2.

[0473] It can be understood that since the transmission path of the above data packet 1 passes through the UPF and the first communication device (such as a base station), the UPF can receive the above data packet 1.

[0474] In a possible implementation, after receiving the above data packet 1, the UPF can detect whether the above window information 1 is included in the data packet 1. Exemplarily, the UPF can parse the header information of the data packet 1, or the UPF can perform deep packet inspection (DPI) on the data packet 1 to determine whether the window information 1 is included in the data packet 1. When the UPF detects that the data packet 1 includes the above window information 1, the UPF can obtain the window information 1, add a downlink GTP-u header to the data packet 1 to obtain a data packet 2, carry the window information 1 in the downlink GTP-u header, and send the data packet 2 to a first communication device (such as a base station).

[0475] It can be understood that after reading the above window information 1 from the above data packet 1, the UPF of the embodiment of the present application carries the window information 1 in the downlink GTP-u header and sends it to the first communication device (such as a base station), without the first communication device (such as a base station) performing DPI on the received data packet, which can reduce the complexity of the first communication device (such as a base station) and can reduce the modification to the existing base station equipment.

[0476] S304. The first communication device (such as a base station) determines window information 2 based on the window information 1 and radio resource in the data packet 2, where the window information 2 is used to indicate the transmission window of the data, and the size of the transmission window indicated by the window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above window information 1.

[0477] In a possible implementation, after receiving the above data packet 2, the first communication device (such as a base station) can parse the downlink GTP-u header of the data packet 2 to obtain the window information 1. The first communication device (such as a base station) can determine the window information 2 based on the radio resources it senses and the window information 1. Among them, the description of the window information 2 and the implementation manner of the first communication device (such as a base station) for determining the window information 2 can refer to the relevant description of step S102 in the foregoing Figure 3 shown embodiment, which will not be elaborated here.

[0478] S305. The first communication device (such as a base station) sends a data packet 3 to a third communication device (Receiver), where the data packet 3 includes the window information 2. Correspondingly, after receiving the data packet 3, the third communication device (Receiver) can send a feedback packet to the second communication device (Sender). The data carried in the feedback packet is different from the data carried in the data packet 3, but the feedback packet and the data packet 3 can belong to the same QoS flow or the same session.

[0479] In a possible implementation, the implementation of step S305 in the embodiments of the present application may refer to the implementation of step S203 in the foregoing Figure 8 illustrated embodiment, which will not be elaborated here.

[0480] S306. The first communication device (such as a base station) sends data packet 4 to the UPF. The data packet 4 includes an uplink GTP-u header, and the uplink GTP-u header includes the window information 2. Correspondingly, the UPF receives the data packet 4.

[0481] In a possible implementation, the embodiments of the present application do not limit the execution order of step S305 and step S306. For example: step S305 may be executed before step S306, may be executed after step S306, or may be executed simultaneously with step S306.

[0482] In a possible implementation, the above data packet 4 may be a GTP-u tunnel packet. In the embodiments of the present application, a GTP-u tunnel packet can be understood as a data packet with a GTP-u header added.

[0483] In a possible implementation, after the first communication device (such as a base station) determines the above window information 2, it can search for uplink RDMA data destined for the UPF and belonging to the same QoS flow as the above data packet 2 in the local cache, encapsulate the uplink RDMA data into a GTP-u tunnel packet (i.e., data packet 4), carry the window information 2 in the uplink GTP-u header of the GTP-u tunnel packet (i.e., data packet 4); and send the GTP-u tunnel packet (i.e., data packet 4) to the UPF.

[0484] In another possible implementation, after the first communication device (such as a base station) determines the above window information 2, it can generate dummy data, then encapsulate the dummy data into a GTP-u tunnel packet (i.e., data packet 4), carry the window information 2 in the uplink GTP-u header of the GTP-u tunnel packet (i.e., data packet 4), and send the GTP-u tunnel packet (i.e., data packet 4) to the UPF.

[0485] S307. The UPF sends data packet 5 to the second communication device (Sender). The data packet 5 contains the window information 2. Correspondingly, the second communication device (Sender) receives the data packet 5.

[0486] In a possible implementation, after receiving the above data packet 4, the UPF can parse the uplink GTP-u header of the data packet 4 to obtain the window information 2. The UPF can generate a data packet 5 based on the window information 2 and send the data packet 5 to the second communication device (Sender). The data packet 5 contains the window information 2.

[0487] Exemplarily, after obtaining the above window information 2, the UPF can search for a feedback packet in the uplink direction that belongs to the same QoS flow / same session as the above data packet 1, and can carry the window information 2 in the layer 3 or layer 4 feedback information of the RDMA of the first feedback packet (i.e., data packet 5) that meets the condition (i.e., belongs to the same QoS flow / same session as the data packet 1), and send the feedback packet (i.e., data packet 5) to the second communication device (Sender).

[0488] Exemplarily, after obtaining the above window information 2, the UPF can generate a new uplink feedback packet (i.e., data packet 5), the feedback packet (i.e., data packet 5) includes layer 3 or layer 4 feedback information of the RDMA, which carries the window information 2; and send the feedback packet (i.e., data packet 5) to the second communication device (Sender). The feedback packet (i.e., data packet 5) may not include data.

[0489] In a possible implementation, after obtaining the above window information 2, the UPF can send the window information 2 to the second communication device (Sender) through the API. Of course, the UPF can also send the data packet 5 to the second communication device (Sender) through the API after obtaining the above window information 2 and generating the data packet 5. The embodiments of the present application do not make restrictions. It can be understood that for the method of sending the above window information 2 through the API, the second communication device (Sender) needs to have the ability to encapsulate and decapsulate the API, or have the API ability to obtain the window information through the operating system. Exemplarily, it can be that the RDMA network card in the second communication device (Sender) has the ability to encapsulate and decapsulate the API, or has the API ability to obtain the window information through the operating system.

[0490] In the embodiments of the present application, the first communication device (such as a base station) informs the UPF of "window information 2 (or congestion control information)" through the GTP-u header. The UPF can carry the window information 2 by modifying the feedback packet in the cache or generating a new feedback packet, or feedback the window information 2 through the API, which can reduce the window information 2 (or congestion control information) from detouring through the air interface, so that congestion control (or adjustment of the sending window) can be more timely, and low latency and high throughput of RDMA data transmission can be achieved.

[0491] S308. The second communication device (Sender) determines the transmission window of the data based on the window information 2 in the data packet 5.

[0492] In a possible implementation, the implementation of step S308 in the embodiments of the present application may refer to the implementation of step S105 in the foregoing Figure 3 illustrated embodiment, which will not be elaborated here.

[0493] The sender (i.e., the second communication device) of the embodiments of the present application sends window information 1 along with the data stream to request adjustment of the data transmission window; after receiving the data packet 1 containing the window information 1, the UPF adds a downlink GTP-u header to the data packet 1 to carry the window information 1 and sends the data packet with the added downlink GTP-u header (i.e., data packet 2) to the first communication device (such as a base station); in this way, after receiving the data packet 2, the first communication device (such as a base station) does not need to perform DPI on the received packet, which can reduce the complexity of the first communication device (such as a base station) and can reduce the modification of the existing base station equipment. In addition, the embodiments of the present application determine whether the transmission capacity of the bottleneck node (i.e., the first communication device) can meet the requirements of the sender (i.e., the size of the transmission window requested to be adjusted by the window information 1) by sensing the usage and / or remaining situation of the air interface resources and / or the current buffer resources of the bottleneck node (i.e., the first communication device), which can make the size of the transmission window more matched with the transmission capacity of the bottleneck node (the first communication device, such as a base station), and can reduce packet loss (or achieve no packet loss) and data transmission delay in the network, improve the reliability and throughput of data transmission, and thus achieve low-latency and high-throughput data transmission.

[0494] To better understand the method flow of the above Figure 12 illustrated embodiment, the following takes the downlink data transmission process in a distributed computing scenario as an example for illustration.

[0495] For example, the second communication device is a server (here referring to an edge server / cloud server, etc.), the third communication device is a UE, and the first communication device is a gNB. Refer to Figure 13 , Figure 13 which is another schematic diagram of the downlink data congestion control method for the UE and the server provided by the embodiments of the present application. Among them, the UE and the server use the RDMA mechanism to transmit data, the server is the data sender, and the UE is the receiver. As Figure 13 shown, the server sends data packet 1, which contains window information 1 (for example, an increase intention value a, that is Figure 13The II value a) in it is used to request an adjustment (such as an increase) of the data transmission window. The data transmission path from the server to the UE is from the server via the UPF to the gNB and finally to the UE. When the UPF detects that the data packet 1 sent by the server to the UE contains the window information 1 (such as the II value a), the UPF reads the window information 1 in the data packet 1, and can add a downlink GTP-u header to the data packet 1 to obtain the data packet 2, carry the window information 1 through the downlink GTP-u header, and then send the data packet 2 to the gNB. The gNB determines the window information 2 (such as the II value b, where the II value b is less than or equal to the II value a) based on the window information 1 in the downlink GTP-u header and one or more of the following: the downlink air interface status of the destination UE (such as the downlink channel quality), the remaining bandwidth resources of the downlink air interface, or the lengths of each downlink buffer queue sharing the downlink air interface resources (such as time-frequency resources) within the gNB. For the specific determination method, refer to the description above, which will not be elaborated here. The window information 2 can be used to indicate the data transmission window. The gNB generates the data packet 3 based on the data packet 2 and sends the data packet 3 to the UE. The data in the data packet 3 is the same as the data in the data packet 1 and the data packet 2. For the generation method of the data packet 3, refer to the description above, which will not be elaborated here. The gNB sends the data packet 4 to the UPF. The data packet 4 includes an uplink GTP-u header, and the uplink GTP-u header contains the window information 2 (such as the II value b, where the II value b is less than or equal to the II value a). For the generation method of the data packet 4, refer to the description above, which will not be elaborated here. After receiving the data packet 4, the UPF carries the window information 2 (such as the II value b) in the RDMA layer 3 or layer 4 feedback information by modifying or generating an uplink feedback packet (such as the data packet 5) and sends it to the server. Or the UPF sends the window information 2 (such as the II value b) to the server through the API. The server adjusts the transmission window based on the feedback from the UPF, such as the window information 2 (such as the II value b). It can be understood that if the II value b is 0 (or the size of the transmission window indicated by the window information 2 is equal to the current transmission window size of the server), the size of the transmission window is not adjusted.

[0496] In the embodiment of the present application, the gNB senses the air interface status and participates in congestion control, making the transmission window of the RDMA data more matched with the transmission capacity of the network, so as to achieve low-latency and high-throughput transmission of distributed computing in the mobile network. In addition, in the embodiment of the present application, the UPF extracts the window information 1 from the data packet 1 and informs the gNB of the window information 1 through the GTP-u header, without the gNB performing DPI on the received packet, which can reduce the complexity of the gNB and reduce the modification of the existing base station equipment.

[0497] See Figure 14 , Figure 14This is the fourth process schematic diagram of the congestion control method provided by the embodiments of this application. In this method, the first communication device is a base station (such as a gNB), the second communication device is an off-network computing node (such as an edge server / cloud server), and the third communication device is a terminal (such as a UE). The second communication device acts as the data sender (Sender), and the third communication device acts as the data receiver (Receiver).

[0498] As Figure 14 shown, the congestion control method includes but is not limited to the following steps:

[0499] S401. The second communication device (Sender) sends data packet 1, which contains window information 1 for requesting adjustment of the data sending window. Among them, the source address of the data packet 1 is the address of the second communication device, and the destination address of the data packet 1 is the address of the third communication device.

[0500] In a possible implementation manner, for the implementation manner of step S401 in the embodiments of this application, reference can be made to the implementation manner of step S101 in the foregoing Figure 3 shown embodiment, which will not be elaborated here.

[0501] S402. The UPF receives the data packet 1 and determines window information 2 based on the window information 1 in the data packet 1 and its own cache resources. The window information 2 is used to indicate the data sending window, and the size of the sending window indicated by the window information 2 is less than or equal to the size of the sending window requested to be adjusted by the window information 1.

[0502] It can be understood that since the transmission path of the above data packet 1 passes through the UPF and the first communication device (such as a base station). Therefore, the UPF can receive the above data packet 1.

[0503] In a possible implementation, after receiving the above data packet 1, the UPF can detect whether the above window information 1 is included in the data packet 1. Exemplarily, the UPF can parse the header information of the data packet 1, or the UPF can perform deep packet inspection (DPI) on the data packet 1 to determine whether the window information 1 is included in the data packet 1. When the UPF detects that the data packet 1 includes the above window information 1, the UPF can determine window information 2 based on its own cache resources and the window information 1. Wherein, the window information 2 can be used to indicate the transmission window of the data. Exemplarily, the size of the transmission window indicated by the above window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above window information 1. In other words, the size of the transmission window determined / indicated by the UPF is less than or equal to the size of the transmission window expected by the second communication device (Sender). For example, the UPF can determine a transmission window size for the QoS flow or session to which the above data packet 1 belongs based on its own cache resources. If the determined transmission window size by the UPF is greater than or equal to the size of the transmission window requested to be adjusted by the above window information 1, the UPF can generate window information 2 according to the size of the transmission window requested to be adjusted by the above window information 1, and the size of the transmission window indicated by the window information 2 is equal to the size of the transmission window requested to be adjusted by the above window information 1. If the determined transmission window size by the UPF is less than the size of the transmission window requested to be adjusted by the above window information 1, the UPF can generate window information 2 according to the determined transmission window size, and the size of the transmission window indicated by the window information 2 is the determined transmission window size by the UPF. Of course, the size of the transmission window indicated by the window information 2 is less than the size of the transmission window requested to be adjusted by the above window information 1.

[0504] It can be understood that the window information 1 and the window information 2 can be information of the same dimension. For example: the window information 1 is an increase intention value, and the window information 2 is also a value; or, the window information 1 is the buffer queue length in the second communication device (Sender), and the window information 2 is also a buffer queue length; or, the window information 1 is the link bandwidth capacity of the second communication device (Sender), and the window information 2 is also a link bandwidth capacity. It can also be understood that the specific value of the window information 2 can be determined by the internal policy of the UPF, and the embodiments of the present application do not make limitations.

[0505] In a possible implementation, the caching resources of the above UPF include, but are not limited to: caching queue information (such as the length of the caching queue) within the UPF that is the same as both the destination address and the next-hop address of the above data packet 1. For example, if the remaining caching resources of the UPF can support the size of the transmission window requested by the above window information 1, such as: the length of the caching queue within the current UPF that is the same as both the destination address and the next-hop address of the above data packet 1 is short (e.g., less than a certain threshold), and can support the size of the transmission window requested by this window information 1. Then, the size of the transmission window indicated by the above window information 2 can be equal to the size of the transmission window requested by the above window information 1. On the contrary, if the remaining caching resources of the UPF cannot support the size of the transmission window requested by the above window information 1, such as: the length of the caching queue within the current UPF that is the same as both the destination address and the next-hop address of the above data packet 1 is long (e.g., greater than a certain threshold), and cannot support the size of the transmission window requested by this window information 1. Then the size of the transmission window indicated by the above window information 2 is less than the size of the transmission window requested by the above window information 1.

[0506] In a possible implementation, the UPF can also determine window information 2 based on its own caching resources, the bandwidth / transmission rate of the wired transmission at the current moment, and the above window information 1. For example, if the remaining caching resources of the UPF, and / or the bandwidth / transmission rate of the wired transmission at the current moment, can support the size of the transmission window requested by the above window information 1, such as: the length of the caching queue within the current UPF that is the same as both the destination address and the next-hop address of the above data packet 1 is short (e.g., less than a certain threshold), and the bandwidth / transmission rate of the wired transmission at the current moment is large, and can support the size of the transmission window requested by this window information 1. Then, the size of the transmission window indicated by the above window information 2 can be equal to the size of the transmission window requested by the above window information 1. On the contrary, if the remaining caching resources of the UPF, and / or the bandwidth / transmission rate of the wired transmission at the current moment, cannot support the size of the transmission window requested by the above window information 1, such as: the length of the caching queue within the current UPF that is the same as both the destination address and the next-hop address of the above data packet 1 is long (e.g., greater than a certain threshold), and the bandwidth / transmission rate of the wired transmission at the current moment is small, and cannot support the size of the transmission window requested by this window information 1. Then, the size of the transmission window indicated by the above window information 2 is less than the size of the transmission window requested by the above window information 1.

[0507] S403, the UPF sends data packet 2 to the first communication device (such as a base station), and the data packet 2 includes the window information 2. Correspondingly, the first communication device (such as a base station) receives the data packet 2. Correspondingly, the first communication device (such as a base station) receives the data packet 2.

[0508] In a possible implementation, after the UPF determines the above window information 2, it can send data packet 2 to the first communication device (such as a base station). Among them, the data (or payload) in the data packet 2 can be the same as the data (or payload) in the above data packet 1. Exemplarily, the data included in the data packet in the embodiments of the present application can be RDMA data. The window information 2 can be included in the header of the data packet 2. For example: the window information 2 can be carried in the frame header of the data link layer of the data packet 2, or the packet header of the network layer, or the message header of the transport layer. It can be understood that when the size of the transmission window indicated by the window information 2 determined by the UPF is equal to the size of the transmission window requested to be adjusted by the above window information 1, the UPF can directly forward the above data packet 1 to the first communication device (such as a base station) without processing the data packet 1. In other words, at this time, the data packet 2 can be the same as the above data packet 1, and the value of the window information 2 can be the same as the value of the window information 1.

[0509] It can also be understood that when the size of the transmission window indicated by the window information 2 determined by the UPF is less than the size of the transmission window requested to be adjusted by the above window information 1, the above data packet 2 can be obtained by replacing / updating the window information 1 in the above data packet 1 with the window information 2. In other words, when the size of the transmission window indicated by the above window information 2 is less than the size of the transmission window requested to be adjusted by the above window information 1, the UPF can rewrite / replace / update the window information 1 in the above data packet 1 with the window information 2 to obtain the data packet 2.

[0510] S404, the first communication device (such as a base station) determines window information 3 based on the window information 2 in the data packet 2 and the radio resources. The window information 3 is used to indicate the transmission window of the data, and the size of the transmission window indicated by the window information 3 is less than or equal to the size of the transmission window indicated by the above window information 2.

[0511] In one possible implementation, after the first communication device (such as a base station) receives the above data packet 2, it can parse the header information of the data packet 2, or the first communication device (such as a base station) can perform deep packet inspection (DPI) on the data packet 2 to determine whether the data packet 2 contains window information 2. When the first communication device (such as a base station) detects that the data packet 2 contains the above window information 2, the first communication device (such as a base station) can determine window information 3 based on the air interface resources it senses and the window information 2. Exemplarily, for the implementation manner in which the first communication device (such as a base station) determines window information 3, reference can be made to the relevant description of step S102 in the foregoing Figure 3 illustrated embodiment, which will not be elaborated here.

[0512] Among them, the window information 3 can be used to indicate the transmission window of the data. Exemplarily, the size of the transmission window indicated by the above window information 3 is less than or equal to the size of the transmission window indicated by the above window information 2. In other words, the size of the transmission window determined / indicated by the first communication device (base station) is less than or equal to the size of the transmission window determined / indicated by the UPF. It can be understood that the window information 3 and the window information 2 can be information in the same dimension.

[0513] S405. The first communication device (such as a base station) sends a data packet 3 to the third communication device (Receiver), and the data packet 3 contains the window information 3.

[0514] In one possible implementation, for the implementation manner of step S405 in the embodiments of the present application, reference can be made to the implementation manner of step S203 in the foregoing Figure 8 illustrated embodiment, which will not be elaborated here.

[0515] S406. The first communication device (such as a base station) sends a data packet 4 to the UPF, and the data packet 4 includes an uplink GTP-u header, and the uplink GTP-u header includes the window information 3.

[0516] In one possible implementation, for the implementation manner of step S406 in the embodiments of the present application, reference can be made to the implementation manner of step S306 in the foregoing Figure 12 illustrated embodiment, which will not be elaborated here.

[0517] S407. The UPF sends a data packet 5 to the second communication device (Sender), and the data packet 5 contains the window information 3. Correspondingly, the second communication device (Sender) receives the data packet 5.

[0518] In one possible implementation, for the implementation manner of step S407 in the embodiments of the present application, reference can be made to the implementation manner of step S307 in the foregoing Figure 12The implementation manner of step S307 in the illustrated embodiment will not be elaborated here.

[0519] In the embodiment of the present application, the gNB notifies the UPF of "window information 3 (or congestion control information)" through the GTP-u header. The UPF can carry window information 3 by modifying the feedback message in the cache or generating a new feedback message, or feedback window information 3 through the API, which can reduce the detour of window information 3 (or congestion control information) in the air interface, so that congestion control (or adjustment of the sending window) can be more timely and the adjustment of the data transmission rate can be achieved faster. In addition, since the intermediate network elements (UPF and base station) in the mobile network are both involved in congestion control, the transmission capabilities of all bottleneck nodes (such as UPF and base station) are taken into account, thereby improving the quality of service of RDMA.

[0520] S408, the second communication device (Sender) determines the sending window of the data based on the window information 3 in the data packet 5.

[0521] In a possible implementation manner, the implementation manner of step S408 in the embodiment of the present application can refer to the implementation manner of step S105 in the foregoing Figure 3 illustrated embodiment and will not be elaborated here.

[0522] The sending end (i.e., the second communication device) of the embodiment of the present application sends window information 1 along with the data stream to request adjustment of the sending window of the data. After receiving the data packet containing window information 1, the UPF can determine window information 2 based on its own cache resources and the window information 1, and then notify the first communication device (such as a base station) of the window information 2. The first communication device (such as a base station) can determine window information 3 based on the perceived air interface resources and window information 2, and / or the current cache resources, which can better match the size of the sending window with the transmission capabilities of the intermediate network elements (such as UPF and the first communication device), thereby reducing packet loss (or achieving no packet loss) and data transmission delay in the network, improving the reliability and throughput of data transmission, and thus achieving low-latency and high-throughput data transmission. In addition, since the intermediate network elements (UPF and base station) in the mobile network are both involved in congestion control, the transmission capabilities of all bottleneck nodes (such as UPF and base station) are taken into account, thereby improving the quality of service of RDMA.

[0523] It can be understood that in the embodiments of the present application, taking 2 intermediate network elements (UPF and base station) participating in congestion control in sequence (or adjusting the size of the sending window in sequence) as an example, in practical applications, the number of intermediate network elements participating in congestion control is not limited, and the method of the embodiments of the present application can be used to adjust the size of the sending window in sequence, which will not be elaborated below. It can also be understood that from the data sender to the data receiver, the nodes participating in congestion control along the way are not limited to the base station and UPF. The present application supports more nodes to participate in congestion control in sequence, which will not be elaborated below.

[0524] For a better understanding of the method flow of the above Figure 14 illustrated embodiment, the following takes the downlink data transmission process in a distributed computing scenario as an example for illustration.

[0525] For example, the second communication device is a server (referring to an edge server / cloud server, etc.), the third communication device is a UE, and the first communication device is a gNB. Refer to Figure 15 , Figure 15 which is another schematic diagram of the downlink data congestion control method for the UE and the server provided by the embodiments of the present application. Among them, the UE and the server use the RDMA mechanism to transmit data. The server is the data sender, and the UE is the receiver. As Figure 15 shown, the server sends data packet 1, which contains window information 1 (for example, an increase intention value a, that is Figure 15The II value a) in it is used to request an adjustment (such as an increase) of the data transmission window. The data transmission path from the server to the UE is from the server via the UPF to the gNB and finally to the UE. When the UPF detects that the data packet 1 sent by the server to the UE contains the window information 1 (such as the II value a), the UPF determines the window information 2 (such as the II value b, and the II value b is less than or equal to the II value a) according to its own cache resources and the window information 1. For the specific determination method, refer to the description above, which will not be elaborated here. This window information 2 can be used to indicate the data transmission window. The UPF then replaces / updates the window information 1 in the data packet 1 with this window information 2 to obtain the data packet 2 and sends the data packet 2 to the gNB. The gNB determines the window information 3 (such as the II value c, and the II value c is less than or equal to the II value b) according to the window information 2 (such as the II value b, and the II value b is less than or equal to the II value a) and one or more of the following: the downlink air interface status of the destination UE (such as the downlink channel quality), the remaining bandwidth resources of the downlink air interface, or the lengths of each downlink buffer queue sharing the downlink air interface resources (such as time-frequency resources) in the gNB, etc. For the specific determination method, refer to the description above, which will not be elaborated here. The gNB generates the data packet 3 based on the data packet 2 and sends the data packet 3 to the UE. The data in the data packet 3 is the same as the data in the data packet 1 and the data packet 2. For the generation method of the data packet 3, refer to the description above, which will not be elaborated here. The gNB sends the data packet 4 to the UPF. The data packet 4 includes an uplink GTP-u header, and the uplink GTP-u header contains the window information 3 (such as the II value c, and the II value c is less than or equal to the II value b). For the generation method of the data packet 4, refer to the description above, which will not be elaborated here. After receiving the data packet 4, the UPF carries the window information 3 (such as the II value c, and the II value c is less than or equal to the II value b) in the RDMA layer 3 or layer 4 feedback information by modifying or generating an uplink feedback packet (such as the data packet 5) and sends it to the server. Or the UPF sends the window information 3 (such as the II value c, and the II value c is less than or equal to the II value b) to the server through the API. Based on the feedback from the UPF, such as the window information 3 (such as the II value c), the server adjusts the transmission window. It can be understood that if the II value c is 0 (or the size of the transmission window indicated by the window information 3 is equal to the current transmission window size of the server), the size of the transmission window is not adjusted.

[0526] In the embodiments of this application, the UPF senses its own cache resources and participates in congestion control, and the gNB senses the air interface status and participates in congestion control, so that the transmission window of the RDMA data can match the transmission capabilities of all bottleneck nodes (such as the UPF and the base station), thereby realizing low-latency and high-throughput transmission of distributed computing in the mobile network.

[0527] See Figure 16 , Figure 16It is the fifth process schematic diagram of the congestion control method provided by the embodiments of this application. In this method, the first communication device is a base station (such as a gNB), the second communication device is an off-network computing node (such as an edge server / cloud server), and the third communication device is a terminal (such as a UE). The second communication device acts as the data sender (Sender), and the third communication device acts as the data receiver (Receiver).

[0528] As Figure 16 shown, the congestion control method includes but is not limited to the following steps:

[0529] S501. The second communication device (Sender) sends data packet 1, which contains window information 1 used to request adjustment of the data sending window. Among them, the source address of the data packet 1 is the address of the second communication device, and the destination address of the data packet 1 is the address of the third communication device.

[0530] In a possible implementation manner, for the implementation manner of step S501 in the embodiments of this application, reference can be made to the implementation manner of step S101 in the foregoing Figure 3 shown embodiment, which will not be elaborated here.

[0531] S502. The UPF receives the data packet 1 and determines window information 2 based on the window information 1 in the data packet 1 and its own cache resources. The window information 2 is used to indicate the data sending window, and the size of the sending window indicated by the window information 2 is less than or equal to the size of the sending window requested to be adjusted by the window information 1.

[0532] S503. The UPF sends data packet 2 to the first communication device (such as a base station), and the data packet 2 includes the window information 2. Correspondingly, the first communication device (such as a base station) receives the data packet 2.

[0533] S504. The first communication device (such as a base station) determines window information 3 based on the window information 2 in the data packet 2 and the air interface resources. The window information 3 is used to indicate the data sending window, and the size of the sending window indicated by the window information 3 is less than or equal to the size of the sending window indicated by the above window information 2.

[0534] In a possible implementation manner, for the implementation manner of steps S502 to S504 in the embodiments of this application, reference can be made to the implementation manner of steps S402 to S404 in the foregoing Figure 14 shown embodiment, which will not be elaborated here.

[0535] S505. The first communication device (such as a base station) sends data packet 3 to the third communication device (Receiver), and the data packet 3 contains the window information 3. Correspondingly, the third communication device (Receiver) receives the data packet 3.

[0536] In a possible implementation, after the first communication device (such as a base station) determines the above window information 3, it can send data packet 3 to the third communication device (Receiver). Correspondingly, the third communication device (Receiver) receives the data packet 3. Among them, the data (or payload) in the data packet 3 can be the same as the data (or payload) in the above data packet 2. Exemplarily, the data included in the data packet in the embodiments of the present application can be RDMA data. The header of the data packet 3 can contain the window information 3. For example: the window information 3 can be carried in the frame header of the data link layer, or the packet header of the network layer, or the message header of the transport layer of the data packet 3. It can be understood that when the size of the transmission window indicated by the window information 3 determined by the first communication device (such as a base station) is equal to the size of the transmission window indicated by the above window information 2, the first communication device can forward the above data packet 2 to the third communication device (Receiver) without processing the data packet 2. In other words, at this time, the data packet 3 can be the same as the above data packet 2, and the value of the window information 3 can be the same as the value of the window information 2.

[0537] It can also be understood that when the size of the transmission window indicated by the window information 3 determined by the first communication device (such as a base station) is smaller than the size of the transmission window indicated by the above window information 2, the above data packet 3 can be obtained by replacing / updating the window information 2 in the above data packet 2 with the window information 3. In other words, when the size of the transmission window indicated by the above window information 3 is smaller than the size of the transmission window indicated by the above window information 2, the first communication device can rewrite / replace / update the window information 2 in the above data packet 2 with the window information 3 to obtain the data packet 3.

[0538] S506. The third communication device (Receiver) sends data packet 4 to the second communication device (Sender), and the data packet 4 includes the window information 3. Correspondingly, the second communication device (Sender) receives the data packet 4.

[0539] S507. The second communication device (Sender) determines the transmission window of the data based on the window information 3 in the data packet 4.

[0540] In a possible implementation, for the implementation manners of steps S506 and S507 in the embodiments of the present application, reference can be made to the foregoing Figure 3The implementation manners of steps S104 and S105 in the illustrated embodiments will not be elaborated herein.

[0541] In the embodiment of the present application, the sending end (i.e., the second communication device) sends window information 1 along with the data stream to request adjustment of the data sending window; after receiving the data packet containing window information 1, the UPF can determine window information 2 based on its own cache resources and the window information 1, and then inform the first communication device (such as the base station) of the window information 2. The first communication device (such as the base station) can determine window information 3 based on the sensed air interface resources and window information 2, and / or the current cache resources, which can make the size of the sending window better match the transmission capabilities of the intermediate network elements (such as the UPF and the first communication device), thereby reducing packet loss (or achieving no packet loss) and data transmission delay in the network, improving the reliability and throughput of data transmission, and thus realizing low-latency and high-throughput data transmission. In addition, since the intermediate network elements (UPF and base station) in the mobile network are all involved in congestion control, the transmission capabilities of all bottleneck nodes (such as the UPF and the base station) are taken into account, thereby improving the quality of service of RDMA.

[0542] For a better understanding of the Figure 16 method flow of the illustrated embodiments, the following takes the downlink data transmission process in a distributed computing scenario as an example for illustration.

[0543] For example, the second communication device is a server (here referring to an edge server / cloud server, etc.), the third communication device is a UE, and the first communication device is a gNB. Refer to Figure 17 , Figure 17 which is another schematic diagram of the downlink data congestion control method for the UE and the server provided by the embodiment of the present application. Among them, the UE and the server adopt the RDMA mechanism to transmit data, the server is the data sender, and the UE is the receiver. As Figure 17 shown, the server sends data packet 1, which contains window information 1 (for example, an increase intention value a, that is Figure 17The II value a) in it is used to request an adjustment (such as an increase) of the data transmission window. The data transmission path from the server to the UE is from the server via the UPF to the gNB and finally to the UE. When the UPF detects that the data packet 1 sent from the server to the UE contains the window information 1 (such as the II value a), the UPF determines the window information 2 (such as the II value b, and the II value b is less than or equal to the II value a) according to its own cache resources and the window information 1. The specific determination method refers to the description above and will not be elaborated here. This window information 2 can be used to indicate the data transmission window. The UPF then replaces / updates the window information 1 in the data packet 1 with the window information 2 to obtain the data packet 2 and sends the data packet 2 to the gNB. The gNB determines the window information 3 (such as the II value c, and the II value c is less than or equal to the II value b) according to the window information 2 (such as the II value b, and the II value b is less than or equal to the II value a) and one or more of the following: the downlink air interface state of the destination UE (such as the downlink channel quality), the remaining bandwidth resources of the downlink air interface, or the lengths of each downlink buffer queue sharing the downlink air interface resources (such as time-frequency resources) within the gNB. The specific determination method refers to the description above and will not be elaborated here. The gNB generates the data packet 3 based on the data packet 2 and the window information 3 (such as the II value c) and sends the data packet 3 to the UE. The data packet 3 contains the window information 3 (such as the II value c, and the II value c is less than or equal to the II value b). The generation method of the data packet 3 refers to the description above and will not be elaborated here. After receiving the data packet 3, the UE carries the window information 3 (such as the II value c) in the layer 3 or layer 4 feedback information of the RDMA and sends it to the server through a feedback packet (such as the data packet 4). The server adjusts the transmission window based on the UE's feedback, such as the window information 3 (such as the II value c). It can be understood that if the II value c is 0 (or the size of the transmission window indicated by the window information 3 is equal to the current transmission window size of the server), the size of the transmission window is not adjusted.

[0544] In the embodiment of the present application, the UPF senses its own cache resources and participates in congestion control, and the gNB senses the air interface state and participates in congestion control, so that the transmission window of the RDMA data is more matched with the transmission capabilities of all bottleneck nodes (such as the UPF and the base station), thereby realizing low-latency and high-throughput transmission of distributed computing in the mobile network.

[0545] See Figure 18 , Figure 18 is the sixth process schematic diagram of the congestion control method provided by the embodiment of the present application. In this method, the first communication device is a base station (such as a gNB), the second communication device is a terminal (such as a UE), and the third communication device is an off-network computing node (such as an edge server / cloud server). The second communication device is the data sender (Sender), and the third communication device is the data receiver (Receiver).

[0546] As Figure 18 shown, the congestion control method includes but is not limited to the following steps:

[0547] S601, the second communication device (Sender) sends data packet 1, which contains window information 1 for requesting adjustment of the data transmission window. Among them, the source address of the data packet 1 is the address of the second communication device, and the destination address of the data packet 1 is the address of the third communication device.

[0548] S602, the first communication device (such as a base station) receives the data packet 1 and determines window information 2 based on the window information 1 in the data packet 1 and the radio air interface resources. The window information 2 is used to indicate the data transmission window, and the size of the transmission window indicated by the window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the window information 1.

[0549] In a possible implementation, for the implementation manners of steps S601 and S602 in the embodiments of the present application, reference may be made to the implementation manners of steps S101 and S102 in the foregoing Figure 3 shown embodiments, which will not be elaborated here.

[0550] S603, the first communication device (such as a base station) sends data packet 2 to the UPF. The data packet 2 includes the window information 2. Correspondingly, the UPF receives the data packet 2. Among them, the size of the transmission window indicated by the window information 2 is less than or equal to the size of the transmission window requested to be adjusted by the above window information 1.

[0551] In a possible implementation, for the implementation manner of step S603 in the embodiments of the present application, reference may be made to the implementation manner of step S403 in the foregoing Figure 14 shown embodiments, which will not be elaborated here.

[0552] S604, the UPF determines window information 3 based on the window information 2 in the data packet 2 and its own cache resources. The window information 3 is used to indicate the data transmission window, and the size of the transmission window indicated by the window information 3 is less than or equal to the size of the transmission window indicated by the above window information 2.

[0553] In a possible implementation, after receiving the above data packet 2, the UPF can detect whether the window information 2 is included in the data packet 2. Exemplarily, the UPF can parse the header information of the data packet 2, or the UPF can perform deep packet inspection (DPI) on the data packet 2 to determine whether the window informatio...

Claims

1. A congestion control method, characterized in that, including: A first communication device receives a first data packet, the first data packet including first window information for requesting adjustment of a transmission window of data; The first communication device sends a second data packet, the second data packet including second window information determined based on radio interface resources and the first window information, the second window information being used to indicate the transmission window of the data.

2. The method according to claim 1, characterized in that, The size of the transmission window indicated by the second window information is less than or equal to the size of the transmission window whose adjustment is requested by the first window information.

3. The method according to claim 1 or 2, characterized in that, The second window information is determined based on radio interface resources and the first window information, including: The second window information is determined based on radio interface resources, the first window information, and the buffer resources of the first communication device.

4. The method according to any one of claims 1 to 3, characterized in that, The first communication device sending the second data packet includes: The first communication device sends the second data packet to the second communication device, and the source address of the first data packet is the address of the second communication device.

5. The method according to claim 4, wherein The second data packet includes a layer 2 packet header or a layer 2 control protocol data unit, and the layer 2 packet header or the layer 2 control protocol data unit includes the second window information.

6. The method according to claim 4, wherein The second data packet includes a user plane General Packet Radio Service (GPRS) Tunnel Protocol (GTP-u) header, and the GTP-u header includes the second window information; The second data packet and the first data packet belong to the same Quality of Service (QoS) flow or the same session; or the data in the second data packet is dummy data.

7. The method according to any one of claims 1 to 3, characterized in that, The first communication device receiving the first data packet includes: The first communication device receives the first data packet from a User Plane Function (UPF).

8. The method according to claim 7, wherein The first communication device sending the second data packet includes: The first communication device sends the second data packet to the UPF.

9. The method according to claim 8, characterized in that, The second data packet includes a second GTP-u header, and the second GTP-u header includes the second window information.

10. The method according to any one of claims 1 to 3, characterized in that, The first communication device sending the second data packet includes: The first communication device sends the second data packet to the User Plane Function (UPF).

11. The method according to claim 10, characterized in that, After the first communication device sends the second data packet to the User Plane Function (UPF), the method further includes: The first communication device receives a fourth data packet from the UPF, the fourth data packet including third window information for indicating the transmission window of the data, and the size of the transmission window indicated by the third window information is less than or equal to the size of the transmission window indicated by the second window information.

12. A congestion control method, characterized in that, including: A second communication device sends a first data packet, the first data packet including first window information for requesting adjustment of a transmission window of data; The second communication device receives a second data packet, the second data packet including second window information for indicating the transmission window of the data; The second communication device determines the transmission window of the data based on the second window information.

13. The method according to claim 12, wherein The size of the transmission window indicated by the second window information is less than or equal to the size of the transmission window whose adjustment is requested by the first window information.

14. The method according to claim 12 or 13, characterized in that, The second communication device receives a second data packet, including: The second communication device receives a second data packet from a third communication device, and the address of the third communication device is the destination address of the first data packet.

15. The method according to claim 12 or 13, characterized in that, The second communication device receives a second data packet, including: The second communication device receives a second data packet from a base station.

16. The method according to claim 15, wherein The second data packet includes a layer 2 packet header or a layer 2 control protocol data unit, and the layer 2 packet header or the layer 2 control protocol data unit includes second window information.

17. The method according to claim 15, characterized in that The second data packet includes a user plane General Packet Radio Service (GPRS) Tunnel Protocol (GTP-u) header, and the GTP-u header includes second window information; The second data packet and the first data packet belong to the same Quality of Service (QoS) flow or the same session; or, the data in the second data packet is dummy data.

18. The method according to claim 12 or 13, characterized in that, The second communication device receives a second data packet, including: The second communication device receives a second data packet from a User Plane Function (UPF).

19. A congestion control method, characterized in that, Including: The User Plane Function (UPF) receives a first data packet, and the first data packet contains first window information, where the first window information is used to request an adjustment of the data transmission window, or the first window information is used to indicate the data transmission window; The UPF sends a second data packet, and the second data packet contains second window information, where the second window information is used to indicate the data transmission window, and the size of the transmission window indicated by the second window information is less than or equal to the size of the transmission window indicated by the first window information, or the size of the transmission window indicated by the second window information is less than or equal to the size of the transmission window whose adjustment is requested by the first window information.

20. The method according to claim 19, wherein The UPF sends a second data packet, including: The UPF sends a second data packet to a base station, and the second window information in the second data packet is determined based on the first window information and the buffer resources of the UPF.

21. The method according to claim 19, wherein The UPF sends a second data packet, including: The UPF sends a second data packet to the second communication device.

22. The method according to claim 21, wherein Before the UPF sends a second data packet to the second communication device, the method further includes: The UPF receives a third data packet from a base station, and the third data packet includes the second window information.

23. The method according to claim 22, characterized in that, The third data packet includes a first user plane General Packet Radio Service (GPRS) Tunnel Protocol (GTP-u) header, and the first GTP-u header includes the second window information.

24. The method according to claim 22 or 23, characterized in that, Before the UPF receives a third data packet from a base station, the method further includes: The UPF sends a fourth data packet to a base station, and the fourth data packet includes third window information, where the third window information is used to indicate the data transmission window, and the third window information is determined based on the first window information and the buffer resources of the UPF.

25. The method according to claim 24, wherein The size of the transmission window indicated by the third window information is less than or equal to the size of the transmission window whose adjustment is requested by the first window information.

26. The method according to claim 19, wherein The first window information is used to indicate the transmission window of data. The user plane function UPF receives a first data packet, including: The UPF receives a first data packet from the base station.

27. The method according to claim 26, wherein The UPF sends a second data packet, including: The UPF sends a second data packet to the base station. The second window information in the second data packet is determined based on the first window information and the cache resources of the UPF.

28. A communication device, characterized in that, Comprising units or modules for performing the method according to any one of claims 1 to 27.

29. A communication device, characterized in that, Comprising a processor and an interface circuit. The interface circuit is used to receive signals from other communication devices and transmit them to the processor or send data from the processor to other communication devices. The processor is used to implement the method according to any one of claims 1 to 27 through logic circuits or by executing code instructions.

30. A readable storage medium, characterized in that, For storing a program, the program is executed by one or more processors, so that a device including the one or more processors executes the method according to any one of claims 1 to 27.