Congestion control method and device

By performing congestion control based on the service demand information of multiple downlink data streams on the data transmission server, the problem of poor congestion control in the prior art is solved, and more efficient network congestion management is achieved.

CN119497139APending Publication Date: 2025-02-21HUAWEI TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202311031159.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-15
Publication Date
2025-02-21

AI Technical Summary

Technical Problem

When handling network congestion, existing congestion control schemes are difficult to effectively combine the service needs of multiple data streams, resulting in poor congestion control.

Method used

By implementing congestion control on the data transmission server, the data flow is respectively controlled according to the service demand information of multiple downlink data flows, including the QoS requirements, service type, user type and priority of the application.

Benefits of technology

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

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119497139A_ABST
    Figure CN119497139A_ABST
Patent Text Reader

Abstract

The invention provides a congestion control method and device, and the method is applied to a data transmission server, and the data transmission server is connected with a plurality of application servers, and is used for providing a data transmission service for the plurality of application servers. The method comprises the following steps: when determining that network congestion occurs in the transmission process of a plurality of downlink data streams belonging to different applications or different users, executing different congestion control on the plurality of downlink data streams by combining the demand degrees of the plurality of downlink data streams on low transmission delay, thereby improving the effect of network congestion control.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] 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 the data packet to reduce the degree of network congestion or solve the network congestion. In the traditional congestion control scheme, when the network congestion occurs, the intermediate node of the data transmission will mark the explicit congestion notification (ECN) bit in the packet header of the data packet, so that the receiving end can recognize the network congestion when receiving the data packet with the ECN mark. Furthermore, the receiving end can notify the sending end of the 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 the traditional congestion scheme, how to further improve the congestion control effect is an unresolved problem. Summary of the invention

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

[0004] 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 the transmission process 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 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 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 downlink data flows.

[0005] 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 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 controls on different data streams, respectively, so that 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 recognition and congestion feedback for the client and server of the application, which reduces the difficulty of application development.

[0006] In some embodiments, determining that there is network congestion during the transmission of multiple downlink data streams 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 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; and determining that there is network congestion during the transmission of the first data stream based on the congestion feedback information.

[0007] 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.

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

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

[0010] In some embodiments, controlling the transmission rates of the multiple downstream data streams according to the business demand information of the multiple downstream data streams includes: determining a target transmission rate for each downstream data stream according to the priority of the multiple downstream data streams; and controlling the transmission of each downstream data stream according to the target transmission rate of each downstream data stream.

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

[0012] In some embodiments, controlling the transmission rates of the multiple downlink data streams according to the service demand information of the multiple downlink data streams includes: determining the transmission priority of the multiple downlink data streams according to one or more of the QoS demand information, service type and user type of the multiple downlink data streams; determining the target transmission rate of each downlink data stream according to the transmission 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.

[0013] Based on the above scheme, the present application proposes that congestion control can be performed directly based on any item 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.

[0014] In some embodiments, the business demand information of the multiple downstream data streams is respectively instructing the application servers sending the multiple downstream data streams to perform congestion control on the multiple downstream data streams, including: determining a target transmission rate for each downstream data stream according to the business demand information of the multiple downstream data streams; sending the target transmission rate of the first data stream to the first application server sending 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.

[0015] In some embodiments, the business demand information of the multiple downstream data streams is respectively instructing the application servers sending the multiple downstream data streams to perform congestion control on the multiple downstream data streams, including: determining a target encoding format or a target rendering mode for each downstream data stream according to 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 a 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.

[0016] In some embodiments, the method of instructing application servers sending the multiple downstream data streams to perform congestion control on the multiple downstream data streams respectively 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 a first application server sending the first data stream, so as 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.

[0017] 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.

[0018] In some embodiments, before determining that there is network congestion during the transmission of multiple downlink data flows, the method also includes: receiving one or more of a 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 a priority of the downlink data flow belonging to the first application; the first application server is an application server that sends the first data flow, and the first application is the application to which the first data flow belongs.

[0019] 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 a downlink data flow belonging to the first application and add a congestion mark.

[0020] In some embodiments, the method also 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.

[0021] Based on the above scheme, after receiving the service characteristic 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.

[0022] 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.

[0023] 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.

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

[0025] In some embodiments, instructing the data transmission service end to control the transmission rate of the multiple downstream data streams based on the business demand information of the multiple downstream data streams, including: determining the target transmission rate of each downstream data stream based on the priority of the multiple downstream data streams; sending the target transmission rate of each downstream data stream to the data transmission service end to instruct the data transmission service end to control the transmission of each downstream data stream according to the target transmission rate of each downstream data stream.

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

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

[0028] In some embodiments, the business demand information of the multiple downstream data streams is respectively instructing the application servers sending the multiple downstream data streams to perform congestion control on the multiple downstream data streams, including: determining a target transmission rate for each downstream data stream according to the business demand information of the multiple downstream data streams; sending the target transmission rate of the first data stream to the first application server sending 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.

[0029] In some embodiments, the business demand information of the multiple downstream data streams is respectively instructing the application servers sending the multiple downstream data streams to perform congestion control on the multiple downstream data streams, including: determining a target encoding format or a target rendering mode for each downstream data stream according to 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 a 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.

[0030] In some embodiments, the method of instructing application servers sending the multiple downstream data streams to perform congestion control on the multiple downstream data streams respectively 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 a first application server sending the first data stream, so as 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.

[0031] 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 for 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.

[0032] 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 a service type of a first application, QoS requirement information of the first application, and a priority of a downlink data flow belonging to the first application sent by a first application client; the first application is an application to which the first data flow belongs, and the first application client is an application client that receives the first data flow.

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

[0034] 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 the transmission process 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; 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 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.

[0035] 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.

[0036] 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 a 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 an 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.

[0037] In some embodiments, instructing a data transmission client to control the transmission rates of the multiple uplink data streams according to the business demand information of the multiple uplink data streams includes: determining a target transmission rate for each uplink data stream according to the priorities of the multiple uplink data streams; sending a target transmission rate of a third data stream to a 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 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.

