Traffic scheduling method and device based on remote in-band telemetry and time delay

By obtaining the cumulative queue length and data round trip time between data centers, using the proportional integral controller to accurately quantify the degree of congestion and control the size of the congestion window, the problem of high traffic delay between data centers is solved, and rapid congestion signal convergence and efficient traffic scheduling are achieved.

CN116489091BActive Publication Date: 2025-08-15TSINGHUA UNIVERSITY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310318525.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-28
Publication Date
2025-08-15
Estimated Expiration
2043-03-28

AI Technical Summary

Technical Problem

The existing hybrid congestion control method has high traffic delays between data centers and it is difficult to accurately estimate the bottleneck link capacity, resulting in coarse granularity of the congestion signal and slow convergence.

Method used

By obtaining the cumulative queue length and data round trip time, using the proportional integral controller to determine the control factor, accurately quantify the congestion degree of each traffic scheduling path, and control the congestion window size according to the congestion degree to realize traffic scheduling.

Benefits of technology

The convergence speed of congestion signals is accelerated and the efficiency of solving congestion problems during traffic scheduling is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116489091B_ABST
    Figure CN116489091B_ABST
Patent Text Reader

Abstract

The present application relates to a traffic scheduling method, apparatus, computer equipment, storage medium, and computer program product based on remote in-band telemetry and time delay. The method comprises: obtaining the cumulative queue length and the data round-trip time; for different traffic scheduling paths, determining the control factor corresponding to each traffic scheduling path according to the proportional-integral controller corresponding to each traffic scheduling path, the cumulative queue length, and the data round-trip time; controlling the congestion window size and scheduling the traffic of the traffic scheduling path according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling strategy corresponding to the traffic scheduling path. The use of this method can accelerate the convergence speed of the congestion signal and speed up the solution to the congestion problem in the traffic scheduling process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of Internet information technology, and in particular to a traffic scheduling method, apparatus, computer equipment, storage medium, and computer program product based on remote in-band telemetry and time delay. Background Art

[0002] With the development of cloud service technology, the link bandwidth of data centers has grown rapidly. However, the size of switch buffers cannot meet the link bandwidth of data centers. Therefore, traffic between data centers often generates deep queues, resulting in higher traffic latency.

[0003] Traditionally, hybrid congestion control approaches have been used to address the high latency of inter-DC traffic and the difficulty in estimating bottleneck link capacity. In inter-DC scenarios, hybrid congestion control addresses DC congestion and WAN congestion separately, taking into account the heterogeneity of the WAN and DCs, as well as the interaction between traffic from different sources.

[0004] However, in the current hybrid congestion control method, because the congestion signal obtained in the data center under hybrid congestion control is inaccurate and the amount of information is small, there is a problem of coarse granularity of the congestion signal, which leads to slow convergence. Summary of the Invention

[0005] Based on this, it is necessary to provide a traffic scheduling method, device, computer equipment, computer-readable storage medium and computer program product based on remote in-band telemetry and delay to address the above technical problems.

[0006] In a first aspect, the present application provides a traffic scheduling method based on remote in-band telemetry and latency. The method comprises:

[0007] Obtaining a cumulative queue length and a data round-trip time; the cumulative queue length represents the total queue length of the cache queues of the programmable switches between the data centers in the first traffic scheduling path; the data round-trip time represents the round-trip time of the traffic data between the local data center and the wide area network in the second traffic scheduling path;

[0008] For different traffic scheduling paths, determining a control factor corresponding to each traffic scheduling path according to a proportional-integral controller corresponding to each traffic scheduling path, the accumulated queue length, and the data round-trip time;

[0009] According to the control factor corresponding to each of the traffic scheduling paths and the target traffic scheduling strategy corresponding to the traffic scheduling path, the congestion window size is controlled to schedule the traffic of the traffic scheduling path.

[0010] In one embodiment, for different traffic scheduling paths, determining a control factor corresponding to each traffic scheduling path based on a proportional-integral controller corresponding to each traffic scheduling path, the accumulated queue length, and the data round-trip time includes:

[0011] determining first congestion information based on a cumulative queue length between data centers in the first traffic scheduling path;

[0012] determining second congestion information based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path;

[0013] A first control factor is determined according to the first congestion information and a first proportional-integral controller, and a second control factor is determined according to the second congestion information and a second proportional-integral controller.

[0014] In one embodiment, determining first congestion information based on the accumulated queue lengths between data centers in the first traffic scheduling path includes:

[0015] Accumulate the queue lengths of the data packets at the programmable switch ports of each data center to obtain the cumulative queue length;

[0016] determining the first congestion information according to the accumulated queue length;

[0017] The determining, based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path, second congestion information includes:

[0018] During the round trip of the data packet between the data center and the wide area network, second congestion information in the wide area network is predicted based on the round trip time without congestion and the round trip time with congestion.

[0019] In one embodiment, the first congestion information includes a first congestion level and a first congestion change trend, and the second congestion information includes a second congestion level and a second congestion change trend; and determining the first congestion information based on the accumulated queue lengths between data centers in the first traffic scheduling path includes:

[0020] Determining a difference between a cumulative queue length when congestion occurs between data centers in the first traffic scheduling path and a queue length threshold as the first congestion degree, determining a difference between the cumulative queue length when congestion occurs and the cumulative queue length when there is no congestion as a first congestion change trend, and using the first congestion degree and the first congestion change trend as first congestion information;

[0021] The determining, based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path, second congestion information includes:

[0022] The difference between the round-trip time of data when congestion occurs and the round-trip time threshold is determined as the second congestion level, and the difference between the round-trip time of data when congestion occurs and the round-trip time of data when there is no congestion is determined as the second congestion change trend; the second congestion level and the second congestion change trend are used as the second congestion information.

[0023] In one embodiment, determining the first control factor based on the first congestion information and a first proportional-integral controller, and determining the second control factor based on the second congestion information and a second proportional-integral controller, includes:

[0024] In the current flow adjustment control cycle, weights are assigned to the first congestion degree and the first congestion change trend according to a first proportional integral parameter in a first proportional integral controller to obtain a first initial control factor;

[0025] Summing the first initial control factor and the first control factor of the previous cycle to obtain the current first control factor;

[0026] In the current flow adjustment control cycle, weights are assigned to the second congestion degree and the second congestion change trend according to a first proportional integral parameter in a second proportional integral controller to obtain a second initial control factor;

[0027] The second initial control factor is summed with the second control factor of the previous cycle to obtain the current second control factor.

[0028] In one embodiment, controlling the congestion window size and scheduling the traffic of the traffic scheduling path according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling policy corresponding to the traffic scheduling path includes:

[0029] Determining a location where congestion occurs in the local data center based on a magnitude relationship between the first control factor and the second control factor;

[0030] When the congestion situation of the local data center occurs between data centers, determining the congestion window between the data centers according to the first control factor and a preset weight function;

