Congestion control method and apparatus

Through the data transmission server, personalized congestion control is carried out based on the service demand information of each downlink data flow, which solves the problem of poor congestion control effect in the existing technology and achieves more efficient network performance improvement.

WO2025036131A1PCT designated stage expired Publication Date: 2025-02-20HUAWEI TECH CO LTD

Patent Information

Application Number
PCT/CN2024/108159
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-15
Filing Date
2024-07-29
Publication Date
2025-02-20

AI Technical Summary

Technical Problem

When existing congestion control schemes process multiple downlink data streams, it is difficult to effectively combine the service needs of each data stream, resulting in poor congestion control effect.

Method used

Connect multiple application servers through the data transmission server, and personalized congestion control is carried out based on the service demand information of each downstream data stream (such as QoS requirements, service type, user type and priority), including adjusting the transmission rate and instructing the application server to congestion. control.

Benefits of technology

It improves the effect of congestion control, can adjust more accurately according to the needs of each data stream, reduces the difficulty of application development, and improves network performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024108159_20022025_PF_FP_ABST
    Figure CN2024108159_20022025_PF_FP_ABST
Patent Text Reader

Abstract

The present application provides a congestion control method and an apparatus. The method is applied to a data transmission server-side, and the data transmission server-side is connected to a plurality of application servers and is used for providing data transmission services for the plurality of application servers. The method comprises: when it is determined that network congestion occurs during transmission of a plurality of downlink data streams belonging to different applications or belonging to different users, performing different congestion control on the plurality of downlink data streams by combining the respective degree of demand for low-latency transmission by the plurality of downlink data streams, thereby improving the network congestion control effect.
Need to check novelty before this filing date? Find Prior Art

Description

Congestion control method and device

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of the People's Republic of China on August 15, 2023, with application number 202311031159.5 and invention name "A Congestion Control Method and Device", the entire contents of which are incorporated by reference into this application. Technical Field

[0003] The present application relates to the field of communications, and in particular to a congestion control method and device. Background Art

[0004] Congestion control refers to adjusting the number of data packets injected into the network by the sender. For example, the sender can reduce the transmission rate of data packets to reduce the degree of network congestion or resolve network congestion. In traditional congestion control schemes, when network congestion occurs, the intermediate nodes of data transmission will mark the explicit congestion notification (ECN) bit in the packet header of the data packet, so that the receiving end can identify the network congestion when receiving the data packet with the ECN mark. Furthermore, the receiving end can notify the sending end of network congestion through the ECN feedback mechanism. After receiving the notification, the sending end performs congestion control and reduces the transmission rate of the data packet. For traditional congestion schemes, how to further improve the congestion control effect is an unresolved problem.

[0005] Summary of the Invention

[0006] The present application provides a congestion control method and device to improve the effect of network congestion.

[0007] In the first aspect, the present application proposes a congestion control method, which is applied to a data transmission service end, and the data transmission service end is connected to multiple application servers. The method includes: determining that there is network congestion in multiple downlink data flows during the transmission process; the multiple downlink data flows include at least two downlink data flows from different application servers, or include at least two downlink data flows belonging to different users; congestion control is performed on the multiple downlink data flows according to the respective service demand information of the multiple downlink data flows; wherein the service demand information of the first data flow includes at least one of the QoS requirement information, service type, user type and priority of the application to which the first data flow belongs, and the first data flow is any one of the multiple downlink data flows.

[0008] Based on the above scheme, the present application proposes that congestion control be performed by a data transmission server connected to multiple application servers. The data transmission server can perform different congestion control on different data streams based on one or more of the service types, QoS requirement information, user types, and priorities of the data streams of multiple applications. Compared with the traditional L4S congestion control scheme, the data transmission server in the scheme of the present application can combine the degree of demand for congestion control (such as low-latency transmission) of multiple data streams and perform different congestion control on different data streams respectively, which has a better congestion control effect. And because the execution subject is the data transmission server, there is no need to configure functions such as congestion mark identification and congestion feedback for the client and server of the application, which reduces the difficulty of application development.

[0009] In some embodiments, determining that there is network congestion during the transmission of multiple downlink data streams includes: receiving congestion feedback information for the first data stream sent by a first data transmission client; wherein the first data stream is a downlink data stream sent by a first application server to a first application client; the first application client is any one of the multiple application clients of the first application server; the first data transmission client and the first application client are deployed on the first user terminal device; and determining that there is network congestion during the transmission of the first data stream based on the congestion feedback information.

[0010] Based on the above solution, the data transmission client receiving data can feed back congestion information to the data transmission server when congestion occurs, so that the data transmission server can be informed of the network congestion in a timely manner.

[0011] In some embodiments, the congestion control of the multiple downlink data flows according to the respective business demand information of the multiple downlink data flows includes: controlling the transmission rate of the multiple downlink data flows according to the business demand information of the multiple downlink data flows; or instructing the application servers that send the multiple downlink data flows to perform congestion control on the multiple downlink data flows according to the business demand information of the multiple downlink data flows.

[0012] Based on the above solution, when performing congestion control, the data transmission server can control the transmission of each downstream data flow by itself, or notify the application server to control it.

[0013] In some embodiments, controlling the transmission rates of the multiple downlink data streams based on the business demand information of the multiple downlink data streams includes: determining the target transmission rate of each downlink data stream based on the priority of the multiple downlink data streams; and controlling the transmission of each downlink data stream according to the target transmission rate of each downlink data stream.

[0014] In some embodiments, controlling the transmission rates of the multiple downlink data flows according to the service demand information of the multiple downlink data flows includes: determining the target transmission rate of each downlink data flow according to one or more of the QoS demand information, service type and user type of the multiple downlink data flows; and controlling the transmission of each downlink data flow according to the target transmission rate of each downlink data flow.

[0015] In some embodiments, controlling the transmission rates of the multiple downlink data flows according to the service demand information of the multiple downlink data flows includes: determining the transmission priority of the multiple downlink data flows according to one or more of the QoS demand information, service type and user type of the multiple downlink data flows; determining the target transmission rate of each downlink data flow according to the transmission priority of the multiple downlink data flows; and controlling the transmission of each downlink data flow according to the target transmission rate of each downlink data flow.

[0016] Based on the above scheme, this application proposes that congestion control can be performed directly based on any one of the business demand information from the application server, or the transmission priority used to characterize the degree of low latency requirement for each downstream data flow can be determined through the business demand information, and then congestion control can be performed based on the transmission priority.

[0017] In some embodiments, the business demand information of the multiple downstream data flows is respectively instructing the application servers sending the multiple downstream data flows to perform congestion control on the multiple downstream data flows, including: determining the target transmission rate of each downstream data flow according to the business demand information of the multiple downstream data flows; sending the target transmission rate of the first data flow to the first application server sending the first data flow, so as to instruct the first application server to control the transmission of the first data flow according to the target transmission rate of the first data flow.

[0018] In some embodiments, the method of instructing the application servers sending the multiple downstream data streams to perform congestion control on the multiple downstream data streams based on the business demand information of the multiple downstream data streams includes: determining the target encoding format or target rendering mode of each downstream data stream based on the business demand information of the multiple downstream data streams; sending the target encoding format or target rendering mode of the first data stream to the first application server sending the first data stream, so as to instruct the first application server to output the first data stream according to the target encoding format or target rendering mode of the first data stream.

[0019] In some embodiments, the instructing the application servers sending the multiple downstream data streams to perform congestion control on the multiple downstream data streams based on the business demand information of the multiple downstream data streams includes: determining the congestion information of each downstream data stream based on the business demand information of the multiple downstream data streams; wherein the congestion information of the first data stream indicates the degree of network congestion during the transmission of the first data stream; and sending the congestion information of the first data stream to the first application server sending the first data stream to instruct the first application server to perform congestion control on the first data stream based on the congestion information of the first data stream.

[0020] Based on the above scheme, when instructing the application server to perform congestion control, the transmission rate, rendering method or encoding format, etc. can be sent directly to the application server to instruct the application server to adjust the rate of generating and outputting data streams. The congestion level of each data stream that needs to be fed back to the application server can also be determined based on the business demand information of the data stream, and the application server can be instructed to perform congestion control on the data stream based on the congestion level.

[0021] In some embodiments, before determining that there is network congestion during the transmission of multiple downlink data flows, the method further includes: receiving one or more of the service type of a first application sent by a first application server, the user types of multiple users of the first application, the QoS requirement information of the first application, and the priority of the downlink data flow belonging to the first application; the first application server is the application server that sends the first data flow, and the first application is the application to which the first data flow belongs.

[0022] In some embodiments, the method further includes: sending a first message to a network side device; the first message is used to instruct the network side device to perform network congestion detection on the downlink data flow belonging to the first application and add a congestion mark.

[0023] In some embodiments, the method further includes: sending a second message to a first data transmission client; the first data transmission client is deployed on a first user terminal device, and the first user terminal device is any one of multiple user terminal devices of the first application server; the second message is used to instruct the first data transmission client to identify a congestion mark for the received downlink data flow belonging to the first application, and to instruct the first data transmission client to send congestion feedback information to the data transmission server after identifying the congestion mark in the downlink data flow belonging to the first application.

[0024] Based on the above scheme, after receiving the service feature information, the data transmission server determines the data flow that needs congestion control, and sends the corresponding identification information to the network side device for the network side device to mark the congestion, and sends it to the data transmission client for the data transmission client to identify the congestion mark.

[0025] In the second aspect, the present application proposes another congestion control method, which is applied to a data transmission client, and the data transmission client is deployed on a user-end device. The method includes: determining that there is network congestion in multiple downlink data flows during transmission; the multiple downlink data flows include at least two downlink data flows from different application servers; congestion control is performed on the multiple downlink data flows according to the respective service demand information of the multiple downlink data flows; wherein the service demand information of the first data flow includes at least one of the QoS demand information, service type and priority of the application to which the first data flow belongs, and the first data flow is any one of the multiple downlink data flows.

[0026] In some embodiments, determining that there is network congestion during the transmission of multiple downlink data streams includes: receiving the first data stream from a network side device; the first data stream includes multiple data packets, and the header of at least one data packet among the multiple data packets contains a congestion mark, and the congestion mark is used to indicate that there is network congestion during the transmission of the first data stream.

[0027] In some embodiments, the congestion control of the multiple downlink data flows according to the respective business demand information of the multiple downlink data flows includes: instructing the data transmission service end to control the transmission rate of the multiple downlink data flows according to the business demand information of the multiple downlink data flows; or, instructing the application server sending the multiple downlink data flows to perform congestion control on the multiple downlink data flows according to the business demand information of the multiple downlink data flows; wherein, the data transmission service end is connected to the application server sending the multiple downlink data flows.

[0028] In some embodiments, instructing the data transmission service end to control the transmission rate of the multiple downlink data flows based on the business demand information of the multiple downlink data flows includes: determining the target transmission rate of each downlink data flow based on the priority of the multiple downlink data flows; sending the target transmission rate of each downlink data flow to the data transmission service end to instruct the data transmission service end to control the transmission of each downlink data flow according to the target transmission rate of each downlink data flow.

[0029] In some embodiments, instructing the data transmission service end to control the transmission rate of the multiple downlink data flows based on the service demand information of the multiple downlink data flows includes: determining the target transmission rate of each downlink data flow based on the QoS demand information and at least one of the service types of the multiple downlink data flows; sending the target transmission rate of each downlink data flow to the data transmission service end to instruct the data transmission service end to control the transmission of each downlink data flow according to the target transmission rate of each downlink data flow.

[0030] In some embodiments, instructing the data transmission service end to control the transmission rate of the multiple downlink data flows based on the service demand information of the multiple downlink data flows includes: determining the transmission priority of the multiple downlink data flows based on the QoS demand information and at least one of the service types of the multiple downlink data flows; determining the target transmission rate of each downlink data flow based on the transmission priority of the multiple downlink data flows; and sending the target transmission rate of each downlink data flow to the data transmission service end to instruct the data transmission service end to control the transmission of each downlink data flow according to the target transmission rate of each downlink data flow.

[0031] In some embodiments, the business demand information of the multiple downstream data flows is respectively instructing the application servers sending the multiple downstream data flows to perform congestion control on the multiple downstream data flows, including: determining the target transmission rate of each downstream data flow according to the business demand information of the multiple downstream data flows; sending the target transmission rate of the first data flow to the first application server sending the first data flow, so as to instruct the first application server to control the transmission of the first data flow according to the target transmission rate of the first data flow.

[0032] In some embodiments, the method of instructing the application servers sending the multiple downstream data streams to perform congestion control on the multiple downstream data streams based on the business demand information of the multiple downstream data streams includes: determining the target encoding format or target rendering mode of each downstream data stream based on the business demand information of the multiple downstream data streams; sending the target encoding format or target rendering mode of the first data stream to the first application server sending the first data stream, so as to instruct the first application server to output the first data stream according to the target encoding format or target rendering mode of the first data stream.

[0033] In some embodiments, the instructing the application servers sending the multiple downstream data streams to perform congestion control on the multiple downstream data streams based on the business demand information of the multiple downstream data streams includes: determining the congestion information of each downstream data stream based on the business demand information of the multiple downstream data streams; wherein the congestion information of the first data stream indicates the degree of network congestion during the transmission of the first data stream; and sending the congestion information of the first data stream to the first application server sending the first data stream to instruct the first application server to perform congestion control on the first data stream based on the congestion information of the first data stream.

[0034] In some embodiments, before determining that there is network congestion during the transmission of multiple downlink data flows, the method also includes: receiving a second message sent by the data transmission service end; the second message is used to instruct congestion marking identification of the received downlink data flow belonging to the first application, and to instruct to send congestion feedback information to the data transmission service end after the congestion mark is identified in the downlink data flow belonging to the first application.

[0035] In some embodiments, before determining that there is network congestion during the transmission of multiple downlink data flows, the method further includes: receiving one or more of the service type of a first application, the QoS requirement information of the first application, and the priority of the downlink data flow belonging to the first application sent by a first application client; the first application is the application to which the first data flow belongs, and the first application client is the application client that receives the first data flow.

[0036] In some embodiments, before determining that there is network congestion during the transmission of multiple downlink data flows, the method further includes: receiving one or more of the service types, QoS requirement information and priorities of the applications to which the multiple downlink data flows respectively belong, sent by the data transmission service end; the data transmission service end connects to the application server that sends the multiple downlink data flows.

[0037] In the third aspect, the present application proposes another congestion control method, which is applied to a data transmission service end, and the data transmission service end is connected to multiple application servers. The method includes: determining that there is network congestion in multiple uplink data streams during transmission; the multiple uplink data streams include at least two uplink data streams belonging to different applications, or include at least two uplink data streams belonging to different users; congestion control is performed on the multiple uplink data streams according to the respective service demand information of the multiple uplink data streams; wherein the service demand information of the third data stream includes at least one of the QoS requirement information, service type, user type and priority of the application to which the third data stream belongs, and the third data stream is any one of the multiple uplink data streams.

[0038] In some embodiments, determining that there is network congestion during the transmission of multiple uplink data streams includes: receiving the third data stream from the network side device; the third data stream includes multiple data packets, and the header of at least one data packet among the multiple data packets contains a congestion mark, and the congestion mark is used to indicate that there is network congestion during the transmission of the third data stream.

