A cross-cycle incremental scheduling method and system

By employing a cross-cycle incremental scheduling method, utilizing centralized network configuration units and an incremental computing model, the problem that the IEEE 802.1Qbv periodic scheduling gating list cannot be scheduled across cycles is solved. This enables cross-cycle scheduling of tasks and efficient resource utilization, ensuring deterministic communication in time-sensitive networks.

CN119402354BActive Publication Date: 2025-11-11BEIJING UNIV OF POSTS & TELECOMM
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411301889.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-18
Publication Date
2025-11-11
Estimated Expiration
2044-09-18

AI Technical Summary

Technical Problem

In existing technologies, the periodic scheduling gating list of IEEE 802.1Qbv prevents end-to-end transmission tasks from being scheduled across cycles. Especially when multiple transmission tasks compete for a port, the later-sent task cannot complete the transmission before the end of the cycle, which fails to meet the requirements of deterministic real-time communication.

Method used

A cross-cycle incremental scheduling method is adopted. Task request messages are obtained through a centralized network configuration unit, task parameters are parsed and a task tree is constructed. An incremental calculation model is used to solve the problem and make scheduling decisions for switches and terminals to ensure that tasks are executed in sequence and to avoid resource conflicts.

Benefits of technology

Cross-cycle scheduling is achieved, ensuring that critical tasks are prioritized, reducing redundant calculations, improving scheduling efficiency, ensuring the smooth completion of tasks in the time-sensitive network model, and improving network resource utilization and task execution efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119402354B_ABST
    Figure CN119402354B_ABST
Patent Text Reader

Abstract

The application provides a cross-period incremental scheduling method and system, which is executed based on a centralized network configuration unit deployed in a time-sensitive network model, task request messages forwarded by terminals through the centralized user configuration unit are acquired through a user network interface and stored in the centralized network configuration unit; the task request messages are parsed to obtain period task parameters related to terminal task execution, communication task parameters related to switch task execution, and task execution order parameters representing execution dependency between tasks, and a task tree is constructed; based on cross-period constraint conditions limiting terminal and switch task execution requirements, the task tree is solved through an incremental calculation model, and the solution is analyzed, scheduling decisions for switch task execution are made according to the analysis results to perform network configuration management on the switch, scheduling decisions for terminal task execution are made and transmitted to the centralized user configuration unit to perform network configuration management on the terminal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of network communication technology, and in particular to a cross-cycle incremental scheduling method and system. Background Technology

[0002] In the current industrial field, deterministic real-time communication has become a necessary requirement in industrial networks. Distributed network physical systems have placed higher demands on communication in terms of bandwidth, real-time performance, and reliability. The high bandwidth characteristics of traditional Ethernet can meet these requirements, but its forwarding mode cannot achieve deterministic transmission.

[0003] In existing technologies, IEEE 802.1 Time-Sensitive Networking (TSN) components are used to implement deterministic communication. Based on the IEEE 802 standard, TSN defines a set of sub-protocols and forms a toolkit to meet the needs of different scenarios. TSN components cover time synchronization, traffic shaping, reliability, and resource management. Time-triggered communication is achieved by combining two important TSN protocols, IEEE 802.1AS and IEEE 802.1Qbv. IEEE 802.1Qbv's periodic scheduling gating list allocates transmission windows to queues based on a unified time reference. In existing algorithms based on Satisfaction Modulus Theory (SMT), all tasks complete end-to-end transmission within a recurring period starting from a unified time reference point. To avoid conflicts between transmission windows, the window is offset relative to the start time of the period, but its latest end time is still aligned with the end of the period. This results in the actual available end-to-end transmission time being shorter than one period. When multiple transmission tasks contend for a port, later-sent transmission tasks may fail to complete end-to-end transmission before the end of the period, and the transmission task cannot be completed. Summary of the Invention

[0004] In view of this, embodiments of the present invention provide a cross-cycle incremental scheduling method and system to eliminate or improve one or more defects existing in the prior art, and solve the problem that cross-cycle scheduling is not possible when performing end-to-end task transmission in the prior art.

[0005] One aspect of the present invention provides a cross-cycle incremental scheduling method, the method being executed based on a centralized network configuration unit deployed in a time-sensitive network model, the time-sensitive network model further including a centralized user configuration unit, user network interfaces, terminals, and switches, the method comprising the following steps:

[0006] The task request message is obtained through the user network interface and stored in the centralized network configuration unit; the task request message is forwarded by the terminal to the user network interface through the centralized user configuration unit;

[0007] The task request message is parsed to obtain periodic task parameters related to terminal task execution, communication task parameters related to switch task execution, and task execution order parameters indicating the execution dependency relationship between tasks. A task tree is then constructed based on the periodic task parameters, the communication task parameters, and the task execution order parameters.

[0008] Based on the cross-cycle constraints of the task execution requirements of the terminal and the switch, the task tree is solved by a preset incremental calculation model and the solution results are analyzed. Based on the analysis results, the scheduling decision for the task execution of the switch is made to perform network configuration management of the switch. The scheduling decision for the task execution of the terminal is made and transmitted to the centralized user configuration unit to perform network configuration management of the terminal.

[0009] In some embodiments, the construction process of the time-sensitive network model includes:

[0010] The terminal and the switch are defined as nodes to obtain a node set, and the full-duplex link between every two nodes is defined as an edge to obtain an edge set. A directed graph is created using the node set and the edge set.

