Dynamic Operation-Based Queue Gating Scheduling Method, System and Storage Medium

Through the queue gate scheduling method of dynamic computing, the network orchestrator and controller work together to dynamically calculate the queue scheduling strategy of network nodes, solving the problem of insufficient adaptability of deterministic queue mechanisms in the existing technology in large-scale networks, and achieving effective control of delay and jitter, which is suitable for network scenarios such as industrial Internet, remote surgery, and unmanned driving.

CN115987910BActive Publication Date: 2025-08-01PURPLE MOUNTAIN LAB
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211657229.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-22
Publication Date
2025-08-01
Estimated Expiration
2042-12-22

AI Technical Summary

Technical Problem

The existing deterministic queue scheduling mechanism is difficult to adapt to the deterministic bearing requirements of differentiated and large-scale services in future network services, and cannot effectively control delays and jitters, especially in bursts and large-scale network environments.

Method used

The network orchestrator obtains the attributes and requirements information of the service request, determines the transmission path and node policy, and the network controller sends parameter information. Each network node dynamically calculates the queue scheduling strategy based on the parameters, realizes dynamically computed queue gated scheduling, and meets the service QoS needs.

Benefits of technology

It provides a queue forwarding mechanism that can meet the QoS needs of services, ensures network service performance, adapts to the diversified needs of general and timed service requests, reduces the computing complexity of network orchestrators, and is suitable for large-scale networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115987910B_ABST
    Figure CN115987910B_ABST
Patent Text Reader

Abstract

The present invention discloses a queue gating scheduling method, system, and storage medium based on dynamic operation. The queue gating scheduling method based on dynamic operation includes: the network orchestrator obtains the attribute information and requirement information of the service requests to be transmitted; the network orchestrator determines the transmission path of the service requests to be transmitted in the current network and the service policies of each network node on the transmission path according to the attribute information, requirement information, and the current network status, and sends the service policies of each network node to the network controller; the network controller sends the parameter information of the service requests to be transmitted to each network node according to the service policies of each network node; each network node in the current network determines the scheduling policy of each service request to be transmitted according to the parameter information of all the service requests to be transmitted received from the network controller. The technical solution of the embodiment of the present invention provides a queue forwarding mechanism that can meet the service QoS requirements.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to network technologies, and in particular, to a queue gating scheduling method, system, and storage medium based on dynamic operation. Background Art

[0002] With the accelerating penetration and integration of the Internet and the real economy, the global Internet model has shifted from a consumer-oriented to a production-oriented one, and many new business scenarios have emerged. For example, industrial Internet, remote surgery, unmanned driving, virtual reality (VR) games, etc., which pose a daunting challenge to the network in terms of millisecond-level latency and microsecond-level jitter control.

[0003] The traditional "best-effort" network technology system is difficult to support the objective requirements of future services for low latency and jitter. Therefore, the concept of "deterministic network" has been proposed, aiming to ensure the boundedness of data transmission latency and jitter. In this regard, the Institute of Electrical and Electronics Engineers (IEEE) and the Internet Engineering Task Force (IETF) have respectively proposed the Time-Sensitive Networking (TSN) and Deterministic Networking (DetNet) technology systems for the second and third layers of the Open System Interconnection (OSI) model, in order to provide real-time and accurate data transmission guarantees.

[0004] Queue scheduling is a key link in the deterministic network technology system. The basis for controlling end-to-end latency and jitter is to control the node queuing latency. However, existing deterministic queue mechanisms (such as time-aware shaping, cyclic queue forwarding, etc.) can provide a certain degree of deterministic capabilities, but they all have obvious application limitations and are difficult to uniformly adapt to different requirements. Therefore, with the continuous transformation of future network service functions, the demand for a more optimal deterministic queue mechanism is becoming more and more urgent. Summary of the Invention

[0005] The present invention provides a queue gating scheduling method, system, and storage medium based on dynamic operation, and provides a service queue forwarding mechanism that can meet the QoS requirements of services.

[0006] In a first aspect, an embodiment of the present invention provides a queue gating scheduling method based on dynamic operation, including:

[0007] The network orchestrator obtains the attribute information and requirement information of the service request to be transmitted;

[0008] The network orchestrator determines the transmission path of the service request to be transmitted in the current network and the service policies of each network node on the transmission path according to the attribute information, requirement information, and the current network status, and sends the service policies of each network node to the network controller;

[0009] The network controller sends the parameter information of the service request to be transmitted to each network node according to the service policies of each network node;

[0010] Each network node in the current network determines the scheduling policy of each service request to be transmitted according to the parameter information of all service requests to be transmitted received from the network controller.

[0011] In a possible implementation manner of the first aspect, each network node in the current network determines the scheduling policy of the data forwarding queue corresponding to each service request to be transmitted according to the parameter information of all service requests to be transmitted received from the network controller, including:

[0012] Each network node in the current network establishes a corresponding data forwarding queue for each service request to be transmitted according to the parameter information of all service requests to be transmitted received from the network controller;

[0013] Each network node dynamically calculates the forwarding order of data packets in each data forwarding queue according to the parameters of the established multiple data forwarding queues.

[0014] In a possible implementation manner of the first aspect, each network node dynamically calculates the forwarding order of data packets in each data forwarding queue according to the parameters of the established multiple data forwarding queues, including:

[0015] Each network node calculates the remaining duration for the distance of the unsent data packets in each data forwarding queue to meet the required transmission time according to the parameters of the established multiple data forwarding queues;

[0016] Each network node forwards the data packet with the minimum remaining duration and repeats the calculation of the remaining duration.

[0017] In a possible implementation manner of the first aspect, after the network orchestrator obtains the attribute information and requirement information of the service request to be transmitted, it further includes:

[0018] The network orchestrator determines whether the service request to be transmitted is a general service request or a timed service request. Correspondingly, the service policy includes a general service policy or a timed service policy.

[0019] In a possible implementation manner of the first aspect, the general service policy includes the service curve and cache configuration policy of each network node on the transmission path;

[0020] The network controller sends the parameter information of the service requests to be transmitted to each network node according to the service policies of each network node, including:

[0021] The network controller sends the service curve slope, the time tolerance for delaying the transmission of the first packet, and the cache configuration information of the service requests to be transmitted to each network node according to the service curve and cache configuration policy of each network node;

[0022] Each network node in the current network determines the scheduling policy of each service request to be transmitted according to the parameter information of all service requests to be transmitted received from the network controller, including:

[0023] Each network node in the current network establishes a corresponding data forwarding queue for each service request to be transmitted according to the service curve slope, the time tolerance for delaying the transmission of the first packet, and the cache configuration information of all service requests to be transmitted received from the network controller;

[0024] Each network node calculates the remaining duration for the untransmitted data packets in the established multiple data forwarding queues to meet the transmission time required by the quality of service;

[0025] Each network node forwards the data packet with the minimum remaining duration and repeats the calculation of the remaining duration.

[0026] In a possible implementation manner of the first aspect, each network node calculates the remaining duration for the untransmitted data packets in the established multiple data forwarding queues to meet the transmission time required by the quality of service, including:

[0027] Each queue in each network node calculates the remaining duration Δ using the following formula i,q

[0028]

[0029] where i represents the i-th network node, q represents the q-th queue, and L i,q,k is the length of the k-th packet in queue q of node i, and ∑ k L i,q,k represents the total length of the transmitted packets,, and β i,q is the theoretical service rate of queue q of network node i, t is the total transmission duration up to the current moment, and T i,q is the time tolerance for delaying the transmission of the first packet in queue q of network node i.

[0030] In a possible implementation manner of the first aspect, the timing service policy includes the precise matching policy between the service curves and the theoretical service curves of each network node on the transmission path;

[0031] The network controller sends the parameter information of the service requests to be transmitted to each network node according to the service policies of each network node, including:

[0032] The network controller sends to each network node the time interval for sending adjacent packets of the service requests to be transmitted.

[0033] Each network node in the current network determines the scheduling policy of each service request to be transmitted according to all the parameter information of the service requests to be transmitted received from the network controller, including:

[0034] Each network node in the current network establishes a corresponding data forwarding queue for each service request to be transmitted according to the time interval for sending adjacent packets of all the service requests to be transmitted received from the network controller.

[0035] Each network node calculates respectively the remaining duration for the distance of the data packets not sent in the established multiple data forwarding queues to meet the required sending time of the quality of service.

[0036] Each network node forwards the data packets with a remaining duration of zero, and recalculates the remaining duration.

[0037] In a possible implementation manner of the first aspect, the attribute information includes at least one of the following: maximum burst volume, minimum burst interval, duration;

[0038] The requirement information includes at least one of the following: bandwidth, delay, jitter, packet loss.

[0039] In a second aspect, an embodiment of the present invention provides a queue gating scheduling system based on dynamic operation, including: a network orchestrator, a network controller, and multiple network nodes;

[0040] The network orchestrator is configured to obtain the attribute information and requirement information of the service requests to be transmitted; determine the transmission path of the service requests to be transmitted in the current network and the service policies of each network node on the transmission path according to the attribute information, requirement information, and the current network state, and send the service policies of each network node to the network controller;

[0041] The network controller is configured to send the parameter information of the service requests to be transmitted to each network node according to the service policies of each network node;

[0042] Each network node in the current network is configured to determine the scheduling policy of each service request to be transmitted according to all the parameter information of the service requests to be transmitted received from the network controller.

[0043] In a third aspect, an embodiment of the present invention provides a computer-readable storage medium, characterized in that computer-executable instructions are stored in the computer-readable storage medium, and when the computer-executable instructions are executed by a processor, they are used to implement the queue gating scheduling method based on dynamic operation executed by a network orchestrator or a network controller or multiple network nodes in any possible implementation manner of the first aspect.

[0044] In a third aspect, an embodiment of the present invention provides an electronic device, including:

[0045] a processor, and a memory communicatively connected to the processor; the memory stores computer-executable instructions;

[0046] the processor executes the computer-executable instructions stored in the memory to implement the queue gating scheduling method based on dynamic operation executed by a network orchestrator or a network controller or multiple network nodes in any possible implementation manner of the first aspect.

[0047] For the queue gating scheduling method, system and storage medium provided by the embodiments of the present invention, first, a network orchestrator obtains the attribute information and requirement information of a service request to be transmitted. The network orchestrator determines the transmission path of the service request to be transmitted in the current network and the service policies of each network node on the transmission path according to the attribute information, requirement information and the current network state, and sends the service policies of each network node to the network controller. Then, the network controller sends the parameter information of the service request to be transmitted to each network node according to the service policies of each network node. Finally, each network node in the current network determines the scheduling policy of each service request to be transmitted according to the parameter information of all service requests to be transmitted received from the network controller. The queue gating scheduling method provided by the embodiments of the present invention provides a queue forwarding mechanism that can meet the QoS requirements of services and can ensure network service performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] Figure 1 It is a schematic diagram of a network scenario and network element interaction;

[0049] Figure 2 It is a flowchart of a queue gating scheduling method based on dynamic operation provided by an embodiment of the present invention;

[0050] Figure 3 It is a schematic diagram of the relationship between the actual service curve and the theoretical service curve of service request data;

[0051] Figure 4 It is a flowchart of another queue gating scheduling method based on dynamic operation provided by an embodiment of the present invention;

[0052] Figure 5Schematic diagram of the queue structure and scheduling method in each network node;

[0053] Figure 6 Specific data scheduling flowchart in the queue gating scheduling method based on dynamic operation provided by an embodiment of the present invention;

[0054] Figure 7 Specific data scheduling flowchart in the queue gating scheduling method based on dynamic operation provided by an embodiment of the present invention;

[0055] Figure 8 Flowchart of another queue gating scheduling method based on dynamic operation provided by an embodiment of the present invention;

[0056] Figure 9 Schematic diagram of the relationship between the actual service curve and the theoretical service curve of the timed service request;

[0057] Figure 10 Schematic diagram of the structure of a queue gating scheduling system based on dynamic operation provided by an embodiment of the present application;

[0058] Figure 11 Schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. Detailed implementation manners

[0059] The present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It can be understood that the specific embodiments described herein are only used to explain the present invention, rather than limiting the present invention. Additionally, it should be noted that for the sake of description, only parts related to the present invention are shown in the drawings rather than all the structures.

[0060] Currently, the existing deterministic queue scheduling mechanisms include the Credit-Based Shaper (CBS) mechanism, the Time Aware Shaper (TAS) mechanism, the Cyclic Queuing and Forwarding (CQF) mechanism, and the Cyclic Special Queuing and Forwarding (CSQF) mechanism.

[0061] Among them, the CBS mechanism defines a "credit" value for the queue and introduces the parameters "idleSlope" and "sendSlope" to control the positive and negative changes of the credit value. The units of "idleSlope" and "sendSlope" are bits and their sum is equal to the interface rate. When there are waiting packets in a certain queue and the interface is occupied by other queues, its credit value increases at the rate of "idleSlope"; when the queue is sending packets, its credit value decreases at the rate of "sendSlope". Each queue can only send data when the credit value is non - negative. CBS drives the alternate transmission between different queues according to the time - slice ratio through the credit value, which further reduces the packet waiting delay on the basis of ensuring the bandwidth and is suitable for the continuous - flow scenario. However, CBS has the following defects: 1) In essence, it is a bandwidth reservation mechanism and does not provide fine - grained time - slice scheduling capabilities; 2) Multiple service flows coexist in the CBS queue, and the arrival patterns, delay, and jitter requirements of each service are different. Since CBS has no in - queue scheduling capabilities, it is difficult to provide deterministic guarantees for each flow within the queue; 3) CBS alternately sends data between different queues according to a certain time - slice ratio. However, for highly bursty services, it will cause subsequent packets in the same burst batch to wait for multiple polls before being sent, seriously affecting the delay and jitter performance.

[0062] The TAS mechanism introduces the concept of "gating", so that multiple queues at the output port are controlled by independent "gates". When the "gate" is open, data can be transmitted, otherwise it cannot, and the on - off state of the "gate" is driven by a pre - planned gating list. In this regard, TAS requires time synchronization of all network devices and ignores the link propagation delay, and generates a gating list through global planning. TAS can finely control the opening and closing times (i.e., bandwidth resources) of the queue transmission window in the time domain, and thus provide the transmission ability of "fixed time and fixed point", but it has the following defects: 1) The gating of all network devices needs to be uniformly planned, resulting in extremely high algorithm complexity and limited network node scale; 2) TAS is designed for periodic industrial control and other services and is difficult to adapt to bursty service scenarios; 3) It strictly requires time synchronization of all network devices, so its network scalability is limited.

[0063] The CQF mechanism divides equal-width time slots T and sets up odd and even queues, enabling the odd and even queues to alternately perform enqueueing and dequeueing operations as time slots progress. CQF requires network-wide time synchronization and a time slot width greater than the single-hop delay (i.e., link delay can be ignored), ensuring that data sent by upstream nodes can be received by downstream nodes within the same time slot and sent in the next time slot. CQF ensures that the end-to-end maximum delay is (Hop + 1) × T, and the jitter upper bound is 2T, where Hop represents the number of hops. Compared with TAS, CQF reduces the queue control complexity, and time slot scheduling only occurs at the head node. Intermediate nodes store and forward according to the ping-pong queue mode. However, CQF has the following defects: 1) The minimum scheduling unit is a time slot, losing the precision of TAS in controlling the transmission window, resulting in an insurmountable jitter upper bound of 2T and lacking the advantage of adapting to service diversity; 2) For large-scale networks with long-distance links and easily variable topologies, it is difficult to ensure that downstream nodes receive data sent by upstream nodes within the same time slot, so it is only applicable to small-scale networks.

[0064] The CSQF mechanism solves the problem of deterministic forwarding in large-scale networks. This mechanism divides equal-width time slots T and introduces a multi-queue method (N queues, N is defaulted to 3). Data is sent in order among queues through a round-robin method. At the same time, one queue performs dequeueing while the remaining N - 1 queues perform enqueueing, and dequeueing operations are alternately completed as time slots progress. The round-robin period is N time slots. CSQF supports time slot scheduling at any node along the way. When a packet arrives, it can choose a suitable queue to enqueue, so the packet can be postponed for at most N - 1 time slots to dequeue. CSQF requires frequency synchronization of all network devices, and the phases can be asynchronous, but the controller needs to know its phase offset. CSQF has the following defects: 1) Based on time slot scheduling, the resource allocation precision decreases, and the order of packets within the same time slot is uncontrollable, unable to achieve "timed and fixed-point" transmission; 2) The upper limit of dequeue postponement of N - 1 time slots restricts the solution space of service scheduling, and thus reduces the service carrying capacity.

[0065] In summary, the current deterministic queue scheduling mechanisms all have certain defects and are difficult to efficiently adapt to the deterministic carrying requirements of future differentiated and large-scale services. Therefore, there is an urgent need for a more excellent queue scheduling mechanism to ensure network service performance.

[0066] Figure 1 For the network scenario and network element interaction schematic diagram, as Figure 1As shown in the figure, the network consists of multiple network nodes and the links between the network nodes, where the network nodes can be switches or routers. Service requests enter the network from the source network node and leave the network from the destination network node, and queuing processing is performed at the exits of each network node on the service transmission path. The network orchestrator is responsible for configuring the transmission path and data forwarding policy for the service requests to be transmitted and sending them to the network controller. The network controller sends specific configuration parameters to each network node on the transmission path according to the transmission path and data forwarding policy configured by the network orchestrator, so as to complete the forwarding of the service requests.

[0067] Figure 2 The figure is a flowchart of a queue gating scheduling method based on dynamic operation provided by an embodiment of the present invention. As Figure 2 shown, the queue gating scheduling method based on dynamic operation provided in this embodiment includes:

[0068] Step S210, the network orchestrator obtains the attribute information and requirement information of the service request to be transmitted.

[0069] The queue gating scheduling method based on dynamic operation provided in this embodiment is used to schedule the forwarding of service requests in the network and can be executed in the Figure 1 network architecture shown in the figure. The queue gating scheduling method based on dynamic operation provided by the embodiments of the present invention is not limited to being executed in the Figure 1 network architecture shown in the figure, as long as it can analyze the service requirements to obtain the service scheduling policy and send configuration parameters to each network node according to the service scheduling policy to indicate the service scheduling.