[0039] In some embodiments, the congestion control of the multiple uplink data streams according to the respective business demand information of the multiple uplink data streams includes: instructing the data transmission client to control the transmission rate of the multiple uplink data streams according to the business demand information of the multiple uplink data streams; or, instructing the application client that sends the multiple uplink data streams to perform congestion control on the multiple uplink data streams according to the business demand information of the multiple uplink data streams.

[0040] In some embodiments, instructing the data transmission client to control the transmission rate of the multiple uplink data streams based on the business demand information of the multiple uplink data streams includes: determining the target transmission rate of each uplink data stream based on the priority of the multiple uplink data streams; sending the target transmission rate of the third data stream to the first data transmission client to instruct the first data transmission client to control the transmission of the third data stream according to the target transmission rate of the third data stream; wherein the third data stream is the uplink data stream sent by the first application client to the first application server, and the first data transmission client and the first application client are deployed on the first user terminal device.

[0041] In some embodiments, instructing the data transmission client to control the transmission rate of the multiple uplink data streams based on the service demand information of the multiple uplink data streams includes: determining the target transmission rate of each uplink data stream based on at least one of the QoS demand information, service type and user type of the multiple uplink data streams; sending the target transmission rate of the third data stream to the first data transmission client to instruct the first data transmission client to control the transmission of the third data stream according to the target transmission rate of the third data stream; wherein the third data stream is an uplink data stream sent by the first application client to the first application server, and the first data transmission client and the first application client are deployed on the first user terminal device.

[0042] In some embodiments, instructing the data transmission client to control the transmission rate of the multiple uplink data streams based on the service demand information of the multiple uplink data streams includes: determining the transmission priority of the multiple uplink data streams based on at least one of the QoS demand information, service type and user type of the multiple uplink data streams; determining the target transmission rate of each uplink data stream based on the transmission priority of the multiple uplink data streams; sending the target transmission rate of the third data stream to the first data transmission client to instruct the first data transmission client to control the transmission of the third data stream according to the target transmission rate of the third data stream; wherein the third data stream is an uplink data stream sent by the first application client to the first application server, and the first data transmission client and the first application client are deployed on the first user terminal device.

[0043] In some embodiments, the business demand information of the multiple uplink data streams is respectively instructing the application clients sending the multiple uplink data streams to perform congestion control on the multiple uplink data streams, including: determining the target transmission rate of each uplink data stream according to the business demand information of the multiple uplink data streams; sending the target transmission rate of the third data stream to the first application client sending the third data stream, so as to instruct the first application client to control the transmission of the third data stream according to the target transmission rate of the third data stream.

[0044] In some embodiments, the business demand information of the multiple upstream data streams is respectively instructing the application clients sending the multiple upstream data streams to perform congestion control on the multiple upstream data streams, including: determining the target encoding format or target rendering mode of each upstream data stream according to the business demand information of the multiple upstream data streams; sending the target encoding format or target rendering mode of the third data stream to the first application client sending the third data stream, so as to instruct the first application client to output the third data stream according to the target encoding format or target rendering mode of the third data stream.

[0045] In some embodiments, the method of instructing the application clients sending the multiple upstream data streams to perform congestion control on the multiple upstream data streams based on the business demand information of the multiple upstream data streams includes: determining the congestion information of each upstream data stream based on the business demand information of the multiple upstream data streams; wherein the congestion information of the third data stream indicates the degree of network congestion during the transmission of the third data stream; and sending the congestion information of the third data stream to the first application client sending the third data stream to instruct the first application client to perform congestion control on the third data stream based on the congestion information of the third data stream.

[0046] In some embodiments, before determining that there is network congestion during the transmission of multiple uplink data streams, the method further includes: receiving one or more of the service type of the first application, the user types of multiple users of the first application, the QoS requirement information of the first application, and the priority of the uplink data stream belonging to the first application sent by a first application server; the first application server is an application server that receives the third data stream, and the first application is the application to which the third data stream belongs.

[0047] In some embodiments, the method further includes: sending a third message to a network-side device; the third message is used to instruct the network-side device to perform network congestion detection on the uplink data flow belonging to the first application and add a congestion mark.

[0048] In a fourth aspect, the present application proposes another congestion control method, which is applied to a data transmission client, and the data transmission client is deployed on a user-end device. The method includes: determining that there is network congestion in multiple uplink data streams during transmission; the multiple uplink data streams include at least two uplink data streams belonging to different applications; congestion control is performed on the multiple uplink data streams according to the respective service demand information of the multiple uplink data streams; wherein the service demand information of the third data stream includes at least one of the QoS demand information, service type and priority of the application to which the third data stream belongs, and the third data stream is any one of the multiple uplink data streams.

[0049] In some embodiments, determining that there is network congestion during the transmission of multiple uplink data streams includes: receiving congestion feedback information for a third data stream sent by a data transmission service end; wherein the third data stream is an uplink data stream sent by a first application client to a first application server; the first application client is deployed on the user terminal device; and determining, based on the congestion feedback information, that there is network congestion during the transmission of the third data stream.

[0050] In some embodiments, the congestion control of the multiple uplink data streams according to the respective business demand information of the multiple uplink data streams includes: controlling the transmission rates of the multiple uplink data streams according to the business demand information of the multiple uplink data streams; or instructing the application clients that send the multiple uplink data streams to perform congestion control on the multiple uplink data streams according to the business demand information of the multiple uplink data streams.

[0051] In some embodiments, controlling the transmission rates of the multiple uplink data streams based on the business demand information of the multiple uplink data streams includes: determining the target transmission rate of each uplink data stream based on the priority of the multiple uplink data streams; and controlling the transmission of each uplink data stream according to the target transmission rate of each uplink data stream.

[0052] In some embodiments, controlling the transmission rates of the multiple uplink data streams based on the service demand information of the multiple uplink data streams includes: determining the target transmission rate of each uplink data stream based on the QoS demand information and at least one of the service types of the multiple uplink data streams; and controlling the transmission of each uplink data stream according to the target transmission rate of each uplink data stream.

[0053] In some embodiments, controlling the transmission rates of the multiple uplink data streams based on the service demand information of the multiple uplink data streams includes: determining the transmission priorities of the multiple uplink data streams based on at least one of the QoS demand information and service types of the multiple uplink data streams; determining the target transmission rate of each uplink data stream based on the transmission priorities of the multiple uplink data streams; and controlling the transmission of each uplink data stream according to the target transmission rate of each uplink data stream.

[0054] In some embodiments, the business demand information of the multiple uplink data streams is respectively instructing the application clients sending the multiple uplink data streams to perform congestion control on the multiple uplink data streams, including: determining the target transmission rate of each uplink data stream according to the business demand information of the multiple uplink data streams; sending the target transmission rate of the third data stream to the first application client sending the third data stream, so as to instruct the first application client to control the transmission of the third data stream according to the target transmission rate of the third data stream.

[0055] In some embodiments, the business demand information of the multiple upstream data streams is respectively instructing the application clients sending the multiple upstream data streams to perform congestion control on the multiple upstream data streams, including: determining the target encoding format or target rendering mode of each upstream data stream according to the business demand information of the multiple upstream data streams; sending the target encoding format or target rendering mode of the third data stream to the first application client sending the third data stream, so as to instruct the first application client to output the third data stream according to the target encoding format or target rendering mode of the third data stream.

[0056] In some embodiments, the instructing application clients sending the multiple uplink data flows to perform congestion control on the multiple uplink data flows according to the service demand information of the multiple uplink data flows respectively includes:

[0057] Determining congestion information of each upstream data flow according to the service demand information of the multiple upstream data flows; wherein the congestion information of the third data flow indicates the degree of network congestion during the transmission of the third data flow;

[0058] Congestion information of the third data flow is sent to a first application client that sends the third data flow, so as to instruct the first application client to perform congestion control on the third data flow according to the congestion information of the third data flow.

[0059] In some embodiments, before determining that network congestion exists during transmission of the plurality of uplink data flows, the method further includes:

[0060] Receive one or more of the service type of the first application, the QoS requirement information of the first application, and the priority of the uplink data flow belonging to the first application sent by the first application client; the first application is the application to which the third data flow belongs, and the first application client is the application client that sends the third data flow.

[0061] In some embodiments, before determining that network congestion exists during transmission of the plurality of uplink data flows, the method further includes:

[0062] Receive one or more of the service types, QoS requirement information and priorities of the applications to which the multiple uplink data streams respectively belong, sent by the data transmission service end; the data transmission service end connects to the application server that receives the multiple uplink data streams.

[0063] In a fifth aspect, the present application proposes a congestion control device, which is applied to a data transmission service end, or the device is the data transmission service end, and the data transmission service end is connected to multiple application servers, and the device includes:

[0064] a congestion identification unit, configured to determine that network congestion exists during transmission of multiple downlink data flows; the multiple downlink data flows include at least two downlink data flows from different application servers, or include at least two downlink data flows belonging to different users;

[0065] A congestion control unit is used to perform congestion control on the multiple downlink data flows according to the respective service demand information of the multiple downlink data flows; wherein the service demand information of the first data flow includes at least one of the QoS demand information, service type, user type and priority of the application to which the first data flow belongs, and the first data flow is any one of the multiple downlink data flows.

[0066] In some embodiments, the apparatus further includes a communication unit; and the congestion identification unit, when determining that network congestion exists during transmission of multiple downlink data flows, is specifically configured to:

[0067] Receiving, through the communication unit, congestion feedback information for a first data stream sent by a first data transmission client; wherein the first data stream is a downlink data stream sent by a first application server to a first application client; the first application client is any one of multiple application clients of the first application server; the first data transmission client and the first application client are deployed on the first user terminal device;

[0068] It is determined, according to the congestion feedback information, that network congestion exists during transmission of the first data stream.

[0069] In some embodiments, the congestion control unit is specifically configured to:

[0070] Controlling the transmission rates of the multiple downlink data flows according to the service demand information of the multiple downlink data flows; or instructing the application servers sending the multiple downlink data flows to perform congestion control on the multiple downlink data flows according to the service demand information of the multiple downlink data flows.

[0071] In some embodiments, the congestion control unit is specifically configured to:

[0072] determining a target transmission rate for each downlink data flow according to the priorities of the multiple downlink data flows;

[0073] The transmission of each downstream data flow is controlled according to the target transmission rate of each downstream data flow.

[0074] In some embodiments, the congestion control unit is specifically configured to:

[0075] Determine a target transmission rate for each downlink data flow according to one or more of the QoS requirement information, service type, and user type of the multiple downlink data flows;

[0076] The transmission of each downstream data flow is controlled according to the target transmission rate of each downstream data flow.

[0077] In some embodiments, the congestion control unit is specifically configured to:

[0078] Determining transmission priorities of the multiple downlink data flows according to one or more of QoS requirement information, service types, and user types of the multiple downlink data flows;

[0079] determining a target transmission rate for each downlink data flow according to the transmission priorities of the multiple downlink data flows;

[0080] The transmission of each downstream data flow is controlled according to the target transmission rate of each downstream data flow.

[0081] In some embodiments, the apparatus further includes a communication unit, wherein the congestion control unit is configured to, when instructing the application servers sending the multiple downstream data flows to perform congestion control on the multiple downstream data flows according to the service demand information of the multiple downstream data flows, specifically:

[0082] determining a target transmission rate for each downlink data flow according to the service demand information of the multiple downlink data flows;

[0083] The communication unit is instructed to send a target transmission rate of the first data stream to a first application server that sends the first data stream, so as to instruct the first application server to control transmission of the first data stream according to the target transmission rate of the first data stream.

[0084] In some embodiments, the apparatus further includes a communication unit, wherein the congestion control unit is configured to, when instructing the application servers sending the multiple downstream data flows to perform congestion control on the multiple downstream data flows according to the service demand information of the multiple downstream data flows, specifically:

[0085] Determining a target encoding format or a target rendering mode for each downstream data stream according to the service requirement information of the multiple downstream data streams;

[0086] The communication unit is instructed to send a target encoding format or a target rendering mode of the first data stream to a first application server that sends the first data stream, so as to instruct the first application server to output the first data stream according to the target encoding format or the target rendering mode of the first data stream.

[0087] In some embodiments, the apparatus further includes a communication unit, wherein the congestion control unit is configured to, when instructing the application servers sending the multiple downstream data flows to perform congestion control on the multiple downstream data flows according to the service demand information of the multiple downstream data flows, specifically:

[0088] Determining congestion information of each downstream data flow according to the service demand information of the multiple downstream data flows; wherein the congestion information of the first data flow indicates the degree of network congestion during the transmission of the first data flow;

[0089] The communication unit is instructed to send congestion information of the first data flow to a first application server that sends the first data flow, so as to instruct the first application server to perform congestion control on the first data flow according to the congestion information of the first data flow.

[0090] In some embodiments, the apparatus further comprises a communication unit configured to:

[0091] Receive one or more of the service type of a first application sent by a first application server, the user types of multiple users of the first application, the QoS requirement information of the first application, and the priority of the downlink data flow belonging to the first application; the first application server is the application server that sends the first data flow, and the first application is the application to which the first data flow belongs.

[0092] In some embodiments, the communication unit is further configured to:

[0093] A first message is sent to a network-side device; the first message is used to instruct the network-side device to perform network congestion detection on the downlink data flow belonging to the first application and add a congestion mark.

[0094] In some embodiments, the communication unit is further configured to:

[0095] A second message is sent to a first data transmission client; the first data transmission client is deployed on a first user terminal device, and the first user terminal device is any one of multiple user terminal devices of the first application server; the second message is used to instruct the first data transmission client to identify a congestion mark for the received downlink data flow belonging to the first application, and to instruct the first data transmission client to send congestion feedback information to the data transmission server after identifying the congestion mark in the downlink data flow belonging to the first application.

[0096] In a sixth aspect, the present application proposes another congestion control device, which is applied to a data transmission client, or the device is the data transmission client, and the data transmission client is deployed on a user terminal device, and the device includes:

[0097] a congestion identification unit, configured to determine that network congestion exists during transmission of multiple downlink data flows; the multiple downlink data flows include at least two downlink data flows from different application servers;

[0098] A congestion control unit is used to perform congestion control on the multiple downlink data flows according to the respective service demand information of the multiple downlink data flows; wherein the service demand information of the first data flow includes at least one of the QoS demand information, service type and priority of the application to which the first data flow belongs, and the first data flow is any one of the multiple downlink data flows.

[0099] In some embodiments, the apparatus further includes a communication unit, and the congestion identification unit, when determining that network congestion exists during transmission of multiple downlink data flows, is specifically configured to:

[0100] The first data stream is received from the network side device through the communication unit; the first data stream includes multiple data packets, and the packet header of at least one data packet among the multiple data packets contains a congestion mark, and the congestion mark is used to indicate that there is network congestion during the transmission process of the first data stream.

[0101] In some embodiments, the congestion control unit is specifically configured to:

[0102] Instructing a data transmission service end to control the transmission rates of the multiple downstream data flows according to the service demand information of the multiple downstream data flows; or, instructing an application server that sends the multiple downstream data flows to perform congestion control on the multiple downstream data flows according to the service demand information of the multiple downstream data flows;

[0103] The data transmission service end is connected to an application server that sends the multiple downlink data flows.

[0104] In some embodiments, the apparatus further includes a communication unit; the congestion control unit, when instructing the data transmission service end to control the transmission rate of the multiple downlink data flows according to the service demand information of the multiple downlink data flows, is specifically configured to:

[0105] determining a target transmission rate for each downlink data flow according to the priorities of the multiple downlink data flows;

[0106] The target transmission rate of each downlink data flow is sent to the data transmission service end through the communication unit to instruct the data transmission service end to control the transmission of each downlink data flow according to the target transmission rate of each downlink data flow.

[0107] In some embodiments, the apparatus further includes a communication unit; the congestion control unit, when instructing the data transmission service end to control the transmission rate of the multiple downlink data flows according to the service demand information of the multiple downlink data flows, is specifically configured to:

[0108] Determine a target transmission rate for each downlink data flow according to at least one of the QoS requirement information and service types of the multiple downlink data flows;

[0109] The target transmission rate of each downlink data flow is sent to the data transmission service end through the communication unit to instruct the data transmission service end to control the transmission of each downlink data flow according to the target transmission rate of each downlink data flow.

[0110] In some embodiments, the apparatus further includes a communication unit; the congestion control unit, when instructing the data transmission service end to control the transmission rate of the multiple downlink data flows according to the service demand information of the multiple downlink data flows, is specifically configured to:

[0111] Determining transmission priorities of the multiple downlink data flows according to at least one of QoS requirement information and service types of the multiple downlink data flows;

[0112] determining a target transmission rate for each downlink data flow according to the transmission priorities of the multiple downlink data flows;

[0113] The target transmission rate of each downlink data flow is sent to the data transmission service end through the communication unit to instruct the data transmission service end to control the transmission of each downlink data flow according to the target transmission rate of each downlink data flow.

[0114] In some embodiments, the apparatus further includes a communication unit, wherein the congestion control unit is specifically configured to:

[0115] determining a target transmission rate for each downlink data flow according to the service demand information of the multiple downlink data flows;

[0116] The target transmission rate of the first data stream is sent to the first application server sending the first data stream through the communication unit, so as to instruct the first application server to control the transmission of the first data stream according to the target transmission rate of the first data stream.

[0117] In some embodiments, the apparatus further includes a communication unit, wherein the congestion control unit is specifically configured to:

[0118] Determining a target encoding format or a target rendering mode for each downstream data stream according to the service requirement information of the multiple downstream data streams;

[0119] The target encoding format or target rendering mode of the first data stream is sent to the first application server that sends the first data stream through the communication unit, so as to instruct the first application server to output the first data stream according to the target encoding format or target rendering mode of the first data stream.

[0120] In some embodiments, the apparatus further includes a communication unit, wherein the congestion control unit is specifically configured to:

[0121] Determining congestion information of each downstream data flow according to the service demand information of the multiple downstream data flows; wherein the congestion information of the first data flow indicates the degree of network congestion during the transmission of the first data flow;

[0122] The congestion information of the first data flow is sent to the first application server that sends the first data flow through the communication unit, so as to instruct the first application server to perform congestion control on the first data flow according to the congestion information of the first data flow.

[0123] In some embodiments, the apparatus further comprises a communication unit configured to:

[0124] Receive a second message sent by the data transmission service end; the second message is used to instruct congestion marking identification of the received downlink data flow belonging to the first application, and to instruct to send congestion feedback information to the data transmission service end after the congestion mark is identified in the downlink data flow belonging to the first application.

[0125] In some embodiments, the apparatus further comprises a communication unit configured to:

[0126] Receive one or more of the service type of the first application, the QoS requirement information of the first application, and the priority of the downlink data flow belonging to the first application sent by the first application client; the first application is the application to which the first data flow belongs, and the first application client is the application client that receives the first data flow.

[0127] In some embodiments, the apparatus further comprises a communication unit configured to:

[0128] Receive one or more of the service types, QoS requirement information and priorities of the applications to which multiple downlink data flows respectively belong sent by the data transmission service end; the data transmission service end connects to the application server that sends the multiple downlink data flows.

[0129] In a seventh aspect, the present application proposes another congestion control device, which is applied to a data transmission service end, or the device is applied to the data transmission service end, the data transmission service end is connected to multiple application servers, and the device includes:

[0130] a congestion identification unit, configured to determine that network congestion exists during transmission of multiple uplink data flows; the multiple uplink data flows include at least two uplink data flows belonging to different applications, or include at least two uplink data flows belonging to different users;

[0131] A congestion control unit is used to perform congestion control on the multiple uplink data flows according to the respective service demand information of the multiple uplink data flows; wherein the service demand information of the third data flow includes at least one of the QoS demand information, service type, user type and priority of the application to which the third data flow belongs, and the third data flow is any one of the multiple uplink data flows.

[0132] In some embodiments, the apparatus further includes a communication unit; and the congestion identification unit, when determining that network congestion exists during the transmission of multiple uplink data flows, is specifically configured to:

[0133] The third data stream is received from the network side device through the communication unit; the third data stream includes multiple data packets, and the header of at least one data packet among the multiple data packets contains a congestion mark, and the congestion mark is used to indicate that there is network congestion during the transmission process of the third data stream.

[0134] In some embodiments, the congestion control unit is specifically configured to:

[0135] Instruct the data transmission client to control the transmission rate of the multiple uplink data streams according to the service demand information of the multiple uplink data streams; or, instruct the application client that sends the multiple uplink data streams to perform congestion control on the multiple uplink data streams according to the service demand information of the multiple uplink data streams.

[0136] In some embodiments, the apparatus further includes a communication unit; and the congestion control unit, when instructing the data transmission client to control the transmission rates of the multiple uplink data flows according to the service demand information of the multiple uplink data flows, is specifically configured to:

[0137] determining a target transmission rate for each upstream data flow according to the priorities of the multiple upstream data flows;

[0138] The target transmission rate of the third data stream is sent to the first data transmission client through the communication unit to instruct the first data transmission client to control the transmission of the third data stream according to the target transmission rate of the third data stream; wherein, the third data stream is an uplink data stream sent by the first application client to the first application server, and the first data transmission client and the first application client are deployed on the first user terminal device.

[0139] In some embodiments, the apparatus further includes a communication unit; and the congestion control unit, when instructing the data transmission client to control the transmission rates of the multiple uplink data flows according to the service demand information of the multiple uplink data flows, is specifically configured to:

[0140] determining a target transmission rate for each uplink data flow according to at least one of the QoS requirement information, service type, and user type of the multiple uplink data flows;

[0141] The target transmission rate of the third data stream is sent to the first data transmission client through the communication unit to instruct the first data transmission client to control the transmission of the third data stream according to the target transmission rate of the third data stream; wherein, the third data stream is an uplink data stream sent by the first application client to the first application server, and the first data transmission client and the first application client are deployed on the first user terminal device.

[0142] In some embodiments, the apparatus further includes a communication unit; and the congestion control unit, when instructing the data transmission client to control the transmission rates of the multiple uplink data flows according to the service demand information of the multiple uplink data flows, is specifically configured to:

[0143] Determining transmission priorities of the multiple uplink data flows according to at least one of QoS requirement information, service types, and user types of the multiple uplink data flows;

[0144] determining a target transmission rate for each uplink data stream according to the transmission priorities of the multiple uplink data streams;

[0145] The target transmission rate of the third data stream is sent to the first data transmission client through the communication unit to instruct the first data transmission client to control the transmission of the third data stream according to the target transmission rate of the third data stream; wherein, the third data stream is an uplink data stream sent by the first application client to the first application server, and the first data transmission client and the first application client are deployed on the first user terminal device.

[0146] In some embodiments, the apparatus further includes a communication unit, wherein the congestion control unit is configured to, when instructing application clients sending the multiple upstream data streams to perform congestion control on the multiple upstream data streams according to the service demand information of the multiple upstream data streams, specifically:

[0147] Determining a target transmission rate for each upstream data flow according to the service demand information of the multiple upstream data flows;

[0148] The target transmission rate of the third data stream is sent to the first application client sending the third data stream through the communication unit, so as to instruct the first application client to control the transmission of the third data stream according to the target transmission rate of the third data stream.

[0149] In some embodiments, the apparatus further includes a communication unit, wherein the congestion control unit is configured to, when instructing application clients sending the multiple upstream data streams to perform congestion control on the multiple upstream data streams according to the service demand information of the multiple upstream data streams, specifically:

[0150] Determining a target encoding format or a target rendering mode for each upstream data stream according to the service requirement information of the multiple upstream data streams;

[0151] The target encoding format or target rendering mode of the third data stream is sent to the first application client that sends the third data stream through the communication unit to instruct the first application client to output the third data stream according to the target encoding format or target rendering mode of the third data stream.

[0152] In some embodiments, the apparatus further includes a communication unit, wherein the congestion control unit is configured to, when instructing application clients sending the multiple upstream data streams to perform congestion control on the multiple upstream data streams according to the service demand information of the multiple upstream data streams, specifically:

[0153] Determining congestion information of each upstream data flow according to the service demand information of the multiple upstream data flows; wherein the congestion information of the third data flow indicates the degree of network congestion during the transmission of the third data flow;

[0154] The congestion information of the third data stream is sent to the first application client that sends the third data stream through the communication unit, so as to instruct the first application client to perform congestion control on the third data stream according to the congestion information of the third data stream.

[0155] In some embodiments, the apparatus further comprises a communication unit configured to:

[0156] Receive one or more of the service type of the first application, the user types of multiple users of the first application, the QoS requirement information of the first application, and the priority of the uplink data flow belonging to the first application sent by the first application server; the first application server is the application server that receives the third data flow, and the first application is the application to which the third data flow belongs.

[0157] In some embodiments, the communication unit is further configured to:

[0158] Send a third message to the network side device; the third message is used to instruct the network side device to perform network congestion detection on the uplink data flow belonging to the first application and add a congestion mark.

[0159] In an eighth aspect, the present application proposes another congestion control device, which is applied to a data transmission client, or the device is the data transmission client, and the data transmission client is deployed on a user terminal device, and the device includes:

[0160] a congestion identification unit, configured to determine that network congestion exists during transmission of multiple uplink data flows; the multiple uplink data flows include at least two uplink data flows belonging to different applications;

[0161] A congestion control unit is used to perform congestion control on the multiple uplink data flows according to the respective service demand information of the multiple uplink data flows; wherein the service demand information of the third data flow includes at least one of the QoS demand information, service type and priority of the application to which the third data flow belongs, and the third data flow is any one of the multiple uplink data flows.

[0162] In some embodiments, the apparatus further includes a communication unit, and the congestion identification unit, when determining that network congestion exists during the transmission of multiple uplink data flows, is specifically configured to:

[0163] Receiving, through the communication unit, congestion feedback information for a third data stream sent by the data transmission service end; wherein the third data stream is an uplink data stream sent by the first application client to the first application server; and the first application client is deployed on the user terminal device;

[0164] It is determined, according to the congestion feedback information, that network congestion exists during the transmission of the third data stream.

[0165] In some embodiments, the congestion control unit is specifically configured to:

[0166] Controlling the transmission rates of the multiple uplink data flows according to the service demand information of the multiple uplink data flows; or instructing the application clients sending the multiple uplink data flows to perform congestion control on the multiple uplink data flows according to the service demand information of the multiple uplink data flows.

[0167] In some embodiments, the congestion control unit, when controlling the transmission rates of the multiple uplink data flows according to the service demand information of the multiple uplink data flows, is specifically configured to:

[0168] determining a target transmission rate for each upstream data flow according to the priorities of the multiple upstream data flows;

[0169] The transmission of each uplink data flow is controlled according to the target transmission rate of each uplink data flow.

[0170] In some embodiments, the congestion control unit, when controlling the transmission rates of the multiple uplink data flows according to the service demand information of the multiple uplink data flows, is specifically configured to:

[0171] determining a target transmission rate for each uplink data flow according to at least one of the QoS requirement information and service types of the multiple uplink data flows;

[0172] The transmission of each uplink data flow is controlled according to the target transmission rate of each uplink data flow.

[0173] In some embodiments, the congestion control unit, when controlling the transmission rates of the multiple uplink data flows according to the service demand information of the multiple uplink data flows, is specifically configured to:

[0174] Determining transmission priorities of the multiple uplink data flows according to at least one of QoS requirement information and service types of the multiple uplink data flows;

[0175] determining a target transmission rate for each uplink data stream according to the transmission priorities of the multiple uplink data streams;

[0176] The transmission of each uplink data flow is controlled according to the target transmission rate of each uplink data flow.

[0177] In some embodiments, the apparatus further includes a communication unit; and the congestion control unit, when instructing application clients sending the multiple upstream data streams to perform congestion control on the multiple upstream data streams according to the service demand information of the multiple upstream data streams, is specifically configured to:

[0178] Determining a target transmission rate for each upstream data flow according to the service demand information of the multiple upstream data flows;

[0179] The target transmission rate of the third data stream is sent to the first application client sending the third data stream through the communication unit, so as to instruct the first application client to control the transmission of the third data stream according to the target transmission rate of the third data stream.

[0180] In some embodiments, the apparatus further includes a communication unit; and the congestion control unit, when instructing application clients sending the multiple upstream data streams to perform congestion control on the multiple upstream data streams according to the service demand information of the multiple upstream data streams, is specifically configured to:

[0181] Determining a target encoding format or a target rendering mode for each upstream data stream according to the service requirement information of the multiple upstream data streams;

[0182] The target encoding format or target rendering mode of the third data stream is sent to the first application client that sends the third data stream through the communication unit to instruct the first application client to output the third data stream according to the target encoding format or target rendering mode of the third data stream.

[0183] In some embodiments, the apparatus further includes a communication unit; and the congestion control unit, when instructing application clients sending the multiple upstream data streams to perform congestion control on the multiple upstream data streams according to the service demand information of the multiple upstream data streams, is specifically configured to:

[0184] Determining congestion information of each upstream data flow according to the service demand information of the multiple upstream data flows; wherein the congestion information of the third data flow indicates the degree of network congestion during the transmission of the third data flow;

[0185] The congestion information of the third data stream is sent to the first application client that sends the third data stream through the communication unit, so as to instruct the first application client to perform congestion control on the third data stream according to the congestion information of the third data stream.

[0186] In some embodiments, the apparatus further comprises a communication unit configured to:

[0187] Receive one or more of the service type of the first application, the QoS requirement information of the first application, and the priority of the uplink data flow belonging to the first application sent by the first application client; the first application is the application to which the third data flow belongs, and the first application client is the application client that sends the third data flow.

[0188] In some embodiments, the apparatus further comprises a communication unit configured to:

[0189] Receive one or more of the service types, QoS requirement information and priorities of the applications to which the multiple uplink data streams respectively belong, sent by the data transmission service end; the data transmission service end connects to the application server that receives the multiple uplink data streams.

[0190] In the ninth aspect, the present application proposes another congestion control device, comprising a processor and a memory; the memory is used to store programs; the processor is used to execute the programs stored in the memory, so that the device implements the method described in any possible design of the first aspect to the fourth aspect above.