[0031] When the congestion situation of the local data center occurs between wide area networks, the congestion window between the wide area networks is determined according to the second control factor.

[0032] In one embodiment, when the congestion situation of the local data center occurs between data centers, determining the congestion window between the data centers according to the first control factor and a preset weight function includes:

[0033] In the case where congestion in the local data center occurs between data centers, the value of the weight function is determined based on the byte length of the data packet sent;

[0034] A congestion window between the data centers is determined according to a preset activation function, a value of the weight function, and the first control factor.

[0035] In a second aspect, the present application also provides a traffic scheduling device based on remote in-band telemetry and time delay. The device includes:

[0036] An acquisition module is configured to acquire a cumulative queue length and a data round-trip time; the cumulative queue length represents the total queue length of the cache queues of the programmable switches between the data centers in the first traffic scheduling path; the data round-trip time represents the round-trip time of the traffic data between the local data center and the wide area network in the second traffic scheduling path;

[0037] a determination module, configured to determine, for different traffic scheduling paths, a control factor corresponding to each traffic scheduling path according to a proportional-integral controller corresponding to each traffic scheduling path, the accumulated queue length, and the data round-trip time;

[0038] The control module is used to control the congestion window size and schedule the traffic of the traffic scheduling path according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling strategy corresponding to the traffic scheduling path.

[0039] In one embodiment, the determining module is specifically configured to:

[0040] determining first congestion information based on a cumulative queue length between data centers in the first traffic scheduling path;

[0041] determining second congestion information based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path;

[0042] A first control factor is determined according to the first congestion information and a first proportional-integral controller, and a second control factor is determined according to the second congestion information and a second proportional-integral controller.

[0043] In one embodiment, the determining module is specifically configured to:

[0044] Accumulate the queue lengths of the data packets at the programmable switch ports of each data center to obtain the cumulative queue length;

[0045] determining the first congestion information according to the accumulated queue length;

[0046] The determining, based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path, second congestion information includes:

[0047] During the round trip of the data packet between the data center and the wide area network, second congestion information in the wide area network is predicted based on the round trip time without congestion and the round trip time with congestion.

[0048] In one embodiment, the determining module is specifically configured to:

[0049] Determining a difference between a cumulative queue length when congestion occurs between data centers in the first traffic scheduling path and a queue length threshold as the first congestion degree, determining a difference between the cumulative queue length when congestion occurs and the cumulative queue length when there is no congestion as a first congestion change trend, and using the first congestion degree and the first congestion change trend as first congestion information;

[0050] The determining, based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path, second congestion information includes:

[0051] The difference between the round-trip time of data when congestion occurs and the round-trip time threshold is determined as the second congestion level, and the difference between the round-trip time of data when congestion occurs and the round-trip time of data when there is no congestion is determined as the second congestion change trend; the second congestion level and the second congestion change trend are used as the second congestion information.

[0052] In one embodiment, the determining module is specifically configured to:

[0053] In the current flow adjustment control cycle, weights are assigned to the first congestion degree and the first congestion change trend according to a first proportional integral parameter in a first proportional integral controller to obtain a first initial control factor;

[0054] Summing the first initial control factor and the first control factor of the previous cycle to obtain the current first control factor;

[0055] In the current flow adjustment control cycle, weights are assigned to the second congestion degree and the second congestion change trend according to a first proportional integral parameter in a second proportional integral controller to obtain a second initial control factor;

[0056] The second initial control factor is summed with the second control factor of the previous cycle to obtain the current second control factor.

[0057] In one embodiment, the control module is specifically configured to:

[0058] Determining a location where congestion occurs in the local data center based on a magnitude relationship between the first control factor and the second control factor;

[0059] When the congestion situation of the local data center occurs between data centers, determining the congestion window between the data centers according to the first control factor and a preset weight function;

[0060] When the congestion situation of the local data center occurs between wide area networks, the congestion window between the wide area networks is determined according to the second control factor.

[0061] In one embodiment, the control module is specifically configured to:

[0062] In the case where congestion in the local data center occurs between data centers, the value of the weight function is determined based on the byte length of the data packet sent;

[0063] A congestion window between the data centers is determined according to a preset activation function, a value of the weight function, and the first control factor.

[0064] In a third aspect, the present application further provides a computer device. The computer device includes a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are performed:

[0065] Obtaining a cumulative queue length and a data round-trip time; the cumulative queue length represents the total queue length of the cache queues of the programmable switches between the data centers in the first traffic scheduling path; the data round-trip time represents the round-trip time of the traffic data between the local data center and the wide area network in the second traffic scheduling path;

[0066] For different traffic scheduling paths, determining a control factor corresponding to each traffic scheduling path according to a proportional-integral controller corresponding to each traffic scheduling path, the accumulated queue length, and the data round-trip time;

[0067] According to the control factor corresponding to each of the traffic scheduling paths and the target traffic scheduling strategy corresponding to the traffic scheduling path, the congestion window size is controlled to schedule the traffic of the traffic scheduling path.

[0068] In one embodiment, for different traffic scheduling paths, determining a control factor corresponding to each traffic scheduling path based on a proportional-integral controller corresponding to each traffic scheduling path, the accumulated queue length, and the data round-trip time includes:

[0069] determining first congestion information based on a cumulative queue length between data centers in the first traffic scheduling path;

[0070] determining second congestion information based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path;

[0071] A first control factor is determined according to the first congestion information and a first proportional-integral controller, and a second control factor is determined according to the second congestion information and a second proportional-integral controller.

[0072] In one embodiment, determining first congestion information based on the accumulated queue lengths between data centers in the first traffic scheduling path includes:

[0073] Accumulate the queue lengths of the data packets at the programmable switch ports of each data center to obtain the cumulative queue length;

[0074] determining the first congestion information according to the accumulated queue length;

[0075] The determining, based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path, second congestion information includes:

[0076] During the round trip of the data packet between the data center and the wide area network, second congestion information in the wide area network is predicted based on the round trip time without congestion and the round trip time with congestion.

[0077] In one embodiment, the first congestion information includes a first congestion level and a first congestion change trend, and the second congestion information includes a second congestion level and a second congestion change trend; and determining the first congestion information based on the accumulated queue lengths between data centers in the first traffic scheduling path includes:

[0078] Determining a difference between a cumulative queue length when congestion occurs between data centers in the first traffic scheduling path and a queue length threshold as the first congestion degree, determining a difference between the cumulative queue length when congestion occurs and the cumulative queue length when there is no congestion as a first congestion change trend, and using the first congestion degree and the first congestion change trend as first congestion information;

[0079] The determining, based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path, second congestion information includes:

