Data flow control method and related apparatus

By introducing a data flow control method into the cellular network system, the first network element determines the congestion status of the second network element and sends indication information for flow control, thus solving the network congestion problem and improving the quality and efficiency of data transmission.

WO2025223180A1PCT designated stage Publication Date: 2025-10-30HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/087398
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-26
Filing Date
2025-04-07
Publication Date
2025-10-30

AI Technical Summary

Technical Problem

In cellular network systems, data transmission between terminal devices and servers is prone to network congestion, leading to data loss, increased transmission latency, and decreased throughput, and may even cause network paralysis.

Method used

By introducing a data flow control method into the cellular network system, the first network element is used to determine whether the second network element is congested, and an indication message is sent to perform flow control, adjusting the quality of service flow parameters to avoid network congestion.

Benefits of technology

It effectively avoids network congestion, ensures the quality and efficiency of data transmission, reduces the processing pressure on the first network element, and reduces unnecessary communication resources and transmission overhead.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025087398_30102025_PF_FP_ABST
    Figure CN2025087398_30102025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present application are a data flow control method and a related apparatus, which can be used in a cellular network system. In the technical solution provided in the present application, when a first network element learns that a second network element is congested, first instruction information can be sent to the second network element, wherein the first instruction information is used by the second network element to perform flow control. In the method, the second network element can perform flow control on the basis of the received first instruction information, which is conducive to avoiding network congestion.
Need to check novelty before this filing date? Find Prior Art

Description

Data flow control methods and related devices

[0001] This application claims priority to Chinese Patent Application No. 202410517981.0, filed on April 26, 2024, entitled “Data Flow Control Method and Related Apparatus”, the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communication technology, and in particular to a data flow control method and related apparatus. Background Technology

[0003] In cellular network systems, network congestion often occurs during data transmission between terminal devices and servers, leading to data loss, increased data transmission latency, decreased throughput, and even potential network paralysis. Therefore, flow control is necessary to avoid network congestion. Summary of the Invention

[0004] This application provides a data flow control method and related apparatus, which can perform flow control on data in a cellular network system to avoid network congestion.

[0005] In a first aspect, this application provides a data flow control method applied to a first network element. The method includes: determining a first threshold, the first threshold being used by the first network element or a second network element to determine whether congestion has occurred in the second network element; knowing that congestion has occurred in the second network element; and sending first indication information to the second network element, the first indication information being used by the second network element to perform flow control.

[0006] In this method, the first network element can be any type of control plane network element in the system shown in Figure 2. As an example, the first network element can be a Session Management Function (SMF) network element.

[0007] In this method, the second network element can be any forwarding device used for data transmission between the first and second communication nodes, as shown in Figure 1. As an example, the second network element can be a radio access network device in the system shown in Figure 2. As another example, the second network element can also be a user plane network element in the system shown in Figure 2, such as a User Plane Function (UPF) network element. As yet another example, the second network element can also be other network elements, such as a Flow Plane Function (TPF) network element.

[0008] Optionally, the first threshold can be determined by the first network element based on the caching capacity of the second network element. Optionally, the caching capacity of the second network element can include the maximum amount of data that the second network element can cache.

[0009] As an example, the first threshold can be 60% of the maximum amount of data that the second network element can cache.

[0010] In this method, the first network element can determine different network states based on whether the second network element is congested, and then control the Quality of Service (QoS) flow parameters according to different network states, so that the QoS flow parameters can meet the service requirements under different network states. For example, if it is determined that the second network element is congested, the first network element can adjust the value of the QoS parameters based on the first indication information, so that the second network element can perform flow control based on the parameter values ​​in the first indication information, thereby helping to avoid network congestion while meeting service requirements.

[0011] In some possible implementations, the first indication information includes a first parameter indicating a first bit rate or a decrease in the first bit rate, wherein the first value is lower than a second value, and the second value is the value of the first bit rate indicated by the first network element to the second network element at a first moment, wherein the second network element is not congested at the first moment.

[0012] Wherein, the first bit rate includes at least one of the following: terminal device-combined maximum bit rate, session-combined maximum bit rate, maximum bit rate of quality of service flow, or guaranteed bit rate of quality of service flow.

[0013] In this implementation, the second network element can determine the value of reducing the first bit rate based on the first parameter, so that the second network element can reduce the rate of receiving data, thereby achieving the purpose of flow control.

[0014] In some possible implementations, before the congestion of the second network element is known, the method further includes: sending first information to the second network element, the first information indicating the first threshold and sending second indication information when the amount of cached data in the second network element reaches the first threshold, or the first information instructing the second network element to report the cache status information of the second network element, and the second indication information indicating that the second network element is congested or the amount of cached data in the second network element reaches the first threshold.

[0015] In this implementation, the cache status information of the second network element can include the amount of cached data in the second network element.

[0016] In this implementation, the first piece of information can be carried in the cache behavior rule BAR.

[0017] In this implementation, the first network element can determine whether the second network element is congested based on the second indication information, or based on the cache status information of the second network element.

[0018] In this implementation, the second network element can only send the second instruction information or the second network element's buffer status information to the first network element after receiving the first information. This avoids the situation where the second network element sends the second instruction information or the second network element's buffer status information to the first network element in scenarios where flow control is not required, thereby avoiding the waste of unnecessary communication resources and transmission overhead.

[0019] In some possible implementations, when the first information indicates that the first threshold and the amount of data cached in the second network element reaches the first threshold, the step of knowing that the second network element is congested includes: receiving the second indication information from the second network element; and determining that the second network element is congested based on the second indication information.

[0020] As an example, the second instruction information can be carried in the Usage Reporting Rule (URR).

[0021] In this implementation, the first network element can determine that the second network element is congested based on the second indication information, and then send the first indication information to the second network element. In this way, the second network element can perform flow control based on the received first indication information, which helps to avoid network congestion.

[0022] In addition, in this implementation, the second network element can determine whether it is congested based on the first threshold, without needing to rely on the first network element for judgment. This can reduce the processing pressure on the first network element and improve its processing efficiency.

[0023] In some possible implementations, when the first information instructs the second network element to report the cache status information of the second network element, the step of knowing that the second network element is congested includes: receiving cache status information from the second network element; and determining that the second network element is congested based on the cache status information and the first threshold.

[0024] In this implementation, the cache status information of the second network element can include the amount of cached data in the second network element.

[0025] As an example, the cache status information of the second network element can be carried in the Usage Reporting Rule (URR).

[0026] In this implementation, when the amount of data cached in the second network element reaches a first threshold, the first network element can determine that the second network element is congested.

[0027] In this implementation, the first network element can determine that the second network element is congested based on the cache status information of the second network element and the first threshold, and then send the first indication information to the second network element. In this way, the second network element can perform flow control based on the received first indication information, which helps to avoid network congestion.

[0028] In addition, in this implementation, the first network element does not need to send the first threshold to the second network element, which helps to reduce the transmission overhead between the first network element and the second network element.

[0029] In some possible implementations, the method further includes: determining a second threshold, wherein the second threshold is used by the first network element or the second network element to determine that the second network element does not require flow control, and the second threshold is less than the first threshold; knowing that the second network element does not require flow control; and sending third indication information to the second network element, wherein the third indication information is used by the second network element to stop flow control.

[0030] Optionally, the second threshold can be determined by the first network element based on the caching capacity of the second network element. As an example, the second threshold can be 20% of the maximum amount of data that the second network element can cache.

[0031] In this implementation, if the first network element determines that the second network element does not require flow control, it can adjust the value of the service quality parameter based on the third indication information, which is conducive to better meeting business needs.

[0032] In addition, when the second network element does not require flow control, it can stop flow control based on the received third indication information. This helps to ensure the data transmission rate and thus reduce transmission latency.

[0033] In some possible implementations, the third indication information includes a second parameter, which indicates that the first bit rate is a third value or an increase of the first bit rate, wherein the third value is higher than the first value, and the first value is the value of the first bit rate when the amount of cached data in the second network element reaches a first threshold.

[0034] The first bit rate includes at least one of the following: terminal device-combined maximum bit rate, session-combined maximum bit rate, maximum bit rate of quality of service flow, or guaranteed bit rate of quality of service flow.

[0035] In this implementation, the second network element can determine the value of increasing the first bit rate based on the second parameter, so that the second network element can increase the data reception rate, thereby helping to ensure the data transmission rate.

[0036] In some possible implementations, before it is known that the second network element does not require flow control, the method further includes: sending second information to the second network element, the second information indicating the second threshold and sending fourth indication information when the amount of cached data in the second network element is lower than the second threshold, or the second information instructing the second network element to report the cache status information of the second network element, the fourth indication information indicating that the second network element does not require flow control or that the amount of cached data in the second network element is lower than the second threshold.

[0037] In this implementation, the cache status information of the second network element can include the amount of cached data in the second network element.

[0038] In this implementation, the second information can be carried in the cache behavior rule BAR.

[0039] In this implementation, the first network element can determine that the second network element does not require flow control based on the fourth indication information, or based on the cache status information of the second network element.

[0040] In this implementation, the second network element can only send the fourth instruction information or the second network element's buffer status information to the first network element after receiving the second information. This avoids the situation where the second network element sends the fourth instruction information or the second network element's buffer status information to the first network element in scenarios without flow control, thereby avoiding the waste of unnecessary communication resources and transmission overhead.

[0041] In some possible implementations, when the second information indicates that the second threshold and the amount of data cached in the second network element is lower than the second threshold, the step of knowing that the second network element does not require flow control includes: receiving the fourth indication information from the second network element; and determining that the second network element does not require flow control based on the fourth indication information.

[0042] As an example, the fourth instruction information can be carried in the Usage Reporting Rule (URR).

[0043] In this implementation, the first network element can determine that the second network element does not require flow control based on the fourth indication information, and then send the third indication information to the second network element. In this way, the second network element can stop flow control based on the received third indication information, which helps to ensure the data transmission rate.

[0044] In addition, in this implementation, the second network element can determine that it does not need flow control based on the second threshold, without needing to be judged by the first network element. This can reduce the processing pressure on the first network element and help improve its processing efficiency.

[0045] In some possible implementations, when the second information instructs the second network element to report the cache status information of the second network element, the step of knowing that the second network element does not require flow control includes: receiving the cache status information from the second network element; and determining that the second network element does not require flow control based on the cache status information and the second threshold.

[0046] In this implementation, the cache status information of the second network element can include the amount of cached data in the second network element.

[0047] As an example, the cache status information of the second network element can be carried in the Usage Reporting Rule (URR).

[0048] In this implementation, if the amount of data cached in the second network element is lower than the second threshold, the first network element can determine that the second network element does not require flow control.

[0049] In this implementation, the first network element can determine that the second network element does not require flow control based on the second network element's cache status information and the second threshold, and then send a third indication information to the second network element. In this way, the second network element can stop flow control based on the received third indication information, which helps to ensure the data transmission rate.

[0050] In addition, in this implementation, the first network element does not need to send the second threshold to the second network element, which helps to reduce the transmission overhead between the first network element and the second network element.

[0051] Secondly, this application provides a data flow control method applied to a second network element. The method may include: receiving first information from a first network element, the first information indicating a first threshold and sending second indication information when the amount of cached data in the second network element reaches the first threshold, the second indication information indicating that congestion has occurred in the second network element or that the amount of cached data in the second network element has reached the first threshold; sending the second indication information to the first network element when the amount of cached data in the second network element reaches the first threshold; and receiving the first indication information from the first network element, the first indication information being used for flow control in the second network element.

[0052] In this method, the second network element becomes congested when the amount of cached data in the second network element reaches a first threshold.

[0053] In the event of congestion, the second network element can perform flow control based on receiving first indication information. This first indication information can indicate the adjusted parameter values ​​of the service quality flow parameters, enabling the second network element to perform flow control based on the parameter values ​​in the first indication information. This helps to ensure that network congestion is avoided while meeting business needs.

[0054] In some possible implementations, the first indication information includes a first parameter indicating a first bit rate or a decrease in the first bit rate, wherein the first value is lower than a second value, and the second value is the first bit rate value indicated by the first network element to the second network element at a first moment, wherein the second network element is not congested at the first moment.

[0055] Wherein, the first bit rate includes at least one of the following: terminal device-combined maximum bit rate, session-combined maximum bit rate, maximum bit rate of quality of service flow, or guaranteed bit rate of quality of service flow.

[0056] In some possible implementations, the method further includes: receiving second information from the first network element, the second information indicating a second threshold and sending fourth indication information when the amount of cached data in the second network element is lower than the second threshold, the fourth indication information indicating that the second network element does not require flow control or the amount of cached data in the second network element is lower than the second threshold, the second threshold being less than the first threshold; sending the fourth indication information to the first network element when the amount of cached data in the second network element is lower than the second threshold; and receiving third indication information from the first network element, the third indication information being used by the second network element to stop flow control.

[0057] In some possible implementations, the third indication information includes a second parameter, which indicates that the first bit rate is a third value or an increase of the first bit rate, wherein the third value is higher than the first value, and the first value is the value of the first bit rate when the amount of cached data in the second network element reaches a first threshold.

[0058] The first bit rate includes at least one of the following: terminal device-combined maximum bit rate, session-combined maximum bit rate, maximum bit rate of quality of service flow, or guaranteed bit rate of quality of service flow.

[0059] Thirdly, this application provides a data flow control method applied to a second network element. The method includes: receiving first information from a first network element, the first information instructing the second network element to report the cache status information of the second network element; reporting the cache status information of the second network element to the first network element; and receiving first indication information from the first network element, the first indication information being used by the second network element to perform flow control.

[0060] In this method, if the first network element determines that the second network element is congested based on the cache status of the second network element, it can send a first indication information to the second network element. The first indication information can indicate the parameter values ​​after adjusting the service quality flow parameters, so that the second network element can perform flow control based on the parameter values ​​in the first indication information, thereby helping to ensure that network congestion is avoided while meeting business needs.

[0061] In some possible implementations, the first indication information includes a first parameter indicating a first bit rate or a decrease in the first bit rate, wherein the first value is lower than a second value, and the second value is the first bit rate value indicated by the first network element to the second network element at a first moment, wherein the second network element is not congested at the first moment.

[0062] Wherein, the first bit rate includes at least one of the following: terminal device-combined maximum bit rate, session-combined maximum bit rate, maximum bit rate of quality of service flow, or guaranteed bit rate of quality of service flow.

[0063] In some possible implementations, the method further includes: receiving second information from the first network element, the second information instructing the second network element to report its cache status information; reporting the cache status information of the second network element to the first network element; and receiving third indication information from the first network element, the third indication information being used by the second network element to stop flow control.

[0064] In some possible implementations, the third indication information includes a second parameter, which indicates that the first bit rate is a third value or an increase of the first bit rate, wherein the third value is higher than the first value, and the first value is the value of the first bit rate when the amount of cached data in the second network element reaches a first threshold.

[0065] The first bit rate includes at least one of the following: terminal device-combined maximum bit rate, session-combined maximum bit rate, maximum bit rate of quality of service flow, or guaranteed bit rate of quality of service flow.

[0066] Fourthly, this application provides a data flow control method applied to a second network element. The method includes: receiving third information from a first network element, the third information indicating a first threshold and, when the amount of cached data in the second network element reaches the first threshold, sending second indication information to a third network element, the second indication information indicating that congestion has occurred in the second network element or that the amount of cached data in the second network element has reached the first threshold; and, when the amount of cached data in the second network element reaches the first threshold, sending the second indication information to the third network element.

[0067] In this method, the first network element can be any type of control plane network element in the system shown in Figure 2. As an example, the first network element can be an SMF network element.

[0068] In this method, the second network element can be any forwarding device used for data transmission between the first and second communication nodes, as shown in Figure 1. As an example, the second network element can be a radio access network device in the system shown in Figure 2. As another example, the second network element can also be a user plane network element in the system shown in Figure 2, such as a UPF network element. As yet another example, the second network element can also be other network elements, such as a TPF network element.

[0069] In this method, the third network element can be the upstream transmission node or the source end of the second network element.

[0070] Taking Figure 5 as an example, if the second network element is forwarding device 2, the third network element can be forwarding device 1 or the first communication node.

[0071] In this method, the first network element can determine a first threshold and send the first threshold to the second network element, so that the second network element can determine whether the second network element is congested based on the first threshold. This is beneficial for the second network element to perform flow control steps in the event of congestion, thereby avoiding network congestion.

[0072] In this method, after receiving the second indication information, the third network element can reduce the data transmission rate or suspend data transmission based on the second indication information. This can reduce the amount of data transmitted to the second network element, which helps to avoid congestion in the second network element and thus achieve the purpose of flow control.

[0073] In some possible implementations, the method further includes: receiving fourth information from a first network element, the fourth information indicating a second threshold and sending fifth indication information to the third network element when the amount of cached data in the second network element is lower than the second threshold, the fifth indication information indicating that the third network element does not require flow control or that the amount of cached data in the second network element is lower than the second threshold; and sending the fifth indication information to the third network element when the amount of cached data in the second network element is lower than the second threshold.

[0074] In this implementation, the first network element can determine the second threshold and send the second threshold to the second network element, and the second network element can determine whether it does not need flow control based on the second threshold. This is beneficial for the second network element to perform the step of stopping flow control when no flow control is needed, which is beneficial to ensuring data transmission rate and reducing data transmission latency.

[0075] In this implementation, after the third network element receives the fifth instruction information, it can increase the data transmission rate or start sending data, which helps to ensure the data transmission rate and thus helps to reduce the data transmission latency.

[0076] Fifthly, this application provides a communication device that can be used in a first network element according to the first aspect. The communication device can be the first network element, or a device applicable to the first network element (e.g., a chip, chip system, or circuit), or a logic module or software capable of implementing all or part of the functions of the first network element. One possible implementation includes modules or units for implementing the methods in the first aspect and any possible implementation of the first aspect. For example, it may include modules or units corresponding to the execution of the methods / operations / steps / actions described in the first aspect. These modules or units can be hardware circuits, software, or a combination of hardware circuits and software. Optionally, each module or unit can implement its corresponding function by executing a computer program.

[0077] Sixthly, this application provides a communication device that can be used in a second network element of any one of the second to fourth aspects. The communication device can be a second network element, or a device applicable to a second network element (e.g., a chip, chip system, or circuit), or a logic module or software capable of implementing all or part of the functions of the second network element. One possible implementation includes modules or units for implementing the methods of any one of the second to fourth aspects and any possible implementation thereof. For example, it may include modules or units corresponding to each of the methods / operations / steps / actions described in any one of the second to fourth aspects. These modules or units can be hardware circuits, software, or a combination of hardware circuits and software. Optionally, each module or unit can implement its corresponding function by executing a computer program.

[0078] In a seventh aspect, this application provides a communication device including a processor for executing a computer program (or computer-executable instructions) stored in a memory, and / or causing the device to perform a method as described in any of the first to fourth aspects and any possible implementation thereof via logic circuitry.

[0079] In one possible implementation, the device also includes a memory.

[0080] In one possible implementation, the processor and memory are integrated together.

[0081] In another possible implementation, the aforementioned memory is located outside the communication device.

[0082] In one possible implementation, the communication device further includes a communication interface for communicating with other devices, such as transmitting or receiving data and / or signals. Exemplarily, the communication interface may be a transceiver, circuit, bus, module, or other type of communication interface.

[0083] Eighthly, this application provides a computer-readable storage medium that stores a computer program or instructions for execution by a communication device, which, when executed on the communication device, causes the method described in any of the first to fourth aspects and any possible implementation thereof to be implemented.

[0084] Ninthly, this application provides a computer program product containing instructions that, when the computer program product is run on a communication device, cause the method described in any one of the first to fourth aspects and any possible implementation thereof to be implemented.

[0085] Tenthly, this application provides a communication system comprising a first network element and a second network element. The first network element is used to execute the method described in the first aspect and any possible implementation thereof. The second network element is used to execute the method described in any one of the second to fourth aspects and any possible implementation thereof.

[0086] It is understandable that the effects achievable in aspects two through ten can be referred to the description in aspect one, and will not be repeated here. Attached Figure Description

[0087] Figure 1 is a schematic diagram of the application scenarios applicable to this application;

[0088] Figure 2 is a schematic diagram of a network system architecture applicable to an embodiment of this application;

[0089] Figure 3 is a schematic diagram of the transmission method of TCP / IP network communication provided in an embodiment of this application;

[0090] Figure 4 is a schematic diagram of the transmission method of RDMA technology provided in an embodiment of this application;

[0091] Figure 5 is a schematic diagram of a forwarding device between a first communication node and a second communication node provided in an embodiment of this application;

[0092] Figure 6 is a schematic diagram of a PFC pause frame provided in an embodiment of this application;

[0093] Figure 7 is a schematic diagram of an ECN frame provided in an embodiment of this application;

[0094] Figure 8 is a schematic flowchart of a data flow control method provided in an embodiment of this application;

[0095] Figure 9 is a schematic flowchart of a data flow control method provided in another embodiment of this application;

[0096] Figure 10 is a schematic flowchart of a data flow control method provided in another embodiment of this application;

[0097] Figure 11 is a schematic flowchart of a data flow control method provided in another embodiment of this application;

[0098] Figure 12 is a schematic flowchart of a data flow control method provided in another embodiment of this application;

[0099] Figure 13 is a schematic diagram of the structure of a communication device provided in an embodiment of this application;

[0100] Figure 14 is a schematic diagram of the structure of a communication device provided in another embodiment of this application;

[0101] Figure 15 is a schematic diagram of the structure of a communication device provided in another embodiment of this application. Detailed Implementation

[0102] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings.

[0103] To facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with essentially the same function and effect. For example, "first information" and "second information" are only used to distinguish different information and do not limit their order. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and the terms "first" and "second" are not necessarily different.

[0104] In this application embodiment, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b and / or c can represent: a, b, c; a and b; a and c; b and c; or a and b and c. Here, a, b, and c can be single or multiple.

[0105] The technical solution of this application can be applied to cellular network systems, which may include fifth-generation (5G) communication systems, such as 5G new radio (NR) communication systems, or various communication systems evolved after 5G, such as sixth-generation (6G) communication systems.

[0106] Optionally, the cellular network system may include, but is not limited to: long term evolution (LTE), enhanced mobile broadband (eMBB), ultra-reliable and low-latency communications (URLLC), and enhanced machine-type communication (eMTC) in 5G mobile communication systems, as well as 6G mobile communication systems.

[0107] The embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0108] Figure 1 is a schematic diagram of the application scenario to which this application applies. As shown in Figure 1, the network system may include a first communication node and a second communication node, and data can be transmitted between the first communication node and the second communication node.

[0109] As an example, the first communication node can be a server or a client, and the second communication node can be a client or a terminal device.

[0110] In this application, the server can be used to provide services to the client, such as providing resources or storing client data. Optionally, the server can run on a server.

[0111] In this application, the client can also be referred to as a user terminal, which is a program that provides local services to the user. The client can receive data from the server, for example, it can render and display server data or resources to the user. The client can also be understood as software or an application. Optionally, the client can run on a terminal device.