[0191] In the tenth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a program code. When the program code runs on the computer, the computer executes the method described in any possible design of the first to fourth aspects above.

[0192] In the eleventh aspect, an embodiment of the present application provides a computer program product, which, when executed on a computer, enables the computer to execute the method described in any possible design of the first to fourth aspects above.

[0193] In the twelfth aspect, an embodiment of the present application provides a chip system, which includes a processor coupled to a memory and is used to call a computer program or computer instruction stored in the memory so that the processor executes the method described in the possible designs of the first to fourth aspects above.

[0194] In the thirteenth aspect, an embodiment of the present application provides a processor for calling a computer program or computer instruction stored in a memory so that the processor executes the method described in the possible designs of the first to fourth aspects above.

[0195] The embodiments of the present application can be further combined to provide more implementations based on the implementations provided in the above aspects. The technical effects that can be achieved by any possible design in any of the second to thirteenth aspects can be described with reference to the technical effects that can be achieved by any possible design in the first aspect, and the repetitions are not discussed here. BRIEF DESCRIPTION OF THE DRAWINGS

[0196] Figure 1 is a schematic diagram of a network architecture;

[0197] Figure 2 is a schematic diagram of a SEALDD service architecture;

[0198] FIG3 is a schematic diagram of a data transmission process based on SEALDD;

[0199] FIG4 is a schematic diagram of an implementation process of an L4S congestion control solution provided in an embodiment of the present application;

[0200] FIG5 is a schematic diagram of the architecture of a downlink data transmission scenario provided in an embodiment of the present application;

[0201] FIG6 is a flow chart of a congestion control method provided in an embodiment of the present application;

[0202] FIG7 is a flow chart of a congestion control method in a downlink data transmission scenario provided by an embodiment of the present application;

[0203] FIG8 is a flow chart of another congestion control method in a downlink data transmission scenario provided by an embodiment of the present application;

[0204] FIG9 is a flow chart of a congestion control method in another downlink data transmission scenario provided by an embodiment of the present application;

[0205] FIG10 is a schematic diagram of an architecture of an uplink data transmission scenario provided in an embodiment of the present application;

[0206] FIG11 is a flow chart of another congestion control method provided in an embodiment of the present application;

[0207] FIG12 is a flow chart of a congestion control method in an uplink data transmission scenario provided by an embodiment of the present application;

[0208] FIG13 is a flow chart of another congestion control method in an uplink data transmission scenario provided by an embodiment of the present application;

[0209] FIG14 is a flow chart of a congestion control method in another uplink data transmission scenario provided by an embodiment of the present application;

[0210] FIG15 is a schematic structural diagram of a congestion control device provided in an embodiment of the present application;

[0211] FIG16 is a schematic structural diagram of another congestion control device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0212] In order to make the purpose, technical solutions and advantages of the embodiments of the present application more clear, the embodiments of the present application will be further described in detail below with reference to the accompanying drawings. In the description of the embodiments of the present application, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features.

[0213] For ease of understanding, the following exemplary descriptions of concepts related to the embodiments of the present application are provided for reference:

[0214] (1) Service and system aspects (SA2) 5G architecture: 3GPP SA2 defines that the 5G system architecture is divided into two parts: access network and core network. The specific network architecture diagram can be seen in Figure 1. As shown in Figure 1, the key logical network elements of the core network include: access and mobility management function (AMF), session management function (SMF), user plane function (UPF), policy control function (PCF) and unified data management (UDM). The following is an introduction to the various components included in the system architecture shown in Figure 1:

[0215] User equipment (UE), also known as terminal equipment, mobile station (MS), or mobile terminal (MT), is a device that provides voice and / or data connectivity to users. For example, the terminal equipment may include handheld devices or vehicle-mounted devices with wireless connectivity. At present, the terminal device can be: device-to-device communication (D2D) terminal device, vehicle to everything (V2X) terminal device (V2X can specifically include vehicle-to-vehicle (V2V), vehicle-to-roadside infrastructure (V2I), vehicle-to-pedestrian (V2P) direct communication, and vehicle-to-network (V2N) communication interaction and other application requirements.), machine-to-machine / machine-type communications (M2M / MTC) terminal device, Internet of Things (IoT) terminal device, subscriber unit, subscriber station, mobile station, remote station, access point (AP), remote terminal device, access terminal device, user terminal device The term "terminal" refers to a user agent, user equipment, or user terminal. For example, it may include a mobile phone (also known as a "cellular" phone), a computer with a mobile terminal device, a portable, pocket-sized, handheld, or computer-built mobile device, etc. Examples include personal communication service (PCS) phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), and other devices. A terminal device may also be a tablet computer or a computer with wireless transceiver capabilities.The terminal device may also be a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in unmanned driving, a wireless terminal in telemedicine, a wireless terminal in a smart grid, a wireless terminal in a smart city, a wireless terminal in a smart home, and the like. It also includes limited devices, such as devices with low power consumption, or devices with limited storage capacity, or devices with limited computing power. Examples include information sensing devices such as barcodes, radio frequency identification (RFID), sensors, global positioning systems (GPS), laser scanners, and the like. As an example and not a limitation, in the embodiments of the present application, the terminal device may also be a wearable device. Wearable devices may also be referred to as wearable smart devices or smart wearable devices, and are a general term for wearable devices that are intelligently designed and developed using wearable technology for everyday wear, such as glasses, gloves, watches, clothing, and shoes. A wearable device is a portable device that is worn directly on the body or integrated into the user's clothing or accessories. Wearable devices are more than just hardware; they achieve powerful functionality through software support, data exchange, and cloud-based interaction. Broadly speaking, wearable smart devices include full-featured, large-scale devices that can function completely or partially independently of a smartphone, such as smartwatches and smart glasses. Wearable smart devices also focus on a specific application and require integration with other devices, such as smartphones, such as various smart wristbands, smart helmets, and smart jewelry for vital sign monitoring.

[0216] A radio access network (RAN) device (e.g., a base station) may refer to a device in an access network that communicates with a wireless terminal device over an air interface through one or more cells. For example, the access network device may include an evolved base station (NodeB, eNB, or e-NodeB) in an LTE system or long term evolution-advanced (LTE-A), or may also include a next generation node B (gNB) in a 5G NR system, or may also include a centralized unit (CU) and a distributed unit (DU) in a cloud radio access network (Cloud RAN) system, but this is not limited in the present embodiment. An eNB may include various forms of macro base stations, micro base stations (also known as small stations), relay stations, access points, wearable devices, and vehicle-mounted devices. An eNB may also be a transmission and reception point (TRP). A gNB may include various forms of macro base stations, micro base stations (also known as small stations), relay stations, access points, wearable devices, and vehicle-mounted devices. The gNB can also function as a Transmission Relay Protocol (TRP) and a Transmission Measurement Function (TMF). The gNB can include integrated CUs and DUs. The terminal device can communicate with the serving base station over the Uu link. For example, it can communicate with the Ng-eNB over the LTE-Uu link, or with the gNB over the NR-Uu link. The Ng-eNB is an LTE base station, and the gNB is an NR base station. Inter-base station communication can occur over the Xn interface.

[0217] The UPF network element is responsible for processing user messages, such as forwarding and billing messages.

[0218] The AMF network element is responsible for mobility management in the mobile network, such as user location update, user network registration, user switching, etc.

[0219] The SMF network element is responsible for session management in mobile networks, such as session establishment, modification, and release. During session establishment, the SMF network element performs operations such as allocating IP addresses to users and selecting the UPF that provides packet forwarding functions.

[0220] The PCF network element is responsible for providing message processing strategies to the AMF and SMF network elements, such as QoS strategies and slice selection strategies.

[0221] The UDM network element is used to store user data, such as user contract information, authorization and authentication information, etc.

[0222] The network slice selection function (NSSF) network element is used to determine the network slice instance that the UE is allowed to access based on the UE's slice selection auxiliary information, subscription information, etc.

[0223] The authentication server function (AUSF) network element is responsible for 3GPP and non-3GPP access authentication.

[0224] The application function (AF) network element is responsible for providing services to 3GPP, such as influencing service routing and interacting with the PCF network element for policy control.

[0225] The data network (DN) refers to the operator's network that provides data transmission services to users, such as IP multi-media service (IMS) and the Internet. The UE accesses the DN by establishing a session between the UE-RAN-UPF-DN.

[0226] (2) SA6SEALDD architecture: 3GPP SA6 proposes the architecture and functions of the service enabler architecture layer data delivery (SEALDD) service, which is used to provide data transmission, data distribution, data storage and other related functions for the vertical application layer (VAL), and provides communication transmission functions for the VAL in the form of an application program interface (API) through an interface with the VAL (which can be called a northbound interface). For example, SEALDD can also be called a data transmission enhancement layer or a SEALDD enhancement layer. Referring to Figure 2, an architectural diagram of a SEALDD system provided in an embodiment of the present application, which includes a SEALDD client (SEALDD client) and a SEALDD server (SEALDD server). The SEALDD client is deployed on the UE in the form of software or system components, and the SEALDD server is deployed between the UPF network element and the application server (AS) or the VAL server (VAL server) in the form of a server or server cluster. Alternatively, according to the deployment of the UPF and the AS, the SEALDD server can also be deployed in a distributed manner.

[0227] As shown in Figure 2, the SEALDD client communicates with the VAL client via the SEALDD-C interface, and the SEALDD server communicates with the VAL server via the SEALDD-S interface. User plane data is transmitted between the SEALDD client and the SEALDD server via the SEALDD-UU interface, which is carried over the user plane session established by the 3GPP network system. When SEALDD servers are deployed in a distributed manner as a server cluster, each SEALDD server interacts with the other via the SEALDD-E interface, such as providing control plane context transmission and user plane data forwarding. When interacting with the core network, the SEALDD server can, as an AF network element, interact with the PCF network element via the N5 interface, or as an AF network element, interact with the network exposure function (NEF) network element via the N33 interface, thereby enabling indirect communication with the PCF network element through the NEF network element. Furthermore, user plane data can be transmitted with the UPF network element via the N6 interface.

[0228] Based on the architecture shown in Figure 2, the following introduces the process of SEALDD providing data transmission services for VAL applications. For example, refer to Figure 3, which is a schematic diagram of a data transmission process based on SEALDD provided for an embodiment of the present application. During the uplink data transmission process, the VAL client transmits the uplink data packet to the SEALDD client through the SEALDD-C interface. After the SEALDD client encapsulates the data packet, it sends the encapsulated uplink data packet to the SEALDD server through the SEALDD-UU interface. After the SEALDD server parses and decapsulates the uplink data packet, it sends it to the VAL server through the SEALDD-S interface. During the downlink data transmission process, the VAL server sends the downlink data packet to the SEALDD server through the SEALDD-S interface. After the SEALDD server encapsulates the downlink data packet, it sends it to the SEALDD client through the SEALDD-UU interface. After the SEALDD client parses and decapsulates the received downlink data packet, it transmits it to the VAL client through the SEALDD-C interface.

[0229] When a single sender or multiple senders simultaneously send a large amount of data to a single receiver, if the total bandwidth exceeds the bandwidth capacity of the data transmission link or the processing capabilities of the transmission node, network congestion can occur, resulting in degraded network performance and a poor user experience. For example, network congestion can lead to packet accumulation and increased packet queuing delays. When packet accumulation exceeds the cache capacity or buffering threshold of a transmission node, it can also cause packet loss at the transmission node and retransmissions at the sending node, leading to degraded network transmission performance and even network crashes. Therefore, when network congestion occurs, congestion control is crucial for improving network performance and satisfying the user and application experience. Congestion control refers to reducing or resolving network congestion by adjusting the number of packets injected into the network by the sender. Traditional congestion control schemes include the Transmission Control Protocol (TCP) congestion control scheme and the low latency, low loss, scalable throughput (L4S) network congestion control scheme proposed by the Internet Engineering Task Force (IETF). Among them, the TCP congestion control scheme uses a slow start and congestion avoidance algorithm to drop packets when network congestion occurs to adjust the window size of the data sender, thereby reducing network congestion. However, this approach has the problem of wasting network resources. The L4S congestion control scheme works by setting the explicit congestion notification (ECN) flag in the packet header to "11" or filling it with "11" when a data transmission intermediate node determines that network congestion has occurred. This process can be referred to as ECN marking. Furthermore, the data transmission receiving end can be notified of the occurrence of network congestion and notify the data transmission sending end, which then performs congestion control. For example, see Figure 4, which is a schematic diagram of the implementation process of an L4S congestion control scheme provided in an embodiment of the present application. Step 401: The intermediate node determines that network congestion has occurred and ECN marks the data packet. For example, the intermediate node can determine that network congestion has occurred when the cache exceeds a threshold, parse the IP header of the data packet, and set the ECN flag included in the header to "11." In step 402, the intermediate node sends the ECN-marked data packet to the receiving end of the data transmission. In step 403, the receiving end determines that network congestion has occurred based on the ECN marking in the data packet and generates congestion feedback information. For example, the receiving end can generate congestion feedback information using an ECN feedback mechanism, such as a TCP echo message. In step 404, the receiving end of the data transmission sends the congestion feedback information to the sending end of the data transmission.After receiving the congestion feedback information, the data transmission sender can perform congestion control, such as reducing the size of the data packet or reducing the transmission rate of the data packet to alleviate network congestion.

[0230] Based on the above description, it can be seen that the traditional IETF L4S congestion control scheme has several drawbacks: It places specific functional requirements on both the sender and receiver of data transmission, requiring the receiver to support ECN flag bit recognition, the generation and transmission of congestion feedback information, and the sender to support the processing of congestion feedback information, which increases the computational load on both the sender and receiver. Furthermore, when performing congestion control, the sender can only adjust the transmission rate of a single data flow and has no visibility into the actual operating conditions of the entire network or other applications. For example, if a first data flow sent by a first sender has a high real-time requirement, while a second data flow sent by a second sender has a lower real-time requirement, the transmission rate of the second data flow can be reduced to a lower level than that of the first data flow. However, since the first and second senders can only make adjustments based on their own perspectives, this can lead to problems such as the transmission rates of the first and second data flows being reduced to the same degree or no transmission rate adjustment, resulting in poor congestion control effectiveness. This application proposes a congestion control solution, which performs congestion control through a data transmission server connected to multiple application servers. The data transmission server can perform congestion control on the data flow based on at least one of the service types, QoS requirement information, user types, and priorities of data flows belonging to different applications of multiple applications. Compared with the traditional L4S congestion control solution, the execution subject of the solution of this application is the data transmission server. The data transmission server can perform different congestion control on different data flows based on the service demand levels of multiple data flows, such as QoS requirements, service type differences, etc., and the congestion control effect is better. And because the execution subject is the data transmission server, there is no need to configure functions such as congestion mark identification and congestion feedback for the client and server of the application, which reduces the difficulty of application development.