[0080] The difference between the round-trip time of data when congestion occurs and the round-trip time threshold is determined as the second congestion level, and the difference between the round-trip time of data when congestion occurs and the round-trip time of data when there is no congestion is determined as the second congestion change trend; the second congestion level and the second congestion change trend are used as the second congestion information.

[0081] In one embodiment, determining the first control factor based on the first congestion information and a first proportional-integral controller, and determining the second control factor based on the second congestion information and a second proportional-integral controller, includes:

[0082] In the current flow adjustment control cycle, weights are assigned to the first congestion degree and the first congestion change trend according to a first proportional integral parameter in a first proportional integral controller to obtain a first initial control factor;

[0083] Summing the first initial control factor and the first control factor of the previous cycle to obtain the current first control factor;

[0084] In the current flow adjustment control cycle, weights are assigned to the second congestion degree and the second congestion change trend according to a first proportional integral parameter in a second proportional integral controller to obtain a second initial control factor;

[0085] The second initial control factor is summed with the second control factor of the previous cycle to obtain the current second control factor.

[0086] In one embodiment, controlling the congestion window size and scheduling the traffic of the traffic scheduling path according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling policy corresponding to the traffic scheduling path includes:

[0087] Determining a location where congestion occurs in the local data center based on a magnitude relationship between the first control factor and the second control factor;

[0088] When the congestion situation of the local data center occurs between data centers, determining the congestion window between the data centers according to the first control factor and a preset weight function;

[0089] When the congestion situation of the local data center occurs between wide area networks, the congestion window between the wide area networks is determined according to the second control factor.

[0090] In one embodiment, when the congestion situation of the local data center occurs between data centers, determining the congestion window between the data centers according to the first control factor and a preset weight function includes:

[0091] In the case where congestion in the local data center occurs between data centers, the value of the weight function is determined based on the byte length of the data packet sent;

[0092] A congestion window between the data centers is determined according to a preset activation function, a value of the weight function, and the first control factor.

[0093] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the following steps:

[0094] Obtaining a cumulative queue length and a data round-trip time; the cumulative queue length represents the total queue length of the cache queues of the programmable switches between the data centers in the first traffic scheduling path; the data round-trip time represents the round-trip time of the traffic data between the local data center and the wide area network in the second traffic scheduling path;

[0095] For different traffic scheduling paths, determining a control factor corresponding to each traffic scheduling path according to a proportional-integral controller corresponding to each traffic scheduling path, the accumulated queue length, and the data round-trip time;

[0096] According to the control factor corresponding to each of the traffic scheduling paths and the target traffic scheduling strategy corresponding to the traffic scheduling path, the congestion window size is controlled to schedule the traffic of the traffic scheduling path.

[0097] In one embodiment, for different traffic scheduling paths, determining a control factor corresponding to each traffic scheduling path based on a proportional-integral controller corresponding to each traffic scheduling path, the accumulated queue length, and the data round-trip time includes:

[0098] determining first congestion information based on a cumulative queue length between data centers in the first traffic scheduling path;

[0099] determining second congestion information based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path;

[0100] A first control factor is determined according to the first congestion information and a first proportional-integral controller, and a second control factor is determined according to the second congestion information and a second proportional-integral controller.

[0101] In one embodiment, determining first congestion information based on the accumulated queue lengths between data centers in the first traffic scheduling path includes:

[0102] Accumulate the queue lengths of the data packets at the programmable switch ports of each data center to obtain the cumulative queue length;

[0103] determining the first congestion information according to the accumulated queue length;

[0104] The determining, based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path, second congestion information includes:

[0105] During the round trip of the data packet between the data center and the wide area network, second congestion information in the wide area network is predicted based on the round trip time without congestion and the round trip time with congestion.

[0106] In one embodiment, the first congestion information includes a first congestion level and a first congestion change trend, and the second congestion information includes a second congestion level and a second congestion change trend; and determining the first congestion information based on the accumulated queue lengths between data centers in the first traffic scheduling path includes:

[0107] Determining a difference between a cumulative queue length when congestion occurs between data centers in the first traffic scheduling path and a queue length threshold as the first congestion degree, determining a difference between the cumulative queue length when congestion occurs and the cumulative queue length when there is no congestion as a first congestion change trend, and using the first congestion degree and the first congestion change trend as first congestion information;

[0108] The determining, based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path, second congestion information includes:

[0109] The difference between the round-trip time of data when congestion occurs and the round-trip time threshold is determined as the second congestion level, and the difference between the round-trip time of data when congestion occurs and the round-trip time of data when there is no congestion is determined as the second congestion change trend; the second congestion level and the second congestion change trend are used as the second congestion information.

[0110] In one embodiment, determining the first control factor based on the first congestion information and a first proportional-integral controller, and determining the second control factor based on the second congestion information and a second proportional-integral controller, includes:

[0111] In the current flow adjustment control cycle, weights are assigned to the first congestion degree and the first congestion change trend according to a first proportional integral parameter in a first proportional integral controller to obtain a first initial control factor;

[0112] Summing the first initial control factor and the first control factor of the previous cycle to obtain the current first control factor;

[0113] In the current flow adjustment control cycle, weights are assigned to the second congestion degree and the second congestion change trend according to a first proportional integral parameter in a second proportional integral controller to obtain a second initial control factor;

[0114] The second initial control factor is summed with the second control factor of the previous cycle to obtain the current second control factor.

[0115] In one embodiment, controlling the congestion window size and scheduling the traffic of the traffic scheduling path according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling policy corresponding to the traffic scheduling path includes:

[0116] Determining a location where congestion occurs in the local data center based on a magnitude relationship between the first control factor and the second control factor;

[0117] When the congestion situation of the local data center occurs between data centers, determining the congestion window between the data centers according to the first control factor and a preset weight function;

[0118] When the congestion situation of the local data center occurs between wide area networks, the congestion window between the wide area networks is determined according to the second control factor.

[0119] In one embodiment, when the congestion situation of the local data center occurs between data centers, determining the congestion window between the data centers according to the first control factor and a preset weight function includes:

[0120] In the case where congestion in the local data center occurs between data centers, the value of the weight function is determined based on the byte length of the data packet sent;

[0121] A congestion window between the data centers is determined according to a preset activation function, a value of the weight function, and the first control factor.

[0122] In a fifth aspect, the present application further provides a computer program product. The computer program product includes a computer program that, when executed by a processor, implements the following steps:

[0123] Obtaining a cumulative queue length and a data round-trip time; the cumulative queue length represents the total queue length of the cache queues of the programmable switches between the data centers in the first traffic scheduling path; the data round-trip time represents the round-trip time of the traffic data between the local data center and the wide area network in the second traffic scheduling path;

[0124] For different traffic scheduling paths, determining a control factor corresponding to each traffic scheduling path according to a proportional-integral controller corresponding to each traffic scheduling path, the accumulated queue length, and the data round-trip time;

