Scheduling method, schedule calculating device, controller, and scheduling transfer system

The scheduling method optimizes Ethernet network scheduling by dynamically selecting stream-based or class-based methods for each stream, reducing time slots and interruptions while ensuring low-latency transfer, particularly for critical streams.

WO2026009450A1PCT designated stage Publication Date: 2026-01-08MITSUBISHI ELECTRIC CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/031888
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-04
Filing Date
2024-09-05
Publication Date
2026-01-08

AI Technical Summary

Technical Problem

Existing scheduling methods for Ethernet networks struggle to efficiently manage a mixture of low-latency and non-low-latency streams while minimizing the number of time slots and reducing communication interruptions during real-time configuration changes.

Method used

A scheduling method that dynamically determines whether to apply a stream-based or class-based approach for each stream, optimizing the scheduling policy to maximize the use of the class-based method while ensuring low-latency transfer for critical streams, using a controller to set schedules in network switches.

Benefits of technology

This approach reduces the number of time slots and minimizes communication interruptions by applying the class-based method to the maximum number of streams, ensuring low-latency transfer for critical streams and facilitating efficient parameter setting.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024031888_08012026_PF_FP_ABST
    Figure JP2024031888_08012026_PF_FP_ABST
Patent Text Reader

Abstract

A policy determining unit (112) determines, as a scheduling policy for a plurality of streams, whether a scheduling scheme for each of the plurality of streams is to be a stream-based scheme or a class-based scheme. Each time the schedule policy is determined, a schedule calculating unit (114) searches for a schedule solution, which is a schedule to which the determined scheduling policy has been applied and which satisfies schedule constraint conditions. The policy determining unit (112) repeats the determination of the scheduling policy by changing the scheduling scheme of at least one of the plurality of streams.
Need to check novelty before this filing date? Find Prior Art

Description

Scheduling method, schedule calculation device, controller, and scheduling transfer system

[0001] TECHNICAL FIELD This disclosure relates to scheduling streams.

[0002] Scheduled Traffic (ST) is a mechanism for transferring frames of different priorities on an Ethernet network in a time-division manner, and is specified in IEEE 802.1Q-2022. A controller connected to the network calculates the frame transmission timing, and sets the calculation results (schedule) in each switch that supports ST, thereby controlling the delay and flow rate of frames of each priority. Calculating a transmission schedule that meets the communication requirements of all streams and determining the timing of gate opening and closing is called "scheduling."

[0003] Non-Patent Document 1 discloses the stream-based (SB) method and the class-based (CB) method, which are TSN scheduling methods. TSN scheduling methods are broadly divided into the SB method and the CB method. The SB method is a method for controlling transfer timing in accordance with the stream transmission period, and allocates one time slot per frame. The SB method can minimize end-to-end delay, but the number of time slots generated increases. The CB method is a method for controlling transfer timing by periodically allocating a group of time slots for each priority class, and allocates one time slot for multiple frames. The CB method reduces the number of time slots compared to the SB method, but increases the end-to-end delay.

[0004] Generally, the streams accommodated in a network are a mixture of those that require low latency and those that do not. Also, real-time configuration changes must be supported when streams and network devices are added or removed. However, as the number of time slots increases, it takes time to set parameters on the actual switches, which can lead to communication interruptions.

[0005] Patent Document 1 proposes the following scheduling method. This method appropriately determines whether the SB method is required for streams accommodated in a network or whether the CB method is sufficient, and performs scheduling that combines the SB method and the CB method. This ensures low-latency transfer while suppressing the number of time slots.

[0006] The method described in Patent Document 1 predicts whether the application of the SB method is necessary for each stream or whether the application of the CB method is sufficient, determines a scheduling policy, and performs schedule calculations based on that policy. However, predictions are difficult for complex networks, and there is a possibility that a solution cannot be found through scheduling calculations. In addition, excessive allocation of the SB method may result in the generation of more time slots than necessary.

[0007] International Publication No. 2023 / 218666

[0008] D. Hellmanns, J. Falk, A. Glavackij, R. Hummen, S. Kehrer and F. Durr, “On the Performance of Stream-based, Class-based Time-aware Shaping and Frame Preemption in TSN,” 2020 IEEE International Conference on Industrial Technology (ICIT), 2020, pp. 298-303, doi: 10.1109 / ICIT45562.2020.9067122.

