Multi-stage circular queue and forwarding scheduling method and system in time-sensitive network
Through the multi-level circular queue and forwarding scheduling method, the scheduling complexity and resource allocation problems in time-sensitive networks are solved, and efficient traffic scheduling and bandwidth utilization are achieved, which is suitable for large-scale industrial networks.
Patent Information
- Application Number
- CN202210974916.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-15
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2042-08-15
AI Technical Summary
In existing time-sensitive networks, the circular queue forwarding mechanism has complex configuration and difficult resource allocation in multi-flow scenarios, especially in large-scale networks, which is difficult to effectively schedule, resulting in low bandwidth utilization and waste of storage resources.
A multi-level circular queue and forwarding scheduling method is adopted. By dividing the scheduling cycle into multiple levels and using multiple groups of odd-even queues for scheduling, the priority and time fragment utilization of queues with different cycles are ensured. The scheduling path is planned in combination with network topology and link information to alleviate resource conflicts between traffic.
While ensuring low end-to-end latency and low latency jitter for high-QoS flows, it improves network bandwidth utilization and the number of flows that can be served, reduces storage resource waste, and is suitable for large-scale industrial networks.
Smart Images

Figure CN115567456B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of time-sensitive networks, and in particular to a multi-stage circular queue and forwarding scheduling method and system in a time-sensitive network. Background Art
[0002] Ethernet is widely used for its simple network connection mechanism, ever-increasing bandwidth capacity, high scalability and compatibility. However, with the rapid growth of the number of network access devices, new types of network application scenarios are emerging one after another. The demand for deterministic services has become the key to the development of network technology, which has posed a huge challenge to traditional Ethernet transmission technology. Because traditional Ethernet is based on the characteristics of statistical multiplexing, it can only provide best-effort services, guaranteeing that data packets will be delivered with a certain probability, and cannot guarantee the upper bound of delay and delay jitter. Figure 1 As shown in Figure 2, if the probability distribution of end-to-end latency is plotted as a curve, the curve will have a long tail effect, meaning that latency has no upper bound. Time-Sensitive Networking (TSN) has emerged to meet the requirements of various application scenarios for data transmission, including deterministic latency, deterministic latency jitter, zero congestion, zero packet loss, and high robustness.
[0003] In these network application scenarios with deterministic requirements, the Industrial Internet holds enormous market potential for industrialization. The Industrial Internet enables factory equipment, production lines, and control platforms to transcend the limitations of network systems at the "field," "workshop," and "factory" levels, enabling interconnected network configuration and management between each layer. This integrates information technology into every aspect of production, significantly improving productivity. Compared to traditional Internet networks, industrial networks have more severe consequences for packet delays or loss, impacting the effectiveness of factory equipment at best and potentially leading to significant economic losses at worst.
[0004] In order to solve the problem of transmitting these sensitive data in industrial networks, academia and industry have proposed numerous solutions, which have evolved from fieldbus to industrial Ethernet, and then from industrial Ethernet to real-time industrial Ethernet.
[0005] PROFINET, EtherCAT, and Powerlink, currently widely used in industrial control networks, are all Ethernet-based real-time control transmission systems. These fieldbus technologies, developed from industrial control systems, solve the interconnection issues between various devices within industrial control systems through standardized interfaces, enabling the common bus transmission of various industrial data signals. However, as industrial applications continue to increase transmission requirements, the low speed, poor compatibility, and interoperability of fieldbus systems have gradually become apparent. This has led to the emergence of Ethernet-based Time Sensitive Networks (TSN), which offer higher transmission efficiency, greater bandwidth, and improved compatibility.
[0006] The predecessor of the Time Sensitive Networking Working Group was the Ethernet Audio / Video Bridging (AVB) Working Group, which was dedicated to solving problems such as time synchronization, low latency, and bandwidth reservation in the field of audio and video transmission. However, AVB is only targeted at audio and video transmission scenarios and cannot meet data transmission requirements under different needs. IEEE improved on AVB and established the TSN Working Group, whose target scenario is a complex multi-node Layer 2 network with limited bandwidth, and is committed to providing deterministic transmission services for various traffic flows with different QoS requirements in the network, such as Figure 2 As shown, bounded delay and delay jitter can be provided.
[0007] Time Aware Shaping (TAS) is a gating mechanism based on the definition of IEEE 802.1Qbv. The eight queues in the switch port use their own transmission gates to control the opening and closing of the queues, and the opening and closing of the eight queues are controlled by the Gate Control List (GCL). Even if the scheduling algorithm selects a queue for transmission, if the transmission gate is closed, the queue still needs to wait. TAS is based on the idea of time division multiplexing, and the time window formed from the opening to the closing of the GCL is the time slot. TAS divides the traffic in the network into time-sensitive flows (TS flows), audio and video flows (AVB flows) and best-effort flows (BE flows), such as Figure 3As shown in the figure, the TS stream needs to be transmitted at a specific time to meet the upper delay bound requirement. It occupies the highest-priority queue on the port. The AVB stream requires a fixed amount of bandwidth to prevent it from being blocked by other traffic and from excessively occupying bandwidth resources, causing other traffic to starve. The AVB stream occupies the two queues with the second highest priority on the port. The BE stream is the lowest priority stream and can only be sent when the above two streams have no transmission requirements. The remaining five low-priority queues are used to transmit the BE stream. The gated list (GCL) periodically opens and closes designated queues. When multiple queues are open at the same time, strict priority scheduling is used. Different queues transmit in non-overlapping time slots, isolating traffic of different priorities. Therefore, under the control of the transmission gate, time-sensitive streams can be transmitted in fixed time slots without interference, thereby providing deterministic transmission delay and delay jitter. Furthermore, during a timeslot transition, if the data frames transmitted by the open queue in the previous timeslot have not yet been completed, they may interfere with the transmission of data frames in the next timeslot. To minimize interference from low-priority traffic on high-priority traffic, a certain amount of protection bandwidth must be reserved. During this period, no messages are allowed to be sent, ensuring that the link is idle when the next timeslot opens. However, TAS can provide extremely low latency and jitter for periodic traffic, making it ideal for industrial automation scenarios, where latency and jitter requirements are very strict, and these control messages are periodic. However, general services that do not have these characteristics have complex traffic models, primarily consisting of periodic and sporadic traffic, making them unsuitable for TAS deployment. Furthermore, TAS requires strict planning of the transmission content for each timeslot, an NP-hard problem that cannot be solved exactly in polynomial time. TAS typically uses a centralized controller to obtain information about the period, packet size, latency, and jitter requirements of all flows, as well as the network topology, switch storage space, and link bandwidth. It then employs various heuristic or exact algorithms to solve the problem and output a timeslot configuration that meets these constraints. In scenarios with large network scale and large number of flows, this time slot division based on data frames is particularly complex and will seriously hinder its deployment.
[0008] Cyclic Queuing and Forwarding (CQF) is one of TSN's inherent scheduling mechanisms. It was proposed to address the configuration complexity of Time-Aware Shaping (TAS) in multi-flow scenarios. Also known as a creeping shaper, CQF ensures that transmission errors between cycles are eliminated. Therefore, link latency must be less than T, which constrains link distance. Therefore, CQF is applicable only to small local area networks. Furthermore, CQF requires strict frequency and phase synchronization to ensure that cycles start and end simultaneously for all nodes. Strict time synchronization also limits CQF's application scenarios. Furthermore, CQF's technical solution requires that all data frames sent by an upstream node within the same cycle must be received in the corresponding queue at the downstream node and transmitted within the next cycle. This imposes strict constraints on the allocation of time slots along the end-to-end path. Once transmission begins, adjacent cycles must be reserved at each port along the path. This can lead to scheduling issues due to insufficient bandwidth on some ports.
[0009] Cycle Specified Queuing and Forwarding (CSQF) is an extension of CQF. It dynamically leverages TSN capabilities for scheduling and traffic shaping to ensure latency and jitter bounds for time-sensitive flows in large-scale deterministic networks. Although CSQF does not require traffic to arrive at the next node with the same period, relaxing link latency constraints, compared to CQF, which only needs to select the injection time of traffic at the edge node, CSQF also requires planning cycle offsets for traffic at each node to ensure that both latency constraints and switch storage resource constraints are met, which exponentially increases the scale of the problem.
[0010] TSN can meet high network transmission requirements and is a core technology for future industrial networks, possessing high research and application value. However, the specific implementation mechanism of TSN is of paramount importance. Resource allocation and scheduling mechanisms determine whether TSN can truly provide effective transmission services and whether it can further develop and be implemented. Summary of the Invention
[0011] In view of this, embodiments of the present invention provide a method and system for multi-stage circular queue and forwarding scheduling in a time-sensitive network to eliminate or improve one or more defects in the prior art.
[0012] One aspect of the present invention provides a multi-stage circular queue and forwarding scheduling method in a time-sensitive network, the method comprising the following steps:
[0013] Determining scheduling requirements of multiple circular queues to be scheduled, wherein the scheduling requirements of the multiple circular queues include sending periods of the multiple circular queues; determining scheduling priorities of the multiple circular queues based on the queue periods of the multiple circular queues, wherein the shorter the queue period of the queue, the higher the corresponding scheduling priority, and the queue periods of the queues are integer multiples of each other;
[0014] Plan scheduling paths for multiple circular queues based on the determined scheduling requirements and the network topology and link information;
[0015] Based on the planned scheduling path, multiple circular queues perform forwarding scheduling between nodes.
[0016] In some embodiments of the present invention, the queue periods of the queues are integer multiples of each other, and any longer queue period contains an integer number of any shorter periods, so that the starting point and end point of the longer period queue are aligned with the shorter period queue.
[0017] In some embodiments of the present invention, the queues with different periods are scheduled according to priority so that the queue with a longer period uses the time fragments in which the queue with a shorter period is prohibited from transmitting to transmit. When the queue with a shorter period has not completed transmission, the queue with a longer period is prohibited from transmitting.
[0018] In some embodiments of the present invention, the method further comprises:
[0019] The scheduling period includes multiple levels, and multiple scheduling periods are used to alleviate resource conflicts between queues; the scheduling period is the least common multiple of the sending period.
[0020] In some embodiments of the present invention, the scheduling requirement is a requirement proposed by a user or a source node and received from a time-sensitive network; the scheduling requirement includes a source node, a destination node, a transmission cycle, a bandwidth, an acceptable end-to-end delay, and / or a cycle group number; and the method further includes:
[0021] Based on the determined scheduling requirements and the topology and link information in the network, injection time offsets are calculated for multiple circular queues.
[0022] In some embodiments of the present invention, the forwarding scheduling of the multiple circular queues between the nodes includes:
[0023] The source node shapes the multiple circular queues at the source node based on the calculated injection time offset, and sends the shaped multiple circular queues to the next node;
[0024] The intermediate node parses the data frame headers received from the previous node in multiple circular queues and dispatches them to the queue that is currently receiving data frames in the corresponding next node;
[0025] After receiving the data frame parsed by the intermediate node, the destination node checks the correctness and integrity of the data frame, and determines whether it has timed out based on the deadline, or if the data frame is not received after the scheduled time. If the data frame times out or is lost, a message is sent to the network control center.
[0026] In some embodiments of the present invention, the method further comprises:
[0027] In the case of determining that a data frame timeout or loss occurs, the network control center updates the network topology and replans the scheduling path and injection time offset based on the updated network topology. In some embodiments of the present invention,
[0028] In some embodiments of the present invention, the scheduling path satisfies the following two conditions:
[0029] Based on the end-to-end delay constraint, the total delay of the scheduled path is less than or equal to the acceptable end-to-end delay of the transmission requirement;
[0030] Based on the capacity constraint of the arc cycle, the bandwidth required to schedule transmission demands within the cycle is less than or equal to the bandwidth of the arc cycle capacity constraint, and the scheduling path of the schedulable transmission demands is less than or equal to 1.
[0031] Another aspect of the present invention provides a multi-stage circular queue and forwarding scheduling system in a time-sensitive network, including a processor and a memory, wherein the memory stores computer instructions, and the processor is used to execute the computer instructions stored in the memory. When the computer instructions are executed by the processor, the system implements the steps of the above-mentioned method.
[0032] The multi-stage circular queue and forwarding scheduling method and system in a time-sensitive network of the present invention can significantly alleviate scheduling issues caused by the poor combinability of different periodic flows. Under the constraints of the same network resources, while ensuring low end-to-end latency, low latency jitter, and high robustness requirements for high-QoS flows, it utilizes multiple scheduling cycles to alleviate resource conflicts between flows, allowing flows that originally could not be scheduled on the same link to be transmitted together, thereby increasing the number of flows that the network can provide services. At the same time, when a short-cycle queue prohibits transmission to ensure that a data frame can be transmitted to the next node within the same cycle, a long-cycle queue can use this fragmented period for transmission, thereby improving bandwidth utilization and reducing storage resource waste.
[0033] Additional advantages, objects, and features of the present invention will be set forth in part in the following description and will become apparent to those skilled in the art upon examination of the following or may be learned from practice of the present invention. The objects and other advantages of the present invention may be realized and obtained by the structures particularly pointed out in the description and drawings.
[0034] Those skilled in the art will understand that the purposes and advantages that can be achieved by the present invention are not limited to the above specific descriptions, and the above and other purposes that can be achieved by the present invention will be more clearly understood based on the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] The drawings described herein are used to provide a further understanding of the present invention, constitute a part of this application, and do not constitute a limitation of the present invention. In the drawings:
[0036] Figure 1 This is the probability distribution diagram of traditional network delay.
[0037] Figure 2 It is the probability distribution diagram of deterministic transmission delay.
[0038] Figure 3 Diagram of TAS scheduling shaping mechanism.
[0039] Figure 4 This is a flow chart of a multi-stage circular queue and forwarding scheduling method in a time-sensitive network according to an embodiment of the present invention.
[0040] Figure 5 Diagram of the CQF scheduling shaping mechanism.
[0041] Figure 6 It is the cyclic opening and closing graph of the CQF odd-even queue.
[0042] Figure 7 Schematic diagram of the impact of time T on broadband BUF.
[0043] Figure 8 Diagram of the CSQF scheduling shaping mechanism.
[0044] Figure 9 FIG. 4 is a transmission time diagram of three groups of queues with different queue periods in one embodiment of the present invention.
[0045] Figure 10 This is a comparison chart of CQF and MCQF bandwidth usage in one embodiment of the present invention.
[0046] Figure 11 FIG. 4 is a simple topology diagram of three nodes and one switch in one embodiment of the present invention.
[0047] Figure 12 Schematic diagram of the conflict situation with different injection time offsets under the CQF mechanism.
[0048] Figure 13 Schematic diagram of a feasible scheduling method under the MAQF mechanism in one embodiment of the present invention. DETAILED DESCRIPTION
[0049] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the embodiments and the accompanying drawings. Here, the exemplary embodiments of the present invention and their descriptions are used to explain the present invention, but are not intended to limit the present invention.
[0050] It should also be noted that, in order to avoid obscuring the present invention due to unnecessary details, the accompanying drawings only show structures and / or processing steps closely related to the solutions according to the present invention, while other details that are not closely related to the present invention are omitted.
[0051] It should be emphasized that the term "include / comprises" when used herein refers to the existence of features, elements, steps or components, but does not exclude the existence or addition of one or more other features, elements, steps or components.
[0052] In response to the shortcomings of the existing TSN scheduling and shaping mechanism, the present invention proposes a multi-level cycle queuing and forwarding (MCQF) mechanism. Based on the original cycle queue forwarding, the scheduling cycle is divided into multiple levels, improving the shortcomings of the original mechanism in terms of schedulability and bandwidth utilization. In addition, the present invention also proposes a multi-level cycle queue and forwarding scheduling method and system in a time-sensitive network, which can significantly alleviate the scheduling problem caused by the poor combinability of different periodic flows. Under the constraints of the same network resources, while ensuring the low end-to-end delay, low delay jitter and high robustness requirements of high QoS flows, multiple scheduling cycles are used to alleviate resource conflicts between flows, so that flows that originally could not be scheduled in the same link can be transmitted together, increasing the number of flows that the network can provide services. At the same time, when the queue with a shorter queue period prohibits transmission to ensure that the data frame can be transmitted to the next node within the same period, the queue with a longer queue period can use this time fragment for transmission, thereby improving bandwidth utilization and reducing storage resource waste.
[0053] Figure 4 The flowchart of the multi-stage circular queue and forwarding scheduling method in time-sensitive network is as follows: Figure 4 As shown, the multi-stage circular queue and forwarding scheduling method in a time-sensitive network includes the following steps:
[0054] Step S110, determine the scheduling requirements of multiple circular queues to be scheduled, where the scheduling requirements of the multiple circular queues include the sending periods of the multiple circular queues; determine the scheduling priorities of the multiple circular queues based on the queue periods of the multiple circular queues, where the shorter the queue period of the queue, the higher the corresponding scheduling priority, and the queue periods of each queue are in an integer multiple relationship.
[0055] In this step, the scheduling requirements of the multiple circular queues to be scheduled are first determined. The scheduling requirements are requirements submitted by users or source nodes and received from the time-sensitive network. The scheduling requirements can be determined by the source node, destination node, transmission period, bandwidth, acceptable end-to-end delay, and / or cycle group number of the scheduling requirements. The scheduling requirements also include the transmission periods of the multiple circular queues. Secondly, the scheduling priorities of the multiple circular queues are determined based on the queue periods of the multiple circular queues. The shorter the queue period, the higher the corresponding scheduling priority, and the queue periods of the various queues are integer multiples.
[0056] CQF is a traffic shaping method. Each port of CQF uses two queues, odd and even, to alternately receive and send data frames. Figure 5 As shown. Similar to TAS, CQF is also based on periodic scheduling. Data frames arriving in odd cycles are sent to odd queues and sent out in even cycles. Data frames arriving in even cycles are sent to even queues and sent out in odd cycles, and so on. Under this scheduling method, the delay range of a data frame passing through a node is fixed, that is, the cycle size T, and is independent of the network congestion and the amount of traffic in the network. The end-to-end delay is obvious. Compared with TAS, which divides traffic into three types and provides different services, CQF does not pay attention to the differences between traffic. It only uses odd and even queues for cyclic reception and forwarding. The queue open in odd cycles is called the odd queue, and the queue open in even cycles is called the even queue. Time is divided equally into intervals of cycle size T. Assuming the cycle size is T and the number of hops between the source and destination is H, the maximum end-to-end delay of the traffic is (H+1)*T, the minimum is (H-1)*T, and the delay jitter is 2*T. Each cycle is numbered x, x+1, x+2, ..., x+N. The data frame transmitted by upstream node A in cycle x is received by downstream node B in the same cycle. The data frame will be sent from node B to node C in cycle x+1, and so on. Figure 6As shown: at time x, node A's odd queue sends a data packet to node B (as shown by the upward diagonal square in the figure); node A's even queue receives a data packet (as shown by the vertical striped square in the figure) sent by node A's upstream node; at time x+1, node A's even queue sends the data packet received at the previous moment to node B (as shown by the vertical striped square in the figure), and node A's odd queue receives a data packet (as shown by the grid-shaped square in the figure) sent by node A's upstream node. At time x, node B's odd queue sends a data packet to a downstream node (as shown by the downward diagonal square in the figure), and node B's even queue receives a data packet sent by node A (as shown by the upward diagonal square in the figure); at time x+1, node B's even queue sends a data packet from node A to the downstream node, and node B's odd queue receives a data packet sent by node A (as shown by the vertical striped square in the figure).
[0057] The data frame stays in each node for a maximum of 2T. The end-to-end delay is easily calculated using the cycle size T and the number of hops H. The maximum end-to-end delay experienced by a data frame in the path is (H+1)×T, the minimum end-to-end delay is (H-1)×T, and the maximum delay jitter experienced by a data frame is 2T. The delay of a data frame in the network is only related to the cycle time slot and the number of hops, and there is no need to consider the impact from other sensitive flows or non-sensitive flows. However, CQF requires that the data frame must arrive at the next node within the same cycle, that is, CQF requires that the network link delay must be less than T, which limits the scale of the network. At the same time, this involves a problem of T size selection; from the aforementioned CQF mechanism, it can be seen that the q frames in the queue must be queued in each cycle. size All data frames must be sent and delivered to the downstream node, otherwise it will cause subsequent chain errors. If the data frame size is set to the maximum frame size MTU acceptable to Ethernet, then T should at least be set to the sum of the transmission time and link delay for the total number of bits in the given queue:
[0058]
[0059] Where b is the number of bits, a delay is the link delay.
[0060] A smaller T can provide lower delay and smaller delay jitter for the flow, but it limits the number of flows that can be scheduled on the port. At the same time, since the size of the "guard band" that ensures that the data frame arrives at the next node in the same cycle is fixed, the number of bits that can be sent is bound to be reduced, such as Figure 7 The effect of time T on bandwidth utilization factor (BUF) is shown. Therefore, BUF is low and most of the bandwidth is used to wait for data transmission, which is expressed as:
[0061]
[0062] A larger T improves bandwidth utilization and increases the number of schedulable flows. However, as T increases, even if the shortest path is selected for transmission, it may not be able to meet the requirements of some flows with extremely low latency and extremely small jitter, resulting in scheduling failure.
[0063] The number of circular queues in CSQF is increased from 2 in CQF to N, and the data frame is not required to arrive at the next node in the same time slot, but only needs to arrive within the (N-1)*T delay. By adding additional queues to cache data packets, it can absorb a certain amount of delay jitter and traffic bursts. CSQF plans the path for each flow and the sending cycle of all ports on the path at the edge node, and carries the port cycle number in the form of a list in the data frame. Each port uses the cycle number as the identifier for entering the queue, which makes the cycle planning more flexible. CSQF scheduling and shaping mechanism is as follows: Figure 8 As shown, both the black and gray data frames are sent at cycle x at node A. However, due to significant link latency, the gray frame sent later in cycle x cannot reach node B in the same cycle. This misalignment would cause cascading errors in CQF, but CSQF can absorb these errors. At node B, the two frames use cycle x + 2 and cycle x + 3, respectively, thereby balancing the load across different cycles. Because the cycle numbers for data frame transmission are assigned by the central controller and are not a fixed mapping, the intra-node forwarding delays for different data frames under the CSQF mechanism vary. The end-to-end delay is no longer a constant (H - 1) * T and must be calculated individually on a flow-by-flow basis.
[0064] In an embodiment of the present invention, in order to take into account the different requirements of schedulability and flows, multiple groups of cycles are used for joint transmission, namely multi-level cycle queuing and forwarding (MCQF). Unlike the CQF mechanism, the MCQF mechanism has multiple groups of odd-even queues. The behavior of each group of odd-even queues is consistent with the queue behavior in CQF. They follow different cycle periods. The scheduling priority of the queue is determined according to the queue period of the multi-cycle queue. The shorter the queue period of the queue, the higher the scheduling priority. Each longer queue period contains an integer number of any shorter queue periods, that is, the queue periods of each queue are integer multiples. In this way, the starting point and end point of the longer cycle queue can be aligned with the shorter cycle queue. In the multi-cycle queue scheduling process, the queues of different cycles are scheduled according to the priority, so that the data in each cycle queue can be transmitted earlier than the deadline. Figure 9As shown in the figure, the transmission of queues with three different queue periods is scheduled according to priority, and the shorter the queue period, the higher the priority. The three rows in the figure represent odd and even queues with different queue periods, where dark gray represents odd queues and light gray represents even queues. The squares filled in the grid represent the data packet sending time.
[0065] In the embodiment of the present invention, queues with different periods are scheduled according to priority, that is, the queue with a longer period uses the time fragments when the queue with a shorter period is prohibited from transmitting to transmit. When the queue with a shorter period has not completed the transmission, the queue with a longer period is prohibited from transmitting. Figure 10 As shown, in CQF, there is only one periodic queue (represented by the upward-slanting stripes in the figure). If link delay is ignored, all of T can be used for data transmission. When the link delay is T / 3, only the first 2T / 3 can be transmitted. The bandwidth utilization in this case is 66.7%. Comparing the CQF queue with three MCQF queues with periods of T, 2T, and 4T (represented by the grid, vertical stripes, and horizontal stripes, respectively, as shown in the figure), when the queue with a period of T is prohibited from transmitting, the queue with a period of 2T can utilize this time fragment. When the queue with a period of 2T is prohibited from transmitting, the queue with a period of 4T can utilize this time fragment. At this time, the bandwidth utilization of MQCF is 91.7%. Based on the comparison of bandwidth utilization between CQF and MCQF, the MCQF scheduling mechanism does not over-allocate flows with lower delay jitter. The saved bandwidth resources can be used to schedule more flows, resulting in higher bandwidth utilization.
[0066] In an embodiment of the present invention, based on the above-mentioned MCQF scheduling mechanism, the user or source node first registers the relevant information of multiple circular queues to be scheduled into the user configuration center (CUC), and then the CUC abstracts this information into a standard format and transmits it to the network control center (CNC); the user or source node proposes a scheduling requirement with deterministic scheduling requirements to the TSN network. The scheduling requirement includes the source node, destination node, sending period, bandwidth, acceptable end-to-end delay, cycle group number, injection time offset and scheduling path, wherein the source node, destination node, sending period, bandwidth, acceptable end-to-end delay and cycle group number are abstracted from the scheduling requirement, and the injection time offset and scheduling path are obtained by subsequent calculation. The above-mentioned source node, destination node, sending period, bandwidth, acceptable end-to-end delay, cycle group number, injection time offset and scheduling path are called the octet information of the scheduling requirement, which reserves resources in the network for the scheduling requirement.
[0067] Step S120 : planning scheduling paths for the multiple circular queues based on the determined scheduling requirements and the topology and link information in the network.
[0068] In this step, based on the determined scheduling requirements and the topology and link information in the TSN network, the CNC plans scheduling paths for multiple circular queues.
[0069] In this embodiment of the present invention, the CNC plans scheduling paths for multiple circular queues based on the octet information of the scheduling requirements and the acquired network topology and link information. For simplicity, transmission delay and clock synchronization accuracy are ignored. The parameters used in the following formula and their meanings are explained below:
[0070] a) There are N cycle groups available, so the requirements are divided into N groups according to the jitter requirements of the scheduling requirement d.
[0071] b) Each period in a periodic group is called a cycle. The numbering starts from 1, starting from the smallest periodic group. The true value of the length of periodic group 1 is T = ε (in μs). Due to the integer multiple relationship, the true value of periodic group n is 2 n-1 ·ε (unit: μs).
[0072] c)n d is the period group number selected by d, So the true value of the period length selected by d is
[0073] d)period d Indicates the sending period of periodic flow d, r_period d represents the actual cycle length of d (in μs),
[0074] e) The scheduling period is is the lowest common multiple (LCM) of all d sending periods. Since the period groups selected by d are different, we need to is represented as an integer, so represents the superperiod of period group n.
[0075] f)d has source node s d and destination node t d , s d ∈V,t d ∈V.
[0076] g)P d is an optional set of paths for d.
[0077] h) Indicates the bandwidth occupied by d in cycle c.
[0078] i) The acceptable end-to-end delay of d is Δ d .
[0079] j)offset d Indicates the injection time offset of d, r_offset d represents the actual injection time offset value of d (in μs),
[0080] k) Due to the cyclic nature of d,
[0081] CNC needs to assign a unique feasible scheduling path for the scheduling requirement: p = (a1, a2, ..., a |p| ), where arc a k =(u k , v k ) so that u1=s d , v p =t d , and v k =v k+1 , (k=1,...,|p|-1), which ensures that the scheduling path is continuous. For each scheduling path selected, a period group number n is also selected. d .
[0082] If the planned scheduling path is feasible for the scheduling requirements, the scheduling path must meet the following two conditions:
[0083] (1) End-to-end delay constraint:
[0084] Scheduling demand d arrives at node u in scheduling path p k The time is expressed as The total delay of p is expressed as |p| is the path length. The condition that the scheduling path p can schedule d is:
[0085]
[0086] That is, when the total delay of the scheduling path is less than or equal to the acceptable end-to-end delay of the scheduling requirement, the scheduling path can be scheduled according to the scheduling requirement.
[0087] Indicates the bandwidth consumed by the scheduling demand d on the link a of the scheduling path p when cycle c is reached, which is given by Easy to know:
[0088]
[0089] (2) Arc cycle capacity limit:
[0090]
[0091] Among them, b a is the bandwidth limited by the arc cycle capacity. The above formula means that the bandwidth occupied by the scheduling demand in cycle c must be less than or equal to the bandwidth limited by the arc cycle capacity.
[0092] When the bandwidth occupied by cycle c in the scheduling requirement is less than or equal to the bandwidth limited by the arc cycle capacity, to ensure a unique path, the following restrictions should also be imposed:
[0093]
[0094] Among them, yp indicates whether the scheduling path p is the only path that can schedule the scheduling demand d. When yp is equal to 1 or 0, the selected scheduling path is the only path that can schedule the scheduling demand.
[0095] The purpose of scheduling is to maximize the number of schedulable flows. Therefore, the above problem can be summarized as follows:
[0096]
[0097]
[0098]
[0099]
[0100]
[0101] Among them, P n Indicates D n The disjoint set of all demand selected paths in , m is represented as an intermediate value in the cycle group number, d(·) is a function that expresses a mapping relationship. Using the cycle group number n and the path p, a scheduling demand d can be uniquely determined, d(p, m)∈D n , It represents the bandwidth consumed by the only scheduling demand d on the link a of the scheduling path p during cycle c.
[0102] The required configuration parameters can be obtained by solving the above equations through exact algorithms, heuristic algorithms, approximate algorithms or machine learning.
[0103] In addition, CNC also injects time offsets into multiple circular queues according to the octet information of scheduling requirements and the mastered network topology and link information, such as Figure 11The following is a simple topology diagram of three nodes and one switch in a TSN network. The dashed lines in the figure represent two flows f1 and f2 with nodes A and B as source nodes and node C as destination node. The cycles of the two flows are 5 and 6 respectively, and one data frame is sent in each cycle. For simplicity, it is assumed that each node can send one data frame per cycle, as shown in Figure 1. Figure 12 The figure shows the collision scenarios for different injection time offsets under the CQF mechanism. For a queue with only one queuing period of 1, injection time offsets (offsets set to 0, 1, 2, 3, 4, and 5) are calculated. When offset = 0, the two flows in the queue (shown as black and white squares) initially collide and pass through the same link. When offset = 1, the two flows in the queue, while not initially colliding, still collide and pass through the same link later. Similarly, when offset = 2, 3, 4, or 5, the two flows in the queue will conflict. Therefore, under the CQF mechanism, no matter how the traffic injection time offsets are calculated (offsets set to 0, 1, 2, 3, 4, and 5), it is impossible to ensure that these two flows pass through the same link without conflict.
[0104] In the embodiment of the present invention, Figure 13 The figure shows the case of MCQF with two sets of optional periods injecting time offset. The black square in the figure represents the queue f1 with a period of 1, and the white square represents the queue f2 with a period of 2. For this case where CQF is not schedulable, MCQF has three optional scheduling methods, which are 22 The injected time offset is 0, 1, or 2. When offset = 0, there is no conflict between queues f1 and f2 during transmission. Queue f2 can complete transmission within a period of 2. Therefore, the initial position of queue f2 in the figure is shown. This also avoids the subjective perception of a conflict between queues f2 and f1 due to positional reasons, when in fact there is no conflict. When offset = 0, there is no conflict between queues f1 and f2 during transmission. As can be seen from the above, under the MCQF scheduling mechanism, time offsets can be injected or not for queues. Queues with different periods will not conflict during transmission and will pass through the same link. Compared with CQF, which can only perform periodic offsets on flows at edge nodes to avoid link conflicts as much as possible, the time intervals between data frames in downstream nodes are still fixed. For some flows with poor combinability, it is difficult to select a suitable edge time offset to avoid period conflicts. MCQF with multiple sets of periods relaxes the time interval constraints between data frames. The larger the period, the larger the range of data frame offsets within each period, thus reducing the possibility of conflicts between data frames and improving schedulability.
[0105] Step S130: Based on the planned scheduling path, multiple circular queues perform forwarding scheduling between various nodes.
[0106] In this step, based on the scheduling path obtained in step S120, the scheduling demand is injected into the network by the source node, and the forwarding scheduling of the multiple sequential queues is completed at the downstream node.
[0107] In an embodiment of the present invention, to avoid conflicts caused by injecting multiple queues into the network simultaneously or continuous conflicts with other flows at a downstream node, resulting in unschedulable situations, the source node needs to shape the queue at the source node according to the injection time offset calculated by the CNC, and send the shaped queue to the next node in the network; the intermediate node parses the data frame header received from the previous node and transmits it to a queue in the corresponding next node that is currently receiving data frames. Assume that there are three groups of queues following different cycles in the switch, with cycles of T\2T\4T respectively. The specific queue in which the data frame is stored is determined by the cycle selected by the CUC. At the same time, three queues following different cycles will be sending data frames on the port at the same time. These three queues are scheduled with strict priority. The 2T queue can only be transmitted when there are no data frames in the queue with cycle T, to ensure that the queue can complete the transmission before the deadline of this cycle, and so on. After receiving the data frame parsed by the intermediate node, the destination node checks the correctness and completeness of the data frame, and determines whether it has timed out based on the deadline. If the data frame is not received after the scheduled time, it means that packet loss has occurred. If the data frame is correct and complete and does not exceed the deadline, the multi-circular queue completes the forwarding scheduling between each node; if an error occurs, a message is sent to the CNC to report the error. If the data frame times out or is lost, it means that some nodes in the network may have chain errors, which may be caused by link failure or node failure. It is necessary to check the nodes in the network and replan the scheduling path and injection time offset based on the updated network topology.
[0108] In response to the shortcomings of the existing TSN scheduling and shaping mechanism, the present invention proposes a multi-level circular queue and forwarding scheduling method and system in a time-sensitive network, which can significantly alleviate the scheduling problem caused by the poor combinability of different periodic flows. Under the constraints of the same network resources, while ensuring the low end-to-end delay, low delay jitter and high robustness requirements of high QoS flows, multiple scheduling cycles are used to alleviate resource conflicts between flows, so that flows that originally could not be scheduled in the same link can be transmitted together, increasing the number of flows that the network can provide services. At the same time, when the queue with a shorter queue period prohibits transmission to ensure that the data frame can be transmitted to the next node within the same period, the queue with a longer queue period can use this time fragment for transmission, thereby improving bandwidth utilization and reducing storage resource waste.
[0109] Corresponding to the above method, the present invention also provides a multi-cyclic queue and forwarding scheduling system in a time-sensitive network, the system including a computer device, the computer device including a processor and a memory, the memory storing computer instructions, the processor being used to execute the computer instructions stored in the memory, and when the computer instructions are executed by the processor, the system implements the steps of the method described above.
[0110] An embodiment of the present invention further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the aforementioned edge computing server deployment method. The computer-readable storage medium may be a tangible storage medium, such as a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a floppy disk, a hard disk, a removable storage disk, a CD-ROM, or any other form of storage medium known in the art.
[0111] It should be understood by those skilled in the art that the various exemplary components, systems and methods described in conjunction with the embodiments disclosed herein can be implemented in hardware, software or a combination of the two. Whether it is specifically performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present invention are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link via a data signal carried in a carrier.
[0112] It should be understood that the present invention is not limited to the specific configurations and processes described above and illustrated in the figures. For the sake of brevity, a detailed description of known methods is omitted. In the above embodiments, several specific steps are described and illustrated as examples. However, the method of the present invention is not limited to the specific steps described and illustrated. Those skilled in the art may make various changes, modifications, and additions, or change the order of the steps after understanding the spirit of the present invention.
[0113] In the present invention, features described and / or illustrated for one embodiment may be used in the same or similar manner in one or more other embodiments, and / or combined with or replace features of other embodiments.
[0114] The foregoing description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Those skilled in the art will readily appreciate that various modifications and variations to the present invention are possible. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of the present invention are intended to be within the scope of protection of the present invention.
Claims
1. A multi-stage circular queue and forwarding scheduling method in a time-sensitive network, characterized in that: The method comprises the following steps: Determining scheduling requirements of multiple circular queues to be scheduled, wherein the scheduling requirements of the multiple circular queues include sending periods of the multiple circular queues; determining scheduling priorities of the multiple circular queues based on the queue periods of the multiple circular queues, wherein the shorter the queue period, the higher the corresponding scheduling priority, and the queue periods of the respective queues are integer multiples, such that any longer queue period contains an integer number of any shorter queue periods, so that the starting point and end point of the longer period queue are aligned with the shorter period queue; Plan scheduling paths for multiple circular queues based on the determined scheduling requirements and the network topology and link information; Based on the planned scheduling path and scheduling priority, multiple circular queues perform forwarding scheduling between nodes.
2. The method according to claim 1, characterized in that The method also includes: scheduling queues with different cycles according to priority; scheduling queues with different cycles according to priority so that the queue with a longer queue period uses the time fragments during which the queue with a shorter queue period is prohibited from transmitting to transmit, and when the queue with a shorter queue period has not completed transmission, the queue with a longer queue period is prohibited from transmitting.
3. The method according to claim 1, characterized in that The method further comprises: The scheduling period includes multiple levels, and multiple scheduling periods are used to alleviate resource conflicts between queues; the scheduling period is the least common multiple of the sending period.
4. The method according to claim 1, wherein The scheduling requirement is a requirement proposed by a user or a source node and received from a time-sensitive network; the scheduling requirement includes a source node, a destination node, a transmission cycle, a bandwidth, an acceptable end-to-end delay, and / or a cycle group number; the method further includes: Based on the determined scheduling requirements and the topology and link information in the network, injection time offsets are calculated for multiple circular queues.
5. The method according to claim 4, characterized in that The forwarding scheduling of the multiple circular queues between the nodes includes: The source node shapes the multiple circular queues at the source node based on the calculated injection time offset, and sends the shaped multiple circular queues to the next node; The intermediate node parses the data frame headers received from the previous node in multiple circular queues and dispatches them to the queue that is currently receiving data frames in the corresponding next node; After receiving the data frame parsed by the intermediate node, the destination node checks the correctness and integrity of the data frame, and determines whether it has timed out based on the deadline, or if the data frame is not received after the scheduled time. If the data frame times out or is lost, a message is sent to the network control center.
6. The method according to claim 5, characterized in that The method further comprises: When it is determined that a data frame timeout or loss occurs, the network control center updates the network topology and replans the scheduling path and injection time offset according to the updated network topology.
7. The method according to claim 1, characterized in that The scheduling path meets the following two conditions: Based on the end-to-end delay constraint, the total delay of the scheduled path is less than or equal to the acceptable end-to-end delay of the transmission requirement; Based on the capacity constraint of the arc cycle, the bandwidth required to schedule transmission demands within the cycle is less than or equal to the bandwidth of the arc cycle capacity constraint, and the scheduling path of the schedulable transmission demands is less than or equal to 1.
8. A multi-stage circular queue and forwarding scheduling system in a time-sensitive network, comprising a processor and a memory, characterized in that: The memory stores computer instructions, and the processor is configured to execute the computer instructions stored in the memory. When the computer instructions are executed by the processor, the system implements the steps of the method according to any one of claims 1 to 7.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Time-sensitive network gating mechanism traffic shaping and route planning scheduling method
CN111740924A
Method and apparatus for transmitting and / or receiving data stream with network interface controller
CN114666288A