[0125] According to the control factor corresponding to each of the traffic scheduling paths and the target traffic scheduling strategy corresponding to the traffic scheduling path, the congestion window size is controlled to schedule the traffic of the traffic scheduling path.

[0126] The above-mentioned traffic scheduling method, device, computer equipment, storage medium and computer program product based on remote in-band telemetry and delay can obtain the accurate queue length in each data center switch through the programmable switch between data centers, and then obtain a more accurate congestion degree for quantifying each traffic scheduling path based on the cumulative queue length, data round-trip time and proportional integral controller, and determine the control factor for traffic scheduling based on the congestion degree, which can accelerate the convergence speed of the congestion signal and speed up the solution to the congestion problem in the traffic scheduling process. BRIEF DESCRIPTION OF THE DRAWINGS

[0127] Figure 1 FIG1 is an application environment diagram of a traffic scheduling method based on remote in-band telemetry and delay in one embodiment;

[0128] Figure 2 1 is a flow chart of a traffic scheduling method based on remote in-band telemetry and delay in one embodiment;

[0129] Figure 3 Schematic diagram of a flow chart of the steps of determining the first control factor and the second control factor in one embodiment;

[0130] Figure 4 FIG1 is a flow chart of steps of determining first congestion information and second congestion information in one embodiment;

[0131] Figure 5 1 is a flow chart of the steps of calculating the first congestion information and the second congestion information in one embodiment;

[0132] Figure 6 Schematic diagram of a flow chart of the steps for calculating the first control factor and the second control factor in one embodiment;

[0133] Figure 7A schematic diagram of a flow chart of the steps of determining congestion windows for different traffic scheduling paths in one embodiment;

[0134] Figure 8 A schematic diagram of a flow chart of a step of determining a congestion window of a first traffic scheduling path in one embodiment;

[0135] Figure 9 1 is a flow chart illustrating an example of a traffic scheduling method based on remote in-band telemetry and delay in one embodiment;

[0136] Figure 10 1 is a block diagram of a flow scheduling device based on remote in-band telemetry and time delay in one embodiment;

[0137] Figure 11 FIG. 1 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0138] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0139] The traffic scheduling method based on remote in-band telemetry and time delay provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown. Among them, the local data center server 102 communicates with another data center server 104 through the network, and the local data center 102 communicates with the wide area network 106 through the network. The data storage system can store the data that the local data center server 102 needs to process. The data storage system can be integrated on the local data center server 102, or it can be placed on the cloud or other network servers. The local data center server 102 obtains the cumulative queue length and the data round-trip time; the local data center server 102 determines the control factor corresponding to each traffic scheduling path according to the proportional integral controller, cumulative queue length and data round-trip time corresponding to each traffic scheduling path for different traffic scheduling paths; the local data center server 102 controls the congestion window size according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling strategy corresponding to the traffic scheduling path, and schedules the traffic of the traffic scheduling path. The local data center 102 or another data center server 104 can be implemented with an independent server or a server cluster consisting of multiple servers.

[0140] In one embodiment, Figure 2 As shown in the figure, a traffic scheduling method based on remote in-band telemetry and delay is provided. Figure 1This example uses the local data center server in the example, including the following steps:

[0141] Step 202: Obtain the accumulated queue length and data round-trip time.

[0142] The cumulative queue length represents the total queue length of the cache queues of the programmable switches between the data centers in the first traffic scheduling path. The data round trip time represents the round trip time of the traffic data between the local data center and the wide area network in the second traffic scheduling path.

[0143] In an embodiment of the present application, the switch used in the data center is a p4 programmable switch, which supports INT (Inband Network Telemetry). In this embodiment, the p4 programmable switch can record the queue length of the port in the switch in real time in the data packet. After receiving the data packet, the local data center server can accurately obtain the queue length in each data center.

[0144] The local data center server obtains the accumulated queue lengths between the local data center and other data centers, and the round-trip time (RTT) of traffic data between the local data center and the wide area network.

[0145] Step 204 : for different traffic scheduling paths, determine the control factor corresponding to each traffic scheduling path according to the proportional-integral controller, the accumulated queue length, and the data round-trip time corresponding to each traffic scheduling path.

[0146] In an embodiment of the present application, the local data center server utilizes different proportional-integral controllers for the traffic scheduling paths between data centers and the traffic scheduling paths between the local data center and the wide area network. The proportional-integral controllers are used to determine proportional-integral parameters for the different traffic scheduling paths. The local data center server can determine the inter-data center control factor based on the proportional-integral parameter corresponding to the first traffic scheduling path and the accumulated queue length. The local data center server can then determine the control factor between the local data center and the wide area network based on the proportional-integral parameter corresponding to the second scheduling path and the data round-trip time.

[0147] Step 206 : According to the control factor corresponding to each traffic scheduling path and the target traffic scheduling policy corresponding to the traffic scheduling path, the congestion window size is controlled to schedule the traffic of the traffic scheduling path.

[0148] In an embodiment of the present application, different traffic scheduling paths have different target traffic scheduling strategies. Specifically, the traffic scheduling strategy of the traffic scheduling path between data centers includes adjusting the congestion window according to the length of the data flow of the data packet; the traffic scheduling strategy corresponding to the traffic scheduling path between the local data center and the wide area network is determined according to the control factor between the local data center and the wide area network.

[0149] The local data center server determines the traffic scheduling path corresponding to the congestion location based on the control factors corresponding to different traffic scheduling paths, and controls the size of the congestion window based on the traffic scheduling strategy corresponding to the traffic scheduling path at the congestion location, thereby scheduling the data traffic on the traffic scheduling path.

[0150] Optionally, the local data center server performs traffic scheduling for multiple data packets, has multiple traffic scheduling cycles, and controls the congestion window size in real time according to the data packets in different cycles to perform traffic scheduling.

[0151] In the above-mentioned traffic scheduling method based on remote in-band telemetry and latency, the programmable switch between data centers can obtain the accurate queue length in each data center switch, and then based on the cumulative queue length, data round-trip time and proportional integral controller, it can obtain a more accurate method for quantifying the congestion level in each traffic scheduling path, and determine the control factor for traffic scheduling based on the congestion level, which can accelerate the convergence speed of the congestion signal and speed up the solution to the congestion problem in the traffic scheduling process.

[0152] In one embodiment, Figure 3 As shown, step 204 determines the control factor corresponding to each traffic scheduling path according to the proportional-integral controller, accumulated queue length, and data round-trip time corresponding to each traffic scheduling path, including:

[0153] Step 302: Determine first congestion information based on the accumulated queue lengths between data centers in the first traffic scheduling path.

[0154] In an embodiment of the present application, when a data packet passes through a programmable switch of each data center, the data packet may record the queue length carried by the INT of the programmable switch port.