[0070] For example, in Figure 1Taking the service scheduling in the shown network architecture as an example, first, the network orchestrator obtains the attribute information and requirement information of the service request to be transmitted. The network orchestrator knows the status of each network node in the network and performs path planning for the services in the network, so that the service can reach the destination network node from the source network node, and ensures the load balance of each network node in the network. The network orchestrator is located on the network side and can be deployed on any server on the network side, or the network orchestrator is a device independently deployed on the network side. The network orchestrator can obtain the relevant information of all network nodes in the network, including network topology, the running status and load conditions of each network node, etc. The network orchestrator can also obtain the relevant information of the service request that needs to be transmitted through the network, including the attribute information and requirement information of the service request to be transmitted. The network in the embodiment of this application can be a local area network, a wide area network, a metropolitan area network or any other form of network architecture, and the network orchestrator can know the information of any network node in the network and the relevant information of the service request input by any network node in the network. Among them, the service request to be transmitted is input through any network node in the network and output through any network node in the network, where the input node is the source network node of the service request to be transmitted, and the output node is the destination network node of the service request to be transmitted.

[0071] When there is a service request to be transmitted input by any network node in the network, the network orchestrator will obtain the attribute information and requirement information of the service request to be transmitted. Among them, the attribute information of the service to be transmitted is used to characterize the characteristics of the service request to be transmitted itself. For example, the attribute information of the service request to be transmitted includes at least one of the following: maximum burst volume, minimum burst interval, duration. The requirement information of the service request to be transmitted is used to characterize the requirements of the service to be transmitted for the network transmission environment. For example, the requirement information of the service request to be transmitted includes at least one of the following: bandwidth, delay, jitter, packet loss.

[0072] Step S220, the network orchestrator determines the transmission path of the service request to be transmitted in the current network and the service policies of each network node on the transmission path according to the attribute information, requirement information and the current network status, and sends the service policies of each network node to the network controller.

[0073] After the network orchestrator obtains the attribute information and requirement information of the service request to be transmitted, and combines the current network status, it can determine the transmission path of the service request to be transmitted in the current network, as well as the service policies of each network node on the determined transmission path. The transmission path of the service request to be transmitted in the current network refers to the path composed of each network node and link through which the service to be transmitted travels in the network. The service policies of each network node on the determined transmission path of the service request to be transmitted are the relevant policies for the caching and forwarding methods of the service requests arriving at the network node. The service policies of each network node need to meet the requirements of the service to be transmitted, so that the service to be transmitted can be sent from the source network node to the destination network node in a manner that meets the requirements. The network orchestrator can determine the network path and service policies according to any network scheduling policy. After determining the transmission path and service policies of the service request to be transmitted, the network orchestrator sends the determined transmission path and service policies to the network controller. One or more network controllers can be deployed in the network. One network controller is used to control all or part of the network nodes.

[0074] Step S230: The network controller sends the parameter information of the service request to be transmitted to each network node according to the service policies of each network node.

[0075] The network controller is a network-side network element used to control each network node in the network. The network controller can be deployed on the network side or on the side of the network close to the network node. It sends various parameter information to each network node through the service policies of each network node issued by the network orchestrator. After receiving the service policies of each network node issued by the network orchestrator, the network controller will generate specific control parameters for controlling each network node according to the service policies of each network node, and send the control parameters of each network node to the corresponding network node.

[0076] The parameter information sent by the network controller to each network node is the demand parameters for each network node to forward data, rather than the specific parameters for controlling each network node. For example, the parameter information is the service curve and cache configuration policy of each network node. That is to say, the parameter information is used to characterize the quality of service (QoS) requirements of each network node for the service request to be transmitted.

[0077] Step S240: Each network node in the current network determines the scheduling policy of each service request to be transmitted according to the parameter information of all service requests to be transmitted received from the network controller.

[0078] There may be multiple service requests transmitted in the network at the same time. Different service requests are transmitted through different transmission paths. Then, each network node in the network may receive the forwarding requirements of multiple service requests in parallel at the same time. For a network node, each service request is serially transmitted in the interface of the network node in units of packets. Therefore, it is necessary to schedule how to cache and forward the data of each service request according to the requirements of each service request, so that after each service request is forwarded by the network node, the performance requirements in terms of delay, jitter, etc. can be met. The actual data transmission rate of the data packets of the service request at the network node interface is generally much higher than the theoretical service rate.

[0079] In this embodiment, the calculation of queue scheduling is decoupled to each network node. The network orchestrator does not calculate the specific queue scheduling strategy of each network node, but only issues the service strategy that each network node needs to meet to each network node through the network controller. Each network node calculates the specific queue scheduling strategy according to the service strategy, which can significantly reduce the calculation complexity of the network orchestrator for the time slice planning of the entire network and has the possibility of application in large-scale networks.

[0080] As Figure 3 shown, Figure 3 It is a schematic diagram of the relationship between the actual service curve and the theoretical service curve of the service request data. Figure 3 In it, curve 31 is the theoretical service curve, and curve 32 is the actual service curve. Figure 3 The abscissa in it is time, and the ordinate is the number of bits. Curve 31 is the theoretical service curve of the service request in this network node determined by the network orchestrator according to the attribute information and requirement information of the service request. As long as the data can be forwarded according to this curve, the data forwarding requirements of this service request can be met. For a network node, if there is only one service request to be forwarded at the same time, then the actual service curve of this service request is as shown in curve 32, that is, it is generally higher than the theoretical service curve. It can be seen from the figure that the actual service curve is generally not as smooth as the theoretical service curve, but the theoretical service curve should be used as the lower envelope of the actual service curve. When there is a large amount of data to be forwarded in the network node, how to schedule the forwarding of the data packets of multiple service requests so that each service request can meet the requirements of the actual service curve is the problem to be solved by the scheduling method provided in the embodiments of this application.