[0231] To facilitate understanding of the solution of the present application, the scenarios to which the solution of the present application is applicable are first introduced. Referring to Figure 5, there is shown a schematic diagram of the architecture of a downlink data transmission scenario provided in an embodiment of the present application, which includes an application client, an application server, a data transmission client, and a data transmission server. Among them, the application client can be a VAL application client, and the application server can be a VAL application server. For example, the application client can be deployed in a terminal device (or can be called a user terminal device) in the form of software. For an introduction to the terminal device, please refer to the relevant description in Figure 1 above, which will not be repeated here. The application server can be implemented in the form of a separate server or a server cluster to respond to requests from the application client. For ease of description, the application server will be referred to as an application server in the following. The data transmission client can be the SEALDD client introduced in the above embodiment, or it can be called a media enabling client, a data transmission enhancement client, etc., which is deployed in the terminal device in the form of software or a system component. The data transmission server can be the SEALDD server introduced in the above embodiment, or it can be called a media enabling server, a data transmission enhancement server, etc., which is deployed between the application server and the network in the form of an independent server or a server cluster. The network in the scenario shown in Figure 5 includes an access network and a core network. For an introduction to the access network and the core network, please refer to the relevant description in Figure 1 above, and no further details will be given here. For example, Figure 5 is only used as an example. This application does not limit the number of application servers. For example, a data transmission server can be connected to multiple application servers, each of which supports different applications. Correspondingly, this application does not limit the number of application clients and data transmission clients. Below, the congestion control solution proposed in this application is introduced in conjunction with the downlink data transmission scenario shown in Figure 5.

[0232] For example, see Figure 6, which is a flow chart of a congestion control method provided in an embodiment of the present application. Optionally, the method flow shown in Figure 6 can be implemented by the data transmission service end included in the scenario shown in Figure 5, or can be implemented by specific components included in the data transmission service end, such as chips, processors, and other devices included in the data transmission service end. The data transmission service end is connected to multiple application servers and is used to provide data transmission services for multiple application servers. The method flow shown in Figure 6 specifically includes:

[0233] 601. Determine that network congestion exists during transmission of multiple downlink data flows.

[0234] Wherein, the multiple downlink data streams include at least a first data stream and a second data stream, the first data stream and the second data stream are any two different downlink data streams among the multiple downlink data streams, the first data stream and the second data stream belong to different applications, or the first data stream and the second data stream belong to different users. Exemplarily, the first data stream and the second data stream can be downlink data streams sent by different application servers, for example, the first data stream is sent by the first application server, and the second data stream is sent by the second application server. Alternatively, the first data stream and the second data stream can also be sent from the same application server to different application clients, for example, the first data stream can be sent from the first application server to the first application client, and the first application client can be deployed on the first user terminal device, and the second data stream can be sent from the first application server to the second application client, and the second application client can be deployed on the second user terminal device, wherein the first user terminal device and the second user terminal device are different terminal devices.

[0235] For example, network congestion during transmission of the first data flow may refer to the number of data packets belonging to the first data flow cached at a transmission node in the transmission link of the first data flow exceeding a threshold. In this embodiment of the present application, the RAN node is used to detect network congestion during transmission of the first data flow.

[0236] 602 : Perform congestion control on the multiple downlink data flows according to service demand information corresponding to the multiple downlink data flows.

[0237] Among them, the service demand information of any downlink data flow may include one or more of the QoS demand information of the application to which the data flow belongs, the service type, the user type of the user to which the data flow belongs, and the priority of the data flow. The service demand information can also be called service feature information. For example, taking the first data flow as an example, the service demand information of the first data flow can be provided to the data transmission service end by the first application server that sends the first data flow. For example, the first application server can send the QoS demand information of the first application, the service type of the first application, the user types of multiple users served by the first application, and the priority of the data flow belonging to the first application when requesting service from the data transmission service end, or the application server for providing policy configuration can provide the service demand information to the data transmission service end before the first application server requests service from the data transmission service end. Among them, the priority of the first data flow can represent the degree of demand of the first data flow for congestion control (such as low-latency transmission). For example, when the service to which the first data flow belongs is a service with high demand for low-latency transmission, such as VR, a higher priority can be configured for the first data flow.

[0238] When performing congestion control, the data transmission server will perform different congestion control on different data flows based on the business demand information of different data flows.

[0239] Based on the above scheme, the present application proposes that congestion control be performed by a data transmission server connected to multiple application servers. The data transmission server can perform different congestion controls on different data streams based on one or more of the service types, QoS requirement information, user types, and priorities of the data streams of multiple applications. Compared with the traditional L4S congestion control scheme, the data transmission server in the scheme of the present application can perform different congestion controls on different data streams based on the degree of demand for congestion control (such as low-latency transmission) of multiple data streams, and the sum of the transmission rates of the data streams after congestion control is performed is lower than the sum of the transmission rates of the data streams before congestion control, thereby alleviating network congestion and improving the effect of congestion control. And because the execution subject is the data transmission server, there is no need to configure functions such as congestion mark identification and congestion feedback for the client and server of the application, which reduces the difficulty of application development.

[0240] For example, when a data transmission service performs congestion control on multiple downlink data flows based on their service demand information, the service can perform congestion control based on the priorities included in the service demand information. For example, the transmission rates of different downlink data flows can be adjusted to varying degrees based on the priorities from the application server to alleviate network congestion. Alternatively, congestion control can be performed based on the service type, user type, and QoS requirement information of the application included in the service demand information. For example, the QoS requirement information can include a QoS value, and the data transmission service can perform different congestion control on the multiple downlink data flows based on the QoS value. Alternatively, the service type, user type, and QoS requirement information of the application included in the service demand information can be used to first determine the transmission priority. The transmission priority can indicate the degree to which a data flow requires low transmission latency. Furthermore, the data transmission service can perform congestion control based on the transmission priority of each downlink data flow. The congestion control scheme proposed in this application is described below in detail, using the example of a data transmission service determining the transmission priority based on the service type, user type, and QoS requirement information of the application, and performing congestion control based on the transmission priority.

[0241] In one possible implementation, the data transmission service end may determine the transmission priority of the data stream based on the service demand information received from multiple application servers before determining that there is network congestion. For example, the service demand information sent by the first application server may include: the service type of the first application, such as the first application is a VR service or a video service; the QoS demand information of the first application, used to characterize the requirements of the first application for the quality of data transmission service; the user types of multiple users of the first application, such as the user types may include ordinary users and paid users; the priorities of multiple data streams belonging to the first application. Optionally, after going online, the first application server may discover a data transmission service end that can provide data transmission services based on the common API open framework (CAPIF) defined in the 3GPP SA6 standard, and send a subscription request message to the data transmission service end. The subscription request message includes the application identifier, address and service demand information, and the service demand information includes one or more of the application's service type, QoS demand information, user type of the user of the application service, and priority of the data stream.

[0242] Furthermore, the data transmission service end can determine the transmission priority of the data stream based on the service demand information. In an optional manner, the data transmission service end can directly use the priority of the data stream from the application server as the transmission priority of the data stream. In another optional manner, the data transmission service end can also determine the transmission priority of the data stream based on the service type, QoS requirement information, and the user type of the user of the application service. For example, the process of determining the priority based on the service demand information sent by the first application server and the second application server is introduced as an example: In one possible case, if the service type of the first application is VR service, which has a higher demand for congestion control (such as low-latency transmission), and the second application is a video service, which has a lower demand for congestion control (such as low-latency transmission), then the data transmission service end can set the transmission priority of the data stream transmitted by the first application server to be higher than the transmission priority of the data stream transmitted by the second application server. In another possible case, if the service type of the first application and the second application is the same, but the QoS requirement information sent by the first application server indicates that the first application is a paid application and has a higher demand for congestion control (such as low-latency transmission), then the data transmission service end can set the transmission priority of the data stream transmitted by the first application server to be higher than the transmission priority of the data stream transmitted by the second application server. In another possible case, if the user type of the first application client sent by the first application server is a paid user and the user type of the second application client is an ordinary user, the data transmission service end can set the transmission priority of the data stream transmitted between the first application server and the first application client to be higher than the transmission priority of the data stream transmitted between the first application server and the second application client.

[0243] Exemplarily, the data transmission service end may also confirm whether it is necessary to perform congestion control on the data streams transmitted by each application server in the event of network congestion based on the service demand information sent by the application server. In an optional manner, the data transmission service end may determine whether congestion control is required based on the service type sent by the application server. For example, if the type of the first application sent by the first application server is a VR service, or other services with high requirements for congestion control (such as low-latency transmission), the data transmission service end may determine that congestion control is required for the data stream transmitted by the first application server. In another optional manner, the data transmission service end may determine that congestion control is required based on the QoS requirement information sent by the application server. In yet another optional manner, the data transmission service end may provide different types of API interfaces for the application server, and different types of API interfaces indicate the degree of demand for congestion control (such as low-latency transmission). The data transmission service end may determine that congestion control is required based on the type of request triggered by the application server through the API interface.

[0244] After determining that congestion control is required, the data transmission service end may notify the network side device to perform congestion detection and add a congestion mark. For example, when the data transmission service end determines that congestion control is required for the data stream belonging to the first application transmitted by the first application server, the network side device may be notified to perform congestion detection on the data stream belonging to the first application and add a congestion mark. When notifying the network side device, the data transmission service end may transmit the notification information to the 5G core network (5G core, 5GC) control plane network element, such as the NEF network element or PCF network element included in the architecture shown in Figure 1. The notification information may include the identifier of the first application, the identifiers of multiple users of the first application, the address information (traffic descriptor) of the data transmission service end, a congestion detection indication, and a congestion marking method. For example, the congestion marking method may adopt the ECN marking method provided in the L4S congestion control solution. Furthermore, the 5GC control plane network element may respectively send information to the access network device (such as the RAN included in the architecture shown in FIG1 ) and the user plane network element (such as the UPF network element included in the architecture shown in FIG1 ) to start congestion detection and perform congestion marking, or it may also be referred to as the 5GC control plane network element instructing the access network device and the UPF network element to perform congestion detection and activate the L4S ECN marking function. Exemplarily, the 5GC control plane network element may send information (hereinafter referred to as N2 message) to the access network device through the N2 interface, which may include a QoS flow identity (QFI), a congestion detection indication, and an ECN marking indication, for instructing the access network device to perform congestion detection and ECN marking on the data flow with the QFI. Exemplarily, the 5GC control plane network element may send information (hereinafter referred to as N4 message) to the UPF network element through the N4 interface, which may include a packet detection rule (PDR) and an ECN marking indication, for instructing the UPF network element to perform ECN marking on the data flow indicated in the PDR rule.

[0245] After determining that congestion control is required for the data flow of the first application, the data transmission service may further notify the first data transmission client to identify a congestion mark for the downlink data flow belonging to the first application and, upon identifying the congestion mark, send congestion feedback information to the data transmission service. The first data transmission client is deployed on any user-end device that has the first application deployed. For example, in the example of the first data transmission client being deployed on the first user-end device, the first user-end device also has a first application client deployed on it. Optionally, the congestion feedback information may also be the TCP echo information described in the above embodiments or feedback information defined in a traditional L4S congestion control scheme. In one possible implementation, when the data transmission service determines that network congestion exists, it may make this determination based on the congestion feedback information sent by the data transmission client deployed on the user-end device. For example, still using the first data flow as an example, the process by which the data transmission service determines that network congestion exists during the transmission of the first data flow will be described. The first data flow is any one of multiple downlink data flows, and the first data flow may be a downlink data flow sent from the first application server to the first application client. Illustratively, the data transmission service end may receive congestion feedback information for the first data stream sent by the first data transmission client end, and the data transmission service end may determine, based on the congestion feedback information, that network congestion exists during the transmission of the first data stream.

[0246] When it is determined that there is network congestion during the transmission of multiple downstream data streams, the data transmission service end may perform different congestion control on the multiple downstream data streams according to one or more items of the service demand information of the multiple downstream data streams. For example, when performing congestion control based on the service demand information, congestion control may be performed based on the priority included in the service demand information, or based on the service type, user type and QoS demand information included in the service demand information. It is also possible to first determine the transmission priority of each downstream data stream according to the service type, user type and QoS demand information, and then perform congestion control based on the transmission priority. The process of determining the transmission priority can be referred to the introduction in the above embodiment and will not be repeated here. For the sake of convenience of description, the congestion control process will be specifically introduced below by taking the method of first determining the transmission priority of each downstream data stream according to the service type, user type and QoS demand information, and then performing congestion control based on the transmission priority as an example. For example, when performing congestion control, the following two methods can be adopted:

[0247] Method 1: The data transmission server can control the transmission rates of multiple downstream data flows based on the transmission priorities of the multiple downstream data flows.

[0248] For example, a data transmission service can determine a target transmission rate for each downstream data stream based on the transmission priorities of multiple downstream data streams, and control the transmission of each downstream data stream according to the target transmission rate of each downstream data stream. For example, taking the congestion control process for a first data stream and a second data stream as an example, the transmission priority of the first data stream is higher than the transmission priority of the second data stream. In one optional approach, the data transmission service can reduce the transmission rates of both the first and second data streams, and set the degree of reduction in the transmission rate of the second data stream to be higher than the degree of reduction in the transmission rate of the first data stream. That is, the difference between the original transmission rate of the first data stream and the target transmission rate is less than the difference between the original transmission rate of the second data stream and the target transmission rate. In another optional approach, the data transmission service can leave the transmission rate of the first data stream unchanged and only reduce the transmission rate of the second data stream. That is, the original transmission rate of the first data stream is the same as the target transmission rate, thereby not affecting the real-time transmission of the first data stream. In another optional manner, the data transmission service end increases the transmission rate of the first data stream, decreases the transmission rate of the second data stream, and ensures that the overall transmission rate of the first data stream and the second data stream decreases, thereby alleviating network congestion while ensuring the real-time transmission of the first data stream. Any of the three optional schemes described above can be selected to perform the operation of determining the target transmission rate, or a scheme can be selected based on the difference in transmission priority between the first data stream and the second data stream. For example, the third scheme described above can be used when the difference between the transmission priority of the first data stream and the transmission priority of the second data stream is large, and the first scheme described above can be used when the difference between the transmission priority of the first data stream and the transmission priority of the second data stream is small.

[0249] Furthermore, after determining the target transmission rate of each downlink data flow, the target transmission rate may be used to control each downlink data flow to enter the network.

[0250] Method 2: The data transmission service end instructs the application servers sending the multiple downstream data flows to perform congestion control according to the transmission priorities of the multiple downstream data flows.

[0251] In one possible implementation, the data transmission service end can determine the target transmission rate of each downstream data stream based on the transmission priority of multiple downstream data streams, and send the target transmission rate of the first data stream to the first application server, so as to instruct the first application server to control the transmission of the first data stream according to the target transmission rate of the first data stream. The first application server is the application server that sends the first data stream. For example, when the first application server controls the transmission of the first data stream according to the target transmission rate, after generating the first data stream, it can control the output rate of the first data stream so that the first data stream is transmitted to the network according to the target transmission rate. Alternatively, the generation rate of the first data stream can also be controlled, for example, the encoding format or rendering method of the first data stream can be adjusted to reduce the generation rate of the first data stream, thereby reducing the transmission rate of the first data stream.