[0011] The centralized network configuration unit obtains network topology information through the link discovery protocol of the directed graph, and adds a centralized user configuration unit according to the centralized management requirements of the terminal, thereby constructing the terminal, the switch, the centralized network configuration unit, and the centralized user configuration unit into a time-sensitive network model; the network topology information includes network topology structure, terminal performance parameters, and switch performance parameters.

[0012] In some embodiments, the centralized network configuration unit obtains network topology information through the link discovery protocol of the directed graph, including:

[0013] The centralized network configuration unit sends a link discovery request to the switch and receives a response message returned by the switch;

[0014] The centralized network configuration unit parses the received response message to obtain network topology information containing the network topology, the terminal performance parameters, and the switch performance parameters.

[0015] In some embodiments, constructing a task tree based on the periodic task parameters, the communication task parameters, and the task execution order parameters includes:

[0016] Decompose periodic tasks into multiple sub-periodic tasks, and decompose communication tasks into multiple sub-communication tasks.

[0017] Analyze the dependencies between the sub-cycle tasks and the dependencies between the sub-communication tasks, and construct a task tree based on the task execution order parameters; set offsets, worst-case execution times, and cross-cycle binary indicator variables on the sub-cycle tasks in the task tree; set offsets, message lengths, task cycles, number of sub-communication tasks, and cross-cycle binary indicator variables on the sub-communication tasks in the task tree; and set task tree priorities on the task tree.

[0018] In some embodiments, solving the task tree using a preset incremental calculation model based on cross-cycle constraints that limit the task execution requirements of terminals and switches includes:

[0019] The task trees are sorted from highest to lowest importance, and task trees of the same importance are placed into a set; the importance set containing the task tree with the highest importance is placed into the set to be scheduled, and the scheduled set and the maximum schedulable set are initialized to empty;

[0020] Based on the set to be scheduled and the set already scheduled, corresponding cross-period constraints are generated and input into the satisfiability modular theory solver for solving.

[0021] When the satisfiability modular theory solver has a solution, the importance set in the set to be scheduled is added to the scheduled set and the solution offset is saved; at the same time, the largest schedulable set is recorded as the scheduled set; when all importance sets are in the scheduled set, the scheduling solution is exited and the final solution result and the scheduled set are returned; when the importance set is not in the scheduled set, the set that is currently not participating in the scheduling and has the highest importance is put into the set to be scheduled, and the corresponding cross-period constraints are generated according to the set to be scheduled and the scheduled set, and the solution is repeated through the satisfiability modular theory solver.

[0022] When the solver has no solution, it checks whether the scheduled set is empty. If the scheduled set is empty, it checks whether the maximum schedulable set is empty. If the maximum schedulable set is empty, it returns the final no-solution result. If the maximum schedulable set is not empty, it returns the final partially solvable result and the maximum schedulable set. If the scheduled set is not empty, it puts the set with the lowest importance in the scheduled set into the set to be scheduled. Based on the set to be scheduled and the scheduled set, it generates corresponding cross-period constraints and solves them repeatedly using the satisfiability modular theory solver.

[0023] In some embodiments, the cross-cycle constraints that limit the task execution requirements of the terminal and the switch include: task cycle constraints that limit the offset positions and task execution window ranges of all tasks; task conflict constraints that prevent all tasks from conflicting during execution; sub-communication task cycle constraints that limit the offset positions and task sending window ranges of all sub-communication tasks; sub-communication task conflict constraints that prevent all sub-communication tasks from conflicting during transmission; sub-communication task transmission constraints that limit the transmission path and sending window of sub-communication tasks; sub-communication task isolation constraints that limit the transmission order of sub-communication tasks with the same priority; task tree execution constraints that limit the task execution requirements in the task tree; and task tree delay constraints that limit the end-to-end delay of the task tree.

[0024] In some embodiments, based on the analysis results, scheduling decisions are made for the tasks executed by the switch to perform network configuration management of the switch; scheduling decisions are made for the tasks executed by the terminal and transmitted to the centralized user configuration unit to perform network configuration management of the terminal, including:

[0025] When the final solution result is obtained, the scheduled set is parsed and the offset calculated by the task on the terminal is transmitted to the centralized user configuration unit through the user network interface to distribute the generated terminal configuration file to the terminal; the periodic scheduling gating list configuration file generated by the offset calculated by the task on the switch is distributed to the switch.

[0026] When the final partial solution result is obtained, the final partial solution result is parsed and then transmitted to the centralized user configuration through the user network interface to determine whether the configuration file is distributed.

[0027] When the final unsolvable result is obtained, the final unsolvable result is transmitted to the centralized user configuration unit through the user network interface to transmit the resource allocation failure information to the terminal.

[0028] On the other hand, the present invention also provides a cross-cycle incremental scheduling system, including a processor, a memory, and a computer program / instructions stored in the memory, wherein the processor is used to execute the computer program / instructions, and when the computer program / instructions are executed, the system implements the steps of any of the above methods.

[0029] On the other hand, the present invention also provides a computer-readable storage medium having a computer program / instructions stored thereon, which, when executed by a processor, implements the steps of any of the above methods.

[0030] On the other hand, the present invention also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of any of the above methods.

[0031] The beneficial effects of the present invention are at least as follows:

[0032] In the cross-cycle incremental scheduling method and system of this invention, task request messages are obtained through the user network interface and stored in the centralized network configuration unit; the task request messages are forwarded from the terminal to the user network interface via the centralized user configuration unit; the centralized user configuration unit monitors and collects information on the periodic tasks of the terminal in real time and establishes a connection relationship with the centralized user configuration unit for data transmission and communication, collaborative work, and scheduling decisions; a task tree is constructed based on the periodic task parameters, the communication task parameters, and the task execution order parameters to display the dependencies and execution order between tasks, clarify the importance of each task to ensure that critical tasks are given priority and resources are allocated effectively; the cross-cycle constraints that limit the task execution requirements of the terminal and the switch ensure that tasks are executed sequentially, avoiding resource conflicts and execution process conflicts; a preset incremental calculation model solves the task tree, reducing the amount of redundant calculations and improving the efficiency of the solution, obtaining the final solution result of the task tree, ensuring that critical tasks can be successfully scheduled, realizing cross-cycle scheduling in the time-sensitive network model and improving the efficiency of cross-cycle scheduling.

[0033] Additional advantages, objects, and features of the invention will be set forth in part in the description which follows, and will also become apparent in part to those skilled in the art upon studying the description, or may be learned by practice of the invention. The objects and other advantages of the invention can be realized and obtained by means of the structures specifically pointed out in the description and drawings.

[0034] Those skilled in the art will understand that the objectives and advantages achievable with the present invention are not limited to those specifically described above, and that the above and other objectives achievable with the present invention will become clearer from the following detailed description. Attached Figure Description

[0035] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, are not intended to limit the scope of the invention. In the drawings:

[0036] Figure 1 This is a flowchart illustrating the cross-cycle incremental scheduling method according to an embodiment of the present invention.

[0037] Figure 2 This is a schematic diagram of the structure of a time-sensitive network model according to an embodiment of the present invention.

[0038] Figure 3 This is a schematic diagram of the solution process of the incremental calculation model according to an embodiment of the present invention. Detailed Implementation

[0039] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the embodiments and accompanying drawings. Here, the illustrative embodiments and descriptions of this invention are used to explain the invention, but are not intended to limit the invention.

[0040] It should also be noted that, in order to avoid obscuring the invention with unnecessary details, only the structures and / or processing steps closely related to the solution according to the invention are shown in the accompanying drawings, while other details that are not closely related to the invention are omitted.

[0041] It should be emphasized that the term "including / comprises" as used herein refers to the presence of a feature, element, step, or component, but does not exclude the presence or addition of one or more other features, elements, steps, or components.

[0042] It should also be noted that, unless otherwise specified, the term "connection" in this article can refer not only to a direct connection, but also to an indirect connection involving an intermediary.

[0043] In the following description, embodiments of the invention will be illustrated with reference to the accompanying drawings. In the drawings, the same reference numerals represent the same or similar parts, or the same or similar steps.

[0044] In existing technologies, periodic scheduling gating lists allocate sending windows to queues based on a unified time reference. In existing algorithms based on satisfiability modulo theory, tasks complete end-to-end transmission within a recurring cycle starting from a unified time. To avoid sending window conflicts, the window is offset relative to the cycle start time, but its latest end time is still aligned with the cycle end. This results in the actual usable end-to-end transmission time being shorter than one cycle. When multiple transmission tasks contend for a port, the later-sent transmission task cannot complete end-to-end transmission before the cycle ends. This invention proposes a cross-cycle incremental scheduling method and system, executed by a centralized network configuration unit deployed in a time-sensitive network model, obtaining the data from the user network interface via the terminal. The centralized user configuration unit forwards task request messages and stores them in the centralized network configuration unit; it parses the task request messages to obtain periodic task parameters related to terminal task execution, communication task parameters related to switch task execution, and task execution order parameters representing the execution dependencies between tasks, and constructs a task tree; based on cross-period constraints that limit the task execution requirements of the terminal and the switch, it solves the task tree through a preset incremental calculation model and analyzes the solution results; based on the analysis results, it formulates scheduling decisions for the switch's task execution and performs network configuration management for the switch; it formulates scheduling decisions for the terminal's task execution and transmits them to the centralized user configuration unit for network configuration management of the terminal.

[0045] Figure 1 This is a flowchart illustrating a cross-cycle incremental scheduling method according to an embodiment of the present invention. Specifically, this application provides a cross-cycle incremental scheduling method, which is executed based on a centralized network configuration unit deployed in a time-sensitive network model. The time-sensitive network model also includes a centralized user configuration unit, user network interfaces, terminals, and switches. The method includes the following steps S101 to S103:

[0046] Step S101: Obtain the task request message through the user network interface and store it in the centralized network configuration unit; the task request message is forwarded by the terminal to the user network interface through the centralized user configuration unit.

[0047] Step S102: Parse the task request message to obtain the periodic task parameters related to the terminal's task execution, the communication task parameters related to the switch's task execution, and the task execution order parameters representing the execution dependencies between tasks. Construct a task tree based on the periodic task parameters, communication task parameters, and task execution order parameters.

[0048] Step S103: Based on the cross-cycle constraints of the task execution requirements of the terminal and the switch, the task tree is solved by the preset incremental calculation model and the solution results are analyzed. Based on the analysis results, the scheduling decision for the switch to execute tasks is made and the network configuration management of the switch is carried out. The scheduling decision for the terminal to execute tasks is made and transmitted to the centralized user configuration unit to carry out the network configuration management of the terminal.

[0049] In step S101, the centralized user configuration unit connects to the centralized network configuration unit through the user network interface (UNI) to transmit the task request message obtained from the terminal to the centralized network configuration unit; switches are deployed between terminals to perform end-to-end network transmission, and the centralized user configuration, centralized network configuration, terminals and switches are deployed in a time-sensitive network model constructed through a directed graph. Figure 2 This is a schematic diagram of the structure of a time-sensitive network model according to an embodiment of the present invention. In some embodiments, the construction process of the time-sensitive network model includes steps S1011 to S1012:

[0050] Step S1011: Define the terminal and the switch as nodes to obtain a node set, define the full-duplex link between every two nodes as an edge to obtain an edge set, and create a directed graph through the node set and the edge set.

[0051] Step S1012: The centralized network configuration unit obtains network topology information through the directed graph link discovery protocol, and adds a centralized user configuration unit according to the centralized management requirements of the terminal, constructing the terminal, switch, centralized network configuration unit and centralized user configuration unit into a time-sensitive network model; the network topology information includes network topology structure, terminal performance parameters and switch performance parameters.

[0052] Specifically, nodes represent entities in a time-sensitive network model, and edges represent connections between entities. These connections include physical and logical connections. A full-duplex link consists of two directed links, both ends of which have simultaneous sending and receiving capabilities, enabling network transmission to occur independently in both directions, improving network communication efficiency and bandwidth utilization. In Ethernet, terminals and switches are connected via twisted-pair cables or fiber optic cables. Furthermore, link discovery protocols enable real-time monitoring and adjustment of the network. When network topology information changes, the centralized network configuration unit can reconfigure the network based on the changed topology information to maintain network performance stability.

[0053] In some embodiments, the centralized network configuration unit obtains network topology information through a directed graph link discovery protocol, including steps S10121 to S10122:

[0054] Step S10121: The centralized network configuration unit sends a link discovery request to the switch and receives the response message returned by the switch.

[0055] Step S10122: The centralized network configuration unit parses the received response message to obtain network topology information containing network topology, terminal performance parameters and switch performance parameters.

[0056] Furthermore, the structure of terminals, switches, and full-duplex links in the network is represented by a directed graph. The centralized network configuration unit uses a link discovery protocol to obtain detailed information about nodes and edges in the directed graph, as well as their connection relationships. The centralized network configuration unit sends a link discovery request to the switch, which includes a topology request and a performance parameter request. After receiving the link discovery request, the switch responds according to the request content, providing its own and its neighboring nodes' performance parameters and connection information. After collecting the information, the centralized network configuration unit constructs a time-sensitive network model.

[0057] In step S102, the periodic task parameters include offset, worst-case execution time, and cross-cycle binary indicator variable. The cross-cycle binary indicator variable uses a binary variable to indicate whether the task spans a cycle. When the binary indicator variable is 1, it indicates that the task spans a cycle, and the execution window of this task is in a different cycle than the previous task. When the binary indicator variable is 0, it indicates that the task does not span a cycle, and the execution window of this task is in the same cycle as the previous task. The communication task parameters include offset, message length, task cycle, number of sub-communication tasks, and cross-cycle binary indicator variable, wherein the length of each sub-communication task is less than the maximum transmission unit. After parsing the task request message to obtain the parameters, a task tree is constructed according to the execution order parameters between tasks.

[0058] In some embodiments, constructing a task tree based on periodic task parameters, communication task parameters, and task execution order parameters includes steps S1021 to S1022:

[0059] Step S1021: Decompose the periodic task into multiple sub-periodic tasks, and decompose the communication task into multiple sub-communication tasks.

[0060] Step S1022: Analyze the dependencies between sub-cycle tasks and sub-communication tasks, and construct a task tree based on the task execution order parameters; set offsets, worst-case execution times, and cross-cycle binary indicator variables on the sub-cycle tasks of the task tree; set offsets, message lengths, task cycles, number of sub-communication tasks, and cross-cycle binary indicator variables on the sub-communication tasks of the task tree; set the task tree priority on the task tree.

[0061] Specifically, the task tree describes the execution process and dependencies of tasks in a graphical way, and sets the execution order of tasks through the dependencies. Multiple tasks can be executed in parallel and independently, or they can be executed in the order of execution according to the existing dependencies. Other tasks can only be executed after the dependent task is completed.

[0062] In step S103, Figure 3 This is a schematic diagram of the solution process of the incremental computing model according to an embodiment of the present invention. In some embodiments, based on the cross-cycle constraints that limit the task execution requirements of the terminal and the switch, the task tree is solved by a preset incremental computing model, including steps S1031 to S1034:

[0063] Step S1031: Sort the task trees in descending order of importance, and put the task trees of the same importance into a set; put the importance set containing the task tree with the highest importance into the set to be scheduled, and initialize the scheduled set and the maximum schedulable set to empty.

[0064] Step S1032: Generate corresponding cross-period constraints based on the set to be scheduled and the set already scheduled, and input them into the satisfiability modulus solver for solving.

[0065] Step S1033: When the satisfiability modular theory solver has a solution, add the importance set in the set to be scheduled to the scheduled set and save the solution offset; at the same time, record the largest schedulable set as the scheduled set; when all importance sets are in the scheduled set, exit the scheduling solution and return the final solution result and the scheduled set; when the importance set is not in the scheduled set, put the set that is currently not participating in the scheduling and has the highest importance into the set to be scheduled, generate the corresponding cross-period constraints based on the set to be scheduled and the scheduled set, and solve them repeatedly through the satisfiability modular theory solver.

[0066] Step S1034: When the solver has no solution, check if the scheduled set is empty. If the scheduled set is empty, check if the maximum schedulable set is empty. If the maximum schedulable set is empty, return the final no-solution result. If the maximum schedulable set is not empty, return the final partially solvable result and the maximum schedulable set. If the scheduled set is not empty, put the set with the lowest importance in the scheduled set into the set to be scheduled. Generate the corresponding cross-period constraints based on the set to be scheduled and the scheduled set, and solve them repeatedly using the satisfiability modulus solver.

