Packet transmission method, apparatus, network device, and storage medium

By monitoring the scheduling cycle in network equipment and using adjacent scheduling cycles to share forward deterministic messages, the problem of low resource utilization caused by inconsistent busyness and idleness of the scheduling queue is solved, and more efficient resource utilization and message forwarding balance is achieved.

WO2025175495A1PCT designated stage Publication Date: 2025-08-28NEW H3C TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/077866
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-21
Publication Date
2025-08-28

AI Technical Summary

Technical Problem

In the existing deterministic transmission scheme, the resource utilization rate of network equipment is low due to the inconsistent busyness and idleness of the scheduling queue and scheduling cycle.

Method used

By monitoring the scheduling cycle, two adjacent scheduling cycles share and forwarding deterministic messages in the scheduling queue with preset identifiers, the message forwarding balance of each scheduling cycle is achieved and the resource utilization rate is improved.

Benefits of technology

It realizes smoother output of messages cached in each scheduling queue, improves resource utilization of network devices, and avoids resource waste and discarding problems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024077866_28082025_PF_FP_ABST
    Figure CN2024077866_28082025_PF_FP_ABST
Patent Text Reader

Abstract

A packet transmission method, an apparatus, a network device, and a storage medium, relating to the technical field of communications. The method is applied to the network device. The method comprises: monitoring scheduling cycles, wherein one scheduling cycle is associated with at least one scheduling queue; and when arriving at target scheduling cycles is detected, forwarding a deterministic packet cached in a first scheduling queue having a preset identifier, wherein the target scheduling cycles comprise a first scheduling cycle associated with the first scheduling queue and a second scheduling cycle adjacent to the first scheduling cycle. By applying the technical solution provided by embodiments of the present application, the resource utilization rate of the network device can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Message transmission method, device, network equipment and storage medium Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a message transmission method, apparatus, network equipment and storage medium. Background Art

[0002] Current deterministic transmission solutions require pre-specifying the scheduling queues and scheduling cycles for deterministic flow mapping. In other words, during a scheduling cycle, packets cached in the scheduling queue associated with that scheduling cycle are forwarded. However, due to planning, topology changes, and traffic fluctuations, different scheduling queues and scheduling cycles have varying levels of busyness, resulting in low resource utilization for network devices.

[0003] Summary of the Invention

[0004] The purpose of the embodiments of the present application is to provide a message transmission method, apparatus, network device, and storage medium to improve resource utilization of network devices. The specific technical solutions are as follows:

[0005] In a first aspect, an embodiment of the present application provides a message transmission method, applied to a network device, the method comprising:

[0006] Monitor the scheduling cycle. One scheduling cycle is associated with at least one scheduling queue.

[0007] When it is monitored that a target scheduling cycle has been reached, the deterministic message cached in the first scheduling queue with a preset identifier is forwarded, the target scheduling cycle includes a first scheduling cycle associated with the first scheduling queue and a second scheduling cycle adjacent to the first scheduling cycle, and the first scheduling queue has a preset identifier.

[0008] In some embodiments, the preset flag indicates that the cache amount of deterministic messages in the first scheduling queue exceeds a first preset threshold value.

[0009] In some embodiments, the ratio of the first preset threshold value to the maximum forwarding capability value of the network device within the duration of a scheduling cycle is a first preset multiple, and the first preset multiple is less than 1.

[0010] In some embodiments, the total cache amount of deterministic messages in all scheduling queues in the network device is less than a second preset threshold value.

[0011] In some embodiments, the ratio of the second preset threshold value to the total value of the maximum forwarding capability of the network device within the total duration of all scheduling cycles is a second preset multiple, and the second preset multiple is less than 1.

[0012] In some embodiments, the first scheduling period is a previous scheduling period of the second scheduling period;

[0013] The step of forwarding the deterministic message buffered in the first scheduling queue with a preset identifier when the target scheduling period is detected includes:

[0014] When it is detected that the first scheduling period has arrived, the deterministic message cached in the first scheduling queue with a preset identifier is forwarded, and the total cache amount of the deterministic message forwarded in the first scheduling period is a first preset threshold value;

[0015] When it is monitored that the second scheduling period has arrived, the remaining deterministic messages in the first scheduling queue are forwarded.

[0016] In some embodiments, the method further comprises:

[0017] When it is monitored that the second scheduling period has arrived, after the forwarding of the deterministic messages cached in the scheduling queue associated with the previous scheduling period is completed, the deterministic messages cached in the second scheduling queue associated with the second scheduling period are forwarded, and the total amount of the cached deterministic messages forwarded in the second scheduling period is less than or equal to the first preset threshold value;

[0018] The next scheduling period of the second scheduling period is used as a new second scheduling period, and the step of forwarding the deterministic messages cached in the second scheduling queue associated with the second scheduling period after the forwarding of the deterministic messages cached in the scheduling queue associated with the previous scheduling period is completed when monitoring the arrival of the second scheduling period is re-executed until the third scheduling period is reached. The step length from the first scheduling period to the third scheduling period is the preset adjustment step length.

[0019] In some embodiments, the total amount of cached deterministic messages forwarded during the second scheduling period is equal to the first preset threshold, and there are remaining deterministic messages in the second scheduling queue; or

[0020] The total cached amount of deterministic messages forwarded in the second scheduling period is less than the first preset threshold value, and there are no remaining deterministic messages in the second scheduling queue.

[0021] In some embodiments, the first scheduling period is a scheduling period next to the second scheduling period;

[0022] The step of forwarding the deterministic message buffered in the first scheduling queue with a preset identifier when the target scheduling period is detected includes:

[0023] When it is monitored that the second scheduling period has arrived, after the forwarding of the deterministic messages cached in the second scheduling queue associated with the second scheduling period is completed, the deterministic messages cached in the first scheduling queue with the preset identifier are forwarded, and the total cached amount of the deterministic messages forwarded in the second scheduling period is equal to the first preset threshold value;

[0024] When it is monitored that the first scheduling period has arrived, the remaining deterministic messages in the first scheduling queue are forwarded.

[0025] In some embodiments, the method further comprises:

[0026] When it is monitored that the fourth scheduling period has arrived, after the forwarding of the deterministic messages cached in the scheduling queue associated with the fourth scheduling period is completed, the deterministic messages cached in the scheduling queue associated with the next scheduling period of the fourth scheduling period are forwarded, and the total amount of the cached deterministic messages forwarded in the fourth scheduling period is less than or equal to the first preset threshold value;

[0027] The next scheduling cycle of the fourth scheduling cycle is used as a new fourth scheduling cycle, and the step of forwarding the deterministic messages cached in the scheduling queue associated with the fourth scheduling cycle after the forwarding is completed when it is monitored that the fourth scheduling cycle has been reached, and then forwarding the deterministic messages cached in the scheduling queue associated with the next scheduling cycle of the fourth scheduling cycle is executed again until the second scheduling cycle is reached. The step length from the fourth scheduling cycle to the first scheduling cycle is the preset adjustment step length.

[0028] In some embodiments, the total cache amount of deterministic messages forwarded in the fourth scheduling period is equal to the first preset threshold value, and there are remaining deterministic messages in the scheduling queue associated with the next scheduling period of the fourth scheduling period; or

[0029] The total cached amount of deterministic messages forwarded in the fourth scheduling period is less than the first preset threshold value, and there are no remaining deterministic messages in the scheduling queue associated with the next scheduling period of the fourth scheduling period.

[0030] In some embodiments, the network device is configured with an adjustable scheduling queue number parameter, scheduling queue length parameter, cycle number parameter, and cycle width parameter;

[0031] The scheduling queue quantity parameter is used to indicate the number of scheduling queues included in the network device;

[0032] The scheduling queue length parameter is used to indicate the buffer size of a scheduling queue;

[0033] The cycle number parameter is used to indicate the number of scheduling cycles included in the network device;

[0034] The cycle width parameter is used to indicate the duration of a scheduling cycle.

[0035] In some embodiments, the network device is located at a convergence layer or a core layer.

[0036] In a second aspect, an embodiment of the present application provides a message transmission device, applied to a network device, the device comprising:

[0037] A monitoring module is used to monitor the scheduling cycle, where one scheduling cycle is associated with at least one scheduling queue;

[0038] A forwarding module is used to forward the deterministic message cached in the first scheduling queue with a preset identifier when monitoring the arrival of the target scheduling period, wherein the target scheduling period includes the first scheduling period associated with the first scheduling queue and the second scheduling period adjacent to the first scheduling period.

[0039] In some embodiments, the preset flag indicates that the cache amount of deterministic messages in the first scheduling queue exceeds a first preset threshold value.

[0040] In some embodiments, the ratio of the first preset threshold value to the maximum forwarding capability value of the network device within the duration of a scheduling cycle is a first preset multiple, and the first preset multiple is less than 1.

[0041] In some embodiments, the total cache amount of deterministic messages in all scheduling queues in the network device is less than a second preset threshold value.

[0042] In some embodiments, the ratio of the second preset threshold value to the total value of the maximum forwarding capability of the network device within the total duration of all scheduling cycles is a second preset multiple, and the second preset multiple is less than 1.

[0043] In some embodiments, the first scheduling period is a previous scheduling period of the second scheduling period;

[0044] The forwarding module is specifically configured to:

[0045] When it is detected that the first scheduling period has arrived, the deterministic message cached in the first scheduling queue with a preset identifier is forwarded, and the total cache amount of the deterministic message forwarded in the first scheduling period is a first preset threshold value;

[0046] When it is monitored that the second scheduling period has arrived, the remaining deterministic messages in the first scheduling queue are forwarded.

[0047] In some embodiments, the forwarding module is further configured to:

[0048] When it is monitored that the second scheduling period has arrived, after the forwarding of the deterministic messages cached in the scheduling queue associated with the previous scheduling period is completed, the deterministic messages cached in the second scheduling queue associated with the second scheduling period are forwarded, and the total amount of the cached deterministic messages forwarded in the second scheduling period is less than or equal to the first preset threshold value;