[0038] In some embodiments, instructing a 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 for each uplink data stream according to at least one of the QoS demand information, service type and user type of the multiple uplink data streams; sending a target transmission rate of a third data stream to a 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 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.

[0039] In some embodiments, instructing a 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 includes: determining the transmission priority of the multiple uplink data streams according to 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 according to 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.

[0040] In some embodiments, the method of instructing application clients that send the multiple uplink data streams to perform congestion control on the multiple uplink data streams based on the business demand information of the multiple uplink data streams respectively includes: determining a target transmission rate for each uplink data stream based on the business demand information of the multiple uplink data streams; and sending the target transmission rate of the third data stream to a 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.

[0041] 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 a target encoding format or a target rendering mode for each upstream data stream according to the business demand information of the multiple upstream data streams; sending the target encoding format or the 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 the target rendering mode of the third data stream.

[0042] In some embodiments, the method of instructing application clients that send the multiple upstream data streams to perform congestion control on the multiple upstream data streams respectively 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 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 based on the congestion information of the third data stream.

[0043] 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 a service type of a first application, user types of multiple users of the first application, QoS requirement information of the first application, and a 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.

[0044] 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.

[0045] 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.

[0046] 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.

[0047] 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.

[0048] In some embodiments, controlling the transmission rates of the multiple uplink data streams according to the business demand information of the multiple uplink data streams includes: determining a target transmission rate of each uplink data stream according to the 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.

[0049] In some embodiments, controlling 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 uplink data stream according to at least one of the QoS demand information and 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.

[0050] In some embodiments, controlling the transmission rates of the multiple uplink data streams according to the service demand information of the multiple uplink data streams includes: determining the transmission priority of the multiple uplink data streams according to 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 according to the transmission 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.

[0051] In some embodiments, the method of instructing application clients that send the multiple uplink data streams to perform congestion control on the multiple uplink data streams based on the business demand information of the multiple uplink data streams respectively includes: determining a target transmission rate for each uplink data stream based on the business demand information of the multiple uplink data streams; and sending the target transmission rate of the third data stream to a 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.

[0052] 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 a target encoding format or a target rendering mode for each upstream data stream according to the business demand information of the multiple upstream data streams; sending the target encoding format or the 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 the target rendering mode of the third data stream.

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

[0054] 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;

[0055] 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.

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

[0057] Receive one or more of the service type of a first application, 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 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.

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

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

[0060] 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, the data transmission service end is connected to multiple application servers, and the device includes:

[0061] 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;

[0062] 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.

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

[0064] 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 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;

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

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

[0067] Controlling the transmission rates of the multiple downstream data flows according to the service demand information of the multiple downstream data flows; or respectively instructing 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.

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

[0069] Determining a target transmission rate for each downstream data flow according to the priorities of the multiple downstream data flows;

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

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

[0072] 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;