[0112] In this application, the terminal device may also be referred to as a terminal, user equipment (UE), mobile station (MS), mobile terminal (MT), etc., or a device used to provide voice or data connectivity to users, or an Internet of Things (IoT) device. For example, terminal devices include handheld devices with wireless connectivity, vehicle-mounted devices, etc. Currently, terminal devices can include: mobile phones, tablets, laptops, PDAs, mobile internet devices (MIDs), wearable devices (such as smartwatches, smart bracelets, pedometers, smart glasses, etc.), in-vehicle devices (such as cars, bicycles, electric vehicles, airplanes, ships, trains, high-speed trains, etc.), satellite terminals, virtual reality (VR) devices, augmented reality (AR) devices, point-of-sale (POS) machines, customer-premises equipment (CPE), light UE, reduced capability UE (REDCAP UE), wireless terminals in industrial control, smart home devices (such as refrigerators, televisions, air conditioners, electricity meters, etc.), intelligent robots, robotic arms, workshop equipment, wireless terminals in autonomous driving, wireless terminals in telemedicine, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, or wireless terminals in smart homes, and flying equipment (such as intelligent robots, hot air balloons, drones, airplanes), etc. Terminal devices can also be vehicle devices, such as vehicle devices, vehicle modules, vehicle chips, on-board units (OBUs) or telematics boxes (T-BOXs). Terminal devices can also be other devices with terminal functions. For example, a terminal device can also be a device that performs terminal functions in D2D communication.

[0113] In this example, the device used to implement the terminal's functions can be a second communication node, or any device capable of supporting the terminal in implementing these functions, such as a chip system, a communication module, or a modem. This device can be installed in the second communication node. In this embodiment, the chip system can consist of chips or include chips and other discrete devices. The embodiments of this application do not limit the specific technology or device form used in the terminal.

[0114] In this example, the first communication node can send data to the second communication node, and the second communication node can also send data to the first communication device.

[0115] When the first communication node sends data to the second communication node, the first communication node is the source or sender, and the second communication node is the destination or receiver.

[0116] When the second communication node sends data to the first communication device, the second communication node is the source or sender, and the first communication node is the destination or receiver.

[0117] In this application, data transmission between the first communication node and the second communication node can be achieved through network devices. These network devices can be referred to as forwarding devices, switches, forwarding nodes, or intermediate nodes, etc., and this application does not limit the specific type of device. In this application, the first communication node, the second communication node, and the forwarding devices can all be referred to as transmission nodes.

[0118] Figure 2 is a schematic diagram of a network system architecture applicable to an embodiment of this application. This network system architecture may include terminal devices and network devices, and the network devices may include wireless access network (RAN) devices and core network devices.

[0119] The wireless access network equipment can be a device with wireless transceiver capabilities. This wireless access network equipment can be a device that provides wireless communication services, typically located on the network side, including but not limited to: next-generation base stations (gNodeB, gNB) in 5G communication systems, next-generation base stations in 6th generation (6G) mobile communication systems, base stations in future mobile communication systems, or access nodes in WiFi systems; evolved node B (eNB), radio network controller (RNC), home base station (e.g., home evolved NodeB, or home Node B, HNB), base band unit (BBU), transmission reception point (TRP), and transmitting point (TP) in long term evolution (LTE) systems.

[0120] Wireless access network equipment provides services to a cell. User equipment communicates with the base station through the transmission resources used by the cell. The cell can be the cell corresponding to the base station. The cell can belong to a macro base station or the base station corresponding to a small cell. The small cell can include: metro cell, micro cell, pico cell, femto cell, etc.

[0121] Wireless access network equipment can also function as a base station in device-to-device (D2D) communication, vehicle-to-everything (V2X) communication, drone communication, and machine-to-machine (M2M) communication. Optionally, wireless access network equipment can be a satellite, a macro base station, a micro base station, an indoor station, a relay node, or a donor node, providing wireless communication services to user equipment. It can also include wireless controllers, servers, relay stations, vehicles or in-vehicle equipment, wearable devices, and network equipment in future evolved networks within cloud radio access network (CRAN) scenarios. For example, in vehicle-to-everything (V2X) technology, the wireless access network equipment can be a roadside unit (RSU).

[0122] In another possible scenario, multiple radio access network (RAN) devices collaborate to assist terminals in achieving wireless access, with each RAN device implementing a portion of the base station's functions. For example, RAN devices can be central units (CUs), distributed units (DUs), CU-control plane (CPs), CU-user plane (UPs), or radio units (RUs). CUs and DUs can be separate entities or included in the same network element, such as a BBU. RUs can be included in radio equipment or radio units, such as remote radio units (RRUs), active antenna units (AAUs), or remote radio heads (RRHs). It is understood that RAN devices can be CU nodes, DU nodes, or devices comprising both CU and DU nodes. Furthermore, CUs can be classified as network devices within RAN devices or as network devices within core network devices; no limitation is imposed here.

[0123] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an open-radio access network (O-RAN) system, CU can also be called O-CU (open CU), DU can also be called O-DU, CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. For ease of description, this application uses CU, CU-CP, CU-UP, DU, and RU as examples. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software modules and hardware modules.

[0124] In this embodiment, the form of the wireless access network device is not limited. The device used to implement the function of the wireless access network device can be the wireless access network device itself; it can also be a device that supports the wireless access network device in implementing the function, such as a chip system. The device can be installed in the wireless access network device or used in conjunction with the wireless access network device.

[0125] In this application, the wireless access network equipment and terminals can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can also be deployed in the air on aircraft, balloons, and satellites. The embodiments of this application do not limit the application scenarios of the wireless access network equipment and terminals.

[0126] Core network equipment is mainly used to provide user connectivity, manage users, and carry out services. It can serve as an interface to external networks to process and distribute services across the entire network.

[0127] Core network equipment may include policy control function (PCF) network elements, access and mobility management function (AMF) network elements, session management function (SMF) network elements, user plane function (UPF) network elements, unified data management (UDM) network elements, and data network (DN), etc.

[0128] Among them, the PCF network element is mainly responsible for generating UE access policies and QoS flow control policies.

[0129] The AMF network element is mainly used to perform registration, connection, reachability, and mobility management, provide session management message transmission channels for UE and SMF network elements, provide authentication and authorization functions for user access, and serve as the core network control plane access point for terminals and radio.

[0130] The SMF network element is mainly responsible for tunnel maintenance, Internet Protocol (IP) address allocation and management, UP function selection, policy implementation and QoS parameter control, billing control collection, roaming, etc.

[0131] UPF network elements are primarily responsible for routing and forwarding user plane data packets in the 5G core network.

[0132] UDM network elements are mainly used for user contract management, access authorization, and authentication information generation.

[0133] A data network is a network used to provide data transmission services, and it may contain devices that provide data transmission services. As an example, the data network may contain servers.

[0134] In some embodiments, the server in the data network can be a first communication node, and the terminal device can be a second communication node.

[0135] It is understood that the network system architecture shown in Figure 2 is only a simple example and does not limit the scope of the network system in this application. Optionally, the network system to which this application applies may also include other network elements, such as flow plane function (TPF) network elements.

[0136] In this application, the number of the first communication node, the second communication node, and the network device is not limited. For example, the number of network devices can be at least one, and data transmission between the first communication node and the second communication node can be performed through this at least one network device.

[0137] In some implementations, when the first communication node and the second communication node transmit data, data transmission can be carried out through the transmission control protocol / internet protocol (TCP / IP) network communication mode.

[0138] Figure 3 is a schematic diagram of a TCP / IP network communication transmission method provided in an embodiment of this application. In this method, when the first communication node transmits data to the second communication node, or when the first communication node receives data from the second communication node, the data needs to be transmitted through the operating system kernel (also known as the kernel).

[0139] For example, when the first communication node transmits application data to the second communication node, it can first transmit the application data to the kernel, then transmit the application data to the network interface through the kernel, and finally transmit the application data to the second communication node through the network interface.

[0140] In this method, when data is transmitted between the first communication node and the second communication node, problems such as high data transmission overhead and high data transmission delay are likely to occur.

[0141] Optionally, in some implementations, data transmission between the first and second communication nodes can also be performed using remote direct memory access (RDMA) technology. In this implementation, both the first and second communication nodes include an Ethernet network interface card (NIC) with RDMA functionality. Optionally, the RDMA NIC can also be referred to as an RDMA network interface.

[0142] Figure 4 is a schematic diagram of the transmission method of RDMA technology provided in an embodiment of this application. In this method, when the first communication node transmits data to the second communication node, or when the first communication node receives data from the second communication node, it is not necessary to transmit data through the operating system kernel.

[0143] For example, when the first communication node transmits application data to the second communication node, the RDMA network interface can directly read the application data from memory and then transmit the read application data to the second communication node.

[0144] In this method, data transmission between the first and second communication nodes does not require the intervention of the operating system kernel, which reduces data transmission overhead and latency.

[0145] Currently, communication technologies that support RDMA include: InfiniBand (IB), RDMA over converged ethernet (RoCE), and Internet wide area RDMA protocol (iWARP).

[0146] Among them, IB is a RDMA technology based on the IB architecture. It provides a channel-based point-to-point message queue forwarding model, where each application can directly obtain its own data messages through the created virtual channel without the intervention of other operating systems and protocol stacks. The application layer of the IB architecture uses RDMA technology, which can provide RDMA read and write access between remote nodes, completely offloading the workload of the central processing unit (CPU). The network transmission uses high-bandwidth transmission, and the link layer sets up a specific retransmission mechanism to ensure service quality, without the need for data buffering.

[0147] RoCE can include the following versions: RoCE v1 and RoCE v2. RoCE v1 is an Ethernet-based RDMA that can only be deployed in Layer 2 networks. Its message structure adds a Layer 2 Ethernet header to the existing IB architecture message, and identifies the RoCE message through the Ethernet frame field Ethertype 0x8915. RoCE v2 is a UDP / IP-based RDMA that can be deployed in Layer 3 networks. Its message structure adds a UDP header, an IP header, and a Layer 2 Ethernet header to the existing IB architecture message, and identifies the RoCE message through the UDP destination port number 4791.

[0148] iWARP is an RDMA technology based on Ethernet and TCP / IP protocols, and can run on standard Ethernet infrastructure. iWARP does not specify physical layer information, so it can work on any network layer using the TCP / IP protocol. iWARP allows many transport types to share the same physical connection, such as network, I / O, file system, block storage, and inter-processor message communication.

[0149] The basic communication unit of RDMA is the queue pair (QP), and there are many communication models (or service types) based on QP, such as reliable connection (RC), unreliable connection (UC), reliable datagram (RD), and unreliable datagram (UD).

[0150] In cellular network systems, network congestion often occurs during data transmission between the first and second communication nodes, leading to data loss, increased data transmission latency, decreased throughput, and even potential network paralysis. Therefore, flow control is necessary to avoid network congestion.

[0151] For example, in 6G scenarios, there is a need to support RDMA technology to reduce CPU load, meaning there is a need to integrate 6G and RDMA technologies. In scenarios where 6G and RDMA technologies are integrated, data flow control is also required to avoid network congestion.

[0152] Currently, existing data flow control methods can include: priority flow control (PFC), explicit congestion notification (ECN), backward explicit congestion notification (BECN), and forward explicit congestion notification (FECN).

[0153] Any communication device can include an output port and an input port. Optionally, each port can contain eight queues, each of which can correspond to a priority level, and data with different priorities can be buffered in different queues.

[0154] As an example, suppose that each port has eight queues, each containing queues 0 through 7, and suppose that the priority of each port's eight queues is 0 through 7. Then, data with priority 0 will be cached in queue 0, data with priority 1 will be cached in queue 1, and so on, with data with priority 7 being cached in queue 7.

[0155] PFC refers to the data buffered at the ingress port of the transmission node, and it is applicable to both RoCEv1 and RoCEv2.