[0049] The next scheduling period of the second scheduling period is used as a new second scheduling period, and the step of forwarding the deterministic messages cached in the second scheduling queue associated with the second scheduling period after the forwarding of the deterministic messages cached in the scheduling queue associated with the previous scheduling period is completed when monitoring the arrival of the second scheduling period is re-executed until the third scheduling period is reached. The step length from the first scheduling period to the third scheduling period is the preset adjustment step length.

[0050] In some embodiments, the total amount of cached deterministic messages forwarded during the second scheduling period is equal to the first preset threshold, and there are remaining deterministic messages in the second scheduling queue; or

[0051] The total cached amount of deterministic messages forwarded in the second scheduling period is less than the first preset threshold value, and there are no remaining deterministic messages in the second scheduling queue.

[0052] In some embodiments, the first scheduling period is a scheduling period next to the second scheduling period;

[0053] The forwarding module is specifically configured to:

[0054] When it is monitored that the second scheduling period has arrived, after the forwarding of the deterministic messages cached in the second scheduling queue associated with the second scheduling period is completed, the deterministic messages cached in the first scheduling queue with the preset identifier are forwarded, and the total cached amount of the deterministic messages forwarded in the second scheduling period is equal to the first preset threshold value;

[0055] When it is monitored that the first scheduling period has arrived, the remaining deterministic messages in the first scheduling queue are forwarded.

[0056] In some embodiments, the forwarding module is further configured to:

[0057] When it is monitored that the fourth scheduling period has arrived, after the forwarding of the deterministic messages cached in the scheduling queue associated with the fourth scheduling period is completed, the deterministic messages cached in the scheduling queue associated with the next scheduling period of the fourth scheduling period are forwarded, and the total amount of the cached deterministic messages forwarded in the fourth scheduling period is less than or equal to the first preset threshold value;

[0058] The next scheduling cycle of the fourth scheduling cycle is used as a new fourth scheduling cycle, and the step of forwarding the deterministic messages cached in the scheduling queue associated with the fourth scheduling cycle after the forwarding is completed when it is monitored that the fourth scheduling cycle has been reached, and then forwarding the deterministic messages cached in the scheduling queue associated with the next scheduling cycle of the fourth scheduling cycle is executed again until the second scheduling cycle is reached. The step length from the fourth scheduling cycle to the first scheduling cycle is the preset adjustment step length.

[0059] In some embodiments, the total cache amount of deterministic messages forwarded in the fourth scheduling period is equal to the first preset threshold value, and there are remaining deterministic messages in the scheduling queue associated with the next scheduling period of the fourth scheduling period; or

[0060] The total cached amount of deterministic messages forwarded in the fourth scheduling period is less than the first preset threshold value, and there are no remaining deterministic messages in the scheduling queue associated with the next scheduling period of the fourth scheduling period.

[0061] In some embodiments, the network device is configured with an adjustable scheduling queue number parameter, scheduling queue length parameter, cycle number parameter, and cycle width parameter;

[0062] The scheduling queue quantity parameter is used to indicate the number of scheduling queues included in the network device;

[0063] The scheduling queue length parameter is used to indicate the buffer size of a scheduling queue;

[0064] The cycle number parameter is used to indicate the number of scheduling cycles included in the network device;

[0065] The cycle width parameter is used to indicate the duration of a scheduling cycle.

[0066] In some embodiments, the network device is located at a convergence layer or a core layer.

[0067] In a third aspect, an embodiment of the present application provides a network device comprising a processor and a machine-readable storage medium, wherein the machine-readable storage medium stores machine-executable instructions that can be executed by the processor, and the processor is prompted by the machine-executable instructions to implement any message transmission method provided in the first aspect above.

[0068] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements any message transmission method provided in the first aspect above.

[0069] In a fifth aspect, an embodiment of the present application provides a computer program product, which, when running on a computer, enables the computer to execute any of the message transmission methods provided in the first aspect above.

[0070] In the technical solution provided in the embodiment of the present application, the scheduling cycle is associated with the scheduling queue. For the first scheduling queue associated with the first scheduling cycle and having a preset identifier, the network device uses the first scheduling cycle and the second scheduling cycle adjacent to the first scheduling cycle to forward the messages cached in the first scheduling queue. That is, the two scheduling cycles share the messages cached in the scheduling queue associated with one scheduling cycle. This can achieve a balance in the messages forwarded in each scheduling cycle, so that the messages cached in each scheduling queue can be output more smoothly, thereby improving the resource utilization of the network device.

[0071] Of course, it is not necessary to achieve all the advantages described above at the same time when implementing any product or method of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0072] The drawings described herein are used to provide further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute improper limitations on the present application.

[0073] Figure 1 is a schematic diagram of deterministic transmission based on TSN;

[0074] FIG2 is a schematic diagram of deterministic transmission based on CSQF;

[0075] FIG3 is a schematic diagram showing the busyness of a scheduling queue;

[0076] FIG4 is a schematic diagram of a first flow chart of a message transmission method provided in an embodiment of the present application;

[0077] FIG5 is a schematic diagram of a structure of a network provided in an embodiment of the present application;

[0078] FIG6 is a schematic diagram of parameter configuration in a network device provided in an embodiment of the present application;

[0079] FIG7 is a first detailed schematic diagram of step S42 provided in an embodiment of the present application;

[0080] FIG8 is a schematic diagram of a message transmission scenario provided in an embodiment of the present application;

[0081] FIG9 is a first schematic diagram of backward translation shared forwarding provided in an embodiment of the present application;

[0082] FIG10 is a schematic diagram of a second flow chart of a message transmission method provided in an embodiment of the present application;

[0083] FIG11 is a second schematic diagram of backward translation shared forwarding provided in an embodiment of the present application;

[0084] FIG12 is a second detailed schematic diagram of step S42 provided in an embodiment of the present application;

[0085] FIG13 is a schematic diagram of a first type of forward translation shared forwarding provided in an embodiment of the present application;

[0086] FIG14 is a schematic diagram of a third flow chart of the message transmission method provided in an embodiment of the present application;

[0087] FIG15 is a second schematic diagram of forward translation shared forwarding provided in an embodiment of the present application;

[0088] FIG16 is a schematic structural diagram of a message transmission device provided in an embodiment of the present application;

[0089] FIG17 is a schematic diagram of the structure of a network device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0090] To make the objectives, technical solutions, and advantages of this application more clearly understood, the present application is further described below with reference to the accompanying drawings and examples. It is apparent that the described examples are only a portion of the embodiments of this application, and not all of them. All other embodiments derived by persons of ordinary skill in the art based on the examples in this application are intended to fall within the scope of protection of this application.

[0091] To facilitate understanding, the terms appearing in the embodiments of this application are explained below.

[0092] Time Sensitive Network (TSN): A set of Ethernet standards that, through core technologies such as precise time synchronization and scheduled scheduling, enables time-synchronized, low-latency streaming services. This provides low-latency, isochronous, and standard data to all units within the system, thus laying the foundation for the convergence of control, measurement, configuration, user interface (UI), and file exchange infrastructure. Deterministic Network: A network that guarantees deterministic bandwidth, latency, jitter, and packet loss rate metrics for services.

[0093] Time slot: Time is divided into equal parts into time slots, which are the smallest scheduling unit in a deterministic network.

[0094] Cyclic Specific Queuing and Forwarding (CSQF): a cyclic specific queuing and forwarding mechanism based on segment routing.

[0095] Latency: The delay caused by data packets being transmitted through an end-to-end network.

[0096] Strict Priority (SP) algorithm: Schedules packets strictly in the order of their priorities. That is, if there are high-priority packets, they will be forwarded all the time. Only after all the packets in the high-priority scheduling queues have been scheduled, can the low-priority scheduling queues be scheduled.

[0097] Weighted Round Robin (WRR) algorithm: Assigns a weight to each scheduling queue and schedules the scheduling queue according to the weight ratio to prevent low-priority traffic from waiting for a long time.

[0098] After decades of rapid development, the Internet has enabled seamless connections between people, things, and everything else, bringing significant convenience and impact to people's lives and work. However, scenarios such as smart grids, telemedicine, audio and video entertainment, and industrial remote control require low-latency, low-jitter data transmission, which in turn requires end-to-end deterministic transmission. Complex scenarios with multiple services, high traffic volumes, and wide areas also require end-to-end deterministic transmission. Deterministic networking, a new quality of service (QoS) assurance technology, can meet these deterministic transmission requirements and can be used in emerging, real-time-critical scenarios such as autonomous driving, remote surgery, and holographic communications.

[0099] The demand for deterministic networks comes from two main aspects:

[0100] 1. Compatibility with Ethernet standards: In traditional scenarios such as industrial automation and intelligent manufacturing, Ethernet is needed to uniformly replace dozens of fieldbus and real-time Ethernet standards, integrating information technology (IT) networks and operational technology (OT) networks to achieve co-network transmission of best-effort flows and industrial delay-sensitive flows, thereby reducing costs.

[0101] 2. Carrying deterministic services: With the surge in machine-to-machine communication traffic, it is necessary to combine fifth-generation mobile communication technology (5G) and other technologies in emerging network application scenarios such as autonomous driving, remote surgery, and holographic communication to create a super high-speed rail in the network and achieve end-to-end transmission of deterministic services, referred to as deterministic transmission.

[0102] Traditional Internet and industrial networks mainly use the following four methods to ensure QoS:

[0103] a) Capacity Expansion / Light Load: Capacity expansion means increasing bandwidth to lighten the network load. Currently, Ethernet can achieve a single-port bandwidth of 400G bits per second (bps).

[0104] b) Traffic Shaping: Token buckets, credit shaping, and other technologies are used to limit the speed of specific ports or traffic. For example, if the bandwidth of the upstream node's outbound port is 8 Gbps, and the downstream node has only 2 Gbps of available bandwidth, the upstream node's transmission bandwidth must be limited to less than 2 Gbps to prevent congestion at the downstream node.