[0155] After the local data center sends a data packet to the receiving data center, the data packet accumulates the queue length in each programmable switch port to obtain the cumulative queue length. After this data packet arrives at the receiving data center, the receiving data center server inserts the cumulative queue length into the ACK (Acknowledge character). When the local data center receives this ACK, it can obtain the accurate cumulative queue length and obtain the first congestion information based on the cumulative queue length determined by the data packets in different cycles.

[0156] Step 304 : Determine second congestion information based on the round-trip time of data between the local data center and the wide area network in the second traffic scheduling path.

[0157] In an embodiment of the present application, after the local data center receives the ACK, the local data center can calculate the data round-trip time based on the ACK, and can determine the second congestion information based on the data round-trip time calculated based on the data packets in different periods.

[0158] Step 306 : Determine a first control factor according to the first congestion information and the first proportional-integral controller, and determine a second control factor according to the second congestion information and the second proportional-integral controller.

[0159] In an embodiment of the present application, the local data center server determines the ratio of the first control factor to the second control factor based on a PI (proportion integral) controller corresponding to each traffic scheduling path.

[0160] In this embodiment, the queue length carried by the INT signal of the programmable switch port can be used to accurately calculate the cumulative queue length. This accurate cumulative queue length can be used to obtain first congestion information, thereby obtaining a first control factor corresponding to the traffic scheduling path between data centers. Simultaneously, the local data center can predict second congestion information based on the round-trip time of data, thereby obtaining a second control factor. In determining the first and second control factors, a PI controller can ensure that the congestion signal quickly converges to a fixed point.

[0161] In one embodiment, Figure 4 As shown, step 302 determines first congestion information based on the accumulated queue lengths between data centers in the first traffic scheduling path, including:

[0162] Step 402 : Accumulate the queue lengths of the programmable switch ports of each data center according to the data packets to obtain a cumulative queue length.

[0163] In an embodiment of the present application, the local data center server may accumulate the queue lengths of the programmable switch ports in each data center carried by the data packets in the current cycle, and may determine the accumulated queue length used to calculate the first congestion information.

[0164] Step 404: Determine first congestion information based on the accumulated queue length.

[0165] In an embodiment of the present application, the local data center server determines the minimum cumulative queue length observed in the previous RTT and the minimum cumulative queue length of the current period based on the cumulative queue lengths carried by data packets in different periods. At the same time, the user sets a queue length threshold within the data center, and determines the minimum cumulative queue length observed in the previous RTT, the minimum cumulative queue length of the current period, and the queue length threshold within the data center as the first congestion information.

[0166] Therefore, step 304 determines the second congestion information based on the round-trip time of data between the local data center and the wide area network in the second traffic scheduling path, including:

[0167] Step 406 : During the round trip of the data packet between the data center and the wide area network, second congestion information in the wide area network is predicted based on the round trip time of the data without congestion and the round trip time of the data with congestion.

[0168] In an embodiment of the present application, the local data center server determines the minimum round-trip time observed over a long period of time as the basic round-trip time, that is, the round-trip time without congestion, and determines the minimum round-trip time observed in the last cycle as the round-trip time when congestion occurs. At the same time, the user sets a round-trip time threshold, and determines the minimum round-trip time observed in the previous cycle of the current cycle, the basic round-trip time, the round-trip time when congestion occurs, and the round-trip time threshold as the second congestion information.

[0169] In this embodiment, the programmable switch determines the precise cumulative queue length and the data round-trip cycle of different periods, and can respectively determine the first congestion information and the second congestion information used to calculate the control factor, thereby completing congestion detection between data centers and congestion monitoring between the local data center and the wide area network.

[0170] In one embodiment, Figure 5 As shown, step 302 determines first congestion information based on the accumulated queue lengths between data centers in the first traffic scheduling path, including:

[0171] In step 502, the difference between the cumulative queue length when congestion occurs between the data centers in the first traffic scheduling path and the queue length threshold is determined as the first congestion level, the difference between the cumulative queue length when congestion occurs and the cumulative queue length when there is no congestion is determined as the first congestion change trend, and the first congestion level and the first congestion change trend are used as the first congestion information.

[0172] The first congestion information includes a first congestion level and a first congestion change trend, and the second congestion information includes a second congestion level and a second congestion change trend.

[0173] In the embodiment of the present application, the local data center server determines the difference between the cumulative queue length when congestion occurs and the queue length threshold as the first congestion level, as shown in the following formula:

[0174] ΔqLen=(qLen-min-qLen T )

[0175] Among them, ΔqLen is the first congestion level, qLen_min is the cumulative queue length when congestion occurs, and qLen T The queue length threshold.

[0176] The local data center server determines the difference between the cumulative queue length when congestion occurs and the cumulative queue length when there is no congestion as the first congestion change trend, as shown in the following formula:

[0177]

[0178] in, is the first congestion change trend, and qLen_old is the cumulative queue length when there is no congestion.

[0179] Finally, the local data center server determines the first congestion level and the first congestion change trend as first congestion information.

[0180] Therefore, step 304 determines the second congestion information based on the round-trip time of data between the local data center and the wide area network in the second traffic scheduling path, including:

[0181] Step 504: Determine the difference between the round-trip time of data when congestion occurs and the round-trip time threshold as the second congestion level, and determine the difference between the round-trip time of data when congestion occurs and the round-trip time of data when there is no congestion as the second congestion change trend; and use the second congestion level and the second congestion change trend as the second congestion information.

[0182] In the embodiment of the present application, the local data center server determines the difference between the round-trip time when congestion occurs and the round-trip time threshold as the second congestion level, as shown in the following formula:

[0183] Δrtt=(rtt_min-rtt T )

[0184] Among them, Δrtt is the second congestion level, rtt_min is the round trip time when congestion occurs, and rtt T is the round trip time threshold.

[0185] The local data center server determines the difference between the round-trip time when congestion occurs and the round-trip time when there is no congestion as the second congestion change trend, as shown in the following formula:

[0186]

[0187] in, is the second congestion change trend, and rtt_old is the round-trip time when there is no congestion.

[0188] In this embodiment, the first congestion change trend and the second congestion change trend are derivatives, which can achieve rapid convergence in calculating the first control factor and the second control factor. The first control factor and the second control factor can quantify the congestion degree, thereby enabling rapid convergence of the congestion signal.

[0189] In one embodiment, Figure 6 As shown, step 306 determines the first control factor according to the first congestion information and the first proportional-integral controller, and determines the second control factor according to the second congestion information and the second proportional-integral controller, including:

[0190] Step 602: In the current flow control cycle, weights are assigned to the first congestion degree and the first congestion change trend according to the first proportional integral parameter in the first proportional integral controller to obtain a first initial control factor.

[0191] In an embodiment of the present application, a proportional-integral controller is used to correct the proportional and differential terms to reduce errors in the proportion used to determine the weight. During the current flow control cycle, the local data center server adjusts a first proportional-integral parameter of the first proportional-integral controller and determines a first initial control factor based on the weight assigned by the first proportional-integral parameter to the first congestion level and the first congestion change in the first congestion information.