[0156] For PFC, if the amount of data buffered at the ingress port of a transmission node reaches a first threshold, the transmission node can send a PFC pause frame to the next higher-level transmission node. This PFC pause frame may contain the time during which data transmission needs to be paused. Upon receiving this PFC pause frame, the next-level transmission node can then pause sending data to the previous transmission node.

[0157] Optionally, assuming the amount of data buffered in the input port of the transmission node is lower than the second threshold, the transmission node can send a PFC recovery frame to the next higher-level transmission node. This PFC recovery frame may contain indication information for sending data. Upon receiving the PFC recovery frame, the next higher-level transmission node can then send data to the transmission node.

[0158] As shown in Figure 5, assume that the forwarding devices between the first and second communication nodes include forwarding device 1 and forwarding device 2. In this example, the first communication node is the source and the second communication node is the destination.

[0159] If the amount of data cached in the ingress port of forwarding device 2 reaches the first threshold, forwarding device 2 can send a PFC pause frame to forwarding device 1.

[0160] Optionally, when the amount of data cached in the ingress port of forwarding device 2 is lower than the second threshold, forwarding device 2 may send a PFC recovery frame to forwarding device 1.

[0161] Optionally, for any ingress port of a transmission node, each of the eight queues can correspond to a first threshold and a second threshold. The first thresholds corresponding to different queues can be different, and the second thresholds corresponding to different queues can also be different.

[0162] If the amount of cached data in at least one of these eight queues reaches the first threshold for that queue, the transmission node can send a PFC pause frame to the next higher-level transmission node. This PFC pause frame may include the time during which data transmission for the priority corresponding to that queue needs to be paused. Upon receiving this PFC pause frame, the next-level transmission node can then pause sending data corresponding to the priority of that queue to the current transmission node.

[0163] Optionally, if the amount of cached data in the queue is lower than the second threshold of the queue, the transmission node can send a PFC recovery frame to the next higher-level transmission node. This PFC recovery frame may contain indication information for sending data corresponding to the priority of the queue. Upon receiving the PFC recovery frame, the next higher-level transmission node can then send the data corresponding to the priority of the queue to the transmission node.

[0164] Taking Figure 5 as an example, assuming that the amount of data cached in queue 7 in the ingress port of forwarding device 2 reaches the first threshold of queue 7, then forwarding device 2 can send a PFC pause frame to forwarding device 1. This PFC pause frame contains the time that data with priority 7 needs to be paused for transmission.

[0165] In this method, Figure 6 is a schematic diagram of a PFC pause frame provided in an embodiment of this application. As shown in Figure 6, the RFC pause frame may include fields such as a control opcode, a priority-enable vector, and a priority timer. The control opcode is two bytes long, and the control opcode corresponding to the PFC pause frame is 0x0101. The priority-enable vector can be represented by E(n), where n corresponds to the priority. When E(n) equals 1, it indicates that the queue with priority n needs backpressure, or in other words, data with priority n needs to be paused. When E(n) equals 0, it indicates that the queue with priority n does not need backpressure, or in other words, data with priority n does not need to be paused. The length of the priority-enable vector can be two bytes. The priority timer indicates the time when backpressure is needed. The priority timer can be represented by timer(n) (which can be denoted as time(n)), and timer(n) indicates the time when the queue with priority n needs backpressure. Specifically, when timer(n) equals 0, it indicates that the queue with priority n no longer needs backpressure.

[0166] ECN refers to the data buffered at the outgoing port of the transmission node, and ECN is applicable to RoCEv2.

[0167] For ECN, if the amount of buffered data at the outgoing port of a transmission node reaches a first threshold, that transmission node can send an ECN congestion flag to the next-level transmission node. This ECN congestion flag indicates that congestion has occurred in the network. Upon receiving the ECN congestion flag, the next-level transmission node can send its own ECN congestion flag to the next-lower level transmission node, until the destination node receives the ECN congestion flag. Once the destination node receives the ECN congestion flag, it can send a Congestion Notification Packet (CNP) to the source node. Upon receiving the CNP congestion notification packet, the source node can reduce its data transmission rate or suspend data transmission.

[0168] Optionally, the ECN congestion flag can be carried in the message along with the transmitted data.

[0169] Referring to Figure 5, assuming that the amount of data cached at the outgoing port of forwarding device 1 reaches a first threshold, forwarding device 1 can send an ECN congestion flag to forwarding device 2, and then forwarding device 2 can send an ECN congestion flag to the second communication node. After receiving the ECN congestion flag, the second communication node can send a congestion notification message to the first communication node to notify the first communication node to reduce the data transmission rate or suspend data transmission.

[0170] Optionally, ECN congestion flags can be indicated via ECN frames.

[0171] Figure 7 is a schematic diagram of an ECN frame provided in an embodiment of this application. In this example, the ECN frame contains four values: 00, 01, 10, and 11. When the value of the ECN frame is 00, it indicates that the device does not support ECN; when the value of the ECN frame is 01 or 10, it indicates that the device supports ECN; when the value of the ECN frame is 11, it indicates that the device is congested.

[0172] BECN and FECN also refer to the data buffered at the outgoing port of the transmission node, and BECN and FECN can be applied to IB.

[0173] Specifically, for BECN, if the amount of data cached in the output port of a transmission node reaches a first threshold, the transmission node can send a BECN congestion flag to the source. After receiving the BECN congestion flag, the source can reduce the data transmission rate or suspend data transmission.

[0174] Optionally, the BECN congestion flag can be indicated via BECN frames. In some examples, the BECN frame can contain two values: 0 or 1. A BECN frame value of 0 indicates that the device is not congested. A BECN frame value of 0 indicates that the device is congested.

[0175] For FECN, if the amount of data cached at the outgoing port of a transmission node reaches a first threshold, the transmission node can send an FECN congestion flag to the destination. After receiving the FECN congestion flag, the destination can send a congestion notification message to the source. After receiving the congestion notification message, the source can reduce the data transmission rate or suspend data transmission.

[0176] Optionally, the FECN congestion flag can be indicated via FECN frames. In some examples, the FECN frame can contain two values: 0 or 1. A value of 0 in the FECN frame indicates that the device is not congested. A value of 0 in the FECN frame indicates that the device is congested.

[0177] However, existing flow control schemes are designed for existing RDMA technology. In scenarios where 6G and RDMA technologies are integrated, no flow control scheme for data has been proposed. Therefore, this application provides a new technical solution for flow control of data transmission between a first communication node and a second communication node. This method is applicable to scenarios where 6G and RDMA technologies are integrated.

[0178] In the technical solution of this application, the first network element can first determine a first threshold, which is used by the first network element or the second network element to determine whether the second network element is congested. If the first network element learns that the second network element is congested, it can send a first indication message to the second network element, which is used by the second network element to perform flow control.

[0179] In this method, the first network element can be any type of control plane network element in the system shown in Figure 2. As an example, the first network element can be an SMF network element.

[0180] In this method, the second network element can be any forwarding device used for data transmission between the first and second communication nodes, as shown in Figure 1. As an example, the second network element can be a radio access network device in the system shown in Figure 2. As another example, the second network element can also be a user plane network element in the system shown in Figure 2, such as a UPF network element. As yet another example, the second network element can also be other network elements, such as a TPF network element.

[0181] Optionally, the first network element can send a first threshold to the second network element. When the amount of cached data in the second network element reaches the first threshold, it can send a second indication message to the first network element. The second indication message indicates that congestion has occurred in the second network element or that the amount of cached data in the second network element has reached the first threshold. Correspondingly, after receiving the second indication message, the first network element can send a first indication message to the second network element.

[0182] Optionally, the second network element can send cache status information to the first network element, and the cache status information may include the amount of cached data in the second network element. When the amount of cached data in the second network element reaches a first threshold, the first network element can send a first indication message to the second network element.

[0183] In this method, if congestion occurs in the second network element, the second network element can perform flow control based on the received first indication information, which helps to avoid network congestion.

[0184] Optionally, the first network element can also determine a second threshold based on the caching capacity of the second network element. This second threshold is used by the first or second network element to determine that flow control is not required. When the amount of cached data in the second network element is lower than the second threshold, a third indication message can be sent to the second network element. This third indication message is used by the second network element to stop flow control.

[0185] In this method, when the second network element does not require flow control, the second network element can stop flow control based on the received third indication information. This helps to ensure the data transmission rate and thus helps to reduce transmission latency.

[0186] Next, this application will provide a detailed description of the scheme in conjunction with Figures 8 to 15.

[0187] Figure 8 is a schematic flowchart of a data flow control method provided in one embodiment of this application. This data flow control method can be applied to scenarios where 6G and RDMA technologies are integrated, that is, to data transmission methods based on the integration of 6G and RDMA technologies. Optionally, this data flow control method can also be applied to other communication systems, such as 5G communication systems. Optionally, this data flow control method can also be applied to other data transmission methods, such as data transmission methods based on RDMA technology or TCP / IP data transmission methods.

[0188] S801, the first network element determines the first threshold, and the first threshold is used by the first network element or the second network element to determine whether the second network element is congested.

[0189] In this method, the first network element can be any type of control plane network element in the system shown in Figure 2. As an example, the first network element can be an SMF network element.

[0190] In this method, the second network element can be any forwarding device used for data transmission between the first and second communication nodes, as shown in Figure 1. As an example, the second network element can be a radio access network device in the system shown in Figure 2. As another example, the second network element can also be a user plane network element in the system shown in Figure 2, such as a UPF network element, etc. As yet another example, the second network element can also be other network elements, such as a TPF network element.

[0191] Optionally, the first threshold can be determined by the first network element based on the caching capacity of the second network element.

[0192] Optionally, the caching capacity of the second network element may include the maximum amount of data that the second network element can cache. In this application, the amount of data cached by the second network element can be the amount of data cached by the ingress port or egress port of the second network element, and the maximum amount of data that the second network element can cache can be the maximum amount of data that the ingress port or egress port of the second network element can cache.

[0193] Optionally, the amount of data cached by the second network element can also be described as the amount of data cached in the second network element.

[0194] Optionally, the method for the first network element to determine the first threshold may include: first, the second network element sends its buffering capacity to the first network element, and correspondingly, the first network element receives the buffering capacity of the second network element. Then, the first network element determines the first threshold based on the buffering capacity of the second network element.

[0195] As an example, the first threshold can be 60% of the maximum amount of data that the second network element can cache.

[0196] S802, the first network element learns that the second network element is experiencing congestion.

[0197] In this method, before the first network element learns that the second network element is congested, it can also send a first message to the second network element. The first message indicates a first threshold and sends a second indication message when the amount of data cached in the second network element reaches the first threshold. Alternatively, the first message indicates that the second network element reports its cache status information. The second indication message indicates that the second network element is congested or that the amount of data cached in the second network element reaches the first threshold.

[0198] In this method, the cache status information of the second network element may include the amount of cached data in the second network element, or the percentage of cached data in the second network element, etc. This application will subsequently illustrate this by taking the example of the cache status of the second network element including the amount of cached data in the second network element.

[0199] Optionally, this initial information can be carried in a buffer action rule (BAR).

[0200] In this method, when the first network element sends the first information to the second network element, it can do so through the network interface.

[0201] As an example, when the first network element is an SMF network element and the second network element is a wireless access network device, the first network element can send the first information to the second network element through the N2 interface.

[0202] As another example, when the first network element is an SMF network element and the second network element is a UPF network element, the first network element can send the first information to the second network element through the N4 interface.

[0203] In this method, the first network element can determine whether the second network element is congested based on the second indication information, or based on the cache status information of the second network element.

[0204] In this method, the second network element can only send the second instruction information or the second network element's buffer status information to the first network element after receiving the first information. This avoids the situation where the second network element sends the second instruction information or the second network element's buffer status information to the first network element in scenarios where flow control is not required, thereby avoiding the waste of unnecessary communication resources and transmission overhead.