[0105] c) Queue scheduling: This refers to traffic scheduling at the outbound port of a switching device. Packets are first marked with different priorities, then added to the corresponding priority scheduling queues. Finally, different scheduling algorithms are used to process the packets. These algorithms include the SP algorithm and the WRR algorithm.

[0106] d) Congestion Control: When traffic is excessive and the buffering queues run out of space, network congestion and packet loss can occur. This necessitates congestion control, which reduces the rate at which upstream nodes, including the sender, send messages. Currently, congestion can be detected using explicit congestion marking-based congestion control methods, such as Explicit Congestion Notification (ECN) or Data Center Transmission Control Protocol (DCTCP). Alternatively, congestion can be detected using round-trip time (RTT)-based congestion control methods, such as Timely and Swift.

[0107] The above technical solutions for ensuring QoS have the following problems:

[0108] 1) Lack of bounded delay and jitter guarantee: Due to the statistical multiplexing of bandwidth resources on the outbound ports, there is no QoS guarantee mechanism in the delay dimension. Best-effort forwarding always results in queuing and congestion. Service delays are on the order of 50 milliseconds (ms) to 1 second (s), and there is a long tail delay.

[0109] 2) Difficulty coping with in-cast and traffic bursts: Since the sender's traffic volume and message sending time are uncontrollable, there are phenomena in the network where multiple data streams converge at downstream nodes (i.e., in-cast) and traffic surges at certain moments (i.e., traffic bursts), resulting in congestion and packet loss in the network.

[0110] To address the above two issues, the concept of time division multiplexing (TDM) is introduced in related technologies to achieve clock synchronization and time slot planning. In short, the entire network schedules and forwards messages according to a unified beat, thereby achieving certain delay and jitter.

[0111] (1) Clock synchronization: that is, the clocks of the entire network are synchronized. The clocks of terminals and switching devices are the same, and the network card also adds a hard timestamp to the message.

[0112] Currently, there are two clock synchronization methods: one is the master-slave mode, in which the most accurate clock is selected as the master clock, and all other slave clocks are synchronized with the master clock; the other is the voting mode. For example, there are 9 devices in a domain, and the clocks of 5 devices are currently 1:00 and 4 devices are 1:01. According to the principle of minority obeys majority, all 9 devices are adjusted to 1:00.

[0113] (2) Time slot planning: The time slot is the transmission resource in the time dimension of the output port of the switching device.

[0114] For example, if the bandwidth of a switch's outbound port is 1 Gbps, and a packet consists of 1500 bytes (12,000 bits), the transmission of this packet occupies a 12-microsecond (μs) time slot on the outbound port. The time slot occupied is determined by the start time of the packet's transmission.

[0115] Since most industrial traffic consists of periodically sent messages smaller than the Maximum Transmission Unit (MTU), the start time of terminal message transmission can be controlled. Through global time slot planning (i.e., time division multiplexing), each message is "triggered" to be sent only at a pre-calculated moment, ensuring that the time slots occupied by them when transmitted at each egress port do not conflict with each other, thereby avoiding the generation of in-cast and burst traffic and achieving "on-time and accurate" transmission.

[0116] Currently, technologies for achieving deterministic latency and jitter include TSN and CSQF.

[0117] TSN-based deterministic transmission adopts Time Awareness Shaper (TAS) scheduling and utilizes priority gated scheduling queues. That is, a gated switch is added after the priority scheduling queue, and the opening and closing of the gated switch is controlled by the gated schedule to ensure the delay jitter requirements.

[0118] Figure 1 shows a schematic diagram of deterministic transmission based on TSN. The network device's outbound port includes four scheduling queues, Q0 through Q3, each storing messages MSG1 through MSG5. Each scheduling queue is followed by gate switches 0 through 3, with a gating schedule consisting of a 2000μs cycle. The network device enables the corresponding gate switches according to the gating schedule and processes the messages stored in the corresponding scheduling queue. For example, at 0 μs, gate switches 0 and 3 are enabled, and gate switches 1 and 2 are disabled, thereby forwarding the message stored in Q0 and Q3; at 500 μs, gate switches 0, 1, and 3 are disabled, and gate switch 2 is enabled, thereby forwarding the message stored in Q2; at 1000 μs, gate switches 0, 2, and 3 are disabled, and gate switch 1 is enabled, thereby forwarding the message stored in Q1; at 2000 μs, gate switches 2 and 3 are disabled, and gate switches 0 and 1 are enabled, thereby forwarding the message stored in Q0 and Q1, as shown in Figure 1.

[0119] CSQF-based deterministic transmission achieves end-to-end deterministic latency and jitter through frequency synchronization between devices and round-robin queuing and forwarding of device output port scheduling queues.

[0120] Figure 2 shows a schematic diagram of deterministic transmission based on CSQF. Network devices X, Y, Z, and W each pre-plan the mapping relationship between deterministic flows and scheduling time slots (also called scheduling periods). In Figure 2, network device X pre-plans the mapping relationship between deterministic flows and scheduling period 0, network device Y pre-plans the mapping relationship between deterministic flows and scheduling period 2, and network device Z pre-plans the mapping relationship between deterministic flows and scheduling period 1. Network device X stores the deterministic flow in the scheduling queue associated with scheduling period 0 and forwards the deterministic flow to network device Y during scheduling period 0. Network device Y stores the deterministic flow in the scheduling queue associated with scheduling period 2 and forwards the deterministic flow to network device Z during scheduling period 2. Network device Z stores the deterministic flow in the scheduling queue associated with scheduling period 1 and forwards the deterministic flow to network device W during scheduling period 1.

[0121] In a network device, a deterministic flow is set to be sent within a scheduling period. The earliest time each message in the deterministic flow is sent is the start time of the scheduling period, and the latest time is the end time of the scheduling period. Therefore, the maximum delay jitter within the network device is the width of one scheduling period.

[0122] Scheduling based on the aforementioned TSN and CSQF can achieve deterministic transmission, but it requires pre-specifying the scheduling queues and cycles for deterministic flow mapping. However, due to planning, topology changes, traffic changes, and other factors, the busyness of different scheduling queues and scheduling cycles varies. Figure 3 shows a schematic diagram of the busyness of scheduling queues. In Figure 3, one scheduling queue corresponds to one cycle, and the numbers represent both the identifier of the scheduling queue and the identifier of the scheduling cycle. The padding in each scheduling cycle represents deterministic messages. The different busyness of different scheduling queues represents the different busyness of different cycles. As can be seen from Figure 3, among scheduling queues 0 to 7, scheduling queues 0, 4, and 7 are relatively idle, while scheduling queues 1, 3, and 6 are relatively busy.

[0123] Since some cycles are busy and some cycles are idle, this results in low resource utilization of network devices.

[0124] In order to improve the resource utilization of network devices, an embodiment of the present application provides a message transmission method, as shown in Figure 4, which is applied to network devices. The network device can be a device with communication functions such as a router or a switching device. The network device can be located in the convergence layer or the core layer, such as a network device in a deterministic domain in the network shown in Figure 5. The network device can also be a device for end-to-end communication, such as the customer premise equipment (CPE) 1 and CPE2 in the network shown in Figure 5. Among them, the deterministic domain can be a resilient cyclic queuing and forwarding (RCQF) domain or a CSQF domain that applies the technical solution provided by the embodiment of the present application, and the deterministic domain can be a wide area network or a local area network. The message transmission method provided by the embodiment of the present application includes the following steps:

[0125] Step S41, monitoring the scheduling cycle, where one scheduling cycle is associated with at least one scheduling queue;

[0126] Step S42: when it is detected that a target scheduling period has been reached, the deterministic message buffered in the first scheduling queue with a preset identifier is forwarded. The target scheduling period includes a first scheduling period associated with the first scheduling queue and a second scheduling period adjacent to the first scheduling period.

[0127] In the technical solution provided in the embodiment of the present application, the scheduling cycle is associated with the scheduling queue. For the first scheduling queue associated with the first scheduling cycle and having a preset identifier, the network device uses the first scheduling cycle and the second scheduling cycle adjacent to the first scheduling cycle to forward the messages cached in the first scheduling queue. That is, the two scheduling cycles share the messages cached in the scheduling queue associated with one scheduling cycle. This can achieve a balance in the messages forwarded in each scheduling cycle, so that the messages cached in each scheduling queue can be output more smoothly, thereby improving the resource utilization of the network device.

[0128] In addition, the technical approach provided by the embodiment of the present application occurs during the scheduling and forwarding of messages, rather than during the message enqueuing, has a higher degree of freedom, and is more friendly to resource planning, topology and traffic changes on the control plane.

[0129] In step S41 above, the scheduling queue is used to cache deterministic messages, which are messages that are transmitted deterministically. A scheduling cycle can be understood as a time slot for scheduling forwarding. A scheduling cycle can be associated with one or more scheduling queues, and a scheduling queue is associated with one scheduling cycle.

[0130] In an embodiment of the present application, in order to adapt to different applications and business requirements, the network device can be configured with adjustable scheduling queue number parameters, scheduling queue length parameters, cycle number parameters and cycle width parameters, as shown in Figure 6.

[0131] (1) Scheduling queue number parameter: The scheduling queue number parameter is used to indicate the number of scheduling queues included in the network device.

[0132] In the embodiment of the present application, the number of scheduling queues can be planned based on characteristics such as the number and bandwidth of deterministic flows, that is, the above-mentioned scheduling queue number parameters are pre-set.

[0133] (2) Dispatch queue length parameter. The dispatch queue length parameter is used to indicate the buffer size of a dispatch queue;

[0134] In the embodiment of the present application, the length of the scheduling queue can be planned based on properties such as the size of the deterministic flow and resource conditions such as buffer resources, that is, the above-mentioned scheduling queue length parameters are pre-set.

[0135] (3) Cycle quantity parameter: The cycle quantity parameter is used to indicate the number of scheduling cycles included in the network device.

