Time sensitive flow scheduling method based on differential transmission mode
By adopting differentiated transmission mode in the network and selecting the optimal path and transmission mode, the bandwidth waste and computing complexity problems in time-sensitive streaming transmission are solved, and efficient deterministic service quality is achieved.
Patent Information
- Application Number
- CN202510370916.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-27
- Publication Date
- 2025-07-22
AI Technical Summary
The existing time-sensitive streaming methods have problems such as wasted bandwidth, high computing complexity and redundant queueing delay, resulting in low network transmission efficiency and inability to meet the deterministic service quality requirements.
Using differentiated transmission mode, by setting fast transmission mode and slow transmission mode in the network, selecting the optimal path and transmission mode according to stream characteristics and service quality needs, reducing redundant queuing delay and optimizing bandwidth utilization.
It improves the network's flow acceptance and throughput, reduces the computing complexity, and achieves shorter queueing delays and more efficient deterministic transmission service quality.
Smart Images

Figure CN120358199A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of wide - area deterministic network transmission. Specifically, it relates to the field of time - sensitive flow data transmission scheduling. More specifically, it relates to a time - sensitive flow scheduling method based on a differentiated transmission mode. Background Art
[0002] The continuous development of 5G and 6G technologies has given rise to a series of emerging network applications. Among them, time - sensitive applications such as autonomous driving, telemedicine, and augmented reality have deterministic requirements for the quality of service of network transmission: the end - to - end transmission delay and jitter need to reach milliseconds or even microseconds with boundedness. The traditional IP network forwards packets in a best - effort mode, which will cause a significant increase in the packet forwarding delay when the network is congested and cannot meet the deterministic quality - of - service requirements of the above - mentioned applications. Although existing mechanisms such as differentiated services, traffic engineering, and congestion control can reduce the probability of network congestion and make the network exit the congested state as soon as possible after congestion occurs, they can only provide statistical quality of service and cannot guarantee the boundedness of transmission delay and jitter.
[0003] To achieve deterministic transmission in bridged and three - layer networks, the Internet Engineering Task Force (IETF) has established the Deterministic Networking Working Group (DetNet WG) to promote related research work. In the three - layer deterministic network (DetNet), the Cycle Specified Queuing and Forwarding (CSQF) mechanism with a specified period is the key to achieving bounded forwarding delay and jitter for time - sensitive flows and is adopted by the vast majority of researchers. Routers supporting CSQF divide the transmission time of the output interface into equal - length cycles and set multiple forwarding queues (usually 3) for periodically receiving and sending packets. Considering the influence of link transmission delay and clock drift, the cycles of different nodes may have a phase difference, resulting in the packets sent in a certain cycle by the upstream node arriving in two cycles of the downstream node. Therefore, the queues in CSQF use two cycles to receive packets and uniformly forward them in the third cycle.
[0004] In the default configuration of three forwarding queues, only one queue sends data packets in each cycle (called the sending queue), and the other two queues receive data packets (called the receiving queue and the tolerance queue). When the next cycle arrives, the sending queue of the previous cycle changes state to the tolerance queue, the receiving queue changes to the sending queue, and the tolerance queue changes to the receiving queue. The queue status changes continuously with the cycle, so that the data packets in any queue can be sent to the next hop within a limited cycle, thereby achieving the determinism of the traffic transmission process.
[0005] The researchers have demonstrated through theoretical derivation and live network experiments that the CSQF mechanism can provide deterministic quality of service for time-sensitive flows, and its end-to-end delay upper bound can be controlled within Within, among which, is the number of hops in the streaming path, is the period length of the deterministic network; the jitter upper bound is , which is independent of the transmission path. By using additional receiving cycles and receiving queues, CSQF relaxes the restrictions on clock synchronization and link propagation delay. Nodes only need to maintain equal clock cycles, making it feasible for application in wide-area large-scale networks.
[0006] In order to ensure the reliable transmission of time-sensitive flows (i.e., time-sensitive business flows) on transmission paths with sufficient network resources, it is necessary to schedule the time-sensitive flows and calculate the forwarding paths that meet the delay, jitter, and bandwidth constraints. Among them, the delay and jitter of time-sensitive flows mainly depend on the queuing delay at each hop. To solve the scheduling problem of time-sensitive flows, researchers proposed the following two scheduling methods based on the CSQF mechanism:
[0007] 1) Scheduling method based on fixed rate cap: In this method, the control plane of the network will calculate the shaping rate of time-sensitive flows, which will remain consistent in different cycles, limiting the maximum amount of data that can enter the deterministic network in each cycle. Before entering the deterministic network, time-sensitive flows will undergo traffic shaping at the edge gateway, and their bursts will be evenly distributed in different cycles, thereby maintaining the stability of the amount of data entering the network from the edge nodes of the deterministic network at the cycle granularity.
[0008] Among them, the control plane of the first method can monitor and manage network resources at a fixed rate according to time-sensitive flows, ensuring that the amount of data to be sent at the output port of any forwarding node within one cycle does not exceed the port bandwidth, thereby preventing the accumulation of data packets in the queue and the occurrence of network congestion. The forwarding nodes of the deterministic network forward the data packets of time-sensitive flows using a fixed cycle mapping: receive the data packets sent by the upstream node in one cycle in two cycles, and forward them to the next hop in the third cycle after the two receiving cycles, ensuring that the queuing delay of the flow data packets at each hop does not exceed two cycles. The control plane of the network can calculate the end-to-end shaping delay and queuing delay of the time-sensitive flow on a certain transmission path based on the above information, and add them to the total link propagation delay to obtain the delay boundary of the time-sensitive flow, and then determine whether the flow constraint conditions can be met.
[0009] 2) The scheduling method based on supercycle, which introduces the concept of supercycle and sets the supercycle by calculating the least common multiple of the sending intervals of each time-sensitive flow. Each supercycle consists of several cycles and is regarded as a complete round of sending in the network.
[0010] Among them, the control plane of the second method will schedule time-sensitive flows at the granularity of the supercycle, maintaining the stability of the amount of data entering the deterministic network from the edge nodes within each supercycle, but not setting a unified rate upper limit for time-sensitive flows in each cycle. Since the maximum amount of data that time-sensitive flows enter the intermediate network in each cycle can be different, the flows can avoid traffic conflicts by waiting for more cycles at the edge nodes and forwarding nodes, which are called the initial offset and cycle shift of the flow respectively. The control plane of the network will try to calculate the initial offset and cycle shift of the flow on each possible transmission path until a feasible transmission method that meets the flow quality of service requirements is found.
[0011] Comparing and analyzing the above two types of scheduling methods, the following results are obtained:
[0012] The first scheduling method is simpler, with fewer decision variables and a low-dimensional solution space, and has significant advantages in terms of running time. However, this method will reserve network bandwidth equal to the shaping rate for the flow on the flow transmission path. The shaping rate of the flow limits the maximum amount of data transmitted by the flow in each cycle (i.e., limits the maximum average rate). In most cases, the actual arrival rate of the flow will be less than the shaping rate. Therefore, this method has the problem of bandwidth waste, which further affects the overall flow acceptance and throughput of the network.
[0013] The second scheduling method is more flexible, supports cross-cycle differentiated resource reservation strategies, and can utilize the imbalance of traffic spatio-temporal distribution to avoid inter-flow conflicts, optimize bandwidth utilization to improve the network's carrying capacity for time-sensitive flows. However, this method needs to calculate the initial offset and periodic shift parameters that meet the constraint conditions for each time-sensitive flow. Substantially, it needs to select an appropriate transmission period for the flow at each hop forwarding node, significantly increasing the scale of decision variables and introducing a high-dimensional search space, resulting in an exponential increase in computational complexity and making it difficult to adapt to large-scale networks and flow sets. In addition, this method forcibly requires time-sensitive flows to conform to the periodic triggering characteristic, that is, it can only play a good scheduling role when the flow generates an equal amount of data packets at fixed time intervals, further restricting its application scenarios.
[0014] In addition, there is also the problem of redundant queuing delay in the above two scheduling methods: the existing methods require nodes to use two periods to receive the flow data packets sent by the upstream node in a single period to ensure that they can complete forwarding uniformly in the next period; however, the fixed use of the two-period receiving strategy ignores the possibility that the flow data packets arrive concentrated in the first receiving period. If the flow data packets arrive concentrated in the first receiving period but still use two receiving periods to receive and then forward in the period after two receiving periods, it will cause redundant queuing delay of the flow. This problem will have an accumulative effect in the wide-area multi-hop transmission scenario, seriously affecting the transmission efficiency when the network is lightly loaded.
[0015] Therefore, in the process of transmitting time-sensitive flows, the existing methods have the problem of bandwidth waste, thus reducing the overall flow acceptance and throughput of the network; and have the problem of high computational complexity, thus restricting their application scenarios; and both have the problem of redundant queuing delay, resulting in low transmission efficiency of the network.
[0016] It should be noted that: This background technology is only used to introduce the relevant information of the present invention to help understand the technical solution of the present invention, but it does not mean that the relevant information is necessarily prior art. The relevant information is submitted and disclosed together with the solution of the present invention. In the case where there is no evidence indicating that the relevant information has been publicly disclosed before the application date of the present invention, the relevant information should not be regarded as prior art. Summary of the Invention
[0017] Therefore, the object of the present invention is to overcome the above-mentioned defects of the prior art and provide a scheduling method for time-sensitive flows based on a differentiated transmission mode.
[0018] The object of the present invention is achieved by the following technical solutions:
[0019] According to a first aspect of the present invention, there is provided a time-sensitive flow scheduling method based on a differential transmission mode for controlling the transmission process of flow data packets by each forwarding node in a network. The method includes: S1. Obtain a transmission request submitted by a time-sensitive application to the network before traffic transmission, including flow characteristics and preset quality of service requirements; S2. Obtain the shaping rate preset for the flow, and under the constraint of the shaping rate, find multiple candidate paths according to the flow characteristics, where each path includes multiple-hop forwarding nodes; S3. Based on the flow transmission scheduling model preset for each node and the estimated latest arrival time of the data packets of the flow at each hop of each path, set the fast transmission mode or the slow transmission mode for the flow at each hop of each path to control the scheduling of the data packets of the flow in the next cycle of the receiving cycle after arriving at each hop; S4. Based on the transmission mode adopted by the flow at each hop of each path, calculate the quality of service of the flow under each path in a preset manner, and select the path with the service quality meeting the preset service quality requirements and the minimum cost value as the transmission path.
[0020] In some embodiments of the present invention, the flow transmission scheduling model includes a flow classifier, a first queue group, a second queue group, a third queue group, and a fourth queue group. The first queue group and the second queue group are used for the fast transmission mode, and the third queue group and the fourth queue group are used for the slow transmission mode;
[0021] The flow classifier is configured to determine the queue group into which the data packets of the flow enter at the previous hop according to the transmission modes of the flow at the previous hop and the current hop nodes respectively. The determination method includes: when both the previous hop and the current hop nodes are set to the fast transmission mode, the previous hop uses its first queue group to store and forward to the current hop; when the previous hop node is set to the fast transmission mode and the current hop node is set to the slow transmission mode, the previous hop uses its second queue group to store and forward to the current hop; when the previous hop node is set to the slow transmission mode and the current hop node is set to the fast transmission mode, control the previous hop to use its third queue group to store and forward to the current hop; when both the current hop and the previous hop nodes are set to the slow transmission mode, the previous hop uses its fourth queue group to store and forward to the current hop; the flow transmission scheduling model performs transmission scheduling in the priority order of the first queue group, the third queue group, the second queue group, and the fourth queue group in each sending cycle.
[0022] In some embodiments of the present invention, in S3, the method for determining the transmission mode of the flow at each hop in each path includes: initially setting the flow to use the fast transmission mode at the first hop and updating the total data volume of the first fast transmission queue group in the first hop; when the flow is in the fast transmission mode at the previous hop, determine whether its latest arrival time at the current hop is within the first receiving cycle when the current hop starts to receive the data packets of the flow, to obtain a first judgment result; if the first judgment result is yes, determine that the current hop is in the fast transmission mode, otherwise, determine that the current hop is in the slow transmission mode.
[0023] In some embodiments of the present invention, in step S3, the method for determining the transmission mode of each hop of the flow in each path further includes: when the flow is in the slow transmission mode in the previous hop, determining whether the latest arrival time of the flow at the current hop is within the first reception period when the current hop starts to receive the data packets of the flow, to obtain a second determination result; if the second determination result is yes, determining that the current hop is in the fast transmission mode, and vice versa, determining that the current hop is in the slow transmission mode.
[0024] In some embodiments of the present invention, the method for obtaining the first determination result includes: when the flow sends data to the current hop from the previous hop, setting the data packets of the flow to be stored in the first queue group corresponding to the previous hop, and calculating the quotient of the total data volume of the first queue group at this time and the link bandwidth between the previous hop and the current hop, to obtain the latest transmission time of the transmission period of the data packets of the flow at the previous hop; when the latest transmission time is less than the period offset between the previous hop and the current hop, the first determination result is yes, and vice versa, the first determination result is no, and at this time, setting the data packets of the flow to be stored in the second queue group corresponding to the previous hop.
[0025] In some embodiments of the present invention, the method for obtaining the second determination result includes: when the data packets of the flow are sent from the previous hop to the current hop, setting the data packets of the flow to be stored in the third queue group corresponding to the previous hop, and calculating the sum of the total data volume of the third queue group and the total data volume of the first queue group at this time; according to the quotient of the sum of the total data volumes and the link bandwidth between the previous hop and the current hop, obtaining the latest transmission time of the transmission period of the data packets of the flow at the previous hop; when the latest transmission time is less than the period offset between the previous hop and the current hop, the second determination result is yes, and vice versa, the second determination result is no, and at this time, setting the data packets of the flow to be stored in the fourth queue group corresponding to the previous hop.
[0026] In some embodiments of the present invention, the first queue group and the second queue group for the fast transmission mode adopt a dual-queue structure, and the two queues in the dual-queue adopt a circular queuing and forwarding method for sending and receiving; the third queue group and the fourth queue group for the slow transmission mode adopt a triple-queue structure, and the triple-queue is sent and received based on the CSQF mechanism.
[0027] In some embodiments of the present invention, in the step S1, the preset quality of service (QoS) requirement includes the maximum latency. In the step S4, the preset method for calculating the QoS of a flow under each path includes calculating the total latency corresponding to each path. Wherein, the calculation method of the total latency corresponding to each path includes: summing up the maximum queuing latencies during the transmission of all hops of the flow's data packets in this path to obtain the upper bound of the queuing latency of the flow's data packets in this path, where the maximum queuing latency during each hop transmission is determined based on the transmission mode of this hop; obtaining the maximum shaping latency based on the ratio of the maximum burst volume of the flow to the preset shaping rate of the flow, and calculating the link propagation latency according to the link distance and propagation medium of each hop; performing a weighted sum of the upper bound of the queuing latency, the maximum shaping latency, and the link propagation latency to obtain the total latency corresponding to this path.
[0028] In some embodiments of the present invention, the preset QoS requirement includes latency jitter. The method for selecting a path whose QoS meets the preset QoS requirement includes: when the total latency corresponding to the calculated path is less than or equal to the maximum latency, and the maximum shaping latency is the same as the latency jitter, the QoS of this path meets the preset QoS requirement. Wherein, if there is no path that meets the preset QoS requirement, increase the shaping rate in the step S2, and repeat the process from step S2 to step S4.
[0029] According to a second aspect of the present invention, there is provided a time-sensitive flow scheduling system based on a differentiated transmission mode. The system includes a centralized controller and multiple forwarding nodes. Each forwarding node includes a flow transmission scheduling model, which includes a flow classifier, a first queue group, a second queue group, a third queue group, and a fourth queue group. The first queue group and the second queue group are used for the fast transmission mode, and the third queue group and the fourth queue group are used for the slow transmission mode.
[0030] The centralized controller is configured to: adopt the method described in the first aspect of the present invention to obtain the traffic transmission path of the time-sensitive application and the set transmission mode of the corresponding flow at each hop forwarding node in this transmission path, which is the fast transmission mode or the slow transmission mode.
[0031] Each forwarding node is configured to: store the data packets of the flow in the first queue group, the second queue group, the third queue group, or the fourth queue group of the current hop node according to the transmission modes of the flow at the current hop forwarding node and the next hop forwarding node respectively; and schedule and forward the flow to the next hop forwarding node according to the set transmission mode for this flow.
[0032] According to a third aspect of the present invention, there is provided a computer-readable storage medium, on which a computer program is stored. The computer program can be executed by a processor to implement the steps of the method in the first aspect of the present invention.
[0033] According to a fourth aspect of the present invention, there is provided an electronic device, including: one or more processors; and a memory, where the memory is used to store executable instructions; the one or more processors are configured to implement the steps of the method according to the first aspect of the present invention by executing the executable instructions.
[0034] Compared with the prior art, the advantages of the present invention are as follows:
[0035] On the one hand, the present invention sets that the flow adopts a fast transmission mode or a slow transmission mode in each hop of each candidate path, so that all data packets of the flow are scheduled in the next cycle of the receiving cycle after arriving at each hop, so as to reduce the redundant queuing delay of the flow and provide a deterministic transmission quality of service with a shorter queuing delay. On the other hand, the present invention calculates the quality of service of the flow under each path based on the transmission mode adopted by the flow in each hop of each path, and selects the path with the minimum cost value that meets the preset quality of service requirements as the transmission path. Since there is less queuing delay in the execution of the differentiated transmission and forwarding process, the delay constraint of the time-sensitive flow can be relaxed, it is easier to successfully select a path that meets the quality of service requirements, and the flow can also enter the network at a lower shaping rate, so that the network can accommodate more time-sensitive flows. That is, the time-sensitive flow scheduling method of the present invention is simple, can efficiently perform traffic scheduling, and can be applied in a large-scale network. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] The following further describes the embodiments of the present invention with reference to the drawings, where:
[0037] Figure 1 It is a schematic diagram of the structure of a deterministic network according to an embodiment of the present invention and the transmission principle of a flow in the network;
[0038] Figure 2 It is a schematic diagram of the flow chart of a time-sensitive flow scheduling method based on a differentiated transmission mode according to an embodiment of the present invention;
[0039] Figure 3 It is a schematic diagram of the structure of a flow transmission scheduling model according to an embodiment of the present invention;
[0040] Figure 4 It is a schematic diagram of the process of a flow transmitting in each hop according to an embodiment of the present invention;
[0041] Figure 5 It is a schematic diagram of the state cycle table of four periodic gating switch groups according to an embodiment of the present invention;
[0042] Figure 6 It is a schematic diagram of the complete flow chart for determining the transmission mode of each hop of a flow in each path according to an embodiment of the present invention;
[0043] Figure 7Schematic diagram of the complete process of the time-sensitive flow scheduling method according to an embodiment of the present invention;
[0044] Figure 8 Schematic diagram of the statistical results of the proportion of successfully scheduled flows of the method of the present invention and the existing scheduling method according to an embodiment of the present invention;
[0045] Figure 9 Schematic diagram of the statistical results of the running time per flow on average in the method of the present invention and the existing scheduling method according to an embodiment of the present invention. Detailed implementation manners
[0046] In order to make the objectives, technical solutions and advantages of the present invention clearer and more understandable, the present invention will be further described in detail below with reference to the accompanying drawings through specific embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.
[0047] As mentioned in the background art section, in the process of transmitting time-sensitive flows by the existing methods, there are problems of bandwidth waste, which reduces the overall flow acceptance and throughput of the network; and there are problems of high computational complexity, which limits their application scenarios; and there are problems of redundant queuing delay, resulting in low transmission efficiency of the network.
[0048] To address the above problems, the inventors propose a time-sensitive flow scheduling method based on a differentiated transmission mode for controlling the flow transmission process of each forwarding node in the network. First, the present invention first finds multiple candidate paths according to the flow transmission requirements of time-sensitive applications, and then sets the fast transmission mode or slow transmission mode for each hop of the flow on each path, so that all data packets of the flow are scheduled in the next cycle of the receiving cycle after arriving at each hop, effectively reducing the redundant queuing delay of the flow, providing a deterministic transmission quality of service with a shorter queuing delay, thereby improving the transmission efficiency of the network. Second, based on the transmission modes adopted by the flow on each hop of each path, the present invention calculates the quality of service of the flow under each path, and selects the path with the service quality meeting the preset service quality requirements and the minimum cost value as the transmission path. Since there is less queuing delay in the execution of the differentiated transmission and forwarding process, the shortening of the queuing delay can relax the delay constraint of the time-sensitive flow, enable the flow to enter the network at a lower shaping rate, and efficiently utilize the network bandwidth, so that the network can accommodate more time-sensitive flows and improve the overall flow acceptance and throughput of the network. Finally, only the transmission mode of the flow at each hop node needs to be calculated and set without calculating the specific waiting period for it, compressing the solution space and effectively reducing the problem complexity.
[0049] According to an embodiment of the present invention, the method of the present invention is applied to a deterministic network, which includes a centralized controller and multiple forwarding nodes. Each forwarding node includes a flow transmission scheduling model, which includes a first queue group, a second queue group, a third queue group, and a fourth queue group. The first queue group and the second queue group are used for the fast transmission mode, and the third queue group and the fourth queue group are used for the slow transmission mode. The centralized controller can control each forwarding node and includes the topological structure and network link status information of each forwarding node.
[0050] Schematically, refer to Figure 1 , which is a schematic diagram of the structure of the deterministic network and the transmission principle of the flow in the network. Among them, the structure of the deterministic network in the figure includes: entities such as terminal E1 and terminal E2, access gateway routers R1, R2, relay routers R3, R4, R5, R6, R7, and centralized controller C1, which can be represented as a network model , where represents the set of all devices (such as terminals, routers, controllers) in the network, represents the set of links between devices in the network. All devices support frequency synchronization, and the cycle length is uniformly set to . In the link set , is used to represent that there is a link ( ) from device to device . The link attributes include link bandwidth, link propagation delay, cycle offset, and the maximum data volume of each queue group of the out interface from device to device for the fast transmission mode and the maximum data volume of each queue group for the slow transmission mode. Among them, in the present invention, each router is regarded as a forwarding node. For example, Figure 1 R1, R2, R3, R4, R5, R6, and R7 in
[0051] are all forwarding nodes. Figure 1 shows that the transmission principle of the flow in the network is as follows: First, the time-sensitive flow is generated by the time-sensitive application of terminal E1 and sent to terminal E2. The transmission process includes: ① Uploading the flow characteristics and requirements, and it is necessary to submit a transmission request for the flow to the access gateway router R1, including the flow characteristics and quality of service requirements. This step is executed before the application starts traffic transmission. Among them, the flow characteristics are characterized by the average rate and the maximum burst volume based on the arrival curve of network calculus theory, and the quality of service requirements are determined by the delay upper limit and the jitter upper limit Characteristics. ② The forwarding flow characteristics and requirements of the PE router. ③ The centralized controller calculates the forwarding path, transmission mode, and shaping rate based on the flow characteristics and requirements, and returns them to the terminal E1. The shaping rate refers to: in the scheduling method with a fixed rate upper limit, the average rate at which the flow enters the network under the action of the shaper, which can be calculated by dividing the amount of data allowed to enter the network by the flow in each period by the period time. ④ Upon receiving the flow admission notice, perform flow transmission according to the path and transmission mode forwarded by the centralized controller.
[0052] According to an embodiment of the present invention, the centralized controller is configured to: calculate the forwarding path, transmission mode, and shaping rate based on the flow characteristics and requirements for controlling the transmission process of the flow by each forwarding node in the network. For the specific process, refer to Figure 2 , which is a schematic flowchart of a time-sensitive flow scheduling method based on a differentiated transmission mode. The method includes steps S1, S2, S3, and S4. To better understand the present invention, the following will specifically describe each step of the centralized controller in detail with reference to specific embodiments.
[0053] Step S1: Obtain the transmission request submitted by the time-sensitive application to the network before traffic transmission, including flow characteristics and preset quality of service requirements.
[0054] According to an embodiment of the present invention, in step S1, extract the flow characteristics and preset quality of service requirements from the transmission request submitted by the time-sensitive application. The flow characteristics include the sending interval, maximum burst volume, source address, and destination address, etc. The preset quality of service requirements include the maximum delay and delay jitter.
[0055] Step S2: Obtain the preset shaping rate for the flow, and under the constraint of the shaping rate, find multiple candidate paths according to the flow characteristics. Each path includes multiple hop forwarding nodes.
[0056] According to an embodiment of the present invention, the preset shaping rate can adopt the initialized shaping rate , if the bottleneck link bandwidth between any two adjacent nodes in the path is less than the preset shaping rate, then this path cannot be used as a candidate path. The bottleneck link refers to: the link with the minimum bandwidth that restricts the overall transmission speed in the network. According to the network link state information, the centralized controller will establish a path book between nodes in advance, which includes one or more paths, and delete the paths corresponding to the bottleneck link bandwidth less than the preset shaping rate to obtain candidate paths.
[0057] Take Figure 1For example, if it is necessary to transmit the time-sensitive application traffic of the terminal E1 to the terminal E2, it is necessary to find the access gateway routers R1 and R2 connecting E1 and E2. There are three paths from the access gateway router R1 to the access gateway router R2: ① R1-R3-R6-R2; ② R1-R3-R5-R7-R2; ③ R1-R4-R7-R2. If the bottleneck link bandwidth of path ① is less than the preset shaping rate, path ① needs to be deleted. The multiple candidate paths finally found include ② R1-R3-R5-R7-R2 and ③ R1-R4-R7-R2.
[0058] Step S3: Based on the flow transmission scheduling model preset for each node and the estimated latest arrival time of the data packets of the flow at each hop of each path, set the fast transmission mode or the slow transmission mode for the flow at each hop of each path, so as to control the data packets of the flow to be scheduled in the next cycle of the receiving cycle after arriving at each hop.
[0059] According to an embodiment of the present invention, the centralized controller includes information on the flow transmission scheduling model preset for the node to calculate which transmission mode, the fast transmission mode or the slow transmission mode, the flow adopts at each hop of each path. Among them, before setting the fast transmission mode or the slow transmission mode for the flow at each hop of each path, the structure of the flow transmission scheduling model, the principle of the model to achieve the fast transmission mode, and the principle of the model to achieve the slow transmission mode are described:
[0060] 1) Structure of the flow transmission scheduling model
[0061] According to an embodiment of the present invention, refer to Figure 3 , which is a schematic structural diagram of the flow transmission scheduling model. The model in the figure includes four cyclic queue groups, namely the first queue group, the second queue group, the third queue group, and the fourth queue group. The first queue group and the second queue group for the fast transmission mode adopt a double-queue structure, and the third queue group and the fourth queue group for the slow transmission mode adopt a triple-queue structure. As Figure 3 shown, the first queue group includes queue and queue , the second queue group includes and , and the priority of the first queue group is higher than that of the second queue group. The third queue group includes , and three queues, and the fourth queue group includes , and three queues. The priority of the third queue group is higher than that of the fourth queue group. Among them, the four cyclic queue groups are sorted in descending order of priority as the first queue group, the third queue group, the second queue group, and the fourth queue group.
[0062] According to an embodiment of the present invention, as Figure 3 shown, the model further includes functional components such as an intelligent flow classifier, a periodic gating switch group set for each queue group, and a priority scheduler. The following will separately describe ① the intelligent flow classifier, ② the periodic gating switch group, and ③ the priority scheduler:
[0063] ① Intelligent flow classifier
[0064] According to an embodiment of the present invention, the intelligent flow classifier is located at the entrance of the four circular queue groups, and is responsible for determining which queue group in the previous hop node the data packet of the time-sensitive flow should enter according to the transmission mode of the time-sensitive flow between adjacent two-hop nodes, and then selecting the correct queue in the corresponding queue group by combining the data packet arrival time and the cycle offset between adjacent two-hop nodes for reception.
[0065] The inventor considered that the newly added time-sensitive flow to the network may affect the arrival situation of the scheduled flow data packets in the same queue at the next-hop node. According to an embodiment of the present invention, first select two queue groups for the fast transmission mode or two queue groups for the slow transmission mode according to the transmission mode of the flow at the current hop, and then estimate the arrival situation of all the data packets of the flow at the next-hop node after all the data packets of the flow are transmitted from the current hop to the next-hop node according to the current network state. According to this arrival situation, store the flow in one of the two queue groups where the current hop is located again, and store and forward the flow with the finally selected queue group at the current hop. Among them, the data packets of the time-sensitive flow that can arrive concentratedly in the first reception cycle of the next-hop node and the data packets of the time-sensitive flow that arrive dispersedly across cycles at the next-hop node are respectively placed in the higher-priority queue group and the lower-priority queue group of the two queue groups to ensure that the newly added flow does not affect the arrival situation of the scheduled flow data packets at the next-hop node. The first reception cycle refers to the cycle corresponding to when the next-hop node starts to receive the data packets of the flow.
[0066] Schematically, refer to Figure 4 , which is a schematic diagram of the process of the flow transmission at each hop. In the figure, the time of nodes A, B, C, and D is periodically divided from a cycle perspective. The 1st to 4th cycles corresponding to node A are a1, a2, a3, a4 respectively; the 1st to 4th cycles corresponding to node B are b1, b2, b3, b4 respectively; the 1st to 4th cycles corresponding to node C are c1, c2, c3, c4 respectively; the 1st to 4th cycles corresponding to node D are d1, d2, d3, d4 respectively.
[0067] Figure 4 In, the cycle a1 of the first-hop node A transmits all the data packets of the flow (refer to Figure 4All data packets represented by three red boxes in the medium cycle a1) are sent to the second-hop node B. After that, node B needs to receive all data packets of this flow during cycle b1 and cycle b2 when starting to receive this flow (see Figure 4 All data packets represented by three red boxes from cycle b1 to cycle b2 in Figure 4 That is, all data packets of this flow arrive dispersedly within two cycles of the next-hop node B. After the cycle b3 of the second-hop node B sends all data packets of the flow (see Figure 4 All data packets represented by a red box in cycle b3 in Figure 4 to the third-hop node C, node C only needs to receive all data packets of this flow during cycle c3 when starting to receive this flow (see Figure 4 All data packets represented by three red boxes from cycle b1 to cycle b2 in
[0068] That is, all data packets of the flow can arrive concentratedly within the first receiving cycle of the next-hop node D. Among them, a new flow arrives in cycle b2 of node B (see Figure 4 All data packets represented by a blue box in cycle b2 in Figure 4 Since when forwarding two flows (red and blue boxes) in cycle b3, the new flow cannot arrive concentratedly within the first receiving cycle of node C, only the first flow can arrive concentratedly within the first receiving cycle of node C. Therefore, cycle b3 only uses the fast transmission mode to transmit the first flow to node C. In cycle c3 of node C, a new flow also arrives (see
[0069] According to an embodiment of the present invention, according to the arrival situation of all data packets of the above flow, the storage rule for storing all data packets of the flow into one of the two queue groups where the current hop is located is as follows:
[0070] Storage rule 1: For the flow that adopts the fast transmission mode at the current hop, it is stored and forwarded using the first queue group or the second queue group at the current hop. Further judge which queue group of the two queue groups is used for forwarding. The judgment process is as follows:
[0071] If all data packets of a flow can still arrive at the next-hop node within the first reception period, the first queue group with a higher priority than the second queue group is used for storage and forwarding;
[0072] If all data packets of a flow are scattered and arrive at the next-hop node within two reception periods, the second queue group with a lower priority than the first queue group is used for storage and forwarding.
[0073] Storage rule 2: For a flow that adopts a slow transmission mode at the current hop, the third queue group or the fourth queue group is used for storage and forwarding at the current hop. Further determine which of the two queue groups is used for forwarding, and the determination process is as follows:
[0074] If all data packets of a flow can arrive at the next-hop node within the first reception period, the third queue group with a higher priority than the fourth queue group is used for storage and forwarding;
[0075] If all data packets of a flow are still scattered and arrive at the next-hop node within two reception periods, the fourth queue group with a lower priority than the third queue group is used for storage and forwarding.
[0076] Based on the above rules, according to an embodiment of the present invention, the flow classifier is configured to determine the queue group entered by the flow at the previous hop according to the respective transmission modes of the flow at the previous hop and the current hop node, and the determination methods include the following 4 types:
[0077] Case 1: When both the previous hop and the current hop node are set to the fast transmission mode, the previous hop uses its first queue group for storage and forwards to the current hop, that is, the queue group entered by the flow at the previous hop is the first queue group;
[0078] Case 2: When the previous hop node is set to the fast transmission mode and the current hop node is set to the slow transmission mode, the previous hop uses its second queue group for storage and forwards to the current hop, that is, the queue group entered by the flow at the previous hop is the second queue group;
[0079] Case 3: When the previous hop node is set to the slow transmission mode and the current hop node is set to the fast transmission mode, control the previous hop to use its third queue group for storage and forwards to the current hop, that is, the queue group entered by the flow at the previous hop is the third queue group;
[0080] Case 4: When both the current hop and the previous hop node are set to the slow transmission mode, the previous hop uses its fourth queue group for storage and forwards to the current hop, that is, the queue group entered by the flow at the previous hop is the fourth queue group.
[0081] ② Periodic gating switch
[0082] According to an embodiment of the present invention, a periodic gating switch group is disposed at the output end of each queue group. If the queue group includes two queues, the corresponding periodic gating switch group of the queue group also includes two periodic gating switches. The periodic gating switch group realizes the cyclic queuing and forwarding process of the flow by controlling the state switching of each queue in the corresponding queue group. In any period, through the periodic gating switch group corresponding to each queue group in the four queue groups, one queue in each queue group is in the open state and the remaining queues are in the closed state, ensuring that only one queue in each queue group is in the sending state.
[0083] Schematically, referring to Figure 5 , which is a schematic diagram of the state cycle table of four periodic gating switch groups. C1, C2, ……, C6 respectively represent the 1st cycle, the 2nd cycle, ……, the 6th cycle. The first queue group (including queues and ) and the second queue group (including queues and ) both have a double-cycle cyclic alternating switch, that is, each queue in each queue group is set to open in the next cycle if it is closed in the current cycle. The third queue group and the fourth queue group both have a triple-cycle cyclic alternating switch, that is, each queue in each queue group is set to open in the next two cycles if it is closed in the current cycle. Corresponding to the switch switching rule of the double-queue structure with a double-cycle cycle, it is ensured that the data packet stored in any queue can be sent to the next hop within one cycle. For the switch switching rule of the queue state in the triple-queue structure with a triple-cycle cycle, it is ensured that the data packet stored in any queue can be sent to the next hop within two cycles.
[0084] Among them, the principle of realizing the fast transmission mode:
[0085] According to an embodiment of the present invention, based on the above periodic gating switch principle, the two queues of the first queue group and the second queue group respectively adopt a double-cycle cyclic queuing and forwarding method for sending and receiving; thereby enabling the first queue group and the second queue group to provide a fast transmission mode for the flows arriving in the first receiving cycle for all data packets. That is, in each cycle, one queue in the queue structure of the first queue group (or the second queue group) is in the sending state and is responsible for executing the data packet forwarding action, and the other queue is in the receiving state and is responsible for executing the data packet caching action; when entering the next cycle, the states of the two queues are exchanged and enter the receiving state and the sending state respectively to execute the corresponding actions. Under the above state switching rule, the data packet entering the fast transmission queue group can be forwarded to the next hop after waiting for at most one cycle length of time, thereby realizing the fast transmission mode.
[0086] The principle of realizing the slow transmission mode:
[0087] According to an embodiment of the present invention, the three queues in each of the third queue group and the fourth queue group perform sending and receiving based on the CSQF mechanism. The third queue group and the fourth queue group provide a slow transmission mode for the flow in which all data packets arrive dispersedly across cycles. The queue structure of the third queue group (or the fourth queue group) still follows the queue state transition rules under the existing forwarding mechanism, and the queue state switches sequentially with the alternation of cycles among sending, receiving, and tolerance. Under the above state transition rules, the data packets entering the fast transmission queue group can be forwarded to the next hop after waiting for at most two cycle lengths, thus realizing the slow transmission mode.
[0088] According to an embodiment of the present invention, in each cycle, one queue in each of the four queue groups enters the sending state. To ensure that the queues entering the sending state can empty the buffered data packets before the end of the cycle, it is also necessary to implement global resource management and traffic scheduling in the network to limit the amount of data to be transmitted by the forwarding node in each cycle. Therefore, the sum of the capacities of the single queues in the four queue groups cannot exceed the maximum amount of data that can be transmitted by the output port of the forwarding node in one cycle, and this maximum amount of data is the product of the node output bandwidth and the cycle length.
[0089] ③ Priority scheduler
[0090] According to an embodiment of the present invention, the priority scheduler controls the transmission order of the sending queues in each queue group in each cycle based on the strict priority (SP) scheduling policy. To realize the orderly circular queuing and forwarding process for each queue group and prevent the influence of the data packets of the newly added flow on the arrival situation of the data packets of the already scheduled flow, priority schedulers are set at the exit positions of all queue groups, and the transmission scheduling is carried out in the descending priority order of the first queue group, the third queue group, the second queue group, and the fourth queue group in each sending cycle.
[0091] Through the above functional components, it can be ensured that the data packets of the flows set to different transmission modes enter the corresponding queue groups and complete the circular queuing and forwarding process normally and orderly, thereby realizing the hardware forwarding plane support for the differentiated transmission mode.
[0092] According to an embodiment of the present invention, in step S3, the method for determining the transmission mode of the flow at each hop in each path includes: initializing and setting the flow to adopt the fast transmission mode at the first hop, and updating the total amount of data in the first fast transmission queue group at the first hop; when the flow is in the fast transmission mode at the previous hop, judging whether its latest arrival time at the current hop is within the first receiving cycle when the current hop starts to receive the data packets of the flow, and obtaining a first judgment result; if the first judgment result is yes, determining that the current hop is in the fast transmission mode, otherwise, determining that the current hop is in the slow transmission mode.
[0093] To determine the transmission mode of a flow at a certain hop node, it is necessary to calculate the latest arrival time of all data packets of the flow at the current hop based on the cycle offset and link propagation delay between the previous hop and the current hop node. The inventor analyzed and found that due to the complexity of traffic in the network, it is impossible to determine the specific position and transmission time of data packets in the queue, resulting in the unobservability of the arrival time of data packets. To solve this problem, the inventor further analyzed and concluded that the latest arrival time at the current hop can be determined based on the latest transmission time of the data packets of the flow at the previous hop and the cycle offset between the previous hop and the current hop. Therefore, according to an embodiment of the present invention, to determine its latest arrival time at the current hop, it can be determined by judging the latest transmission time of the transmission cycle of the data packets of the flow at the previous hop. If the latest transmission time at the previous hop is less than the cycle offset between the previous hop and the current hop, it means that all data packets of the flow can be received within the first reception cycle of the flow at the current hop, and the current hop is determined to be in the fast transmission mode; otherwise, it is in the slow transmission mode. Among them, the latest transmission time of the data packets of the flow at the previous hop is: the time duration between the start time of the transmission cycle of the data packets of the flow at the previous hop and the time when all data packets of the flow are transmitted. If the previous hop starts transmitting the data packets of the flow using cycle 2, the start time of cycle 2 is 3 seconds, and the time when all data packets of the flow are transmitted is 3.5 seconds, then the latest transmission time is 3.5 - 3 = 0.5 seconds.
[0094] Among them, the cycle offset is: the arrival time when the first bit transmitted after the previous hop node enters the transmission cycle reaches the current hop node, and the time interval between this arrival time and the end moment of the cycle of the current hop node is the cycle offset. Schematically, as Figure 4 shown in, the cycle offset between node C and node D is the time length of the rectangular part in cycles d1, d2, d3, or d4. After node C receives all data packets of the flow in cycle c3 (the red box indicates), it transmits them to node D in cycle c4, and node D can receive all data packets of the flow in the first reception cycle d4. It is assumed that node D uses the fast transmission mode to transmit the data packets of the flow. The technical solution of this embodiment can at least achieve the following beneficial technical effects: determining the latest arrival time through the estimated latest transmission time, simplifying the calculation process, and achieving more accurate calculation results and mode settings.
[0095] According to an embodiment of the present invention, the method for obtaining the first judgment result includes: when the data packets of the flow are transmitted from the previous hop to the current hop, setting the data packets of the flow to be stored in the corresponding first queue group at the previous hop, and calculating the quotient of the total data volume of the first queue group at this time and the link bandwidth between the previous hop and the current hop to obtain the latest transmission time of the transmission cycle of the data packets of the flow at the previous hop; when the latest transmission time is less than the cycle offset between the previous hop and the current hop, the first judgment result is yes; otherwise, the first judgment result is no. At this time, set the data packets of the flow to be stored in the corresponding second queue group at the previous hop.
[0096] The technical solutions of the above embodiments can at least achieve the following beneficial technical effects:
[0097] Compared with the case where only one queue group is set for both the queue group for the fast transmission mode and the queue group for the slow transmission mode, the problems faced by this case include: 1) If the data packets of the newly added flow are placed in the queue group for the fast transmission mode, it may affect the data packets of the previous flow from arriving within one receiving cycle, thus affecting the arrival time of the data packets of the flow; 2) If they are placed in the queue group for the slow transmission mode, it will cause the flow that meets the fast transmission mode conditions to be in the slow transmission mode, increasing the queuing delay. The method of the present invention solves the above two problems. The present invention further classifies the data packets of the flow according to the arrival situation of all the data packets of the flow at the current hop node and stores them in one of the two queue groups for the fast transmission mode. The data packets of the time-sensitive flow that can arrive concentratedly within the first receiving cycle at the current hop node are placed in the first queue group with a higher priority, and the data packets of the time-sensitive flow that arrive dispersedly across cycles at the current hop node are placed in the second queue group with a lower priority, so as to ensure that the data packets of the newly added flow do not affect the arrival of the data packets of the scheduled flow at the current hop node. At the same time, if the newly added flow meets the fast transmission mode conditions and is placed in the second queue group for the fast transmission mode, it can ensure that the data packets of the newly added flow are still transmitted in the fast transmission mode and will not be assigned to the queue group for the fast transmission mode for slow transmission.
[0098] According to an embodiment of the present invention, in the step S3, the method for determining the transmission mode of each hop of the flow in each path further includes: when the flow is in the slow transmission mode at the previous hop, determining whether the latest arrival time of the flow at the current hop is within the first receiving cycle when the current hop starts to receive the data packets of the flow, to obtain a second judgment result; if the second judgment result is yes, determining that the current hop is in the fast transmission mode, otherwise, determining that the current hop is in the slow transmission mode.
[0099] According to an embodiment of the present invention, the method for obtaining the second judgment result includes: when the data packets of the flow are sent from the previous hop to the current hop, setting the data packets of the flow to be stored in the corresponding third queue group at the previous hop, and calculating the sum of the total data volume of the third queue group and the total data volume of the first queue group at this time; obtaining the latest sending time of the sending cycle of the data packets of the flow at the previous hop according to the quotient of the sum of the total data volumes and the link bandwidth between the previous hop and the current hop; when the latest sending time is less than the cycle offset between the previous hop and the current hop, the second judgment result is yes; otherwise, the second judgment result is no. At this time, the data packets of the flow are set to be stored in the corresponding fourth queue group at the previous hop.
[0100] According to an embodiment of the present invention, a complete method for determining the transmission mode of each hop of a flow in each path is illustrated with examples. Refer to Figure 6 , which is a schematic diagram of the complete process for determining the transmission mode of each hop of a flow in each path. Taking Figure 1 the candidate path R1 - R3 - R5 - R7 - R2 ( Figure 1 marked by the green line) as an example, the complete steps for calculating the transmission mode of the flow at each hop are as follows ① - ⑨:
[0101] Step ①: Initialize the transmission mode of the flow at the first hop R1 to the fast transmission mode. When the data packet of the flow is sent from the first hop R1 to the current hop, set the data packet of the flow to be stored in the first queue group corresponding to the first hop, and correspondingly set the total data volume of the first queue group in the first hop R1;
[0102] Step ②: Determine whether the current hop is the last hop. For the candidate path R1 - R3 - R5 - R7 - R2, sequentially determine whether the current hop R3, R5, R7, or R2 is the last hop of the path. If so, end the process; otherwise, execute Step ③;
[0103] Step ③: Determine whether the transmission mode of the flow at the previous hop is the fast transmission mode. If so, execute Step ④; otherwise, execute Step ⑦;
[0104] Step ④: Divide the total data volume of the first queue group in the set previous hop by the link bandwidth between the previous hop and the current hop to obtain the latest transmission time of the data packet of the flow in the transmission cycle of the previous hop. Determine whether this latest transmission time is less than the cycle offset between the previous hop and the current hop node. If less, execute Step ⑤; otherwise, execute Step ⑥;
[0105] Step ⑤: Set the transmission mode of the flow at the current hop to the fast transmission mode. When the data packet of the flow is sent from the current hop to the next hop, set the data packet of the flow to be stored in the first queue group of the next hop, and correspondingly set the total data volumes of the first queue group and the second queue group in the next hop respectively, and return to Step ②;
[0106] Step ⑥: Set the transmission mode of the flow at the current hop to the slow transmission mode. When the data packet of the flow is sent from the current hop to the next hop, set the data packet of the flow to be stored in the third queue group of the next hop, and set the total data volumes of the third queue group and the fourth queue group in the next hop respectively; then update the total data volumes of the first queue group and the second queue group in the previous hop, and return to Step ②;
[0107] Among them, in step ⑥, the methods for updating the total data volume of the previous-hop first queue group include: subtracting the maximum data volume that can be transmitted by the flow in a single cycle from the set total data volume of the first queue group in the previous hop; the methods for updating the total data volume of the previous-hop first queue group include: adding the maximum data volume that can be transmitted by the flow in a single cycle to the total data volume of the queues in the second queue group in the previous hop;
[0108] Step ⑦: Divide the sum of the respective total data volumes of the first queue group and the third queue group in the set previous hop by the link bandwidth between the previous hop and the current hop to obtain the latest transmission time of the data packet of the flow in the transmission cycle of the previous hop, and determine whether the latest transmission time is less than the cycle offset between the previous hop and the current hop node. If it is less, execute step ⑧; otherwise, execute step ⑨;
[0109] Step ⑧: Set the transmission mode of the flow in the current hop to the fast transmission mode. When the flow sends data to the next hop in the current hop, set the data packet of the flow to be stored in the first queue group in the next hop, and correspondingly set the respective total data volumes of the first queue group and the second queue group in the next hop, and return to step ②;
[0110] Step ⑨: Set the transmission mode of the flow in the current hop to the slow transmission mode. When the flow sends data to the next hop in the current hop, set the data packet of the flow to be stored in the third queue group in the next hop, and set the respective total data volumes of the third queue group and the fourth queue group in the next hop; then update the total data volumes of the third queue group and the fourth queue group in the previous hop, and return to step ②;
[0111] Among them, in step ⑨, the method for updating the total data volume of the third queue group in the previous hop includes: subtracting the maximum data volume that can be transmitted by the flow in a single cycle from the set total data volume of the third queue group in the previous hop; the method for updating the total data volume of the fourth queue group in the previous hop includes: adding the maximum data volume that can be transmitted by the flow in a single cycle to the set total data volume of the fourth queue group in the previous hop.
[0112] Step S4: Based on the transmission modes adopted by the flow in each hop of each path, calculate the quality of service of the flow under each path according to a preset method, and select the path with the service quality meeting the preset service quality requirements and the minimum cost value as the transmission path.
[0113] According to an embodiment of the present invention, in the step S4, the preset manner of calculating the quality of service of the traffic flow under each path includes calculating the total delay corresponding to each path; wherein, the calculation manner of the total delay corresponding to each path includes: summing up the maximum queuing delays during the transmission of all hops of the traffic flow on this path to obtain the upper bound of the queuing delay of the traffic flow on this path, wherein the maximum queuing delay during each hop transmission is determined based on the transmission mode of this hop; obtaining the maximum shaping delay based on the ratio of the maximum burst volume of the traffic flow to the preset shaping rate, and calculating the link propagation delay according to the link distance and propagation medium of each hop; performing a weighted sum on the upper bound of the queuing delay, the maximum shaping delay, and the link propagation delay to obtain the total delay corresponding to this path.
[0114] According to an embodiment of the present invention, calculate the transmission mode of each hop in each candidate path among all candidate paths. Since the queuing delay of the traffic flow does not exceed 1 cycle when using the fast transmission mode at each hop, and the queuing delay of using the slow transmission mode does not exceed 2 cycles. Therefore, for each candidate path with the transmission mode of each hop determined, the upper bound of the end-to-end queuing delay of the traffic flow can be obtained. Schematically, for the candidate path R1-R3-R5-R7-R2, if the fast transmission mode, the fast transmission mode, the slow transmission mode, the fast transmission mode, and the slow transmission mode are respectively adopted for each hop, and each cycle is calculated as 1 second, then the upper bound of the queuing delay is 1 + 1 + 2 + 1 + 2 = 7 seconds.
[0115] According to an embodiment of the present invention, the manner of selecting a path whose quality of service meets the preset quality of service requirement includes: when the total delay corresponding to the calculated path is less than or equal to the maximum delay, and the maximum shaping delay is the same as the delay jitter, the quality of service of this path meets the preset quality of service requirement.
[0116] According to an embodiment of the present invention, the calculation of the cost value includes: for the candidate path that meets the preset quality of service requirement, performing a weighted sum on the bottleneck link bandwidth and the upper bound of the queuing delay of this path to obtain the cost value of this path.
[0117] According to an embodiment of the present invention, if there is no path that meets the preset quality of service requirement, increase the shaping rate in the step S2, and repeat the process from S2 to S4.
[0118] According to an embodiment of the present invention, the complete process of the time-sensitive traffic flow scheduling method of the present invention is described in combination with an example. Refer to Figure 7 , which is the complete flow schematic diagram of the time-sensitive traffic flow scheduling method. The complete steps are as follows:
[0119] Step 1. At the beginning, extract the traffic flow characteristics and the preset quality of service requirements from the traffic flow transmission request, and initialize the shaping rate of the traffic flow;
[0120] Step 2: Obtain the corresponding path book according to the source address and destination address in the flow characteristics. The path book includes multiple paths;
[0121] Step 3: Determine whether the current shaping rate exceeds the maximum value preset by the network. If so, the scheduling fails, the flow is refused to enter the network, and the scheduling ends; if not, prune the path book according to the shaping rate, delete the paths with bottleneck link bandwidth less than the shaping rate, obtain one or more candidate paths, and continue to execute Step 4;
[0122] Step 4: Determine whether there are unvisited candidate paths in the pruned path book. If so, execute Step 5; otherwise, determine whether there is a path that meets the preset quality of service requirements. If there is, it means the scheduling is successful, return the transmission path and shaping rate of the flow, and end the scheduling; if not, increase the shaping rate of the flow and return to Step 3;
[0123] Step 5: Extract an unvisited candidate path from the path book, calculate the transmission mode of each hop node of the flow in this candidate path, and calculate the upper bound of the queuing delay of the flow;
[0124] Step 6: Based on the upper bound of the queuing delay and the shaping rate, determine whether this path meets the preset quality of service requirements of the flow. If it does not meet, return to Step 4; if it meets, continue to execute Step 7;
[0125] Step 7: Calculate the cost value of the path according to the bottleneck link bandwidth of the path and the upper bound of the queuing delay of the flow under this path, and return to Step 4.
[0126] According to an embodiment of the present invention, there is provided a time-sensitive flow scheduling system based on a differential transmission mode. The system includes a centralized controller and multiple forwarding nodes, and each forwarding node includes a flow transmission scheduling model. The centralized controller is configured to: adopt the method described in the above embodiment to obtain the traffic transmission path of the time-sensitive application and the set transmission mode of each hop forwarding node of the corresponding flow in this transmission path, which is a fast transmission mode or a slow transmission mode; each forwarding node is configured to: according to the transmission modes of the flow at the current hop forwarding node and the next hop forwarding node respectively, store the data packets of the flow in the first queue group, the second queue group, the third queue group or the fourth queue group of the current hop node; and schedule and forward the flow to the next hop forwarding node according to the set transmission mode of the flow. Among them, the structure of the flow transmission scheduling model in each forwarding node and the functional principles of its various components are the same as those of Figure 3 the same.
[0127] According to an embodiment of the present invention, take Figure 1Take this as an example to illustrate the transmission process of the flow in the network after successful scheduling. After the centralized controller C1 completes the scheduling, if a transmission path is successfully found, it will return the path, the corresponding shaping rate, and the transmission mode information for each hop to the access gateway router R1. The access gateway router R1 updates its own shaping rate and the table entries related to forwarding according to the result generated by the scheduling method, and then notifies the time-sensitive application of the terminal E1 to start traffic transmission. After receiving the admission permission, the terminal E1 starts to generate a time-sensitive flow. The time-sensitive flow is sent from the terminal E1 and enters the intermediate network through the traffic shaper of the access gateway router R1.
[0128] Among them, at each hop in the network, the data packets of the flow are forwarded through the transmission mode set for each hop in the path. When the forwarding node receives the data packets of the flow, the flow classifier of the flow transmission scheduling model in the forwarding node imports the data packets into the corresponding queue group according to the transmission mode that the flow should adopt at the current hop and the next hop, and selects the correct queue for it to receive: when the fast transmission mode is adopted, the data packets are directly put into the queue in the queue group for the fast transmission mode that is in the receiving state, and are forwarded in the next cycle of the data packet arrival cycle; when the slow transmission mode is adopted, if the data packet arrival time is earlier than the cycle offset, it is put into the queue in the queue group for the slow transmission mode that is in the receiving state, otherwise it is put into the queue in the tolerance state, and the queue in the tolerance state is used to temporarily store data. The data packets are sent out when the corresponding periodic gating unit of the queue is opened. Through the above process, the time-sensitive flow is forwarded hop by hop to the destination terminal E2.
[0129] To verify the beneficial effects of the present invention, the inventor conducted the following simulation experiments:
[0130] 1) Simulation experiment settings
[0131] Use the OMNeT++ 6.0.1 software to conduct simulation experiments to verify the scheduling ability of the scheduling method of the present invention (referred to as DiffSche). Build a deterministic network based on the INET4.4 library to implement entity objects such as terminals (time-sensitive applications are deployed on the terminals), access gateway routers, relay routers, and centralized controllers in the deterministic network. The simulation experiment network topology uses the wide area network Abilene topology, including 12 core routers connecting the main cities of a certain country. The routers perform traffic shaping on the time-sensitive flows entering the network and execute differential transmissions according to the scheduling method of the present invention.
[0132] 2) Simulation experiment process and results
[0133] Four groups of flow sets are constructed, denoted as flow sets I, II, III, and IV respectively. The four groups of flow sets have different minimum end-to-end transmission hops. The transmission periods of the flows in each group of flow sets are set proportionally to 1 millisecond, 2 milliseconds, and 3 milliseconds. Each flow generates 1 - 5 packets of 1500 bytes in each period. The maximum delay is set to 20 milliseconds, and the jitter delay is set to 10 milliseconds. The method of the present invention (DiffSche) is compared with the method based on the unified rate ceiling (HFR-L) and the method based on the supercycle (FO-CS), and the proportion of successfully scheduled flows and the average running time per flow of the methods are counted.
[0134] See Figure 8 , which is a schematic diagram of the statistical results of the proportion of successfully scheduled flows of the method of the present invention and the existing scheduling methods. In the figure, the statistical results a, b, c, and d of each group under the four groups of flow sets are included. The abscissa of each statistical result is the total number of corresponding flows, and the ordinate is the proportion of successfully scheduled flows. From the four statistical results, it can be seen that as the flow scale expands, since the bandwidth resources in the network are limited, the proportion of successfully scheduled flows of the three scheduling methods all decreases. However, it can be noted that the proportion of successfully scheduled flows of the present invention is higher than that of the existing two scheduling methods in the vast majority of cases (except for the case of scheduling more than 3000 flows in flow set III), reflecting its excellent scheduling ability. This advantage lies in that the differentiated transmission mode of the present invention relaxes the delay constraints of the flows in other aspects, enabling the flows to enter the network at a lower shaping rate (occupying less bandwidth), so that the network can accommodate more traffic.
[0135] See Figure 9 , which is a schematic diagram of the statistical results of the average running time per flow of the method of the present invention and the existing scheduling methods. In the figure, the running time statistical results a, b, c, and d of each group under the four groups of flow sets are included. The abscissa of each statistical result is the total number of corresponding flows, and the ordinate is the average running time per flow in milliseconds. From the four running time statistical results, it can be seen that FO-CS has the longest average running time because it needs to search for the initial offset and cycle shift that meet the constraints in a huge solution space, making its time cost positively correlated with the transmission path length of the flow, increasing continuously from flow set I to flow set IV. Although the running time of the present invention is also related to the transmission path length of the flow (affecting the number of transmission modes to be calculated), since there are only two transmission modes, determined by boolean variables with values of 0 or 1, the calculation is relatively simple. Therefore, the average running time of the present invention is still less than 0.1 millisecond under flow set IV, while the running time of FO-CS exceeds 0.3 millisecond, indicating that the present invention has good computational efficiency and scalability and can be applied to large-scale networks and flow sets.
[0136] It should be noted that although the above steps are described in a specific order, it does not mean that the steps must be executed in the above specific order. In fact, some of these steps can be executed concurrently or even in a different order, as long as the required functions can be achieved.
[0137] The present invention can be a system, a method, and / or a computer program product. The computer program product may include a computer-readable storage medium having thereon computer-readable program instructions for causing a processor to implement various aspects of the present invention.
[0138] The computer-readable storage medium can be a tangible device that retains and stores instructions for use by an instruction execution device. The computer-readable storage medium may include, for example, but is not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), a memory stick, a floppy disk, a mechanically encoded device such as a punched card or raised structures in grooves having instructions stored thereon, and any suitable combination of the foregoing.
[0139] The embodiments of the present invention have been described above. The above description is exemplary and not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art in the technical field without departing from the scope and spirit of the described embodiments. The selection of the terms used herein is intended to best explain the principles of the embodiments, the practical application, or the improvement of the technology in the market, or to enable other ordinary skilled persons in the technical field to understand the embodiments disclosed herein.
Claims
1. A time-sensitive flow scheduling method based on a differentiated transmission mode, which is used to control the transmission process of data packets of flows by each forwarding node in a network, and is characterized in that The method includes: S1. Obtain a transmission request submitted by a time-sensitive application to the network before traffic transmission, including flow characteristics and preset quality-of-service requirements; S2. Obtain the shaping rate preset for the flow, and under the constraint of the shaping rate, find multiple candidate paths according to the flow characteristics, and each path includes multiple-hop forwarding nodes; S3. Based on the flow transmission scheduling model preset for each node and the estimated latest arrival time of the data packets of the flow at each hop of each path, set the fast transmission mode or slow transmission mode for the flow at each hop of each path, so as to control the data packets of the flow to be scheduled in the next cycle of the receiving cycle after arriving at each hop; S4. Based on the transmission modes adopted by the flow at each hop of each path, calculate the quality of service of the flow under each path in a preset manner, and select the path with the service quality meeting the preset quality-of-service requirements and the minimum cost value as the transmission path.
2. The method according to claim 1, wherein The flow transmission scheduling model includes a flow classifier, a first queue group, a second queue group, a third queue group, and a fourth queue group. The first queue group and the second queue group are used for the fast transmission mode, and the third queue group and the fourth queue group are used for the slow transmission mode; The flow classifier is configured to determine the queue group into which the data packets of the flow enter at the previous hop according to the transmission modes of the flow at the previous hop and the current hop node respectively. The determination method includes: When both the previous hop and the current hop nodes are set to the fast transmission mode, the previous hop uses its first queue group to store and forward to the current hop; When the previous hop node is set to the fast transmission mode and the current hop node is set to the slow transmission mode, the previous hop uses its second queue group to store and forward to the current hop; When the previous hop node is set to the slow transmission mode and the current hop node is set to the fast transmission mode, control the previous hop to use its third queue group to store and forward to the current hop; When both the current hop and the previous hop nodes are set to the slow transmission mode, the previous hop uses its fourth queue group to store and forward to the current hop; The flow transmission scheduling model performs transmission scheduling in the priority order of the first queue group, the third queue group, the second queue group, and the fourth queue group in each sending cycle.
3. The method according to claim 2, wherein In the S3, the method for determining the transmission mode of the flow at each hop in each path includes: Initialize and set the flow to adopt the fast transmission mode at the first hop, and update the total data volume of the first fast transmission queue group in the first hop; When the flow is in the fast transmission mode at the previous hop, judge whether its latest arrival time at the current hop is within the first receiving cycle when the current hop starts to receive the data packets of the flow, and obtain a first judgment result; If the first judgment result is yes, determine that the current hop is in the fast transmission mode, otherwise, determine that the current hop is in the slow transmission mode.
4. The method according to claim 2, wherein In the S3, the method for determining the transmission mode of the flow at each hop in each path further includes: When the flow is in the slow transmission mode at the previous hop, judge whether its latest arrival time at the current hop is within the first receiving cycle when the current hop starts to receive the data packets of the flow, and obtain a second judgment result; If the second judgment result is yes, determine that the current hop is in the fast transmission mode, otherwise, determine that the current hop is in the slow transmission mode.
5. The method according to claim 3, wherein The way to obtain the first judgment result includes: When the flow is sent from the previous hop to the current hop, it is set that the data packets of the flow are stored in the first queue group corresponding to the previous hop, and the quotient of the total data volume of the first queue group at this time and the link bandwidth between the previous hop and the current hop is calculated to obtain the latest sending time of the sending period of the data packets of the flow at the previous hop; When the latest sending time is less than the period offset between the previous hop and the current hop, the first judgment result is yes, otherwise, the first judgment result is no. At this time, it is set that the data packets of the flow are stored in the second queue group corresponding to the previous hop.
6. The method according to claim 4, wherein The method for obtaining the second judgment result includes: When the data packets of the flow are sent from the previous hop to the current hop, it is set that the data packets of the flow are stored in the third queue group corresponding to the previous hop, and the sum of the total data volume of the third queue group and the total data volume of the first queue group is calculated; According to the quotient of the sum of the total data volumes and the link bandwidth between the previous hop and the current hop, the latest sending time of the sending period of the data packets of the flow at the previous hop is obtained; When the latest sending time is less than the period offset between the previous hop and the current hop, the second judgment result is yes, otherwise, the second judgment result is no. At this time, it is set that the data packets of the flow are stored in the fourth queue group corresponding to the previous hop.
7. The method according to claim 2, wherein The first queue group and the second queue group for the fast transmission mode adopt a dual-queue structure, and the two queues in the dual-queue adopt a cyclic queuing and forwarding method for sending and receiving; The third queue group and the fourth queue group for the slow transmission mode adopt a triple-queue structure, and the three queues are sent and received based on the CSQF mechanism.
8. The method according to claim 1, characterized in that In the S1, the preset quality of service requirements include the maximum delay. In the S4, the preset method for calculating the quality of service of the flow under each path includes calculating the total delay corresponding to each path; Among them, the calculation method of the total delay corresponding to each path includes: The maximum queuing delays during the transmission of the data packets of the flow at all hops in this path are summed to obtain the upper bound of the queuing delay of the data packets of the flow in this path. Among them, the maximum queuing delay during each hop transmission is determined based on the transmission mode of this hop; Based on the ratio of the maximum burst volume of the flow and the preset shaping rate of the flow, the maximum shaping delay is obtained, and the link propagation delay is calculated according to the link distance and propagation medium of each hop; The upper bound of the queuing delay, the maximum shaping delay, and the link propagation delay are weighted and summed to obtain the total delay corresponding to this path.
9. The method according to claim 7, characterized in that The preset quality of service requirements include delay jitter. The method for selecting the quality of service that meets the preset quality of service requirements includes: When the total delay corresponding to the calculated path is less than or equal to the maximum delay, and the maximum shaping delay is the same as the delay jitter, the quality of service of this path meets the preset quality of service requirements; Among them, if there is no path that meets the preset quality of service requirements, increase the shaping rate in the S2, and repeat the process from S2 to S4.
10. A time-sensitive flow scheduling system based on a differential transmission mode, characterized in that, The system includes a centralized controller and multiple forwarding nodes. Each forwarding node includes a flow transmission scheduling model, which includes a flow classifier, a first queue group, a second queue group, a third queue group, and a fourth queue group. The first queue group and the second queue group are used for the fast transmission mode, and the third queue group and the fourth queue group are used for the slow transmission mode; The centralized controller is configured to: By using the method according to any one of claims 1-9, obtain the traffic transmission path of the time-sensitive application and the set transmission mode of the corresponding flow at each hop forwarding node in this transmission path, which is a fast transmission mode or a slow transmission mode; Each forwarding node is configured to: According to the transmission modes of the flow at the current hop forwarding node and the next hop forwarding node respectively, store the data packets of the flow in the first queue group, the second queue group, the third queue group or the fourth queue group of the current hop node; And schedule and forward the data packets of the flow to the next hop forwarding node according to the set transmission mode of the flow.
11. A computer-readable storage medium, characterized in that, On which a computer program is stored, and the computer program can be executed by a processor to implement the steps of the method according to any one of claims 1-9.
12. An electronic device, characterized in that, Comprising: One or more processors; And A memory, wherein the memory is used to store executable instructions; The one or more processors are configured to implement the steps of the method according to any one of claims 1-9 by executing the executable instructions.