[0192] Step 604: sum the first initial control factor and the first control factor of the previous cycle to obtain a current first control factor.

[0193] In the embodiment of the present application, the local data center server sums the first initial control factor and the first control factor of the previous cycle to obtain the first control factor of the current flow adjustment cycle, as shown in the following formula:

[0194]

[0195] Among them, u(t) is the first control factor, u(t-1) is the first control factor of the previous cycle, K p1 is the first congestion proportional integral parameter, K d1 is the proportional integral parameter of the first congestion change trend.

[0196] Step 606: During the current flow control cycle, weights are assigned to the second congestion degree and the second congestion change trend according to the first proportional integral parameter in the second proportional integral controller to obtain a second initial control factor.

[0197] In an embodiment of the present application, during the current flow control cycle, the local data center server adjusts the second proportional integral parameter of the second proportional integral controller, and determines the second initial control factor based on the allocation weights of the second congestion degree and the second congestion change in the second congestion information by the second proportional integral parameter.

[0198] Step 608: sum the second initial control factor and the second control factor of the previous cycle to obtain the current second control factor.

[0199] In the embodiment of the present application, the local data center server sums the second initial control factor and the second control factor of the previous cycle to obtain the current second control factor, as shown in the following formula:

[0200]

[0201] Among them, m(t) is the second control factor, m(t-1) is the second control factor of the previous cycle, K p2 is the second congestion proportional integral parameter, K d2 is the proportional integral parameter of the second congestion change trend.

[0202] In this embodiment, the proportional-integral controller can ensure that the first control factor and the second control factor converge to a fixed point. At the same time, the first congestion change trend and the second change trend are derivatives, which can achieve rapid convergence.

[0203] In one embodiment, Figure 7 As shown, step 206 controls the congestion window size and schedules the traffic of the traffic scheduling path according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling policy corresponding to the traffic scheduling path, including:

[0204] Step 702: Determine the location where congestion occurs in the local data center based on the magnitude relationship between the first control factor and the second control factor.

[0205] In an embodiment of the present application, the first control factor represents the quantification of the congestion situation between data centers, and the second control factor represents the quantification of the congestion situation between the local data center and the wide area network. When the value of the first control factor is greater than the value of the second control factor, that is, u(t)>m(t), the local data center server determines that the congestion situation occurs between data centers; when the value of the first control factor is less than the value of the second control factor, that is, u(t)<m(t), the local data center server determines that the congestion situation occurs between the local data center and the wide area network.

[0206] Step 704 : When the congestion situation of the local data center occurs between data centers, determine the congestion window between the data centers according to the first control factor and a preset weight function.

[0207] The weight function adjusts the value of the weight function according to the size of the data packet flow.

[0208] In an embodiment of the present application, since the congestion occurs between data centers, the local data center server needs to take into account the impact between long traffic and short traffic, so the size of the congestion window is adjusted according to the value of the first control factor and the weight function. When the data packet is a long traffic, the congestion window becomes smaller, and when the data packet is a short traffic, the congestion window becomes larger. By increasing the transmission speed of short traffic, the performance of short traffic is increased, and the loss of short traffic packets is avoided.

[0209] Step 706: When the congestion of the local data center occurs between wide area networks, determine a congestion window between wide area networks according to a second control factor.

[0210] In an embodiment of the present application, when the congestion situation of the local data center occurs between wide area networks, the local data center server adaptively adjusts the congestion window between wide area networks according to the second control factor.

[0211] In this embodiment, the congestion window between data centers is adjusted by the flow size of the first control factor data packet, the transmission rate of short traffic between data centers is optimized, and the transmission performance of short traffic between local data centers is improved.

[0212] In one embodiment, Figure 8 As shown, in step 704, when the congestion situation of the local data center occurs between data centers, determining the congestion window between data centers based on the first control factor and the preset weight function includes:

[0213] Step 802 : When congestion in the local data center occurs between data centers, a value of a weight function is determined according to the byte length of the transmitted data packet.

[0214] In an embodiment of the present application, when congestion in the local data center occurs between data centers, the local data center server adjusts the value of the weight function according to the byte length of the data packet sent. Specifically, the value of the weight function increases with the increase in the number of bytes sent in the data packet.

[0215] Step 804 : Determine the congestion window between data centers based on the preset activation function, the value of the weight function, and the first control factor.

[0216] In the embodiment of the present application, the activation function can be determined as 1-tanh(), and the local data center server scales the adjustment size of the congestion window to the interval (0, 2) to eliminate the limitations of the MIMD (multiplicative increase and multiplicative decrease) algorithm, thereby determining the size of the inter-data center congestion window according to the value of the weight function and the first control factor, as shown in the following formula:

[0217] cwnd=cwnd×(1-tanh(max(u(t),m(t)))

[0218] Here, cwnd represents the congestion window.

[0219] In this embodiment, the congestion window between data centers is determined by a weight function, which can produce a smaller backoff penalty for short traffic containing data packets with fewer bytes, so that the transmission of short traffic between data centers occupies a larger bandwidth, reduces the queue occupied by short traffic, and improves the transmission performance of short traffic between data centers.

[0220] The embodiment of the present application also provides an example of a traffic scheduling method based on remote in-band telemetry and delay, such as Figure 9 As shown, the specific steps include:

[0221] Step 901, receiving ACK;

[0222] Step 902, extracting a congestion signal;

[0223] Step 903: determining first congestion information according to INT, and determining a first control factor according to the first congestion information;

[0224] Step 904: predict second congestion information based on the round-trip time of the delayed data, and determine a second control factor based on the second congestion information;

[0225] Step 905: Determine whether congestion occurs between data centers. If congestion occurs between data centers, execute step 906. If congestion occurs between the local data center and the wide area network, execute step 907.

[0226] Step 906, optimizing and adjusting the control window based on the short traffic flow;

[0227] Step 907: adaptively adjust the congestion window.

[0228] It should be understood that, although the various steps in the flowcharts involved in the various embodiments described above are displayed in sequence according to the instructions of the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the flowcharts involved in the various embodiments described above can include multiple steps or multiple stages, and these steps or stages are not necessarily executed and completed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a portion of steps or stages in other steps.

[0229] Based on the same inventive concept, an embodiment of the present application further provides a traffic scheduling device for implementing the aforementioned traffic scheduling method based on remote in-band telemetry and time delay. The implementation solution provided by the device is similar to the implementation solution described in the aforementioned method. Therefore, the specific limitations in one or more embodiments of the traffic scheduling device based on remote in-band telemetry and time delay provided below can be found in the above-mentioned limitations on the traffic scheduling method based on remote in-band telemetry and time delay, and will not be repeated here.

[0230] In one embodiment, Figure 10 As shown, a flow scheduling device 1000 based on remote in-band telemetry and time delay is provided, comprising: an acquisition module 1001, a determination module 1002 and a control module 1003, wherein:

[0231] Acquisition module 1001 is used to obtain the cumulative queue length and data round-trip time; the cumulative queue length represents the total queue length of the cache queues of the programmable switches between the data centers in the first traffic scheduling path; the data round-trip time represents the round-trip time of the traffic data between the local data center and the wide area network in the second traffic scheduling path;

[0232] Determining module 1002, for determining, for different traffic scheduling paths, a control factor corresponding to each traffic scheduling path based on a proportional-integral controller corresponding to each traffic scheduling path, accumulated queue length, and data round-trip time;

[0233] The control module 1003 is configured to control the congestion window size and schedule the traffic of the traffic scheduling path according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling policy corresponding to the traffic scheduling path.

[0234] In one embodiment, the determination module 1002 is specifically configured to:

[0235] determining first congestion information based on cumulative queue lengths between data centers in the first traffic scheduling path;

[0236] determining second congestion information based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path;

[0237] A first control factor is determined according to the first congestion information and a first proportional-integral controller, and a second control factor is determined according to the second congestion information and a second proportional-integral controller.

[0238] In one embodiment, the determination module 1002 is specifically configured to:

[0239] The queue length of the data packets at the programmable switch ports of each data center is accumulated to obtain the cumulative queue length;

[0240] determining first congestion information according to the accumulated queue length;

[0241] Determining second congestion information based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path includes:

[0242] During the round trip of the data packet between the data center and the wide area network, second congestion information in the wide area network is predicted based on the round trip time in a non-congested situation and the round trip time in a congested situation.

[0243] In one embodiment, the determination module 1002 is specifically configured to:

[0244] Determine the difference between the cumulative queue length when congestion occurs between the data centers in the first traffic scheduling path and the queue length threshold as a first congestion degree, determine the difference between the cumulative queue length when congestion occurs and the cumulative queue length when there is no congestion as a first congestion change trend, and use the first congestion degree and the first congestion change trend as first congestion information;

[0245] Determining second congestion information based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path includes:

[0246] The difference between the round-trip time of data when congestion occurs and the round-trip time threshold is determined as the second congestion level, and the difference between the round-trip time of data when congestion occurs and the round-trip time of data when there is no congestion is determined as the second congestion change trend; the second congestion level and the second congestion change trend are used as the second congestion information.

[0247] In one embodiment, the determination module 1002 is specifically configured to:

[0248] In the current flow adjustment control cycle, weights are assigned to the first congestion degree and the first congestion change trend according to a first proportional integral parameter in the first proportional integral controller to obtain a first initial control factor;

[0249] The first initial control factor is summed with the first control factor of the previous cycle to obtain the current first control factor;

[0250] In the current flow adjustment control cycle, weights are assigned to the second congestion degree and the second congestion change trend according to the first proportional integral parameter in the second proportional integral controller to obtain a second initial control factor;

[0251] The second initial control factor is summed with the second control factor of the previous cycle to obtain the current second control factor.

[0252] In one embodiment, the control module 1003 is specifically configured to:

[0253] Determining a location where congestion occurs in the local data center based on a magnitude relationship between the first control factor and the second control factor;

[0254] When the congestion situation of the local data center occurs between data centers, determining the congestion window between the data centers according to the first control factor and a preset weight function;

[0255] When the congestion situation of the local data center occurs between wide area networks, the congestion window between wide area networks is determined according to the second control factor.

[0256] In one embodiment, the control module 1003 is specifically configured to:

[0257] In the case where congestion in the local data center occurs between data centers, the value of the weight function is determined based on the byte length of the data packet sent;

[0258] The congestion window between data centers is determined according to a preset activation function, a value of a weight function, and a first control factor.

[0259] Each module in the above-mentioned traffic scheduling device can be implemented in whole or in part through software, hardware, or a combination thereof. Each of the above-mentioned modules can be embedded in or independent of the processor in the computer device in hardware form, or can be stored in the memory of the computer device in software form, so that the processor can call and execute the corresponding operations of each of the above modules.

[0260] In one embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as follows: Figure 11As shown. The computer device includes a processor, a memory, a communication interface, a display screen and an input device connected via a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be achieved through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. When the computer program is executed by the processor, a traffic scheduling method based on remote in-band telemetry and delay is implemented.

[0261] Those skilled in the art will understand that Figure 11 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0262] In one embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the following steps are implemented:

[0263] Obtaining the cumulative queue length and data round-trip time; the cumulative queue length represents the total queue length of the cache queues of the programmable switches between the data centers in the first traffic scheduling path; the data round-trip time represents the round-trip time of the traffic data between the local data center and the wide area network in the second traffic scheduling path;

[0264] For different traffic scheduling paths, the control factor corresponding to each traffic scheduling path is determined based on the proportional-integral controller, accumulated queue length, and data round-trip time corresponding to each traffic scheduling path;

[0265] According to the control factor corresponding to each traffic scheduling path and the target traffic scheduling strategy corresponding to the traffic scheduling path, the congestion window size is controlled and the traffic of the traffic scheduling path is scheduled.

[0266] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0267] determining first congestion information based on cumulative queue lengths between data centers in the first traffic scheduling path;

[0268] determining second congestion information based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path;

[0269] A first control factor is determined according to the first congestion information and a first proportional-integral controller, and a second control factor is determined according to the second congestion information and a second proportional-integral controller.

[0270] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0271] The queue length of the data packets at the programmable switch ports of each data center is accumulated to obtain the cumulative queue length;

[0272] determining first congestion information according to the accumulated queue length;

[0273] Determining second congestion information based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path includes:

[0274] During the round trip of the data packet between the data center and the wide area network, second congestion information in the wide area network is predicted based on the round trip time in a non-congested situation and the round trip time in a congested situation.

[0275] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0276] Determine the difference between the cumulative queue length when congestion occurs between the data centers in the first traffic scheduling path and the queue length threshold as a first congestion degree, determine the difference between the cumulative queue length when congestion occurs and the cumulative queue length when there is no congestion as a first congestion change trend, and use the first congestion degree and the first congestion change trend as first congestion information;

[0277] Determining second congestion information based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path includes:

[0278] The difference between the round-trip time of data when congestion occurs and the round-trip time threshold is determined as the second congestion level, and the difference between the round-trip time of data when congestion occurs and the round-trip time of data when there is no congestion is determined as the second congestion change trend; the second congestion level and the second congestion change trend are used as the second congestion information.

[0279] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0280] In the current flow adjustment control cycle, weights are assigned to the first congestion degree and the first congestion change trend according to a first proportional integral parameter in the first proportional integral controller to obtain a first initial control factor;