[0136] In the embodiment of the present application, the number of scheduling cycles can be set according to the number of scheduling queues. In order to facilitate the association between scheduling queues and scheduling cycles, the number of scheduling queues is a positive integer multiple of the number of scheduling cycles, such as 1, 2 or 3 times the number of scheduling queues.

[0137] (4) Cycle width parameter: The cycle width parameter is used to indicate the duration of a scheduling cycle.

[0138] In the embodiments of the present application, the cycle width of each scheduling cycle, that is, the duration of each scheduling cycle, can be set based on business requirements such as end-to-end jitter accuracy requirements, and underlying hardware conditions such as crystal oscillator and scheduling accuracy. For example, if the business requirement is end-to-end jitter accuracy less than 10μs, the cycle width parameter can be set to 10μs, indicating that deterministic messages can be sent externally within 10μs.

[0139] Different interfaces can send different numbers of bytes of packets within a scheduling cycle. For example, a 10 Gbps interface can send approximately 12,000 bytes of packets within 10 μs.

[0140] After the above four parameters are set, the scheduling queue and the scheduling cycle are associated, and a deterministic flow (i.e., a critical business flow) can be mapped to one or more scheduling queues. As shown in Figure 6, a single scheduling cycle is one section (i.e., a time slot) in the entire scheduling flywheel. The scheduling flywheel rotates over and over again, and the scheduling cycle also changes alternately. If the scheduling flywheel is divided into 8 sections, it corresponds to 8 scheduling cycles. If the width of a single scheduling cycle is 10μs, the scheduling flywheel rotates one circle for 80μs, which means that the scheduling flywheel can rotate 12.5 circles in 1 second (s). In the embodiment of the present application, the scheduling strategy can be changed by adjusting parameters such as "scheduling queue length", "number of scheduling queues", "number of cycles", and "cycle width" to adapt to the needs of different applications and businesses.

[0141] For example, if end-to-end jitter requirements are low, the width of a single scheduling cycle can be set to a larger value, allowing more packets to be sent within a single scheduling cycle. This has two benefits: 1) As the scheduling cycle width increases, the forwarding efficiency of network devices increases, because the number of scheduling cycle switches per unit time decreases, thereby reducing the protection time caused by scheduling cycle switches; 2) Network devices can aggregate more deterministic packets. Because the larger scheduling cycle width allows more packets to be forwarded within a single scheduling cycle, more deterministic packets can be aggregated and forwarded within a single scheduling cycle.

[0142] For another example, by increasing the number of scheduling queues and the number of scheduling cycles, different deterministic flows can be mapped to different scheduling queues to better and more finely support more deterministic flows, and dedicated scheduling queues can be reserved for special flows.

[0143] In step S42 above, the target scheduling period includes an adjacent first scheduling period and a second scheduling period. The first scheduling period can be the previous scheduling period of the second scheduling period, or the next scheduling period of the second scheduling period, without limitation. For example, in FIG3 , scheduling period 3 associated with scheduling queue 3 is the first scheduling period, and the second scheduling period can be scheduling period 2 associated with scheduling queue 2, or scheduling period 4 associated with scheduling queue 4.

[0144] The preset identifier can be represented by any symbol. For example, the preset identifier can be represented by the letter "S" or the number "1". The symbol representing the preset identifier can be stored in the storage location corresponding to each scheduling queue, so that the network device can determine whether each scheduling queue has a preset identifier and whether to perform shared forwarding.

[0145] The preset identifier can also be implemented in other forms. For example, a network device configuration register has a bit width that is the same as the number of scheduling queues, and the scheduling queues correspond one-to-one with the bits of the register. When a bit in the register is set to 1, it indicates that the scheduling queue corresponding to the bit has the preset identifier; otherwise, it indicates that the scheduling queue corresponding to the bit does not have the preset identifier. In the embodiments of the present application, the specific implementation form of the preset identifier is not limited.

[0146] The scheduling queue associated with the first scheduling period is the first scheduling queue, and the scheduling queue associated with the second scheduling period is the second scheduling queue. When the network device detects that the current time has reached the first scheduling period, the network device forwards the deterministic messages cached in the first scheduling queue. When the network device detects that the current time has reached the second scheduling period, the network device forwards the deterministic messages cached in the second scheduling queue, while continuing to forward the deterministic messages cached in the first scheduling queue.

[0147] The deterministic messages cached in the first scheduling queue are shared and forwarded by two scheduling cycles, which can achieve a balance in the messages forwarded in each scheduling cycle, so that the messages cached in each scheduling queue can be output more smoothly, thereby improving the resource utilization of the network device.

[0148] In an embodiment of the present application, in order to further improve the resource utilization of the network device, the network device can pre-configure a first preset threshold value for the cache amount, and the preset flag indicates that the cache amount of the deterministic message in the first scheduling queue exceeds the first preset threshold value, and the cache amount can be a quantity or a data amount. The size of the first preset threshold value can be set according to actual needs. In one example, the ratio of the first preset threshold value to the maximum forwarding capability value of the network device within the duration of a scheduling cycle is a first preset multiple, and the first preset multiple is less than 1. For example, the first preset multiple is 50%, 60% or 70%, etc.

[0149] Taking a 10Gbps interface as an example, approximately 12,000 bytes of packets can be sent in 10μs. A scheduling cycle is 10μs wide, so the maximum forwarding capacity of the network device in one scheduling cycle is 12,000 bytes. Assuming the first preset multiple is 50%, the first preset threshold is 12,000 * 50% = 6,000 bytes.

[0150] When the cache amount of deterministic messages in the first scheduling queue exceeds the first preset threshold value, it means that the first scheduling cycle is busy. The network device can add a preset identifier to the first scheduling queue and execute the above step S42 to share the message forwarding of the first scheduling cycle with the second scheduling cycle; if the cache amount of deterministic messages in the first scheduling queue is lower than or equal to the first preset threshold value, it means that the first scheduling cycle is relatively idle and does not need to share forwarding. Then, when the first scheduling cycle is reached, the network device forwards the deterministic messages cached in the first scheduling queue. When the second scheduling cycle is reached, the network device forwards the deterministic messages cached in the second scheduling queue and no longer forwards the deterministic messages cached in the first scheduling queue.

[0151] In an embodiment of the present application, since the deterministic messages forwarded within a scheduling cycle can be shared and forwarded by other adjacent scheduling cycles, for a busier scheduling cycle, the network device can increase the length of the scheduling queue associated with the scheduling cycle, so that the scheduling queue associated with the scheduling cycle can cache more messages, avoiding the problem that the messages forwarded in the scheduling cycle cannot be written into the scheduling queue and are discarded due to the limited length of the scheduling queue, thereby improving the reliability of the network; at the same time, since the forwarding messages can be shared with the help of adjacent scheduling cycles, the forwarding of messages in the busier scheduling cycle is ensured to be completed.

[0152] In an embodiment of the present application, in order to further improve the resource utilization of the network device and avoid waste of resources, the network device can pre-configure a second preset threshold value for the cache amount, and the total cache amount of deterministic messages in all scheduling queues in the network device is less than the second preset threshold value. The cache amount can be a number or a data amount. The size of the second preset threshold value can be set according to actual needs. In one example, the ratio of the second preset threshold value to the total value of the maximum forwarding capacity of the network device within the total duration of all scheduling cycles is a second preset multiple, and the second preset multiple is less than 1. For example, the second preset multiple is 50%, 60% or 70%, etc.

[0153] Taking a 10Gbps interface as an example, a 12,000-byte packet can be sent within 10μs. The network device is configured with eight scheduling cycles, each lasting 10μs. Therefore, the maximum forwarding capacity of the network device during one scheduling cycle is 12,000 bytes. The total maximum forwarding capacity of the network device across all scheduling cycles is 12,000 * 8 = 96,000 bytes. Assuming the second preset multiplier is 50%, the second preset threshold is 96,000 * 50% = 48,000 bytes.

[0154] When the total cache amount of deterministic messages in all scheduling queues in the network device is less than the second preset threshold value, it indicates that there may be busier scheduling cycles and idler scheduling cycles in the network device. The network device executes the above step S42 to perform shared forwarding. For example, when the cache amount of deterministic messages in the first scheduling queue exceeds the first preset threshold value, when the target scheduling cycle is reached, the deterministic messages cached in the first scheduling queue are forwarded; if the total cache amount of deterministic messages in all scheduling queues in the network device is greater than or equal to the second preset threshold value, it indicates that the network device is busy as a whole, that is, each scheduling cycle is busy. Then, when the first scheduling cycle is reached, the network device forwards the deterministic messages cached in the first scheduling queue. When the second scheduling cycle is reached, the network device forwards the deterministic messages cached in the second scheduling queue and no longer forwards the deterministic messages cached in the first scheduling queue. That is, there is no need for shared forwarding, which saves resources of the network device.

[0155] In the embodiment of the present application, the network devices can share forwarding in two ways through adjacent scheduling cycles, namely, backward shifting shared forwarding and forwarding shared forwarding. These two shared forwarding ways are described below.

[0156] (1) Backward translation sharing and forwarding method.

[0157] When the network device adopts the backward shifting shared forwarding mode, the first scheduling period is the previous scheduling period of the second scheduling period. In this case, as shown in FIG7 , the above step S42 may include:

[0158] Step S421: When it is detected that the first scheduling period has arrived, the deterministic message buffered in the first scheduling queue with a preset identifier is forwarded, and the total amount of the buffered deterministic message forwarded in the first scheduling period is a first preset threshold value;

[0159] Step S422: When it is detected that the second scheduling period has arrived, the remaining deterministic messages in the first scheduling queue are forwarded.

[0160] For example, in the message transmission scenario shown in Figure 8, node V receives deterministic messages from node U at the ingress port and writes them into a scheduling queue. Each scheduling queue is mapped to a corresponding scheduling period. For example, scheduling queue i in the figure is mapped to scheduling period i, where i = 0, 1, ..., 7. Node V cyclically schedules the corresponding scheduling queue according to the scheduling period and sends deterministic messages from the egress port to node W. When node V cyclically schedules the corresponding scheduling queue according to the scheduling period, it uses backward shifting shared forwarding, as shown in Figure 9.