[0205] In one possible implementation, when the first information indicates a first threshold and the amount of data cached in the second network element reaches the first threshold, the method by which the first network element learns that the second network element is congested may include: when the amount of data cached in the second network element reaches the first threshold, the second network element generates the second indication information and sends the second indication information to the first network element, and the first network element receives the second indication information accordingly; the first network element determines that the second network element is congested based on the second indication information.

[0206] Optionally, the second indication information may also be called congestion indication information or reverse pressure control indication information.

[0207] Optionally, the second indication information may be carried in other information. As an example, the second indication information may be carried in the Radio Access Technology Buffer Usage Report (RAT-buffer-usage-report) information or in the URR (usage report rule).

[0208] In this method, when the second network element sends the second indication information to the first network element, it can also send it through the network interface.

[0209] As an example, when the first network element is an SMF network element and the second network element is a wireless access network device, the second network element can send a second indication message to the first network element through the N2 interface.

[0210] As another example, when the first network element is an SMF network element and the second network element is a UPF network element, the second network element can send the second indication information to the first network element through the N4 interface.

[0211] In this implementation, the second network element can determine whether it is congested based on the first threshold, without needing to rely on the first network element for judgment. This reduces the processing pressure on the first network element and helps improve its processing efficiency.

[0212] In another possible implementation, when the first information instructs the second network element to report its cache status information, the method by which the first network element learns that the second network element is congested may include: the second network element generating its cache status information and reporting it to the first network element; correspondingly, the first network element receiving the cache status information of the second network element; and the first network element determining that the second network element is experiencing congestion based on the cache status information of the second network element and a first threshold.

[0213] Optionally, the buffer status information of the second network element can also be carried in other information. As an example, the buffer status information of the second network element can be carried in the RAT-buffer-usage-report information or the URR.

[0214] In this method, when the second network element sends its cache status information to the first network element, it can also send the second network element's cache status information to the first network element through the network interface.

[0215] As an example, when the first network element is an SMF network element and the second network element is a wireless access network device, the second network element can send the buffer status information of the second network element to the first network element through the N2 interface.

[0216] As another example, when the first network element is an SMF network element and the second network element is a UPF network element, the second network element can send the buffer status information of the second network element to the first network element through the N4 interface.

[0217] Optionally, when the second network element reports its cache status information to the first network element, it can do so periodically or non-periodically.

[0218] In this method, if the amount of data cached in the second network element reaches a first threshold, the first network element can determine that the second network element is congested.

[0219] In this implementation, the first network element does not need to send the first threshold to the second network element, which helps to reduce the transmission overhead between the first network element and the second network element.

[0220] S803, the first network element sends a first instruction message to the second network element, and the first instruction message is used by the second network element to perform flow control.

[0221] In this method, the first indication information may include a first parameter, which indicates that the first bit rate is a first value or a decrease of the first bit rate. The first value is lower than a second value, and the second value is the value of the first bit rate indicated by the first network element to the second network element at the first moment. The second network element is not congested at the first moment.

[0222] The first bit rate may include at least one of the following: UE-aggregate maximum bit rate (UE-AMBR), session-aggregate maximum bit rate (session-AMBR), maximum flow bit rate (MFBR), or guaranteed flow bit rate (GFBR).

[0223] Optionally, when the second network element is a radio access network device, the first bit rate can be MFBR and / or GFBR. The MFBR and / or GFBR can be UE-level; different UEs may have the same or different MFBRs, and different UEs may have the same or different GFBRs.

[0224] In this method, the second value can be determined by the first network element based on service requirements. When the second network element is not congested, the amount of data transmitted by the second network element needs to reach this second value in order to better meet service requirements.

[0225] When the first bit rate is MFBR and the MFBRs corresponding to different UEs are the same, the number of first bit rates indicated by the first parameter in the first indication information can be one.

[0226] When the first bit rate is MFBR and different MFBRs are corresponding to different UEs, the number of first bit rates indicated by the first parameter in the first indication information can be multiple, and the number of first bit rates can be equal to the number of UEs.

[0227] When the first bit rate is GFBR and the GFBRs corresponding to different UEs are the same, the number of first bit rates indicated by the first parameter in the first indication information can be one.

[0228] When the first bit rate is GFBR and different GFBRs are corresponding to different UEs, the number of first bit rates indicated by the first parameter in the first indication information can be multiple, and the number of first bit rates can be equal to the number of UEs.

[0229] Optionally, when the second network element is a UPF network element, the first bit rate can be UE-AMBR and / or session-AMBR. The UE-AMBR and / or session-AMBR can be UE-level; the UE-AMBR corresponding to different UEs can be the same or different, and the session-AMBR corresponding to different UEs can be the same or different.

[0230] When the first bit rate is UE-AMBR and different UEs have the same UE-AMBR, the number of first bit rates indicated by the first parameter in the first indication information can be one.

[0231] When the first bit rate is UE-AMBR and different UEs correspond to different UEs, the number of first bit rates indicated by the first parameter in the first indication information can be multiple, and the number of first bit rates can be equal to the number of UEs.

[0232] When the first bit rate is session-AMBR and the session-AMBR is the same for different UEs, the number of first bit rates indicated by the first parameter in the first indication information can be one.

[0233] When the first bit rate is session-AMBR and different UEs have different session-AMBRs, the number of first bit rates indicated by the first parameter in the first indication information can be multiple, and the number of first bit rates can be equal to the number of UEs.

[0234] In this method, when the first network element sends the first indication information to the second network element, it can do so through the network interface.

[0235] As an example, when the first network element is an SMF network element and the second network element is a wireless access network device, the first network element can send the first indication information to the second network element through the N2 interface.

[0236] As another example, when the first network element is an SMF network element and the second network element is a UPF network element, the first network element can send the first indication information to the second network element through the N4 interface.

[0237] Optionally, when the first network element is an SMF network element, the SMF network element can also send the first parameter to the PCF network element.

[0238] In this method, the first network element can determine different network states based on whether the second network element is congested. This allows the first network element to control the Quality of Service (QoS) flow parameters according to different network states, ensuring that the QoS flow parameters meet service requirements under different network states. For example, if it is determined that the second network element is congested, the first network element can adjust the values ​​of the QoS parameters based on the first indication information. This allows the second network element to perform flow control based on the parameter values ​​in the first indication information, thereby helping to avoid network congestion while meeting service requirements.

[0239] Optionally, in this method, after the second network element performs flow control, it can also determine whether to stop flow control. Next, this application will describe the method for stopping flow control in conjunction with Figure 9.

[0240] Figure 9 is a schematic flowchart of a data flow control method provided in another embodiment of this application. This data flow control method can be applied to scenarios where 6G and RDMA technologies are integrated, that is, to data transmission methods based on the integration of 6G and RDMA technologies. Optionally, this data flow control method can also be applied to other communication systems, such as 5G communication systems. Optionally, this data flow control method can also be applied to other data transmission methods, such as data transmission methods based on RDMA technology or TCP / IP data transmission methods.

[0241] S901, the first network element determines the second threshold, and the second threshold is used by the first network element or the second network element to determine the second network element without flow control.

[0242] In this method, the first network element can be any type of control plane network element in the system shown in Figure 2. As an example, the first network element can be an SMF network element.

[0243] In this method, the second network element can be any forwarding device used for data transmission between the first and second communication nodes, as shown in Figure 1. As an example, the second network element can be a radio access network device in the system shown in Figure 2. As another example, the second network element can also be a user plane network element in the system shown in Figure 2, such as a UPF network element. As yet another example, the second network element can also be other network elements, such as a TPF network element.

[0244] Optionally, the second threshold can be determined by the first network element based on the caching capability of the second network element.

[0245] Optionally, the caching capacity of the second network element may include the maximum amount of data that the second network element can cache. In this application, the amount of data cached by the second network element can be the amount of data cached by the ingress port or egress port of the second network element, and the maximum amount of data that the second network element can cache can be the maximum amount of data that the ingress port or egress port of the second network element can cache.

[0246] Optionally, the amount of data cached by the second network element can also be described as the amount of data cached in the second network element.

[0247] Optionally, the method for the first network element to determine the second threshold may include: first, the second network element sends its buffering capacity to the first network element, and correspondingly, the first network element receives the buffering capacity of the second network element. Then, the first network element determines the second threshold based on the buffering capacity of the second network element.

[0248] As an example, the second threshold can be 20% of the maximum amount of data that the second network element can cache.

[0249] S902: The first network element learns that the second network element does not require flow control.

[0250] In this method, before the first network element learns that the second network element does not require flow control, it can also send a second message to the second network element. The second message indicates a second threshold and sends a fourth indication message when the amount of cached data in the second network element is lower than the second threshold. Alternatively, the second message indicates that the second network element should report its cache status information. The fourth indication message indicates that the second network element does not require flow control or that the amount of cached data in the second network element is lower than the second threshold.

[0251] In this method, the cache status information of the second network element may include the amount of cached data in the second network element, or the percentage of cached data in the second network element, etc.

[0252] Optionally, this second information can be carried in the BAR.

[0253] In this method, when the first network element sends the second information to the second network element, it can do so through the network interface.

[0254] As an example, when the first network element is an SMF network element and the second network element is a wireless access network device, the first network element can send the second information to the second network element through the N2 interface.

[0255] As another example, when the first network element is an SMF network element and the second network element is a UPF network element, the first network element can send the second information to the second network element through the N4 interface.

[0256] In this implementation, the second network element can only send the fourth instruction information or the second network element's buffer status information to the first network element after receiving the second information. This avoids the situation where the second network element sends the fourth instruction information or the second network element's buffer status information to the first network element in scenarios without flow control, thereby avoiding the waste of unnecessary communication resources and transmission overhead.

[0257] In one possible implementation, when the second information indicates a second threshold and the amount of data cached in the second network element is lower than the second threshold, and a fourth indication information is sent, the method by which the first network element learns that the second network element does not need flow control may include: when the amount of data cached in the second network element is lower than the second threshold, the second network element generates a fourth indication information and sends the fourth indication information to the first network element, and correspondingly, the first network element receives the fourth indication information; the first network element determines that the second network element does not need flow control based on the fourth indication information.

[0258] Optionally, the fourth indication information may also be called congestion pause indication information or backpressure recovery control indication information.

[0259] Optionally, the fourth instruction information can also be carried in other information. As an example, the fourth instruction information can be carried in the RAT-buffer-usage-report information or the URR.

[0260] In this method, when the second network element sends the fourth indication information to the first network element, it can also send it through the network interface.

[0261] As an example, when the first network element is an SMF network element and the second network element is a wireless access network device, the second network element can send the fourth indication information to the first network element through the N2 interface.

[0262] As another example, when the first network element is an SMF network element and the second network element is a UPF network element, the second network element can send the fourth indication information to the first network element through the N4 interface.

[0263] In this implementation, the second network element can determine that it does not need flow control based on the second threshold, without needing to be judged by the first network element. This can reduce the processing pressure on the first network element and help improve its processing efficiency.

[0264] In another possible implementation, when the second information instructs the second network element to report its cache status information, the method by which the first network element learns that the second network element does not require flow control may include: the second network element generating its cache status information and reporting it to the first network element; correspondingly, the first network element receiving the cache status information of the second network element; and the first network element determining that the second network element does not require flow control based on the cache status information of the second network element and a second threshold.

[0265] Optionally, the buffer status information of the second network element can also be carried in other information. As an example, the buffer status information of the second network element can be carried in the RAT-buffer-usage-report information or the URR.

[0266] In this method, when the second network element sends its cache status information to the first network element, it can also send the second network element's cache status information to the first network element through the network interface.

[0267] As an example, when the first network element is an SMF network element and the second network element is a wireless access network device, the second network element can send the buffer status information of the second network element to the first network element through the N2 interface.