[0081] In this embodiment, each network node in the network, according to the parameter information of all service requests to be transmitted received from the network controller, first establishes a data forwarding queue for each service request to be transmitted, and each service request to be transmitted has a corresponding independent data forwarding queue. Then each network node dynamically calculates the forwarding order of the data packets in each data forwarding queue according to the parameters of the established multiple data forwarding queues, so as to forward the data packets of each service request respectively, and ensure that each service request can meet the quality of service requirements, guaranteeing the network service performance. After a data packet is sent from any data forwarding queue, the network node will recalculate the forwarding order of the data packets in each data forwarding queue, realizing the dynamic scheduling of service requests. The method of scheduling the data packets in each data queue can adopt a gated scheduling method, that is, calculate the gated parameters according to the parameter information of each service request, and the data packets in the data forwarding queue that meet the gated parameters are sent first.

[0082] Specifically, each network node calculates the remaining duration of the distance between the unsent data packets in each data forwarding queue that meets the required transmission time for the quality of service according to the parameters of the established multiple data forwarding queues; then each network node forwards the data packet with the minimum remaining duration, and repeats the calculation of the remaining duration until the data packets in each data forwarding queue are forwarded.

[0083] The queue gated scheduling method based on dynamic operation provided in this embodiment first obtains the attribute information and requirement information of the service requests to be transmitted by the network orchestrator. The network orchestrator determines the transmission path of the service requests to be transmitted in the current network and the service policies of each network node on the transmission path according to the attribute information, requirement information and the current network state, and sends the service policies of each network node to the network controller. Then the network controller sends the parameter information of the service requests to be transmitted to each network node according to the service policies of each network node. Finally, each network node in the current network determines the scheduling policy of each service request to be transmitted according to the parameter information of all service requests to be transmitted received from the network controller. The queue gated scheduling method based on dynamic operation provided in the embodiments of the present invention provides a queue forwarding mechanism that can meet the QoS requirements of services and can guarantee the network service performance.

[0084] The queue gated scheduling method based on dynamic operation provided in the embodiments of the present invention further classifies service requests into two service types, namely general service requests and timed service requests. Among them, the general service request refers to the aforementioned deterministic service request, and the timed service request refers to the service request that needs to be transmitted at a fixed time and fixed point. For general service requests, its packet data only needs to arrive at the destination network node within its delay and jitter requirements; for timed service requests, it is strictly required that the packet data reaches the destination network node at a specific moment.

[0085] In one embodiment, after obtaining the attribute information and requirement information of the service request to be transmitted, the network orchestrator first determines whether the service request to be transmitted is a general service request or a timed service request. Then, based on the attribute information, requirement information, and the current network state, the network orchestrator determines the transmission path of the service request to be transmitted in the current network and the general service policy or timed service policy of each network node on the transmission path, and sends the general service policy or timed service policy of each network node to the network controller. The general service policy is the service policy corresponding to the general service request, and the timed service policy is the service policy corresponding to the timed service request. Since the requirements of the two different types of service requests are different, different data forwarding policies need to be adopted for data forwarding to meet the service requirements of different types.

[0086] The scheduling methods for general service requests and timed service requests are further described in detail below.

[0087] Figure 4 The flowchart of a queue gating scheduling method based on dynamic operation provided by an embodiment of the present invention is as Figure 4 shown. The queue gating scheduling method based on dynamic operation provided in this embodiment includes:

[0088] Step S410, the network orchestrator obtains the attribute information and requirement information of the service request to be transmitted.

[0089] The queue gating scheduling method based on dynamic operation provided in this embodiment is used to schedule general service requests.

[0090] Step S420, the network orchestrator determines that the service request to be transmitted is a general service request.

[0091] Step S430, based on the attribute information, requirement information, and the current network state, the network orchestrator determines the transmission path of the service request to be transmitted in the current network and the general service policy of each network node on the transmission path, and sends the general service policy of each network node to the network controller. The general service policy includes the service curve and cache configuration policy of each network node on the transmission path.

[0092] When the service request arrives at the network entrance, it reports the attribute information and requirement information to the network orchestrator. The network orchestrator analyzes the service request and, based on the current network state, uses network calculus theory to obtain a transmission path that meets the requirements, as well as the service curve and cache configuration policy of each network node, and then sends the service curve and cache configuration policy to the network controller.

[0093] Step S440: The network controller sends the service curve slope of the service request to be transmitted, the time tolerance for delaying the transmission of the first packet, and the cache configuration information to each network node according to the service curves and cache configuration policies of the network nodes.

[0094] After analyzing the service curves and cache configuration policies of each network node, the network controller obtains the service curve slope of the service request to be transmitted, the time tolerance for delaying the transmission of the first packet, and the cache configuration information of each network node, and sends them to each network node.

[0095] Among them, the service curve slope of the service request to be transmitted can be represented by β i,q where β i,q is the theoretical service rate of queue q of network node i. β i,q does not represent the actual bandwidth occupied by the service, but rather indicates that when there is cached data in the queue, it should be transmitted at a rate of β i,q . The time tolerance for delaying the transmission of the first packet can be represented by T i,q , and the cache configuration information is represented by B i,q .

[0096] Step S450: Each network node in the current network establishes a corresponding data forwarding queue for each service request to be transmitted according to the service curve slope, the time tolerance for delaying the transmission of the first packet, and the cache configuration information of all service requests to be transmitted received from the network controller.

[0097] The network node that receives the message sent by the network controller can calculate β i,q , T i,q , B i,q on the transmission path according to the received service requirements, and establish a data forwarding queue q corresponding to the service request. To simplify the calculation, it can be assumed that all network nodes on a transmission path adopt the same service curve β i,q ·(t - T i,q ) and cache configuration for a certain service, so as to obtain a set of solutions (β i,q , T i,q , B i,q ) that meet the requirements of service delay, cache dynamics, etc. through network calculus theory, where T represents vector transpose. The calculation method of the service curve and cache can adopt any method in the prior art, which will not be elaborated in this application. T

[0098] Step S460: Each network node calculates the remaining duration for the distance of the data packets not yet transmitted in the established multiple data forwarding queues to meet the required transmission time of the service quality.