[0161] In Figure 9, each scheduling queue corresponds to a scheduling cycle. The numbers indicate the identifier of the scheduling cycle. The padding in each scheduling cycle represents the deterministic messages forwarded in that scheduling cycle. The dashed line represents the first preset threshold value δ. The left graph of Figure 9 shows the deterministic messages that should be forwarded in each scheduling cycle, that is, the deterministic messages cached in the scheduling queues associated with each scheduling cycle. As can be seen from the left graph of Figure 9, scheduling queues 0, 4, and 7 are relatively idle, while scheduling queues 1 and 6 are relatively busy.

[0162] Adopting the technical solution provided by the embodiment of the present application, taking scheduling queue 1 as an example, the messages cached in scheduling queue 1 exceed δ, and the network device adds a preset identifier to scheduling queue 1, that is, the first scheduling queue is scheduling queue 1, and the first scheduling period is scheduling period 1. When scheduling period 1 is reached, the network device forwards the deterministic messages of the cache amount δ in scheduling queue 1; for the deterministic messages in scheduling queue 1 that exceed the cache amount δ, the network device shifts these deterministic messages to scheduling period 2, that is, when scheduling period 2 is reached, the network device forwards these deterministic messages, and after these deterministic messages are forwarded, it forwards the deterministic messages in scheduling queue 2. Other busier scheduling queues, such as scheduling queue 6, share forwarding in the same way. At this time, the messages actually forwarded in each scheduling period are shown in the right figure of Figure 9. In the right figure of Figure 9, the part filled with the right slanted line represents the deterministic messages cached in the scheduling queue associated with the corresponding scheduling period, and the part filled with the vertical line represents the deterministic messages cached in the scheduling queue associated with the previous scheduling period shifted to the deterministic messages of this scheduling period.

[0163] In the technical solution provided in the embodiment of the present application, the network device shifts the deterministic messages in the first scheduling queue that exceed the first preset threshold value to the second scheduling period for forwarding, thereby avoiding excessive busyness in the first scheduling period and ensuring smoother output of the messages, thereby improving the overall forwarding efficiency of the messages and the utilization of network device resources.

[0164] To further ensure smooth message output, improve message forwarding efficiency, and improve network device resource utilization, in some embodiments, network devices may also be configured with a preset adjustment step size to share the load of the first scheduling cycle across multiple scheduling cycles. The size of the preset adjustment step size can be set based on the scheduling cycle margin between devices. For example, in Figure 2 , network device X sends deterministic messages at scheduling cycle 0, and network device Y sends deterministic messages at scheduling cycle 2. Scheduling cycle 2 is separated from scheduling cycle 0 by two scheduling cycles, meaning the scheduling cycle margin between network devices X and Y is 2. Based on this, network device X can set a preset adjustment step size of 2. Similarly, network device Y can set a preset adjustment step size of 2 or 3.

[0165] In this case, as shown in FIG10 , the message transmission method may include:

[0166] Step S101: monitoring the scheduling cycle, where one scheduling cycle is associated with at least one scheduling queue, which is the same as the above step S41.

[0167] Step S102: When the first scheduling period is detected, the deterministic messages buffered in the first scheduling queue with the preset identifier are forwarded, and the total amount of the buffered deterministic messages forwarded in the first scheduling period is a first preset threshold value. This is the same as the above step S421.

[0168] Step S103: When it is detected that the second scheduling period has arrived, the remaining deterministic messages in the first scheduling queue are forwarded, which is the same as the above step S422.

[0169] Step S104, when it is monitored that the second scheduling cycle has arrived, after the forwarding of the deterministic messages cached in the scheduling queue associated with the previous scheduling cycle is completed, the deterministic messages cached in the second scheduling queue associated with the second scheduling cycle are forwarded, and the total cached amount of the deterministic messages forwarded in the second scheduling cycle is less than or equal to the first preset threshold value.

[0170] When step S104 is executed for the first time, the previous scheduling period of the second scheduling period is the first scheduling period. When step S104 is not executed for the first time, the previous scheduling period of the second scheduling period is the old second scheduling period. When the second scheduling period is detected, the network device first forwards the remaining deterministic messages in the scheduling queue associated with the previous scheduling period. After the remaining deterministic messages in the scheduling queue associated with the previous scheduling period are forwarded, the network device forwards the deterministic messages cached in the second scheduling queue associated with the current second scheduling period.

[0171] In the embodiment of the present application, to further improve the smoothness of message output, the total cached amount of deterministic messages forwarded during the second scheduling period is equal to the first preset threshold value, and there are remaining deterministic messages in the second scheduling queue; and the total cached amount of deterministic messages forwarded during the second scheduling period is less than the first preset threshold value, and there are no remaining deterministic messages in the second scheduling queue. In other words, the network device strives to forward the deterministic messages in the second scheduling queue to reduce jitter in inter-device transmission and further improve the smoothness of message output.

[0172] In step S105 , the next scheduling period after the second scheduling period is used as a new second scheduling period, and step S104 is executed again until the third scheduling period is reached. The step length from the first scheduling period to the third scheduling period is a preset adjustment step length.

[0173] In the embodiment of the present application, after determining the first scheduling period that requires forwarding sharing, the network device can determine the third scheduling period according to a preset adjustment step size.

[0174] After obtaining a new second scheduling cycle, the network device re-executes step S104, that is, when it detects that the second scheduling cycle has been reached, it forwards the remaining deterministic messages in the scheduling queue associated with the previous scheduling cycle. After the remaining deterministic messages in the scheduling queue associated with the previous scheduling cycle are forwarded, it forwards the deterministic messages cached in the second scheduling queue associated with the current second scheduling cycle.

[0175] When the new second scheduling period is the third scheduling period, the network device does not execute step S105 , that is, does not use the next scheduling period after the third scheduling period as the new second scheduling period.

[0176] Still taking the message transmission scenario shown in FIG8 as an example, when node V cyclically schedules the corresponding scheduling queue according to the scheduling period, backward shifting and shared forwarding are adopted, as shown in FIG11.

[0177] In Figure 11, each scheduling queue corresponds to a scheduling cycle. The numbers indicate the identifiers of the scheduling cycles. The padding in each scheduling cycle represents the deterministic messages forwarded in that scheduling cycle. The dashed line represents the first preset threshold value δ. The left graph of Figure 11 shows the deterministic messages that should be forwarded in each scheduling cycle, that is, the deterministic messages cached in the scheduling queues associated with each scheduling cycle. As can be seen from the left graph of Figure 11, scheduling queues 0, 4, and 7 are relatively idle, while scheduling queues 1 and 6 are relatively busy.

[0178] Using the technical solution provided in the embodiments of the present application, taking scheduling queue 1 as an example, if the number of packets cached in scheduling queue 1 exceeds δ, the network device adds a preset identifier to scheduling queue 1, i.e., the first scheduling queue is scheduling queue 1, and the first scheduling period is scheduling period 1. The preset adjustment step size is 2, and the third scheduling period is scheduling period 3.

[0179] When scheduling cycle 1 is reached, the network device forwards the deterministic messages in the cache of scheduling queue 1, amount δ. For deterministic messages in scheduling queue 1 that exceed the cache amount δ, the network device shifts these deterministic messages to scheduling cycle 2. That is, when scheduling cycle 2 is reached, the network device forwards these deterministic messages. After forwarding these deterministic messages, the network device forwards the deterministic messages in scheduling queue 2. The total cache amount of deterministic messages forwarded in scheduling cycle 2 is less than or equal to δ. For the remaining deterministic messages in scheduling queue 2, the network device shifts these deterministic messages to scheduling cycle 3. That is, when scheduling cycle 3 is reached, the network device forwards these deterministic messages. After forwarding these deterministic messages, the network device forwards the deterministic messages in scheduling queue 3. The total cache amount of deterministic messages forwarded in scheduling cycle 3 is less than or equal to δ. When scheduling cycle 3 is reached, the forwarding sharing step reaches the preset adjustment step, and the network device will not shift some of the deterministic messages in scheduling queue 3 to scheduling cycle 4.

[0180] Other busy scheduling queues, such as scheduling queue 6, share forwarding in the same manner. The actual packets forwarded in each scheduling cycle are shown in the right figure of Figure 11. In the right figure of Figure 11, the portion filled with right-angled lines represents the deterministic packets cached in the scheduling queue associated with the corresponding scheduling cycle, and the portion filled with vertical lines represents the deterministic packets cached in the scheduling queue associated with the previous scheduling cycle that are transferred to the deterministic packets of the current scheduling cycle.

[0181] In the technical solution provided in the embodiment of the present application, through the adjustment and optimization of the above-mentioned first preset threshold value, backward translation shared forwarding, preset adjustment step, etc., scheduling queue shaping, scheduling cycle sharing and smoother message output can be achieved, thereby improving the overall forwarding efficiency and resource utilization.

[0182] In addition, there is a certain scheduling cycle margin in the existing periodic queuing forwarding network planning, as shown in Figure 2. The message transmission method provided by the embodiment of the present application uses shared forwarding between adjacent scheduling cycles to fully and flexibly utilize the scheduling cycle margin.

[0183] In addition, the above-mentioned network devices can be deployed in the convergence layer or the core layer. The technical solution provided by the embodiment of the present application can improve the utilization rate of the convergence layer and the core layer and solve the bottleneck problem of the network. In addition, the technical solution provided by the embodiment of the present application is only used to control the jitter between the network devices in the convergence layer and the core layer, and the end-to-end communication devices can control the end-to-end jitter within a reasonable range through methods such as delay compensation, thereby ensuring deterministic transmission. As shown in Figure 5, the network devices in the CQF domain use the technical solution provided by the embodiment of the present application to transmit IP deterministic messages. The transmitted messages carry the resident delay d. The terminal device CPE2 of the end-to-end communication uses the reference delay D and the resident delay d to perform delay compensation on the message, that is, to transmit the message after compensating Dd. This can control the end-to-end jitter within a reasonable time range XT.