[0268] As another example, when the first network element is an SMF network element and the second network element is a UPF network element, the second network element can send the buffer status information of the second network element to the first network element through the N4 interface.

[0269] Optionally, when the second network element reports its cache status information to the first network element, it can do so periodically or non-periodically.

[0270] In this method, if the amount of data cached in the second network element is lower than the second threshold, the first network element can determine that the second network element does not require flow control.

[0271] In this implementation, the first network element does not need to send the second threshold to the second network element, which helps to reduce the transmission overhead between the first network element and the second network element.

[0272] S903, the first network element sends a third indication message to the second network element, the third indication message being used by the second network element to stop flow control. Correspondingly, the second network element receives the third indication message.

[0273] In this method, the third indication information may include a second parameter, which indicates that the first bit rate is a third value or an increase of the first bit rate. The third value is higher than the first value, and the first value is the value of the first bit rate when the amount of cached data in the second network element reaches a first threshold.

[0274] The first bit rate may include at least one of the following: UE-AMBR, session-AMBR, MFBR, or GFBR.

[0275] Optionally, when the second network element is a radio access network device, the first bit rate can be MFBR and / or GFBR. The MFBR and / or GFBR can be UE-level; different UEs may have the same or different MFBRs, and different UEs may have the same or different GFBRs.

[0276] When the first bit rate is MFBR and the MFBR is the same for different UEs, the number of first bit rates indicated by the second parameter in the third indication information can be one.

[0277] When the first bit rate is MFBR and different MFBRs are corresponding to different UEs, the number of first bit rates indicated by the second parameter in the third indication information can be multiple, and the number of first bit rates can be equal to the number of UEs.

[0278] When the first bit rate is GFBR and the GFBRs corresponding to different UEs are the same, the number of first bit rates indicated by the second parameter in the third indication information can be one.

[0279] When the first bit rate is GFBR and different GFBRs are corresponding to different UEs, the number of first bit rates indicated by the second parameter in the third indication information can be multiple, and the number of first bit rates can be equal to the number of UEs.

[0280] Optionally, when the second network element is a UPF network element, the first bit rate can be UE-AMBR and / or session-AMBR. The UE-AMBR and / or session-AMBR can be UE-level; the UE-AMBR corresponding to different UEs can be the same or different, and the session-AMBR corresponding to different UEs can be the same or different.

[0281] When the first bit rate is UE-AMBR and the UE-AMBR is the same for different UEs, the number of first bit rates indicated by the second parameter in the third indication information can be one.

[0282] When the first bit rate is UE-AMBR and different UEs correspond to different UEs, the number of first bit rates indicated by the second parameter in the third indication information can be multiple, and the number of first bit rates can be equal to the number of UEs.

[0283] When the first bit rate is session-AMBR and the session-AMBR is the same for different UEs, the number of first bit rates indicated by the second parameter in the third indication information can be one.

[0284] When the first bit rate is session-AMBR and different UEs have different session-AMBRs, the number of first bit rates indicated by the second parameter in the third indication information can be multiple, and the number of first bit rates can be equal to the number of UEs.

[0285] In this method, when the first network element sends the third indication information to the second network element, it can do so through the network interface.

[0286] As an example, when the first network element is an SMF network element and the second network element is a wireless access network device, the first network element can send third indication information to the second network element through the N2 interface.

[0287] As another example, when the first network element is an SMF network element and the second network element is a UPF network element, the first network element can send third indication information to the second network element through the N4 interface.

[0288] Optionally, when the first network element is an SMF network element, the SMF network element can also send a second parameter to the PCF network element.

[0289] In this implementation, if the first network element determines that the second network element does not require flow control, it can adjust the value of the service quality parameter based on the third indication information, which is conducive to better meeting business needs.

[0290] In addition, the second network element can determine the value of increasing the first bit rate based on the second parameter, so that the second network element can increase the data reception rate, thereby helping to ensure the data transmission rate.

[0291] Next, this application will further describe the scheme of this application in conjunction with Figures 10 and 11.

[0292] Figure 10 is a schematic flowchart of a data flow control method provided in another embodiment of this application. This data flow control method can be applied to scenarios where 6G and RDMA technologies are integrated, that is, to data transmission methods based on the integration of 6G and RDMA technologies. Optionally, this data flow control method can also be applied to other communication systems, such as 5G communication systems. Optionally, this data flow control method can also be applied to other data transmission methods, such as data transmission methods based on RDMA technology or TCP / IP data transmission methods.

[0293] S1001, the first network element determines the first threshold.

[0294] In this method, the first network element can be any type of control plane network element in the system shown in Figure 2. As an example, the first network element can be an SMF network element.

[0295] Optionally, the first threshold can be determined by the first network element based on the caching capacity of the second network element.

[0296] In this method, the second network element can be any forwarding device used for data transmission between the first and second communication nodes, as shown in Figure 1. As an example, the second network element can be a radio access network device in the system shown in Figure 2. As another example, the second network element can also be a user plane network element in the system shown in Figure 2, such as a UPF network element. As yet another example, the second network element can also be other network elements, such as a TPF network element.

[0297] Optionally, the caching capacity of the second network element may include the maximum amount of data that the second network element can cache. In this application, the amount of data cached by the second network element can be the amount of data cached by the ingress port or egress port of the second network element, and the maximum amount of data that the second network element can cache can be the maximum amount of data that the ingress port or egress port of the second network element can cache.

[0298] Optionally, the amount of data cached by the second network element can also be described as the amount of data cached in the second network element.

[0299] Optionally, the method for the first network element to determine the first threshold can refer to the relevant content in the aforementioned S801, and will not be repeated here.

[0300] S1002, the first network element sends first information to the second network element, the first information indicating a first threshold and when the amount of data cached in the second network element reaches the first threshold, a second indication information is sent, the second indication information indicating that the second network element is congested or the amount of data cached in the second network element reaches the first threshold.

[0301] Optionally, the first information can be carried in the BAR.

[0302] In this method, the way the first network element sends the first information to the second network element can refer to the relevant steps in S802 above, and will not be repeated here.

[0303] S1003, when the amount of data cached in the second network element reaches the first threshold, the second network element sends a second indication message to the first network element. Correspondingly, the first network element receives the second indication message.

[0304] In this method, the second instruction information is generated before the second network element sends the second instruction information to the first network element.

[0305] In this method, the way the second network element sends the second indication information to the first network element can refer to the relevant content in the aforementioned S802, and will not be repeated here.

[0306] S1004, the first network element determines that the second network element is congested based on the second indication information.

[0307] S1005, the first network element sends a first instruction information to the second network element, and the first instruction information is used by the second network element to perform flow control.

[0308] In this method, the first indication information and the step of the first network element sending the first indication information to the second network element can be referred to the relevant content in S803 above, and will not be repeated here.

[0309] S1006, the first network element determines the second threshold.

[0310] Optionally, the method for the first network element to determine the second threshold can refer to the relevant content in the aforementioned S901, and will not be repeated here.

[0311] Optionally, in some possible implementations, the first network element can execute S1001 and S1006 simultaneously.

[0312] S1007, the first network element sends second information to the second network element, the second information indicating a second threshold and sending a fourth indication information when the amount of data cached in the second network element is lower than the second threshold, the fourth indication information indicating that the second network element does not need flow control or the amount of data cached in the second network element is lower than the second threshold.

[0313] Optionally, the second information can be carried in the BAR.

[0314] In this method, the method by which the first network element sends the second information to the second network element can refer to the relevant content in the aforementioned S902, and will not be repeated here.

[0315] Optionally, in some possible implementations, the first network element can execute S1002 and S1007 simultaneously.

[0316] S1008, if the amount of data cached in the second network element is lower than the second threshold, the second network element sends a fourth indication message to the first network element. Correspondingly, the first network element receives the fourth indication message.

[0317] In this method, the fourth indication information is generated before the second network element sends the fourth indication information to the first network element.

[0318] In this method, the way the second network element sends the fourth indication information to the first network element can refer to the relevant content in S902 above, and will not be repeated here.

[0319] S1009, the first network element determines that the second network element does not require flow control based on the fourth indication information.

[0320] S1010, the first network element sends a third instruction message to the second network element. The third instruction message is used by the second network element to stop flow control.

[0321] In this method, the third indication information and the step of the first network element sending the third indication information to the second network element can refer to the relevant content in the aforementioned S903, and will not be repeated here.

[0322] In the method shown in Figure 10, the first network element can determine that the second network element is congested based on the second indication information sent by the second network element, and then adjust the value of the quality of service parameters based on the first indication information, so that the second network element can perform flow control based on the parameter values ​​in the first indication information, thereby helping to ensure that network congestion is avoided while meeting business needs.

[0323] In the method shown in Figure 10, the first network element can also determine that the second network element does not need flow control based on the fourth indication information sent by the second network element, and then adjust the value of the quality of service parameters based on the third indication information, which is conducive to better meeting business needs.

[0324] In addition, when the second network element does not require flow control, it can stop flow control based on the received third indication information. This helps to ensure the data transmission rate and thus reduce transmission latency.

[0325] Figure 11 is a schematic flowchart of a data flow control method provided in another embodiment of this application. This data flow control method can be applied to scenarios where 6G and RDMA technologies are integrated, that is, to data transmission methods based on the integration of 6G and RDMA technologies. Optionally, this data flow control method can also be applied to other communication systems, such as 5G communication systems. Optionally, this data flow control method can also be applied to other data transmission methods, such as data transmission methods based on RDMA technology or TCP / IP data transmission methods.

[0326] S1101, the first network element determines the first threshold.

[0327] In this method, the first network element can be any type of control plane network element in the system shown in Figure 2. As an example, the first network element can be an SMF network element.

[0328] Optionally, the first threshold can be determined by the first network element based on the caching capacity of the second network element.

[0329] In this method, the second network element can be any forwarding device used for data transmission between the first and second communication nodes, as shown in Figure 1. As an example, the second network element can be a radio access network device in the system shown in Figure 2. As another example, the second network element can also be a user plane network element in the system shown in Figure 2, such as a UPF network element. As yet another example, the second network element can also be other network elements, such as a TPF network element.

[0330] Optionally, the caching capacity of the second network element may include the maximum amount of data that the second network element can cache. In this application, the amount of data cached by the second network element can be the amount of data cached by the ingress port or egress port of the second network element, and the maximum amount of data that the second network element can cache can be the maximum amount of data that the ingress port or egress port of the second network element can cache.

[0331] Optionally, the amount of data cached by the second network element can also be described as the amount of data cached in the second network element.

[0332] Optionally, the method for the first network element to determine the first threshold can refer to the relevant content in the aforementioned S801, and will not be repeated here.

[0333] S1102, the first network element sends first information to the second network element, the first information instructing the second network element to report the cache status information of the second network element.

[0334] Optionally, the first information can be carried in the BAR.

[0335] In this method, the cache status information of the second network element can be referred to the relevant content in the aforementioned S802, and will not be repeated here.

[0336] S1103, the second network element reports the cache status information of the second network element to the first network element.

[0337] In this method, before the second network element reports its cache status information to the first network element, the cache status information of the second network element is generated first.

[0338] In this method, the way the second network element reports the cache status information of the second network element to the first network element can refer to the relevant content in S802 above, and will not be repeated here.

[0339] S1104, the second network element determines that the second network element is congested based on the second network element's cache status information and the first threshold.

[0340] In this method, when the amount of data cached in the second network element reaches a first threshold, the first network element determines that the second network element is congested.

[0341] S1105, the first network element sends a first instruction information to the second network element, and the first instruction information is used by the second network element to perform flow control.

[0342] In this method, the first indication information and the step of the first network element sending the first indication information to the second network element can be referred to the relevant content in S803 above, and will not be repeated here.

