Window-based large-scale traffic scheduling method suitable for time-sensitive network Qbv protocol

By configuring a time window for the switch output port and calculating its protection band duration, period, length, and bias, and generating a GCL gating list, the problem of relying on time slot synthesis or excessive bandwidth occupation in the prior art is solved, and efficient large-scale ST traffic set scheduling is achieved.

CN119892751APending Publication Date: 2025-04-25BEIHANG UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510067232.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-16
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

The existing time-sensitive network Qbv protocol traffic scheduling methods rely on time slot synthesis or excessive bandwidth usage, so they cannot efficiently schedule large-scale ST traffic collections.

Method used

A large-scale traffic scheduling method based on window is proposed. By configuring a time window for the switch output port, and calculating the protection band length, period, length, and bias of the time window, generating a GCL gating list, and directly obtaining the scheduling scheme.

Benefits of technology

This method can obtain a determined scheduling design scheme in a short solution time, reduces the complexity of scheduling solution, improves efficiency, and ensures the resource utilization and real-time performance of large-scale networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119892751A_ABST
    Figure CN119892751A_ABST
Patent Text Reader

Abstract

The invention discloses a window-based large-scale traffic scheduling method suitable for a time-sensitive network Qbv protocol. The method comprises the following steps: initializing links and flow in a network, initializing a window corresponding to the links, generating a gating list by applying the period of the window, the length of the window and the bias of the window, analyzing the performance of the generated gating list, and verifying the feasibility of the gating list. According to the method provided by the invention, the gating list information can be directly configured for the switch by utilizing a network structure and flow parameters. The dependence of a traditional frame-based traffic scheduling method on frame time slot synthesis is overcome, and the solving efficiency and the resource utilization rate of large-scale traffic scheduling can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a traffic scheduling method applied to a time-sensitive network Qbv protocol, and more specifically, to a window-based traffic scheduling method applicable to ST traffic sets with different sizes and periods. Background Art

[0002] With the continuous development of modern industrial systems based on Ethernet, the communication between internal components of industrial systems such as automotive systems and avionics systems has increased the requirements for data transmission capacity, real-time performance, and reliability. The Time-Sensitive Networking (TSN) protocol can provide high-precision real-time communication for end-to-end systems and is a powerful solution to achieve the above requirements. As one of the TSN protocols, the IEEE 802.1Qbv protocol controls the opening and closing of time windows of traffic queues of different priorities in the switch by defining and using the Gate Control List (GCL) and Time-Aware Shaper (TAS) mechanism to ensure the transmission of the highest priority Scheduled Traffic (ST).

[0003] To implement traffic scheduling through the 802.1Qbv protocol, it is necessary to design a feasible traffic scheduling scheme and determine the GCL gating list. The existing traffic scheduling methods can be divided into two categories: frame-based traffic scheduling and window-based traffic scheduling. The former first solves the time offset of each frame flowing through each hop of the transmission link by using a constraint solving method or an intelligent optimization method, and then merges the relevant offsets to obtain the GCL configuration scheme of the switch. This indirect scheduling method involves a large number of offset variables and constraints, and it takes a long time to complete the scheduling solution. The latter looks at the ST traffic set as a whole, directly arranges the position of the time window for the ST traffic set flowing through the output port, and can directly obtain the scheduling scheme, which is significantly less complex than the former. However, the existing window scheduling methods are mostly to ensure sufficient window length or use meta-heuristic methods to properly arrange windows. There are still defects such as high bandwidth resource occupation or random scheduling schemes, which cannot be applied to large-scale traffic scheduling. It can be seen that there is still a lack of window scheduling methods that can efficiently schedule large-scale ST traffic sets.

[0004] The TSN network consists of several end systems and switches, as well as physical links interconnecting the end systems and switches. Generally, the output ports of the end systems and switches have 8 FIFO priority queues that can provide transmission channels for messages. Among them, the queue with priority 8 is specifically responsible for the transmission of ST traffic, and the remaining 7 priority queues are responsible for the transmission of other traffic such as AVB and BE. For the classification of traffic types, please refer to the "Overview of Time-Sensitive Network Traffic Shaping Technology" published in Microelectronics and Computers, Volume 39, Issue 1, January 2022, author: Zhang Lei, Wang Panpan. The TSN network controls the opening of the gates of different priority queues at each port through the GCL at each output port. Each element in the GCL list indicates the current time slot and the current gate opening status. For example, T00: 1000000 indicates that at the T00 time slot, the gate of the ST queue is open and the gates of other queues are closed. For example, T01: 01111111 indicates that at the T01 time slot, the gate of the ST queue is closed and the gates of other queues are open. Summary of the invention

[0005] In view of the defects of the existing traffic scheduling algorithm under the time-sensitive network Qbv protocol that relies on time slot synthesis or occupies too much bandwidth, the present invention proposes a window-based large-scale traffic scheduling method suitable for the time-sensitive network Qbv protocol. The method of the present invention serves the time-sensitive network TSN formed by the end system and the switch. In the traffic transmission in the network topology structure, the time window is configured for the output port of the switch, and the duration, cycle, length, and offset of the time window protection band are calculated to obtain the traffic scheduling strategy and generate the GCL gating list. This invention solves the defect that the existing traffic scheduling method is not suitable for large-scale traffic cases, and can obtain a definite scheduling design plan in a shorter solution time.

[0006] The present invention provides a window-based large-scale traffic scheduling method applicable to a time-sensitive network Qbv protocol, wherein the traffic scheduling comprises the following steps:

[0007] Step 1: TSN network initialization;