[0252] In another possible implementation, the data transmission server may determine the target encoding format or target rendering mode of each downstream data stream based on the transmission priority of multiple downstream data streams, and send the target encoding format or target rendering mode of the first data stream to the first application server, instructing the first application server to generate the first data stream according to the target encoding format or target rendering mode, so as to reduce the generation rate of the first data stream and thus reduce the transmission rate of the first data stream. Exemplarily, when determining the target encoding format or target rendering mode of the first data stream, the data transmission server may first determine the target transmission rate of the first data stream based on the transmission priority of the multiple downstream data streams, and further determine the generation rate of the first data stream based on the target transmission rate of the first data stream, thereby determining the target encoding format and target rendering mode of the first data stream.

[0253] In another possible implementation, the data transmission service end may determine the congestion information of each downstream data flow based on the transmission priority of multiple downstream data flows, wherein the congestion information is used to indicate the degree of congestion of the downstream data flow during transmission. For example, the congestion information may include the congestion level, the congestion ratio, etc. The higher the transmission priority of the downstream data flow, the lower the congestion degree indicated by the corresponding congestion information. Furthermore, the data transmission service end may send the congestion information of the first data flow to the first application server to instruct the first application server to perform congestion control on the first data flow based on the congestion information. For example, if the first data flow is a data flow with a higher transmission priority, the data transmission service end may report congestion information indicating a lower degree of congestion to the first application server. Conversely, if the first data flow is a data flow with a lower transmission priority, the data transmission service end may report congestion level information indicating a higher degree of congestion to the first application server. Thus, the first application server can adjust the output rate or generation rate of the first data flow based on the congestion information of the first data flow.

[0254] It should be noted that both the above-mentioned method 1 and method 2 are introduced by taking the example of congestion control based on transmission priority. In actual applications, congestion control can also be performed directly using service demand information. For example, if the QoS demand value of the first data stream is lower than the QoS demand value of the second data stream, the data transmission service end can adjust the transmission rate of the first data stream to a lower level. For another example, if the service type of the first data stream has a lower demand for congestion control (such as low-latency transmission) than the service type of the second data stream, the data transmission service end can also adjust the transmission rate of the first data stream to a lower level.

[0255] Based on the above scheme, the present application proposes that in the downlink data transmission scenario, the data transmission service end performs different congestion control on different downlink data flows according to one or more of the service type, user type, QoS requirements of the application, and the priority of each downlink data flow, so that when network congestion occurs, the rate at which the downlink data flow is input into the network can be controlled, thereby alleviating network congestion.

[0256] In order to facilitate the understanding of the congestion control scheme in the downlink data transmission scenario proposed in the embodiment of the present application, it is introduced below in conjunction with specific embodiments. Referring to Figure 7, there is a flowchart of a congestion control method in a downlink data transmission scenario provided in the embodiment of the present application. For example, in Figure 7, the data transmission service end is connected to the first application server and the second application server as an example. The first application server corresponds to the first application client, and the second application server corresponds to the second application client. The first application client and the second application client are deployed on the same user terminal device, and a data transmission client can also be deployed in the user terminal device. In addition, Figure 7 takes the scheme of first determining the transmission priority and then performing congestion control based on the transmission priority as an example to introduce. It should be noted that in the implementation process of the method flow shown in Figure 7, a scheme of performing congestion control directly based on the priority from the application server can also be adopted, or a scheme of performing congestion control based on one or more of the QoS requirement information, service type, and user type from the application server can also be adopted. The method flow shown in Figure 7 specifically includes:

[0257] 701. The first application server sends a subscription request message to the data transmission server.

[0258] For example, the process of the first application server discovering the data transmission service end can be referred to the introduction in the above embodiment and will not be described in detail here. The service demand information of multiple downlink data flows belonging to the first application in the subscription request message sent by the first application server specifically includes one or more of the service type of the first application, the user types of multiple users served by the first application, the QoS requirement information of the first application, the priority of the first application, or the priority of the user served by the first application.

[0259] It should be noted that the subscription request message used in this application is only used as an example. There is no specific limitation on the name of the message sent by the first application server when requesting service from the data transmission server. For example, it can also be called a message, subscription message or request message.

[0260] 702. The second application server sends a subscription request message to the data transmission server.

[0261] The subscription request message sent by the second application server includes service demand information of multiple downlink data flows belonging to the second application.

[0262] 703 , the data transmission server determines the need to perform congestion control on the first data stream and the second data stream according to one or more items of the service requirement information from the first application server and the second application server, and / or determines the transmission priority of the first data stream and the second data stream.

[0263] Among them, the first data stream is the downlink data stream sent by the first application server to the first application client, and the second data stream is the downlink data stream sent by the second application server to the second application client. For example, the data transmission server can also provide different types of API interfaces for the first application server and the second application server respectively. The different types of API interfaces indicate whether the application requires congestion control (such as low-latency transmission). Therefore, the data transmission server can also determine whether congestion control is required for the data streams sent by the first application server and the second application server based on the API interface types triggered by the first application server and the second application server.

[0264] For example, the process of the data transmission service end determining the transmission priorities of different data streams can be referred to the relevant introduction in the above embodiment, which will not be described in detail here.

[0265] 704. The data transmission service end sends a first message to the 5GC control plane network element.

[0266] The first message is used to instruct the first application server and the second application server to perform network congestion detection and add a congestion mark on the downlink data flow sent by the first application server and the second application server. For example, the first message may include the identifiers of the first application and the second application, identifiers of multiple users of the first application and the second application, address information of the data transmission service end, a congestion detection indication, and a congestion marking method. For example, the congestion marking method may adopt the ECN marking method provided in the L4S congestion control solution. The application identifier may be an application server ID (such as a VAL server ID), or an application service ID (such as a VAL service ID), or a combination of a VAL server ID and a VAL service ID.

[0267] 705, the 5GC control plane network element sends an N2 message to the access network device.

[0268] For the N2 message, please refer to the relevant introduction in the above embodiment, which will not be repeated here.

[0269] 706, the 5GC control plane network element sends an N4 message to the UPF network element.

[0270] For the N4 message, please refer to the relevant introduction in the above embodiment, which will not be repeated here.

[0271] 707. The data transmission server sends a subscription response message to the first application server.

[0272] 708. The data transmission server sends a subscription response message to the second application server.

[0273] 709 : The data transmission client receives a service request message from the first application client.

[0274] 710. The data transmission client receives a service request message from a second application client.

[0275] 711. The data transmission client sends a connection request message to the data transmission server.

[0276] Exemplarily, the data transmission client may obtain the address information of the pre-configured data transmission server and send a connection request message to the data transmission server based on the address information. The connection request message may include the data transmission client identifier, user identifier, address information of the data transmission client (such as an IP address and port number), and identifiers of the first application and the second application. Exemplarily, the identifier of the first application may be a VAL server ID and / or a VAL service ID, or may be a SEALDD flow ID.

[0277] 712. The data transmission server receives the connection request message and returns a connection response message to the data transmission client.

[0278] Exemplarily, after receiving the connection request message, the data transmission server may perform congestion control on the first data stream and the second data stream according to the needs determined in step 703, and send a connection response message to the data transmission client. The connection response message includes the identification and address information of the data transmission server, and indication information instructing the data transmission client to perform congestion marking identification and congestion feedback on the first data stream and the second data stream.

[0279] 713. The data transmission client returns a service response message to the first application client.

[0280] 714. The data transmission client returns a service response message to the second application client.

[0281] 715. The first application server sends a first data stream to the access network device.

[0282] The source address of the first data stream is the address of the first application server, and the destination address is the address of the first application client.

[0283] 716 , the access network device receives the first data stream, determines that network congestion exists during transmission of the first data stream, and adds a congestion mark to the first data stream.

[0284] For example, after receiving the first data stream, the access network device may determine whether congestion detection is required for the first data stream based on the N2 message received in step 705. After determining that congestion detection is required, the device may determine that network congestion exists during the transmission of the first data stream by determining whether the number of packets belonging to the first data stream in the cache exceeds a threshold. Furthermore, a congestion mark may be added to the first data stream, for example, using the ECN marking method in the L4S congestion control solution.

[0285] Optionally, the access network device may directly perform ECN marking on the first data flow, or may send information indicating network congestion on the first data flow to a UPF network element, which then performs ECN marking. For example, the access network device may notify the UPF network element of ECN marking via an extension header defined in the 3GPP GTP-U protocol specification.

[0286] 717 , the access network device sends the first data flow with the congestion mark added to the data transmission client.

[0287] 718. The data transmission client receives the first data flow and performs congestion marking on the first data flow.

[0288] For example, after receiving the first data stream, the data transmission client may first determine the need to perform congestion marking on the first data stream based on the connection response message received in step 712, and then further determine that the header of the received data packet belonging to the first data stream includes a congestion mark.

[0289] 719. The data transmission client generates congestion feedback information for the first data flow.

[0290] For example, the process of generating congestion feedback information can be referred to the relevant introduction in the above embodiment, which will not be described in detail here.

[0291] 720. The data transmission client sends congestion feedback information for the first data stream to the data transmission server.

[0292] It should be noted that the process for transmitting the first data stream described in steps 715-720 above is also applicable to the transmission process of the second data stream, which is the data stream sent by the second application server to the second application client. FIG7 does not illustrate the process of transmitting, detecting, marking, identifying, and providing congestion feedback for the second data stream. In other words, the data transmission server also receives congestion feedback information for the second data stream from the data transmission client.

[0293] 721. The data transmission service receives congestion feedback information and performs congestion control on the first data stream and the second data stream according to the transmission priorities of the first data stream and the second data stream.

[0294] For example, the data transmission service end may directly control the transmission rates of the first data stream and the second data stream or notify the first application server and the second application server to perform congestion control. For the specific process, please refer to the contents of Method 1 and Method 2 in the above embodiments, which will not be repeated here.

[0295] In some embodiments, the data transmission service end may also send the service demand information of each downlink data flow to the data transmission client, and the data transmission client performs congestion control. The scheme for performing congestion control by the data transmission client is introduced below. For example, refer to Figure 8, which is a flow chart of a congestion control method in another downlink data transmission scenario provided by an embodiment of the present application, wherein the congestion control step may use the priority from the application server for congestion control, or may use one or more of the QoS demand information, service type, and user type from the application server for congestion control. It may also be possible to first determine the transmission priority based on the service demand information from the application server, and then perform congestion control based on the transmission priority. For ease of description, Figure 8 still takes the method of first determining the transmission priority and then performing congestion control based on the transmission priority as an example for introduction, that is, the data transmission service end sends the determined priority of each downlink data flow to the data transmission client. The method flow shown in Figure 8 specifically includes:

[0296] For steps 801-811, please refer to steps 701-711 in FIG. 7 .

[0297] 812. The data transmission server receives the connection request message and returns a connection response message to the data transmission client.

[0298] Exemplarily, after receiving the connection request message, the data transmission server may perform congestion control on the first data stream and the second data stream according to the needs determined in step 803, and send a connection response message to the data transmission client. The connection response message includes the identification and address information of the data transmission server, indication information instructing the data transmission client to perform congestion marking identification and congestion feedback on the first data stream and the second data stream, and the transmission priorities of the first data stream and the second data stream respectively.

[0299] Steps 813-818 can refer to steps 713-718 in Figure 7 above and will not be repeated here. It should be noted that the process of transmission, congestion detection, congestion marking and congestion identification of the second data stream is not shown in Figure 8, that is, the data transmission client will also perform congestion identification on the second data stream.

[0300] 819 , the data transmission client generates congestion feedback information and a congestion control solution for the first data flow and the second data flow.

[0301] The congestion control scheme is generated by the data transmission client based on the transmission priorities of the first data stream and the second data stream, and is used to perform congestion control on the first data stream and the second data stream, respectively. For example, the congestion control scheme can refer to Method 1 and Method 2 described in the above embodiment, and will not be repeated here.

[0302] 820. The data transmission client sends congestion feedback information and a congestion control solution to the data transmission server.

[0303] 821. The data transmission server receives congestion feedback information and a congestion control scheme, and performs congestion control on the first data flow and the second data flow according to the congestion feedback scheme.

[0304] For details, please refer to step 721 in FIG. 7 , which will not be described again here.

[0305] In some embodiments, when congestion control is performed by the data transmission client, the service demand information of each downstream data flow can also be provided by the application client. For example, when each application client sends a service request to the data transmission client, it can carry its own service demand information in the service request, so that the data transmission client can determine the degree of demand for congestion control (such as low-latency transmission) of the data flow sent to each application client. Optionally, the service demand information of the application client can be pre-configured in each application client, or the application server can send the service demand information of each data flow to each application client based on the user identifier. In other embodiments, the data transmission service end can also determine the transmission priority of each downstream data flow based on the service demand information from the application server, and then provide the transmission priority to the data transmission client for the data transmission client to perform congestion control. For example, after generating the transmission priority, the data transmission service end can send the transmission priority to each application server, and each application server can send the transmission priority of each data flow to the corresponding application client based on the user identifier. Further, each application client can send the transmission priority to the data transmission client. Below, the specific process of performing congestion control is described by taking the case where the data transmission client directly receives the priority of each data stream as an example. For example, referring to FIG9, a flow chart of a congestion control method in another downlink data transmission scenario provided in an embodiment of the present application is shown, which specifically includes:

[0306] For steps 901-902, please refer to steps 701-702 in FIG. 7 .

[0307] 903 : The data transmission server determines that congestion control needs to be performed on the first data flow and the second data flow according to the service demand information from the first application server and the second application server.

[0308] The specific process can be found in the related introduction of step 703 in FIG. 7 , which will not be described again here.

[0309] For steps 904-908, please refer to steps 704-708 in FIG. 7 .

[0310] 909 : The data transmission client receives a service request message from the first application client.

[0311] 910. The data transmission client receives a service request message from a second application client.

[0312] The service request message sent by the first application client and the second application client includes the application client identifier and the application transmission priority, so that the data transmission client can determine the transmission priority of the downlink data stream sent to each application client (i.e., the transmission priority of the first data stream and the second data stream) based on the received service request message.

[0313] For steps 911-918, please refer to steps 711-718 in FIG. 7 .

[0314] For steps 919-921, please refer to steps 819-821 in FIG. 8 .

[0315] In other scenarios, the embodiments of the present application also propose a congestion control solution in an uplink data transmission scenario. To facilitate understanding of the solution of the present application, the uplink data transmission scenario is first introduced. Referring to Figure 10, there is an architectural diagram of an uplink data transmission scenario provided by an embodiment of the present application, which includes an application client, an application server, a data transmission client, and a data transmission service end. For details, please refer to the introduction of the application client, application server, data transmission client, and data transmission service end in Figure 5 above, which will not be repeated here. It should be noted that Figure 10 is only an example, and the present application does not limit the number of application servers, application clients, and data transmission clients included in the uplink data transmission scenario. Below, the congestion control solution proposed in the present application is introduced in conjunction with the scenario shown in Figure 10. For example, see Figure 11, which is a flow chart of a congestion control method provided by an embodiment of the present application. For example, the method flow shown in Figure 11 can be implemented by the data transmission service end included in the scenario shown in Figure 10, or it can be implemented by specific components included in the data transmission service end, such as chips, processors, and other devices included in the data transmission service end. The data transmission service end is connected to multiple application servers and is used to provide data transmission services for multiple application servers. The method flow shown in Figure 11 specifically includes:

[0316] 1101. It is determined that network congestion exists during the transmission of multiple uplink data flows.

[0317] The multiple uplink data streams include at least a third data stream and a fourth data stream, the third data stream and the fourth data stream are any two different uplink data streams among the multiple uplink data streams, the third data stream and the fourth data stream belong to different applications, or the third data stream and the fourth data stream belong to different users. For example, the third data stream may be sent from a first application client to a first application server, and the fourth data stream may be sent from a second application client to a second application server. The first application client and the second application client may be deployed on the same user terminal device or on different user terminal devices.

[0318] Exemplarily, the network congestion during the transmission of the third data flow may refer to the number of data packets belonging to the third data flow cached at a certain transmission node in the transmission link of the third data flow exceeding a threshold.

[0319] 1102. Perform congestion control on the multiple uplink data flows according to their respective service demand information.

[0320] The service requirement information of any uplink data flow may include one or more of the QoS requirement information of the application to which the data flow belongs, the service type, the user type of the user to which the data flow belongs, and the priority of the data flow.

[0321] For example, when congestion control is performed on multiple uplink data streams based on service demand information, congestion control can be performed directly based on priority, or based on QoS demand information, service type, and user type. It is also possible to first determine the transmission priority of each uplink data stream based on QoS demand information, service type, and user type, and then perform congestion control based on the transmission priority.

[0322] For example, the process by which the data transmission server performs congestion control on each upstream data flow based on the service demand information from the application server can be found in the description of the process for performing congestion control on each downstream data flow based on the service demand information in the above embodiment, and will not be repeated here. For upstream data flows that require congestion control, the data transmission server can store their service demand information and notify the network-side device to perform congestion detection and congestion marking on such upstream data flows. The specific notification process can also be found in the process for notifying the network-side device to perform congestion detection and congestion marking on downstream data flows in the above embodiment.

[0323] For example, taking the third and fourth data streams as an example, after determining that congestion control is required for the third and fourth data streams, the data transmission service can notify the network-side device to perform network congestion detection and congestion marking on the third and fourth data streams. Furthermore, after receiving the third and fourth data streams from the network-side device, the data transmission service can identify congestion markings on the third and fourth data streams and determine that network congestion exists during the transmission of the third and fourth data streams. Furthermore, a congestion control scheme for the third and fourth data streams can be generated based on the service demand information of the third and fourth data streams. In one possible implementation, the congestion control scheme can include a target transmission rate for the third and fourth data streams, which is used to indicate that the transmission of the third and fourth data streams is controlled according to the target transmission rate. For example, the process by which the data transmission service determines the target transmission rate of the third and fourth data streams based on the service demand information can refer to the process of determining the target transmission rate of the downlink data stream based on the service demand information described in the first embodiment above. In another possible implementation, the congestion control scheme may include target encoding formats or target rendering modes for the third and fourth data streams, indicating how the third and fourth data streams are generated. The specific process for determining the target encoding formats or target rendering modes for the third and fourth data streams based on service demand information can be found in the process for determining the target encoding formats or target rendering modes for downstream data streams based on service demand information described in Method 2 above. In yet another possible implementation, the congestion control scheme may include congestion information for the third and fourth data streams, indicating that congestion control should be performed based on this congestion information. The specific process for determining congestion information based on service demand information can be found in the process for determining congestion information for downstream data streams based on service demand information described in Method 2 above. Furthermore, the data transmission server may send congestion feedback information to the data transmission client, including the congestion control scheme generated by the data transmission server. It should be noted that the third data stream is sent by the first application client, and the fourth data stream is sent by the second application client. Here, it is defined that the first application client, the second application client, and the data transmission client are deployed on the same user-end device.

[0324] In one possible implementation, after receiving the congestion feedback information, the data transmission client can directly control the transmission of the third and fourth data streams based on the target transmission rates of the third and fourth data streams, respectively, included in the congestion feedback information. In another possible implementation, after receiving the congestion feedback information, the data transmission client can also forward the congestion feedback information to the first application client and the second application client. The first application client can control the generation rate or transmission rate of the third data stream based on the congestion feedback information, and the second application client can control the generation rate or transmission rate of the fourth data stream based on the congestion feedback information.

[0325] In order to facilitate understanding of the congestion control scheme in the uplink data transmission scenario proposed in the embodiment of the present application, it is introduced below in conjunction with a specific embodiment. Referring to Figure 12, there is a flow chart of a congestion control method in an uplink data transmission scenario provided in the embodiment of the present application. For example, in Figure 12, the data transmission service end is connected to the first application server and the second application server as an example, the first application server corresponds to the first application client, and the second application server corresponds to the second application client. In Figure 12, the first application client and the second application client are deployed on the same user terminal device as an example, and a data transmission client can also be deployed in the user terminal device. The method flow shown in Figure 7 specifically includes:

[0326] For steps 1201-1202, please refer to steps 701-702 in FIG. 7 .

[0327] 1203. The data transmission service end determines the need to perform congestion control on the third data stream and the fourth data stream based on the business demand information from the first application server and the second application server, and / or determines the transmission priority of the third data stream and the fourth data stream based on the subscription request messages from the first application server and the second application server.

[0328] The third data flow is an uplink data flow sent from the first application client to the first application server, and the second data flow is an uplink data flow sent from the second application client to the second application server. For example, the method for determining whether to perform congestion control and determine transmission priority for the downlink data flow can be referred to in step 703 of FIG. 7 , which describes the determination of congestion control and transmission priority for the downlink data flow.

[0329] For steps 1204-1214, refer to steps 704-714 in Figure 7. It should be noted that the solution described in Figure 7 is for a downlink data transmission scenario, and needs to be modified accordingly in Figure 12 to be for an uplink data transmission scenario. For example, in step 1204, the first message is used to instruct the uplink data stream sent by the first application client and the second application client to perform network congestion detection and add a congestion mark.

[0330] 1215. The first application client sends a third data stream to the access network device.

[0331] 1216. The access network device receives the third data stream, determines that network congestion exists during the transmission of the third data stream, and adds a congestion mark to the third data stream.

[0332] 1217 , the access network device sends the third data stream with the congestion mark added to it to the data transmission server.

[0333] 1218. The data transmission server receives the third data stream and performs congestion marking on the third data stream.

[0334] It should be noted that the transmission process of the third data stream introduced in the above steps 1215-1218 can also be applied to the transmission process of the fourth data stream. The transmission of the fourth data stream, the congestion detection, congestion marking and congestion identification processes are not shown in Figure 12, that is, the data transmission service end also performs congestion marking identification for the fourth data stream.

[0335] 1219. The data transmission server generates congestion feedback information according to the transmission priorities of the third data stream and the fourth data stream.

[0336] The congestion feedback information includes congestion control solutions for the third data flow and the fourth data flow. The specific congestion control solution generation process can refer to the relevant introduction in the above embodiment and will not be described again here.

[0337] 1220. The data transmission server sends congestion feedback information to the data transmission client.

[0338] Optionally, the data transmission client can directly perform congestion control on the third data stream and the fourth data stream based on the congestion feedback information, or it can forward the congestion feedback information to the first application client and the second application client, perform congestion control on the third data stream through the first application client, and perform congestion control on the fourth data stream through the second application client.

[0339] In some embodiments, the data transmission service end may also send the determined transmission priority of each uplink data stream to the data transmission client, and the data transmission client performs congestion control. The following describes a scheme for performing congestion control by the data transmission client. For example, see FIG13 , which is a flow chart of a congestion control method in another uplink data transmission scenario provided by an embodiment of the present application, specifically including:

[0340] For steps 1301-1311, please refer to steps 1201-1211 in FIG. 12 .

[0341] 1312. The data transmission server receives the connection request and returns a connection response message to the data transmission client.

[0342] The connection response message includes the identifier and address information of the data transmission server, instruction information instructing the data transmission client to perform congestion marking identification and congestion feedback on the third data stream and the fourth data stream, and the transmission priorities of the third data stream and the fourth data stream respectively.

[0343] For steps 1313 - 1318 , please refer to steps 1213 - 1218 in FIG. 12 .

[0344] 1319. The data transmission server generates congestion feedback information.

[0345] The congestion feedback information is used to indicate that network congestion exists during the transmission of the third data stream and the fourth data stream.

[0346] 1320. The data transmission server sends congestion feedback information to the data transmission client.

[0347] 1321. The data transmission client receives congestion feedback information and performs congestion control on the third data stream and the fourth data stream according to the transmission priorities of the third data stream and the fourth data stream.

[0348] Exemplarily, the data transmission client may directly control the transmission rates of the third data stream and the fourth data stream or notify the first application server and the second application server to perform congestion control. For the specific process, please refer to the relevant introduction in the above embodiment and will not be repeated here.

[0349] In some embodiments, when congestion control is performed by a data transmission client, the transmission priority information of each uplink data stream can also be provided by the application client. For example, the application client can determine the transmission priority based on the service demand information configured by itself, or the data transmission server can generate the transmission priority and provide it to each application client through the application server. For example, referring to Figure 14, there is a flowchart of another congestion control method in an uplink data transmission scenario provided by an embodiment of the present application, which specifically includes:

[0350] For steps 1401-1402, please refer to steps 1201-1202 in FIG. 12 .

[0351] 1403 : The data transmission server determines that congestion control needs to be performed on the third data flow and the fourth data flow according to the service demand information from the first application server and the second application server.

[0352] Steps 1404-1408 may refer to steps 1204-1208 in FIG. 12 .

[0353] 1409 , the data transmission client receives a service request message from the first application client.

[0354] 1410. The data transmission client receives a service request message from a second application client.

[0355] The service request message sent by the first application client and the second application client includes the application client identifier and the application transmission priority, so that the data transmission client can determine the transmission priority of the uplink data stream sent by each application client (i.e., the transmission priority of the third data stream and the fourth data stream) based on the received service request message.

[0356] Steps 1411-1418 may refer to steps 1211-1218 in FIG. 12 .

[0357] For steps 1419-1421, please refer to steps 1319-1321 in FIG. 13 above.

[0358] The following describes the congestion control device used to implement the above method in the embodiment of the present application with reference to the accompanying drawings. Therefore, the above contents can be used in subsequent embodiments, and repeated contents will not be repeated.

[0359] Figure 15 is an exemplary block diagram of a congestion control device 1500 provided in an embodiment of the present application. The congestion control device 1500 can correspond to the functions or steps implemented by the data transmission service end or the data transmission client end in the above-mentioned method embodiments. The congestion control device 1500 may include a congestion identification unit 1501, a congestion control unit 1502 and a communication unit 1503. Optionally, it may also include a storage unit, which can be used to store instructions (codes or programs) and / or data. The congestion identification unit 1501, the congestion control unit 1502 and the communication unit 1503 can be coupled with the storage unit. For example, the congestion identification unit 1501 can read the instructions (codes or programs) and / or data in the storage unit to implement the corresponding method. The above-mentioned units can be set independently or partially or fully integrated.

[0360] In one possible implementation, the congestion control device 1500 can implement the behaviors and capabilities of the data transmission server in the above-mentioned method embodiments. For example, the congestion control device 1500 can be a data transmission server or a component (such as a chip or circuit) applied to the data transmission server. Among them, the congestion identification unit 1501 can be used to execute the steps of the data transmission server determining that there is congestion in the network as described in the above-mentioned embodiments, and the congestion control unit 1502 can be used to execute the steps of the data transmission server performing congestion control on the data flow as described in the above-mentioned method embodiments. The communication unit 1503 is used to execute all the receiving or sending operations performed by the data transmission server as described in the above-mentioned method embodiments.

[0361] For example, in a transmission scenario of a downlink data stream, the congestion identification unit 1501 is used to determine whether network congestion exists in multiple downlink data streams during transmission; wherein the multiple downlink data streams include at least two downlink data streams from different application servers, or include at least two downlink data streams belonging to different users; the congestion control unit 1502 is used to perform congestion control on the multiple downlink data streams according to the respective service demand information of the multiple downlink data streams; wherein the service demand information of the first data stream includes at least one of the QoS requirement information of the application to which the first data stream belongs, the service type, the user type and priority of the user to which the first data stream belongs, and the first data stream is any one of the multiple downlink data streams. For another example, in an uplink data stream transmission scenario, the congestion identification unit 1501 is used to determine whether network congestion exists during the transmission of multiple uplink data streams; the multiple uplink data streams include at least two uplink data streams belonging to different applications, or include at least two uplink data streams belonging to different users; the congestion control unit 1502 is used to perform congestion control on the multiple uplink data streams according to the service demand information of the multiple uplink data streams; wherein the service demand information of the third data stream includes at least one of the QoS requirement information of the application to which the third data stream belongs, the service type, the user type and priority of the user to which the third data stream belongs, and the third data stream is any one of the multiple uplink data streams.

[0362] In another possible implementation, the congestion control device 1500 can implement the corresponding behaviors and capabilities of the data transmission client in the above-mentioned method embodiments. For example, the congestion control device 1500 can be a data transmission client or can also be applied to a data transmission client, for example, it can be a component (chip or circuit, etc.) included in the data transmission client. The congestion identification unit 1501 can be used to perform the steps of the data transmission client determining the existence of network congestion described in the above-mentioned embodiments, and the congestion control unit 1502 can be used to perform the steps of the data transmission client performing congestion control on the data flow described in the above-mentioned method embodiments. The communication unit 1503 is used to perform all receiving or sending operations performed by the data transmission client in the above-mentioned method embodiments.

[0363] For other operations performed by the congestion identification unit 1501 , the congestion control unit 1502 and the communication unit 1503 , reference may be made to the relevant description of the aforementioned method embodiment.

[0364] It should be noted that the division of units in the embodiments of the present application is schematic and is merely a logical functional division. In actual implementation, other division methods may be used. The functional units in the embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0365] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) or a processor to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0366] It should be understood that the congestion identification unit 1501 and the congestion control unit 1502 in the embodiments of the present application can be implemented by a processor or processor-related circuit components, and the communication unit 1503 can be implemented by a transceiver or transceiver-related circuit components or a communication interface. For example, the congestion control device in the above embodiment can also take the form shown in Figure 16. The device 1600 shown in Figure 16 includes at least one processor 1610, a memory 1620, and optionally a communication interface 1630.

[0367] The specific connection medium between the processor 1610 and the memory 1620 is not limited in the embodiment of the present application.

[0368] The apparatus as shown in FIG16 further includes a communication interface 1630 . When the processor 1610 communicates with other devices, it can transmit signals through the communication interface 1630 .

[0369] When the communication device adopts the form shown in Figure 16, the processor 1610 in Figure 16 can call the computer execution instructions stored in the memory 1620, so that the device 1600 can execute the method executed by the communication device in any of the above method embodiments.

[0370] An embodiment of the present application also provides a chip system, which includes a processor for calling a computer program or computer instruction stored in a memory so that the processor executes the method of any of the above embodiments.

[0371] In a possible implementation, the processor is coupled to the memory through an interface.

[0372] In one possible implementation, the chip system further includes a memory in which computer programs or computer instructions are stored.