[0184] (2) Forward translation sharing forwarding method.

[0185] When the network device adopts the forward translation sharing forwarding mode, the first scheduling period is the next scheduling period of the second scheduling period. In this case, as shown in FIG12 , the above step S42 may include:

[0186] Step S423: When it is detected that the second scheduling period has arrived, after the forwarding of the deterministic messages cached in the second scheduling queue associated with the second scheduling period is completed, the deterministic messages cached in the first scheduling queue with the preset identifier are forwarded, and the total amount of the cached deterministic messages forwarded in the second scheduling period is equal to the first preset threshold value;

[0187] Step S424: When it is detected that the first scheduling period has arrived, the remaining deterministic messages in the first scheduling queue are forwarded.

[0188] Still taking the message transmission scenario shown in FIG8 as an example, when node V cyclically schedules the corresponding scheduling queue according to the scheduling period, forward shifting and sharing forwarding are adopted, as shown in FIG13 .

[0189] In Figure 13, each scheduling queue corresponds to a scheduling cycle. The numbers indicate the identifier of the scheduling cycle. The padding in each scheduling cycle represents the deterministic messages forwarded in that scheduling cycle. The dashed line represents the first preset threshold value δ. The left graph of Figure 13 shows the deterministic messages that should be forwarded in each scheduling cycle, that is, the deterministic messages cached in the scheduling queues associated with each scheduling cycle. As can be seen from the left graph of Figure 13, scheduling queues 0, 4, and 7 are relatively idle, while scheduling queues 1 and 6 are relatively busy.

[0190] Adopting the technical solution provided in the embodiment of the present application, taking scheduling queue 6 as an example, the messages cached in scheduling queue 6 exceed δ, and the network device adds a preset identifier to scheduling queue 6, that is, the first scheduling queue is scheduling queue 6, and the first scheduling period is scheduling period 6. When scheduling period 5 is reached, the network device shifts some deterministic messages in scheduling queue 6 to scheduling period 5. The total cached amount of the deterministic messages in scheduling queue 6 shifted to scheduling period 5 and the deterministic messages in scheduling queue 5 is δ, that is, the network device forwards the deterministic messages cached in scheduling queue 5. After the forwarding of the deterministic messages cached in scheduling queue 5 is completed, the network device forwards the deterministic messages cached in scheduling queue 6. The total cached amount of the deterministic messages forwarded in scheduling period 5 is δ; for the remaining deterministic messages in scheduling queue 6, when scheduling period 6 is reached, the network device forwards these deterministic messages.

[0191] Other busy scheduling queues, such as scheduling queue 1, share forwarding in the same manner. The actual packets forwarded in each scheduling cycle are shown in the right figure of Figure 13. In the right figure of Figure 13, the portion filled with right-angled lines represents the deterministic packets cached in the scheduling queue associated with the corresponding scheduling cycle, and the portion filled with vertical lines represents the deterministic packets cached in the scheduling queue associated with the previous scheduling cycle that are transferred to the deterministic packets of the current scheduling cycle.

[0192] In the technical solution provided in the embodiment of the present application, the network device shifts some deterministic messages in the first scheduling queue to the second scheduling period for forwarding, thereby avoiding excessive busyness in the first scheduling period and ensuring smoother output of messages, thereby improving the overall forwarding efficiency of messages and the utilization of network device resources.

[0193] To further ensure smooth message output and improve message forwarding efficiency and network device resource utilization, in some embodiments, the network device can also configure a preset adjustment step to complete the sharing of the first scheduling cycle through multiple scheduling cycles.

[0194] In this case, as shown in FIG14 , the message transmission method may include:

[0195] Step S141: monitor the scheduling cycle, where one scheduling cycle is associated with at least one scheduling queue. This is the same as the above step S41.

[0196] Step S142: When it is monitored that the fourth scheduling cycle has arrived, after the forwarding of the deterministic messages cached in the scheduling queue associated with the fourth scheduling cycle is completed, the deterministic messages cached in the scheduling queue associated with the next scheduling cycle of the fourth scheduling cycle are forwarded, and the total cached amount of the deterministic messages forwarded in the fourth scheduling cycle is less than or equal to the first preset threshold value.

[0197] In the embodiment of the present application, after determining the first scheduling period requiring forwarding sharing, the network device may determine the fourth scheduling period according to a preset adjustment step size.

[0198] When it is monitored that the current time has reached the fourth scheduling cycle, the network device first forwards the deterministic message cached in the scheduling queue associated with the current fourth scheduling cycle. After the forwarding of the deterministic message cached in the scheduling queue associated with the fourth scheduling cycle is completed, it forwards the deterministic message cached in the scheduling queue associated with the next scheduling cycle of the fourth scheduling cycle.

[0199] In an embodiment of the present application, to further improve the smoothness of message output, the total cached amount of deterministic messages forwarded in the fourth scheduling period is equal to the first preset threshold value, and there are remaining deterministic messages in the scheduling queue associated with the next scheduling period of the fourth scheduling period; the total cached amount of deterministic messages forwarded in the fourth scheduling period is less than the first preset threshold value, and there are no remaining deterministic messages in the scheduling queue associated with the next scheduling period of the fourth scheduling period. In other words, the network device strives to forward the deterministic messages in the scheduling queue associated with the next scheduling period of the fourth scheduling period to reduce the jitter of transmission between devices and further improve the smoothness of message output.

[0200] In step S143 , the next scheduling period after the fourth scheduling period is used as a new fourth scheduling period, and step S142 is executed again until the second scheduling period is reached. The step length from the fourth scheduling period to the first scheduling period is the preset adjustment step length.

[0201] In an embodiment of the present application, after obtaining a new fourth scheduling cycle, the network device re-executes step S142, that is, when it is monitored that the fourth scheduling cycle has arrived, it forwards the remaining deterministic messages in the scheduling queue associated with the current fourth scheduling cycle, and after the remaining deterministic messages in the scheduling queue associated with the current fourth scheduling cycle are forwarded, it forwards the deterministic messages cached in the scheduling queue associated with the next scheduling cycle of the current fourth scheduling cycle.

[0202] When the new fourth scheduling period is the second scheduling period, the network device does not execute step S143, that is, does not use the scheduling period after the fourth scheduling period as the new fourth scheduling period, but executes step S144 after executing step S142.

[0203] In step S144, when it is detected that the second scheduling period has arrived, after the forwarding of the deterministic messages cached in the second scheduling queue associated with the second scheduling period is completed, the deterministic messages cached in the first scheduling queue with the preset identifier are forwarded, and the total cached amount of deterministic messages forwarded in the second scheduling period is equal to the first preset threshold. This is the same as step S423 above.

[0204] Step S145: When it is detected that the first scheduling period has arrived, the remaining deterministic messages in the first scheduling queue are forwarded, which is the same as the above step S424.

[0205] Still taking the message transmission scenario shown in FIG8 as an example, when node V cyclically schedules the corresponding scheduling queue according to the scheduling period, forward shifting and sharing forwarding are adopted, as shown in FIG15 .

[0206] In Figure 15 , each scheduling queue corresponds to a scheduling cycle. The numbers indicate the identifier of the scheduling cycle. The padding in each scheduling cycle represents the deterministic messages forwarded in that scheduling cycle. The dashed line represents the first preset threshold value δ. The left graph of Figure 15 shows the deterministic messages that should be forwarded in each scheduling cycle, that is, the deterministic messages cached in the scheduling queues associated with each scheduling cycle. As can be seen from the left graph of Figure 15 , scheduling queues 0, 4, and 7 are relatively idle, while scheduling queues 1 and 6 are relatively busy.

[0207] Adopting the technical solution provided by the embodiment of the present application, taking the scheduling queue 6 as an example, the messages cached in the scheduling queue 6 exceed δ, and the network device adds a preset identifier to the scheduling queue 6, that is, the first scheduling queue is the scheduling queue 6, and the first scheduling period is the scheduling period 6. The preset adjustment step is 2, and the fourth scheduling period is the scheduling period 4. When the scheduling period 4 is reached, the network device shifts part of the deterministic messages in the scheduling queue 5 to the scheduling period 4, and the total cached amount of the deterministic messages in the scheduling queue 5 shifted to the scheduling period 4 and the deterministic messages in the scheduling queue 4 is less than or equal to δ, that is, the network device forwards the deterministic messages cached in the scheduling queue 4, and after the forwarding of the deterministic messages cached in the scheduling queue 4 is completed, it forwards the deterministic messages cached in the scheduling queue 5, and the total cached amount of the deterministic messages forwarded in the scheduling period 4 is less than or equal to δ;

[0208] When scheduling cycle 5 (the second scheduling cycle) is reached, the network device will shift some of the deterministic messages in the scheduling queue 6 to scheduling cycle 5. The total cache amount of the deterministic messages in the scheduling queue 6 shifted to scheduling cycle 5 and the deterministic messages in the scheduling queue 5 is δ, that is, the network device forwards the remaining deterministic messages in the scheduling queue 5. After the forwarding of the remaining deterministic messages in the scheduling queue 5 is completed, it forwards the deterministic messages cached in the scheduling queue 6. The total cache amount of the deterministic messages forwarded in scheduling cycle 5 is δ; for the remaining deterministic messages in the scheduling queue 6, the network device forwards these deterministic messages when scheduling cycle 6 is reached.

[0209] Other busy scheduling queues, such as scheduling queue 1, share forwarding in the same manner. The actual packets forwarded in each scheduling cycle are shown in the right figure of Figure 15 . In the right figure of Figure 15 , the portion filled with right-angled lines represents the deterministic packets cached in the scheduling queue associated with the corresponding scheduling cycle, and the portion filled with vertical lines represents the deterministic packets cached in the scheduling queue associated with the previous scheduling cycle that are transferred to the deterministic packets of the current scheduling cycle.