[0008] Step 1-1, initialize all nodes in the TSN network;

[0009] Initialize the time-sensitive network TSN and extract the network topology networkTop=<NODE,MES> The node set NODE and the edge set MES in it; the edge set MES refers to the directed edges between two nodes;

[0010] Step 1-2, initialize all links in the TSN network;

[0011] Initialize the TSN network and obtain the network topology networkTop=<NODE,MES> Each link in is denoted as the link set ML;

[0012] Any link in the link set ML is denoted as l k The link 1 k The information carried is recorded as and

[0013] node 前 Link l k The previous node of

[0014] node 后 Link l k The back node of

[0015] flow_l k For the link l k All traffic of

[0016] Steps 1-3, initialize all traffic in the TSN network;

[0017] Initialize the TSN network and obtain the network topology networkTop=<NODE,MES> All flows in are recorded as flow set MF;

[0018] Any flow in the flow set MF is denoted as f i , the f i The traffic characteristic information is recorded as and

[0019] is the flow rate f i The source node of

[0020] is the flow rate f i The destination node;

[0021] is the flow rate f i The transmission time of

[0022] is the flow rate f i cycle;

[0023] is the flow rate f i The transmission path of From the source node To the destination node All logical links through which the data flows;

[0024] Steps 1-4, extracting traffic information passing through the same link;

[0025] According to the flow set MF={f1,f2,…,f i ,…,f I} and the link set ML = {l1,l2,…,l k ,…,l K}, extract all traffic passing through any link;

[0026] Step 2: time window initialization;

[0027] Step 2-1, generate an empty list of storage windows;

[0028] The storage time window list is denoted as MW. The storage time window list MW is a list of time windows generated by traversal in the TSN network. The time window on any link is denoted as and Time Window The information carried is recorded as and

[0029] For time window Length of time;

[0030] For time window cycle;

[0031] For time window Bias of

[0032] For time window Length of protection zone;

[0033] During initialization, an empty list of storage time windows is generated, denoted as MW 空 ;

[0034] Step 2-2, obtaining the time window of the traffic;

[0035] The time window generation condition CTC means that if the link l k If there is no time window on the If link l k The time window has been exceeded Keep the time window

[0036] Sequentially for MF={f1,f2,…,f i ,…,f I}, and use CTC conditions to perform time window processing on the remaining links in the transmission path of the traffic except the first link;

[0037] Step 3, calculating the guard band duration of the time window;

[0038] Step 3-1, initializing the sequence number of the time window;

[0039] Step 3-2, calculate the guard band duration of the current sequence number of the time window;

[0040] Step 4, calculating the period of the time window;

[0041] Step 4-1, initializing the period number of the time window;

[0042] Step 4-2, calculate the current period of the time window;

[0043] Step 4-3, calculate the next cycle number of the time window;

[0044] Step 5, calculate the length of the time window;

[0045] Step 5-1, initialize the length number of the time window;

[0046] Step 5-2, calculate the current length of the time window;

[0047] Step 5-3, calculate the next length of the time window;

[0048] Step 6, calculate the offset of the time window;

[0049] Step 6-1, initializing the bias of the time window;

[0050] Step 6-2, calculating the temporary offset of the current time window;

[0051] Step 6-3, calculate the offset of the current time window;

[0052] Step 6-4, calculate the next time window offset;

[0053] Step 7: Complete the scheduling design of all traffic;

[0054] Step 7-1, generate a network scheduling Gantt chart;

[0055] Convert the scheduling time of all time windows on the corresponding links into the scheduling time at the output ports of the corresponding network nodes, and summarize the scheduling status of each output port to form a Gantt chart of the whole network scheduling;

[0056] Step 7-2, synthesizing the gating list of the TSN output port;

[0057] According to the actual occupancy of each link in the scheduling Gantt chart and the GCL time slot length, the GCL output from the node output port corresponding to each link is generated;

[0058] Step 8, analyzing the performance of generating the gated list;

[0059] Step 8-1, determine whether the current scheduling strategy is feasible;

[0060] Check time window Does the information carried satisfy the If all time windows are satisfied, the current scheduling strategy is considered feasible; otherwise, the current scheduling strategy is considered infeasible;

[0061] Step 8-2, calculate the average bandwidth occupancy of the current schedule;

[0062] The average bandwidth occupancy of the current scheduling is Get; wherein R is the total number of time windows in the storage time window list MW;

[0063] Step 8-3, calculate the average worst end-to-end delay of the current schedule;

[0064] Step 8-3A, initially, the current time window - flow scheduling number is assigned a value of 1, i.e. g = 1;

[0065] The dispatch identifier of the flow in the current time window is recorded as g, that is, the current time window - flow dispatch number; the one before g is called the previous time window - flow dispatch number, that is, g-1; the one after g is called the next time window - flow dispatch number, that is, g+1;

[0066] Step 8-3B, get the current flow rate for calculating the delay as f g ;

[0067] Step 8-3C, from flow f g Starting from the second link on the transmission path, the worst delay on each link is calculated one by one, and the value is And accumulate the worst delay on all links to get the flow f g Worst end-to-end delay of

[0068] Step 8-3D, update to the next time window - flow scheduling number g+1, repeat steps 8-3B and 8-3C;

[0069] Step 8-3E, average the worst end-to-end delays of all flows, which is the average worst end-to-end delay of the current schedule.

[0070] The technical effects of the window-based large-scale traffic scheduling method applicable to the time-sensitive network Qbv protocol of the present invention are as follows:

[0071] ① The present invention directly utilizes the network topology and traffic information to generate the gating list required for network configuration, thereby avoiding the defect of being unable to directly configure due to the traditional method of first obtaining the traffic bias and then further synthesizing the gating list.

[0072] ② The present invention directly uses the time window generation condition CTC to perform scheduling solution for the time window. Since the number of time windows is much smaller than the number of traffic, the complexity of scheduling solution can be greatly reduced and the efficiency of scheduling solution can be improved.

[0073] ③ The present invention uses calculation means to obtain the window period, window length, and window offset to meet the generation requirements of the gating list, and can directly perform TSN network configuration.

[0074] ④ The present invention directly uses the gating list scheduling results to perform performance analysis such as bandwidth utilization and end-to-end delay, which can ensure resource utilization and real-time performance of large-scale networks.

[0075] ⑤ The present invention can generate a network scheduling Gantt chart, which can intuitively display the window scheduling results and ST traffic transmission status, making it easy for TSN network designers to check, analyze and apply. BRIEF DESCRIPTION OF THE DRAWINGS

[0076] Figure 1 It is a flow chart of a window-based large-scale traffic scheduling method applicable to a time-sensitive network Qbv protocol of the present invention.

[0077] Figure 2 It is a network topology with logical links.

[0078] Figure 3 It is the physical transmission network topology with traffic.

[0079] Figure 4 It is a scheduling Gantt chart obtained by using the window-based large-scale traffic scheduling method in an embodiment of the present invention. DETAILED DESCRIPTION

[0080] The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. The various parameter demonstrations listed are only preferred embodiments of the present invention. It should be noted that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present invention, and these improvements and modifications should also be considered as the protection scope of the present invention.

[0081] In the present invention, the network topology structure in the avionics network is recorded as networkTop, and the network topology structure networkTop includes a node set NODE and an edge set MES, that is, networkTop=<NODE,MES> .

[0082] NODE={node1,node2,…,node b ,…,node B}, the subscript b represents the identification number of the node in the network topology, and the subscript B represents the total number of nodes in the network topology, where:

[0083] node1 indicates the first node.

[0084] node2 indicates the second node.

[0085] node b Represents the b-th node.

[0086] node B Indicates the last node.

[0087] For the sake of convenience, node b Also called any node.

[0088] The edge set MES refers to the directed edges between two nodes.

[0089] In the network topology networkTop=<NODE,MES> The set of network traffic transmitted in is denoted as MF, and MF={f1,f2,…,f i ,…,f I}, the subscript i represents the identification number of the flow, and the subscript I represents the total number of flows.

[0090] f1 represents the first unicast traffic in the TSN network.

[0091] f2 represents the second unicast traffic in the TSN network.

[0092] f i Represents the i-th unicast traffic in the TSN network.

[0093] f I Indicates the last unicast traffic in the TSN network.

[0094] For the convenience of explanation, f i Also called any piece of network traffic.

[0095] Any piece of traffic characteristic information is recorded as and Said It is a five-tuple of information.

[0096] is the flow rate f i The source node.

[0097] is the flow rate fi destination node.

[0098] is the flow rate f i The transmission time.

[0099] is the flow rate f i cycle.

[0100] is the flow rate f i The transmission path. From the source node To the destination node All logical links that the traffic flows through.

[0101] Set the network topology networkTop=<NODE,MES> Each link in the set is recorded as the link set ML, and ML = {l1,l2,…,l k ,…,l K}, subscript k is the identification number of the link, and subscript K is the total number of links.

[0102] l1 represents the first link in the TSN network.

[0103] l2 represents the second link in the TSN network.

[0104] l k Represents the kth link in the TSN network.

[0105] l K Indicates the last link in a TSN network.

[0106] For the convenience of explanation, the l k Also called any link. Link l k The information carried is recorded as and

[0107] node 前 Link l k The previous node.

[0108] node 后 Link l k The back node.

[0109] flow_l k For the link l k of all traffic.

[0110] In view of the defects of the existing traffic scheduling algorithm under the time-sensitive network Qbv protocol, such as reliance on time slot synthesis or excessive bandwidth occupation, the present invention proposes a window-based large-scale traffic scheduling method suitable for the time-sensitive network Qbv protocol. By configuring the time window for the output port of the switch in the network and calculating its period, length, and offset, a set of feasible traffic scheduling schemes are obtained and the GCL gating list is determined. This invention solves the defect that the existing traffic scheduling method is not suitable for large-scale traffic cases, and can obtain a definite scheduling design scheme in a shorter solution time. Specifically, see Figure 1 The present invention is shown as a window-based large-scale traffic scheduling method applicable to the time-sensitive network Qbv protocol, and the method has the following steps:

[0111] Step 1: TSN network initialization;

[0112] Step 1-1, initialize all nodes in the TSN network;

[0113] Initialize the TSN network and extract each node in the network topology structure, which is recorded as the node set NODE, and NODE = {node1, node2, ..., node b ,…,node B}, subscript b is the node identification number, and subscript B is the total number of nodes.

[0114] like Figure 2 In the TSN network topology architecture shown, the circular boxes represent end systems (the first end system ES1, the second end system ES2, and the third end system ES3), and the rectangular boxes represent switches (the first switch SW1, the second switch SW2, and the third switch SW3).

[0115] For example Figure 2 The network topology networkTop=<NODE,MES> In the example, the node set NODE = {ES1, ES2, ES3, SW1, SW2, SW3}, and the nodes in the node set are arranged in sequence.

[0116] Step 1-2, initialize all links in the TSN network;