[0343] S1106, the first network element determines the second threshold.

[0344] Optionally, the method for the first network element to determine the second threshold can refer to the relevant content in the aforementioned S901, and will not be repeated here.

[0345] S1107, the first network element sends second information to the second network element, the second information instructing the second network element to report the cache status information of the second network element.

[0346] Optionally, the method by which the first network element sends the second information to the second network element can refer to the relevant content in the aforementioned S902, and will not be repeated here.

[0347] S1108, the second network element reports the cache status information of the second network element to the first network element.

[0348] In this method, before the second network element reports its cache status information to the first network element, the cache status information of the second network element is generated first.

[0349] Optionally, the method by which the second network element reports its cache status information to the first network element can refer to the relevant content in S902 mentioned above, and will not be repeated here.

[0350] S1109, the first network element determines that the second network element does not require flow control based on the cache status information of the second network element and the second threshold.

[0351] In this method, if the amount of data cached in the second network element is lower than the second threshold, the first network element determines that the second network element does not require flow control.

[0352] S1110, the first network element sends a third instruction message to the second network element, the third instruction message is used by the second network element to stop flow control.

[0353] In this method, the third indication information and the step of the first network element sending the third indication information to the second network element can refer to the relevant content in the aforementioned S903, and will not be repeated here.

[0354] Optionally, in some possible implementations, the first network element can execute S1101 and S1106 simultaneously.

[0355] Optionally, in some possible implementations, S1101 can be located after S1102 and S1103 and before S1104.

[0356] Optionally, in some possible implementations, S1106 can be located after S1107 and S1108 and before S1109.

[0357] In the method shown in Figure 11, the first network element can determine that the second network element is congested based on the buffer status information sent by the second network element, and then adjust the value of the quality of service parameter based on the first indication information, so that the second network element can perform flow control based on the parameter value in the first indication information, thereby helping to ensure that network congestion is avoided while meeting business needs.

[0358] In the method shown in Figure 11, the first network element can also determine that the second network element does not need flow control based on the buffer status information sent by the second network element, and then adjust the value of the quality of service parameters based on the third indication information, which is conducive to better meeting business needs.

[0359] In addition, when the second network element does not require flow control, it can stop flow control based on the received third indication information. This helps to ensure the data transmission rate and thus reduce transmission latency.

[0360] Optionally, in scenarios where 6G and RDMA technologies are integrated, flow control can also be performed based on the flow control method shown in Figure 12. Optionally, this data flow control method can also be applied to other communication systems, such as 5G communication systems. Optionally, this data flow control method can also be applied to other data transmission methods, such as data transmission methods based on RDMA technology.

[0361] S1201, the first network element determines the first threshold.

[0362] In this method, the first network element can be any type of control plane network element in the system shown in Figure 2. As an example, the first network element can be an SMF network element.

[0363] Optionally, the first threshold can be determined by the first network element based on the caching capacity of the second network element.

[0364] In this method, the second network element can be any forwarding device used for data transmission between the first and second communication nodes, as shown in Figure 1. As an example, the second network element can be a radio access network device in the system shown in Figure 2. As another example, the second network element can also be a user plane network element in the system shown in Figure 2, such as a UPF network element. As yet another example, the second network element can also be other network elements, such as a TPF network element.

[0365] Optionally, the caching capacity of the second network element may include the maximum amount of data that the second network element can cache. In this application, the amount of data cached by the second network element can be the amount of data cached by the ingress port or egress port of the second network element, and the maximum amount of data that the second network element can cache can be the maximum amount of data that the ingress port or egress port of the second network element can cache.

[0366] Optionally, the amount of data cached by the second network element can also be described as the amount of data cached in the second network element.

[0367] Optionally, the method for the first network element to determine the first threshold can refer to the relevant content in the aforementioned S801, and will not be repeated here.

[0368] S1202, the first network element sends a third message to the second network element, the third message indicating a first threshold and a second indication message to the third network element when the amount of data cached in the second network element reaches the first threshold, the second indication message indicating that the second network element is congested or the amount of data cached in the second network element reaches the first threshold.

[0369] In this method, the third network element can be the upstream transmission node or the source end of the second network element.

[0370] Taking Figure 5 as an example, if the second network element is forwarding device 2, the third network element can be forwarding device 1 or the first communication node.

[0371] Optionally, when the third network element is forwarding device 1, the third information can instruct that a second indication message be sent to forwarding device 1 when the amount of cached data in the ingress port of forwarding device 2 reaches a first threshold. Alternatively, the third information can instruct that a second indication message be sent to forwarding device 1 when the amount of cached data in a queue in the ingress port of forwarding device 2 reaches a first threshold.

[0372] In this example, the second indication information can be a PFC pause frame.

[0373] Optionally, when the third network element is the first communication node, the third information can indicate that when the amount of data cached in the output port of the forwarding device 2 reaches the first threshold, a second indication information is sent to the first communication node.

[0374] In this example, the second indication information can be an ECN congestion flag, a BECN congestion flag, an FECN congestion flag, or a congestion notification message.

[0375] S1203, when the amount of data cached in the second network element reaches the first threshold, the second network element sends a second indication message to the third network element. Correspondingly, the third network element receives the second indication message.

[0376] In this method, the second instruction information is generated before the second network element sends the second instruction information to the third network element.

[0377] In this method, when the second network element sends the second indication information to the third network element, it can send it directly or through other nodes.

[0378] Taking Figure 5 as an example, assuming that the second network element is forwarding device 2 and the third network element is forwarding device 1, forwarding device 2 can directly send a PFC pause frame to forwarding device 1.

[0379] Assuming the second network element is forwarding device 2 and the third network element is the first communication node, forwarding device 2 can send the second instruction information to the first communication node through other nodes.

[0380] As an example, forwarding device 2 can send a second instruction message to the first communication node through the second communication node.

[0381] For example, forwarding device 2 can first send an ECN congestion mark or an FECN congestion mark to the second communication node. After receiving the ECN congestion mark or the FECN congestion mark, the second communication node can send an ECN congestion mark or an FECN congestion mark or a congestion notification message to the first communication node.

[0382] As another example, forwarding device 2 can send a second instruction message to the first communication node through forwarding device 1.

[0383] For example, forwarding device 2 can send a BECN congestion tag or congestion notification message to forwarding device 1. After receiving the BECN congestion tag or congestion notification message, forwarding device 1 can send a BECN congestion tag or congestion notification message to the first communication node.

[0384] S1204, the third network element reduces the data transmission rate or suspends data transmission.

[0385] S1205, the first network element determines the second threshold.

[0386] Optionally, the method for the first network element to determine the second threshold can refer to the relevant content in the aforementioned S901, and will not be repeated here.

[0387] S1206, the first network element sends a fourth message to the second network element, the fourth message indicating a second threshold and a fifth indication message to the third network element when the amount of data cached in the second network element is lower than the second threshold, the fifth indication message indicating that the third network element does not need flow control or the amount of data cached in the second network element is lower than the second threshold.

[0388] S1207, if the amount of data cached in the second network element is lower than the second threshold, the second network element sends a fifth indication message to the third network element. Correspondingly, the third network element receives the fifth indication message.

[0389] In this method, the fifth indication information is generated before the second network element sends the fifth indication information to the third network element.

[0390] S1208, the third network element increases the data transmission rate or begins transmitting data.

[0391] Optionally, in some possible implementations, the first network element can execute S1201 and S1205 simultaneously.

[0392] Optionally, in some possible implementations, S1205 and S1206 may be located before S1203.

[0393] In this method, the first network element can determine a first threshold and send the first threshold to the second network element, so that the second network element can determine whether the second network element is congested based on the first threshold. This is beneficial for the second network element to perform flow control steps in the event of congestion, thereby avoiding network congestion.

[0394] The first network element can determine the second threshold and send the second threshold to the second network element, and the second network element can determine whether it does not need flow control based on the second threshold. This is beneficial for the second network element to perform the step of stopping flow control when no flow control is needed, and it is beneficial to ensure the data transmission rate and reduce the data transmission latency.

[0395] In this method, after receiving the second indication information, the third network element can reduce the data transmission rate or suspend data transmission based on the second indication information. This can reduce the amount of data transmitted to the second network element, which helps to avoid network congestion and thus achieve the purpose of flow control.

[0396] In this method, after the third network element receives the fifth indication information, it can increase the data transmission rate or start transmitting data, which helps to ensure the data transmission rate and thus helps to reduce the data transmission latency.

[0397] Figure 13 is a schematic diagram of the structure of a communication device provided in an embodiment of this application. As shown in Figure 13, the communication device 1300 may include a processing module 1301, a transmitting module 1302, and a receiving module 1303.

[0398] As an example, the communication device 1300 can be used to implement the data flow control method of the embodiment shown in FIG8. The processing module 1301 can be used to execute S801 and S802, and the sending module 1302 can be used to execute S803.

[0399] As another example, the communication device 1300 can be used to implement the data flow control method of the embodiment shown in FIG9. The processing module 1301 can be used to execute S901 and S902, and the sending module 1302 can be used to execute S903.

[0400] As another example, the communication device 1300 can be used to implement the data flow control method of the embodiment shown in FIG10. The processing module 1301 can be used to execute S1001, S1004, S1006, and S1009; the sending module 1302 can be used to execute S1002, S1005, S1007, and S1010; and the receiving module 1303 can be used to execute S1003 and S1008.

[0401] As another example, the communication device 1300 can be used to implement the data flow control method of the embodiment shown in FIG11. The processing module 1301 can be used to execute S1101, S1104, S1106, and S1109; the sending module 1302 can be used to execute S1102, S1105, S1107, and S1110; and the receiving module 1303 can be used to execute S1103 and S1108.

[0402] As another example, the communication device 1300 can be used to implement the data flow control method of the embodiment shown in FIG12. The processing module 1301 can be used to execute S1201 and S1205, and the sending module 1302 can be used to execute S1202 and S1206.

[0403] Optionally, the communication device 1300 can be a first network element or a chip applied in the first network element.

[0404] Figure 14 is a schematic diagram of the structure of a communication device provided in another embodiment of this application. As shown in Figure 14, the communication device 1400 may include a receiving module 1401, a processing module 1402, and a transmitting module 1403.

[0405] As an example, the communication device 1400 can be used to implement the data flow control method of the embodiment shown in FIG8. The receiving module 1401 can be used to execute S803, and the processing module 1402 can be used to execute the step of flow control based on the first indication information.

[0406] As another example, the communication device 1400 can be used to implement the data flow control method of the embodiment shown in FIG9. The receiving module 1401 can be used to execute S903, and the processing module 1402 can be used to execute the step of stopping flow control based on third indication information.

[0407] As another example, the communication device 1400 can be used to implement the data flow control method of the embodiment shown in FIG10. The receiving module 1401 can be used to execute steps S1002, S1005, S1007, and S1010; the processing module 1402 can be used to execute steps of generating second indication information, generating fourth indication information, performing flow control based on first indication information, and stopping flow control based on third indication information; and the sending module 1403 can be used to execute steps S1003 and S1008.

[0408] As another example, the communication device 1400 can be used to implement the data flow control method of the embodiment shown in FIG11. The receiving module 1401 can be used to execute steps S1102, S1105, S1107, and S1110; the processing module 1402 can be used to execute the steps of generating buffer state information of the second network element, generating buffer state information of the second network element, performing flow control based on the first indication information, and stopping flow control based on the third indication information; and the sending module 1403 can be used to execute steps S1103 and S1108.

[0409] As another example, the communication device 1400 can be used to implement the data flow control method of the embodiment shown in FIG12. The receiving module 1401 can be used to execute S1202 and S1206, the processing module 1402 can be used to execute the steps of generating second indication information and generating fifth indication information, and the sending module 1403 can be used to execute S1203 and S1207.