[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 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;

[0076] Determining a target transmission rate for each downstream data flow according to the transmission priorities of the multiple downstream data flows;

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

[0078] In some embodiments, the device further includes a communication unit, and the congestion control unit is specifically used to:

[0079] Determine a target transmission rate for each downstream data flow according to the service demand information of the multiple downstream data flows;

[0080] 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.

[0081] In some embodiments, the device further includes a communication unit, and the congestion control unit is specifically used to:

[0082] 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;

[0083] Instruct the communication unit 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.

[0084] In some embodiments, the device further includes a communication unit, and the congestion control unit is specifically used to:

[0085] 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;

[0086] 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.

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

[0088] 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.

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

[0090] 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.

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

[0092] 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.

[0093] In a sixth aspect, the present application proposes another congestion control device, 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:

[0094] 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;

[0095] 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.

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

[0097] The first data stream is received from a network side device through the communication unit; the first data stream includes multiple data packets, and a packet 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 first data stream.

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

[0099] Instructing the data transmission service end to control the transmission rate of the multiple downstream data flows according to the service demand information of the multiple downstream data flows; or, respectively instructing the application servers that send 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;

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

[0101] In some embodiments, the device 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 used to:

[0102] Determining a target transmission rate for each downstream data flow according to the priorities of the multiple downstream data flows;

[0103] The target transmission rate of each downstream data stream 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 downstream data stream according to the target transmission rate of each downstream data stream.

[0104] In some embodiments, the device 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 used to:

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

[0106] The target transmission rate of each downstream data stream 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 downstream data stream according to the target transmission rate of each downstream data stream.

[0107] In some embodiments, the device 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 used to:

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

[0109] Determining a target transmission rate for each downstream data flow according to the transmission priorities of the multiple downstream data flows;

[0110] The target transmission rate of each downstream data stream 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 downstream data stream according to the target transmission rate of each downstream data stream.

[0111] In some embodiments, the device further includes a communication unit, and the congestion control unit is specifically used to:

[0112] Determine a target transmission rate for each downstream data flow according to the service demand information of the multiple downstream data flows;

[0113] 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.

[0114] In some embodiments, the device further includes a communication unit, and the congestion control unit is specifically used to:

[0115] 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;

[0116] 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.

[0117] In some embodiments, the device further includes a communication unit, and the congestion control unit is specifically used to:

[0118] 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;

[0119] 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.

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

[0121] 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.

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

[0123] Receive one or more of the service type of a first application, QoS requirement information of the first application, and the priority of a 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.

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

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

[0126] 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:

[0127] 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;

[0128] 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.

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

[0130] 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 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 of the third data stream.

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

[0132] Instruct a 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 an 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.

[0133] In some embodiments, the device further includes a communication unit; the congestion control unit, when instructing the data transmission client to control the transmission rate of the multiple uplink data flows according to the service demand information of the multiple uplink data flows, is specifically used to:

[0134] Determining a target transmission rate of each upstream data stream according to the priorities of the multiple upstream data streams;

[0135] 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.

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

[0137] 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;

[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 device further includes a communication unit; the congestion control unit, when instructing the data transmission client to control the transmission rate of the multiple uplink data flows according to the service demand information of the multiple uplink data flows, is specifically used to:

[0140] 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;

[0141] Determining a target transmission rate for each upstream data stream according to the transmission priorities of the multiple upstream data streams;

[0142] 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.

[0143] In some embodiments, the device further includes a communication unit, and the congestion control unit, when instructing the application client 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 used to:

[0144] Determine a target transmission rate of each upstream data stream according to the service demand information of the multiple upstream data streams;

[0145] 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.

[0146] In some embodiments, the device further includes a communication unit, and the congestion control unit, when instructing the application client 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 used to:

[0147] 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;

[0148] 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, 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.

[0149] In some embodiments, the device further includes a communication unit, and the congestion control unit, when instructing the application client 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 used to:

[0150] 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;

[0151] 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.

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

[0153] 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.

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

[0155] 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.

[0156] In an eighth aspect, the present application proposes another congestion control device, 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:

[0157] 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;

[0158] 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.

[0159] In some embodiments, the device 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:

[0160] Receiving congestion feedback information for a third data stream sent by the data transmission service end through the communication unit; 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;

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

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

[0163] 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.

[0164] 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:

[0165] Determining a target transmission rate of each upstream data stream according to the priorities of the multiple upstream data streams;

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

[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] Determine 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;

[0169] The transmission of each upstream data flow is controlled according to the target transmission rate of each upstream 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] Determine the transmission priorities of the multiple uplink data flows according to at least one of the QoS requirement information and service types of the multiple uplink data flows;

[0172] Determining a target transmission rate for each upstream data stream according to the transmission priorities of the multiple upstream data streams;

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

[0174] In some embodiments, the device further includes a communication unit; the congestion control unit, when instructing the application client 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 used to:

[0175] Determine a target transmission rate of each upstream data stream according to the service demand information of the multiple upstream data streams;

[0176] 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.

[0177] In some embodiments, the device further includes a communication unit; the congestion control unit, when instructing the application client 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 used to:

[0178] 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;

[0179] 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, 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.

[0180] In some embodiments, the device further includes a communication unit; the congestion control unit, when instructing the application client 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 used to:

[0181] 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;

[0182] 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.

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

[0184] Receive one or more of the service type of a first application, 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 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.

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

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

[0187] 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.

[0188] 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 aspect to the fourth aspect above.

[0189] 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.

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

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

[0192] 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 will not be discussed. BRIEF DESCRIPTION OF THE DRAWINGS

[0193] Figure 1 A schematic diagram of a network architecture;

[0194] Figure 2 A schematic diagram of SEALDD service architecture;

[0195] Figure 3 A schematic diagram of a data transmission process based on SEALDD;

[0196] Figure 4 A schematic diagram of an implementation process of an L4S congestion control solution provided in an embodiment of the present application;

[0197] Figure 5 A schematic diagram of the architecture of a downlink data transmission scenario provided in an embodiment of the present application;

[0198] Figure 6 A flow chart of a congestion control method provided in an embodiment of the present application;

[0199] Figure 7A schematic flow chart of a congestion control method in a downlink data transmission scenario provided in an embodiment of the present application;

[0200] Figure 8 A schematic flow chart of another congestion control method in a downlink data transmission scenario provided in an embodiment of the present application;

[0201] Fig. 9 A schematic flow chart of another congestion control method in a downlink data transmission scenario provided in an embodiment of the present application;

[0202] Fig.10 A schematic diagram of an architecture of an uplink data transmission scenario provided in an embodiment of the present application;

[0203] Fig.11 A flowchart of another congestion control method provided in an embodiment of the present application;

[0204] Fig.12 A schematic flow chart of a congestion control method in an uplink data transmission scenario provided in an embodiment of the present application;

[0205] Fig.13 A schematic flow chart of another congestion control method in an uplink data transmission scenario provided in an embodiment of the present application;

[0206] Fig.14 A schematic flow chart of another congestion control method in an uplink data transmission scenario provided in an embodiment of the present application;

[0207] Fig.15 A schematic diagram of the structure of a congestion control device provided in an embodiment of the present application;

[0208] Fig.16 A schematic diagram of the structure of another congestion control device provided in an embodiment of the present application. DETAILED DESCRIPTION

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

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

[0211] (1) Service and system aspects (SA2) 5G architecture: 3GPP SA2 defines the 5G system architecture as two parts: access network and core network. For a detailed network architecture diagram, see Figure 1 ,like 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). Figure 1 The various components included in the system architecture shown are introduced as follows:

[0212] User equipment (UE), also known as terminal equipment, mobile station (MS), mobile terminal (MT), etc., is a device that provides voice and / or data connectivity to users. For example, the terminal equipment may include a handheld device with wireless connection function, a vehicle-mounted device, etc. At present, the terminal device can be: device-to-device communication (D2D) terminal equipment, vehicle to everything (V2X) terminal equipment (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 equipment, Internet of Things (IoT) terminal equipment, subscriber unit, subscriber station, mobile station, remote station, access point (AP), remote terminal equipment, access terminal equipment, user terminal equipment Terminals include mobile phones (or "cellular" phones), computers with mobile terminal equipment, portable, pocket-sized, handheld, and computer-built-in mobile devices, etc. For example, personal communication service (PCS) phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), and other devices. Terminal equipment can also be tablet computers or computers with wireless transceiver functions.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 restricted devices, such as devices with low power consumption, or devices with limited storage capacity, or devices with limited computing power, etc. For example, it includes information sensing devices such as barcodes, radio frequency identification (RFID), sensors, global positioning systems (GPS), laser scanners, etc. 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 called wearable smart devices or smart wearable devices, etc., which are a general term for wearable devices that are intelligently designed and developed using wearable technology for daily 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 clothes or accessories. Wearable devices are not just hardware devices, but also realize powerful functions through software support, data interaction, and cloud interaction. In a broad sense, wearable smart devices include those with full functions, large size, and can realize complete or partial functions without relying on smartphones, such as smart watches or smart glasses, as well as those that only focus on a certain type of application function and need to be used in conjunction with other devices such as smartphones, such as various smart bracelets for vital sign monitoring, smart helmets, smart jewelry, etc.