[0099] Figure 5 Figure is a schematic diagram of the queue structure and scheduling method in each network node, asFigure 5 As shown, in each network node, a separate queue is established for each service request with QoS requirements through the software-defined queue method, and whether each queue can send packet data is controlled by a "gate". The controller in each network node calculates the remaining duration of each queue and sorts them to generate a scheduling table, and determines the opening order of the "gate" according to the order of the values in the table. As the packet data in each queue is continuously sent, the sorting in the scheduling table needs to be continuously updated. The above remaining duration refers to the remaining duration of the unsent data packets in the data forwarding queue from the current time to the required sending time to meet the quality of service.

[0100] The sorting rules in each data forwarding queue are as follows:

[0101] The entire sending process in which the queue q in node i is not empty is called a stage p, that is, there are always buffered packets in the queue throughout the stage. Let the start and end times of sending the k-th packet in this stage be S 2k-1 and S 2k ; if the queue is empty, start the next stage (p + 1) process when the next packet enters the queue, and re-count the packets from k = 0. In stage p, first, when sending the k-th packet in this queue, calculate Δ = r(S 2k-1 ) - β i,q ·(S 2k-1 - T i,q ) + (C i - β i,q )·τ, where r(S 2k-1 ) represents the number of bits accumulated in the actual service curve up to the moment S 2k-1 in stage p, C i is the output interface rate of node i, β i,q is the theoretical service rate of queue q in node i, and τ ∈ [0, S 2k - S 2k-1 represents a certain moment during the sending process of the k-th packet; secondly, after sending the k-th packet and waiting to send the k + 1-th packet, calculate Δ = r(S 2k ) - β i,q ·(S 2k - T i,q ) - β i,q ·τ, where τ ∈ [0, S 2k+1 - S 2k . In the above two time period Δ expressions, r(S 2k-1 ) and r(S 2k ) both represent the number of bits accumulated at the current moment, that is, the total length of the sent packets ∑ k L i,q,k (L i,q,k is the length of the k-th packet in queue q of node i). Therefore, the two expressions can be combined into Δ = ∑k L i,q,k -β i,q ·(t - T i,q ), where t is the total transmission duration up to the current moment within stage p. Let This expression describes the remaining duration when the actual curve in queue q intersects with the theoretical curve, and the next packet should be sent before Δ i,q is reduced to 0. Figure 6 This is a relationship diagram of the actual service curve and the theoretical service curve of the data forwarding queue in the queue gating scheduling method based on dynamic operation in the embodiment of the present invention. Among them, curve 61 is the theoretical service curve, and curve 62 is the actual service curve. Figure 6 The abscissa in

[0102] Step S470: Each network node forwards the data packet with the minimum remaining duration and recalculates the remaining duration.

[0103] For the queue scheduling of each data forwarding queue, the following steps can be adopted. Suppose there are n queues in node i. The core idea of queue scheduling is: The queue with the smallest Δ value sends data packets first. The specific steps are as follows:

[0104] 1) Calculate Δ for each non-empty queue q i,q , and for an empty queue, Δ i,q = ∞.

[0105] 2) The controller in the network node sorts the Δ i,q in descending order and generates a scheduling table.

[0106] 3) The controller in the network node issues an open "gate" instruction to the queue ranked first in the scheduling table, and this queue sends a data packet.

[0107] 4) After the data packet is sent, update the Δ value of this queue (that is, add the length of the sent data packet ), and re-sort the new Δ i,q with the Δ values of the subsequent 2 - n positions in the table. Since the size relationship of the Δ values of the 2 - n positions does not change, it is only necessary to compare them with Δ i,q one by one, and insert Δ i,q after the last Δ that is smaller than Δ i,q to generate a new scheduling table. In fact, the scheduling table can be updated while sending the packet. For example, when it is found that the new Δ i,q is greater than the Δ value originally ranked second, the comparison operation between Δ i,q and the Δ values of the subsequent queues can continue while issuing an open "gate" instruction to the queue ranked second.

[0108] 5) If Δi,q is greater than the original second-ranked Δ value, then insert Δ i,q into the corresponding position, and send an "open the door" instruction to the second-ranked queue, and repeat steps 1) to 4); if Δ i,q is still less than the second-ranked Δ value, then continue to send an "open the door" instruction to queue q, and repeat steps 1) to 4).

[0109] Figure 7 is the specific data scheduling flowchart in the queue gating scheduling method based on dynamic operation provided by the embodiment of the present invention. Assume that the current scheduling order is Δ1, Δ2, Δ3, Δ4, ……, Δ q , Δ q+1 , ……, Δ n . Then queue 1 sends a packet. If queue 1 is empty at this time, update Δ1 = ∞ and place it at the end of the scheduling table. If it is not empty, update the value of Δ1 and compare it with the subsequent Δ. By comparison, it is found that the new Δ1 satisfies Δ q < Δ1 < Δ q+1 , then insert it after Δq, that is, Δ2, Δ3, Δ4, ……, Δ q , Δ1, Δ q+1 , ……, Δ n . At this time, queue 2 can send a packet, and repeat the above steps 1) to 4).

[0110] Figure 8 is the flowchart of another queue gating scheduling method based on dynamic operation provided by the embodiment of the present invention. As Figure 8 shown, the queue gating scheduling method based on dynamic operation provided by this embodiment includes:

[0111] Step S810, the network orchestrator obtains the attribute information and requirement information of the service request to be transmitted.

[0112] The queue gating scheduling method based on dynamic operation provided by this embodiment is used for timing service requests.

[0113] Step S820, the network orchestrator determines that the service request to be transmitted is a timing service request.

[0114] Step S830, the network orchestrator determines the transmission path of the service request to be transmitted in the current network and the timing service policies of each network node on the transmission path according to the attribute information, requirement information and the current network state, and sends the timing service policies of each network node to the network controller. The timing service policy includes the precise matching policy between the service curve and the theoretical service curve of each network node on the transmission path.

[0115] There are a small number of service requests in the network that require timed and fixed-point transmission, that is, service requests that are strictly required to be sent or reach the destination network node at a certain moment. The queue gating scheduling method based on dynamic operation provided by this application has refined time slice scheduling capabilities and is also suitable for services with precise time requirements.