[0410] Optionally, the communication device 1400 can be a second network element or a chip applied in the second network element.

[0411] Figure 15 is a schematic diagram of the structure of a communication device provided in another embodiment of this application. As shown in Figure 15, the communication device 1500 includes a processor 1501 and an interface circuit 1502. The processor 1501 and the interface circuit 1502 are coupled to each other. It is understood that the interface circuit 1502 can be a transceiver or an input / output interface. Optionally, the communication device 1500 may also include a memory 1503 for storing instructions executed by the processor 1501, or storing input data required by the processor 1501 to execute instructions, or storing data generated after the processor 1501 executes instructions.

[0412] As a first example, processor 1501 can be used to implement the functions of the processing module 1301 described above, and interface circuit 1502 can be used to implement the functions of the sending module 1302 and the receiving module 1303 described above.

[0413] In this example, the communication device 1500 can be a first network element, a chip applied in the first network element, or a chip system.

[0414] As a second example, processor 1501 can be used to implement the functions of the processing module 1402 described above, and interface circuit 1502 can be used to implement the functions of the receiving module 1401 and the transmitting module 1403 described above.

[0415] In this example, the communication device 1500 can be a second network element, a chip applied in the second network element, or a chip system.

[0416] The method steps in the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in memory or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Alternatively, the ASIC can reside in a network device or terminal. Of course, the processor and storage medium can also exist as discrete components in the network device or terminal.

[0417] In this application, the memory may include: cache, random access memory (RAM), flash memory, read-only memory (ROM), synchronous dynamic random access memory (SDRAM), programmable read-only memory, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory, registers, hard disk drive (HDD) or solid-state drive (SSD), portable hard disk drive, or compact disc read-only memory (CD-ROM), etc. Memory is any other medium capable of carrying or storing desired program code having an instruction or data structure form and accessible by a computer, but is not limited thereto. The memory in the embodiments of this application may also be a circuit or any other device capable of implementing storage functions for storing computer programs or instructions, and / or data.

[0418] In this application, the processor can be one or more central processing units (CPUs). If the processor is a CPU, it can be a single-core CPU or a multi-core CPU. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a programmable logic device (PLD), a graphics processing unit (GPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware sets. A general-purpose processor can be a microprocessor or any conventional processor.

[0419] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed entirely or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video optical disc; or it can be a semiconductor medium, such as a solid-state drive.

[0420] This application also provides a computer-readable storage medium storing a computer program or instructions that are executed by a computer (e.g., a processor) to implement some or all of the steps of any method executed by any device in this application.

[0421] This application also provides a computer program product including a computer program or a set of instructions, which, when run on a computer, implements some or all of the steps of any method executed by any device in this application embodiment.

[0422] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions of different embodiments are consistent and can be referenced by each other. The technical features of different embodiments can be combined to form new embodiments according to their inherent logical relationship.

[0423] It is understood that the various numerical designations used in the embodiments of this application are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. The order of the process numbers described above does not imply the order of execution; the execution order of each process should be determined by its function and internal logic.

Claims

1. A data flow control method, characterized in that, Applied to the first network element, the method includes: A first threshold is determined, which is used by the first network element or the second network element to determine whether the second network element is congested. It was learned that the second network element was experiencing congestion; Send a first indication message to the second network element, the first indication message being used by the second network element for flow control.

2. The method according to claim 1, characterized in that, The first indication information includes a first parameter, which indicates that the first bit rate is a first value or a decrease of the first bit rate. The first value is lower than a second value. The second value is the value of the first bit rate indicated by the first network element to the second network element at the first moment. The second network element is not congested at the first moment. Wherein, the first bit rate includes at least one of the following: terminal device-combined maximum bit rate, session-combined maximum bit rate, maximum bit rate of quality of service flow, or guaranteed bit rate of quality of service flow.

3. The method according to claim 1 or 2, characterized in that, Before the method is known to be congested in the second network element, it further includes: Send a first message to the second network element, the first message indicating that when the first threshold and the amount of data cached in the second network element reach the first threshold, send a second indication message, or the first message instructing the second network element to report the cache status information of the second network element, the second indication message indicating that the second network element is congested or the amount of data cached in the second network element reaches the first threshold.

4. The method according to claim 3, characterized in that When the first information indicates that the first threshold and the amount of data cached in the second network element have reached the first threshold, the step of knowing that the second network element is congested includes: Receive the second indication information from the second network element; Based on the second indication information, it is determined that the second network element is congested.

5. The method according to claim 3, characterized in that, When the first information instructs the second network element to report its cache status information, the step of knowing that the second network element is congested includes: Receive the cache status information from the second network element; Based on the cache status information and the first threshold, it is determined that the second network element is congested.

6. The method according to any one of claims 1 to 5, characterized in that, The method further includes: A second threshold is determined, wherein the second threshold is used by the first network element or the second network element determines that the second network element does not require flow control, and the second threshold is less than the first threshold. It was learned that the second network element did not require flow control; A third instruction message is sent to the second network element, the third instruction message being used by the second network element to stop flow control.

7. The method according to claim 6, characterized in that, The third indication information includes a second parameter, which indicates that the first bit rate is a third value or an increase of the first bit rate. The third value is higher than the first value. The first value is the value of the first bit rate when the amount of cached data in the second network element reaches a first threshold. The first bit rate includes at least one of the following: terminal device-combined maximum bit rate, session-combined maximum bit rate, maximum bit rate of quality of service flow, or guaranteed bit rate of quality of service flow.

8. The method according to claim 6 or 7, characterized in that, Before it is determined that the second network element does not require flow control, the method further includes: Send a second message to the second network element, the second message indicating the second threshold and sending a fourth indication message when the amount of cached data in the second network element is lower than the second threshold, or the second message instructing the second network element to report the cache status information of the second network element, the fourth indication message indicating that the second network element does not require flow control or that the amount of cached data in the second network element is lower than the second threshold.

9. The method according to claim 8, characterized in that, When the second information indicates that the second threshold and the amount of data cached in the second network element are lower than the second threshold, sending the fourth indication information, the step of knowing that the second network element does not require flow control includes: Receive the fourth indication information from the second network element; Based on the fourth indication information, it is determined that the second network element does not require flow control.

10. The method according to claim 8, characterized in that, When the second information instructs the second network element to report its cache status information, the step of knowing that the second network element does not require flow control includes: Receive the cache status information from the second network element; Based on the cache status information and the second threshold, it is determined that the second network element does not require flow control.

11. A data flow control method, characterized in that, Applied to a second network element, the method includes: Receive first information from a first network element, the first information indicating a first threshold and when the amount of data cached in the second network element reaches the first threshold, send second indication information, the second indication information indicating that the second network element is congested or the amount of data cached in the second network element reaches the first threshold; When the amount of cached data in the second network element reaches the first threshold, the second indication information is sent to the first network element. The first indication information is received from the first network element, and the first indication information is used by the second network element for flow control.

12. The method according to claim 11, characterized in that, The first indication information includes a first parameter, which indicates that the first bit rate is a first value or a decrease of the first bit rate. The first value is lower than a second value. The second value is the value of the first bit rate indicated by the first network element to the second network element at the first moment. The second network element is not congested at the first moment. Wherein, the first bit rate includes at least one of the following: terminal device-combined maximum bit rate, session-combined maximum bit rate, maximum bit rate of quality of service flow, or guaranteed bit rate of quality of service flow.

13. The method according to claim 11 or 12, characterized in that, The method further includes: Receive second information from the first network element, the second information indicating a second threshold and when the amount of data cached in the second network element is lower than the second threshold, send a fourth indication information, the fourth indication information indicating that the second network element does not need flow control or the amount of data cached in the second network element is lower than the second threshold, and the second threshold is less than the first threshold; When the amount of cached data in the second network element is lower than the second threshold, the fourth indication information is sent to the first network element; The third indication information is received from the first network element, and the third indication information is used by the second network element to stop flow control.

14. The method according to claim 13, characterized in that, The third indication information includes a second parameter, which indicates that the first bit rate is a third value or an increase of the first bit rate. The third value is higher than the first value. The first value is the value of the first bit rate when the amount of cached data in the second network element reaches a first threshold. The first bit rate includes at least one of the following: terminal device-combined maximum bit rate, session-combined maximum bit rate, maximum bit rate of quality of service flow, or guaranteed bit rate of quality of service flow.

15. A data flow control method, characterized in that, Applied to a second network element, the method includes: Receive first information from the first network element, the first information indicating that the buffer status information of the second network element should be reported; Report the cache status information of the second network element to the first network element; The first indication information is received from the first network element, and the first indication information is used by the second network element for flow control.

16. The method according to claim 15, characterized in that, The first indication information includes a first parameter, which indicates that the first bit rate is a first value or a decrease of the first bit rate. The first value is lower than a second value. The second value is the value of the first bit rate indicated by the first network element to the second network element at the first moment. The second network element is not congested at the first moment. Wherein, the first bit rate includes at least one of the following: terminal device-combined maximum bit rate, session-combined maximum bit rate, maximum bit rate of quality of service flow, or guaranteed bit rate of quality of service flow.

17. The method according to claim 15 or 16, characterized in that, The method further includes: Receive second information from the first network element, the second information instructing the second network element to report the cache status information of the second network element; Report the cache status information of the second network element to the first network element; The third indication information is received from the first network element, and the third indication information is used by the second network element to stop flow control.

18. The method according to claim 17, characterized in that, The third indication information includes a second parameter, which indicates that the first bit rate is a third value or an increase of the first bit rate. The third value is higher than the first value. The first value is the value of the first bit rate when the amount of cached data in the second network element reaches a first threshold. The first bit rate includes at least one of the following: terminal device-combined maximum bit rate, session-combined maximum bit rate, maximum bit rate of quality of service flow, or guaranteed bit rate of quality of service flow.

19. A data flow control method, characterized in that, Applied to a second network element, the method includes: Receive third information from the first network element, the third information indicating a first threshold and when the amount of data cached in the second network element reaches the first threshold, send second indication information to the third network element, the second indication information indicating that the second network element is congested or the amount of data cached in the second network element reaches the first threshold; When the amount of data cached in the second network element reaches the first threshold, the second indication information is sent to the third network element.

20. The method according to claim 19, characterized in that, The method further includes: The system receives a fourth message from the first network element, the fourth message indicating a second threshold and a fifth indication message sent to the third network element when the amount of data cached in the second network element is lower than the second threshold. The fifth indication message indicates that the third network element does not require flow control or that the amount of data cached in the second network element is lower than the second threshold. When the amount of data cached in the second network element is lower than the second threshold, the fifth indication information is sent to the third network element.

21. A communication device, characterized in that, It includes functional modules for implementing the method as described in any one of claims 1 to 20.

22. A communication device, characterized in that, Includes a processor for causing the apparatus to perform the method of any one of claims 1 to 10, or to cause the apparatus to perform the method of any one of claims 11 to 20, by executing a computer program or instructions stored in a memory and / or by using logic circuitry.

23. The apparatus according to claim 22, characterized in that, The communication device further includes a memory for storing the computer program or instructions.

24. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store computer-executable instructions that, when executed on a communication device, cause the method of any one of claims 1 to 10 to be implemented, or cause the method of any one of claims 11 to 20 to be implemented.

25. A computer program product, characterized in that, The computer program product includes instructions for implementing the method as described in any one of claims 1 to 20.

Citation Information

Patent Citations

  • Method and apparatus for flow control in a wireless communication system

    CN113228734A

  • Network congestion control method, device, equipment, system and storage medium

    CN113746744A

  • Method for transmitting flow control request by wireless node in wireless communication system and apparatus therefor

    US20200260328A1

  • Systems and methods for congestion control in an integrated access and backhaul network

    US20210367888A1