[0009] The present disclosure aims to enable a schedule in which the scheduling method for more streams is a class-based method.

[0010] The scheduling method of the present disclosure is a scheduling method in which a policy determination unit determines, as a scheduling policy for the multiple streams, the scheduling method for each of the multiple streams to be either a stream-based method or a class-based method, and a schedule calculation unit searches, each time a scheduling policy is determined, for a schedule that applies the determined scheduling policy and satisfies scheduling constraints as a scheduling solution, and the policy determination unit repeats determining the scheduling policy by changing the scheduling method for at least one of the multiple streams so that a scheduling solution can be found in which the scheduling method for more streams is the class-based method.

[0011] According to the present disclosure, it is possible to obtain a schedule in which the scheduling method for more streams is the class-based method.

[0012] FIG. 1 is a configuration diagram of a scheduling transfer system 200 according to a first embodiment. FIG. 2 is a configuration diagram of a schedule calculation apparatus 100 according to the first embodiment. FIG. 3 is a functional configuration diagram of the schedule calculation apparatus 100 according to the first embodiment. FIG. 4 is a flowchart of a scheduling method according to the first embodiment. FIG. 5 is a diagram showing an example of determining a schedule policy according to the first embodiment. FIG. 6 is a diagram showing examples of scheduling for the SB method and the CB method according to the prior art. FIG. 7 is a functional configuration diagram of a schedule calculation apparatus 100 according to a second embodiment. FIG. 8 is a flowchart of a scheduling method according to the second embodiment. FIG. 9 is a functional configuration diagram of a schedule calculation apparatus 100 according to a third embodiment. FIG. 10 is a flowchart of a scheduling method according to the third embodiment. FIG. 11 is a hardware configuration diagram of the schedule calculation apparatus 100 according to the embodiments.

[0013] In the embodiments and drawings, the same or corresponding elements are denoted by the same reference numerals. The description of elements denoted by the same reference numerals as those already described will be omitted or simplified as appropriate. Arrows in the drawings primarily indicate the flow of data or the flow of processing.

[0014] First Embodiment A scheduling transfer system 200 will be described with reference to FIGS.

[0015] ***Description of Configuration*** The configuration of the scheduling transfer system 200 will be described based on Fig. 1. The scheduling transfer system 200 comprises a schedule calculation device 100, a controller 210, and one or more switches 220. The number of switches 220 is not limited to the number shown in Fig. 1.

[0016] The control plane and data plane may or may not be separated.

[0017] The nodes 230 are communication devices that transmit and receive stream data to and from other nodes 230 via the switch 220. The stream data is transmitted and received as frames. Specifically, Ethernet frames are transmitted and received. The number of nodes 230 is not limited to the number shown in FIG. 1.

[0018] The controller 210 is a computer. The switch 220 is a network device. Specifically, the switch 220 is a switch that complies with IEEE802.1Qbv.

[0019] A plurality of switches 220 and a plurality of nodes 230 constitute a network 201. The topology of the network 201 is not limited.

[0020] The schedule calculation device 100 determines a communication schedule for multiple streams occurring in the network 201. The controller 210 sets the determined communication schedule in each switch 220. Each switch 220 transfers frames of each stream communicated between nodes 230 according to its own schedule.

[0021] The configuration of the schedule calculation device 100 will be described with reference to Fig. 2. The schedule calculation device 100 is a computer that includes hardware such as a processor 101, a memory 102, an auxiliary storage device 103, a communication device 104, and an input / output interface 105. These pieces of hardware are connected to each other via signal lines.

[0022] The processor 101 is an IC that performs arithmetic processing and controls other hardware. For example, the processor 101 is a CPU. IC is an abbreviation for Integrated Circuit. CPU is an abbreviation for Central Processing Unit.

[0023] The memory 102 is a volatile or non-volatile storage device. The memory 102 is also called a primary storage device or a main memory. For example, the memory 102 is a RAM. Data stored in the memory 102 is saved in the secondary storage device 103 as needed. RAM is an abbreviation for Random Access Memory.

[0024] The auxiliary storage device 103 is a non-volatile storage device. For example, the auxiliary storage device 103 is a ROM, a HDD, a flash memory, or a combination of these. Data stored in the auxiliary storage device 103 is loaded into the memory 102 as needed. ROM is an abbreviation for Read Only Memory. HDD is an abbreviation for Hard Disk Drive.

[0025] The communication device 104 is a receiver and a transmitter. For example, the communication device 104 is a communication chip or a NIC. Communication of the schedule calculation apparatus 100 is performed using the communication device 104. NIC is an abbreviation for Network Interface Card.

[0026] The input / output interface 105 is a port to which an input device and an output device are connected. For example, the input / output interface 105 is a USB terminal, the input devices are a keyboard and a mouse, and the output device is a display. Input and output to and from the schedule calculation device 100 are performed via the input / output interface 105. USB is an abbreviation for Universal Serial Bus.

[0027] The schedule calculation device 100 comprises elements such as an information receiving unit 111, a policy determining unit 112, an information processing unit 113, a schedule calculation unit 114, a recalculation determining unit 115, and a result output unit 116. These elements are realized by software.

[0028] The auxiliary storage device 103 stores a scheduling program for causing the computer to function as an information receiving unit 111, a policy determining unit 112, an information processing unit 113, a schedule calculation unit 114, and a recalculation determining unit 115. The scheduling program is loaded into the memory 102 and executed by the processor 101. The auxiliary storage device 103 also stores an OS. At least a portion of the OS is loaded into the memory 102 and executed by the processor 101. The processor 101 executes the scheduling program while running the OS. OS is an abbreviation for Operating System.

[0029] Data (input data, output data, etc.) of the scheduling program is stored in the storage unit 120. The memory 102 functions as the storage unit 120. However, a storage unit such as the auxiliary storage unit 103, a register in the processor 101, or a cache memory in the processor 101 may function as the storage unit 120 instead of or together with the memory 102.

[0030] The scheduling program can be recorded (stored) in a computer-readable manner on a non-volatile recording medium such as an optical disk or flash memory.

[0031] Fig. 3 shows the functional configuration of the schedule calculation device 100. In Fig. 3, arrows mainly indicate the flow of data or the flow of processing.

[0032] ***Explanation of Operation*** The operation procedure of the scheduling transfer system 200 corresponds to a scheduling transfer method. The operation procedure of the schedule calculation device 100 corresponds to a scheduling method. Furthermore, the operation procedure of the schedule calculation device 100 corresponds to a processing procedure by a scheduling program.

[0033] The scheduling method will be described with reference to Fig. 4. Steps S102 to S105 are repeated depending on the result of the schedule calculation.

[0034] In step S101, the information receiving unit 111 receives network information.

[0035] For example, a network administrator inputs network information into the schedule calculation apparatus 100, and the information receiving unit 111 receives the input network information.

[0036] The network information includes information such as topology information, link information, stream information, switch information, and node information. The topology information indicates the topology of the network 201. Specifically, the topology information indicates the connection relationships between devices, such as which node 230 is connected to which switch 220, and which switch 220 is connected to which switch 220. The topology information also indicates which physical port of which device is connected to which physical port of which device, as information indicating the connection relationships between devices. The link information includes information on links between the nodes 230 and the switches 220 and information on links between the switches 220. Specifically, the link information indicates the link speed and propagation delay of each link. The stream information indicates information on each of the multiple streams generated in the network 201. Specifically, the stream information indicates the source node, destination node, communication path, transmission period, priority, allowable end-to-end delay, allowable end-to-end delay jitter, frame length, burst length, etc. of each stream. The switch information and node information indicate the synchronization accuracy and transfer processing delay of the devices.

[0037] In step S102, the policy determination unit 112 determines a scheduling policy for a plurality of streams, which are indicated in the network information.

[0038] Specifically, the policy decision unit 112 decides whether the scheduling method for each of the multiple streams will be the SB method or the CB method. The SB method stands for the stream-based method. The CB method stands for the class-based method.

[0039] The scheduling method for each stream is determined as follows: In the first determination (step S102), the policy determination unit 112 determines the scheduling method for each of the multiple streams to be the CB method. Specifically, the policy determination unit 112 determines the scheduling method for each of the multiple priority classes to which the multiple streams belong to be the CB method. As a result, the scheduling method for all streams becomes the CB method. In the second or subsequent determination (step S102), the policy determination unit 112 changes the scheduling method of at least one of the CB streams from the CB method to the SB method using the previous scheduling policy. Specifically, the policy determination unit 112 changes the scheduling method of the highest priority class among the CB priority classes from the CB method to the SB method. As a result, the scheduling method of each stream of the priority class whose scheduling method has been changed is changed from the CB method to the SB method.

[0040] 5 shows an example of determining a scheduling policy. In the first determination, the scheduling method for all priority classes from class 7 to class 0 is determined to be the CB method. If a scheduling solution for this scheduling policy is not found (step S104) and recalculation is possible (step S105), a second determination is made. In the second determination, the scheduling method for class 7 is changed from the CB method to the SB method. If a scheduling solution for this scheduling policy is not found (step S104) and recalculation is possible (step S105), a third determination is made. In the third determination, the scheduling method for class 6 is changed from the CB method to the SB method. If a scheduling solution for this scheduling policy is found (step S104), a fourth determination is not made.

[0041] 4, the description will continue from step S103. In step S103, the information processing unit 113 generates parameters for schedule calculation based on the network information and the current schedule policy.

[0042] The schedule calculation parameters are parameters necessary for schedule calculation.

[0043] For example, the schedule calculation parameters include the frame transmission time and cycle time of each stream. Specifically, the cycle time is AdminCycleTime defined in IEEE 802.1Q-2022. For example, the least common multiple, greatest common divisor, or minimum period of the cycle times of all streams becomes the cycle type of the schedule calculation parameters.

[0044] In step S104, the schedule calculation unit 114 generates schedule constraint conditions based on the network information, the current schedule policy, and the schedule calculation parameters.

[0045] The schedule constraints are constraints on the schedule for satisfying the communication requirements of each stream. The schedule is information indicating the transmission timing of frames of each stream. For example, the schedule constraints include conditions such as end-to-end delay.

[0046] Then, the schedule calculation unit 114 searches for a schedule solution that satisfies the schedule constraints.

[0047] A schedule solution is a schedule that adopts the scheduling policy and satisfies the schedule constraints.

[0048] For example, the schedule calculation unit 114 searches for a schedule solution using an SMT solver that can handle complex problems. Searching for a schedule solution is a problem that is difficult for a computer to handle (an NP-hard problem) because the calculation time increases. In searching for a schedule solution, as the network scale increases, more resources (computer memory, calculation time, etc.) are required for scheduling. Therefore, the schedule calculation unit 114 may use an SMT solver to search for a schedule solution. SMT is an abbreviation for Satisfiable Modulo Theories.

[0049] If a schedule solution is found, the process proceeds to step S106, whereas if a schedule solution is not found, the process proceeds to step S105.

[0050] In step S105, the recalculation determination unit 115 determines whether or not recalculation is possible.

[0051] If both of the following conditions are met, the recalculation determination unit 115 determines that recalculation is possible: The current scheduling policy includes a CB stream. In other words, the current scheduling policy includes a CB priority class. All streams with the same priority as that stream are periodic communications. In other words, all streams in the priority class whose scheduling method is CB are periodic communications streams.

[0052] However, the recalculation determination unit 115 may determine whether or not to perform recalculation based on the following conditions: SB and CB streams cannot be mixed in the same class. Therefore, even if a stream to which SB method is to be applied exists in a certain class, if there is a stream to which SB method cannot be applied in the same class, SB method cannot be applied to the stream to which SB method is to be applied. However, by changing the stream priority on the controller 210 side, priority may be determined for each stream characteristic, such as streams to which SB method can be applied or streams with strict delay constraints. In addition to the criterion of whether or not periodic communication is used, the recalculation determination unit 115 may also make a determination based on the criterion of whether or not the node 230 (terminal) and the switch 220 (relay device) have a time synchronization function.

[0053] If recalculation is possible, the process proceeds to step S102, whereas if recalculation is not possible, the process proceeds to step S106.

[0054] By looping from step S102 to step S105, a schedule solution in which the scheduling method for more streams is the CB method is searched for, that is, a schedule solution in which the number of CB method streams is maximized is searched for.

[0055] In step S106, the result output unit 116 outputs the following schedule calculation results.

[0056] If a schedule solution is found (step S104), the result output unit 116 outputs a schedule calculation result indicating the schedule solution. If a schedule solution is not found (step S104) and recalculation is not possible (step S105), the result output unit 116 outputs a schedule calculation result indicating that no schedule solution exists.

[0057] The schedule calculation results are output in the following format: The result output unit 116 transmits the schedule calculation results to the controller 210. The result output unit 116 may present the schedule calculation results to the network administrator by displaying them on a display. The network administrator sets the schedule calculation results in the controller 210.

[0058] The operation of the scheduling transfer system 200 after step S106 will be described. The controller 210 receives the schedule calculation result. However, the controller 210 and the schedule calculation device 100 may be a single device. If the schedule calculation result indicates a schedule solution, the controller 210 communicates with each switch 220 and sets the schedule calculation result in each switch 220. Each switch 220 forwards frames communicated between nodes 230 according to its own schedule indicated in the schedule calculation result. In other words, each switch 220 follows the schedule calculation result when forwarding SB-based streams. The controller 210 can also set the schedule calculation result for each node 230. Each node 230 transmits and receives frames to and from other nodes 230 via the switch 220.

[0059] ***Effects of First Embodiment*** Figure 6 shows examples of scheduling for the SB method and the CB method in the prior art. The white areas represent time slots (open) in which frames are transmitted, and the shaded areas represent time periods (closed) in which frame transmission is suspended. With the SB method, one time slot is assigned to one frame, so the number of time slots increases. As the number of time slots increases, it takes time to set parameters in the switch. With the CB method, one time slot is assigned to multiple frames, so the number of time slots is reduced compared to the SB method.

[0060] The first embodiment can output a schedule calculation result in which the CB method is applied to the most streams. This allows the SB method to be applied only to streams that require low-latency transfer, ensuring low-latency transfer, while further reducing the number of time slots for streams that can tolerate delay, thereby facilitating parameter setting.

[0061] Second Embodiment A second embodiment of the present invention will be described with reference to Figs. 7 and 8, in which a schedule solution is searched for using a procedure different from that of the first embodiment, focusing mainly on the differences from the first embodiment.

[0062] ***Description of Configuration*** The configuration of schedule calculation device 100 will be described with reference to Fig. 7. Schedule calculation device 100 comprises recalculation determination unit 118 instead of recalculation determination unit 115. Furthermore, schedule calculation device 100 comprises result recording unit 117. The scheduling program causes a computer to function as recalculation determination unit 118 instead of recalculation determination unit 115. Furthermore, the scheduling program causes a computer to function as result recording unit 117.

[0063] ***Description of Operation*** The scheduling method will be described with reference to Fig. 8. In step S201, the information receiving unit 111 receives network information. Step S201 is the same as step S101 in the first embodiment.

[0064] In step S202, the policy determination unit 112 determines a scheduling policy for a plurality of streams.

[0065] The scheduling method for each stream is determined as follows. In the first determination (step S202), the policy determination unit 112 determines the scheduling method for each of the multiple streams to be the SB method. Specifically, the policy determination unit 112 determines the scheduling method for all priority classes that can be scheduled using the SB method to be the SB method. As a result, the scheduling method for all streams that can be scheduled using the SB method becomes the SB method. In the second or subsequent determination (step S202), the policy determination unit 112 changes the scheduling method for at least one SB stream from the SB method to the CB method using the previous scheduling policy. Specifically, the policy determination unit 112 changes the scheduling method for the priority class with the lowest priority among the SB priority classes from the SB method to the CB method using the previous scheduling policy. As a result, the scheduling method for each stream of the priority class whose scheduling method has been changed is changed from the SB method to the CB method.

[0066] In step S203, the information processing unit 113 generates parameters for schedule calculation based on the network information and the current schedule policy. Step S203 is the same as step S103 in the first embodiment.

[0067] In step S204, the schedule calculation unit 114 generates schedule constraints based on the network information, the current schedule policy, and the schedule calculation parameters. The schedule calculation unit 114 then searches for a schedule solution that satisfies the schedule constraints. Step S204 is the same as step S104 in the first embodiment.

[0068] If a schedule solution is found, the process proceeds to step S205. If a schedule solution is not found, the process proceeds to step S207.

[0069] In step S205, the result recording unit 117 records the schedule calculation result indicating the current schedule solution (current schedule calculation result) in the storage unit 120.

[0070] In step S206, the recalculation determination unit 118 determines whether or not recalculation is necessary.

[0071] If the following conditions are met, the recalculation determination unit 118 determines that recalculation is necessary: ​​The current scheduling policy includes a stream in the SB method, i.e., the current scheduling policy includes a priority class in the SB method.

[0072] If recalculation is necessary, the process proceeds to step S202. If recalculation is not necessary, the process proceeds to step S207.

[0073] By looping from step S202 to step S206, a schedule solution in which the scheduling method for more streams is the CB method is searched for, that is, a schedule solution in which the number of CB method streams is maximized is searched for.

[0074] In step S207, the result output unit 116 outputs the following schedule calculation results.

[0075] If recalculation is not necessary (step S206), the result output unit 116 outputs the latest schedule calculation result recorded in step S205. If a schedule solution for the current schedule policy is not found (step S204) and a schedule calculation result has been recorded (step S205), the result output unit 116 outputs the latest recorded schedule calculation result. If a schedule solution for the current schedule policy is not found (step S204) and a schedule calculation result has not been recorded, the result output unit 116 outputs a schedule calculation result indicating that no schedule solution exists.

[0076] The output format is the same as that in step S106 of the first embodiment.

[0077] The operation of the scheduling transfer system 200 after step S207 is the same as the operation after step S106 in the first embodiment.

[0078] ***Effects of Embodiment 2*** According to Embodiment 2, it is possible to start schedule calculation with the SB method applied to as many streams as possible. As a result, when it is determined before scheduling that there are clearly many priority classes that should be set to the SB method, it is possible to minimize the number of time slots, reduce the number of recalculations compared to Embodiment 1, and shorten the calculation time.

[0079] Third Embodiment A third embodiment that combines the first and second embodiments will be described below, focusing mainly on the differences from the first and second embodiments, with reference to FIGS.

[0080] ***Description of Configuration*** The configuration of schedule calculation device 100 will be described with reference to Fig. 9. In addition to the elements in embodiment 1, schedule calculation device 100 includes result recording unit 117, recalculation determination unit 118, and policy prediction unit 119. The scheduling program causes a computer to function as result recording unit 117, recalculation determination unit 118, and policy prediction unit 119 in addition to the elements in embodiment 1.

[0081] ***Description of Operation*** The scheduling method will be described with reference to Fig. 10. In step S301, the information receiving unit 111 receives network information. Step S301 is the same as step S101 in the first embodiment.

[0082] In step S302, the policy prediction unit 119 predicts a scheduling policy for a plurality of streams based on the network information.

[0083] Specifically, the policy prediction unit 119 predicts, for each stream, whether the SB method is essential or whether the SB method is not essential and the CB method is sufficient.

[0084] The policy prediction unit 119 may make a prediction based on the number of hops of the stream, the transmission period of the stream, the allowable end-to-end delay, the cycle time, the number of classes of the transmission queue of each switch 220, and the like.

[0085] In step S303, the policy determination unit 112 determines a scheduling policy for a plurality of streams.

[0086] The scheduling method for each stream is determined as follows. In the first determination (step S303), the policy determination unit 112 determines the scheduling method for each stream according to the prediction result. That is, the policy determination unit 112 determines the SB method as the scheduling method for each stream for which the SB method is required. Furthermore, the policy determination unit 112 determines the CB method as the scheduling method for each stream for which the SB method is not required. In the second and subsequent determinations (step S303), the policy determination unit 112 determines the scheduling method for each stream as follows. If a scheduling solution for the previous scheduling policy is not found, the policy determination unit 112 changes the scheduling method for at least one CB-based stream from the CB method to the SB method using the previous scheduling policy (same as step S102 in the first embodiment). If a scheduling solution for the previous scheduling policy is found, the policy determination unit 112 changes the scheduling method for at least one SB-based stream from the SB method to the CB method using the previous scheduling policy (same as step S202 in the second embodiment).

[0087] In step S304, the information processing unit 113 generates parameters for schedule calculation based on the network information and the current schedule policy. Step S304 is the same as step S103 in the first embodiment.

[0088] In step S305, the schedule calculation unit 114 generates schedule constraints based on the network information, the current schedule policy, and the schedule calculation parameters. The schedule calculation unit 114 then searches for a schedule solution that satisfies the schedule constraints. Step S305 is the same as step S104 in the first embodiment.

[0089] If a schedule solution is found, the process proceeds to step S307. If a schedule solution is not found, the process proceeds to step S306.

[0090] In step S306, the recalculation determination unit 115 determines whether or not recalculation is possible. Step S306 is the same as step S105 in the first embodiment.

[0091] If recalculation is possible, the process proceeds to step S303, whereas if recalculation is not possible, the process proceeds to step S309.

[0092] In step S307, the result recording unit 117 records the schedule calculation result indicating the current schedule solution (current schedule calculation result) in the storage unit 120. Step S307 is the same as step S205 in the second embodiment.

[0093] In step S308, the recalculation determination unit 118 determines whether or not recalculation is necessary.

[0094] If the following conditions are met, the recalculation determination unit 118 determines that recalculation is unnecessary: ​​A schedule solution for the previous scheduling policy was not found, and the scheduling method of at least one of the CB streams was changed from the CB method to the SB method in the current determination (step S303).

[0095] If the above conditions are not met but the following conditions are met, the recalculation determination unit 118 determines that recalculation is necessary. The following conditions are the same as those in step S206 of the second embodiment. The current scheduling policy includes a stream using the SB method. In other words, the current scheduling policy includes a priority class using the SB method.

[0096] If recalculation is necessary, the process proceeds to step S303. If recalculation is not necessary, the process proceeds to step S309.

[0097] By performing the loop from step S303 to step S306 and the loop from step S303 to step S308, a schedule solution in which the scheduling method for more streams is the CB method is searched for. In other words, a schedule solution in which the number of CB method streams is maximized is searched for.

[0098] In step S309, the result output unit 116 outputs the schedule calculation result as follows.

[0099] If recalculation is not possible (step S306) and the schedule calculation result has been recorded (step S307), the result output unit 116 outputs the most recent recorded schedule calculation result. If recalculation is not necessary (step S308), the result output unit 116 outputs the most recent schedule calculation result recorded in step S307. If recalculation is not possible (step S306) and the schedule calculation result has not been recorded, the result output unit 116 outputs a schedule calculation result indicating that no schedule solution exists.

[0100] The output format is the same as that in step S106 of the first embodiment.

[0101] The operation of the scheduling transfer system 200 after step S309 is the same as the operation after step S106 in the first embodiment.

[0102] ***Effects of Embodiment 3*** According to Embodiment 3, it is possible to predict the scheduling method to be applied to each stream before starting schedule calculation. As a result, when the priority class to be set to the SB method is not clear before scheduling, it is possible to minimize the number of time slots while reducing the number of recalculations compared to Embodiments 1 and 2, thereby shortening the calculation time.

[0103] ***Supplementary Information about the Embodiment*** The hardware configuration of the schedule calculation device 100 will be described with reference to Fig. 11. The schedule calculation device 100 includes a processing circuit 109. The processing circuit 109 is hardware that realizes an information receiving unit 111, a policy decision unit 112, an information processing unit 113, a schedule calculation unit 114, a recalculation determination unit 115, a result output unit 116, a result recording unit 117, a recalculation determination unit 118, and a policy prediction unit 119. The processing circuit 109 may be dedicated hardware, or may be a processor 101 that executes a program stored in memory 102.

[0104] When the processing circuit 109 is dedicated hardware, the processing circuit 109 may be, for example, a single circuit, a multiple circuit, a programmed processor, a parallel programmed processor, an ASIC, an FPGA, or a combination thereof. ASIC is an abbreviation for Application Specific Integrated Circuit. FPGA is an abbreviation for Field Programmable Gate Array.

[0105] The schedule calculation apparatus 100 may include a plurality of processing circuits that replace the processing circuit 109 .

[0106] In the processing circuit 109, some functions may be realized by dedicated hardware, and the remaining functions may be realized by software or firmware.

[0107] In this way, the functions of the schedule calculation device 100 can be realized by hardware, software, firmware, or a combination of these.

[0108] Each embodiment is an example of a preferred embodiment and is not intended to limit the technical scope of the present disclosure. Each embodiment may be implemented in part or in combination with other embodiments. Procedures described using flowcharts, etc. may be modified as appropriate.

[0109] The "part" of each element of the schedule calculation device 100 may be read as a "process," a "step," a "circuit," or a "circuitry."

[0110] 100 Schedule calculation device, 101 Processor, 102 Memory, 103 Auxiliary storage device, 104 Communication device, 105 Input / output interface, 109 Processing circuit, 111 Information reception unit, 112 Policy determination unit, 113 Information processing unit, 114 Schedule calculation unit, 115 Recalculation determination unit, 116 Result output unit, 117 Result recording unit, 118 Recalculation determination unit, 119 Policy prediction unit, 120 Memory unit, 200 Scheduling transfer system, 201 Network, 210 Controller, 220 Switch, 230 Node.

Claims

1. A scheduling method in which a policy determination unit determines, as a scheduling policy for a plurality of streams, the scheduling method for each of the plurality of streams to be either a stream-based method or a class-based method, and a schedule calculation unit searches, each time a scheduling policy is determined, for a schedule that applies the determined scheduling policy and satisfies scheduling constraints as a scheduling solution, and the policy determination unit repeats determining the scheduling policy by changing the scheduling method for at least one of the plurality of streams so that a scheduling solution can be found in which the scheduling method for more streams is the class-based method.

2. The scheduling method according to claim 1, wherein the policy decision unit repeats the determination of the scheduling policy until a scheduling solution that maximizes the number of streams in the class-based method is found.

3. The scheduling method according to claim 1 or claim 2, wherein the policy decision unit decides that the scheduling method for each of the plurality of streams will be the class-based method in the first decision, and if no schedule solution is found for the current scheduling policy, makes a next decision, and in the second or subsequent decisions, changes the scheduling method for at least one of the class-based streams from the class-based method to the stream-based method using the previous scheduling policy.

4. The scheduling method according to claim 3, wherein the policy decision unit, in a first decision, decides that the scheduling method for each of the plurality of priority classes to which the plurality of streams belong is the class-based method, and in second and subsequent decisions, changes the scheduling method for the highest priority class among the priority classes of the class-based method from the class-based method to the stream-based method using the previous scheduling policy.

5. The scheduling method according to claim 3 or claim 4, wherein the policy decision unit makes the next decision when a schedule solution for the current scheduling policy is not found, the current scheduling policy includes a class-based stream, and all streams with the same priority as the class-based stream are periodic communication streams.

6. The scheduling method according to claim 1 or claim 2, wherein the policy decision unit decides that the scheduling method for each of the plurality of streams will be the stream-based method in the first decision, makes a next decision when a scheduling solution for the current scheduling policy is found, and in the second and subsequent decisions, changes the scheduling method for at least one of the stream-based streams from the stream-based method to the class-based method using the previous scheduling policy.

7. The scheduling method according to claim 6, wherein the policy decision unit, in a first decision, decides that the scheduling method for each of a plurality of priority classes to which the plurality of streams belong is the stream-based method, and in second and subsequent decisions, changes the scheduling method for the lowest priority class among the priority classes of the stream-based method from the stream-based method to the class-based method using the previous scheduling policy.

8. The scheduling method according to claim 6 or 7, wherein the policy decision unit makes a second or subsequent decision when a schedule solution for the current scheduling policy is found and the current scheduling policy includes a stream of the stream-based method.

9. The scheduling method according to claim 1 or claim 2, wherein the policy decision unit, in an initial decision, decides that the scheduling method for each stream for which the stream-based method is essential is the stream-based method, and decides that the scheduling method for each stream for which the stream-based method is not essential is the class-based method; in a second or subsequent decision in which a scheduling solution is not found, changes the scheduling method for at least any of the streams in the class-based method from the class-based method to the stream-based method using the previous scheduling policy; and in a second or subsequent decision in which a scheduling solution is found, changes the scheduling method for at least any of the stream-based method from the stream-based method to the class-based method using the previous scheduling policy.

10. The scheduling method according to claim 9, wherein the policy decision unit: makes a next decision in the case where a schedule solution is not found for the current scheduling policy, and the current scheduling policy includes a stream using the class-based method, and all streams with the same priority as the stream using the class-based method are periodic communication streams; and makes a next decision in the case where a schedule solution is found for the current scheduling policy, and the current scheduling policy includes a stream using the stream-based method.

11. A schedule calculation device that executes the scheduling method according to any one of claims 1 to 10, comprising the policy decision unit, the schedule calculation unit, and a result output unit that outputs a schedule calculation result indicating the schedule solution.

12. A controller that sets the schedule calculation results output from the schedule calculation device according to claim 11 in one or more communication devices.

13. A scheduling transfer system comprising: a schedule calculation device that executes the scheduling method according to any one of claims 1 to 10 and outputs a schedule calculation result indicating the schedule solution; and one or more communications devices that are set with the schedule calculation result output from the schedule calculation device and transmit stream data according to a schedule indicated as the schedule solution in the schedule calculation result.

Citation Information

Patent Citations

  • Allocation method for TSN network resources

    CN116156657A

  • Component-based method for flow-based scheduling, category-based scheduling and worst-case analysis of frame preemption in time-sensitive networks

    CN117223272A

  • Communication control device, communication control method, and communication control program

    WO2023218666A1