[0116] Figure 9 It is a schematic diagram of the relationship between the actual service curve and the theoretical service curve for timed service requests. Figure 9 The abscissa in is time, and the ordinate is the number of bits, compared with Figure 3 In Figure 9 the actual service curve coincides with the theoretical service curve. This is because when scheduling timed service requests, it is necessary to accurately send the data packets of the service requests at each moment marked by the theoretical service curve.

[0117] Step S840, the network controller sends the time interval between adjacent packets of the service requests to be transmitted to each network node.

[0118] For timed service requests, what the network controller sends to each network node is the time interval between adjacent packets of the service requests to be transmitted. The time interval between adjacent packets is T i,i+1 , (T i,i+1 represents the transmission time interval between packet i and i + 1.

[0119] Step S850, each network node in the current network establishes a corresponding data forwarding queue for each service request to be transmitted according to the time interval between adjacent packets of all service requests to be transmitted received from the network controller.

[0120] Each network node also needs to establish a corresponding data forwarding queue for each service request, and each data forwarding queue has a corresponding cache sequence.

[0121] Step S860, each network node calculates the remaining duration for which the distance of the unsent data packets in the multiple established data forwarding queues meets the required transmission time of the quality of service.

[0122] Step S870, each network node forwards the data packets with a remaining duration of zero and repeats the calculation of the remaining duration.

[0123] The "gate" control expression for the (i + 1)-th packet is Δ = T i,i+1-t. Packets can be sent only when Δ = 0, and after each packet is sent, "t" is reset to zero. The sending rule of the timing service request is compatible with the rule of "the queue with the smallest Δ value sends packets first" for general service requests, because the Δ values of both describe the remaining duration at the intersection of the actual service curve and the theoretical service curve. Therefore, a single scheduling table can be shared. Packets can be sent when the "non-timing fixed-point" service is at the top of the scheduling table, while the "timing fixed-point" service needs to meet two conditions: being at the top of the scheduling table and Δ = 0 to be sent.

[0124] In summary, the queue gating scheduling method based on dynamic operation provided by the embodiments of the present invention can be compatible with the service forwarding requirements of general service requests with ordinary determinism and timing service requests that need to be sent at fixed times and fixed points, and can use the potential deterministic queue mechanism for future production-oriented Internet service requirements.

[0125] Figure 10 FIG. is a schematic structural diagram of a queue gating scheduling system based on dynamic operation provided by an embodiment of the present application, as Figure 10 shown, the device provided in this embodiment includes:

[0126] A network orchestrator 101, configured to obtain attribute information and requirement information of a service request to be transmitted; determine a transmission path of the service request to be transmitted in the current network and service policies of each network node 103 on the transmission path according to the attribute information, requirement information, and the current network state, and send the service policies of each network node 103 to a network controller 102. The network controller 102 is configured to send parameter information of the service request to be transmitted to each network node 103 according to the service policies of each network node 103. Each network node 103 in the current network is configured to determine a scheduling policy for each service request to be transmitted according to the parameter information of all service requests to be transmitted received from the network controller 102.

[0127] The queue gating scheduling system based on dynamic operation provided in this embodiment is used to implement Figure 2 、 Figure 4 、 Figure 7 The queue gating scheduling method based on dynamic operation shown in the embodiments, and its implementation principle and technical effects are similar, and will not be elaborated here.

[0128] Figure 11 FIG. is a schematic structural diagram of an electronic device provided by an embodiment of the present invention, as Figure 11 shown, the electronic device includes a processor 111, a memory 112, a receiver 113, and a transmitter 114; the number of processors 71 in the electronic device can be one or more, Figure 11Taking a processor 111 as an example; the processor 111, memory 112, receiver 113, and transmitter 114 in the electronic device can be connected via a bus or other means. Figure 11 Taking the connection via a bus as an example.

[0129] The memory 112, as a computer-readable storage medium, can be set to store software programs, computer-executable programs, and modules, such as the program instructions / modules corresponding to the queue gating scheduling method based on dynamic operation in this application Figures 2 - 8 Example (such as the network orchestrator 101, network controller 102, and network node 103 in the queue gating scheduling system based on dynamic operation). The processor 71 completes at least one functional application and data processing of the electronic device by running the software programs, instructions, and modules stored in the memory 112, that is, implements the above-mentioned queue gating scheduling method based on dynamic operation.

[0130] The memory 112 may mainly include a program storage area and a data storage area. Among them, the program storage area can store an operating system and application programs required for at least one function; the data storage area can store data created according to the use of the remote device, etc. In addition, the memory 112 may include high-speed random access memory and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid-state storage devices.

[0131] The receiver 113 is a device, module, or combination capable of receiving external input signals, and the transmitter 114 is a device, module, or combination capable of outputting external signals.

[0132] The embodiment of this application also provides a storage medium containing computer-executable instructions. The computer-executable instructions are used to execute a queue gating scheduling method based on dynamic operation when executed by a computer processor. The method includes: the network orchestrator obtains the attribute information and requirement information of the service request to be transmitted; the network orchestrator determines the transmission path of the service request to be transmitted in the current network and the service policies of each network node on the transmission path according to the attribute information, requirement information, and the current network state, and sends the service policies of each network node to the network controller; the network controller sends the parameter information of the service request to be transmitted to each network node according to the service policies of each network node; each network node in the current network determines the scheduling policy of each service request to be transmitted according to the parameter information of all service requests to be transmitted received from the network controller.

[0133] In general, various embodiments of the present application can be implemented in hardware or special-purpose circuits, software, logic, or any combination thereof. For example, some aspects can be implemented in hardware, while other aspects can be implemented in firmware or software that can be executed by a controller, a microprocessor, or other computing devices, although the present application is not limited thereto.

[0134] Embodiments of the present application can be implemented by a data processor of a computer device executing computer program instructions, such as in a processor entity, or by hardware, or by a combination of software and hardware. The computer program instructions can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state-setting data, or source code or object code written in any combination of one or more programming languages.

[0135] Any block diagram of a logical process in the drawings of the present application can represent program steps, or can represent interconnected logical circuits, modules, and functions, or can represent a combination of program steps and logical circuits, modules, and functions. The computer program can be stored in a memory. The memory can have any type suitable for the local technical environment and can be implemented using any suitable data storage technology, such as but not limited to read-only memory (ROM), random access memory (RAM), optical memory devices and systems (such as digital video discs (DVDs) or compact discs (CDs), etc.). The computer-readable medium can include non-transitory storage media. The data processor can be any type suitable for the local technical environment, such as but not limited to general-purpose computers, special-purpose computers, microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), and processors based on multi-core processor architectures.