[0213] 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 through one or more cells at an air interface. For example, the access network device may include an evolved base station (NodeB or eNB or e-NodeB, evolutional Node B) in an LTE system or an advanced long term evolution (LTE-A), or may also include a next generation node B (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 (CloudRAN) system, which is not limited in the embodiments of the present application. An eNB may include various forms of macro base stations, micro base stations (also called 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 called small stations), relay stations, access points, wearable devices, and vehicle-mounted devices. gNB can also be TRP, transmission measurement function (TMF). gNB can include CU and DU integrated on gNB. The terminal device can communicate with the serving base station through the Uu link, for example, it can communicate with Ng-eNB through the LTE-Uu link, and can communicate with gNB through the NR-Uu link. Ng-eNB is an LTE base station, and gNB is an NR base station. Base stations can communicate with each other through the Xn interface.

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

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

[0216] The SMF network element is responsible for session management in the mobile network, such as session establishment, modification, and release. During the session establishment process, the SMF network element specifically performs operations such as allocating IP addresses to users and selecting UPFs that provide message forwarding functions.

[0217] 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.

[0218] UDM network elements are used to store user data, such as user contract information, authorization and authentication information, etc.

[0219] 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.

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

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

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

[0223] (2) SA6 SEALDD 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). It provides communication transmission functions for VAL through the interface with VAL (which can be called the northbound interface) in the form of application program interface (API). For example, SEALDD can also be called data transmission enhancement layer or SEALDD enhancement layer. See Figure 2, is a schematic diagram of the architecture of a SEALDD system provided in an embodiment of the present application, including 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 (application server, AS) or the VAL server (VALserver) in the form of a server or a server cluster, or, according to the deployment of the UPF and AS, the SEALDD server can also be deployed in a distributed manner.

[0224] like Figure 2 As shown, the SEALDD client communicates with the VAL client through the SEALDD-C interface, and the SEALDD server communicates with the VAL server through the SEALDD-S interface. The SEALDD client and the SEALDD server transmit user-plane data through the SEALDD-UU interface, where the SEALDD-UU interface is carried on the user-plane session constructed by the 3GPP network system. When the SEALDD server is deployed in a distributed manner in the form of a server cluster, each SEALDD server interacts with each other through the SEALDD-E interface, such as providing control plane context transmission and forwarding of user-plane data. When the SEALDD server interacts with the core network, on the one hand, it can interact with the PCF network element as an AF network element through the N5 interface, or it can interact with the network exposure function (NEF) network element as an AF network element through the N33 interface, and then indirectly communicate with the PCF network element through the NEF network element. On the other hand, it can transmit user-plane data with the UPF network element through the N6 interface.

[0225] The following is based on Figure 2 The architecture shown in FIG. 1 introduces the process of SEALDD providing data transmission services for VAL applications. For example, see Figure 3, a schematic diagram of a data transmission process based on SEALDD is provided for the 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.

[0226] When a single sender or multiple senders send a large amount of data to a receiver at the same time, if the total bandwidth of data transmission exceeds the bandwidth capacity of the data transmission link or the processing capacity of the transmission node, network congestion will occur, resulting in a decrease in network performance and a decrease in user experience. For example, network congestion can cause problems such as message accumulation and increased message queuing delay. When the message accumulation exceeds the cache capacity or buffer threshold of the transmission node, it will also cause the transmission node to drop the message and the sending node to retransmit the message, which will cause network transmission performance to decrease and even network crash. Therefore, when network congestion occurs, congestion control is crucial to improving network performance and satisfying the experience of users and applications. Congestion control refers to adjusting the number of data packets injected by the sender into the network to reduce the degree of network congestion or solve network congestion. 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 adopts slow start and congestion avoidance algorithms, and discards packets when network congestion occurs to adjust the window size of the data sender, thereby reducing network congestion. This method has problems such as waste of network resources. The principle of the L4S congestion control scheme is that when the data transmission intermediate node determines that network congestion has occurred, it sets the explicit congestion notification (ECN) mark bit in the packet header of the data packet to "11" or fills it with "11". This process can be called ECN marking. Furthermore, the data transmission receiving end can be informed of the occurrence of network congestion and notify the data transmission sending end, which then performs congestion control. For example, see Figure 4, a schematic diagram of the implementation process of an L4S congestion control solution provided in an embodiment of the present application. Step 401, the intermediate node determines that network congestion occurs and performs ECN marking on the data packet. Exemplarily, the intermediate node may determine that network congestion occurs when the cache exceeds a threshold, and parse the IP header of the data packet, and set the ECN mark included in the header to "11". Step 402, the intermediate node sends the ECN-marked data packet to the receiving end of the data transmission. Step 403, the receiving end of the data transmission determines that network congestion occurs according to the ECN mark included in the data packet, and generates congestion feedback information. Exemplarily, the receiving end may generate congestion feedback information through an ECN feedback mechanism, such as a TCP echo message. Step 404, the receiving end of the data transmission sends congestion feedback information to the sending end of the data transmission. After receiving the congestion feedback information, the sending end of the data transmission may 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.

[0227] Based on the above introduction, it can be seen that the traditional IETF L4S congestion control scheme has some drawbacks: there are specific functional requirements for the data transmission sender and receiver, that is, the receiver needs to support ECN mark bit recognition, generation and transmission of congestion feedback information, and the sender needs to support the function of processing congestion feedback information, which increases the calculation load of the receiver and sender. In addition, when performing congestion control, the sender can only adjust the transmission rate of a single data stream, and cannot know the actual operation of the entire network or other applications. For example, the first data stream sent by the first sender has a higher requirement for real-time performance, and the second data stream sent by the second sender has a lower requirement for real-time performance. In this case, the transmission rate of the second data stream can be reduced lower than that of the first data stream. However, since the first sender and the second sender can only make adjustments from their own perspectives, it will cause the transmission rates of the first data stream and the second data stream to be reduced to the same extent or no adjustment of the transmission rate, resulting in poor congestion control effect. The present application proposes a congestion control scheme, 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 of multiple applications, QoS requirement information, user types, and priorities of data flows belonging to different applications. Compared with the traditional L4S congestion control scheme, the execution subject of the scheme of the present application is the data transmission server. The data transmission server can perform different congestion controls 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 recognition and congestion feedback for the client and server of the application, which reduces the difficulty of application development.

[0228] In order to facilitate understanding of the solution of this application, the scenarios to which the solution of this application is applicable are first introduced. Figure 5 , is a schematic diagram of the architecture of a downlink data transmission scenario provided in an embodiment of the present application, including 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 above Figure 1 The relevant description in 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 the request of the application client. For the convenience of description, the application server will be referred to as the application server hereinafter. The data transmission client can be the SEALDD client introduced in the above embodiment, and can also be called a media-enabled client, a data transmission enhancement client, etc., which is deployed in the terminal device in the form of software or system components. The data transmission service can be the SEALDD server introduced in the above embodiment, and can also be called a media-enabled 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. Figure 5 The network in the scenario shown includes an access network and a core network. For an introduction to the access network and the core network, see the above Figure 1 The relevant description in will not be repeated here. For example, Figure 5 As an example only, the present 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, the present application does not limit the number of application clients and data transmission clients. Figure 5 The downlink data transmission scenario shown introduces the congestion control solution proposed in this application.

[0229] For example, see Figure 6 , is a flow chart of a congestion control method provided in an embodiment of the present application. Optionally, Figure 6 The method flow shown can be Figure 5 The data transmission server included in the illustrated scenario may also be implemented by specific components included in the data transmission server, such as a chip, a processor, and other devices included in the data transmission server. The data transmission server is connected to multiple application servers to provide data transmission services for the multiple application servers. Figure 6 The method flow shown specifically includes:

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

[0231] Wherein, the multiple downlink data streams at least include 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 respectively.

[0232] Exemplarily, the existence of network congestion during the 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 the embodiment of the present application, the RAN node is used to detect the existence of network congestion during the transmission of the first data flow.

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

[0234] 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 may also be referred to as service feature information. Exemplarily, taking the first data flow as an example, the service demand information of the first data flow may 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 may send the QoS demand information of the first application, the service type of the first application, the user types of multiple users of the first application service, 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 may provide 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 may characterize 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 may be configured for the first data flow.

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

[0236] 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 according to 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 in combination with 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 the congestion control is performed is lower than the sum of the transmission rates of the data streams before the congestion control, which alleviates network congestion while 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 recognition and congestion feedback for the client and server of the application, reducing the difficulty of application development.

[0237] Exemplarily, when the data transmission service end performs congestion control on multiple downstream data flows based on the service demand information of multiple downstream data flows, the congestion control can be performed on the multiple downstream data flows according to the priority included in the service demand information, for example, the transmission rate of different downstream data flows can be adjusted to different degrees based on the priority from the application server to alleviate network congestion. Alternatively, congestion control can also be performed on multiple downstream data flows according to the service type, user type and QoS demand information of the application included in the service demand information. For example, the QoS demand information can include a QoS value, and the data transmission service end can perform different congestion control on multiple downstream data flows according to the size of the QoS value. Alternatively, the transmission priority can be determined first by using the service type, user type and QoS demand information of the application included in the service demand information. The transmission priority can indicate the degree of demand for low transmission delay of the data flow. Further, the data transmission service end can perform congestion control based on the transmission priority of each downstream data flow. Below, taking the method in which the data transmission service end determines the transmission priority according to the service type, user type and QoS demand information of the application, and performs congestion control based on the transmission priority as an example, the congestion control scheme proposed in this application is specifically introduced.

[0238] In a possible implementation, the data transmission service end may determine the transmission priority of the data stream according to the service demand information received from multiple application servers before determining that there is network congestion. Exemplarily, 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 requirement information of the first application, which is 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 identification, address and service demand information of the application, and the service demand information includes one or more of the service type of the application, QoS requirement information, user type of the user of the application service and the priority of the data stream.

[0239] Further, the data transmission service end may determine the transmission priority of the data stream according to the service demand information. In an optional manner, the data transmission service end may 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 may also determine the transmission priority of the data stream based on the service type, QoS demand information, and the user type of the user of the application service. For example, the process of determining the priority according to 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 a VR service, the demand for congestion control (such as low-latency transmission) is high, and the second application is a video service, the demand for congestion control (such as low-latency transmission) is low, then the data transmission service end may 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 demand information sent by the first application server indicates that the first application is a paid application, and the demand for congestion control (such as low-latency transmission) is high, then the data transmission service end may 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.

[0240] 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.

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

[0242] After determining that congestion control needs to be performed on the data flow of the first application, the data transmission service end may also notify the first data transmission client to identify the congestion mark of the downlink data flow belonging to the first application, and send congestion feedback information to the data transmission service end when the congestion mark is identified. Among them, the first data transmission client is deployed in any user terminal device deployed with the first application, for example, taking the first data transmission client deployed in the first user terminal device as an example, the first application client is also deployed in the first user terminal device. As an optional method, the congestion feedback information may also be the TCP echo information introduced in the above embodiment or the feedback information defined in the traditional L4S congestion control scheme. In a possible implementation method, when the data transmission service end determines that there is network congestion, it can be determined according to the congestion feedback information sent by the data transmission client deployed in the user terminal device. For example, still taking the first data flow as an example, the process of determining that there is network congestion during the transmission of the first data flow by the data transmission service end is introduced. The first data flow is any one of a plurality of 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. Exemplarily, 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, according to the congestion feedback information, that network congestion exists during the transmission of the first data stream.

[0243] 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 of the service demand information of the multiple downstream data streams. Exemplarily, when performing congestion control based on 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, which will not be repeated here. For the sake of ease of description, the congestion control process is specifically introduced below, 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. Exemplarily, when performing congestion control, the following two methods can be used:

[0244] 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.