[0067] Specifically, an incremental computational model equipped with a satisfiability modulus solver is used to solve the task tree to formulate scheduling decisions for network resource allocation of terminals and switches in a time-sensitive network model. The incremental computational model yields three solution results: a final solvable result, a final partially solvable result, and a final unsolvable result. A centralized network configuration unit analyzes each of these results to manage network configuration of the switches. The analysis results are then transmitted to a centralized user configuration unit for managing network configuration of the terminals. In some embodiments, scheduling decisions for tasks executed by the switches are formulated based on the analysis results to manage network configuration of the switches. Scheduling decisions for tasks executed by the terminals are also formulated and transmitted to the centralized user configuration unit for managing network configuration of the terminals. This includes steps S1 to S3:

[0068] Step S1: When the final solution is obtained, the scheduled set is parsed and the offset calculated by the task on the terminal is passed to the centralized user configuration unit through the user network interface to send the generated terminal configuration file to the terminal; the periodic scheduling gating list configuration file generated by the offset calculated by the task on the switch is sent to the switch.

[0069] Step S2: When the final partial solution result is obtained, the final partial solution result is parsed and then passed to the centralized user configuration unit through the user network interface to determine whether the configuration file is distributed.

[0070] Step S3: When the final unsolvable result is obtained, the final unsolvable result is transmitted to the centralized user configuration unit through the user network interface to transmit the resource allocation failure information to the terminal.

[0071] In some embodiments, the cross-cycle constraints that limit the task execution requirements of the terminal and the switch include: task cycle constraints that limit the offset positions and task execution window ranges of all tasks; task conflict constraints that prevent all tasks from conflicting during execution; sub-communication task cycle constraints that limit the offset positions and task sending window ranges of all sub-communication tasks; sub-communication task conflict constraints that prevent all sub-communication tasks from conflicting during transmission; sub-communication task transmission constraints that limit the transmission path and sending window of sub-communication tasks; sub-communication task isolation constraints that limit the transmission order of sub-communication tasks with the same priority; task tree execution constraints that limit the task execution requirements in the task tree; and task tree delay constraints that limit the end-to-end delay of the task tree.

[0072] Specifically, the task cycle constraint restricts the offset of all tasks to be at any time within a cycle, and the task execution window can cross the cycle boundary; the task conflict constraint restricts all tasks from executing on the same terminal at the same time, and the task execution window, when crossing the super-cycle boundary, must not conflict with other task execution windows when mapped back to windows within other super-cycles; the sub-communication task cycle constraint restricts the offset of all sub-communication tasks to be at any time within a cycle, and the sub-communication task sending window can cross the cycle boundary; the sub-communication task conflict constraint restricts all sub-communication tasks from transmitting on the same link at the same time; the sub-communication task sending window, when crossing the super-cycle boundary, must not conflict with other sub-communication task sending windows when mapped back to windows within other super-cycles; the sub-communication task transmission constraint restricts... Sub-communication tasks must be transmitted sequentially along the path, and the next-hop sending window for the same sub-communication task must be between the sending windows of the current cycle and the next cycle of the previous hop. Sub-communication task isolation constraints require that sub-communication tasks of the same priority must be transmitted in the order of arrival. When a sub-communication task arrives after another sub-communication task has been sent, the sending window of the first sub-communication task must be before the next cycle of the other sub-communication task arrives. Task tree execution constraints require that tasks in the task tree must be executed in sequence, and any task can only be executed after its child node tasks have been completed. Task tree delay constraints require that the end-to-end delay of the corresponding task tree be within the upper bound of the end-to-end delay of the task tree, and the difference between the start time of any leaf node task and the end time of the root node task is less than the upper bound of the end-to-end delay of the task tree.

[0073] Furthermore, by using cross-cycle constraints, the network configuration of cross-cycle tasks in different cycles of the current task execution window and the previous task is made reasonable, so that tasks are executed in an orderly manner. Cross-cycle task execution can make full use of the idle time within the cycle and improve the cycle utilization rate. Moreover, the existence of cross-cycle constraints can avoid resource competition and task conflicts between tasks, further improving the execution efficiency of tasks and the utilization of resources within the cycle.

[0074] On the other hand, the present invention also provides a cross-cycle incremental scheduling system, including a processor, a memory, and a computer program / instructions stored in the memory, wherein the processor is used to execute the computer program / instructions, and when the computer program / instructions are executed, the system implements the steps of any of the above methods.

[0075] On the other hand, the present invention also provides a computer-readable storage medium having a computer program / instructions stored thereon, which, when executed by a processor, implement the steps of any of the above methods.

[0076] On the other hand, the present invention also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of any of the above methods.

[0077] The present invention will now be described with reference to a specific embodiment:

[0078] This invention provides a cross-cycle incremental scheduling method and system. By employing the cross-cycle scheduling concept, it allows end-to-end task delays to cross cycle boundaries. An incremental computation model is used for scheduling solutions, accelerating the solution process. Even when solutions are difficult to obtain, the schedulability of highly important tasks is prioritized. Compared to traditional methods, this invention achieves lower end-to-end latency, and the incremental computation model accelerates the solution process while ensuring the determinism and low latency of the important task tree.

[0079] 1. A cross-cycle scheduling method includes steps S100 to S500:

[0080] Step S100: The Centralized Network Configuration Unit (CNC) obtains network topology information through the link discovery protocol, including the network topology configuration, performance parameters of switches and terminals in the network, and constructs a specific time-sensitive network model; network modeling is performed using G = {V, L}, where the vertex set V = {ES, SW} represents all terminals and switches in the network, and the edge set L represents all full-duplex links in the network; terminal es i ∈ES by tuple {es i .s,es i The .r} definition, where es i .s represents the upper bound of the transmission delay, es i .r indicates the upper bound of the receive delay; switches use sw. i .pd indicates the internal processing latency.

[0081] A full-duplex link between two adjacent nodes in a network consists of two directed links l a,b and l b,a Composition; Link l a,b The parameter is {l a,b .t,l a,b ,q}, where l a,b .t represents the link transmission rate, l a,b q represents the maximum number of scheduling queues supported by the link sender.

[0082] Step S200: The centralized user configuration unit (CUC) receives the task request message from the terminal, including parameters of the periodic task executed on the terminal, parameters of the communication task executed by the switch between terminals, and execution order parameters between tasks; and sends the parameter information to the centralized network configuration unit through the user network interface (UNI).

[0083] Step S300: The centralized network configuration unit receives parameter information from the centralized user configuration unit and models the tasks in the network; periodic tasks executed on the terminal. By tuple Definition, where Indicates the offset. This represents the worst-case execution time (WCET) of the task. Indicates the task cycle. This represents a binary indicator variable for task cross-cycle.

[0084] Define each communication task between terminals Corresponding to a flow F i Flow through tuples Definition, where Indicates stream priority. Indicates the flow period. This indicates the number of flow instances within a flow; a flow instance is a sub-communication task within a communication task; a flow consists of one or more flow instances, where the length of each flow instance is less than the maximum transmission unit (MTU) size; each flow instance... Additional tuples defined relative to the stream in Indicates the offset. Indicates the duration of the stream transmission. The binary indicator variable represents the cross-cycle; the set of stream instances in the first hop and the last hop are represented by src() and dst(), respectively; the first stream instance and the last stream instance in the stream are represented by first() and last(), respectively.

[0085] Based on the execution order parameters between tasks, a task tree model is abstracted, with each task tree corresponding to an application a. i ∈A, define a i .e2e represents the upper bound of the end-to-end latency of the application.

[0086] Step S400: To ensure that more important task trees can be successfully scheduled, this method uses an incremental computation model based on the Satisfiability Modulus Theory (SMT) solver for solving. During the solution process, corresponding cross-cycle constraints are specified according to the information input in the current round. The constraints include task cycle constraints, task conflict constraints, sub-communication task cycle constraints, sub-communication task conflict constraints, sub-communication task transmission constraints, sub-communication task isolation constraints, task tree execution constraints, and task tree delay constraints.

[0087] Step S500: The centralized network configuration unit parses the final solution result.

[0088] 2. The solution process of the incremental calculation model includes steps S4001 to S4003:

[0089] Step S4001: Initially, sort the task trees from highest to lowest importance, and put task trees of the same importance into a set; put the set with the highest importance into the set to be scheduled, and initialize the scheduled set and the maximum schedulable set to empty.

[0090] Step S4002: Generate cross-cycle constraints based on the set to be scheduled and the set already scheduled; when generating constraints for the set already scheduled, it is additionally necessary to constrain the task offset to the previously solved value; put the generated cross-cycle constraints into the satisfiability modulus solver for solving, and execute step S4003 or step S4004 depending on whether the solver has a solution.

[0091] Step S4003: If the solver has a solution in step S4002, add all importance sets in the set to be scheduled to the scheduled set and save the offset value of the solution; at the same time, record the maximum schedulable set as the current scheduled set; if all importance sets are in the scheduled set, exit the scheduling solution and return the solution and the scheduled set; otherwise, add the set with the highest importance that is not currently being scheduled to the set to be scheduled, and repeat step S4002. If the solver has no solution in step S4002, execute step S4005 or step S4006 depending on whether the scheduled set is empty. If the solver has no solution in step S4002 and the scheduled set is empty, exit the scheduling solution; if the maximum schedulable set is empty, return no solution; if the maximum schedulable set is not empty, return partially solvable and the maximum schedulable set. If the solver has no solution in step S4002 and the scheduled set is not empty, the set with the lowest importance in the scheduled set is placed into the set to be scheduled, and step S4002 is repeated.

[0092] 3. Cross-cycle constraints include:

[0093] 3.1. Task Cycle Constraints: The offsets of all tasks can be set at any point within a cycle, and the task execution window can cross the cycle boundary. The corresponding formulaic expression is as follows:

[0094]

[0095] 3.2. Task Conflict Constraints: All tasks cannot be executed on the same end system at the same time. When a task execution window crosses a hypercycle boundary, the window mapped back to another hypercycle cannot conflict with other task execution windows. The corresponding formula is as follows:

[0096]

[0097]

[0098] 3.3. Sub-communication Task Period Constraints: The offsets of all sub-communication tasks can be set at any time within a period, and the sending window of a sub-communication task can cross the period boundary. The corresponding formulaic expression is as follows:

[0099]

[0100] 3.4. Sub-communication Task Conflict Constraints: All sub-communication tasks cannot transmit on the same link at the same time. When a sub-communication task's transmission window crosses a supercycle boundary, the window mapped back to other supercycles cannot conflict with the transmission windows of other sub-communication tasks. The corresponding formulaic expression is as follows:

[0101]

[0102] 3.5. Sub-communication Task Transmission Constraints: Sub-communication tasks must be transmitted sequentially along the path. The next-hop transmission window of the same sub-communication task must be between the transmission windows of the current cycle and the next cycle of the previous hop. The corresponding formulaic expression is as follows:

[0103]

[0104] 3.6. Sub-communication Task Isolation Constraint: Sub-communication tasks of the same priority must be transmitted in the order of arrival. When a sub-communication task arrives after another sub-communication task has been sent, the sending window of the first sub-communication task must arrive before the next cycle of the second sub-communication task. The corresponding formula is as follows:

[0105]

[0106] 3.7. Task Tree Execution Constraints: Tasks in the task tree must be executed sequentially. Any task can only be executed after its child tasks have been completed. The corresponding formulaic expression is as follows:

[0107]

[0108]

[0109] 3.8. Task Tree Delay Constraint: The end-to-end delay of the task tree is within the upper bound of the task tree's end-to-end delay. The difference between the start time of the task at any leaf node and the end time of the task at the root node is less than the upper bound of the task tree's end-to-end delay. The corresponding formulaic expression is as follows:

[0110]

[0111] 4. The centralized network configuration unit analyzes the final solution result and classifies it into the following categories based on the final solution result:

[0112] 4.1. If a solution is found in the final solution, the scheduled set is parsed, and the offsets calculated by the tasks on the terminals are transmitted to the centralized user configuration unit through the user network interface. The corresponding terminal configuration files are then distributed to each terminal. The centralized network configuration unit generates a gating list configuration file based on the offsets calculated on the switches and distributes it to each switch.

[0113] 4.2. If the final solution is partially solvable, the solution result will be parsed and transmitted to the centralized user configuration unit through the user network interface. The user will then decide on the subsequent operations, including not issuing configuration parameters or issuing configuration parameters for the partially solvable solution.

[0114] 4.3. If there is no solution, the unsolvable situation is transmitted to the centralized user configuration unit through the user network interface, the user is notified, and a resource allocation failure message is returned to each terminal.

[0115] In summary, this invention provides a cross-cycle incremental scheduling method and system. The method is based on a centralized network configuration unit deployed in a time-sensitive network model. Task request messages are obtained through the user network interface and stored in the centralized network configuration unit. The task request messages are forwarded from the terminal to the user network interface via the centralized user configuration unit. The task request messages are parsed to obtain periodic task parameters related to terminal task execution, communication task parameters related to switch task execution, and task execution order parameters representing the execution dependencies between tasks, and a task tree is constructed. Based on cross-cycle constraints limiting the task execution requirements of the terminal and the switch, the task tree is solved using a preset incremental calculation model, and the solution results are analyzed. Based on the analysis results, scheduling decisions for the switch's task execution are made, and network configuration management is performed on the switch. Scheduling decisions for the terminal's task execution are also made and transmitted to the centralized user configuration unit for network configuration management of the terminal.

[0116] This invention also provides a computer device, which may include a processor and a memory, wherein the processor and the memory may be connected via a bus or other means.

[0117] The processor can be a central processing unit (CPU). The processor can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or combinations of the above types of chips.

[0118] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as the program instructions / modules corresponding to the button blocking method of the vehicle display device in this embodiment of the invention. The processor executes various functional applications and data processing by running the non-transitory software programs, instructions, and modules stored in the memory.

[0119] The memory may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created by the processor, etc. Furthermore, the memory may include high-speed random access memory and non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory may optionally include memory remotely located relative to the processor, which can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0120] The one or more modules are stored in the memory, and when executed by the processor, they perform the method described in this embodiment.

[0121] This invention also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the aforementioned edge computing server deployment method. The computer-readable storage medium can be a tangible storage medium, such as random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, floppy disks, hard disks, removable storage disks, CD-ROMs, or any other form of storage medium known in the art.

[0122] Those skilled in the art will understand that the exemplary components, systems, and methods described in conjunction with the embodiments disclosed herein can be implemented in hardware, software, or a combination of both. Whether implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this invention. When implemented in hardware, it can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this invention are programs or code segments used to perform the desired tasks. The programs or code segments can be stored in a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried in a carrier wave.

[0123] It should be clarified that the present invention is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present invention is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of the present invention.

[0124] In this invention, features described and / or illustrated for one embodiment may be used in the same or similar manner in one or more other embodiments, and / or combined with or in place of features of other embodiments.

[0125] The above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, various modifications and variations of the embodiments of the present invention are possible. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A cross-cycle incremental scheduling method, characterized in that, The method is executed based on a centralized network configuration unit deployed in a time-sensitive network model, which also includes a centralized user configuration unit, user network interfaces, terminals, and switches. The method includes the following steps: The task request message is obtained through the user network interface and stored in the centralized network configuration unit; the task request message is forwarded by the terminal to the user network interface through the centralized user configuration unit; The task request message is parsed to obtain periodic task parameters related to terminal task execution, communication task parameters related to switch task execution, and task execution order parameters indicating the execution dependency relationship between tasks. A task tree is then constructed based on the periodic task parameters, the communication task parameters, and the task execution order parameters. Based on the cross-cycle constraints of the task execution requirements of the terminal and the switch, the task tree is solved by a preset incremental calculation model and the solution results are analyzed. Based on the analysis results, the scheduling decision for the task execution of the switch is made to perform network configuration management of the switch. The scheduling decision for the task execution of the terminal is made and transmitted to the centralized user configuration unit to perform network configuration management of the terminal.

2. The cross-cycle incremental scheduling method according to claim 1, characterized in that, The construction process of the time-sensitive network model includes: The terminal and the switch are defined as nodes to obtain a node set, and the full-duplex link between every two nodes is defined as an edge to obtain an edge set. A directed graph is created using the node set and the edge set. The centralized network configuration unit obtains network topology information through the link discovery protocol of the directed graph, and adds a centralized user configuration unit according to the centralized management requirements of the terminal, thereby constructing the terminal, the switch, the centralized network configuration unit, and the centralized user configuration unit into a time-sensitive network model; the network topology information includes network topology structure, terminal performance parameters, and switch performance parameters.

3. The cross-cycle incremental scheduling method according to claim 2, characterized in that, The centralized network configuration unit obtains network topology information through the link discovery protocol of the directed graph, including: The centralized network configuration unit sends a link discovery request to the switch and receives a response message returned by the switch; The centralized network configuration unit parses the received response message to obtain network topology information containing the network topology, the terminal performance parameters, and the switch performance parameters.

4. The cross-cycle incremental scheduling method according to claim 1, characterized in that, Constructing a task tree based on the periodic task parameters, the communication task parameters, and the task execution order parameters includes: Decompose periodic tasks into multiple sub-periodic tasks, and decompose communication tasks into multiple sub-communication tasks. Analyze the dependencies between the sub-cycle tasks and the dependencies between the sub-communication tasks, and construct a task tree based on the task execution order parameters; set offsets, worst-case execution times, and cross-cycle binary indicator variables on the sub-cycle tasks in the task tree; set offsets, message lengths, task cycles, number of sub-communication tasks, and cross-cycle binary indicator variables on the sub-communication tasks in the task tree; and set task tree priorities on the task tree.

5. The cross-cycle incremental scheduling method according to claim 1, characterized in that, Based on cross-cycle constraints limiting the task execution requirements of terminals and switches, the task tree is solved using a pre-defined incremental calculation model, including: The task trees are sorted from highest to lowest importance, and task trees of the same importance are placed into a set; the importance set containing the task tree with the highest importance is placed into the set to be scheduled, and the scheduled set and the maximum schedulable set are initialized to empty; Based on the set to be scheduled and the set already scheduled, corresponding cross-period constraints are generated and input into the satisfiability modular theory solver for solving. When the satisfiability modular theory solver has a solution, the importance set in the set to be scheduled is added to the scheduled set and the solution offset is saved; at the same time, the largest schedulable set is recorded as the scheduled set; when all importance sets are in the scheduled set, the scheduling solution is exited and the final solution result and the scheduled set are returned; when the importance set is not in the scheduled set, the set that is currently not participating in the scheduling and has the highest importance is put into the set to be scheduled, and the corresponding cross-period constraints are generated according to the set to be scheduled and the scheduled set, and the solution is repeated through the satisfiability modular theory solver. When the solver has no solution, it checks whether the scheduled set is empty. If the scheduled set is empty, it checks whether the maximum schedulable set is empty. If the maximum schedulable set is empty, it returns the final no-solution result. If the maximum schedulable set is not empty, it returns the final partially solvable result and the maximum schedulable set. If the scheduled set is not empty, it puts the set with the lowest importance in the scheduled set into the set to be scheduled. Based on the set to be scheduled and the scheduled set, it generates corresponding cross-period constraints and solves them repeatedly using the satisfiability modular theory solver.

6. The cross-cycle incremental scheduling method according to claim 1, characterized in that, The cross-cycle constraints that limit the task execution requirements of terminals and switches include: task cycle constraints that limit the offset positions and task execution window ranges of all tasks; task conflict constraints that prevent all tasks from conflicting during execution; sub-communication task cycle constraints that limit the offset positions and task sending window ranges of all sub-communication tasks; sub-communication task conflict constraints that prevent all sub-communication tasks from conflicting during transmission; sub-communication task transmission constraints that limit the transmission path and sending window of sub-communication tasks; sub-communication task isolation constraints that limit the transmission order of sub-communication tasks with the same priority; task tree execution constraints that limit the task execution requirements in the task tree; and task tree delay constraints that limit the end-to-end delay of the task tree.

7. The cross-cycle incremental scheduling method according to claim 1, characterized in that, Based on the analysis results, scheduling decisions are made for the tasks executed by the switch to perform network configuration management of the switch. Scheduling decisions are also made for the tasks executed by the terminals and transmitted to the centralized user configuration unit for network configuration management of the terminals, including: When a final solution is obtained, the scheduled set is parsed and the offset calculated by the task on the terminal is transmitted to the centralized user configuration unit through the user network interface to distribute the generated terminal configuration file to the terminal; the periodic scheduling gating list configuration file generated by the offset calculated by the task on the switch is distributed to the switch. When a partial solution is obtained, the partial solution is parsed and then transmitted to the centralized user configuration through the user network interface to determine whether the configuration file should be distributed. When a final unsolvable result is obtained, the final unsolvable result is transmitted to the centralized user configuration unit through the user network interface to transmit the resource allocation failure information to the terminal.

8. A cross-cycle incremental scheduling system, comprising a processor, a memory, and a computer program / instructions stored in the memory, characterized in that, The processor is used to execute the computer program / instructions, and when the computer program / instructions are executed, the system implements the steps of the method according to any one of claims 1 to 7.

9. A computer-readable storage medium having a computer program / instructions stored thereon, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method according to any one of claims 1 to 7.

10. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • A method and system for scheduling tasks

    CN109445929A

  • Task scheduling model of TTFC network and message scheduling table generation method

    CN111030835A