Claims

1. A queue gating scheduling method based on dynamic operation, characterized in that Including: The network orchestrator obtains the attribute information and requirement information of the service request to be transmitted. The network orchestrator determines the transmission path of the service request to be transmitted in the current network and the service policies of each network node on the transmission path according to the attribute information, requirement information and the current network state, and sends the service policies of each network node to the network controller. The network controller sends the parameter information of the service request to be transmitted to each network node according to the service policies of each network node. Each network node in the current network determines the scheduling policy of each service request to be transmitted according to the parameter information of all service requests to be transmitted received from the network controller. Each network node in the current network determines the scheduling policy of the data forwarding queue corresponding to each service request to be transmitted according to the parameter information of all service requests to be transmitted received from the network controller, including: Each network node in the current network establishes a corresponding data forwarding queue for each service request to be transmitted according to the parameter information of all service requests to be transmitted received from the network controller. Each network node calculates the remaining time for the distance of the unsent data packets in each established data forwarding queue to meet the transmission time required by the quality of service. Each network node forwards the data packet with the minimum remaining time and repeats the calculation of the remaining time.

2. The method according to claim 1, characterized in that, After the network orchestrator obtains the attribute information and requirement information of the service request to be transmitted, it further includes: The network orchestrator determines whether the service request to be transmitted is a general service request or a timed service request. Correspondingly, the service policy includes a general service policy or a timed service policy.

3. The method according to claim 2, wherein The general service policy includes the service curve and cache configuration policy of each network node on the transmission path. The network controller sends the parameter information of the service request to be transmitted to each network node according to the service policies of each network node, including: The network controller sends the service curve slope, the time tolerance for the first packet to be postponed for transmission and the cache configuration information of the service request to be transmitted to each network node according to the service curve and cache configuration policy of each network node. Each network node in the current network determines the scheduling policy of each service request to be transmitted according to the parameter information of all service requests to be transmitted received from the network controller, including: Each network node in the current network establishes a corresponding data forwarding queue for each service request to be transmitted according to the service curve slope, the time tolerance for the first packet to be postponed for transmission and the cache configuration information of all service requests to be transmitted received from the network controller. Each network node calculates the remaining time for the distance of the unsent data packets in each established data forwarding queue to meet the transmission time required by the quality of service respectively. Each network node forwards the data packet with the minimum remaining time and repeats the calculation of the remaining time.

4. The method according to claim 3, characterized in that Each of the network nodes calculates the remaining duration for which the distance of the unsent data packets in the established multiple data forwarding queues meets the transmission time required by the quality of service, including: In each of the network nodes, the remaining duration Δ is calculated for each queue using the following formula i,q where \(i\) represents the \(i\)-th network node, \(q\) represents the \(q\)-th queue, and \(L\) i,q,k is the length of the \(k\)-th packet in queue \(q\) of node \(i\), and \(\sum\) k \(L\) i,q,k represents the total length of the packets that have been sent, and \(\beta\) i,q is the theoretical service rate of queue \(q\) of network node \(i\), \(t\) is the total transmission duration up to the current moment, and \(T\) i,q is the time tolerance for the first packet in queue \(q\) of network node \(i\) to be postponed for transmission.

5. The method according to claim 2, characterized in that, The timing service policy includes an accurate matching policy between the service curves of the network nodes on the transmission path and the theoretical service curve; The network controller sends the parameter information of the service request to be transmitted to each of the network nodes according to the service policies of the network nodes, including: The network controller sends the time interval between adjacent packets of the service request to be transmitted to each of the network nodes; Each of the network nodes in the current network determines the scheduling policy of each service request to be transmitted according to the parameter information of all service requests to be transmitted received from the network controller, including: Each of the network nodes in the current network establishes a corresponding data forwarding queue for each service request to be transmitted according to the time interval between adjacent packets of all service requests to be transmitted received from the network controller; Each network node calculates the remaining duration for which the distance of the unsent data packets in the established multiple data forwarding queues meets the transmission time required by the quality of service; Each of the network nodes forwards the data packets with a remaining duration of zero and recalculates the remaining duration.

6. The method according to any one of claims 1 to 5, characterized in that, The attribute information includes at least one of the following: maximum burst volume, minimum burst interval, duration; The demand information includes at least one of the following: bandwidth, delay, jitter, packet loss.

7. A queue gating scheduling system based on dynamic operation, characterized in that, Including: A network orchestrator, a network controller, and multiple network nodes; The network orchestrator is used to obtain the attribute information and demand information of the service request to be transmitted; According to the attribute information, demand information, and the current network state, determine the transmission path of the service request to be transmitted in the current network and the service policies of the network nodes on the transmission path, and send the service policies of the network nodes to the network controller; The network controller is used to send the parameter information of the service request to be transmitted to each of the network nodes according to the service policies of the network nodes; Each of the network nodes in the current network is used to determine the scheduling policy of each service request to be transmitted according to the parameter information of all service requests to be transmitted received from the network controller; Each of the network nodes in the current network is specifically used to establish a corresponding data forwarding queue for each service request to be transmitted according to the parameter information of all service requests to be transmitted received from the network controller; Each network node calculates the remaining duration for which the distance of the unsent data packets in the established multiple data forwarding queues meets the transmission time required by the quality of service according to the parameters of the established multiple data forwarding queues; each of the network nodes forwards the data packet with the smallest remaining duration and recalculates the remaining duration.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which are used to implement the queue gating scheduling method based on dynamic operations performed by the network orchestrator, network controller, or multiple network nodes in any one of claims 1-6 when executed by a processor.

9. An electronic device, characterized in that, Including: A processor, and a memory communicatively connected to the processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement a dynamic operation-based queue gating scheduling method performed by a network orchestrator or a network controller or multiple network nodes according to any one of claims 1-6.

Citation Information

Patent Citations

  • A method and system for information transmission in aerospace information networks based on cross-layer resource optimization

    CN102271368A