[0210] In the technical solution provided in the embodiment of the present application, through the adjustment and optimization of the above-mentioned first preset threshold value, forward translation shared forwarding, preset adjustment step, etc., scheduling queue shaping, scheduling cycle sharing and smoother message output can be achieved, thereby improving the overall forwarding efficiency and resource utilization.

[0211] In addition, there is a certain scheduling cycle margin in the existing periodic queuing forwarding network planning, as shown in Figure 2. The message transmission method provided by the embodiment of the present application uses shared forwarding between adjacent scheduling cycles to fully and flexibly utilize the scheduling cycle margin.

[0212] Furthermore, the aforementioned network devices can be deployed at the convergence layer or the core layer. By employing the technical solutions provided by the embodiments of this application, the utilization of the convergence and core layers can be improved, resolving network bottlenecks. Furthermore, by employing the technical solutions provided by the embodiments of this application, jitter is limited to the network devices within the convergence and core layers. The devices at both ends of end-to-end communication can control end-to-end jitter within a reasonable range through methods such as delay compensation, ensuring deterministic transmission.

[0213] Corresponding to the above-mentioned message transmission method, an embodiment of the present application further provides a message transmission device, as shown in FIG16 , which is applied to a network device, and includes:

[0214] A monitoring module 161 is configured to monitor a scheduling cycle, where each scheduling cycle is associated with at least one scheduling queue;

[0215] The forwarding module 162 is configured to forward the deterministic message cached in the first scheduling queue with a preset identifier when monitoring the arrival of the target scheduling period, wherein the target scheduling period includes the first scheduling period associated with the first scheduling queue and the second scheduling period adjacent to the first scheduling period.

[0216] In some embodiments, the preset flag indicates that the buffered amount of deterministic messages in the first scheduling queue exceeds a first preset threshold value.

[0217] In some embodiments, the ratio of the first preset threshold value to the maximum forwarding capability value of the network device within the duration of a scheduling cycle is a first preset multiple, and the first preset multiple is less than 1.

[0218] In some embodiments, the total cache amount of deterministic messages in all scheduling queues in the network device is less than a second preset threshold value.

[0219] In some embodiments, the ratio of the second preset threshold value to the total value of the maximum forwarding capability of the network device within the total duration of all scheduling cycles is a second preset multiple, and the second preset multiple is less than 1.

[0220] In some embodiments, the first scheduling period is a previous scheduling period of the second scheduling period;

[0221] The forwarding module 162 may be specifically configured to:

[0222] When it is detected that the first scheduling period has arrived, the deterministic message cached in the first scheduling queue with a preset identifier is forwarded, and the total cache amount of the deterministic message forwarded in the first scheduling period is a first preset threshold value;

[0223] When it is detected that the second scheduling period has arrived, the remaining deterministic messages in the first scheduling queue are forwarded.

[0224] In some embodiments, the forwarding module 162 may also be configured to:

[0225] When it is monitored that the second scheduling period has arrived, after the forwarding of the deterministic messages cached in the scheduling queue associated with the previous scheduling period is completed, the deterministic messages cached in the second scheduling queue associated with the second scheduling period are forwarded, and the total cached amount of the deterministic messages forwarded in the second scheduling period is less than or equal to the first preset threshold value;

[0226] The next scheduling cycle of the second scheduling cycle is used as a new second scheduling cycle, and the step of forwarding the deterministic messages cached in the second scheduling queue associated with the second scheduling cycle after the forwarding of the deterministic messages cached in the scheduling queue associated with the previous scheduling cycle is completed when monitoring reaches the second scheduling cycle is re-executed until the third scheduling cycle is reached. The step length from the first scheduling cycle to the third scheduling cycle is the preset adjustment step length.

[0227] In some embodiments, the total amount of cached deterministic messages forwarded in the second scheduling period is equal to the first preset threshold value, and there are remaining deterministic messages in the second scheduling queue; or

[0228] The total cached amount of deterministic messages forwarded in the second scheduling period is less than the first preset threshold value, and there are no remaining deterministic messages in the second scheduling queue.

[0229] In some embodiments, the first scheduling period is a scheduling period that is a next scheduling period of the second scheduling period;

[0230] The forwarding module 162 may be specifically configured to:

[0231] When it is monitored that the second scheduling period has arrived, after the forwarding of the deterministic messages cached in the second scheduling queue associated with the second scheduling period is completed, the deterministic messages cached in the first scheduling queue with the preset identifier are forwarded, and the total cached amount of the deterministic messages forwarded in the second scheduling period is equal to the first preset threshold value;

[0232] When it is detected that the first scheduling period has arrived, the remaining deterministic messages in the first scheduling queue are forwarded.

[0233] In some embodiments, the forwarding module 162 may also be configured to:

[0234] When it is monitored that the fourth scheduling period has been reached, after the forwarding of the deterministic messages cached in the scheduling queue associated with the fourth scheduling period is completed, the deterministic messages cached in the scheduling queue associated with the next scheduling period of the fourth scheduling period are forwarded, and the total cached amount of the deterministic messages forwarded in the fourth scheduling period is less than or equal to the first preset threshold value;

[0235] The next scheduling cycle of the fourth scheduling cycle is used as the new fourth scheduling cycle, and the step of forwarding the deterministic messages cached in the scheduling queue associated with the fourth scheduling cycle after the forwarding is completed when monitoring that the fourth scheduling cycle has been reached is re-executed until the second scheduling cycle is reached. The step length from the fourth scheduling cycle to the first scheduling cycle is the preset adjustment step length.

[0236] In some embodiments, the total cached amount of deterministic messages forwarded in the fourth scheduling period is equal to the first preset threshold value, and there are remaining deterministic messages in the scheduling queue associated with the next scheduling period of the fourth scheduling period; or

[0237] The total cached amount of deterministic messages forwarded in the fourth scheduling period is less than the first preset threshold value, and there are no remaining deterministic messages in the scheduling queue associated with the next scheduling period of the fourth scheduling period.

[0238] In some embodiments, the network device is configured with an adjustable scheduling queue number parameter, scheduling queue length parameter, cycle number parameter, and cycle width parameter;

[0239] The scheduling queue number parameter is used to indicate the number of scheduling queues included in the network device;

[0240] The dispatch queue length parameter is used to indicate the buffer size of a dispatch queue;

[0241] The cycle number parameter is used to indicate the number of scheduling cycles included in the network device;

[0242] The cycle width parameter is used to indicate the duration of a scheduling cycle.

[0243] In some embodiments, the network device is located at the aggregation layer or the core layer.

[0244] In the technical solution provided in the embodiment of the present application, the scheduling cycle is associated with the scheduling queue. For the first scheduling queue associated with the first scheduling cycle and having a preset identifier, the network device uses the first scheduling cycle and the second scheduling cycle adjacent to the first scheduling cycle to forward the messages cached in the first scheduling queue. That is, the two scheduling cycles share the messages cached in the scheduling queue associated with one scheduling cycle. This can achieve a balance in the messages forwarded in each scheduling cycle, so that the messages cached in each scheduling queue can be output more smoothly, thereby improving the resource utilization of the network device.

[0245] Corresponding to the above-mentioned message transmission method, an embodiment of the present application also provides a network device, as shown in Figure 17, including a processor 171 and a machine-readable storage medium 172, wherein the machine-readable storage medium 172 stores machine-executable instructions that can be executed by the processor 171, and the processor 171 is prompted by the machine-executable instructions to implement any of the above-mentioned message transmission methods.

[0246] The machine-readable storage medium 172 may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage. Alternatively, the machine-readable storage medium 172 may be at least one storage device located remote from the processor.

[0247] The processor 171 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.

[0248] In another embodiment provided in the present application, a computer-readable storage medium is further provided, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, any of the above-mentioned message transmission methods is implemented.

[0249] In another embodiment provided by the present application, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute any of the above-mentioned message transmission methods.

[0250] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).

[0251] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply the existence of any such actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or device comprising the element.

[0252] Each embodiment in this specification is described in a related manner. Similar portions between embodiments can be referenced to each other. Each embodiment focuses on the differences between other embodiments. In particular, the apparatus, network device, computer-readable storage medium, and computer program product embodiments are generally similar to the method embodiments, so their descriptions are relatively simplified. For related portions, reference can be made to the descriptions of the method embodiments.

[0253] The above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application shall be included in the scope of protection of the present application.

Claims

1. A message transmission method, characterized in that: Applied to a network device, the method includes: Monitor the scheduling cycle. One scheduling cycle is associated with at least one scheduling queue. When it is monitored that a target scheduling period has been reached, the deterministic message buffered in the first scheduling queue with a preset identifier is forwarded, where the target scheduling period includes a first scheduling period associated with the first scheduling queue and a second scheduling period adjacent to the first scheduling period.

2. The method according to claim 1, characterized in that The preset flag indicates that the cache amount of deterministic messages in the first scheduling queue exceeds a first preset threshold value.

3. The method according to claim 2, characterized in that The ratio of the first preset threshold value to the maximum forwarding capability value of the network device within the duration of a scheduling cycle is a first preset multiple, and the first preset multiple is less than 1.

4. The method according to claim 1, wherein The total cache amount of deterministic messages in all scheduling queues in the network device is less than a second preset threshold value.

5. The method according to claim 4, characterized in that The ratio of the second preset threshold value to the total value of the maximum forwarding capability of the network device within the total duration of all scheduling cycles is a second preset multiple, and the second preset multiple is less than 1.

6. The method according to claim 1, characterized in that The first scheduling period is a previous scheduling period of the second scheduling period; The step of forwarding the deterministic message buffered in the first scheduling queue with a preset identifier when the target scheduling period is detected includes: When it is detected that the first scheduling period has arrived, the deterministic message cached in the first scheduling queue with a preset identifier is forwarded, and the total cache amount of the deterministic message forwarded in the first scheduling period is a first preset threshold value; When it is monitored that the second scheduling period has arrived, the remaining deterministic messages in the first scheduling queue are forwarded.