[0281] The first initial control factor is summed with the first control factor of the previous cycle to obtain the current first control factor;

[0282] In the current flow adjustment control cycle, weights are assigned to the second congestion degree and the second congestion change trend according to the first proportional integral parameter in the second proportional integral controller to obtain a second initial control factor;

[0283] The second initial control factor is summed with the second control factor of the previous cycle to obtain the current second control factor.

[0284] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0285] Determining a location where congestion occurs in the local data center based on a magnitude relationship between the first control factor and the second control factor;

[0286] When the congestion situation of the local data center occurs between data centers, determining the congestion window between the data centers according to the first control factor and a preset weight function;

[0287] When the congestion situation of the local data center occurs between wide area networks, the congestion window between wide area networks is determined according to the second control factor.

[0288] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0289] In the case where congestion in the local data center occurs between data centers, the value of the weight function is determined based on the byte length of the data packet sent;

[0290] A congestion window between the data centers is determined according to a preset activation function, a value of the weight function, and the first control factor.

[0291] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.

[0292] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.

[0293] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.

[0294] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, database or other media used in the embodiments provided in this application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory may include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processor involved in the various embodiments provided herein may be, but are not limited to, a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, and the like.

[0295] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0296] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.

Claims

1. A traffic scheduling method based on remote in-band telemetry and time delay, characterized in that: The method comprises: Obtaining a cumulative queue length and a data round-trip time; the cumulative queue length represents the total queue length of the cache queues of the programmable switches between the data centers in the first traffic scheduling path; the data round-trip time represents the round-trip time of the traffic data between the local data center and the wide area network in the second traffic scheduling path; For different traffic scheduling paths, determining a control factor corresponding to each traffic scheduling path according to a proportional-integral controller corresponding to each traffic scheduling path, the accumulated queue length, and the data round-trip time; Control the congestion window size according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling policy corresponding to the traffic scheduling path, and schedule the traffic of the traffic scheduling path; The controlling of the congestion window size and scheduling of the traffic of the traffic scheduling path according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling policy corresponding to the traffic scheduling path includes: Determining a location where congestion occurs in the local data center based on a magnitude relationship between the first control factor and the second control factor; When the congestion situation of the local data center occurs between data centers, determining the congestion window between the data centers according to the first control factor and a preset weight function; When the congestion situation of the local data center occurs between wide area networks, the congestion window between the wide area networks is determined according to the second control factor.

2. The method according to claim 1, characterized in that The determining, for different traffic scheduling paths, of a control factor corresponding to each traffic scheduling path based on a proportional-integral controller corresponding to each traffic scheduling path, the accumulated queue length, and the data round-trip time, includes: determining first congestion information based on a cumulative queue length between data centers in the first traffic scheduling path; determining second congestion information based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path; A first control factor is determined according to the first congestion information and a first proportional-integral controller, and a second control factor is determined according to the second congestion information and a second proportional-integral controller.

3. The method according to claim 2, characterized in that The determining first congestion information according to the accumulated queue lengths between the data centers in the first traffic scheduling path includes: Accumulate the queue lengths of the data packets at the programmable switch ports of each data center to obtain the cumulative queue length; determining the first congestion information according to the accumulated queue length; The determining, based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path, second congestion information includes: During the round trip of the data packet between the data center and the wide area network, second congestion information in the wide area network is predicted based on the round trip time without congestion and the round trip time with congestion.

4. The method according to claim 2, characterized in that The first congestion information includes a first congestion level and a first congestion change trend, and the second congestion information includes a second congestion level and a second congestion change trend. Determining the first congestion information based on the accumulated queue lengths between data centers in the first traffic scheduling path includes: Determining a difference between a cumulative queue length when congestion occurs between data centers in the first traffic scheduling path and a queue length threshold as the first congestion degree, determining a difference between the cumulative queue length when congestion occurs and the cumulative queue length when there is no congestion as a first congestion change trend, and using the first congestion degree and the first congestion change trend as first congestion information; The determining, based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path, second congestion information includes: The difference between the round-trip time of data when congestion occurs and the round-trip time threshold is determined as the second congestion level, and the difference between the round-trip time of data when congestion occurs and the round-trip time of data when there is no congestion is determined as the second congestion change trend; the second congestion level and the second congestion change trend are used as the second congestion information.

5. The method according to claim 4, characterized in that The determining of the first control factor according to the first congestion information and a first proportional-integral controller, and the determining of the second control factor according to the second congestion information and a second proportional-integral controller, include: In the current flow adjustment control cycle, weights are assigned to the first congestion degree and the first congestion change trend according to a first proportional integral parameter in a first proportional integral controller to obtain a first initial control factor; Summing the first initial control factor and the first control factor of the previous cycle to obtain the current first control factor; In the current flow adjustment control cycle, weights are assigned to the second congestion degree and the second congestion change trend according to a first proportional integral parameter in a second proportional integral controller to obtain a second initial control factor; The second initial control factor is summed with the second control factor of the previous cycle to obtain the current second control factor.

6. The method according to claim 1, characterized in that When the congestion situation of the local data center occurs between data centers, determining the congestion window between the data centers according to the first control factor and a preset weight function includes: In the case where congestion in the local data center occurs between data centers, the value of the weight function is determined based on the byte length of the data packet sent; A congestion window between the data centers is determined according to a preset activation function, a value of the weight function, and the first control factor.

7. A traffic scheduling device based on remote in-band telemetry and time delay, characterized in that: The device comprises: An acquisition module is configured to acquire a cumulative queue length and a data round-trip time; the cumulative queue length represents the total queue length of the cache queues of the programmable switches between the data centers in the first traffic scheduling path; the data round-trip time represents the round-trip time of the traffic data between the local data center and the wide area network in the second traffic scheduling path; a determination module, configured to determine, for different traffic scheduling paths, a control factor corresponding to each traffic scheduling path according to a proportional-integral controller corresponding to each traffic scheduling path, the accumulated queue length, and the data round-trip time; A control module, configured to control the congestion window size and schedule the traffic of each traffic scheduling path according to a control factor corresponding to each traffic scheduling path and a target traffic scheduling policy corresponding to the traffic scheduling path; The control module is specifically configured to determine a location where congestion occurs in the local data center based on a magnitude relationship between the first control factor and the second control factor; When the congestion situation of the local data center occurs between data centers, determining the congestion window between the data centers according to the first control factor and a preset weight function; When the congestion situation of the local data center occurs between wide area networks, the congestion window between the wide area networks is determined according to the second control factor.

8. The device according to claim 7, characterized in that The determining module is specifically configured to determine first congestion information based on the accumulated queue lengths between the data centers in the first traffic scheduling path; determining second congestion information based on a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path; A first control factor is determined according to the first congestion information and a first proportional-integral controller, and a second control factor is determined according to the second congestion information and a second proportional-integral controller.

9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.