[0245] Exemplarily, the data transmission service end can determine the target transmission rate of each downstream data stream according to the transmission priority 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, the congestion control process of the first data stream and the second data stream is introduced as an example, and the transmission priority of the first data stream is higher than the transmission priority of the second data stream. In an optional manner, the data transmission service end can reduce the transmission rate of the first data stream and the second data stream, and set the degree of reduction of the transmission rate of the second data stream to be higher than the degree of reduction of 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 manner, the data transmission service end may not change the transmission rate of the first data stream, but 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, so as not to affect 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 one of the above three optional schemes can be selected to perform the operation of determining the target transmission rate, or a scheme can be selected based on the difference between the transmission priorities of the first data stream and the second data stream. For example, the third scheme 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 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.

[0246] Further, after determining the target transmission rate of each downstream data flow, the target transmission rate may be used to control each downstream data flow to enter the network.

[0247] 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.

[0248] In one possible implementation, the data transmission service end may determine the target transmission rate of each downstream data stream according to 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 an application server that sends the first data stream. Exemplarily, 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, the output rate of the first data stream may be controlled 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 may be controlled, for example, the encoding format or rendering method of the first data stream may be adjusted to reduce the generation rate of the first data stream, thereby reducing the transmission rate of the first data stream.

[0249] In another possible implementation, the data transmission service end may determine the target encoding format or target rendering mode of each downstream data stream according to 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, so as to instruct 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 service end may first determine the target transmission rate of the first data stream according to the transmission priority of 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.

[0250] In another possible implementation, the data transmission service end may determine the congestion information of each downstream data stream according to the transmission priority of multiple downstream data streams, wherein the congestion information is used to indicate the degree of congestion of the downstream data stream 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 stream, the lower the congestion degree indicated by the corresponding congestion information. Further, the data transmission service end may send the congestion information of the first data stream to the first application server, to instruct the first application server to perform congestion control on the first data stream according to the congestion information. Exemplarily, if the first data stream is a data stream 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 stream is a data stream 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 may adjust the output rate or generation rate of the first data stream according to the congestion information of the first data stream.

[0251] It should be noted that both the above-mentioned methods 1 and 2 are introduced by taking the example of congestion control based on transmission priority. In actual applications, congestion control can also be directly performed 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.

[0252] Based on the above scheme, the present application proposes that in a downlink data transmission scenario, the data transmission service end performs different congestion controls 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.

[0253] In order to facilitate understanding of the congestion control solution in the downlink data transmission scenario proposed in the embodiment of the present application, the following is an introduction in conjunction with a specific embodiment. Figure 7 , is a flow chart of a congestion control method in a downlink data transmission scenario provided by an embodiment of the present application. By way of example, in Figure 7 In the example of connecting the data transmission server to the first application server and the second application server, 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 the user terminal device may also be deployed with a data transmission client. In addition, Figure 7 The example of using the scheme of first determining the transmission priority and then performing congestion control based on the transmission priority is introduced in this paper. What you need to know is Figure 7 In the implementation process of the method flow shown, a congestion control solution can also be adopted that is directly based on the priority from the application server, or a congestion control solution can be adopted that is based on one or more of the QoS requirement information, service type, and user type from the application server. Figure 7 The method flow shown specifically includes:

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

[0255] Exemplarily, the process of the first application server discovering the data transmission service end can refer to the introduction in the above embodiment, which will not be repeated 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 demand information of the first application, the priority of the first application, or the priority of the user served by the first application.

[0256] 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 service end. For example, it can also be called a message, a subscription message or a request message.

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

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

[0259] 703. The data transmission service end 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 demand 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.

[0260] 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. Exemplarily, the data transmission service end can also provide different types of API interfaces for the first application server and the second application server respectively, and different types of API interfaces indicate whether the application requires congestion control (such as low-latency transmission), so that the data transmission service end can also determine the need for congestion control of the data streams sent by the first application server and the second application server according to the API interface type triggered by the first application server and the second application server.

[0261] Exemplarily, 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.

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

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

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

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

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

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

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

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

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

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

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

[0273] 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 according to the address information, wherein the connection request message may include the data transmission client identifier, the user identifier, the address information of the data transmission client (such as the IP address and the port number), and the 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 VALservice ID, or may be a SEALDD flow identifier (SEALDD flow ID).

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

[0275] Exemplarily, after receiving the connection request message, the data transmission service end 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, wherein the connection response message includes an identifier and address information of the data transmission service end, 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.

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

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

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

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

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

[0281] Exemplarily, after receiving the first data stream, the access network device may determine whether congestion detection is required for the first data stream according to the N2 message received in the above step 705. After determining that congestion detection is required, the access network device may determine that network congestion exists during the transmission of the first data stream by checking that 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, the ECN mark method in the L4S congestion control solution may be used for marking.

[0282] Optionally, the access network device may directly perform ECN marking on the first data flow, or may send information that the first data flow has network congestion to the UPF network element, and the UPF network element performs ECN marking. For example, the access network device may notify the UPF network element to perform ECN marking through an extension header defined in the 3GPP GTP-U protocol specification.

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

[0284] 718. The data transmission client receives the first data flow and performs congestion mark identification on the first data flow.

[0285] Exemplarily, 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 received packet header of the data packet belonging to the first data stream includes a congestion mark.

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

[0287] Exemplarily, the process of generating congestion feedback information may refer to the relevant introduction in the above embodiment, which will not be described in detail here.

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

[0289] It should be noted that the process of transmitting the first data stream described in steps 715-720 can also be applied to the transmission process of the second data stream, where the second data stream is a data stream sent from the second application server to the second application client. Figure 7 The process of transmission, congestion detection, congestion marking, congestion identification and congestion feedback of the second data stream is not shown, that is, the data transmission service end also receives the congestion feedback information for the second data stream fed back by the data transmission client end.

[0290] 721. The data transmission service end 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.

[0291] Exemplarily, 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 introduced in Method 1 and Method 2 in the above embodiments, which will not be described in detail here.

[0292] In some embodiments, the data transmission service end may also send service demand information of each downlink data flow to the data transmission client, and the data transmission client performs congestion control. The following is an introduction to the scheme of performing congestion control by the data transmission client, for example, see Figure 8 , is a flow chart of another congestion control method in a 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 requirement information, service type, and user type from the application server for congestion control, or may first determine the transmission priority based on the service requirement information from the application server, and then perform congestion control based on the transmission priority. For ease of description, in Figure 8The method of first determining the transmission priority and then performing congestion control based on the transmission priority is still used 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. Figure 8 The method flow shown specifically includes:

[0293] Steps 801-811 can refer to the above Figure 7 Steps 701-711 in .

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

[0295] Exemplarily, after receiving the connection request message, the data transmission service end 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, wherein the connection response message includes an identifier and address information of the data transmission service end, 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 transmission priorities of the first data stream and the second data stream, respectively.

[0296] Steps 813-818 can refer to the above Figure 7 Steps 713-718 in the above are not described in detail here. Figure 8 The process of transmission, congestion detection, congestion marking and congestion identification of the second data stream is not shown, that is, the data transmission client will also perform congestion identification on the second data stream.

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

[0298] The congestion control scheme is generated by the data transmission client according to 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 the method 1 and the method 2 introduced in the above embodiment, which will not be described in detail here.

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

[0300] 821. The data transmission service end 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.

[0301] For details, please refer to the above Figure 7 Step 721 in will not be repeated here.

[0302] In some embodiments, when congestion control is performed by the data transmission client, the service demand information of each downstream data stream may also be provided by the application client. Exemplarily, when each application client sends a service request to the data transmission client, it may 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 stream sent to each application client. Optionally, the service demand information of the application client may be pre-configured in each application client, or the application server may send the service demand information of each data stream to each application client based on the user identifier. In other embodiments, the data transmission service end may also determine the transmission priority of each downstream data stream 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 may send the transmission priority to each application server, and each application server may send the transmission priority of each data stream to the corresponding application client based on the user identifier. Further, each application client may send the transmission priority to the data transmission client. Below, taking the case where the data transmission client directly receives the priority of each data stream as an example, the specific process of performing congestion control is introduced. For example, see Fig. 9 , is a flow chart of another congestion control method in a downlink data transmission scenario provided by an embodiment of the present application, specifically including:

[0303] Steps 901-902 can refer to the above Figure 7 Steps 701-702 in .

[0304] 903 , the data transmission service end 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.

[0305] For the specific process, please refer to the above Figure 7 The relevant introduction of step 703 will not be repeated here.

[0306] Steps 904-908 can refer to the above Figure 7 Steps 704-708 in .

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

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

[0309] 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.

[0310] Steps 911-918 can refer to the above Figure 7 Steps 711-718 in .

[0311] Steps 919-921 can refer to the above Figure 8 Steps 819-821 in .

[0312] In other scenarios, the embodiments of the present application also propose a congestion control solution in an uplink data transmission scenario. In order to facilitate understanding of the solution of the present application, the uplink data transmission scenario is first introduced. Fig.10 , is a schematic diagram of the architecture of an uplink 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 service end. For details, please refer to the above Figure 5 The introduction of application client, application server, data transmission client and data transmission server in the above will not be repeated here. Fig.10 As an example only, the present application does not limit the number of application servers, application clients, and data transmission clients included in the uplink data transmission scenario. Fig.10 The scenario shown introduces the congestion control solution proposed in this application. For example, see Fig.11 , is a flow chart of a congestion control method provided in an embodiment of the present application. For example, Fig.11 The method flow shown can be Fig.10 The data transmission server included in the illustrated scenario may also be implemented by specific components included in the data transmission server, such as a chip, a processor, and other devices included in the data transmission server. The data transmission server is connected to multiple application servers to provide data transmission services for the multiple application servers. Fig.11 The method flow shown specifically includes:

[0313] 1101, determining that network congestion exists during transmission of multiple uplink data flows.

[0314] 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 in 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. Exemplarily, the third data stream may be sent from the first application client to the first application server, the fourth data stream may be sent from the second application client to the second application server, the first application client and the second application client may be deployed in the same user terminal device, or in different user terminal devices.

[0315] 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.

[0316] 1102. Perform congestion control on the multiple uplink data flows according to the service demand information of the multiple uplink data flows.

[0317] 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.

[0318] Exemplarily, 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 the QoS demand information, service type, and user type, and then perform congestion control based on the transmission priority.

[0319] For example, the process of the data transmission service end performing congestion control on each upstream data flow according to the service demand information from the application server can refer to the introduction of the process of performing congestion control on each downstream data flow based on the service demand information in the above embodiment, which will not be repeated here. For upstream data flows that need to be congested controlled, the data transmission service end can store its 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 refer to the process of notifying the network side device to perform congestion detection and congestion marking on the downstream data flows in the above embodiment.

[0320] Exemplarily, taking the third data stream and the fourth data stream as an example, after determining that congestion control is required for the third data stream and the fourth data stream, the data transmission service end may notify the network side device to perform network congestion detection and congestion marking on the third data stream and the fourth data stream. Further, after receiving the third data stream and the fourth data stream from the network side device, the data transmission service end may perform congestion marking identification on the third data stream and the fourth data stream, and determine that there is network congestion during the transmission of the third data stream and the fourth data stream. Further, a congestion control scheme for the third data stream and the fourth data stream may be generated according to the service demand information of the third data stream and the fourth data stream. In a possible implementation method, the congestion control scheme may include the target transmission rate of the third data stream and the fourth data stream, which is used to indicate that the transmission of the third data stream and the fourth data stream is controlled according to the target transmission rate. Exemplarily, the process of determining the target transmission rate of the third data stream and the fourth data stream based on the service demand information by the data transmission service end 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 above method 1. In another possible implementation, the congestion control scheme may include the target encoding format or target rendering mode of the third data stream and the fourth data stream, which is used to indicate the method of generating the third data stream and the fourth data stream. The process of determining the target encoding format or target rendering mode of the third data stream and the fourth data stream based on the business demand information can refer to the process of determining the target encoding format or target rendering mode of the downstream data stream based on the business demand information described in the above method 2. In another possible implementation, the congestion control scheme may include the congestion information of the third data stream and the fourth data stream, which is used to indicate that congestion control is performed based on the congestion information. The process of determining the congestion information based on the business demand information can refer to the process of determining the congestion information of the downstream data stream based on the business demand information described in the above method 2. Further, the data transmission service end may send congestion feedback information to the data transmission client, and the congestion feedback information includes the congestion control scheme generated by the data transmission service end. 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 in the same user terminal device.

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