7. The method according to claim 6, characterized in that The method further comprises: When it is monitored that the second scheduling period has arrived, after the forwarding of the deterministic messages cached in the scheduling queue associated with the previous scheduling period is completed, the deterministic messages cached in the second scheduling queue associated with the second scheduling period are forwarded, and the total amount of the cached deterministic messages forwarded in the second scheduling period is less than or equal to the first preset threshold value; The next scheduling period of the second scheduling period is used as a new second scheduling period, and the step of forwarding the deterministic messages cached in the second scheduling queue associated with the second scheduling period after the forwarding of the deterministic messages cached in the scheduling queue associated with the previous scheduling period is completed when monitoring the arrival of the second scheduling period is re-executed until the third scheduling period is reached. The step length from the first scheduling period to the third scheduling period is the preset adjustment step length.

8. The method according to claim 7, characterized in that The total amount of the cached deterministic messages forwarded in the second scheduling period is equal to the first preset threshold, and there are remaining deterministic messages in the second scheduling queue; or The total cached amount of deterministic messages forwarded in the second scheduling period is less than the first preset threshold value, and there are no remaining deterministic messages in the second scheduling queue.

9. The method according to claim 1, characterized in that The first scheduling period is a scheduling period next to the second scheduling period; The step of forwarding the deterministic message buffered in the first scheduling queue with a preset identifier when the target scheduling period is detected includes: When it is monitored that the second scheduling period has arrived, after the forwarding of the deterministic messages cached in the second scheduling queue associated with the second scheduling period is completed, the deterministic messages cached in the first scheduling queue with the preset identifier are forwarded, and the total cached amount of the deterministic messages forwarded in the second scheduling period is equal to the first preset threshold value; When it is monitored that the first scheduling period has arrived, the remaining deterministic messages in the first scheduling queue are forwarded.

10. The method according to claim 9, characterized in that The method further comprises: When it is detected that the fourth scheduling cycle has arrived, after the forwarding of the deterministic message cached in the scheduling queue associated with the fourth scheduling cycle is completed, the deterministic message cached in the scheduling queue associated with the next scheduling cycle of the fourth scheduling cycle is forwarded. The total amount of the cached forwarded deterministic messages is less than or equal to the first preset threshold; The next scheduling cycle of the fourth scheduling cycle is used as a new fourth scheduling cycle, and the step of forwarding the deterministic messages cached in the scheduling queue associated with the fourth scheduling cycle after the forwarding is completed when it is monitored that the fourth scheduling cycle has been reached, and then forwarding the deterministic messages cached in the scheduling queue associated with the next scheduling cycle of the fourth scheduling cycle is executed again until the second scheduling cycle is reached. The step length from the fourth scheduling cycle to the first scheduling cycle is the preset adjustment step length.

11. The method according to claim 10, characterized in that The total amount of cached deterministic messages forwarded in the fourth scheduling period is equal to the first preset threshold, and there are remaining deterministic messages in the scheduling queue associated with the next scheduling period of the fourth scheduling period; or The total cached amount of deterministic messages forwarded in the fourth scheduling period is less than the first preset threshold value, and there are no remaining deterministic messages in the scheduling queue associated with the next scheduling period of the fourth scheduling period.

12. The method according to any one of claims 1 to 11, characterized in that The network device is configured with an adjustable scheduling queue number parameter, a scheduling queue length parameter, a cycle number parameter and a cycle width parameter; The scheduling queue quantity parameter is used to indicate the number of scheduling queues included in the network device; The scheduling queue length parameter is used to indicate the buffer size of a scheduling queue; The cycle number parameter is used to indicate the number of scheduling cycles included in the network device; The cycle width parameter is used to indicate the duration of a scheduling cycle.

13. The method according to any one of claims 1 to 11, characterized in that The network device is located at the convergence layer or the core layer.

14. A message transmission device, characterized in that: Applied to network equipment, the device includes: A monitoring module is used to monitor the scheduling cycle, where one scheduling cycle is associated with at least one scheduling queue; A forwarding module is used to forward the deterministic message cached in the first scheduling queue with a preset identifier when monitoring the arrival of the target scheduling period, wherein the target scheduling period includes the first scheduling period associated with the first scheduling queue and the second scheduling period adjacent to the first scheduling period.

15. The device according to claim 14, characterized in that The preset flag indicates that the cache amount of deterministic messages in the first scheduling queue exceeds a first preset threshold value.

16. The device according to claim 15, characterized in that The ratio of the first preset threshold value to the maximum forwarding capability value of the network device within the duration of a scheduling cycle is a first preset multiple, and the first preset multiple is less than 1.

17. The device according to claim 14, characterized in that The total cache amount of deterministic messages in all scheduling queues in the network device is less than a second preset threshold value.

18. The device according to claim 17, characterized in that The ratio of the second preset threshold value to the total value of the maximum forwarding capability of the network device within the total duration of all scheduling cycles is a second preset multiple, and the second preset multiple is less than 1.

19. The device according to claim 14, characterized in that The first scheduling period is a previous scheduling period of the second scheduling period; The forwarding module is specifically configured to: When it is detected that the first scheduling period has arrived, the deterministic message cached in the first scheduling queue with a preset identifier is forwarded, and the total cache amount of the deterministic message forwarded in the first scheduling period is a first preset threshold value; When it is monitored that the second scheduling period has arrived, the remaining deterministic messages in the first scheduling queue are forwarded.

20. The device according to claim 19, characterized in that The forwarding module is further configured to: When it is monitored that the second scheduling period has arrived, after the forwarding of the deterministic messages cached in the scheduling queue associated with the previous scheduling period is completed, the deterministic messages cached in the second scheduling queue associated with the second scheduling period are forwarded, and the total amount of the cached deterministic messages forwarded in the second scheduling period is less than or equal to the first preset threshold value; The next scheduling period of the second scheduling period is used as a new second scheduling period, and the step of forwarding the deterministic messages cached in the second scheduling queue associated with the second scheduling period after the forwarding of the deterministic messages cached in the scheduling queue associated with the previous scheduling period is completed when monitoring the arrival of the second scheduling period is re-executed until the third scheduling period is reached. The step length from the first scheduling period to the third scheduling period is the preset adjustment step length.

21. The device according to claim 20, characterized in that The total amount of the cached deterministic messages forwarded in the second scheduling period is equal to the first preset threshold, and there are remaining deterministic messages in the second scheduling queue; or The total cached amount of deterministic messages forwarded in the second scheduling period is less than the first preset threshold value, and there are no remaining deterministic messages in the second scheduling queue.

22. The device according to claim 14, characterized in that The first scheduling period is a scheduling period next to the second scheduling period; The forwarding module is specifically configured to: When it is monitored that the second scheduling period has arrived, after the forwarding of the deterministic messages cached in the second scheduling queue associated with the second scheduling period is completed, the deterministic messages cached in the first scheduling queue with the preset identifier are forwarded, and the total cached amount of the deterministic messages forwarded in the second scheduling period is equal to the first preset threshold value; When it is monitored that the first scheduling period has arrived, the remaining deterministic messages in the first scheduling queue are forwarded.

23. The device according to claim 22, characterized in that The forwarding module is further configured to: When it is monitored that the fourth scheduling period has arrived, after the forwarding of the deterministic messages cached in the scheduling queue associated with the fourth scheduling period is completed, the deterministic messages cached in the scheduling queue associated with the next scheduling period of the fourth scheduling period are forwarded, and the total amount of the cached deterministic messages forwarded in the fourth scheduling period is less than or equal to the first preset threshold value; The next scheduling cycle of the fourth scheduling cycle is used as a new fourth scheduling cycle, and the step of forwarding the deterministic messages cached in the scheduling queue associated with the fourth scheduling cycle after the forwarding is completed when it is monitored that the fourth scheduling cycle has been reached, and then forwarding the deterministic messages cached in the scheduling queue associated with the next scheduling cycle of the fourth scheduling cycle is executed again until the second scheduling cycle is reached. The step length from the fourth scheduling cycle to the first scheduling cycle is the preset adjustment step length.

24. The device according to claim 23, characterized in that The total amount of cached deterministic messages forwarded in the fourth scheduling period is equal to the first preset threshold, and there are remaining deterministic messages in the scheduling queue associated with the next scheduling period of the fourth scheduling period; or The total cached amount of deterministic messages forwarded in the fourth scheduling period is less than the first preset threshold value, and there are no remaining deterministic messages in the scheduling queue associated with the next scheduling period of the fourth scheduling period.

25. The device according to any one of claims 14 to 24, characterized in that The network device is configured with an adjustable scheduling queue number parameter, a scheduling queue length parameter, a cycle number parameter and a cycle width parameter; The scheduling queue quantity parameter is used to indicate the number of scheduling queues included in the network device; The scheduling queue length parameter is used to indicate the buffer size of a scheduling queue; The cycle number parameter is used to indicate the number of scheduling cycles included in the network device; The cycle width parameter is used to indicate the duration of a scheduling cycle.

26. The device according to any one of claims 14 to 24, characterized in that The network device is located at the convergence layer or the core layer.

27. A network device, characterized in that: The method comprises a processor and a machine-readable storage medium, wherein the machine-readable storage medium stores machine-executable instructions that can be executed by the processor, and the processor is prompted by the machine-executable instructions to implement the method according to any one of claims 1 to 13.

28. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 13 is implemented.

29. A computer program product, characterized in that When the method is run on a computer, the computer is enabled to execute the method according to any one of claims 1 to 13.

Citation Information

Patent Citations

  • Data flow scheduling method and apparatus under long term evolution network

    CN104038966A

  • Message sending method and equipment, and computer readable storage medium

    CN108848040A

  • Message forwarding method and device and electronic equipment

    CN112585914A

  • Integrated Scheduling of General Messages and Time-Critical Messages

    US20170054828A1