CN115150333A - Congestion control method and device, computer equipment and storage medium - Google Patents

Congestion control method and device, computer equipment and storage medium Download PDF

Info

Publication number
CN115150333A
CN115150333A CN202210581213.2A CN202210581213A CN115150333A CN 115150333 A CN115150333 A CN 115150333A CN 202210581213 A CN202210581213 A CN 202210581213A CN 115150333 A CN115150333 A CN 115150333A
Authority
CN
China
Prior art keywords
link
congestion
request message
transmission
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210581213.2A
Other languages
Chinese (zh)
Other versions
CN115150333B (en
Inventor
汪福裕
罗成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210581213.2A priority Critical patent/CN115150333B/en
Publication of CN115150333A publication Critical patent/CN115150333A/en
Application granted granted Critical
Publication of CN115150333B publication Critical patent/CN115150333B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Abstract

The application relates to a congestion control method, a congestion control device, computer equipment and a storage medium. The method comprises the following steps: sending a first request message for establishing a first transmission link to a server; the first request message is also used for indicating that congestion multiplexing is locally supported; under the condition that the first transmission link is successfully established, receiving link congestion data fed back by the server through the first transmission link; caching the received link congestion data; and sending a second request message for establishing a second transmission link to the server based on the buffered link congestion data. The link congestion data carried in the second request message is used to instruct the server to perform congestion control in the process of performing service data transmission based on the second transmission link. The method and the device can carry out accurate congestion control in the process of transmitting the service data.

Description

Congestion control method and device, computer equipment and storage medium
Technical Field
The present application relates to the field of computer network technologies, and in particular, to a congestion control method, apparatus, computer device, storage medium, and computer program product.
Background
With the development of the internet, the server and the client communicate with each other based on a network transmission protocol, and meanwhile, the requirement of the user on the internet transmission performance is higher and higher. At present, there are many factors affecting the transmission performance of the internet, for example, transmission delay and packet loss in the communication process caused by network congestion may cause a great influence on the transmission performance of the network. Thus, the performance of the transmission link between the server and the client can be optimized based on historical link congestion data.
In the related technology, link congestion data are mainly stored in a server locally, and due to the fact that a plurality of terminals accessing the server are possible, the generated link congestion data are also large, single-machine storage resources are limited, the link congestion data of all the terminals cannot be stored, and only the link congestion data can be selectively stored or stored by taking a network segment as a unit, so that the accuracy of information is not guaranteed, and the problem that the accuracy of congestion processing is not high enough exists.
Disclosure of Invention
In view of the above, it is necessary to provide a congestion control method, apparatus, computer device, storage medium and computer program product for solving the above technical problems.
In one aspect, the present application provides a congestion control method, including:
sending a first request message for establishing a first transmission link to a server, wherein the first request message is also used for indicating that the local support of congestion multiplexing;
under the condition that the first transmission link is successfully established, receiving link congestion data fed back by the server through the first transmission link;
caching the received link congestion data;
and sending a second request message for establishing a second transmission link to the server based on the cached link congestion data, wherein the link congestion data carried in the second request message is used for indicating the server to carry out congestion control in the process of carrying out service data transmission based on the second transmission link.
In one embodiment, sending a first request message to a server for establishing a first transmission link includes:
determining a locally adapted target communication protocol;
under the condition that the target communication protocol is the first communication protocol, adding a multiplexing identification field in a handshake request message for establishing a first transmission link;
and filling a multiplexing label for indicating that the local support of congestion multiplexing is carried out in the multiplexing identification field to obtain a first request message, and sending the first request message to the server.
In one embodiment, sending a second request message to the server for establishing a second transmission link based on the buffered link congestion data comprises:
adding a data identification field in a handshake request message for establishing a second transmission link;
and filling the link congestion data in the data identification field to obtain a second request message for establishing a second transmission link, and sending the second request message to the server.
In one embodiment, sending a first request message to a server for establishing a first transmission link includes:
determining a locally adapted target communication protocol;
under the condition that the current communication protocol is the second communication protocol, expanding transmission parameters in a handshake request message for establishing a first transmission link so as to increase first transmission parameters representing local support congestion multiplexing and obtain a first request message;
a first request message for establishing a first transmission link is sent to a server.
In one embodiment, sending a second request message to the server for establishing a second transmission link based on the buffered link congestion data comprises:
expanding transmission parameters in a handshake request message for establishing a second transmission link to increase the second transmission parameters to obtain a second request message, wherein the second transmission parameters carry link congestion data;
a second request message for establishing a second transmission link is sent to the server.
In one embodiment, after receiving the link congestion data fed back by the server through the first transmission link, the method further includes:
under the condition that the link congestion data is empty, determining that the first transmission link is abnormal, and reestablishing a transmission link with the server;
and under the condition that the link congestion data is not empty, executing the step of buffering the received link congestion data.
In one embodiment, sending a second request message to the server for establishing a second transmission link based on the buffered link congestion data comprises:
in the case where a plurality of link congestion data are received, updating the link congestion data stored in the local cache based on the newly received link congestion data;
and sending a second request message for establishing a second transmission link to the server based on the link congestion data of the latest cache, wherein the second request message carries the link congestion data of the latest cache.
In one embodiment, the link congestion data includes at least one of a smooth round trip delay, a minimum round trip delay, a maximum transmission window, a maximum amount of data in transit, a throughput rate, a packet loss rate, or a transmission network type.
In another aspect, the present application further provides a congestion control apparatus, including:
a first sending module, configured to send a first request message for establishing a first transmission link to a server, where the first request message is further used to indicate that congestion multiplexing is locally supported;
the receiving module is used for receiving link congestion data fed back by the server through the first transmission link under the condition that the first transmission link is successfully established;
the buffer module is used for buffering the received link congestion data;
and the second sending module is used for sending a second request message for establishing a second transmission link to the server based on the cached link congestion data, wherein the link congestion data carried in the second request message is used for indicating the server to carry out congestion control in the process of carrying out service data transmission based on the second transmission link.
In one embodiment, the apparatus includes a first sending module configured to determine a locally adapted target communication protocol; under the condition that the target communication protocol is the first communication protocol, adding a multiplexing identification field in a handshake request message for establishing a first transmission link; and filling a multiplexing label for indicating that the local support of congestion multiplexing is carried out in the multiplexing identification field to obtain a first request message, and sending the first request message to the server.
In one embodiment, the apparatus includes a second sending module, configured to add a data identification field in a handshake request message for establishing a second transmission link; and filling the link congestion data in the data identification field to obtain a second request message for establishing a second transmission link, and sending the second request message to the server.
In one embodiment, the apparatus includes a first sending module configured to determine a locally adapted target communication protocol; under the condition that the current communication protocol is a second communication protocol, expanding transmission parameters in handshake request messages for establishing a first transmission link so as to increase first transmission parameters for representing local support congestion multiplexing and obtain first request messages; a first request message for establishing a first transmission link is sent to a server.
In one embodiment, the second sending module is configured to expand a transmission parameter in a handshake request message used for establishing a second transmission link, so as to add the second transmission parameter to obtain a second request message, where the second transmission parameter carries link congestion data; a second request message for establishing a second transmission link is sent to the server.
In one embodiment, the receiving module is further configured to determine that the first transmission link is abnormal and reestablish the transmission link with the server when the link congestion data is empty; and under the condition that the link congestion data is not empty, executing the step of caching the received link congestion data.
In one embodiment, the second sending module is configured to, in a case where multiple link congestion data are received, update link congestion data stored in the local cache based on the link congestion data that is received most recently; and sending a second request message for establishing a second transmission link to the server based on the link congestion data of the latest cache, wherein the second request message carries the link congestion data of the latest cache.
In one embodiment, the link congestion data includes at least one of a smooth round trip delay, a minimum round trip delay, a maximum transmission window, a maximum amount of data in transit, a throughput rate, a packet loss rate, or a transmission network type.
In another aspect, the present application further provides a computer device, which includes a memory and a processor, where the memory stores a computer program, and the processor implements the steps in the congestion control method when executing the computer program.
In another aspect, the present application further provides a computer-readable storage medium, on which a computer program is stored, where the computer program is executed by a processor to implement the steps in the congestion control method.
In another aspect, the present application also provides a computer program product comprising a computer program which, when executed by a processor, performs the steps of the congestion control method described above.
In another aspect, the present application provides a congestion control method, including:
receiving a first request message which is sent by a terminal and used for establishing a first transmission link, wherein the first request message is also used for indicating that the terminal supports congestion multiplexing;
under the condition that the first transmission link is successfully established, feeding back link congestion data to the terminal through the first transmission link;
receiving a second request message which is sent by the terminal and used for establishing a second transmission link, wherein the second request message carries link congestion data;
and in the process of transmitting the service data based on the second transmission link, performing corresponding congestion control according to the link congestion data carried in the second request message.
In another aspect, the present application provides a congestion control apparatus, including:
a first receiving module, configured to receive a first request message sent by a terminal and used for establishing a first transmission link, where the first request message is further used for indicating that the terminal supports congestion multiplexing;
the feedback module is used for feeding back link congestion data to the terminal through the first transmission link under the condition that the first transmission link is successfully established;
the second receiving module is used for receiving a second request message which is sent by the terminal and used for establishing a second transmission link, and the second request message carries link congestion data;
and the congestion control module is used for performing corresponding congestion control according to the link congestion data carried in the second request message in the process of performing service data transmission based on the second transmission link.
In one embodiment, the feedback module is configured to perform service data transmission with the terminal through the first transmission link when the first transmission link is successfully established; and measuring link congestion data in the service data transmission process, and feeding back the link congestion data to the terminal through the first transmission link under the condition of meeting a preset stable condition.
In one embodiment, the preset stable condition comprises at least one of the following conditions:
entering a bandwidth detection stage at the current moment;
the accumulated data transmission time in the current service data transmission process reaches a preset time;
the current time is the time designated by the preset congestion data transmission period.
In one embodiment, the feedback module is configured to determine a target frame type based on a target communication protocol adapted to the terminal; determining a preset length threshold corresponding to the link congestion data; and constructing a congestion control token frame based on the target frame type, the preset length threshold and the link congestion data, and sending the congestion control token frame to the terminal through the first transmission link.
In one embodiment, the congestion control module is configured to initialize a locally stored link congestion model based on link congestion data carried in the second request message in a process of transmitting service data based on the second transmission link, and perform corresponding congestion control through the initialized link congestion model.
In another aspect, the present application further provides a computer device, which includes a memory and a processor, where the memory stores a computer program, and the processor implements the steps of the congestion control method provided above when executing the computer program.
In another aspect, the present application also provides a computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, realizes the steps of the congestion control method provided above.
In another aspect, the present application also provides a computer program product comprising a computer program which, when executed by a processor, performs the steps of the congestion control method provided above.
According to the congestion control method, the congestion control device, the computer equipment, the storage medium and the computer program product, after the server acquires the link congestion data, the server sends the link congestion data to the terminal. The terminal stores the link congestion data, the subsequent terminal returns to the server when initiating a service data transmission request, and the server performs congestion control on the service data transmission process according to the link congestion data returned by the terminal. Since the link congestion data does not need to be stored by the server any more, but are stored by the terminals individually, the situation that the local storage resources of the server are not enough can be avoided. In addition, since the link congestion data is not stored by the server, but stored by the terminal, in the clustered deployment architecture, different servers in the server cluster can use the link congestion data returned by the same terminal, so that accurate congestion control can be realized for each terminal. Therefore, on one hand, the storage resource waste caused by the fact that different servers need to store corresponding link congestion data for the same terminal can be reduced, on the other hand, the link congestion data of the same terminal can be effectively multiplexed among different servers, and the congestion control accuracy in the service data transmission process is greatly improved. In addition, because the link congestion data is not stored in the network segment unit any more, the information accuracy is higher, and the congestion processing accuracy is higher.
Drawings
Fig. 1 is a diagram of an application environment of a congestion control method in one embodiment;
FIG. 2 is a flow diagram illustrating a method for congestion control in one embodiment;
FIG. 3 is a diagram illustrating establishment of a transmission link between a terminal and a server according to an embodiment;
fig. 4 is a flow chart illustrating a congestion control method according to another embodiment;
fig. 5 is a flow chart illustrating a congestion control method in another embodiment;
fig. 6 is a flow chart illustrating a congestion control method according to still another embodiment;
FIG. 7 is a diagram of a QUIC service architecture in yet another embodiment;
fig. 8 is a block diagram of the structure of a congestion control device in one embodiment;
fig. 9 is a block diagram of the structure of a congestion control apparatus in one embodiment;
FIG. 10 is a diagram showing an internal structure of a computer device according to an embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
First, terms referred to in the embodiments of the present application are briefly explained:
UDP (User Datagram Protocol): the method is a connectionless transport layer protocol in an Open System Interconnection (OSI) reference model, is mainly used in transmission which does not require packet sequence arrival, and provides a transaction-oriented simple unreliable information transmission service, wherein the inspection and sequencing of the packet transmission sequence are completed by an application layer.
QUIC (Quick UDP Internet Connection, UDP based low latency Internet transport layer protocol): located at the OSI model transport layer. QUIC aims at solving the defect of TCP (Transmission Control Protocol) Protocol, and finally replaces TCP Protocol to reduce data Transmission, reduce connection establishment delay time and accelerate webpage Transmission speed.
GQUIC: refers to the original QUIC protocol version.
IQUIC: refers to The QUIC protocol version established by The IETF (The Internet Engineering Task Force, internet Engineering Task Force).
CLB (Cloud Load Balancer, load balancing): the method provides safe and rapid flow distribution service, access flow can be automatically distributed to a plurality of cloud servers in the cloud through the CLB server, the service capability of the system is expanded, and single-point faults are eliminated.
CDN (Content Delivery Network): the method is characterized in that an intelligent virtual network built on the basis of the existing network is constructed, and users can obtain required contents nearby by means of functional modules of load balancing, content distribution, scheduling and the like of a central platform by means of edge servers deployed in various places, so that network congestion is reduced, and the access response speed and hit rate of the users are improved.
SNI (Server Name Indication): the server's fully qualified DNS (Domain Name System) Name, normalized to lower case, has no trailing periods. The value of the SNI tag cannot be an IP address.
STK (Source-Address token): if the server has previously provided the source address token, then the source address token previously provided by the server is referred to.
SCID (Server config ID, server configuration ID): refers to an opaque 16-byte tagger of the server configuration.
PUBS (Public Values, public parameter set): refers to the public parameters that need to be used in the handshake key agreement procedure.
TAG: the first handshake message in the QUIC protocol, i.e. the identification field in the clio (Client Hello) message, is not limited to 1, and may also be extended based on requirements. The existing identification field types may include SNI, STK, SCID, and PUBS, among others.
TP (Transport Parameters): during the connection establishment, both endpoints (e.g. terminal and server) perform authentication declarations on their transmission parameters, and the endpoints need to comply with the limits defined by each transmission parameter, and the description of each transmission parameter includes processing rules. A transmission parameter is an assertion made unilaterally by each endpoint that can be distinguished from the values selected by its peer endpoints, selecting other values for the transmission parameter. Meanwhile, the TP can be used as an extension item in the CLHO message of the QUIC protocol, such as how many transport Stream streams can be supported by the extension.
And (3) congestion control: the method means that the requirement of a user on network resources (including link bandwidth, storage space, processor processing capacity and the like) exceeds the inherent processing capacity and capacity, and the congestion can be controlled based on a diversified network congestion control method in order to improve the network utilization rate, reduce the packet loss rate and ensure the fairness of the network resources to each data flow.
In addition, in the embodiment of the present application, the congestion control method may be applied in the cloud technology application field implemented based on the CDN, specifically, such as cloud on-demand, live broadcast, or cloud conference, that is, the method may also be applied in a network transmission application scenario of a cloud technology. Cloud technology refers to a hosting technology for unifying serial resources such as hardware, software, network and the like in a wide area network or a local area network to realize calculation, storage, processing and sharing of data. Cloud technology (Cloud technology) is based on the general names of network technology, information technology, integration technology, management platform technology, application technology and the like applied in a Cloud computing business model, can form a resource pool, is used as required, is flexible and convenient, and can become an important support for the Cloud computing technology.
Background services of technical network systems require a large amount of computing and storage resources, such as video websites, picture-like websites and more portal websites. With the high development and application of the internet industry, each article may have an own identification mark and needs to be transmitted to a background system for logic processing, data of different levels can be processed separately, and various industry data need strong system background support and can be realized only through cloud computing.
Cloud computing (cloud computing) is a computing model that distributes computing tasks over a pool of resources formed by a large number of computers, enabling various application systems to obtain computing power, storage space, and information services as needed. The network that provides the resources is referred to as the "cloud". Resources in the "cloud" appear to the user as if they are infinitely expandable and can be acquired at any time, used on demand, expanded at any time, and paid for use. As a basic capability provider of cloud computing, a cloud computing resource pool (cloud platform, generally referred to as IaaS a Service (Infrastructure as a Service) platform is established, and multiple types of virtual resources are deployed in the resource pool and are selectively used by external clients.
According to the logic function division, a Platform as a Service (PaaS a Service) layer can be deployed on an Infrastructure as a Service (IaaS a Service) layer, a Software as a Service (SaaS a Service) layer is deployed on the PaaS layer, and the SaaS layer can be directly deployed on the IaaS layer. PaaS is a platform on which software runs, such as databases and web containers. SaaS is a variety of business software, such as web portal sites and mass texting devices. Generally speaking, saaS and PaaS are upper layers relative to IaaS.
In some embodiments, the congestion control method provided in the embodiments of the present application may be applied to an application environment as shown in fig. 1. The terminal 102 may communicate with the server 104 directly or indirectly through a wired or wireless network, which is not particularly limited in the embodiment of the present application. The terminal 102 and the server 104 may cooperatively execute the congestion control method in the embodiment of the present application. One implementation procedure when the terminal 102 and the server 104 cooperatively perform the congestion control method is taken as an example.
Specifically, the terminal 102 sends a first request message to the server 104 for establishing the first transmission link and for indicating that the terminal 102 supports congestion multiplexing locally. In case the first transmission link is established successfully, the server 104 feeds back link congestion data to the terminal over the first transmission link, and the terminal 102 receives the link congestion data. The terminal 102 buffers the received link congestion data. The terminal 102 sends a second request message carrying the link congestion data and used for establishing a second transmission link to the server based on the cached link congestion data. The server 104 performs corresponding congestion control according to the link congestion data carried in the second request message in the process of performing service data transmission based on the second transmission link. It is understood that the server 104 may be integrated in the cloud.
The terminal 102 may be, but not limited to, various desktop computers, notebook computers, smart phones, tablet computers, internet of things devices, and portable wearable devices, and the internet of things devices may be smart speakers, smart televisions, smart air conditioners, smart car-mounted devices, and the like. The portable wearable device can be a smart watch, a smart bracelet, a head-mounted device, and the like. An application program, such as a video application, or an audio application, etc., may be run on the terminal for presenting link congestion data. The server 104 may be a background server corresponding to software, a web page, an applet, or the like, or a server specially used for congestion control, which is not specifically limited in the embodiment of the present application. The server 104 may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing basic cloud computing services such as a cloud service, a cloud database, cloud computing, a cloud function, cloud storage, a Network service, cloud communication, a middleware service, a domain name service, a security service, a Content Delivery Network (CDN), a big data and artificial intelligence platform, and the like.
In some embodiments, in combination with the above noun explanation, technical explanation and implementation environment description, as shown in fig. 2, there is provided a congestion control method, which is described by taking the method as an example applied to the terminal in fig. 1, and includes the following steps:
step 202, sending a first request message for establishing the first transmission link to the server, wherein the first request message is further used for indicating that congestion multiplexing is locally supported.
Wherein the first request message may be a handshake message for establishing the first transmission link. It is understood that, the handshake process when different protocols establish a transmission link is different, and the first request message may be a different handshake message in the handshake process. Congestion multiplexing refers to link congestion data acquired by a server during data transmission through a historical transmission link between the server and a terminal, and the link congestion data can be continuously used in the data transmission process of a subsequent transmission link. For ease of understanding, the transmission moment of the first request message will now be described with reference to fig. 3, taking as an example the process of proposing the first transmission link based on the QUIC protocol.
In fig. 3, the terminal first sends an initial handshake message (include CHLO, include Client Hello) to the server, and the server may return a reject message (REJ, reject) at this time. The REJ may include data such as server configuration information, a certificate chain of the server, and a signature of the server configuration information. Then, the terminal may send a Complete handshake message (Complete CHLO) carrying the data request to the Server, and the Server may return a Server handshake message (SHLO) carrying the data requested by the terminal to the terminal. It follows that in the process of establishing the first transmission link, the terminal sends two handshake messages to the server. Therefore, in this step, the first request message may be an initial handshake message, or may also be an end handshake message, or both, which is not specifically limited in this embodiment of the present application. When the terminal sends the handshake ending message to the server, it indicates that the first transmission link is successfully established, and congestion statistics can only be realized after the first transmission link is successfully established, so that in an actual implementation process, the first request message may be the handshake ending message, and indicates that congestion multiplexing is locally supported through the handshake ending message.
It should be noted that, the process of "sending the first request message for establishing the first transmission link to the server" may be performed when the terminal does not locally cache the link congestion data, or may be performed when the terminal locally caches the link congestion data, which is not specifically limited in this embodiment of the present application.
And 204, receiving the link congestion data fed back by the server through the first transmission link under the condition that the first transmission link is successfully established.
The link congestion data may be used to reflect network performance, such as throughput, when data is transmitted between the terminal and the server through the historical transmission link, and is mainly used as a guide for the server to perform congestion control. In combination with the transmission link establishment process of the QUIC protocol, the terminal can indicate that the first transmission link is successfully established after sending the handshake finishing message to the server. After the first transmission link is established successfully, the data can be transmitted between the terminal and the server through the first transmission link. Therefore, the link congestion data received by the terminal in this step may be obtained by statistics of the server in the process of data transmission through the first transmission link, or may also be link congestion data of the terminal temporarily cached before the server, which is not specifically limited in this embodiment of the present application.
And step 206, caching the received link congestion data.
After the terminal caches the received link congestion data, a period of validity can be set for the cached link congestion data, and the link congestion data exceeding the period of validity can be deleted periodically, so that occupied local storage resources are reduced.
And step 208, sending a second request message for establishing a second transmission link to the server based on the buffered link congestion data, wherein the link congestion data carried in the second request message is used for indicating the server to perform congestion control in the data transmission process based on the second transmission link.
It is to be understood that the second transmission link is a transmission link established after the first transmission link. Similar to the first request message, the second request message may also be a handshake message, specifically may be an initial handshake message, and may also be an end handshake message, and of course, both of them may also be used, which is not specifically limited in this embodiment of the present application.
According to the congestion control method, the server sends the congestion data to the terminal after acquiring the congestion data of the link. The terminal stores the link congestion data, the subsequent terminal returns to the server when initiating a service data transmission request, and the server performs congestion control on the service data transmission process according to the link congestion data returned by the terminal. Since the link congestion data does not need to be stored by the server any more, but are stored by the terminals individually, the situation that the local storage resources of the server are not enough can be avoided. In addition, since the link congestion data is not stored by the server, but stored by the terminal, in the clustered deployment architecture, different servers in the server cluster can use the link congestion data returned by the same terminal, so that accurate congestion control can be realized for each terminal. Therefore, on one hand, the storage resource waste caused by the fact that different servers need to store corresponding link congestion data for the same terminal can be reduced, on the other hand, the link congestion data of the same terminal can be effectively multiplexed among different servers, and the congestion control accuracy in the service data transmission process is greatly improved. In addition, because the link congestion data is not stored in the network segment unit any more, the information accuracy is higher, and the congestion processing accuracy is higher.
Finally, the link congestion data are not required to be stored by the central node server, but are respectively stored by the terminals, so that the increase of the system architecture cost caused by the increase of the central node server can be avoided. Meanwhile, the problem of single-point risk can be avoided, data safety can be guaranteed, and the overall stability of the system is high. In addition, when the server needs to perform congestion control, the server does not need to separately acquire the link congestion data of the corresponding terminal from the central node server at first, so that the network delay can be reduced.
In some embodiments, sending a first request message to a server for establishing a first transmission link comprises:
determining a locally adapted target communication protocol; under the condition that the target communication protocol is the first communication protocol, adding a multiplexing identification field in a handshake request message for establishing a first transmission link; and filling a multiplexing label used for indicating that the local support congestion multiplexing is carried out in the multiplexing identification field to obtain a first request message, and sending the first request message to the server.
Specifically, the determination of the locally adapted target communication protocol mainly refers to the determination of the version of the QUIC protocol, and the message contents corresponding to different QUIC protocol versions may be different. Wherein the first communication protocol is referred to as GQUIC protocol. For the transmission link establishment procedure corresponding to the GQUIC protocol, the handshake request message may be an initial handshake message or an end handshake message, both of which include an addable "TAG" identification field. In the embodiment of the present application, the process of adding the multiplexing identification field (or adding both fields) in the initial handshake message or the end handshake message is mainly used. The terminal may fill a multiplexing flag, such as a CCRE, in the multiplexing identification field to indicate that congestion multiplexing is locally supported to declare that it supports congestion multiplexing itself. Other identification fields, such as SNI, STK, SCID, and PUBS, may also be included in the handshake request message.
Of course, in the actual implementation process, the terminal may also declare to the server that it does not support congestion multiplexing in the manner described above. Under the condition that the terminal declares that the terminal does not support congestion multiplexing to the server, if the terminal receives link congestion data from the server through a certain transmission link, the terminal can determine that the transmission link is abnormal, and can reestablish the transmission link with the server.
In the above embodiment, the terminal may declare to the server that the terminal supports congestion multiplexing in combination with the message formats of the corresponding communication protocols under the communication protocols of different versions, so that the declaration manner may be adjusted along with the message formats, and is more flexible. In addition, the method can prevent the server from mistakenly transmitting the link congestion data in a mode of declaration in advance. Meanwhile, whether the transmission link is abnormal or not can be judged based on the link congestion data mistakenly transmitted by the server, and the diagnosability and reliability of the transmission link are improved.
In some embodiments, sending a second request message to the server for establishing a second transmission link based on the buffered link congestion data comprises:
adding a data identification field in a handshake request message for establishing a second transmission link; and filling the link congestion data in the data identification field to obtain a second request message for establishing a second transmission link, and sending the second request message to the server.
Specifically, for the transmission link establishment procedure corresponding to the GQUIC protocol, the handshake request message may be an initial handshake message or an end handshake message, both of which include an addable "TAG" identification field. In the embodiment of the present application, it is mainly a process of adding a data identification field (or both fields may be added) in an initial handshake message or an end handshake message. The terminal may populate the link congestion data, such as CCTK, in the data identification field.
In the above embodiment, the terminal may transmit the link congestion data to the server in combination with the message formats of the corresponding communication protocols under the communication protocols of different versions, so that the transmission mode may be adjusted along with the message formats, and the transmission mode is more flexible.
In some embodiments, sending a first request message to a server for establishing a first transmission link comprises:
determining a locally adapted target communication protocol; under the condition that the current communication protocol is a second communication protocol, expanding transmission parameters in handshake request messages for establishing a first transmission link so as to increase first transmission parameters for representing local support congestion multiplexing and obtain first request messages; a first request message for establishing a first transmission link is sent to a server.
In particular, the determination of the locally adapted target communication protocol is mainly also referred to as the determination of the version of the QUIC protocol. Wherein the second communication protocol is referred to as the IQUIC protocol. For the transmission link establishment process corresponding to the IQUIC protocol, the handshake request message may also be an initial handshake message or an end handshake message, both of which include the extensible "Transport Parameters" transmission Parameters. In the embodiment of the present application, the transmission parameter is mainly extended in the initial handshake message or the end handshake message to add a first transmission parameter, such as cc _ reuse, that characterizes that the terminal locally supports congestion multiplexing, so as to declare that the terminal supports congestion multiplexing.
Of course, in the actual implementation process, the terminal may also declare to the server that the terminal does not support congestion multiplexing itself in the manner described above. Similarly, under the condition that the terminal has declared to the server that the terminal does not support congestion multiplexing, if the terminal receives link congestion data from the server through a certain transmission link, it may determine that the transmission link is abnormal, where the type of the abnormality may be PROTOCOL _ view, and the transmission link may be reestablished with the server.
In the above embodiment, the terminal may declare to the server that the terminal supports congestion multiplexing in combination with the message formats of the corresponding communication protocols under the communication protocols of different versions, so that the declaration manner may be adjusted along with the message formats, and is more flexible. In addition, the method can prevent the server from mistakenly transmitting the link congestion data in a mode of declaration in advance. Meanwhile, whether the transmission link is abnormal or not can be judged based on the link congestion data transmitted by the server, and diagnosability and reliability of the transmission link are improved.
In some embodiments, sending a second request message to the server for establishing a second transmission link based on the buffered link congestion data comprises:
expanding transmission parameters in a handshake request message for establishing a second transmission link to increase the second transmission parameters to obtain a second request message, wherein the second transmission parameters carry link congestion data; a second request message for establishing a second transmission link is sent to the server.
Specifically, for the transmission link establishment procedure corresponding to the IQUIC protocol, the handshake request message may be an initial handshake message or an end handshake message, both of which may extend the transmission parameters. In the embodiment of the present application, it is mainly a procedure of extending the second transmission parameter (or both of them may be extended) in the initial handshake message or the end handshake message. The terminal may assign the second transmission parameter as link congestion data, such as cc token.
In the above embodiment, the terminal may transmit the link congestion data to the server in combination with the message formats of the corresponding communication protocols under the communication protocols of different versions, so that the transmission mode may be adjusted along with the message formats, and the transmission mode is more flexible.
In some embodiments, after receiving the link congestion data fed back by the server over the first transmission link, the method further comprises:
under the condition that the link congestion data is empty, determining that the first transmission link is abnormal, and reestablishing a transmission link with the server; and under the condition that the link congestion data is not empty, executing the step of caching the received link congestion data.
Specifically, when the link congestion data is empty, the exception type corresponding to the first transmission link exception is FRAME _ ENCODING _ ERROR. It can be understood that, if the link congestion data is null, it indicates that the server may not count the link congestion data in the process of data transmission through the first transmission link, so that it may determine that the first transmission link is abnormal, and reestablish the transmission link with the server. If the link congestion data is not empty, the terminal may perform normal caching locally.
In the above embodiment, since the processing logic for determining that the transmission link is abnormal and reestablishing the transmission link can be set under the condition that the link congestion data received by the terminal is empty, the stability and reliability of the transmission link can be improved.
In some embodiments, sending a second request message to the server for establishing a second transmission link based on the buffered link congestion data comprises:
in the case where a plurality of link congestion data are received, updating the link congestion data stored in the local cache based on the newly received link congestion data; and sending a second request message for establishing a second transmission link to the server based on the link congestion data of the latest cache, wherein the second request message carries the link congestion data of the latest cache.
It can be understood that, even during data transmission under the same transmission link, the server can send the link congestion data to the terminal multiple times, so that the terminal can locally buffer corresponding multiple link congestion data under the transmission link. In addition, the terminal can also buffer corresponding link congestion data under a plurality of transmission links. On the premise, the latest cached link congestion data can reflect the actual network condition of the terminal. Therefore, in the embodiment of the present application, the terminal may update the local cache every time the latest link congestion data is received, and may send the second request message carrying the latest cached link congestion data to the server when the link congestion data needs to be subsequently transferred to the server.
In the above embodiment, when the terminal transmits the link congestion data to the server based on the link congestion data cached locally, the latest cached link congestion data may be transmitted, so that the effectiveness of the link congestion data may be ensured, and the server may perform effective congestion control.
In some embodiments, the link congestion data comprises at least one of a smooth round trip delay, a minimum round trip delay, a maximum transmission window, a maximum amount of data in transit, a throughput rate, a packet loss rate, or a transmission network type.
Where smooth round trip delay refers to a weighted result of multiple round trip delays within a certain time window. The maximum amount of data in transit refers to the maximum number of messages in the transmission state. Of course, the content of the link congestion data may also be expanded based on actual requirements, for example, a timestamp generated by the link congestion data may also be included, which is not specifically limited in this embodiment of the application.
In the above embodiment, since the link congestion data may include various statistical data of links related to network performance, an accurate and comprehensive data basis may be provided for congestion control, and the effectiveness of subsequent congestion control may be further improved.
The above process mainly explains the congestion control method at the terminal side, and in the actual implementation process, the server side also has a corresponding execution process. Therefore, in some embodiments, in combination with the above noun explanation, technical explanation and implementation environment description, as shown in fig. 4, there is provided a congestion control method, which is described by taking the method as an example applied to the server in fig. 1, and includes the following steps:
step 402, receiving a first request message sent by a terminal for establishing a first transmission link, where the first request message is further used to indicate that the terminal supports congestion multiplexing.
When sending the first request message, the terminal may send the first request message by combining with a target communication protocol locally adapted to the terminal, and the specific process is detailed in the content of the foregoing embodiment and is not described herein again.
And step 404, feeding back link congestion data to the terminal through the first transmission link under the condition that the first transmission link is successfully established.
Specifically, after the first transmission link is successfully established, the terminal and the server may perform service data transmission with the terminal through the first transmission link. And based on the service data transmission process, the link congestion data can be counted. Thereby, the server may feed back link congestion data to the terminal over the first transmission link.
And step 406, receiving a second request message sent by the terminal for establishing a second transmission link, where the second request message carries link congestion data.
When sending the second request message, the terminal may send the second request message by combining with a target communication protocol locally adapted to the terminal, and the specific process is detailed in the content of the previous embodiment and is not described herein again.
And step 408, performing corresponding congestion control according to the link congestion data carried in the second request message in the process of performing service data transmission based on the second transmission link.
According to the congestion control method, the server sends the congestion data to the terminal after acquiring the congestion data of the link. The terminal stores the link congestion data, the subsequent terminal returns to the server when initiating a service data transmission request, and the server performs congestion control on the service data transmission process according to the link congestion data returned by the terminal. Since the link congestion data are not required to be stored by the server any more, but are respectively stored by the terminals, the situation that the local storage resource of the server is not enough to be stored can be avoided. In addition, since the link congestion data is not stored by the server, but stored by the terminal, in the clustered deployment architecture, different servers in the server cluster can use the link congestion data returned by the same terminal, so that accurate congestion control can be realized for each terminal. Therefore, on one hand, the storage resource waste caused by the fact that different servers need to store corresponding link congestion data for the same terminal can be reduced, on the other hand, the link congestion data of the same terminal can be effectively multiplexed among different servers, and the congestion control accuracy in the service data transmission process is greatly improved. In addition, because the link congestion data is not stored in the network segment unit any more, the information accuracy is higher, and the congestion processing accuracy is higher.
Finally, the link congestion data are not required to be stored by the central node server, but are respectively stored by the terminals, so that the increase of the system architecture cost caused by the increase of the central node server can be avoided. Meanwhile, the problem of single-point risk can be avoided, data safety can be guaranteed, and the overall stability of the system is high. In addition, when the server needs to perform congestion control, the server does not need to separately acquire the link congestion data of the corresponding terminal from the central node server at first, so that the network delay can be reduced.
In some embodiments, in case the first transmission link establishment is successful, feeding back link congestion data to the terminal over the first transmission link comprises:
under the condition that the first transmission link is successfully established, service data transmission is carried out between the first transmission link and the terminal; and measuring link congestion data in the service data transmission process, and feeding back the link congestion data to the terminal through the first transmission link under the condition of meeting a preset stable condition.
The service data may be live data or on-demand data, and the like, which is not specifically limited in this embodiment of the application. The measurement process of the link congestion data is mainly a statistical summarizing process, such as counting the throughput rate and the like. The preset stable condition is mainly used for determining a sending time for the server to send the link congestion data, and in an actual implementation process, the specific sending time may be a time when the link duration of the first transmission link exceeds a preset duration, which is not specifically limited in this embodiment of the present application. It is understood that the measurement process of the link congestion data by the server may be continued until the preset stability condition is satisfied.
In the above embodiment, when the preset stability condition is met, the link congestion data can be fed back to the terminal through the first transmission link, so that the link congestion data can be acquired based on a sufficiently long measurement process, and the accuracy of the link congestion data can be further ensured.
In some embodiments, the preset stable condition comprises at least one of the following conditions: entering a bandwidth detection stage at the current moment; the accumulated data transmission time in the current service data transmission process reaches a preset time; the current time is the time specified by the preset congestion data transmission period.
The Bandwidth probing stage mainly refers to a PROBE _ BW stage in a BBR (bottle Bandwidth and RTT, bottleneck Bandwidth and round trip delay) congestion control algorithm. The preset duration and the preset congestion data sending period may both be configured based on preset requirements, for example, the preset congestion data sending period may be set to 3 seconds (which is 2.5 seconds longer than the detection period of the PROBE _ RTT stage in the BBR algorithm).
In the above embodiment, since multiple preset stability conditions can be set, and when the preset stability conditions are met, the link congestion data is fed back to the terminal through the first transmission link, it can be ensured that the link congestion data is obtained based on a sufficiently long measurement process, and the accuracy and reliability of the link congestion data can be ensured.
In some embodiments, feeding back link congestion data to the terminal over the first transmission link comprises: determining a target frame type based on a target communication protocol adapted to the terminal; determining a preset length threshold corresponding to the link congestion data; and constructing a congestion control token frame based on the target frame type, the preset length threshold and the link congestion data, and sending the congestion control token frame to the terminal through the first transmission link.
Specifically, "based on a target communication protocol adapted to the terminal", it is mainly to determine a communication protocol version adapted to the terminal. Taking the target communication protocol adapted to the terminal as GQUIC or IQUIC protocol as an example, the target frame types determined by the two versions of the protocol may be different, and may be distinguished from the frame types of other types of messages under the corresponding protocol. For example, the target frame type of GQUIC may be represented by 0X20, while the target frame type of IQUIC may be represented by 0X 60.
Considering that data transmission safety may be affected by transmitting too large bytes, a certain limitation may be made on the byte length corresponding to the link congestion data, and in the embodiment of the present application, the limitation is mainly performed by using a preset length threshold. The value of the preset length threshold may be 512 bytes, the preset length threshold may be adjusted, 256 bytes may be sufficiently used in an actual implementation process, and the 512 bytes are reserved mainly for the reserved part to be expanded.
In the above embodiment, the congestion control token frame may be constructed, and the link congestion data may be returned to the terminal through the congestion control token frame, and the whole data of the congestion control token frame is encrypted under the target communication protocol, so that the security of the link congestion data in the data transmission process may be ensured.
In some embodiments, in the process of transmitting service data based on the second transmission link, performing corresponding congestion control according to link congestion data carried in the second request message includes:
and initializing a locally stored link congestion model based on link congestion data carried in the second request message in the process of transmitting service data based on the second transmission link, and performing corresponding congestion control through the initialized link congestion model.
Specifically, in combination with the content description about the link congestion data in the previous embodiment, the process of initializing the locally stored link congestion model by the server may include: setting the value of the initial round-trip delay of the link congestion model according to the value of the smooth round-trip delay in the link congestion data, setting the initial window of the link congestion model by using the product of the interface bandwidth and the minimum round-trip delay, and setting the packet loss rate threshold when the link congestion model exits the slow start stage by using the packet loss rate.
In the above embodiment, since the link congestion data is obtained by measuring based on the actual network condition of the terminal, and the link congestion model is initialized based on the link congestion data, the initialized link congestion model is used to perform corresponding congestion control, so that the effective degree of congestion control can be improved.
The above embodiments mainly describe the process of the congestion control method from the terminal side and the server side, respectively. For convenience of understanding, as shown in fig. 5, the congestion control method mentioned in the present application is now described with reference to both the terminal side and the server side, and includes the following steps:
step 502, the terminal sends a first request message for establishing the first transmission link to the server, wherein the first request message is also used for indicating that congestion multiplexing is locally supported.
And step 504, under the condition that the first transmission link is successfully established, the server feeds back link congestion data to the terminal through the first transmission link.
Step 506, the terminal buffers the received link congestion data.
And step 508, the terminal sends a second request message for establishing a second transmission link to the server based on the cached link congestion data, wherein the second request message carries the link congestion data.
Step 510, the server performs corresponding congestion control according to the link congestion data carried in the second request message in the process of performing service data transmission based on the second transmission link.
As shown in fig. 6, the congestion control method mentioned in the present application will now be described with reference to different target communication protocols, and includes the following steps:
step 602, the terminal determines a locally adapted target communication protocol, executes step 604 if the target communication protocol is a first communication protocol, and executes step 606 if the current communication protocol is a second communication protocol.
Step 604, the terminal adds a multiplexing identification field in a handshake request message for establishing the first transmission link, fills a multiplexing label for indicating that local support congestion multiplexing is performed in the multiplexing identification field to obtain a first request message, and sends the first request message to the server, and executes step 608.
Step 606, the terminal expands the transmission parameters in the handshake request message for establishing the first transmission link to add the first transmission parameters characterizing local support congestion multiplexing, obtains the first request message, sends the first request message for establishing the first transmission link to the server, and executes step 608.
And 608, under the condition that the first transmission link is successfully established, the server feeds back link congestion data to the terminal through the first transmission link.
Step 610, the terminal caches the received link congestion data, executes step 612 if the target communication protocol is the first communication protocol, and executes step 614 if the current communication protocol is the second communication protocol.
Step 612, the terminal adds a data identification field in the handshake request message for establishing the second transmission link, fills link congestion data in the data identification field to obtain a second request message for establishing the second transmission link, sends the second request message to the server, and executes step 616.
Step 614, the terminal expands the transmission parameters in the handshake request message for establishing the second transmission link to add the second transmission parameters to obtain a second request message, where the second transmission parameters carry link congestion data, sends the second request message for establishing the second transmission link to the server, and executes step 616.
Step 616, during the process of transmitting the service data based on the second transmission link, the server performs corresponding congestion control according to the link congestion data carried in the second request message.
In the above embodiment, after acquiring the link congestion data, the server sends the link congestion data to the terminal. The terminal stores the link congestion data, the subsequent terminal returns to the server when initiating the service data transmission request, and the server performs congestion control on the service data transmission process according to the link congestion data returned by the terminal. Since the link congestion data are not required to be stored by the server any more, but are respectively stored by the terminals, the situation that the local storage resource of the server is not enough to be stored can be avoided. In addition, since the link congestion data is not stored by the server, but stored by the terminal, in the clustered deployment architecture, different servers in the server cluster can use the link congestion data returned by the same terminal, so that accurate congestion control can be realized for each terminal. Therefore, on one hand, the storage resource waste caused by the fact that different servers need to store corresponding link congestion data for the same terminal can be reduced, on the other hand, the link congestion data of the same terminal can be effectively multiplexed among different servers, and the congestion control accuracy in the service data transmission process is greatly improved. In addition, because the link congestion data is not stored in a network segment as a unit, the information accuracy is higher, and the congestion processing accuracy is higher.
Finally, the link congestion data are not required to be stored by the central node server, but are respectively stored by the terminals, so that the increase of the system architecture cost caused by the increase of the central node server can be avoided. Meanwhile, the problem of single-point risk can be avoided, data safety can be guaranteed, and the overall stability of the system is high. In addition, when the server needs to perform congestion control, the server does not need to separately acquire the link congestion data of the corresponding terminal from the central node server, so that the network delay can be reduced.
The embodiment of the present application further provides an application scenario, where the application scenario applies the congestion control method, and the application scenario is applied to a GQUIC protocol, and is exemplified by a terminal and a server. Specifically, the application of the congestion control method in the application scenario is as follows:
(1) In the handshake phase between the terminal and the server, an identification field CCRE (corresponding to the multiplexing identification field) is added through the handshake message in the handshake phase to inform the server that congestion multiplexing is supported by itself, and the server is supported to send a CC TOKEN frame (corresponding to the congestion control TOKEN frame).
(2) When the server enters a PROBE _ BW stage at the current moment, the accumulated time of the link in the non-idle state at the current moment exceeds the preset time, or the current moment is the time specified by the preset congestion data sending period, the link congestion data (subsequently represented by CC TOKEN) obtained by the measurement of the local terminal can be sent to the terminal through the CC _ TOKEN frame.
The CC _ TOKEN frame itself may be congestion controlled, and may be set to be lost without retransmission during transmission. The format of the CC _ TOKEN frame may refer to the following data structure code:
Figure BDA0003663810230000221
the CC _ TOKEN frame may include the following fields:
type: representing the frame type. The frame type corresponding to the GQUIC protocol may be 0x20, and the frame type corresponding to the IQUIC protocol may be 0x60, so as to distinguish the frame types in the present disclosure related to the GQUIC protocol.
Token Length: is an integer value of a variable length, and is mainly used for specifying the length (in bytes) of the token. Wherein the maximum value thereof may be 512. It should be noted that the limitation of setting the maximum value is a constraint for safety. In practical implementation, the actual required space for congestion multiplexing is only 256 bytes, and 512 bytes are mainly selected for reserved part expansion.
Token: is a sequence of bytes corresponding to link congestion data. The TOKEN in the CC _ TOKEN frame cannot be empty, and if the TOKEN in the CC _ TOKEN frame sent by the server is empty, the terminal may determine that the connection is abnormal. Wherein, the exception type may be FRAME _ ENCODING _ ERROR. It should be noted that the terminal may receive multiple CC _ TOKEN frames on a link, update the TOKEN content cached locally after receiving the CC _ TOKEN frames, and return the TOKEN frame to the server with the latest TOKEN when creating a new link. In addition, if the client declares that the client does not support congestion multiplexing, the terminal receives a CC _ TOKEN frame from the server, and may determine that the connection is abnormal, and the type of the abnormality may be a PROTOCOL _ view.
It should be further noted that the frame TYPE may be a variable length field, and in the disclosure related to the QUIC protocol, the definition, value range, and value of the frame TYPE may refer to the following table 1:
TABLE 1
Figure BDA0003663810230000231
In addition, the frame content TOKEN in CC TOKEN may be composed of a version number and a series of key-value pairs. The version number is mainly used for identifying the Token format by the server. Each key in a key-value pair may occupy four bytes, less than four bytes, which may be filled by 0x00, while the length of the value may be determined by the particular key type. The content format of Token can be referred to the following table 2:
TABLE 2
VER NTYP STMP SRTT MRTT MCWD MFLG THPT PLR
Version number Network type Time stamp Smooth RTT Minimum RTT Maximum window Maximum in-transit data Throughput rate Packet loss rate
For specific key-value pairs, reference may be made to the following table 3:
TABLE 3
Figure BDA0003663810230000232
Figure BDA0003663810230000241
It should be noted that Token itself may not be encrypted, mainly because the quic message itself is encrypted and will not be parsed in the middle. Additionally, re-encrypting the internal Token frame is not significant and would increase extra CPU consumption. Finally, when the terminal establishes the link, if the abnormal Token content is carried due to deliberate modification, only the link congestion model corresponding to the link is changed, the transmission quality of the current transmission link is also influenced, and the server end cannot be attacked.
(3) When a link is established between the terminal and the server next time, if cc token is cached locally, transmitting a handshake request message including CCTK to the server by adding a data identification field CCTK in the handshake request message and carrying the cc token in the CCTK.
The CCRE and the CCTK may be carried in the end handshake message only, and may not be carried in the initial handshake message, mainly because the process of initializing the link congestion model by the server needs to be performed when the new link is successfully established.
(4) The server initializes the link congestion model based on the cc token to perform congestion control.
The embodiment of the present application further provides an application scenario, where the application scenario applies the congestion control method, and the application scenario is applied to an IQUIC protocol, and is exemplified by being applied to a terminal and a server. Specifically, the application of the congestion control method in the application scenario is as follows:
(1) The terminal transmits a parameter CC _ reuse (corresponding to a first transmission parameter) through a handshake message extension in the handshake phase with the server in order to inform the server itself of supporting congestion multiplexing and to support the server to transmit a CC _ TOKEN frame (corresponding to a congestion control TOKEN frame) in the handshake phase.
(2) When the server enters a PROBE _ BW stage at the current moment, the accumulated time of the link in the non-idle state at the current moment exceeds the preset time, or the current moment is the time specified by the preset congestion data sending period, the link congestion data (subsequently represented by CC TOKEN) obtained by the measurement of the local terminal can be sent to the terminal through the CC _ TOKEN frame.
(3) And when the terminal establishes a link with the server next time, if the cc token is locally cached, transmitting a handshake request message including a second transmission parameter to the server by expanding the second transmission parameter cc _ token in the handshake request message.
The first transmission parameter and the second transmission parameter may also be carried in the end handshake message, and may not be carried in the initial handshake message, mainly because the process of initializing the link congestion model by the server needs to be performed when the new link is successfully established. In addition, the format of the transmission parameters may refer to the following data structure code:
Figure BDA0003663810230000251
wherein the Transport Parameter ID of cc _ reuse may take 0x60, and the Transport Parameter ID of cc _tokenmay take 0x61.
(4) The server initializes the link congestion model based on the cc token to perform congestion control.
In addition, the QUIC service architecture can refer to FIG. 7 in connection with a practical application scenario. In fig. 7, "four layers" in the four-layer gateway a and the four-layer gateway B correspond to a fourth layer in OSI (Open System Interconnection Reference Model), that is, a transport layer. The "seven layers" in the seven-layer gateway a and the seven-layer gateway B correspond to a seventh layer in an OSI (Open System Interconnection Reference Model), that is, an application layer. The gateway mainly provides functions of 4-layer load balancing, external network access, multi-line access and the like.
The service configuration information a and the service configuration information B refer to server configuration parameters carried in a rejection message REJ returned by the server after the client sends a handshake message CHLO to the server. The leftmost "multi-cluster access" in fig. 7 means that the handshake messages sent by the client may be forwarded through multiple four-layer gateway clusters and multiple seven-layer gateway clusters. The middle "multi-machine access" in fig. 7 means that there may be a plurality of four-layer gateways in each four-layer gateway cluster, and there may be a plurality of seven-layer gateways in each seven-layer gateway cluster. The rightmost "multi-process access" in fig. 7 means that different working processes in each client can trigger handshake messages, and the handshake messages are forwarded through a four-layer gateway in a four-layer gateway cluster and a seven-layer gateway in a seven-layer gateway cluster, and finally, the handshake messages can respectively obtain service configuration information returned by a server.
It should be noted that the application scenarios described above are exemplary application scenarios for assisting understanding of the scheme of the present application, and are not used to limit the actual application scenarios of the present application. In addition, the scheme of the application can also be applied to various different service scenarios, for example, in the process of video data transmission between a terminal and a server, congestion control can be performed by the congestion control method of the application, specifically, a cloud conference scenario, a live broadcast scenario, an on-demand scenario, a video download scenario, and the like, which are not limited in the embodiment of the application.
It should be noted that the present application can be applied to all QUIC service related products, including but not limited to: QUIC client, QUIC server, QUIC reverse proxy server, QUIC load balancer, QUIC protocol offload component. By adopting the scheme, the QUIC server side can improve the transmission quality of the services such as downloading, video and the like, improve the customer experience, reduce the retransmission rate and save the bandwidth.
It should be understood that, although the steps in the flowcharts related to the embodiments are shown in sequence as indicated by the arrows, the steps are not necessarily executed in sequence as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least a part of the steps in the flowcharts related to the above embodiments may include multiple steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of performing the steps or stages is not necessarily sequential, but may be performed alternately or alternately with other steps or at least a part of the steps or stages in other steps.
Based on the same inventive concept, the embodiment of the present application further provides a congestion control device for implementing the congestion control method. The implementation scheme for solving the problem provided by the apparatus is similar to the implementation scheme described in the above method, so specific limitations in one or more embodiments of the congestion control apparatus provided below may refer to the limitations on the congestion control method in the foregoing, and details are not described here.
In some embodiments, as shown in fig. 8, there is provided a congestion control apparatus, which may be a part of a computer device using a software module or a hardware module, or a combination of the two modules, and specifically includes: a first sending module 802, a receiving module 804, a caching module 806, and a second sending module 808, wherein:
a first sending module 802, configured to send a first request message for establishing the first transmission link to the server, where the first request message is further used to indicate that congestion multiplexing is locally supported.
A receiving module 804, configured to receive, through the first transmission link, link congestion data fed back by the server under the condition that the first transmission link is established successfully.
A buffering module 806, configured to buffer the received link congestion data.
A second sending module 808, configured to send, to the server, a second request message for establishing a second transmission link based on the cached link congestion data, where the link congestion data carried in the second request message is used to instruct the server to perform congestion control in a process of performing service data transmission based on the second transmission link.
In some embodiments, the first sending module 802 is configured to determine a locally adapted target communication protocol; under the condition that the target communication protocol is the first communication protocol, adding a multiplexing identification field in a handshake request message for establishing a first transmission link; and filling a multiplexing label for indicating that the local support of congestion multiplexing is carried out in the multiplexing identification field to obtain a first request message, and sending the first request message to the server.
In some embodiments, the second sending module 808 is configured to add a data identification field in a handshake request message for establishing the second transmission link; and filling the link congestion data in the data identification field to obtain a second request message for establishing a second transmission link, and sending the second request message to the server.
In some embodiments, the first sending module 802 is configured to determine a locally adapted target communication protocol; under the condition that the current communication protocol is the second communication protocol, expanding transmission parameters in a handshake request message for establishing a first transmission link so as to increase first transmission parameters representing local support congestion multiplexing and obtain a first request message; a first request message for establishing a first transmission link is sent to a server.
In some embodiments, the second sending module 808 is configured to expand a transmission parameter in a handshake request message used to establish a second transmission link, so as to add the second transmission parameter to obtain the second request message, where the second transmission parameter carries link congestion data; a second request message for establishing a second transmission link is sent to the server.
In some embodiments, the receiving module 804 is further configured to determine that the first transmission link is abnormal and reestablish the transmission link with the server if the link congestion data is empty; and under the condition that the link congestion data is not empty, executing the step of buffering the received link congestion data.
In some embodiments, the second sending module 808 is configured to, in a case that multiple link congestion data are received, update link congestion data already stored in the local cache based on the latest received link congestion data; and sending a second request message for establishing a second transmission link to the server based on the link congestion data of the latest cache, wherein the second request message carries the link congestion data of the latest cache.
In some embodiments, the link congestion data comprises at least one of a smooth round trip delay, a minimum round trip delay, a maximum transmission window, a maximum amount of data in transit, a throughput rate, a packet loss rate, or a transmission network type.
For specific limitations of the congestion control device, reference may be made to the above limitations of the congestion control method, which is not described herein again. The various modules in the congestion control device described above may be implemented in whole or in part by software, hardware, and combinations thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
Based on the same inventive concept, the embodiment of the present application further provides a congestion control device for implementing the congestion control method. The implementation scheme for solving the problem provided by the apparatus is similar to the implementation scheme described in the above method, so specific limitations in one or more embodiments of the congestion control apparatus provided below may refer to the limitations in the above congestion control method, and details thereof are not described herein again.
In some embodiments, as shown in fig. 9, there is provided a congestion control apparatus, which may be a part of a computer device using a software module or a hardware module, or a combination of the two, and specifically includes: a first receiving module 902, a feedback module 904, a second receiving module 906, and a congestion control module 908, wherein:
a first receiving module 902, configured to receive a first request message sent by a terminal and used for establishing a first transmission link, where the first request message is further used for indicating that the terminal supports congestion multiplexing;
a feedback module 904, configured to feedback link congestion data to the terminal through the first transmission link when the first transmission link is successfully established;
a second receiving module 906, configured to receive a second request message sent by the terminal and used for establishing a second transmission link, where the second request message carries link congestion data;
the congestion control module 908 is configured to perform corresponding congestion control according to the link congestion data carried in the second request message in the process of performing service data transmission based on the second transmission link.
In some embodiments, the feedback module 904 is configured to perform service data transmission with the terminal through the first transmission link if the first transmission link is successfully established; and measuring link congestion data in the service data transmission process, and feeding back the link congestion data to the terminal through the first transmission link under the condition of meeting a preset stable condition.
In some embodiments, the preset stable condition comprises at least one of the following conditions: entering a bandwidth detection stage at the current moment; the accumulated data transmission time in the current service data transmission process reaches a preset time; the current time is the time specified by the preset congestion data transmission period.
In some embodiments, the feedback module 904 is configured to determine a target frame type based on a target communication protocol adapted to the terminal; determining a preset length threshold corresponding to the link congestion data; and constructing a congestion control token frame based on the target frame type, the preset length threshold and the link congestion data, and sending the congestion control token frame to the terminal through the first transmission link.
In some embodiments, the congestion control module 908 is configured to initialize a locally stored link congestion model based on link congestion data carried in the second request message in a process of performing service data transmission based on the second transmission link, and perform corresponding congestion control through the initialized link congestion model.
According to the congestion control device, the server sends the congestion data to the terminal after acquiring the congestion data of the link. The terminal stores the link congestion data, the subsequent terminal returns to the server when initiating a service data transmission request, and the server performs congestion control on the service data transmission process according to the link congestion data returned by the terminal. Since the link congestion data are not required to be stored by the server any more, but are respectively stored by the terminals, the situation that the local storage resource of the server is not enough to be stored can be avoided. In addition, since the link congestion data is not stored by the server, but stored by the terminal, in the clustered deployment architecture, different servers in the server cluster can use the link congestion data returned by the same terminal, so that accurate congestion control can be realized for each terminal. Therefore, on one hand, the storage resource waste caused by the fact that different servers need to store corresponding link congestion data for the same terminal can be reduced, on the other hand, the link congestion data of the same terminal can be effectively multiplexed among different servers, and the congestion control accuracy in the service data transmission process is greatly improved. In addition, because the link congestion data is not stored in the network segment unit any more, the information accuracy is higher, and the congestion processing accuracy is higher.
Finally, the link congestion data are not required to be stored by the central node server, but are respectively stored by the terminals, so that the increase of the system architecture cost caused by the increase of the central node server can be avoided. Meanwhile, the problem of single-point risk can be avoided, data safety can be guaranteed, and the overall stability of the system is high. In addition, when the server needs to perform congestion control, the server does not need to separately acquire the link congestion data of the corresponding terminal from the central node server, so that the network delay can be reduced.
For specific limitations of the congestion control device, reference may be made to the above limitations of the congestion control method, which is not described herein again. The various modules in the congestion control apparatus described above may be implemented in whole or in part by software, hardware, and combinations thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
In one embodiment, a computer device is provided, which may be a terminal or a server, and its internal structure diagram may be as shown in fig. 10. The computer device includes a processor, a memory, an Input/Output interface (I/O for short), and a communication interface. The processor, the memory and the input/output interface are connected through a system bus, and the communication interface is connected to the system bus through the input/output interface. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operating system and the computer program to run on the non-volatile storage medium. The database of the computer device is for storing link congestion data. The input/output interface of the computer device is used for exchanging information between the processor and an external device. The communication interface of the computer device is used for connecting and communicating with an external terminal through a network. The computer program is executed by a processor to implement a congestion control method.
It will be appreciated by those skilled in the art that the configuration shown in fig. 10 is a block diagram of only a portion of the configuration associated with the present application, and is not intended to limit the computing device to which the present application may be applied, and that a particular computing device may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, a computer device is further provided, which includes a memory and a processor, the memory stores a computer program, and the processor implements the steps of the above method embodiments when executing the computer program.
In an embodiment, a computer-readable storage medium is provided, in which a computer program is stored which, when being executed by a processor, carries out the steps of the above-mentioned method embodiments.
In an embodiment, a computer program product is provided, comprising a computer program which, when being executed by a processor, carries out the steps of the above-mentioned method embodiments.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, database, or other medium used in the embodiments provided herein may include at least one of non-volatile and volatile memory. The nonvolatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical Memory, high-density embedded nonvolatile Memory, resistive Random Access Memory (ReRAM), magnetic Random Access Memory (MRAM), ferroelectric Random Access Memory (FRAM), phase Change Memory (PCM), graphene Memory, and the like. Volatile Memory can include Random Access Memory (RAM), external cache Memory, and the like. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM), among others. The databases referred to in various embodiments provided herein may include at least one of relational and non-relational databases. The non-relational database may include, but is not limited to, a block chain based distributed database, and the like. The processors referred to in the various embodiments provided herein may be, without limitation, general purpose processors, central processing units, graphics processors, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, or the like. The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, and these are all within the scope of protection of the present application. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (18)

1. A method of congestion control, the method comprising:
sending a first request message for establishing a first transmission link to a server, the first request message further indicating that congestion multiplexing is locally supported;
receiving link congestion data fed back by the server through the first transmission link under the condition that the first transmission link is successfully established;
caching the received link congestion data;
and sending a second request message for establishing a second transmission link to the server based on the cached link congestion data, wherein the link congestion data carried in the second request message is used for indicating the server to carry out congestion control in the process of carrying out service data transmission based on the second transmission link.
2. The method of claim 1, wherein sending a first request message to a server for establishing a first transmission link comprises:
determining a locally adapted target communication protocol;
adding a multiplexing identification field in a handshake request message for establishing a first transmission link under the condition that the target communication protocol is a first communication protocol;
and filling a multiplexing label used for indicating that the local support congestion multiplexing is carried out in the multiplexing identification field to obtain a first request message, and sending the first request message to a server.
3. The method of claim 2, wherein sending a second request message to the server for establishing a second transport link based on the buffered link congestion data comprises:
adding a data identification field in a handshake request message for establishing a second transmission link;
and filling the link congestion data in the data identification field to obtain a second request message for establishing a second transmission link, and sending the second request message to the server.
4. The method of claim 1, wherein sending a first request message to a server for establishing a first transmission link comprises:
determining a locally adapted target communication protocol;
under the condition that the current communication protocol is a second communication protocol, expanding transmission parameters in a handshake request message for establishing a first transmission link to increase first transmission parameters representing local support congestion multiplexing to obtain a first request message;
a first request message for establishing a first transmission link is sent to a server.
5. The method of claim 4, wherein sending a second request message to the server for establishing a second transport link based on the buffered link congestion data comprises:
expanding transmission parameters in a handshake request message for establishing a second transmission link to increase the second transmission parameters to obtain a second request message, wherein the second transmission parameters carry the link congestion data;
sending a second request message to the server for establishing a second transmission link.
6. The method of claim 1, wherein after receiving the link congestion data fed back by the server via the first transmission link, the method further comprises:
under the condition that the link congestion data is empty, determining that the first transmission link is abnormal, and reestablishing a transmission link with the server;
and if the link congestion data is not empty, performing the step of buffering the received link congestion data.
7. The method of claim 1, wherein sending a second request message to the server for establishing a second transport link based on the buffered link congestion data comprises:
in the case where a plurality of link congestion data are received, updating the link congestion data stored in the local cache based on the newly received link congestion data;
and sending a second request message for establishing a second transmission link to the server based on the link congestion data of the latest cache, wherein the second request message carries the link congestion data of the latest cache.
8. The method of any of claims 1 to 7, wherein the link congestion data comprises at least one of a smooth round trip delay, a minimum round trip delay, a maximum transmission window, a maximum amount of data in transit, a throughput rate, a packet loss rate, or a type of transmission network.
9. A method of congestion control, the method comprising:
receiving a first request message sent by a terminal and used for establishing a first transmission link, wherein the first request message is also used for indicating that the terminal supports congestion multiplexing;
under the condition that the first transmission link is successfully established, feeding back link congestion data to the terminal through the first transmission link;
receiving a second request message sent by the terminal and used for establishing a second transmission link, wherein the second request message carries the link congestion data;
and in the process of transmitting the service data based on the second transmission link, performing corresponding congestion control according to the link congestion data carried in the second request message.
10. The method according to claim 9, wherein said feeding back link congestion data to the terminal via the first transmission link in case of successful establishment of the first transmission link comprises:
under the condition that the first transmission link is successfully established, transmitting service data between the first transmission link and the terminal;
and measuring link congestion data in the process of transmitting service data, and feeding back the link congestion data to the terminal through the first transmission link under the condition of meeting a preset stable condition.
11. The method of claim 10, wherein the preset stable condition comprises at least one of the following conditions:
entering a bandwidth detection stage at the current moment;
the accumulated data transmission time in the current service data transmission process reaches a preset time;
the current time is the time specified by the preset congestion data transmission period.
12. The method of claim 9, wherein feeding back link congestion data to the terminal via the first transmission link comprises:
determining a target frame type based on a target communication protocol adapted to the terminal;
determining a preset length threshold corresponding to the link congestion data;
and constructing a congestion control token frame based on the target frame type, the preset length threshold and the link congestion data, and sending the congestion control token frame to the terminal through the first transmission link.
13. The method according to any one of claims 9 to 12, wherein performing corresponding congestion control according to the link congestion data carried in the second request message during the process of performing service data transmission based on the second transmission link comprises:
and initializing a locally stored link congestion model based on the link congestion data carried in the second request message in the process of transmitting service data based on the second transmission link, and performing corresponding congestion control through the initialized link congestion model.
14. A congestion control apparatus, characterized in that the apparatus comprises:
a first sending module, configured to send a first request message for establishing a first transmission link to a server, where the first request message is further used to indicate that congestion multiplexing is locally supported;
a receiving module, configured to receive, through the first transmission link, link congestion data fed back by the server under a condition that the first transmission link is successfully established;
the buffer module is used for buffering the received link congestion data;
a second sending module, configured to send, to the server, a second request message for establishing a second transmission link based on the cached link congestion data, where the link congestion data carried in the second request message is used to instruct the server to perform congestion control in a process of performing service data transmission based on the second transmission link.
15. A congestion control apparatus, characterized in that the apparatus comprises:
a first receiving module, configured to receive a first request message sent by a terminal and used to establish a first transmission link, where the first request message is further used to indicate that the terminal supports congestion multiplexing;
a feedback module, configured to feed back link congestion data to the terminal through the first transmission link when the first transmission link is successfully established;
a second receiving module, configured to receive a second request message sent by the terminal and used for establishing a second transmission link, where the second request message carries the link congestion data;
and the congestion control module is used for performing corresponding congestion control according to the link congestion data carried in the second request message in the process of performing service data transmission based on the second transmission link.
16. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the processor realizes the steps of the method of any one of claims 1 to 13 when executing the computer program.
17. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 13.
18. A computer program product comprising a computer program, characterized in that the computer program realizes the steps of the method of any one of claims 1 to 13 when executed by a processor.
CN202210581213.2A 2022-05-26 2022-05-26 Congestion control method, congestion control device, computer equipment and storage medium Active CN115150333B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210581213.2A CN115150333B (en) 2022-05-26 2022-05-26 Congestion control method, congestion control device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210581213.2A CN115150333B (en) 2022-05-26 2022-05-26 Congestion control method, congestion control device, computer equipment and storage medium

Publications (2)

Publication Number Publication Date
CN115150333A true CN115150333A (en) 2022-10-04
CN115150333B CN115150333B (en) 2024-02-09

Family

ID=83406961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210581213.2A Active CN115150333B (en) 2022-05-26 2022-05-26 Congestion control method, congestion control device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115150333B (en)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917806A (en) * 1996-12-17 1999-06-29 Motorola, Inc. Method and apparatus for adaptively balancing communication traffic in a radio communication system to control congestion
US6711133B1 (en) * 1999-05-12 2004-03-23 Nec Corporation Method for controlling congestion in ATM switching system
US20090303875A1 (en) * 2008-06-04 2009-12-10 Kenji Matsumura Congestion control system, call session control device, border gateway device, and congestion control method used therefor
CN102165740A (en) * 2008-09-26 2011-08-24 艾利森电话股份有限公司 Congestion control method and devices
CN104052678A (en) * 2013-03-15 2014-09-17 国际商业机器公司 Source-driven switch probing method and system with feedback request
CN104255054A (en) * 2013-04-11 2014-12-31 华为技术有限公司 Method and device for congestion control
CN108667739A (en) * 2017-03-27 2018-10-16 华为技术有限公司 Jamming control method, apparatus and system
CN110290428A (en) * 2019-06-26 2019-09-27 腾讯科技(深圳)有限公司 A kind of jamming control method, device, terminal and storage medium
US20190379604A1 (en) * 2018-06-12 2019-12-12 Verizon Patent And Licensing Inc. Communication of congestion information to end devices
CN110622555A (en) * 2017-05-12 2019-12-27 瑞典爱立信有限公司 Enabling communication of wireless devices in a wireless communication network
CN111049833A (en) * 2019-12-13 2020-04-21 北京东土科技股份有限公司 Port multiplexing control method, device, server and storage medium
CN112512080A (en) * 2020-10-22 2021-03-16 中兴通讯股份有限公司 Flow control method, device, equipment and storage medium, link state notification method, device and equipment
CN114189477A (en) * 2021-10-22 2022-03-15 新华三大数据技术有限公司 Message congestion control method and device

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917806A (en) * 1996-12-17 1999-06-29 Motorola, Inc. Method and apparatus for adaptively balancing communication traffic in a radio communication system to control congestion
US6711133B1 (en) * 1999-05-12 2004-03-23 Nec Corporation Method for controlling congestion in ATM switching system
US20090303875A1 (en) * 2008-06-04 2009-12-10 Kenji Matsumura Congestion control system, call session control device, border gateway device, and congestion control method used therefor
CN102165740A (en) * 2008-09-26 2011-08-24 艾利森电话股份有限公司 Congestion control method and devices
CN104052678A (en) * 2013-03-15 2014-09-17 国际商业机器公司 Source-driven switch probing method and system with feedback request
CN104255054A (en) * 2013-04-11 2014-12-31 华为技术有限公司 Method and device for congestion control
CN108667739A (en) * 2017-03-27 2018-10-16 华为技术有限公司 Jamming control method, apparatus and system
CN110622555A (en) * 2017-05-12 2019-12-27 瑞典爱立信有限公司 Enabling communication of wireless devices in a wireless communication network
US20190379604A1 (en) * 2018-06-12 2019-12-12 Verizon Patent And Licensing Inc. Communication of congestion information to end devices
CN110290428A (en) * 2019-06-26 2019-09-27 腾讯科技(深圳)有限公司 A kind of jamming control method, device, terminal and storage medium
CN111049833A (en) * 2019-12-13 2020-04-21 北京东土科技股份有限公司 Port multiplexing control method, device, server and storage medium
CN112512080A (en) * 2020-10-22 2021-03-16 中兴通讯股份有限公司 Flow control method, device, equipment and storage medium, link state notification method, device and equipment
CN114189477A (en) * 2021-10-22 2022-03-15 新华三大数据技术有限公司 Message congestion control method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SERGI RENE等: "A Congestion Control Framework Based on In-Network Resource Pooling", IEEE/ACM TRANSACTIONS ON NETWORKING, vol. 30, no. 2, pages 683 - 696 *

Also Published As

Publication number Publication date
CN115150333B (en) 2024-02-09

Similar Documents

Publication Publication Date Title
US9578081B2 (en) System and method for providing an actively invalidated client-side network resource cache
US9584380B2 (en) Method and system for detecting slow page load
CN108200165B (en) Request Transmission system, method, apparatus and storage medium
Bender et al. Open-source mqtt evaluation
US8019899B2 (en) Delivering partially processed results based on system metrics in network content delivery systems
Thantharate et al. Coap and mqtt based models to deliver software and security updates to iot devices over the air
US9332090B1 (en) Communication data padding
WO2017101366A1 (en) Cdn service node scheduling method and server
US20090316581A1 (en) Methods, Systems and Computer Program Products for Dynamic Selection and Switching of TCP Congestion Control Algorithms Over a TCP Connection
JP2015130199A (en) Enterprise client-server system and methods for providing web application support through distributed emulation of websocket communications
US10171610B2 (en) Web caching method and system for content distribution network
CN113259479B (en) Data processing method and equipment
CN116633934A (en) Load balancing method, device, node and storage medium
US20120198079A1 (en) Parallel transmissions over http connections
CN115150333B (en) Congestion control method, congestion control device, computer equipment and storage medium
US20150134783A1 (en) Providing data to a network terminal
CN113254097A (en) Configuration information issuing method and device, electronic equipment and storage medium
Byun et al. A real-time message delivery method of publish/subscribe model in distributed cloud environment
CN113703815B (en) Offline resource updating method, device, terminal and storage medium
US20130007369A1 (en) Transparent Cache for Mobile Users
CN116938598B (en) Information transmission method, apparatus, electronic device, and computer-readable medium
CN111953804B (en) Network data transmission method, device, medium and electronic equipment
CN117223274A (en) Method and system for managing multipath communication
US20230208913A1 (en) In-order streaming in-network computation
CN107493239A (en) UDP message forwarding methods, equipment and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40075322

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant