A service flow transmission method, a first node, a control device, a storage medium, and a computer program product.
By controlling the device to determine the communication rate and congestion window size for service flow transmission in a complex wide area network environment, the problem of insufficient bandwidth matching of traditional TCP in complex wide area network environments is solved, and efficient service flow transmission is achieved.
Patent Information
- Application Number
- CN202410823250.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-24
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2044-06-24
AI Technical Summary
Traditional TCP congestion control mechanisms cannot effectively match the bandwidth requirements of service flows in complex wide area network environments, leading to a decrease in transmission efficiency.
The control device receives the request information from the first node, determines the first communication rate and/or congestion window size for service flow transmission, and sends it to the first node so that it can transmit the service flow based on the information.
It improves the transmission efficiency of service flow and ensures a high throughput.
Smart Images

Figure CN118802784B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of transmission and bearer technology, and in particular to a service flow transmission method, a first node, a control device, a storage medium, and a computer program product. Background Technology
[0002] With the emergence of new internet scenarios such as high-definition video, cloud computing, big data, artificial intelligence, and large-scale models, users frequently need to transmit large amounts of data over wide area networks (WANs). The WAN environment is fraught with uncertainty; micro-burst congestion and operator traffic shaping strategies can lead to packet loss rates as high as one in a thousand over long distances. Communication rates based on the Transmission Control Protocol (TCP) are typically tens of kb to several megabits per second (Mbps). Higher communication rates are generally achieved through multi-stream concurrency, with typical rates ranging from several hundred megabits per second (Mbps) to several gigabits per second (Gb).
[0003] However, in data express delivery services, the number of data streams in the network is relatively small, but the bandwidth requirement per stream is large. Traditional TCP traffic models are no longer suitable, necessitating improvements to traditional congestion control mechanisms. Current congestion control algorithms can assess network conditions by sending network probe and / or acknowledgment messages to adapt to the needs of data express delivery services. However, these algorithms are only suitable for certain simple network scenarios. In complex wide area network (WAN) environments that span multiple domains, the matched bandwidth may be misjudged, leading to decreased transmission efficiency of the service stream. Therefore, there is an urgent need to propose a service stream transmission method suitable for complex WAN environments. Summary of the Invention
[0004] This application provides a service flow transmission method, a first node, a control device, a storage medium, and a computer program product that can perform service flow transmission in a complex wide area network environment, thereby improving the transmission efficiency of service flow transmission.
[0005] The technical solution of this application embodiment is implemented as follows:
[0006] In a first aspect, embodiments of this application provide a service flow transmission method, the method being applied to a control device, the method comprising:
[0007] Receive request information sent by a first node; wherein, the request information includes one or more of the identity information corresponding to the first node, the identity information corresponding to the second node, and the desired rate value, the first node includes the source node of the service flow transmission, and the second node includes the destination node of the service flow transmission;
[0008] The first information for the service flow transmission is determined based on the request information; wherein the first information includes at least a first transmission parameter, the first transmission parameter including a first communication rate, and / or a first congestion window size;
[0009] The first information is sent to the first node so that the first node can transmit the service flow based on the first information.
[0010] Secondly, embodiments of this application provide a service flow transmission method, the method being applied to a first node, the method comprising:
[0011] Send a request message to the control device; wherein the request message includes one or more of the following: the identity information corresponding to the first node, the identity information corresponding to the second node, and the desired rate value;
[0012] Receive first information sent by the control device; wherein the first information includes at least a first transmission parameter, the first transmission parameter including a first communication rate, and / or a first congestion window size;
[0013] The service flow is transmitted based on the first information.
[0014] Thirdly, embodiments of this application provide a control device, which includes: a first receiving unit, a determining unit, and a first transmitting unit; wherein,
[0015] The first receiving unit is configured to receive request information sent by the first node; wherein the request information includes one or more of the identity information corresponding to the first node, the identity information corresponding to the second node, and the desired rate value, the first node includes the source node of the service flow transmission, and the second node includes the destination node of the service flow transmission;
[0016] The determining unit is configured to determine first information of the service flow transmission based on the request information; wherein the first information includes at least a first transmission parameter, the first transmission parameter including a first communication rate, and / or a first congestion window size;
[0017] The first sending unit is configured to send the first information to the first node, so that the first node can transmit the service flow based on the first information.
[0018] Fourthly, embodiments of this application provide a control device, the control device comprising: a first processor and a first memory; wherein,
[0019] The first memory is used to store computer programs that can run on the processor;
[0020] The first processor is configured to execute the service flow transmission method as described above when running the computer program.
[0021] Fifthly, embodiments of this application provide a first node, which includes: a second transmitting unit, a second receiving unit, and a transmitting unit; wherein,
[0022] The second sending unit is used to send request information to the control device; wherein, the request information includes one or more of the identity information corresponding to the first node, the identity information corresponding to the second node, and the desired rate value;
[0023] The second receiving unit is configured to receive first information sent by the control device; wherein the first information includes at least a first transmission parameter, the first transmission parameter including a first communication rate, and / or a first congestion window size;
[0024] The transmission unit is used to transmit the service stream based on the first information.
[0025] Sixthly, embodiments of this application provide a first node, the first node comprising: a second processor and a second memory; wherein,
[0026] The second memory is used to store computer programs that can run on the processor;
[0027] The second processor is configured to execute the service flow transmission method as described above when running the computer program.
[0028] In a seventh aspect, embodiments of this application provide a computer-readable storage medium storing computer program code, which, when executed by a computer, implements the service flow transmission method described above.
[0029] Eighthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the service flow transmission method described above.
[0030] This application provides a service flow transmission method, a first node, a control device, a storage medium, and a computer program product. The control device receives request information sent by the first node; wherein the request information includes one or more of the following: identity information corresponding to the first node, identity information corresponding to the second node, and a desired rate value. The first node includes a source node for service flow transmission, and the second node includes a destination node for service flow transmission. Based on the request information, the control device determines first information for service flow transmission; wherein the first information includes at least first transmission parameters, including a first communication rate and / or a first congestion window size. The control device sends the first information to the first node so that the first node transmits the service flow based on the first information. The first node sends request information to the control device; wherein the request information includes one or more of the following: identity information corresponding to the first node, identity information corresponding to the second node, and a desired rate value. The control device then transmits the service flow based on the first information. Therefore, after receiving the request information sent by the first node, the control device can determine the first communication rate and / or the first congestion window size for the service flow transmission based on the request information. Then, it can send the first communication rate and / or the first congestion window size to the first node so that the first node can transmit the service flow based on the first communication rate and / or the first congestion window size. That is, the embodiments of this application can directly determine the first communication rate and / or the first congestion window size based on the request information, so that the first communication rate and / or the first congestion window size obtained by the first node are more accurate, thereby ensuring higher throughput and improving the transmission efficiency of the service flow. Attached Figure Description
[0031] Figure 1 A schematic diagram of the TCP CC algorithm;
[0032] Figure 2 This is a schematic diagram of the service flow transmission method proposed in the embodiments of this application. Figure 1 ;
[0033] Figure 3 This is a schematic diagram of the first node proposed in an embodiment of this application;
[0034] Figure 4 This is a schematic diagram of the service flow transmission method proposed in the embodiments of this application. Figure 2 ;
[0035] Figure 5 This is a schematic diagram of the service flow transmission method proposed in the embodiments of this application. Figure 3 ;
[0036] Figure 6 This is a schematic diagram of the service flow transmission method proposed in the embodiments of this application. Figure 4 ;
[0037] Figure 7 This is a schematic diagram of the service flow transmission method proposed in the embodiments of this application. Figure 5 ;
[0038] Figure 8 This is a schematic diagram of the service flow transmission method proposed in the embodiments of this application. Figure 6 ;
[0039] Figure 9 This is a schematic diagram of the service flow transmission method proposed in the embodiments of this application. Figure 7 ;
[0040] Figure 10 This is a schematic diagram of the data express network architecture proposed in an embodiment of this application;
[0041] Figure 11 This is a schematic diagram of the data delivery service framework proposed in an embodiment of this application;
[0042] Figure 12 This is a schematic diagram of the composition structure of the control device proposed in the embodiments of this application. Figure 1 ;
[0043] Figure 13 This is a schematic diagram of the composition structure of the control device proposed in the embodiments of this application. Figure 2 ;
[0044] Figure 14 A schematic diagram of the composition structure of the first node proposed in the embodiments of this application. Figure 1 ;
[0045] Figure 15 A schematic diagram of the composition structure of the first node proposed in the embodiments of this application. Figure 2 . Detailed Implementation
[0046] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only for explaining the relevant application and not for limiting the application. Furthermore, it should be noted that, for ease of description, only the parts related to the relevant application are shown in the accompanying drawings.
[0047] With the emergence of new internet scenarios such as high-definition video, cloud computing, big data, artificial intelligence, and large-scale models, users frequently need to transmit large amounts of data over wide area networks (WANs). The WAN environment is inherently unpredictable; micro-burst congestion and operator traffic shaping strategies can lead to packet loss rates as high as one in a thousand over long distances. In WANs, TCP communication rates typically range from tens of kb to several megabits per second (Mbps), with higher rates generally achieved through multi-stream concurrency, typically ranging from several hundred megabits per second (Mbps) to several gigabits per second (Gb). In data express services, the number of data streams in the network is relatively small, but the bandwidth demand per stream is significant. Traditional TCP traffic models are no longer suitable, necessitating improvements or the design of new congestion control mechanisms.
[0048] TCP's congestion control (CC) algorithm generally increases congestion additively and decreases it multiplicatively. Figure 1 A diagram illustrating the TCP CC algorithm, as shown below. Figure 1 As shown, initially, bandwidth probing (slow start) is performed, and the window is increased exponentially. After reaching a threshold, it increases additively. If a packet transmission times out (timeout retransmission), or if three consecutive duplicate ACKs are received (the trigger condition for fast retransmission), fast retransmission is triggered, and the congestion window (cwnd) is reset. In the fast recovery mechanism, after receiving three duplicate ACKs and confirming that the packet is lost, slow start is skipped (where cwnd=1, causing the rate to drop too much), and the window (reno and newreno) is reduced by about half.
[0049] Currently, the TCP CC mechanism is more suitable for small flows: traditional Internet user traffic is relatively small, mostly small flows, such as those at the K or M level, which can meet users' internet access needs. Backbone network link bandwidth is around 100G, and multi-stream (e.g., millions of streams) statistical multiplexing can effectively utilize network bandwidth. However, during large-scale transmission, packet loss and the end-side proportional rate reduction mechanism will cause significant fluctuations and waste of network bandwidth. Bottleneck Bandwidth and Round-Trip Time (BBR) algorithms detect bottleneck bandwidth on the link, and their delay-based flow control can better match the needs of fast data transmission. However, they are difficult to adapt to complex WAN environments, which span multiple domains, and the matched bandwidth may be misjudged, leading to a decrease in the transmission efficiency of fast data traffic. Therefore, there is an urgent need to propose a data transmission method suitable for complex WAN environments.
[0050] To address the current limitations in adapting to complex wide area network (WAN) environments and the resulting decrease in service flow transmission efficiency, this application provides a service flow transmission method, a first node, a control device, a storage medium, and a computer program product. The control device receives request information from the first node; the request information includes one or more of the following: identity information corresponding to the first node, identity information corresponding to the second node, and a desired rate value. The first node includes a source node for the service flow transmission, and the second node includes a destination node for the service flow transmission. Based on the request information, the control device determines first information for the service flow transmission; the first information includes at least first transmission parameters, including a first communication rate and / or a first congestion window size. The control device sends the first information to the first node, enabling the first node to transmit the service flow based on the first information. The first node sends request information to the control device; the request information includes one or more of the following: identity information corresponding to the first node, identity information corresponding to the second node, and a desired rate value. The control device then transmits the service flow based on the first information. Therefore, after receiving the request information sent by the first node, the control device can determine the first communication rate and / or the first congestion window size for the service flow transmission based on the request information. Then, it can send the first communication rate and / or the first congestion window size to the first node so that the first node can transmit the service flow based on the first communication rate and / or the first congestion window size. That is, the embodiments of this application can directly determine the first communication rate and / or the first congestion window size based on the request information, so that the first communication rate and / or the first congestion window size obtained by the first node are more accurate, thereby ensuring higher throughput and improving the transmission efficiency of the service flow.
[0051] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.
[0052] Example 1
[0053] This application provides a service stream transmission method, which is applied to a control device. Figure 2 This is a schematic diagram of the service flow transmission method proposed in the embodiments of this application. Figure 1 ,like Figure 2 As shown, the service flow transmission method may include the following steps:
[0054] Step 101: Receive request information sent by the first node; wherein, the request information includes one or more of the identity information corresponding to the first node, the identity information corresponding to the second node, and the expected rate value, the first node includes the source node of the service flow transmission, and the second node includes the destination node of the service flow transmission.
[0055] In embodiments of this application, the control device may receive request information sent by the first node.
[0056] It should be noted that, in the embodiments of this application, the control device may include a service controller in the data express service network, and may also include a gateway device, which may deploy a service control module. This application does not specifically limit the type of control device.
[0057] It should be noted that, in the embodiments of this application, the first node may include the source node for service flow transmission. Figure 3 This is a schematic diagram of the first node proposed in an embodiment of this application, as shown below. Figure 3 As shown, the first node can be any data delivery node, which can be connected to an external gateway (such as a CE router). PE represents the carrier edge. This application does not specifically limit the type and number of the first node.
[0058] It should be noted that, in the embodiments of this application, the request information may include one or more of the identity information corresponding to the first node, the identity information corresponding to the second node, and the expected rate value. This application does not specifically limit the number and type of information included in the request information.
[0059] It should be noted that, in the embodiments of this application, the identity information corresponding to the first node may include the address information corresponding to the first node. This application does not specifically limit the type and quantity of information contained in the identity information corresponding to the first node.
[0060] It should be noted that, in the embodiments of this application, the identity information corresponding to the second node may include the address information corresponding to the second node. This application does not specifically limit the type and quantity of information contained in the identity information corresponding to the second node.
[0061] Step 102: Determine the first information for the service flow transmission based on the request information; wherein the first information includes at least the first transmission parameters, the first transmission parameters including the first communication rate, and / or the first congestion window size.
[0062] In the embodiments of this application, after receiving the request information sent by the first node, the control device can determine the first information of the service flow transmission based on the request information.
[0063] It should be noted that, in the embodiments of this application, the first information includes at least the first transmission parameter, and may also include other parameters. This application does not specifically limit the number and type of parameters included in the first information.
[0064] It should be noted that, in the embodiments of this application, the control device may determine the first communication rate based on the request information and the average rate of service flow transmission within a historical time period; or, it may determine the first communication rate based on the request information, the outgoing bandwidth corresponding to the first node, and the incoming bandwidth corresponding to the second node.
[0065] It should be noted that, in the embodiments of this application, when the control device determines the first communication rate based on the request information, the egress bandwidth corresponding to the first node, and the ingress bandwidth corresponding to the second node, it can determine the first communication rate based on the request information, the first egress bandwidth corresponding to the first node, the first ingress bandwidth corresponding to the second node, the number of first egress service flows corresponding to the first node, and the number of first ingress service flows corresponding to the second node; or, it can determine the first communication rate based on the request information, the second egress bandwidth corresponding to the first node, the second ingress bandwidth corresponding to the second node, the number of second egress service flows corresponding to the first node, and the number of second ingress service flows corresponding to the second node; wherein, the first egress bandwidth and the second egress bandwidth are different in size, and the first ingress bandwidth and the second ingress bandwidth are different in size.
[0066] It should be noted that, in the embodiments of this application, Figure 4 This is a schematic diagram of the service flow transmission method proposed in the embodiments of this application. Figure 2 ,like Figure 4 As shown, assuming the control device is a service controller in the data express service network, it can monitor all CE nodes connected to the data express nodes, thereby analyzing the available outgoing and incoming bandwidth of the data express nodes. For example, after receiving the request information sent by the first node, the control device can determine the first communication rate in different ways. It can determine the first communication rate based on the request information and the average rate of service flow transmission within a historical time period; or, it can determine the first communication rate based on the request information, the first outgoing bandwidth corresponding to the first node, the first incoming bandwidth corresponding to the second node, the number of first outgoing service flows corresponding to the first node, and the number of first incoming service flows corresponding to the second node; or, it can determine the first communication rate based on the request information, the second outgoing bandwidth corresponding to the first node, the second incoming bandwidth corresponding to the second node, the number of second outgoing service flows corresponding to the first node, and the number of second incoming service flows corresponding to the second node.
[0067] It should be noted that, in the embodiments of this application, as... Figure 4 As shown, the second node includes the destination node for business flow transmission. The second node can be any data delivery node, and this application does not specifically limit the type of the second node.
[0068] It should be noted that, in the embodiments of this application, the first egress bandwidth corresponding to the first node can be the available egress bandwidth corresponding to the source node of the service flow transmission, and this application does not specifically limit the value of the first egress bandwidth.
[0069] It should be noted that, in the embodiments of this application, the first ingress bandwidth corresponding to the second node can be the available ingress bandwidth corresponding to the destination node of the service flow transmission, and this application does not specifically limit the value of the first ingress bandwidth.
[0070] It should be noted that, in the embodiments of this application, the second egress bandwidth corresponding to the first node can be the bandwidth allocated according to a preset ratio of the total egress bandwidth corresponding to the source node. For example, 60% of the total egress bandwidth corresponding to the source node can be used as the second egress bandwidth. This application does not specifically limit the size of the preset ratio and the value of the second egress bandwidth.
[0071] It should be noted that, in the embodiments of this application, the second ingress bandwidth corresponding to the second node can be the bandwidth allocated to the total ingress bandwidth of the destination node according to a preset ratio. For example, 70% of the total ingress bandwidth corresponding to the destination node can be used as the second ingress bandwidth. This application does not specifically limit the value of the second ingress bandwidth.
[0072] It should be noted that, in the embodiments of this application, when the control device determines the first communication rate based on the request information, it can also determine the first communication rate based on the stepwise nature of the number of requests, for example, by pre-setting several suggested rate levels, and adjusting the rate when the number of active sessions exceeds a threshold.
[0073] For example, in the embodiments of this application, assuming that the bandwidth of the outbound router (e.g., CE router) connected to the express node is 10G, then N suggested rates can be set based on the number of data express service flows, where N is a positive integer. If the number of service flows is less than or equal to 10, then each flow can be allocated 1G; if the number of service flows is less than or equal to 5, then each flow can be allocated 2G; and if the number of service flows is less than or equal to 2, then each flow can be allocated 5G. Thus, the first communication rate can be determined by matching the different request flow sizes with the set N suggested rates. That is, the embodiments of this application can determine the first communication rate based on the tiered nature corresponding to the number of flows and the set N suggested rates.
[0074] Furthermore, in the embodiments of this application, Figure 5 This is a schematic diagram of the service flow transmission method proposed in the embodiments of this application. Figure 3 ,like Figure 5As shown, assuming the control device is the gateway device (e.g., CE router) connected to the data express node, the gateway device can deploy a service control module, thereby enabling the monitoring of the respective CE nodes based on multiple distributed service control modules, and further enabling the analysis of the available outgoing bandwidth and available incoming bandwidth of each data express node.
[0075] It should be noted that, in the embodiments of this application, it is assumed that the control device is the gateway device (e.g., CE router) connected to the data express node. After receiving the request information sent by the first node, the control device can determine the first communication rate based on the request information, the first egress bandwidth corresponding to the first node, and the number of first egress service flows corresponding to the first node.
[0076] It should be noted that, in the embodiments of this application, the first node may be a data courier node connected to the gateway device. This node can be determined by the identity information of the first node in the request information. This application does not specifically limit the type of the first node.
[0077] For example, in an embodiment of this application, the service control module in the gateway device can determine the first communication rate based on the expected rate value in the request information, the available bandwidth of the first node's egress, and the number of first egress service flows corresponding to the first node.
[0078] It should be noted that, in the embodiments of this application, assuming that the control device is the gateway device (e.g., CE router) connected to the data express node, after receiving the request information sent by the first node, the control device can also determine the first communication rate based on the stepwise nature of the number of requests, for example, by pre-setting several suggested rate levels, and adjusting the rate when the number of active sessions exceeds the threshold.
[0079] In other words, in the embodiments of this application, the control device can be a service controller in the data express service network, or it can be a gateway device. The gateway device can deploy a service control module. When the control device is a service controller, it can monitor all CE nodes connected to the data express nodes, thereby analyzing the available outgoing bandwidth and ingoing bandwidth of the data express nodes. When the control device is a gateway device (e.g., a CE router) connected to the data express nodes, the gateway device can deploy a service control module, thereby monitoring the CE nodes where each of the multiple distributed service control modules is located, and further analyzing the available outgoing bandwidth and ingoing bandwidth of each data express node. This allows the control device to determine the first communication rate based on the request information sent by the first node and different bandwidth information after receiving the request information. In other words, the embodiments of this application do not require network probing and can directly calculate the recommended first communication rate, thus directly allocating a portion of bandwidth for data express services, avoiding the problems in network probing, and greatly improving the efficiency of service flow transmission.
[0080] Step 103: Send the first information to the first node so that the first node can transmit the service flow based on the first information.
[0081] In the embodiments of this application, after the control device determines the first information for service flow transmission based on the request information, it can send the first information to the first node so that the first node can transmit the service flow based on the first information.
[0082] It should be noted that, in the embodiments of this application, the control device can send the first information to the first node, and can also send round-trip time (RTT) information, and / or packet loss rate information, etc. This application does not specifically limit the amount and type of information sent by the control device to the first node.
[0083] It should be noted that, in the embodiments described in the application, Figure 6 This is a schematic diagram of the service flow transmission method proposed in the embodiments of this application. Figure 4 ,like Figure 6 As shown, assuming the control device is a service controller in the data express service network, after sending the first information to the first node, i.e., after step 103, the control device may further include the following steps:
[0084] Step 104: Monitor the second information corresponding to the first egress bandwidth and the third information corresponding to the first ingress bandwidth; wherein, the second information is used to characterize the status information of the concurrent data stream of the first egress, and the third information is used to characterize the status information of the concurrent data stream of the first ingress.
[0085] In other words, in the embodiments of this application, the control device can monitor the status information of the concurrent data stream of the first exit corresponding to the first node and the status information of the concurrent data stream of the first entry corresponding to the second node. For example, it can monitor the status information of the concurrent data stream of the source data express node exit and the status information of the concurrent data stream of the destination data express node entry.
[0086] It should be noted that, in the embodiments of this application, the status information of concurrent data streams may include the quantity information of concurrent data streams, such as the increase or decrease in quantity. This application does not specifically limit the type and quantity of information included in the status information of concurrent data streams.
[0087] Step 105: If the second information satisfies the first preset condition, adjust the first communication rate based on the second information to obtain the second communication rate; and / or, if the third information satisfies the first preset condition, adjust the first communication rate based on the third information to obtain the second communication rate.
[0088] For example, in the embodiments of this application, it is assumed that the status information of the concurrent data stream is the quantity information of the concurrent data stream. When the increase or decrease in the quantity of the concurrent data stream exceeds a preset threshold, it is determined that the first preset condition is met. Then, the first communication rate can be adjusted based on the second information and / or the third information to obtain the second communication rate. This application does not specifically limit the method of determining that the first preset condition is met.
[0089] Step 106: Send the first adjustment information to the first node so that the first node updates the first communication rate based on the first adjustment information; wherein the first adjustment information includes at least the second communication rate.
[0090] It should be noted that, in the embodiments described in the application, Figure 7 This is a schematic diagram of the service flow transmission method proposed in the embodiments of this application. Figure 5 ,like Figure 7 As shown, assuming the control device is a gateway device (e.g., a CE router), this gateway device can deploy a service control module. After sending the first information to the first node, i.e., after step 103, the control device may further include the following steps:
[0091] Step 107: Monitor and process the fourth information corresponding to the first egress bandwidth; wherein, the fourth information is used to characterize the status information of the concurrent data stream of the first egress.
[0092] It should be noted that, in the embodiments of the application, the control device can monitor and process the status information of the concurrent data stream of the first outlet corresponding to the first node. The status information of the concurrent data stream may include the quantity information of the concurrent data stream, such as the increase or decrease of the quantity. This application does not specifically limit the information type and quantity included in the status information of the concurrent data stream.
[0093] Step 108: If the fourth information satisfies the first preset condition, adjust the first communication rate based on the fourth information to obtain the third communication rate.
[0094] For example, in an embodiment of this application, assuming that the status information of the concurrent data stream is the quantity information of the concurrent data stream, if the increase or decrease in the quantity of the concurrent data stream exceeds a preset threshold, it is determined that the first preset condition is met, and then the first communication rate can be adjusted based on the fourth information to obtain the third communication rate.
[0095] Step 109: Send the second adjustment information to the first node so that the first node updates the first communication rate based on the second adjustment information; wherein the second adjustment information includes at least the third communication rate.
[0096] In other words, in the embodiments of this application, after the control device sends the first communication rate and / or the first congestion window size to the first node, it can monitor and process the status information of the outgoing concurrent data stream and / or the ingoing concurrent data stream corresponding to the relevant data express node. Thus, when it is necessary to adjust the first communication rate, the corresponding adjustment information can be sent to the first node so that the first node can adjust the first communication rate based on the relevant adjustment information.
[0097] In summary, when the control device is a service controller, it can monitor all CE nodes connected to the data express nodes, thereby analyzing the available outgoing and incoming bandwidth of the data express nodes. When the control device is a gateway device (e.g., a CE router) connected to the data express nodes, the gateway device can deploy service control modules, thereby monitoring the respective CE nodes based on multiple distributed service control modules. This allows for the analysis of the available outgoing and incoming bandwidth of each data express node. Upon receiving a request from the first node, the control device can determine the first communication rate based on the request and different bandwidth information. After sending the first communication rate and / or the first congestion window size to the first node, it can monitor and process the status information of the corresponding outgoing concurrent data stream and / or incoming concurrent data stream of the relevant data express nodes. Therefore, when adjustments to the first communication rate are needed, the control device can send corresponding adjustment information to the first node, enabling the first node to adjust the first communication rate based on the relevant adjustment information. In other words, this application embodiment does not require network detection and can directly calculate the recommended first communication rate, which means that a portion of the bandwidth can be directly allocated to data express services, avoiding the problems in network detection and greatly improving the efficiency of service flow transmission.
[0098] This application provides a service flow transmission method. The method is applied to a control device, which receives request information sent by a first node. The request information includes one or more of the following: identity information corresponding to the first node, identity information corresponding to a second node, and a desired rate value. The first node includes a source node for the service flow transmission, and the second node includes a destination node for the service flow transmission. Based on the request information, the method determines first information for the service flow transmission. The first information includes at least first transmission parameters, which include a first communication rate and / or a first congestion window size. The method sends the first information to the first node so that the first node transmits the service flow based on the first information. Therefore, after receiving the request information sent by the first node, the control device can determine the first communication rate and / or the first congestion window size for the service flow transmission based on the request information. Then, it can send the first communication rate and / or the first congestion window size to the first node so that the first node can transmit the service flow based on the first communication rate and / or the first congestion window size. That is, the embodiments of this application can directly determine the first communication rate and / or the first congestion window size based on the request information, so that the first communication rate and / or the first congestion window size obtained by the first node is more accurate, thereby ensuring a higher throughput and improving the transmission efficiency of the service flow.
[0099] Example 2
[0100] Based on the above embodiments, another embodiment of this application provides a service flow transmission method, which is applied to a first node. Figure 8 This is a schematic diagram of the service flow transmission method proposed in the embodiments of this application. Figure 6 ,like Figure 8 As shown, the service flow transmission method may include the following steps:
[0101] Step 201: Send a request message to the control device; wherein the request message includes one or more of the identity information corresponding to the first node, the identity information corresponding to the second node, and the desired rate value.
[0102] In embodiments of this application, the first node may send request information to the control device.
[0103] It should be noted that, in the embodiments of this application, the control device may include a service controller in the data express service network, and may also include a gateway device, which may deploy a service control module. This application does not specifically limit the type of control device.
[0104] It should be noted that, in the embodiments of this application, the request information may include one or more of the identity information corresponding to the first node, the identity information corresponding to the second node, and the expected rate value. This application does not specifically limit the number and type of information included in the request information.
[0105] It should be noted that, in the embodiments of this application, the identity information corresponding to the first node may include the address information corresponding to the first node. This application does not specifically limit the type and quantity of information contained in the identity information corresponding to the first node.
[0106] It should be noted that, in the embodiments of this application, the identity information corresponding to the second node may include the address information corresponding to the second node. This application does not specifically limit the type and quantity of information contained in the identity information corresponding to the second node.
[0107] Step 202: Receive first information sent by the control device; wherein the first information includes at least first transmission parameters, the first transmission parameters including a first communication rate, and / or a first congestion window size.
[0108] In the embodiments of this application, after the first node sends a request message to the control device, it can receive first information sent by the control device; wherein, the first information includes at least a first transmission parameter, the first transmission parameter including a first communication rate, and / or a first congestion window size.
[0109] Step 203: Transmit the service flow based on the first information.
[0110] In the embodiments of this application, after receiving the first information sent by the control device, the first node can transmit the service flow based on the first information.
[0111] It should be noted that, in the embodiments of this application, after receiving the first information sent by the control device, the first node can transmit the service flow based on the first communication rate and / or the first congestion window size.
[0112] It should be noted that, in the embodiments of this application, the first node can continuously measure the RTT corresponding to the packets in the service flow transmission, and then adjust the current transmission rate based on the RTT change information and the first preset algorithm to obtain a fourth communication rate; and / or, if packet loss is detected in the service flow transmission, adjust the current window size based on the second preset algorithm to obtain a second congestion window size; then the larger of the first communication rate and the fourth communication rate can be used as the first target rate, and / or the larger of the first congestion window size and the second congestion window size can be used as the first target window size; thus, the service flow can be transmitted through the first target rate and / or the first target window size.
[0113] It should be noted that in the embodiments of this application, the first preset algorithm may be the BBR algorithm, and this application does not specifically limit the type of the first preset algorithm.
[0114] It should be noted that, in the embodiments of this application, the second preset algorithm may be the TCP CC algorithm (e.g., CUBIC), and this application does not specifically limit the type of the second preset algorithm.
[0115] For example, in an embodiment of this application, the first node can continuously measure the RTT corresponding to the message in the service flow transmission, and then adjust the current transmission rate based on the RTT change information and the BBR algorithm to obtain a fourth communication rate. For example, if the first node determines that the speed can be increased, it can adjust the current transmission rate according to the CC algorithm of BBR. If it determines that the speed needs to be reduced, it can adjust the current transmission rate according to the CC algorithm of BBR to obtain a fourth communication rate.
[0116] It should be noted that, in the embodiments of this application, the first node can adjust the current transmission rate based on the RTT change information and the first preset algorithm to obtain a fourth communication rate; and / or, it can adjust the current window size based on the second preset algorithm to obtain a second congestion window size. Then, the larger of the first and fourth communication rates can be used as the first target rate, and / or, the larger of the first and second congestion window sizes can be used as the first target window size. That is, in the embodiments of this application, the adjusted fourth communication rate is compared with the recommended first communication rate sent by the control device, and / or, the adjusted second congestion window size is compared with the recommended first congestion window size sent by the control device, and the larger rate is used as the first target rate, and / or, the larger window size is used as the first target window size, thereby ensuring a larger throughput and thus achieving effective bandwidth planning and use.
[0117] It should be noted that, in the embodiments of this application, when the first node receives the first adjustment information or the second adjustment information sent by the control device, it can update the first communication rate based on the first adjustment information or the second adjustment information, thereby obtaining the updated second target rate; wherein, the first adjustment information includes at least the second communication rate, and the second adjustment information includes at least the third communication rate; and then the service flow can be transmitted based on the second target rate.
[0118] In other words, in the embodiments of this application, after receiving the first adjustment information or the second adjustment information sent by the control device, the first node can update the first communication rate based on the second communication rate in the first adjustment information to obtain the updated second target rate, or it can update the first communication rate based on the third communication rate in the second adjustment information to obtain the updated second target rate, and then transmit the service flow based on the second target rate.
[0119] It should be noted that, in the embodiments of this application, when the packet loss rate corresponding to the service flow is greater than or equal to the first preset threshold, the first node can adjust the first communication rate to the third target rate based on a preset ratio value, and / or adjust the first congestion window size to the second target window size based on a preset ratio value; and then the service flow can be transmitted based on the third target rate and / or the second target window size.
[0120] It should be noted that in the embodiments of this application, the first preset threshold can be 10% or other values, and this application does not specifically limit the size of the first preset threshold.
[0121] It should be noted that in the embodiments of this application, the preset ratio value can be 15% or other ratio values, and this application does not specifically limit the size of the preset ratio value.
[0122] For example, in an embodiment of this application, assuming that the packet loss rate corresponding to the service flow is greater than 20%, the first communication rate can be reduced by 15% to obtain a third target rate, and then the service flow can be transmitted based on the third target rate.
[0123] It should be noted that, in the embodiments of this application, after the first node transmits the service flow based on the third target rate and / or the second target window size, if the packet loss rate corresponding to the service flow is greater than or equal to the second preset threshold, then the service data flow is transmitted based on the first preset mode.
[0124] It should be noted that in the embodiments of this application, the second preset threshold can be 5% or other values, and this application does not specifically limit the size of the second preset threshold.
[0125] It should be noted that, in the embodiments of this application, the first preset mode includes the traditional congestion control algorithm mode, and this application does not specifically limit the mode type of the first preset mode.
[0126] Furthermore, in embodiments of this application, the first node may also receive fifth information sent by the second node; wherein the fifth information includes at least second transmission parameters, the second transmission parameters including a fifth communication rate, and / or a third congestion window size; the fifth information is obtained based on the second node's available ingress bandwidth and the number of ingress traffic flows; the second node includes the peer node of the first node; then the smaller of the first communication rate and the fifth communication rate can be used as the fourth target rate, and / or the smaller of the first congestion window size and the third congestion window size can be used as the third target window size; and then traffic flows can be transmitted through the fourth target rate and / or the third target window size.
[0127] For example, in the embodiments of this application, such as Figure 5 As shown, the first node can also receive the fifth communication rate and / or the third congestion window size sent by the peer node, and then can use the smaller of the first and fifth communication rates as the fourth target rate, and / or use the smaller of the first and third congestion window sizes as the third target window size; thus, the service flow can be transmitted through the fourth target rate and / or the third target window size.
[0128] In summary, the first node can adjust its rate based on the adjustment information sent by the control device, or it can determine the packet loss probability itself. If the packet loss rate consistently exceeds a preset threshold, it can adjust the rate. It can also compare the rate sent by the peer node with the recommended rate (first communication rate) sent by the control device, using the smaller rate as the target rate for service flow transmission. The first node can also adjust the current transmission rate based on RTT changes and a first preset algorithm to obtain a fourth communication rate; and / or, it can adjust the current window size based on a second preset algorithm to obtain a second congestion window size. The larger of the first communication rate and the fourth communication rate can be used as the first target rate, and / or the larger of the first congestion window size and the second congestion window size can be used as the first target window size. That is, in this embodiment of the application, the adjusted fourth communication rate is compared with the recommended first communication rate sent by the control device, and / or the adjusted second congestion window size is compared with the recommended first congestion window size sent by the control device, and the larger rate is used as the first target rate, and / or the larger window size is used as the first target window size, thereby ensuring a larger throughput and thus enabling effective bandwidth planning and use.
[0129] This application provides a service flow transmission method. The method is applied to a first node, which sends request information to a control device. The request information includes one or more of the following: identity information corresponding to the first node, identity information corresponding to a second node, and a desired rate value. The first node receives first information sent by the control device, where the first information represents a first communication rate and / or a first congestion window size. Service flow transmission is then performed based on the first information. Therefore, after sending request information to the control device, the first node can receive the first information sent by the control device. The first information includes at least first transmission parameters, including the first communication rate and / or the first congestion window size. This allows service flow transmission to be performed based on the first communication rate and / or the first congestion window size, making the first communication rate and / or the first congestion window size more accurate for the first node, thereby ensuring higher throughput and improving the transmission efficiency of the service flow.
[0130] Example 3
[0131] Based on the above embodiments, another embodiment of this application provides a service flow transmission method, which is applied to a first node and a control device. Figure 9 This is a schematic diagram of the service flow transmission method proposed in the embodiments of this application. Figure 7 ,like Figure 9 As shown, the service flow transmission method may include the following steps:
[0132] Step 301: The first node sends a request message to the control device; wherein the request message includes one or more of the identity information corresponding to the first node, the identity information corresponding to the second node, and the desired rate value.
[0133] It should be noted that, in the embodiments of this application, the control device may include a service controller in the data express service network, and may also include a gateway device, which may deploy a service control module. This application does not specifically limit the type of control device.
[0134] It should be noted that, in the embodiments of this application, the request information may include one or more of the identity information corresponding to the first node, the identity information corresponding to the second node, and the expected rate value. This application does not specifically limit the number and type of information included in the request information.
[0135] It should be noted that, in the embodiments of this application, the identity information corresponding to the first node may include the address information corresponding to the first node. This application does not specifically limit the type and quantity of information contained in the identity information corresponding to the first node.
[0136] It should be noted that, in the embodiments of this application, the identity information corresponding to the second node may include the address information corresponding to the second node. This application does not specifically limit the type and quantity of information contained in the identity information corresponding to the second node.
[0137] Step 302: The control device determines the first information for the service flow transmission based on the request information; wherein the first information includes at least the first transmission parameters, the first transmission parameters including the first communication rate, and / or the first congestion window size.
[0138] It should be noted that, in the embodiments of this application, when the control device determines the first communication rate based on the request information, it may determine the first communication rate based on the request information and the average rate of service flow transmission within a historical time period; or, it may determine the first communication rate based on the request information, the first egress bandwidth corresponding to the first node, the first ingress bandwidth corresponding to the second node, the number of first egress service flows corresponding to the first node, and the number of first ingress service flows corresponding to the second node; or, it may determine the first communication rate based on the request information, the second egress bandwidth corresponding to the first node, the second ingress bandwidth corresponding to the second node, the number of second egress service flows corresponding to the first node, and the number of second ingress service flows corresponding to the second node; wherein, the first egress bandwidth and the second egress bandwidth are different in size, and the first ingress bandwidth and the second ingress bandwidth are different in size.
[0139] It should be noted that, in the embodiments of this application, as... Figure 4As shown, assuming the control device is a service controller in the data express service network, it can monitor all CE nodes connected to the data express nodes, thereby analyzing the available outgoing and incoming bandwidth of the data express nodes. For example, after receiving the request information sent by the first node, the control device can determine the first communication rate in different ways. It can determine the first communication rate based on the request information and the average rate of service flow transmission within a historical time period; or, it can determine the first communication rate based on the request information, the first outgoing bandwidth corresponding to the first node, the first incoming bandwidth corresponding to the second node, the number of first outgoing service flows corresponding to the first node, and the number of first incoming service flows corresponding to the second node; or, it can determine the first communication rate based on the request information, the second outgoing bandwidth corresponding to the first node, the second incoming bandwidth corresponding to the second node, the number of second outgoing service flows corresponding to the first node, and the number of second incoming service flows corresponding to the second node.
[0140] It should be noted that, in the embodiments of this application, as... Figure 4 As shown, the second node includes the destination node for business flow transmission. The second node can be any data delivery node, and this application does not specifically limit the type of the second node.
[0141] It should be noted that, in the embodiments of this application, the first egress bandwidth corresponding to the first node can be the available egress bandwidth corresponding to the source node of the service flow transmission, and this application does not specifically limit the value of the first egress bandwidth.
[0142] It should be noted that, in the embodiments of this application, the first ingress bandwidth corresponding to the second node can be the available ingress bandwidth corresponding to the destination node of the service flow transmission, and this application does not specifically limit the value of the first ingress bandwidth.
[0143] It should be noted that, in the embodiments of this application, the second egress bandwidth corresponding to the first node can be the bandwidth allocated according to a preset ratio of the total egress bandwidth corresponding to the source node. For example, 60% of the total egress bandwidth corresponding to the source node can be used as the second egress bandwidth. This application does not specifically limit the size of the preset ratio and the value of the second egress bandwidth.
[0144] It should be noted that, in the embodiments of this application, the second ingress bandwidth corresponding to the second node can be the bandwidth allocated to the total ingress bandwidth of the destination node according to a preset ratio. For example, 70% of the total ingress bandwidth corresponding to the destination node can be used as the second ingress bandwidth. This application does not specifically limit the value of the second ingress bandwidth.
[0145] It should be noted that, in the embodiments of this application, when the control device determines the first communication rate based on the request information, it can also determine the first communication rate based on the stepwise nature of the number of requests, for example, by pre-setting several suggested rate levels, and adjusting the rate when the number of active sessions exceeds a threshold.
[0146] For example, in the embodiments of this application, assuming that the bandwidth of the outbound router (e.g., CE router) connected to the express node is 10G, then N suggested rates can be set based on the number of data express service flows, where N is a positive integer. If the number of service flows is less than or equal to 10, then each flow can be allocated 1G; if the number of service flows is less than or equal to 5, then each flow can be allocated 2G; and if the number of service flows is less than or equal to 2, then each flow can be allocated 5G. Thus, the first communication rate can be determined by matching the different request flow sizes with the set N suggested rates. That is, the embodiments of this application can determine the first communication rate based on the tiered nature corresponding to the number of flows and the set N suggested rates.
[0147] Furthermore, in the embodiments of this application, Figure 5 This is a schematic diagram of the service flow transmission method proposed in the embodiments of this application. Figure 3 ,like Figure 5 As shown, assuming the control device is the gateway device (e.g., CE router) connected to the data express node, the gateway device can deploy a service control module, thereby enabling the monitoring of the respective CE nodes based on multiple distributed service control modules, and further enabling the analysis of the available outgoing bandwidth and available incoming bandwidth of each data express node.
[0148] It should be noted that, in the embodiments of this application, it is assumed that the control device is the gateway device (e.g., CE router) connected to the data express node. After receiving the request information sent by the first node, the control device can determine the first communication rate based on the request information, the first egress bandwidth corresponding to the first node, and the number of first egress service flows corresponding to the first node.
[0149] It should be noted that, in the embodiments of this application, the first node may be a data courier node connected to the gateway device. This node can be determined by the identity information of the first node in the request information. This application does not specifically limit the type of the first node.
[0150] For example, in an embodiment of this application, the service control module in the gateway device can determine the first communication rate based on the expected rate value in the request information, the available bandwidth of the first node's egress, and the number of first egress service flows corresponding to the first node.
[0151] It should be noted that, in the embodiments of this application, assuming that the control device is the gateway device (e.g., CE router) connected to the data express node, after receiving the request information sent by the first node, the control device can also determine the first communication rate based on the stepwise nature of the number of requests, for example, by pre-setting several suggested rate levels, and adjusting the rate when the number of active sessions exceeds the threshold.
[0152] In other words, in the embodiments of this application, the control device can be a service controller in the data express service network, or it can be a gateway device. The gateway device can deploy a service control module. When the control device is a service controller, it can monitor all CE nodes connected to the data express nodes, thereby analyzing the available outgoing bandwidth and ingoing bandwidth of the data express nodes. When the control device is a gateway device (e.g., a CE router) connected to the data express nodes, the gateway device can deploy a service control module, thereby monitoring the CE nodes where each of the multiple distributed service control modules is located, and further analyzing the available outgoing bandwidth and ingoing bandwidth of each data express node. This allows the control device to determine the first communication rate based on the request information sent by the first node and different bandwidth information after receiving the request information. In other words, the embodiments of this application do not require network probing and can directly calculate the recommended first communication rate, thus directly allocating a portion of bandwidth for data express services, avoiding the problems in network probing, and greatly improving the efficiency of service flow transmission.
[0153] Step 303: The control device sends the first information to the first node.
[0154] It should be noted that, in the embodiments of this application, the control device can send the first information to the first node, and can also send RTT information, and / or packet loss rate information, etc. This application does not specifically limit the amount and type of information sent by the control device to the first node.
[0155] It should be noted that, in the embodiments of the application, such as Figure 6 As shown, assuming the control device is the service controller in the data express service network, after sending the first information to the first node, i.e. after step 103, the control device can monitor the second information corresponding to the first egress bandwidth and the third information corresponding to the first ingress bandwidth; wherein, the second information is used to characterize the status information of the concurrent data flow of the first egress, and the third information is used to characterize the status information of the concurrent data flow of the first ingress.
[0156] In other words, in the embodiments of this application, the control device can monitor the status information of the concurrent data stream of the first exit corresponding to the first node and the status information of the concurrent data stream of the first entry corresponding to the second node. For example, it can monitor the status information of the concurrent data stream of the source data express node exit and the status information of the concurrent data stream of the destination data express node entry.
[0157] It should be noted that, in the embodiments of this application, the status information of concurrent data streams may include the quantity information of concurrent data streams, such as the increase or decrease in quantity. This application does not specifically limit the type and quantity of information included in the status information of concurrent data streams.
[0158] It should be noted that, in the embodiments of the application, when the second information and / or the third information meet the first preset condition, the first communication rate is adjusted based on the second information and / or the third information to obtain the second communication rate.
[0159] For example, in the embodiments of this application, it is assumed that the status information of the concurrent data stream is the quantity information of the concurrent data stream. When the increase or decrease in the quantity of the concurrent data stream exceeds a preset threshold, it is determined that the first preset condition is met. Then, the first communication rate can be adjusted based on the second information and / or the third information to obtain the second communication rate. This application does not specifically limit the method of determining that the first preset condition is met.
[0160] It should be noted that, in the embodiments of the application, the control device sends the first adjustment information to the first node so that the first node updates the first communication rate based on the first adjustment information; wherein, the first adjustment information includes at least the second communication rate.
[0161] It should be noted that, in the embodiments of the application, such as Figure 7 As shown, assuming the control device is a gateway device (e.g., a CE router), the gateway device can deploy a service control module. After sending the first information to the first node, i.e. after step 103, the control device can monitor and process the fourth information corresponding to the first egress bandwidth. The fourth information is used to characterize the status information of the concurrent data flow of the first egress.
[0162] It should be noted that, in the embodiments of the application, the control device can monitor and process the status information of the concurrent data stream of the first outlet corresponding to the first node. The status information of the concurrent data stream may include the quantity information of the concurrent data stream, such as the increase or decrease of the quantity. This application does not specifically limit the information type and quantity included in the status information of the concurrent data stream.
[0163] It should be noted that, in the embodiments of the application, when the fourth information meets the first preset condition, the first communication rate is adjusted based on the fourth information to obtain the third communication rate.
[0164] For example, in an embodiment of this application, assuming that the status information of the concurrent data stream is the quantity information of the concurrent data stream, if the increase or decrease in the quantity of the concurrent data stream exceeds a preset threshold, it is determined that the first preset condition is met, and then the first communication rate can be adjusted based on the fourth information to obtain the third communication rate.
[0165] It should be noted that, in the embodiments of the application, the control device can send the second adjustment information to the first node so that the first node can update the first communication rate based on the second adjustment information; wherein, the second adjustment information includes at least the third communication rate.
[0166] In other words, in the embodiments of this application, after the control device sends the first communication rate and / or the first congestion window size to the first node, it can monitor and process the status information of the outgoing concurrent data stream and / or the ingoing concurrent data stream corresponding to the relevant data express node. Thus, when it is necessary to adjust the first communication rate, the corresponding adjustment information can be sent to the first node so that the first node can adjust the first communication rate based on the relevant adjustment information.
[0167] Step 304: The first node transmits the service flow based on the first information.
[0168] It should be noted that, in the embodiments of this application, after receiving the first information sent by the control device, the first node can transmit the service flow based on the first communication rate and / or the first congestion window size.
[0169] It should be noted that, in the embodiments of this application, the first node can continuously measure the RTT corresponding to the packets in the service flow transmission, and then adjust the current transmission rate based on the RTT change information and the first preset algorithm to obtain a fourth communication rate; and / or, if packet loss is detected in the service flow transmission, adjust the current window size based on the second preset algorithm to obtain a second congestion window size; then the larger of the first communication rate and the fourth communication rate can be used as the first target rate, and / or the larger of the first congestion window size and the second congestion window size can be used as the first target window size; thus, the service flow can be transmitted through the first target rate and / or the first target window size.
[0170] It should be noted that in the embodiments of this application, the first preset algorithm may be the BBR algorithm, and this application does not specifically limit the type of the first preset algorithm.
[0171] It should be noted that, in the embodiments of this application, the second preset algorithm may be the TCP CC algorithm (e.g., CUBIC), and this application does not specifically limit the type of the second preset algorithm.
[0172] For example, in an embodiment of this application, the first node can continuously measure the RTT corresponding to the message in the service flow transmission, and then adjust the current transmission rate based on the RTT change information and the BBR algorithm to obtain a fourth communication rate. For example, if the first node determines that the speed can be increased, it can adjust the current transmission rate according to the CC algorithm of BBR. If it determines that the speed needs to be reduced, it can adjust the current transmission rate according to the CC algorithm of BBR to obtain a fourth communication rate.
[0173] It should be noted that, in the embodiments of this application, the first node can adjust the current transmission rate based on the RTT change information and the first preset algorithm to obtain a fourth communication rate; and / or, it can adjust the current window size based on the second preset algorithm to obtain a second congestion window size. Then, the larger of the first and fourth communication rates can be used as the first target rate, and / or, the larger of the first and second congestion window sizes can be used as the first target window size. That is, in the embodiments of this application, the adjusted fourth communication rate is compared with the recommended first communication rate sent by the control device, and / or, the adjusted second congestion window size is compared with the recommended first congestion window size sent by the control device, and the larger rate is used as the first target rate, and / or, the larger window size is used as the first target window size, thereby ensuring a larger throughput and thus achieving effective bandwidth planning and use.
[0174] It should be noted that, in the embodiments of this application, when the first node receives the first adjustment information or the second adjustment information sent by the control device, it can update the first communication rate based on the first adjustment information or the second adjustment information, thereby obtaining the updated second target rate; wherein, the first adjustment information includes at least the second communication rate, and the second adjustment information includes at least the third communication rate; and then the service flow can be transmitted based on the second target rate.
[0175] In other words, in the embodiments of this application, after receiving the first adjustment information or the second adjustment information sent by the control device, the first node can update the first communication rate based on the second communication rate in the first adjustment information to obtain the updated second target rate, or it can update the first communication rate based on the third communication rate in the second adjustment information to obtain the updated second target rate, and then transmit the service flow based on the second target rate.
[0176] It should be noted that, in the embodiments of this application, when the packet loss rate corresponding to the service flow is greater than or equal to the first preset threshold, the first node can adjust the first communication rate to the third target rate based on a preset ratio value, and / or adjust the first congestion window size to the second target window size based on a preset ratio value; and then the service flow can be transmitted based on the third target rate and / or the second target window size.
[0177] It should be noted that in the embodiments of this application, the first preset threshold can be 10% or other values, and this application does not specifically limit the size of the first preset threshold.
[0178] It should be noted that in the embodiments of this application, the preset ratio value can be 15% or other ratio values, and this application does not specifically limit the size of the preset ratio value.
[0179] For example, in an embodiment of this application, assuming that the packet loss rate corresponding to the service flow is greater than 20%, the first communication rate can be reduced by 15% to obtain a third target rate, and then the service flow can be transmitted based on the third target rate.
[0180] It should be noted that, in the embodiments of this application, after the first node transmits the service flow based on the third target rate and / or the second target window size, if the packet loss rate corresponding to the service flow is greater than or equal to the second preset threshold, then the service data flow is transmitted based on the first preset mode.
[0181] It should be noted that in the embodiments of this application, the second preset threshold can be 5% or other values, and this application does not specifically limit the size of the second preset threshold.
[0182] It should be noted that, in the embodiments of this application, the first preset mode includes the traditional congestion control algorithm mode, and this application does not specifically limit the mode type of the first preset mode.
[0183] Furthermore, in embodiments of this application, the first node may also receive fifth information sent by the second node; wherein the fifth information represents a fifth communication rate and / or a third congestion window size; the fifth information is obtained based on the second node's available ingress bandwidth and the number of ingress traffic flows; the second node includes the peer node of the first node; then the smaller of the first communication rate and the fifth communication rate can be used as the fourth target rate, and / or the smaller of the first congestion window size and the third congestion window size can be used as the third target window size; and then traffic flows can be transmitted through the fourth target rate and / or the third target window size.
[0184] For example, in the embodiments of this application, such as Figure 5 As shown, the first node can also receive the fifth communication rate and / or the third congestion window size sent by the peer node, and then can use the smaller of the first and fifth communication rates as the fourth target rate, and / or use the smaller of the first and third congestion window sizes as the third target window size; thus, the service flow can be transmitted through the fourth target rate and / or the third target window size.
[0185] In summary, the first node can adjust its rate based on the adjustment information sent by the control device, or it can determine the packet loss probability itself. If the packet loss rate consistently exceeds a preset threshold, it can adjust the rate. It can also compare the rate sent by the peer node with the recommended rate (first communication rate) sent by the control device, using the smaller rate as the target rate for service flow transmission. The first node can also adjust the current transmission rate based on RTT changes and a first preset algorithm to obtain a fourth communication rate; and / or, it can adjust the current window size based on a second preset algorithm to obtain a second congestion window size. The larger of the first communication rate and the fourth communication rate can be used as the first target rate, and / or the larger of the first congestion window size and the second congestion window size can be used as the first target window size. That is, in this embodiment of the application, the adjusted fourth communication rate is compared with the recommended first communication rate sent by the control device, and / or the adjusted second congestion window size is compared with the recommended first congestion window size sent by the control device, and the larger rate is used as the first target rate, and / or the larger window size is used as the first target window size, thereby ensuring a larger throughput and thus enabling effective bandwidth planning and use.
[0186] This application provides a service flow transmission method, which is applied to a first node and a control device. The control device receives request information sent by the first node. The request information includes one or more of the following: identity information corresponding to the first node, identity information corresponding to a second node, and a desired rate value. The first node includes a source node for the service flow transmission, and the second node includes a destination node for the service flow transmission. Based on the request information, the method determines first information for the service flow transmission. The first information includes at least first transmission parameters, which include a first communication rate and / or a first congestion window size. The method sends the first information to the first node so that the first node transmits the service flow based on the first information. The first node sends request information to the control device. The request information includes one or more of the following: identity information corresponding to the first node, identity information corresponding to the second node, and a desired rate value. The method transmits the service flow based on the first information. Therefore, after receiving the request information sent by the first node, the control device can determine the first communication rate and / or the first congestion window size for the service flow transmission based on the request information. Then, it can send the first communication rate and / or the first congestion window size to the first node so that the first node can transmit the service flow based on the first communication rate and / or the first congestion window size. That is, the embodiments of this application can directly determine the first communication rate and / or the first congestion window size based on the request information, so that the first communication rate and / or the first congestion window size obtained by the first node are more accurate, thereby ensuring higher throughput and improving the transmission efficiency of the service flow.
[0187] Example 4
[0188] Based on the above embodiments, another embodiment of this application provides a business flow transmission method, which can be applied to the data express delivery business scenario. The application requirements of data express delivery may include: (1) some traffic is relatively large (TB~PB) and has time limit (for example, data express delivery includes hourly delivery, same-day delivery, and next-day delivery); (2) it crosses wide area network (WAN) and has relatively large throughput requirements, but the real-time performance is not so high. For example, some traffic can be transmitted at night. Figure 10 This is a schematic diagram of the data express network architecture proposed in the embodiments of this application, such as... Figure 10 As shown, the network architecture of data express delivery does not necessarily rely entirely on dedicated lines or private networks (which are costly). Therefore, it needs to be carried on existing public networks. However, some traffic can be scheduled for transmission at night. This traffic has a large single-stream data volume but a small number of individual streams, and it is assumed that the network operator can manage and control it. In the architecture of data express delivery, it can be executed through data express stations, or it can be aggregated by data ports (DH) (which also support data storage functions and have stronger capabilities than data express stations), and then the corresponding data transmission services can be planned. Figure 11This is a schematic diagram of the data delivery service framework proposed in the embodiments of this application, such as... Figure 11 As shown, Data Harbor1 represents data port 1, Data Harbor2 represents data port 2, Data Harbor3 represents data port 3, Access represents access network, core network represents backbone network, Accessnetwork represents access network, and Client represents client machine. This means that data transmission services can be planned through different data ports. For data express traffic, this application embodiment can provide a network-suggested rate (first communication rate) to improve the transmission efficiency of data express traffic. This type of traffic is characterized by requiring high throughput and transmission within a carrier-controlled WAN, but the network environment is relatively complex.
[0189] It should be noted that, in the embodiments of this application, this application proposes a congestion control mechanism based on planned rate (SSCC) for controllable networks (which can provide a first communication rate) and elephant stream (the stream has a large bandwidth but a small number) transmission scenarios.
[0190] It should be noted that in the embodiments of this application, congestion and random packet loss in wide area networks are quite complex, and it is difficult to determine the specific cause and duration. Therefore, it is considered that for elephant flows, instead of blindly probing available bandwidth, a target rate (first communication rate) is generated based on the information collected by the control module (control device). In the CC scheme that controls the rate based on a window, such as the CUBIC algorithm, this rate can be matched to a planned window size (first congestion window size).
[0191] It should be noted that, in the embodiments of this application, the control device may include a service controller in the data express service network, and may also include a gateway device, which may deploy a service control module. This application does not specifically limit the type of control device.
[0192] It should be noted that in the embodiments of this application, the SSCC technical architecture sets a transmission mechanism with a high initial speed and a minimum rate; (1) Start-up phase: After the initial rate (first communication rate) is determined, the slow start is skipped and the fast start is executed directly, entering the congestion avoidance phase or the bandwidth / RTT detection phase; (2) Speed reduction phase: If it is determined that the rate needs to be reduced, for example, reduced to the window determined by the CC algorithm, this window is compared with the initial window (first congestion window size), and a larger window is selected, and / or, reduced to the rate determined by the CC algorithm, this rate is compared with the initially suggested rate (first communication rate), and a larger rate is selected for transmission. In the embodiments of this application, a larger rate is selected, and / or a larger window size is selected for service flow transmission, which can ensure a larger throughput and improve transmission efficiency, thereby enabling effective bandwidth planning and use.
[0193] It should be noted that, in the embodiments of this application, the initial rate can be obtained in one of the following ways: 1. Based on historical data statistics, for example, the average rate of related service flows during the previous period (the average rate of service flow transmission within the historical time period) is used as the suggested sending rate (first communication rate), which can be mapped to the lower limit of the window; 2. Based on the current total available bandwidth of the inlet (the first inlet bandwidth corresponding to the second node) and the outlet (the first outlet bandwidth corresponding to the first node), and based on the current number of flows (the number of data express service flows), a suggested value is calculated and used as the suggested sending rate (first communication rate), which can be mapped to the lower limit of the window; 3. According to the bandwidth planned for the data express service (the second outlet bandwidth corresponding to the first node) and the outlet (the second outlet bandwidth corresponding to the first node), and based on the current number of flows (including the inlet and outlet), a suggested value is calculated and used as the suggested sending rate (first communication rate), which can be mapped to the lower limit of the window; wherein, mapping to the lower limit of the window can be obtained through the RTT value, the size of the transmitted message, and the first communication rate value.
[0194] It should be noted that, in the embodiments of this application, the data delivery node can skip the startup process and send data directly at the initial rate (first communication rate), or send data using its corresponding window as cwnd. When network congestion (packet loss or increased latency) is detected, reducing the rate / window size is not just a proportional decrease, but also requires locking the lower limit of the rate / window, i.e., selecting a larger rate and / or selecting a larger window size for service flow transmission.
[0195] It should be noted that in the embodiments of this application, some data express services do not require real-time transmission. They can be sent at night when bandwidth utilization is low. At the same time, appropriate bandwidth is calculated based on historical experience data, or appropriate bandwidth is allocated and calculated based on the available bandwidth of the ingress and egress, as well as the number of flows (service flows) through the ingress and egress. For example, it is min(total available bandwidth of network ingress / number of ingress flows, total available bandwidth of network egress / number of egress flows) * p%, where p is a coefficient (within the range of 0-1, for example, 0.7). This application does not specifically limit the value of p.
[0196] It should be noted that, in the embodiments of this application, unlike the traditional fast start, it is not necessary to detect the committed bandwidth for each hop, but to send directly according to the above-mentioned initial rate (first communication rate), or to send according to the above-mentioned rate to determine the sending window size (first congestion window size). When a rate reduction is needed, for example, if the percentage decrease is less than the rate lower limit / window lower limit, the percentage is ignored, and the rate lower limit (first communication rate) is used directly for transmission, or the window lower limit (first congestion window size) is used as the congestion limit (cwnd) to avoid excessive rate reduction. Additionally, the rate / window lower limit can be adjusted, for example: 1. The control module (control device) detects changes in the number of active users and informs the endpoint (first node) to adjust the rate lower limit; 2. Alternatively, the endpoint (first node) determines the packet loss probability itself. If the packet loss rate consistently exceeds the average packet loss probability (first preset threshold), the rate / window lower limit is adjusted, for example, by reducing it by x% (preset percentage). Furthermore, the endpoint can also exit SSCC mode and continue transmission using the traditional CC method (while switching back to SSCC after monitoring the transmission rate exceeding the initial rate (first communication rate) for a certain period).
[0197] Furthermore, in the embodiments of this application, such as Figure 4As shown, this service flow transmission method can be applied to centralized control modules and CC scenarios based on packet loss. It first includes the following prerequisites: (1) Data express nodes / data ports have storage functions. They are located in a DC or MEC and contain a gateway (e.g., a CE router). They are interconnected through the operator network and have data transmission requirements; (2) The data express service network has a service controller (control device) capable of monitoring all CE nodes and understanding and analyzing the available bandwidth at the data express node's exit and entry points (e.g., more bandwidth at night); (3) A suggested rate (first communication rate) is given based on historical experience and / or a suggested rate is given based on the network load conditions, where the latter can be used to determine the suggested rate. Therefore, a suggested rate (first communication rate) can be calculated based on the available outbound bandwidth and the number of outbound data express streams (number of business streams) for use by data express services; or a suggested rate can be calculated based on the available outbound bandwidth and the number of outbound streams, the available inbound bandwidth and the number of inbound streams at the peer end for use by data express services; or a suggested rate can be calculated based on the stepwise nature of the number of requests, for example, several suggested rate levels can be preset and adjusted when the number of active sessions exceeds the threshold; (4) There may be multiple servers or virtual machines in the data express node that need to interact across DCs.
[0198] For example, in an embodiment of this application, assuming the bandwidth of the outbound router connected to the express delivery node is 10G, then N suggested rates can be set based on the number of data express delivery service flows, where N is a positive integer. If the number of service flows is less than or equal to 10, then each flow can be allocated 1G; if the number of service flows is less than or equal to 5, then each flow can be allocated 2G; and if the number of service flows is less than or equal to 2, then each flow can be allocated 5G. Thus, the first communication rate can be determined by matching different request flow sizes with the set N suggested rates. That is, in this embodiment of the application, the first communication rate can be determined based on the tiered nature corresponding to the number of flows and the set N suggested rates.
[0199] It should be noted that, in the embodiments of this application, as... Figure 4As shown, in a centralized control module and a packet loss-based CC scenario, the end-side (first node) can include the following steps: (1) Sending a transmission request: If the data express service needs to be started and at a relevant time (e.g., at night), the corresponding server or the APP in the virtual machine will start special L4 layer processing (SSCC mode). Specifically, it sends its own service requirements to the service controller (control device), including who it is (identity information corresponding to the first node), who the peer is (identity information corresponding to the second node), the expected rate, etc.; (2) Obtaining a suggested rate: Receive the suggested rate size (first communication rate) and / or suggested window size (first congestion window size) fed back by the service controller (control device). Optionally, receive a reference RTT information and / or a packet loss rate information; (3) Starting transmission: After the connection is established, the AP P skips the startup phase (this skipping action is optional and has little impact on overall throughput), directly enters the congestion avoidance phase, and starts data transmission according to the suggested window size or the suggested rate; (4) Packet loss handling: if packet loss is detected, it is handled according to TCP CC, but if the reduced target window size (second congestion window size) calculated by the CC algorithm (second preset algorithm) is less than the initial window size (first congestion window size), it continues to transmit according to the initial window size (first congestion window size) to avoid slowing down to below the initial rate; (5) Adjustment of suggested rate: if the packet loss rate is found to be higher than the threshold for a period of time, the suggested sending rate and the corresponding sending window are adjusted. At this time, it is also possible to choose to exit SSCC mode; the suggested rate can also be adjusted when the SS (second communication rate) updated by the control point is received. The control point (control device) may include the following steps: (1) Feedback of suggested rate: After receiving a request (request information) from the sender (first node), it feeds back the suggested sending rate (first communication rate) and / or suggested window size (first congestion window size), and optionally feeds back an RTT information and / or a packet loss rate information; it supports obtaining the receiving rate of the peer (second node) and adjusting the suggested sending window size or suggested sending rate; (2) Rate monitoring: After being enabled, it monitors the available bandwidth of the data express node's exit (first exit bandwidth) and the available bandwidth of the peer's inlet (first inlet bandwidth), as well as the number of data express streams at the exit and the number of data express streams at the inlet; (3) Adjustment of suggested rate (first communication rate): When it is determined that the previously fed suggested sending rate and / or suggested window size need to be changed, for example, when the number of active users decreases / increases (inlet or exit), it is determined that the previously fed suggested rate and / or window size need to be adjusted, and relevant adjustment information (first adjustment information) is sent to the APP.
[0200] Furthermore, in the embodiments of this application, such as Figure 4As shown, this service flow transmission method can also be applied to scenarios with centralized control modules and delay-based congestion control (CC). It first includes the following prerequisites: (1) Data express nodes / data ports have storage capabilities. They are located in a DC or MEC and contain a gateway (e.g., a CE router). They are interconnected through the operator network and have data transmission requirements; (2) The data express service network has a service controller (control device) capable of monitoring all CE nodes and understanding and analyzing the available bandwidth at the data express node's egress and ingress points (e.g., more bandwidth at night); (3) A suggested rate (first communication rate) is given based on historical experience and / or the network load conditions, where the latter can be based on the current time period. The available outbound bandwidth and the number of outbound data express streams can be used to calculate a suggested rate for data express services; or the available outbound bandwidth and the number of outbound streams, the available outbound bandwidth and the number of outbound streams can be used to calculate a suggested rate for data express services; or the suggested rate can be calculated based on the number of requests in a tiered manner, for example, several suggested rate levels can be preset and adjusted when the number of active sessions exceeds the threshold; (4) There may be multiple servers or virtual machines in the data express node that need to interact across DCs.
[0201] It should be noted that, in the embodiments of this application, as... Figure 4As shown, in the scenario of centralized control module and delayed congestion control (Delay-based CC), the end side (first node) can include the following steps: (1) Sending transmission request: If the data express service needs to be started and at a relevant time (e.g., at night), the corresponding server or the APP in the virtual machine starts special L4 layer processing (SSCC mode). Specifically, it sends its own service requirements to the service controller (control device), including who it is (identity information corresponding to the first node), who the peer is (identity information corresponding to the second node), the expected rate, etc.; (2) Obtaining suggested rate (first communication rate): Receive the suggested rate size (first communication rate) fed back by the service controller (control device). Optionally, receive a reference RTT information and / or a packet loss rate information; (3) Starting transmission: After the connection is established, the APP skips the startup phase (optional) and directly enters the bandwidth / RTT detection phase, and at the same time, according to the suggested rate (4) Normal rate adjustment processing (BBR's probe bandwidth stage): If it is determined that the speed can be increased, it will be processed according to the default BBR CC algorithm. If it is determined that the speed needs to be reduced, it will be calculated according to the BBR CC algorithm. However, if the target rate (fourth communication rate) calculated by the algorithm is less than the initial suggested rate (first communication rate), it will continue to transmit according to the initial suggested rate (first communication rate) to avoid decelerating below the initial rate. For other stages of BBR, such as the Drain and ProbeRTT stages, the relevant rate lower limit locking mechanism will not be started. (5) Adjustment of suggested rate: If it is found that the packet loss rate is continuously higher than the threshold for a period of time, the suggested transmission rate will be adjusted. At this time, it is also possible to choose to exit SSCC mode. The suggested rate can also be adjusted when the SS (second communication rate) updated by the control point is received. The control point (control device) may include the following steps: (1) Feedback of suggested rate (first communication rate): After receiving a request (request information), the suggested sending rate (first communication rate) is fed back, and optionally an RTT information and / or packet loss rate information is fed back; it supports obtaining the receiving rate of the peer (receiving end) and adjusting the suggested sending rate of the sending end; (2) Rate monitoring: After being enabled, the available bandwidth of the data express node's exit (first exit bandwidth) and the available bandwidth of the peer's inlet (first inlet bandwidth), as well as the number of data express streams at the exit and the number of data express streams at the inlet; (3) Adjustment of suggested rate: When it is determined that the previously fed back suggested sending rate needs to be changed, for example, when the number of active users decreases / increases (inlet or exit), it is determined that the previously fed back suggested rate needs to be adjusted, and relevant adjustment information (first adjustment information) is sent to the APP.
[0202] Furthermore, in the embodiments of this application, such as Figure 5As shown, this service flow transmission method can also be applied to distributed control modules. Based on packet loss CC scenarios, it first includes the following premises: (1) Data express nodes / data ports have storage functions. They are in a DC or MEC and contain a gateway (e.g., CE router). They are interconnected through the operator network and have data transmission requirements; (2) The data express service network does not have a centralized service controller, but has multiple distributed service control modules (control devices) that can monitor their respective CE nodes and understand and analyze the available bandwidth of the data express node's exit and the available bandwidth of its ingress (e.g., more at night); (3) A suggested rate (first communication rate) is given based on historical experience and / or a suggested rate is given based on the network load situation. The latter can be a suggested rate calculated based on the value of the available exit bandwidth and the value of the number of exit data express flows for the data express service to use; or the suggested rate can be calculated in steps based on the number of requests, for example, several suggested rate levels are preset and reduced when the number of active sessions exceeds the threshold.
[0203] (4) There may be multiple servers or virtual machines in the data express node that need to interact across DCs.
[0204] It should be noted that, in the embodiments of this application, as... Figure 5 As shown, the control device can be a gateway device (such as a CE router). This gateway device can deploy service control modules. Through multiple distributed service control modules, it can monitor the CE nodes where they are located and understand and analyze the available bandwidth of the data express node's egress and ingress.
[0205] It should be noted that in the embodiments of this application, in the CC scenario of distributed control module and packet loss, the end side (first node) may include the following steps: (1) Sending transmission request (request information): If the data express service needs to be started, and at a relevant time (e.g., at night), the corresponding server or the APP in the virtual machine starts special L4 layer processing (SSCC mode), specifically, sending its own service requirements to the service control module (control device) (in one embodiment, the control module may know less information at this time; however, distributed or centralized is only an implementation method, and distributed can also know all the information of centralized); (2) Obtaining suggested rate: receiving the suggested rate size (first communication rate) fed back by the service control module; (3) Starting transmission: after the connection is established, the APP skips slow start (optional), Directly enter the congestion avoidance phase, directly calculate the sending window size according to the suggested rate (first communication rate) as the initial window size, and start data transmission; (4) Packet loss handling: If packet loss is found, it is handled according to TCP CC, but if the reduced target window size (second congestion window size) calculated by the CC algorithm is less than the initial window size, it continues to transmit according to the initial window size (first congestion window size) to avoid decelerating below the initial rate; (5) Adjustment of suggested rate: If it is found that the packet loss rate is continuously higher than the threshold for a period of time, the suggested sending rate (first communication rate) and the corresponding lower limit of the sending window (first congestion window size) are adjusted. At this time, it is also possible to choose to exit SSCC mode; SS (third communication rate) updated by the control point can also adjust the suggested rate, and trigger the adjustment of the lower limit of the sending window. The control point side (control device) may include the following steps: (1) Feedback of suggested rate: After receiving the request (request information), the suggested sending rate (first communication rate) is fed back; In addition, the peer node (second node) also supports querying the bandwidth and session status of the peer from its own control module to obtain a suggested rate of the peer (fifth communication rate), calculate the corresponding window size (third congestion window size), and the receiving end can feed back to the sending end through rwnd (receiving window) to limit the sending rate; (3) Rate monitoring: After being enabled, the available bandwidth of the inlet and outlet of the data express node is monitored, as well as the number of data express streams at the outlet and the number of data express streams at the inlet; (4) Adjustment of suggested rate: When it is determined that the previously fed back suggested sending rate needs to be changed, for example, when the number of active users decreases / increases (concurrent data stream status information), it is determined that the previously fed back suggested rate (first communication rate) needs to be adjusted, and the relevant adjustment information (second adjustment information) is sent to the APP.
[0206] Furthermore, in embodiments of this application, the first node may also receive fifth information sent by the peer node (second node); wherein the fifth information represents a fifth communication rate and / or a third congestion window size; the fifth information is obtained based on the second node's available ingress bandwidth and the number of ingress traffic flows; the second node includes the peer node of the first node; then the smaller of the first communication rate and the fifth communication rate can be used as the fourth target rate, and / or the smaller of the first congestion window size and the third congestion window size can be used as the third target window size; and then traffic flows can be transmitted through the fourth target rate and / or the third target window size.
[0207] For example, in the embodiments of this application, such as Figure 5 As shown, the first node can also receive the fifth communication rate and / or the third congestion window size sent by the peer node, and then can use the smaller of the first and fifth communication rates as the fourth target rate, and / or use the smaller of the first and third congestion window sizes as the third target window size; thus, the service flow can be transmitted through the fourth target rate and / or the third target window size.
[0208] Furthermore, in the embodiments of this application, such as Figure 5 As shown, this service flow transmission method can also be applied to scenarios with distributed control modules and delay-based congestion control (CC). First, it includes the following premises: (1) Data express nodes / data ports have storage functions. They are in a DC or MEC and contain a gateway (e.g., a CE router). They are interconnected through the operator network and have data transmission needs; (2) The data express service network does not have a centralized service controller, but has multiple distributed service control modules (control devices) that can monitor their respective CE nodes and understand and analyze the available bandwidth of the data express nodes' exit and entry (e.g., more at night); (3) A suggested rate (first communication rate) is given based on historical experience and / or a suggested rate is given based on the network load situation. The latter can be a suggested rate calculated based on the value of the available exit bandwidth and the value of the number of exit data express flows for the data express service to use; or the suggested rate can be calculated in stages based on the number of requests, for example, several suggested rate levels are preset and adjusted when the number of active sessions exceeds the threshold; (4) There may be multiple servers or virtual machines in the data express nodes that need to interact across DCs.
[0209] It should be noted that in the embodiments of this application, in the scenario of distributed control module and delayed congestion control (Delay-based CC), the end side (first node) may include the following steps: (1) Sending transmission request (request information): If the data express service needs to be started and at a relevant time (e.g., at night), the corresponding server or the APP in the virtual machine starts special L4 layer processing (SSCC mode), specifically, sending its own service requirements to the service control module (control device) (in one embodiment, the control module may know less information at this time; however, distributed or centralized is just an implementation method, and distributed can also know all the information of centralized); (2) Obtaining suggested rate: receiving the suggested rate size (first communication rate) fed back by the service control module; (3) Starting transmission: after the connection is established, the APP skips the startup phase (optional) and directly enters the bandwidth / RTT detection phase, and at the same time follows the suggested rate.
[0210] (First communication rate), start data transmission; (4) Normal rate adjustment processing (BBR probe bandwidth stage): If it is determined that the speed can be increased, it will be processed according to the default BBR CC algorithm. If it is determined that the speed needs to be reduced, it will be calculated according to the BBR CC algorithm. However, if the target rate (fourth communication rate) calculated by the algorithm is less than the initial suggested rate (first communication rate), it will continue to transmit according to the initial suggested rate to avoid decelerating below the initial rate. For other stages of BBR, such as Drain and ProbeRTT stages, the relevant rate lower limit locking mechanism will not be started; (5) Adjustment of suggested rate: If it is found that the packet loss rate is continuously higher than the threshold for a period of time, the suggested transmission rate will be adjusted. At this time, it is also possible to choose to exit SSCC mode. The suggested rate can also be adjusted when the SS (third communication rate) updated by the control point is received. The control point side (control device) may include the following steps: (1) Feedback of suggested rate: After receiving a request (request information), the suggested sending rate (first communication rate) is fed back; in addition, the peer node (second node) also supports querying its own control module for the bandwidth and session status of the peer to obtain a suggested rate of the peer (fifth communication rate). The receiving end can carry the relevant rate through extended ACK and feed it back to the sending end to limit the sending rate; (2) Rate monitoring: After being enabled, the available bandwidth of the inlet and outlet of the data express node is monitored, as well as the number of data express streams at the outlet and the number of data express streams at the inlet; (3) Adjustment of suggested rate: When it is determined that the suggested sending rate needs to be changed, for example, when the number of active users decreases / increases (concurrent data stream status information), it is determined that the suggested rate needs to be adjusted and the relevant adjustment information (second adjustment information) is sent to the APP.
[0211] In summary, when the control device is a service controller, it can monitor all CE nodes connected to the data express nodes, thereby analyzing the available outgoing and incoming bandwidth of the data express nodes. When the control device is a gateway device (e.g., a CE router) connected to the data express nodes, the gateway device can deploy service control modules, thereby monitoring the respective CE nodes based on multiple distributed service control modules. This allows for the analysis of the available outgoing and incoming bandwidth of each data express node. Upon receiving a request from the first node, the control device can determine the first communication rate based on the request and different bandwidth information. After sending the first communication rate and / or the first congestion window size to the first node, it can monitor and process the status information of the corresponding outgoing concurrent data stream and / or incoming concurrent data stream of the relevant data express nodes. Therefore, when adjustments to the first communication rate are needed, the control device can send corresponding adjustment information to the first node, enabling the first node to adjust the first communication rate based on the relevant adjustment information. In other words, this application embodiment does not require network detection and can directly calculate the recommended first communication rate, which means that a portion of the bandwidth can be directly allocated to data express services, avoiding the problems in network detection and greatly improving the efficiency of service flow transmission.
[0212] This application provides a service flow transmission method, which is applied to a first node and a control device. The control device receives request information sent by the first node. The request information includes one or more of the following: identity information corresponding to the first node, identity information corresponding to a second node, and a desired rate value. The first node includes a source node for the service flow transmission, and the second node includes a destination node for the service flow transmission. Based on the request information, the method determines first information for the service flow transmission. The first information includes at least first transmission parameters, which include a first communication rate and / or a first congestion window size. The method sends the first information to the first node so that the first node transmits the service flow based on the first information. The first node sends request information to the control device. The request information includes one or more of the following: identity information corresponding to the first node, identity information corresponding to the second node, and a desired rate value. The method transmits the service flow based on the first information. Therefore, after receiving the request information sent by the first node, the control device can determine the first communication rate and / or the first congestion window size for the service flow transmission based on the request information. Then, it can send the first communication rate and / or the first congestion window size to the first node so that the first node can transmit the service flow based on the first communication rate and / or the first congestion window size. That is, the embodiments of this application can directly determine the first communication rate and / or the first congestion window size based on the request information, so that the first communication rate and / or the first congestion window size obtained by the first node are more accurate, thereby ensuring higher throughput and improving the transmission efficiency of the service flow.
[0213] Example 5
[0214] Based on the above embodiments, this application provides a control device. Figure 12 Schematic diagram of the control equipment's composition. Figure 1 ,like Figure 12 As shown, the control device 10 includes: a first receiving unit 11, a determining unit 12, and a first transmitting unit 13; wherein,
[0215] The first receiving unit 11 is used to receive request information sent by the first node; wherein, the request information includes one or more of the identity information corresponding to the first node, the identity information corresponding to the second node, and the expected rate value, the first node includes the source node of the service flow transmission, and the second node includes the destination node of the service flow transmission;
[0216] The determining unit 12 is used to determine first information of the service flow transmission based on the request information; wherein the first information includes at least a first transmission parameter, the first transmission parameter including a first communication rate, and / or a first congestion window size;
[0217] The first sending unit 13 is used to send the first information to the first node so that the first node can transmit the service flow based on the first information.
[0218] In the embodiments of this application, further, Figure 13 Schematic diagram of the control equipment's composition. Figure 2 ,like Figure 13 As shown, the control device 10 proposed in this application embodiment may further include a first processor 14, a first memory 15 storing instructions executable by the first processor 14, and further, the control device 10 may further include a first communication interface 16 and a first bus 17 for connecting the first processor 14, the first memory 15 and the first communication interface 16.
[0219] In the embodiments of this application, the first processor 14 can be at least one of the following: Application-Specific Integrated Circuit (ASIC), Digital Signal Processor (DSP), Digital Signal Processing Device (DSPD), Programmable Logic Device (PLD), Field Programmable Gate Array (FPGA), Central Processing Unit (CPU), controller, microcontroller, and microprocessor. It is understood that for different devices, the electronic device used to implement the above-mentioned processor function can also be other types, and this application embodiment does not specifically limit this. The control device 10 may further include a first memory 15, which can be connected to the first processor 14. The first memory 15 is used to store executable program code, which includes computer operation instructions. The first memory 15 may include high-speed RAM memory and may also include non-volatile memory, such as at least two disk drives.
[0220] In embodiments of this application, the first bus 17 is used to connect the first communication interface 16, the first processor 14, and the first memory 15, as well as the mutual communication between these devices.
[0221] In embodiments of this application, the first memory 15 is used to store instructions and data.
[0222] Further, in an embodiment of this application, the first processor 14 is configured to receive request information sent by a first node; wherein the request information includes one or more of the following: identity information corresponding to the first node, identity information corresponding to a second node, and a desired rate value; the first node includes a source node for service flow transmission, and the second node includes a destination node for the service flow transmission; determine first information for the service flow transmission based on the request information; wherein the first information includes at least a first transmission parameter, the first transmission parameter including a first communication rate, and / or a first congestion window size; and send the first information to the first node so that the first node transmits the service flow based on the first information.
[0223] In practical applications, the first memory 15 can be volatile memory, such as random-access memory (RAM); or non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid-state drive (SSD); or a combination of the above types of memory, and provide instructions and data to the first processor 14.
[0224] This application provides a control device that receives request information sent by a first node. The request information includes one or more of the following: identity information corresponding to the first node, identity information corresponding to a second node, and a desired rate value. The first node includes a source node for service flow transmission, and the second node includes a destination node for service flow transmission. Based on the request information, the control device determines first information for service flow transmission. The first information includes at least first transmission parameters, which include a first communication rate and / or a first congestion window size. The control device then sends the first information to the first node so that the first node transmits the service flow based on the first information. Therefore, after receiving the request information sent by the first node, the control device can determine the first communication rate and / or the first congestion window size for the service flow transmission based on the request information. Then, it can send the first communication rate and / or the first congestion window size to the first node so that the first node can transmit the service flow based on the first communication rate and / or the first congestion window size. That is, the embodiments of this application can directly determine the first communication rate and / or the first congestion window size based on the request information, so that the first communication rate and / or the first congestion window size obtained by the first node is more accurate, thereby ensuring a higher throughput and improving the transmission efficiency of the service flow.
[0225] This application provides a computer-readable storage medium storing a program thereon, which, when executed by a processor, implements the service flow transmission method described above.
[0226] Specifically, the program instructions corresponding to a service flow transmission method in this embodiment can be stored on storage media such as optical discs, hard disks, and USB flash drives. When the program instructions corresponding to a service flow transmission method in the storage media are read or executed by an electronic device, the following steps are included:
[0227] Receive request information sent by a first node; wherein, the request information includes one or more of the identity information corresponding to the first node, the identity information corresponding to the second node, and the desired rate value, the first node includes the source node of the service flow transmission, and the second node includes the destination node of the service flow transmission;
[0228] The first information for the service flow transmission is determined based on the request information; wherein the first information includes at least a first transmission parameter, the first transmission parameter including a first communication rate, and / or a first congestion window size;
[0229] The first information is sent to the first node so that the first node can transmit the service flow based on the first information.
[0230] This application also provides a computer program product, including a computer program that can be executed by a first processor 14 of a control device 10 to perform the steps described in any of the foregoing methods.
[0231] In the embodiments of this application, further, Figure 14 Schematic diagram of the composition structure of the first node Figure 1 ,like Figure 14 As shown, the first node 20 includes: a second sending unit 21, a second receiving unit 22, and a transmission unit 23; wherein,
[0232] The second sending unit 21 is used to send request information to the control device; wherein, the request information includes one or more of the identity information corresponding to the first node, the identity information corresponding to the second node, and the desired rate value;
[0233] The second receiving unit 22 is used to receive first information sent by the control device; wherein the first information includes at least a first transmission parameter, the first transmission parameter including a first communication rate, and / or a first congestion window size;
[0234] The transmission unit 23 is used to transmit the service flow based on the first information.
[0235] In the embodiments of this application, further, Figure 15 Schematic diagram of the composition structure of the first node Figure 2 ,like Figure 15 As shown, the first node 20 proposed in this application embodiment may further include a second processor 24, a second memory 25 storing instructions executable by the second processor 24, and further, the first node 20 may also include a second communication interface 26 and a second bus 27 for connecting the second processor 24, the second memory 25 and the second communication interface 26.
[0236] In the embodiments of this application, the second processor 24 can be at least one of the following: Application-Specific Integrated Circuit (ASIC), Digital Signal Processor (DSP), Digital Signal Processing Device (DSPD), Programmable Logic Device (PLD), Field-Programmable Gate Array (FPGA), Central Processing Unit (CPU), Controller, Microcontroller, and Microprocessor. It is understood that for different devices, the electronic device used to implement the above-mentioned processor function can also be other types, and this application embodiment does not specifically limit this. The first node 20 may also include a second memory 25, which can be connected to the second processor 24. The second memory 25 is used to store executable program code, which includes computer operation instructions. The second memory 25 may include high-speed RAM memory and may also include non-volatile memory, such as at least two disk drives.
[0237] In embodiments of this application, the second bus 27 is used to connect the second communication interface 26, the second processor 24, and the second memory 25, as well as the mutual communication between these devices.
[0238] In embodiments of this application, the second memory 25 is used to store instructions and data.
[0239] Further, in an embodiment of this application, the second processor 24 is configured to send request information to a control device; wherein the request information includes one or more of the identity information corresponding to the first node, the identity information corresponding to the second node, and a desired rate value; receive first information sent by the control device; wherein the first information includes at least a first transmission parameter, the first transmission parameter including a first communication rate, and / or a first congestion window size; and transmit the service flow based on the first information.
[0240] In practical applications, the second memory 25 can be volatile memory, such as random-access memory (RAM); or non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid-state drive (SSD); or a combination of the above types of memory, and provide instructions and data to the second processor 24.
[0241] This application provides a first node that sends request information to a control device. The request information includes one or more of the following: identity information corresponding to the first node, identity information corresponding to a second node, and a desired rate value. The first node receives first information sent by the control device. The first information includes at least first transmission parameters, including a first communication rate and / or a first congestion window size. Service flow transmission is performed based on the first information. Therefore, after sending request information to the control device, the first node can receive the first information sent by the control device. The first information represents the first communication rate and / or the first congestion window size, allowing service flow transmission to be performed based on the first communication rate and / or the first congestion window size. This makes the first communication rate and / or the first congestion window size obtained by the first node more accurate, thereby ensuring higher throughput and improving the transmission efficiency of service flow.
[0242] This application provides a computer-readable storage medium storing a program thereon, which, when executed by a processor, implements the service flow transmission method described above.
[0243] Specifically, the program instructions corresponding to a service flow transmission method in this embodiment can be stored on storage media such as optical discs, hard disks, and USB flash drives. When the program instructions corresponding to a service flow transmission method in the storage media are read or executed by an electronic device, the following steps are included:
[0244] Send a request message to the control device; wherein the request message includes one or more of the following: the identity information corresponding to the first node, the identity information corresponding to the second node, and the desired rate value;
[0245] Receive first information sent by the control device; wherein the first information includes at least a first transmission parameter, the first transmission parameter including a first communication rate, and / or a first congestion window size;
[0246] The service flow is transmitted based on the first information.
[0247] This application also provides a computer program product, including a computer program that can be executed by a second processor 24 of a first node 20 to perform the steps described in any of the foregoing methods.
[0248] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of hardware embodiments, software embodiments, or embodiments combining software and hardware aspects. Furthermore, this application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage and optical storage) containing computer-usable program code.
[0249] This application is described with reference to schematic and / or block diagrams of implementations of methods, apparatus (systems), and computer program products according to embodiments of this application. It should be understood that each block of the schematic and / or block diagrams can be implemented by computer program instructions, and combinations of blocks in the schematic and / or block diagrams can be implemented. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create a machine for implementing the schematic and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0250] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in the implementation flow diagram. Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0251] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0252] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application.
Claims
1. A method of transmitting a service stream, characterized by, The method is applied to a control device, and the method comprises: receiving request information sent by a first node; wherein the request information comprises identity information corresponding to the first node, identity information corresponding to a second node, and an expected rate value, the first node comprising a source node of a service flow transmission, and the second node comprising a destination node of the service flow transmission; determining first information of the service flow transmission based on the request information; wherein the first information at least comprises a first transmission parameter, the first transmission parameter comprising a first communication rate and a first congestion window size; the first communication rate being determined based on the request information, an egress bandwidth corresponding to the first node, and an ingress bandwidth corresponding to the second node; sending the first information to the first node, so that the first node performs transmission of the service flow based on the first information.
2. The method of claim 1, wherein, The first communication rate is determined based on the request information, the egress bandwidth corresponding to the first node, and the ingress bandwidth corresponding to the second node, comprising: the first communication rate is determined based on the request information, a first egress bandwidth corresponding to the first node, a first ingress bandwidth corresponding to the second node, a first number of egress service flows corresponding to the first node, and a first number of ingress service flows corresponding to the second node.
3. The method of claim 2, wherein, After the first information is sent to the first node, the method further comprises: monitoring second information corresponding to the first egress bandwidth and third information corresponding to the first ingress bandwidth; wherein the second information is used to represent state information of concurrent data flows of the first egress, and the third information is used to represent state information of concurrent data flows of the first ingress; in a case where the second information satisfies a first preset condition, adjusting the first communication rate based on the second information to obtain a second communication rate; and / or, in a case where the third information satisfies the first preset condition, adjusting the first communication rate based on the third information to obtain the second communication rate; sending first adjustment information to the first node, so that the first node updates the first communication rate based on the first adjustment information; wherein the first adjustment information at least comprises the second communication rate.
4. The method of claim 2, wherein, After the first information is sent to the first node, the method further comprises: monitoring fourth information corresponding to the first egress bandwidth; wherein the fourth information is used to represent state information of concurrent data flows of the first egress; in a case where the fourth information satisfies a first preset condition, adjusting the first communication rate based on the fourth information to obtain a third communication rate; sending second adjustment information to the first node, so that the first node updates the first communication rate based on the second adjustment information; wherein the second adjustment information at least comprises the third communication rate.
5. A method of transmitting a service stream, characterized by, The method is applied to a first node, and the method comprises: sending request information to a control device; wherein the request information comprises identity information corresponding to the first node, identity information corresponding to the second node, and an expected rate value; the first node comprises a source node of a service flow transmission, and the second node comprises a destination node of the service flow transmission; receiving first information sent by the control device; wherein the first information comprises at least a first transmission parameter, and the first transmission parameter comprises a first communication rate and a first congestion window size; the first communication rate is determined based on the request information, an egress bandwidth corresponding to the first node, and an ingress bandwidth corresponding to the second node; transmitting the service flow based on the first information.
6. The method of claim 5, wherein, The method further comprises: continuously measuring a round-trip time (RTT) corresponding to a packet in the service flow transmission, adjusting a current transmission rate based on change information of the RTT and a first preset algorithm to obtain a fourth communication rate; and / or, when detecting that there is a packet loss in the service flow transmission, adjusting a current window size based on a second preset algorithm to obtain a second congestion window size; taking a larger rate between the first communication rate and the fourth communication rate as a first target rate, and / or, taking a larger window size between the first congestion window size and the second congestion window size as a first target window size; transmitting the service flow by the first target rate and / or the first target window size.
7. The method of claim 5, wherein, The method further comprises: when receiving first adjustment information or second adjustment information sent by the control device, updating the first communication rate based on the first adjustment information or the second adjustment information to obtain an updated second target rate; wherein the first adjustment information comprises at least a second communication rate, and the second adjustment information comprises at least a third communication rate; transmitting the service flow based on the second target rate.
8. The method of claim 5, wherein, The method further comprises: when a packet loss rate corresponding to the service flow is greater than or equal to a first preset threshold, adjusting the first communication rate to a third target rate based on a preset ratio value, and / or, adjusting the first congestion window size to a second target window size based on the preset ratio value; transmitting the service flow based on the third target rate and / or the second target window size.
9. The method of claim 5, wherein, The method further comprises: receiving fifth information sent by the second node; wherein the fifth information comprises at least a second transmission parameter, and the second transmission parameter comprises a fifth communication rate and / or a third congestion window size; the fifth information is obtained based on an ingress available bandwidth of the second node and an ingress service flow quantity; the second node comprises a peer node of the first node; taking a smaller rate between the first communication rate and the fifth communication rate as a fourth target rate, and / or, taking a smaller window size between the first congestion window size and the third congestion window size as a third target window size; The transmission of the service flow is performed based on the fourth target rate and / or the third target window size.
10. The method of claim 8, wherein, After the transmission of the service flow is performed based on the third target rate and / or the second target window size, the method further comprises: If the packet loss rate corresponding to the service flow is greater than or equal to a second preset threshold, performing the transmission of the service flow based on a first preset mode; wherein the first preset mode comprises a congestion control algorithm mode.
11. A control device characterized by comprising: The control device comprises a first receiving unit, a determining unit and a first sending unit; wherein, The first receiving unit is configured to receive request information sent by a first node; wherein the request information comprises identity information corresponding to the first node, identity information corresponding to a second node and an expected rate value, the first node comprises a source node of service flow transmission, and the second node comprises a destination node of the service flow transmission; The determining unit is configured to determine first information of the service flow transmission based on the request information; wherein the first information at least comprises a first transmission parameter, the first transmission parameter comprises a first communication rate and a first congestion window size; the first communication rate is determined based on the request information, an egress bandwidth corresponding to the first node and an ingress bandwidth corresponding to the second node; The first sending unit is configured to send the first information to the first node, so that the first node performs the transmission of the service flow based on the first information.
12. A first node, characterized in that, The first node comprises a second sending unit, a second receiving unit and a transmission unit; wherein, The second sending unit is configured to send request information to a control device; wherein the request information comprises identity information corresponding to the first node, identity information corresponding to a second node and an expected rate value; the first node comprises a source node of service flow transmission, and the second node comprises a destination node of the service flow transmission; The second receiving unit is configured to receive first information sent by the control device; wherein the first information at least comprises a first transmission parameter, the first transmission parameter comprises a first communication rate and a first congestion window size; the first communication rate is determined based on the request information, an egress bandwidth corresponding to the first node and an ingress bandwidth corresponding to the second node; The transmission unit is configured to perform the transmission of the service flow based on the first information.
13. An electronic device, comprising: The electronic device comprises a processor and a memory; wherein, The memory is configured to store a computer program capable of running on the processor; The processor is configured to execute the method of any one of claims 1-4 or 5-10 when running the computer program.
14. A computer-readable storage medium, characterized in that, The storage medium has computer program code stored thereon, which, when executed by a computer, executes the method of any one of claims 1-4 or 5-10.
15. A computer program product comprising a computer program, characterized in that, The computer program, when executed by a processor, implements the method according to any one of claims 1-4 or 5-10. The computer program, when executed by a processor, implements the method according to any one of claims 1-4 or 5-10.
Citation Information
Patent Citations
Data sending rate control method and device, electronic equipment and storage medium
CN116668373A
Load control method and apparatus for CDMA cellular system having circuit and packet switched terminals
US5790534A