[0322] In order to facilitate understanding of the congestion control solution in the uplink data transmission scenario proposed in the embodiment of the present application, the following is an introduction in conjunction with a specific embodiment. Fig.12 , is a flow chart of a congestion control method in an uplink data transmission scenario provided by an embodiment of the present application, exemplarily, Fig.12 In the example of connecting the data transmission service end to the first application server and the second application server, the first application server corresponds to the first application client, and the second application server corresponds to the second application client. Fig.12 In the example, the first application client and the second application client are deployed on the same user terminal device. A data transmission client may also be deployed on the user terminal device. Figure 7 The method flow shown specifically includes:

[0323] Steps 1201-1202 can be found in Figure 7 Steps 701-702 in .

[0324] 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.

[0325] The third data stream is an uplink data stream sent from the first application client to the first application server, and the second data stream is an uplink data stream sent from the second application client to the second application server. Figure 7 Step 703 in the description is an introduction to determining congestion control for the downlink data flow and determining the transmission priority.

[0326] Steps 1204-1214 can be found in Figure 7 Steps 704-714 in FIG. It should be noted that: Figure 7 The solution introduced here is for downlink data transmission scenarios. Fig.12The method needs to be modified accordingly for the uplink data transmission scenario. For example, in step 1204, the first message is used to indicate that network congestion detection is performed on the uplink data streams sent by the first application client and the second application client and a congestion mark is added.

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

[0328] 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.

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

[0330] 1218. The data transmission service end receives the third data stream and performs congestion marking identification on the third data stream.

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

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

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

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

[0335] 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.

[0336] 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 is an introduction to the scheme of performing congestion control by the data transmission client, for example, see Fig.13, is a flow chart of another congestion control method in an uplink data transmission scenario provided by an embodiment of the present application, specifically including:

[0337] Steps 1301-1311 can be found in Fig.12 .

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

[0339] 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.

[0340] Steps 1313-1318 can be found in Fig.12 Steps 1201-1218 in .

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

[0342] 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.

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

[0344] 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.

[0345] 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, which will not be described again here.

[0346] In some embodiments, when the data transmission client performs congestion control, the transmission priority information of each uplink data stream may also be provided by the application client. For example, the application client may determine the transmission priority according to the service demand information configured by itself, or the data transmission service end may generate the transmission priority and provide it to each application client through the application server. Fig.14 , is a flow chart of another congestion control method in an uplink data transmission scenario provided by an embodiment of the present application, specifically including:

[0347] Steps 1401-1402 can refer to the above Fig.12 Steps 1201-1202 in .

[0348] 1403. The data transmission service end 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.

[0349] Steps 1404-1408 can refer to the above Fig.12 Steps 1204-1208 in .

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

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

[0352] 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.

[0353] Steps 1411-1418 can refer to the above Fig.12 Steps 1211-1218 in .

[0354] Steps 1419-1421 can refer to the above Fig.13 .

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

[0356] Fig.15 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, a storage unit may also be included, which may 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 may be coupled with the storage unit, for example, the congestion identification unit 1501 may read the instructions (codes or programs) and / or data in the storage unit to implement the corresponding method. The above-mentioned units may be independently arranged or partially or fully integrated.

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

[0358] For example, in a transmission scenario of a downlink data stream, a congestion identification unit 1501 is used to determine that there is network congestion in the transmission process of multiple downlink data streams; 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; a 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 demand information of the application to which the first data stream belongs, the service type, the user type and the 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 that there is network congestion in the transmission process 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 demand information of the application to which the third data stream belongs, the service type, the user type and the 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.

[0359] In another possible implementation, the congestion control device 1500 can correspond to the behavior and capabilities of the data transmission client in the above 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 execute the steps of the data transmission client determining that there is congestion in the network introduced in the above embodiments, and the congestion control unit 1502 can be used to execute the steps of the data transmission client performing congestion control on the data flow introduced in the above method embodiments. The communication unit 1503 is used to execute all the receiving or sending operations performed by the data transmission client introduced in the above method embodiments.

[0360] 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.

[0361] It should be noted that the division of units in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. Each functional unit in the embodiments of the present application may be integrated into a processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0362] 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 to enable a computer device (which can be a personal computer, server, or network device, etc.) or a processor (processor) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program code.

[0363] It should be understood that the congestion identification unit 1501 and the congestion control unit 1502 in the embodiment of the present application can be implemented by a processor or a processor-related circuit component, and the communication unit 1503 can be implemented by a transceiver or a transceiver-related circuit component or a communication interface. Fig.16 As shown in the form. Fig.16 The device 1600 shown includes at least one processor 1610 , a memory 1620 , and optionally, a communication interface 1630 .

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

[0365] In such Fig.16 The device also includes a communication interface 1630. When the processor 1610 communicates with other devices, it can transmit signals through the communication interface 1630.

[0366] When the communication device uses Fig.16 When the form shown is Fig.16 The processor 1610 in the apparatus 1600 can call the computer-executable instructions stored in the memory 1620 so that the apparatus 1600 can execute the method executed by the communication device in any of the above method embodiments.

[0367] 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.

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

[0369] In a possible implementation, the chip system also includes a memory, in which a computer program or computer instructions are stored.

[0370] An embodiment of the present application also 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.

[0371] 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 complete hardware embodiments, complete software embodiments, or embodiments 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 disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0372] These computer program instructions may also be stored in a computer readable memory capable of directing 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 an article of manufacture including an instruction device, which implements the process Figure 1A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0373] 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, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0374] 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 is also intended to include these 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 the 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; 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.

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; Sending a target encoding format or a target rendering mode of the third data stream to a 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 the 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

Cited By

  • Congestion control method and apparatus

    EP4746503A1