[0117] Initialize the TSN network and obtain the links in the network topology structure, which are recorded as the link set ML, and ML = {l1,l2,…,l k ,…,l K}, subscript k is the identification number of the node, and subscript K is the total number of nodes.

[0118] For example Figure 2In the example, each link is a directed edge, so the directed edge set Convert to the corresponding link representation link set ML = {l1,l2,l3,l4,l5,l6,l7,l8,l9,l 10 ,l 11 ,l 12}.

[0119] For example, the information carried by link l1 is recorded as and Switch SW1 is assigned to the previous node node 前 In the middle, the end system ES1 is assigned to the post node node 后 middle.

[0120] For example, the information carried by link l2 is recorded as and End system ES1 is assigned to the previous node node 前 In the example, switch SW1 is assigned to the next node node 后 middle.

[0121] For example, the information carried by link l3 is recorded as and Switch SW2 assigns value to the previous node node 前 In the middle, the end system ES2 is assigned to the post node node 后 middle.

[0122] For example, the information carried by link l4 is recorded as and End system ES2 is assigned to the previous node node 前 In the example, switch SW2 is assigned to the next node node 后 middle.

[0123] For example, the information carried by link l5 is recorded as and Switch SW3 assigns value to the previous node node 前 In the middle, the end system ES3 is assigned to the post node node 后 middle.

[0124] For example, the information carried by link l6 is recorded as and End system ES3 is assigned to the previous node node 前 In the example, switch SW3 is assigned to the next node node 后 middle.

[0125] For example, the information carried by link l7 is recorded as and Switch SW1 is assigned to the previous node node 前In the example, switch SW3 is assigned to the next node node 后 middle.

[0126] For example, the information carried by link l8 is recorded as and Switch SW3 assigns value to the previous node node 前 In the example, switch SW1 is assigned to the next node node 后 middle.

[0127] For example, the information carried by link l9 is recorded as and Switch SW2 assigns value to the previous node node 前 In the example, switch SW3 is assigned to the next node node 后 middle.

[0128] For example, link l 10 The information carried is recorded as and Switch SW3 assigns value to the previous node node 前 In the example, switch SW2 is assigned to the next node node 后 middle.

[0129] For example, link l 11 The information carried is recorded as and Switch SW3 assigns value to the previous node node 前 In the example, switch SW1 is assigned to the next node node 后 middle.

[0130] For example, link l 12 The information carried is recorded as and Switch SW1 is assigned to the previous node node 前 In the example, switch SW3 is assigned to the next node node 后 middle.

[0131] Steps 1-3, initialize all traffic in the TSN network;

[0132] Initialize the TSN network and obtain all the traffic in the network topology, which is recorded as the traffic set MF, and MF = {f1, f2, ..., f i ,…,f I}, the subscript i is the identification number of the flow, and the subscript I is the total number of nodes.

[0133] f1 represents the first unicast traffic in the TSN network.

[0134] f2 represents the second unicast traffic in the TSN network.

[0135] fi Represents the i-th unicast traffic in the TSN network.

[0136] f I Indicates the last unicast traffic in the TSN network.

[0137] For the convenience of explanation, the f i Also called any unicast traffic.

[0138] In the present invention, any piece of flow characteristic information is recorded as and Said It is a five-tuple of information.

[0139] For the convenience of explanation, the transmission path Each link in the i Arranged in order of flow.

[0140] like Figure 2 In the TSN network topology shown in the figure, the traffic quintuple information of traffic f1 is recorded as Transmission Path

[0141] Similarly, the traffic quintuple information of traffic f2 is recorded as Transmission Path

[0142] Similarly, the traffic quintuple information of traffic f3 is recorded as Transmission Path

[0143] Similarly, the traffic quintuple information of traffic f4 is recorded as Transmission Path

[0144] Similarly, the traffic quintuple information of traffic f5 is recorded as Transmission Path

[0145] Similarly, the traffic quintuple information of traffic f6 is recorded as Transmission Path

[0146] Similarly, the traffic quintuple information of traffic f7 is recorded as Transmission Path

[0147] Similarly, the traffic quintuple information of traffic f8 is recorded as Transmission Path

[0148] Steps 1-4, extracting traffic information passing through the same link;

[0149] According to the flow set MF={f1,f2,…,f i ,…,f I} and the link set ML = {l1,l2,…,l k ,…,l K}, extract all traffic passing through any link.

[0150] For the convenience of explanation, Figure 3 All traffic flowing through each link in the network is recorded.

[0151] like Figure 2 , Figure 3 In the TSN network topology shown in the figure, the information carried by link l1 is represented as

[0152] Similarly, the information carried by link l2 is expressed as flow_l2={f1,f2,f3,f4,f7,f8}.

[0153] Similarly, the information carried by link l3 is expressed as flow_l3 = {f1, f2, f8}.

[0154] Similarly, the information carried by link l4 is expressed as flow_l4={f5,f6}.

[0155] Similarly, the information carried by link l5 is expressed as flow_l5={f3,f4,f5,f6,f7}.

[0156] Similarly, the information carried by link l6 is expressed as

[0157] Similarly, the information carried by link l7 is expressed as flow_l7={f1,f2,f7}.

[0158] Similarly, the information carried by link l8 is expressed as

[0159] Similarly, the information carried by link l9 is expressed as flow_l9={f5,f6,f7}.

[0160] Similarly, link l 10 The information carried is represented as flow_l 10 ={f8}.

[0161] Similarly, link l 11 The information carried is represented as

[0162] Similarly, link l 12 The information carried is represented as flow_l 12 ={f3,f4,f8}.

[0163] Step 2: time window initialization;

[0164] Step 2-1, generate an empty list of storage windows;

[0165] The storage time window list is denoted as MW. The storage time window list MW is a list of time windows generated by traversal in the TSN network. The time window on any link is denoted as and Time Window The information carried is recorded as and

[0166] For time window Length of time.

[0167] For time window cycle.

[0168] For time window The bias.

[0169] For time window The protection band duration.

[0170] During initialization, an empty list of storage time windows is generated, denoted as MW 空 .

[0171] Step 2-2, obtaining the time window of the traffic;

[0172] In the present invention, the time window generation condition (referred to as the CTC condition) refers to the condition that if link l k If there is no time window on the If link l k The time window has been exceeded Keep the time window

[0173] In the present invention, MF={f1,f2,…,fi ,…,f I}, and use CTC conditions to perform time window processing on the remaining links in the transmission path of the flow except the first link.

[0174] For example Figure 3 In MF = {f1, f2, f3, f4, f5, f6, f7, f8}, select the flow f1 from the transmission path of flow f1 Select link l7 from the list, and use the CTC condition to determine that link l7 has no time window. Then generate a time window belonging to link l7 and record it as Then select link l3 and use CTC to determine whether link l3 has a time window. If link l3 does not have a time window, a new time window is generated and recorded as time window. Will and Assign to

[0175] Select flow f2 from MF = {f1, f2, f3, f4, f5, f6, f7, f8}. After processing in steps 1-3, flow f2 has the same transmission path as flow f1, and the time window has been created on link l7. The time window has been created on link l3 The storage time window list remains unchanged

[0176] Select flow f3 from MF = {f1, f2, f3, f4, f5, f6, f7, f8}, and select the transmission path of flow f3. Select link l 12 , using CTC conditions to determine link l 12 If there is no time window, a new time window is generated, recorded as Select link l5 and use CTC to determine whether link l5 has a time window. If link l5 does not have a time window, a new time window is generated and recorded as Will and Assign to

[0177] Select flow f4 from MF = {f1, f2, f3, f4, f5, f6, f7, f8}. After processing in steps 1-3, flow f4 has the same transmission path as flow f3. Link l 12 The time window has been exceeded The time window has been created on link l5 The storage time window list remains unchanged

[0178] Select flow f5 from MF = {f1, f2, f3, f4, f5, f6, f7, f8}, and select the transmission path of flow f5. Select link l9 from the list, and then according to CTC, if link l9 has no time window, a new time window is generated, which is recorded as Select link l5 and use CTC to determine whether link l5 has a time window. If link l5 has a corresponding time window, keep the time window. Will Assign to

[0179] Select flow f6 from MF = {f1, f2, f3, f4, f5, f6, f7, f8}. After processing in steps 1-3, flow f6 has the same transmission path as flow f5, and the time window has been created on link l9. The time window has been created on link l5 The storage time window list remains unchanged

[0180] Select flow f7 from MF = {f1, f2, f3, f4, f5, f6, f7, f8}, and select the transmission path of flow f7. Select link l 12 , and then according to CTC judgment, link l 12 If there is a corresponding time window, keep the time window Select link l 10 , use CTC to determine link l 10 Is there a time window, link l 10 If there is no time window, a new time window is generated and recorded as time window Select link l3 and use CTC to determine whether link l3 has a time window. Link l3 already has a corresponding time window. The original time window Reserved. Assign to

[0181] Select flow f8 from MF = {f1, f2, f3, f4, f5, f6, f7, f8}. After processing in steps 1-3, flow f8 has the same transmission path as flow f7. Link l 12 The time window has been exceeded Link 1 10 The time window has been exceeded The time window has been created on link l3 Keep the storage time window list unchanged

[0182] Step 3, calculating the guard band duration of the time window;

[0183] Step 3-1, initializing the sequence number of the time window;

[0184] The current sequence identifier of the time window is recorded as x (i.e., time window - current sequence number). The one before x is called time window - previous sequence number, i.e., x-1; the one after x is called time window - next sequence number, i.e., x+1.

[0185] During initialization, the time window - current sequence number x is assigned a value of 1, that is, x=1.

[0186] Step 3-2, calculate the guard band duration of the current sequence number of the time window;

[0187] Step 3-2A, when x=1, select the stored time window list The time window with the order x=1 is selected and recorded as W x ,For example

[0188] Step 3-2B, calculate W x Protection band duration Its value is the time window W x The maximum transmission duration of all traffic on the corresponding link.

[0189] For example, That is Time window The maximum transmission time of all flows flow_l7 = {f1, f2, f7} on the corresponding link l7, that is,

[0190] Step 3-3, calculate the guard band duration of the next sequence number of the time window;

[0191] Update to time window - next sequence number x+1, repeat steps 3-2 until The calculation of the last time window in is completed, and the duration of all protection bands in the time window is obtained.

[0192]

[0193] Step 4, calculating the period of the time window;

[0194] Step 4-1, initializing the period number of the time window;

[0195] The current cycle identifier of the time window is recorded as y (i.e., time window - current cycle number). The number before y is called time window - previous cycle number, i.e., y-1; the number after y is called time window - next cycle number, i.e., y+1.

[0196] During initialization, the time window - current cycle number y is assigned a value of 1, that is, y=1.

[0197] Step 4-2, calculate the current period of the time window;

[0198] Step 4-2A, when y=1, select the stored time window list The time window with the order y=1 is selected and recorded as W y ,For example

[0199] Step 4-2B, obtain the flow through time window W y The traffic with the smallest period among all the traffic on the corresponding link is denoted as f z .

[0200] For example, time window The corresponding link l7 has all the traffic flow_l7 = {f1,f2,f7} The minimum flow rate in the cycle is f1, so f z =f1.

[0201] Step 4-2C, using f z Cycle and transmission path Calculate W y Cycle The calculation formula is in express The number of links contained in .

[0202] For example, time window Cycle Should be used and Calculate, because therefore

[0203] Step 4-3, calculate the next cycle number of the time window;

[0204] Update to the time window - the next cycle number y+1, and repeat steps 4-2 until The last time window in is calculated and all the cycles of the time window are obtained.

[0205] Step 5, calculate the length of the time window;

[0206] Step 5-1, initialize the length number of the time window;

[0207] The current length identifier of the time window is recorded as u (i.e., time window - current length number). The number before u is called time window - previous length number, i.e., u-1; the number after u is called time window - next length number, i.e., u+1.

[0208] During initialization, the time window - current length number u is assigned a value of 1, that is, u=1.

[0209] Step 5-2, calculate the current length of the time window;

[0210] Step 5-2A, when u=1, select the stored time window list The time window with the order u=1 is selected and recorded as W u ,For example

[0211] Step 5-2B, obtain the flow through time window W u The length of all traffic on the corresponding link is accumulated, and the length of the guard band of the time window is further added. The length of the time window

[0212] For example, the time window Length The length and time window of all flows flowing through the corresponding link l7 should be accumulated: flow_l7 = {f1, f2, f7} Protection band duration Get, that is

[0213] Step 5-3, calculate the next length of the time window;

[0214] Update to time window - next length number u+1, repeat steps 5-2 until The last time window in is calculated and all the lengths of the time windows are obtained.

[0215] Step 6, calculate the offset of the time window;

[0216] Step 6-1, initializing the bias of the time window;

[0217] The offset identifier of the time window is recorded as v (i.e., the current time window offset). The offset before v is called the previous time window offset, i.e., v-1; the offset after v is called the next time window offset, i.e., v+1.

[0218] During initialization, the current time window bias v is assigned a value of 1, that is, v=1.

[0219] Step 6-2, calculating the temporary offset of the current time window;

[0220] Step 6-2A, when v=1, select the stored time window list The time window with the order v=1 is selected and recorded as W v ,For example

[0221] Step 6-2B, obtain the flow through time window W v The flow set corresponding to the link is constructed, and the position sequence of the link on all flow transmission paths is used to form a new flow-link-sequence set Ξ.

[0222] For example, time window The flow set corresponding to link l7 is flow_l7 = {f1, f2, f7}, because Therefore, l7 is in the f1 transmission path The position order on the f2 transmission path is 2. The position order is 2, in the f7 transmission path The position sequence on is 2, and Ξ={2,2,2}.

[0223] Step 6-2C, determine the maximum value of all elements in the flow-link-order set Ξ, denoted as ξ max .

[0224] For example, time window ξ max =max{2,2,2}=2.

[0225] Step 6-2D, calculate the time window W v Temporary bias Its value is

[0226] For example, time window Temporary bias

[0227] Step 6-3, calculate the offset of the current time window;

[0228] Step 6 - 3A, Compare and If Execute step 6-3B; otherwise, execute step 6-3D;

[0229] Step 6 - 3B, Compare and Size, if Then update the time window W v Temporary bias is 0, that is Then execute step 6-3D; otherwise, execute step 6-3C;

[0230] Step 6-3C, update time window W v Temporary bias for Then proceed to step 6-3D;

[0231] Step 6-3D, calculate the current time window W v Bias Its value is

[0232] For example, the time window Temporary offset value of because So execute step 6-3D, that is

[0233] Step 6-4, calculate the next time window offset;

[0234] Update to the next time window offset v+1, and repeat steps 6-2 and 6-3 until The last time window in is calculated and all the offsets of the time window are obtained.

[0235] Step 7: Complete the scheduling design of all traffic;

[0236] Step 7-1, generate a network scheduling Gantt chart;

[0237] The scheduling times of all time windows on the corresponding links are converted into the scheduling times at the output ports of the corresponding network nodes, and the scheduling status of each output port is summarized to form a Gantt chart of the whole network scheduling.

[0238] In the present invention, visualization of all traffic scheduling design strategies is achieved in the form of a full-network scheduling Gantt chart.

[0239] Step 7-2, synthesizing the gating list of the TSN output port;

[0240] According to the actual occupancy of each link in the scheduling Gantt chart and the GCL time slot length, the GCL output from the node output port corresponding to each link is generated.

[0241] Step 8, analyzing the performance of generating the gated list;

[0242] Step 8-1, determine whether the current scheduling strategy is feasible;

[0243] Check time window Does the information carried satisfy the If all time windows are satisfied, the current scheduling strategy is considered feasible; otherwise, the current scheduling strategy is considered infeasible.

[0244] Step 8-2, calculate the average bandwidth occupancy of the current schedule;

[0245] The average bandwidth occupancy of the current scheduling is Get; wherein R is the total number of time windows in the storage time window list MW.

[0246] Step 8-3, calculate the average worst end-to-end delay of the current schedule;

[0247] Step 8-3A, initially, the current time window - flow scheduling number is assigned a value of 1, i.e. g = 1;

[0248] The dispatch identifier of the flow in the current time window is recorded as g (i.e., current time window - flow dispatch number). The one before g is called the previous time window - flow dispatch number, i.e., g-1; the one after g is called the next time window - flow dispatch number, i.e., g+1.

[0249] Step 8-3B, get the current flow rate for calculating the delay as f g ;

[0250] Step 8-3C, from flow f g Starting from the second link on the transmission path, the worst delay on each link is calculated one by one, and the value is And accumulate the worst delay on all links to get the flow f g Worst end-to-end delay of

[0251] Step 8-3D, update to the next time window - flow scheduling number g+1, repeat steps 8-3B and 8-3C;

[0252] Step 8-3E, average the worst end-to-end delays of all flows, which is the average worst end-to-end delay of the current schedule.

[0253] Example 1

[0254] This example is based on the Pycharm platform. Figure 2 , Figure 3 The network topology shown in FIG. 1 and the ST traffic configuration information shown in Table 1 are used to perform network scheduling design according to the window-based large-scale traffic scheduling method proposed in the present invention. It should be noted that, in order to facilitate the visualization of the experimental results, this embodiment is a small-scale traffic scheduling design, the purpose of which is to help intuitively understand the results obtained by the method of the present invention.

[0255] Table 1 ST traffic configuration information

[0256] ST flow id Source Node Destination Node Transmission Path cycle length 1 End System 1 End System 2 <![CDATA[[l2,l7,l3]]]> 100 5 2 End System 1 End System 2 <![CDATA[[l2,l7,l3]]]> 200 7 3 End System 1 End System 3 <![CDATA[[l2,l 12 ,l5]]]> 200 6 4 End System 1 End System 3 <![CDATA[[l2,l 12 ,l5]]]> 200 5 5 End System 2 End System 3 <![CDATA[[l4,l9,l5]]]> 100 2 6 End System 2 End System 3 <![CDATA[[l4,l9,l5]]]> 100 6 7 End System 1 End System 3 <![CDATA[[l2,l7,l9,l5]]]> 200 3 8 End System 1 End System 2 <h2 style=";text-align:left;direction:ltr"><![CDATA[[l2,l <h2 style=";text-align:left;direction:ltr"> 12 <h2 style=";text-align:left;direction:ltr"> ,l<h2 style=";text-align:left;direction:ltr"> 10 <h2 style=";text-align:left;direction:ltr"> ,l3]]]><h2 style=";text-align:left;direction:ltr"> 100 2

[0257] by Figure 4The results of window scheduling and ST traffic transmission are given in the form of a Gantt chart. According to the window scheduling results, the gating list of the TSN output port can be synthesized. When the time slot in the gating list is 1, considering the lowest common multiple of all traffic cycles in the network, that is, 200, the number of gating list entries for each port is 200, that is, from T000-T199. The window opened by the ST queue in each port, that is, the window with a value of 10000000, is shown in Table 2.

[0258] Table 2 Open information of time window

[0259]

Claims

1. A window-based large-scale traffic scheduling method for time-sensitive network Qbv protocol, characterized in that Traffic scheduling includes the following steps: Step 1: TSN network initialization; Step 1-1, initialize all nodes in the TSN network; Initialize the time-sensitive network TSN and extract the network topology networkTop=<NODE,MES> The node set NODE and the edge set MES in it; the edge set MES refers to the directed edges between two nodes; Step 1-2, initialize all links in the TSN network; Initialize the TSN network and obtain the network topology networkTop=<NODE,MES> Each link in is denoted as the link set ML; Any link in the link set ML is denoted as l k The link 1 k The information carried is recorded as and node 前 Link l k The previous node of node 后 Link l k The back node of flow_l k For the link l k All traffic of Steps 1-3, initialize all traffic in the TSN network; Initialize the TSN network and obtain the network topology networkTop=<NODE,MES> All flows in are recorded as flow set MF; Any flow in the flow set MF is denoted as f i , the f i The traffic characteristic information is recorded as and is the flow rate f i The source node of is the flow rate f i The destination node; is the flow rate f i The transmission time of is the flow rate f i cycle; is the flow rate f i The transmission path of From the source node To the destination node All logical links through which the data flows; Steps 1-4, extracting traffic information passing through the same link; According to the flow set MF={f1,f2,…,f i ,…,f I } and the link set ML = {l1,l2,…,l k ,…,l K }, extract all traffic passing through any link; f1 represents the first unicast traffic in the TSN network; f2 represents the second unicast traffic in the TSN network; f i represents the i-th unicast traffic in the TSN network; f I Indicates the last unicast traffic in the TSN network; l1 represents the first link in the TSN network; l2 represents the second link in the TSN network; l k represents the kth link in the TSN network; l K Indicates the last link in the TSN network; Step 2: time window initialization; Step 2-1, generate an empty list of storage windows; The storage time window list is denoted as MW. The storage time window list MW is a list of time windows generated by traversal in the TSN network. The time window on any link is denoted as and Time Window The information carried is recorded as and For time window Length of time; For time window cycle; For time window Bias of For time window Length of protection zone; During initialization, an empty list of storage time windows is generated, denoted as MW 空 ; Step 2-2, obtaining the time window of the traffic; The time window generation condition CTC means that if the link l k If there is no time window on the If link l k The time window has been exceeded Keep the time window Sequentially for MF={f1,f2,…,f i ,…,f I }, and use CTC conditions to perform time window processing on the remaining links in the transmission path of the traffic except the first link; Step 3, calculating the guard band duration of the time window; Step 3-1, initializing the sequence number of the time window; The current sequence identifier of the time window is recorded as x, that is, time window - current sequence number; the one before x is called time window - previous sequence number, that is, x-1; the one after x is called time window - next sequence number, that is, x+1; During initialization, the time window - current sequence number x is assigned a value of 1, i.e. x = 1; Step 3-2, calculate the guard band duration of the current sequence number of the time window; Step 3-2A, when x=1, select a time window with the order x=1 from the stored time window list MW, denoted as W x ; Step 3-2B, calculate W x Protection band duration Its value is the time window W x The maximum transmission time of all traffic on the corresponding link; Step 4, calculating the period of the time window; Step 4-1, initializing the period number of the time window; The current cycle identifier of the time window is recorded as y, that is, time window - current cycle number; the one before y is called time window - previous cycle number, that is, y-1; the one after y is called time window - next cycle number, that is, y+1; During initialization, the time window - current cycle number y is assigned a value of 1, i.e. y = 1; Step 4-2, calculate the current period of the time window; Step 4-2A, when y=1, select a time window with the order y=1 from the stored time window list MW, denoted as W y ; Step 4-2B, obtain the flow through time window W y The traffic with the smallest period among all the traffic on the corresponding link is denoted as f z ; Step 4-2C, using f z Cycle and transmission path Calculate W y Cycle The calculation formula is in express The number of links contained in ; Step 4-3, calculate the next cycle number of the time window; Update to the time window - the next cycle number y+1, and repeat steps 4-2 until the last time window in MW is calculated and all the cycles of the time window are obtained; Step 5, calculate the length of the time window; Step 5-1, initialize the length number of the time window; The current length identifier of the time window is recorded as u, that is, time window-current length number; the one before u is called time window-previous length number, that is, u-1; the one after u is called time window-next length number, that is, u+1; During initialization, the time window - current length number u is assigned a value of 1, i.e. u = 1; Step 5-2, calculate the current length of the time window; Step 5-2A, when u=1, select a time window with the order u=1 from the stored time window list MW, denoted as W u ; Step 5-2B, obtain the flow through time window W u The length of all traffic on the corresponding link is accumulated, and the length of the guard band of the time window is further added. The length of the time window Step 5-3, calculate the next length of the time window; Update to time window - the next length number u+1, and repeat steps 5-2 until the last time window in MW is calculated and all the lengths of the time windows are obtained; Step 6, calculate the offset of the time window; Step 6-1, initializing the bias of the time window; The offset identifier of the time window is recorded as v, which is the current time window offset; The one before v is called the previous time window bias, i.e. v-1; the one after v is called the next time window bias, i.e. v+1; During initialization, the current time window bias v is assigned a value of 1, i.e., v = 1; Step 6-2, calculating the temporary offset of the current time window; Step 6-2A, when v=1, select a time window with the order v=1 from the stored time window list MW, denoted as W v ; Step 6-2B, obtain the flow through time window W v The flow set of the corresponding link, and the position sequence of the link on all flow transmission paths are used to form a new flow-link-sequence set Ξ; Step 6-2C, determine the maximum value of all elements in the flow-link-order set Ξ, denoted as ξ max ; Step 6-2D, calculate the time window W v Temporary bias Its value is Step 6-3, calculate the offset of the current time window; Step 6 - 3A, Compare and The size of Execute step 6-3B; otherwise, execute step 6-3D; Step 6 - 3B, Compare and Size, if Then update the time window W v Temporary bias is 0, that is Then execute step 6-3D; otherwise, execute step 6-3C; Step 6-3C, update time window W v Temporary bias for Then proceed to step 6-3D; Step 6-3D, calculate the current time window W v Bias Its value is Step 6-4, calculate the next time window offset; Update to the next time window bias v+1, repeat steps 6-2 and 6-3 until the last time window in MW is calculated and all the biases of the time window are obtained; Step 7: Complete the scheduling design of all traffic; Step 7-1, generate a network scheduling Gantt chart; Convert the scheduling time of all time windows on the corresponding links into the scheduling time at the output ports of the corresponding network nodes, and summarize the scheduling status of each output port to form a Gantt chart of the whole network scheduling; Step 7-2, synthesizing the gating list of the TSN output port; According to the actual occupancy of each link in the scheduling Gantt chart and the GCL time slot length, the GCL output from the node output port corresponding to each link is generated; Step 8, analyzing the performance of generating the gated list; Step 8-1, determine whether the current scheduling strategy is feasible; Check time window Does the information carried satisfy the If all time windows are satisfied, the current scheduling strategy is considered feasible; otherwise, the current scheduling strategy is considered infeasible; Step 8-2, calculate the average bandwidth occupancy of the current schedule; The average bandwidth occupancy of the current scheduling is Get; wherein R is the total number of time windows in the storage time window list MW; Step 8-3, calculate the average worst end-to-end delay of the current schedule; Step 8-3A, initially, the current time window - flow scheduling number is assigned a value of 1, i.e. g = 1; The dispatch identifier of the flow in the current time window is recorded as g, that is, the current time window - flow dispatch number; the one before g is called the previous time window - flow dispatch number, that is, g-1; the one after g is called the next time window - flow dispatch number, that is, g+1; Step 8-3B, get the current flow rate for calculating the delay as f g ; Step 8-3C, from the flow rate f g Starting from the second link on the transmission path, the worst delay on each link is calculated one by one, and the value is And accumulate the worst delay on all links to get the flow f g Worst end-to-end delay of Step 8-3D, update to the next time window - flow scheduling number g+1, repeat steps 8-3B and 8-3C; Step 8-3E, average the worst end-to-end delays of all flows, which is the average worst end-to-end delay of the current schedule.

2. The window-based large-scale traffic scheduling method for the time-sensitive network Qbv protocol according to claim 1 is characterized in that: It is to configure the time window for the switch output port.