[0373] An embodiment of the present application further relates to a processor, which is used to call a computer program or computer instruction stored in a memory so that the processor executes the method described in any of the above embodiments.

[0374] It should be understood that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0375] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0376] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0377] Obviously, those skilled in the art can make various changes and modifications to the embodiments of the present application without departing from the scope of the embodiments of the present application. Thus, if these modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and their equivalents, the present application also intends to include such modifications and variations.

Claims

1. A congestion control method, characterized in that: The method is applied to a data transmission service end, the data transmission service end is connected to a plurality of application servers, and the method comprises: Determining that network congestion exists during transmission of multiple downlink data flows; the multiple downlink data flows include at least two downlink data flows from different application servers, or include at least two downlink data flows belonging to different users; Congestion control is performed on the multiple downstream data flows according to their respective service demand information; wherein the service demand information of the first data flow includes at least one of the QoS demand information of the application to which the first data flow belongs, the service type, the user type and priority of the user to which the first data flow belongs, and the first data flow is any one of the multiple downstream data flows.

2. The method according to claim 1, characterized in that The determining that there is network congestion during the transmission of multiple downlink data flows includes: Receiving congestion feedback information for a first data stream sent by a first data transmission client; wherein the first data stream is a downlink data stream sent from a first application server to a first application client; the first application client is any one of a plurality of application clients of the first application server; the first data transmission client and the first application client are deployed on the first user terminal device; It is determined, according to the congestion feedback information, that network congestion exists during transmission of the first data flow.

3. The method according to claim 1 or 2, characterized in that: The performing congestion control on the multiple downlink data flows according to the service demand information of the multiple downlink data flows respectively includes: controlling the transmission rates of the multiple downlink data flows according to the service demand information of the multiple downlink data flows; or The application servers sending the multiple downlink data flows are respectively instructed to perform congestion control on the multiple downlink data flows according to the service demand information of the multiple downlink data flows.

4. The method according to claim 3, characterized in that The controlling the transmission rates of the multiple downlink data flows according to the service demand information of the multiple downlink data flows comprises: Determining a target transmission rate for each downstream data flow according to the priorities of the multiple downstream data flows; The transmission of each downstream data flow is controlled according to the target transmission rate of each downstream data flow.

5. The method according to claim 3, characterized in that: The controlling the transmission rates of the multiple downlink data flows according to the service demand information of the multiple downlink data flows comprises: Determine a target transmission rate for each downstream data flow according to one or more of the QoS requirement information, service type, and user type of the multiple downstream data flows; The transmission of each downstream data flow is controlled according to the target transmission rate of each downstream data flow.

6. The method according to claim 3, characterized in that The controlling the transmission rates of the multiple downlink data flows according to the service demand information of the multiple downlink data flows comprises: Determine the transmission priorities of the multiple downlink data flows according to one or more of the QoS requirement information, service type and user type of the multiple downlink data flows; Determining a target transmission rate for each downstream data flow according to the transmission priorities of the multiple downstream data flows; The transmission of each downstream data flow is controlled according to the target transmission rate of each downstream data flow.

7. The method according to any one of claims 3 to 6, characterized in that: The instructing the application servers sending the multiple downlink data flows to perform congestion control on the multiple downlink data flows respectively according to the service demand information of the multiple downlink data flows, comprises: Determine a target transmission rate for each downstream data flow according to the service demand information of the multiple downstream data flows; The target transmission rate of the first data stream is sent to the first application server that sends the first data stream, so as to instruct the first application server to control the transmission of the first data stream according to the target transmission rate of the first data stream.

8. The method according to any one of claims 3 to 6, characterized in that: The instructing the application servers sending the multiple downlink data flows to perform congestion control on the multiple downlink data flows respectively according to the service demand information of the multiple downlink data flows, comprises: Determining a target encoding format or a target rendering mode for each downstream data stream according to the service demand information of the multiple downstream data streams; A target encoding format or a target rendering mode of the first data stream is sent to a first application server that sends the first data stream, so as to instruct the first application server to output the first data stream according to the target encoding format or the target rendering mode of the first data stream.

9. The method according to any one of claims 3 to 6, characterized in that: The instructing the application servers sending the multiple downlink data flows to perform congestion control on the multiple downlink data flows respectively according to the service demand information of the multiple downlink data flows, comprises: Determining congestion information of each downstream data flow according to the service demand information of the multiple downstream data flows; wherein the congestion information of the first data flow indicates the degree of network congestion during the transmission of the first data flow; Congestion information of the first data flow is sent to a first application server that sends the first data flow, so as to instruct the first application server to perform congestion control on the first data flow according to the congestion information of the first data flow.

10. The method according to any one of claims 1 to 9, characterized in that: Before determining that network congestion exists during the transmission of multiple downlink data flows, the method further includes: Receive one or more of the service type of a first application sent by a first application server, user types of multiple users of the first application, QoS requirement information of the first application, and the priority of a downlink data flow belonging to the first application; the first application server is the application server that sends the first data flow, and the first application is the application to which the first data flow belongs.

11. The method according to claim 10, characterized in that The method further comprises: A first message is sent to a network side device; the first message is used to instruct the network side device to perform network congestion detection on the downlink data flow belonging to the first application and add a congestion mark.

12. The method according to claim 10 or 11, characterized in that: The method further comprises: A second message is sent to a first data transmission client; the first data transmission client is deployed on a first user terminal device, and the first user terminal device is any one of multiple user terminal devices of the first application server; the second message is used to instruct the first data transmission client to identify a congestion mark for the received downlink data flow belonging to the first application, and to instruct the first data transmission client to send congestion feedback information to the data transmission server after identifying the congestion mark in the downlink data flow belonging to the first application.

13. A congestion control method, characterized in that: The method is applied to a data transmission client, and the data transmission client is deployed on a user terminal device. The method includes: Determining that network congestion exists during transmission of multiple downlink data flows; the multiple downlink data flows include at least two downlink data flows from different application servers; Congestion control is performed on the multiple downstream data flows according to their respective service demand information; wherein the service demand information of the first data flow includes at least one of the QoS demand information, service type and priority of the application to which the first data flow belongs, and the first data flow is any one of the multiple downstream data flows.

14. A congestion control method, characterized in that: The method is applied to a data transmission service end, the data transmission service end is connected to a plurality of application servers, and the method comprises: Determining that network congestion exists during transmission of multiple uplink data flows; the multiple uplink data flows include at least two uplink data flows belonging to different applications, or include at least two uplink data flows belonging to different users; Congestion control is performed on the multiple uplink data flows according to their respective service demand information; wherein the service demand information of the third data flow includes at least one of the QoS demand information of the application to which the third data flow belongs, the service type, the user type and priority of the user to which the third data flow belongs, and the third data flow is any one of the multiple uplink data flows.

15. The method according to claim 14, characterized in that It is determined that there is network congestion during the transmission of multiple upstream data flows, including: Receive the third data stream from the network side device; the third data stream includes multiple data packets, and the header of at least one data packet among the multiple data packets includes a congestion mark, and the congestion mark is used to indicate that there is network congestion during the transmission of the third data stream.

16. The method according to claim 14 or 15, characterized in that The performing congestion control on the multiple uplink data flows according to the service demand information of the multiple uplink data flows respectively includes: Instructing the data transmission client to control the transmission rates of the multiple uplink data flows according to the service demand information of the multiple uplink data flows; or, According to the service demand information of the multiple uplink data flows, application clients sending the multiple uplink data flows are respectively instructed to perform congestion control on the multiple uplink data flows.

17. The method according to claim 16, characterized in that The instructing the data transmission client to control the transmission rates of the multiple uplink data streams according to the service demand information of the multiple uplink data streams includes: Determining a target transmission rate of each upstream data stream according to the priorities of the multiple upstream data streams; Sending a target transmission rate of the third data stream to the first data transmission client to instruct the first data transmission client to control the transmission of the third data stream according to the target transmission rate of the third data stream; wherein the third data stream is sent by the first application client to The uplink data flow of the first application server, the first data transmission client and the first application client are deployed on the first user terminal device.

18. The method according to claim 16, characterized in that The instructing the data transmission client to control the transmission rates of the multiple uplink data streams according to the service demand information of the multiple uplink data streams includes: Determine a target transmission rate for each uplink data flow according to at least one of the QoS requirement information, service type, and user type of the multiple uplink data flows; A target transmission rate of a third data stream is sent to a first data transmission client to instruct the first data transmission client to control transmission of the third data stream according to the target transmission rate of the third data stream; wherein the third data stream is an uplink data stream sent from a first application client to a first application server, and the first data transmission client and the first application client are deployed on the first user terminal device.

19. The method according to claim 16, characterized in that The instructing the data transmission client to control the transmission rates of the multiple uplink data streams according to the service demand information of the multiple uplink data streams includes: Determine the transmission priorities of the multiple uplink data flows according to at least one of the QoS requirement information, service type, and user type of the multiple uplink data flows; Determining a target transmission rate for each upstream data stream according to the transmission priorities of the multiple upstream data streams; The target transmission rate of the third data stream is sent to the first data transmission client to instruct the first data transmission client to control the transmission of the third data stream according to the target transmission rate of the third data stream; wherein the third data stream is an uplink data stream sent by the first application client to the first application server, and the first data transmission client and the first application client are deployed on the first user terminal device.

20. The method according to any one of claims 16 to 19, characterized in that: The instructing the application clients sending the multiple uplink data flows to perform congestion control on the multiple uplink data flows respectively according to the service demand information of the multiple uplink data flows, comprises: Determine a target transmission rate of each upstream data stream according to the service demand information of the multiple upstream data streams; The target transmission rate of the third data stream is sent to the first application client that sends the third data stream, so as to instruct the first application client to control the transmission of the third data stream according to the target transmission rate of the third data stream.

21. The method according to any one of claims 16 to 19, characterized in that: The instructing the application clients sending the multiple uplink data flows to perform congestion control on the multiple uplink data flows respectively according to the service demand information of the multiple uplink data flows, comprises: Determining a target encoding format or a target rendering mode of each upstream data stream according to the service demand information of the multiple upstream data streams; The target encoding format or target rendering mode of the third data stream is sent to the first application client that sends the third data stream, so as to instruct the first application client to output the third data stream according to the target encoding format or target rendering mode of the third data stream.

22. The method according to any one of claims 16 to 19, characterized in that: The instructing the application clients sending the multiple uplink data flows to perform congestion control on the multiple uplink data flows respectively according to the service demand information of the multiple uplink data flows, comprises: Determining the congestion information of each upstream data stream according to the service demand information of the multiple upstream data streams; wherein the congestion information of the third data stream indicates the degree of network congestion during the transmission of the third data stream; Congestion information of the third data stream is sent to a first application client that sends the third data stream, so as to instruct the first application client to perform congestion control on the third data stream according to the congestion information of the third data stream.

23. The method according to any one of claims 14 to 22, characterized in that: Before determining that network congestion exists during the transmission of multiple uplink data flows, the method further includes: Receive one or more of the service type of a first application, the user types of multiple users of the first application, the QoS requirement information of the first application, and the priority of an uplink data flow belonging to the first application, which are sent by a first application server; the first application server is an application server that receives the third data flow, and the first application is the application to which the third data flow belongs.

24. The method according to claim 23, characterized in that The method further comprises: Sending a third message to the network side device; the third message is used to instruct the network side device to perform network congestion detection on the uplink data flow belonging to the first application and add a congestion mark.

25. A congestion control method, characterized in that: The method is applied to a data transmission client, and the data transmission client is deployed on a user terminal device. The method includes: Determining that network congestion exists during transmission of multiple uplink data flows; the multiple uplink data flows include at least two uplink data flows belonging to different applications; Congestion control is performed on the multiple uplink data flows according to their respective service demand information; wherein the service demand information of the third data flow includes at least one of the QoS demand information, service type and priority of the application to which the third data flow belongs, and the third data flow is any one of the multiple uplink data flows.

26. A congestion control device, characterized in that: The device is applied to a data transmission service end, or the device is the data transmission service end, the data transmission service end is connected to a plurality of application servers, and the device includes: A congestion identification unit, configured to determine that network congestion exists during transmission of multiple downlink data flows; the multiple downlink data flows include at least two downlink data flows from different application servers, or include at least two downlink data flows belonging to different users; A congestion control unit, used to perform congestion control on the multiple downlink data flows according to the respective service demand information of the multiple downlink data flows; wherein the service demand information of the first data flow includes at least one of the QoS demand information, service type, user type and priority of the application to which the first data flow belongs, and the first data flow is any one of the multiple downlink data flows.

27. A congestion control device, characterized in that: The device is applied to a data transmission client, or the device is the data transmission client, the data transmission client is deployed on a user terminal device, and the device includes: A congestion identification unit, configured to determine that network congestion exists during transmission of multiple downstream data flows; the multiple downstream data flows include at least two downstream data flows from different application servers; A congestion control unit is used to perform congestion control on the multiple downstream data flows according to the respective service demand information of the multiple downstream data flows; wherein the service demand information of the first data flow includes at least one of the QoS demand information, service type and priority of the application to which the first data flow belongs, and the first data flow is any one of the multiple downstream data flows.

28. A congestion control device, characterized in that: The device is applied to a data transmission service end, or the device is applied to the data transmission service end, the data transmission service end is connected to a plurality of application servers, and the device includes: A congestion identification unit, configured to determine that network congestion exists during transmission of multiple uplink data flows; the multiple uplink data flows include at least two uplink data flows belonging to different applications, or include at least two uplink data flows belonging to different users; A congestion control unit, used to perform congestion control on the multiple uplink data flows according to the respective service demand information of the multiple uplink data flows; wherein the service demand information of the third data flow includes at least one of the QoS demand information of the application to which the third data flow belongs, the service type, the user type and priority of the user to which the third data flow belongs, and the third data flow is any one of the multiple uplink data flows.

29. A congestion control device, characterized in that: The device is applied to a data transmission client, or the device is the data transmission client, the data transmission client is deployed on a user terminal device, and the device includes: A congestion identification unit, configured to determine that network congestion exists during transmission of multiple uplink data flows; the multiple uplink data flows include at least two uplink data flows belonging to different applications; A congestion control unit is used to perform congestion control on the multiple uplink data flows according to the respective service demand information of the multiple uplink data flows; wherein the service demand information of the third data flow includes at least one of the QoS demand information, service type and priority of the application to which the third data flow belongs, and the third data flow is any one of the multiple uplink data flows.

30. A chip system, characterized in that: Including communication interface and processor: The communication interface is used to input and / or output signaling or data; The processor is used to execute a computer executable program so that a device equipped with the chip system executes a method as described in any one of claims 1-12, claim 13, claims 14-24 or claim 25.

Citation Information

Patent Citations

  • Congestion control method based on wireless multimedia sensor network

    CN102595503A

  • Congestion control method and device

    CN103548381A

  • Traffic control method and device

    CN105591970A

  • Congestion control method and device

    CN107135164A

  • System for bandwidth optimization with high priority traffic awareness and control

    US20160373361A1

Cited By

  • Coding rate control for holographic communications

    WO2026206514A1

  • Congestion handling for holographic communications

    WO2026206519A1