Scheduling device and scheduling method

The scheduling device optimizes GCLs in TSN networks by calculating offset and open times for each traffic class, addressing inefficiencies in conventional GCLs and improving frame transmission reliability and efficiency.

WO2026140415A1PCT designated stage Publication Date: 2026-07-02PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
Filing Date
2025-10-07
Publication Date
2026-07-02

Smart Images

  • Figure JP2025035598_02072026_PF_FP_ABST
    Figure JP2025035598_02072026_PF_FP_ABST
Patent Text Reader

Abstract

This scheduling device: acquires specification information; sets an offset period, from a predetermined time to when gates corresponding to each of a plurality of traffic classes open, for each of the plurality of traffic classes on the basis of the specification information; sets an open period, during which the gates corresponding to each of the plurality of traffic classes are open, for each of the plurality of traffic classes on the basis of the specification information; sets a cycle period, during which opening and closing of the plurality of gates are repeated, on the basis of the offset period and the open period for each of the plurality of traffic classes; determines a GCL for controlling the opening and closing of the plurality of gates on the basis of the offset period and the open period for each of the plurality of traffic classes and the cycle period; and outputs the GCL.
Need to check novelty before this filing date? Find Prior Art

Description

Scheduling device and scheduling method

[0001] This disclosure relates to a scheduling device and a scheduling method.

[0002] The introduction of Ethernet®-based TSN (Time Sensitive Networking) is being considered as a technology to guarantee real-time communication between FA (Factory Automation) equipment such as manufacturing equipment and production lines in factories.

[0003] TSN is being standardized by the TSN Task Group of the IEEE 802.1 standardization organization, and defines time synchronization and TAS (Time Aware Shaper), among other things. TAS is a mechanism that distributes frames (data) flowing through the network into eight queues according to priority, and transmits the frames according to the state of the gates provided at the output of the queues. There are two states for the gates: open and closed. The state of the gates is controlled by GCL (Gate Control List).

[0004] Patent Document 1 discloses an apparatus for determining a routing path and GCL corresponding to a TSN stream based on the network topology of the TSN network, a first mapping between traffic classes and time slots, and a second mapping between the frame type of the TSN stream and traffic classes.

[0005] Patent No. 7208340

[0006] In a network system where TSN is implemented, if a relay device has multiple gates as described above, frames (also called data traffic) are transmitted from each of the multiple gates. At this time, it is desirable that the GCL (Global Classification Line) be determined such that data traffic is transmitted efficiently from multiple gates, that is, without any unnecessary time. In other words, it is desirable that the scheduling be such that data traffic is transmitted efficiently from multiple gates.

[0007] This disclosure provides a scheduling device, etc., that can schedule data traffic to be transmitted efficiently from multiple gates.

[0008] A scheduling device according to one aspect of the present disclosure is a scheduling device for scheduling the opening and closing timing of multiple gates provided in a relay device that constitutes a network in which a Time-Sensitive Networking (TSN) is introduced, and comprises a processor and a memory, wherein the processor uses the memory to acquire specification information including frame length information indicating the frame length of multiple data traffic input to the relay device and classified into one of a plurality of traffic classes, and based on the specification information, for each of the plurality of traffic classes, the offset time from a predetermined time until the gate corresponding to each of the plurality of traffic classes is opened, is calculated for one or more data traffic classified into one of the plurality of traffic classes Based on the product of the minimum frame length and the first weight coefficient, the open time for each of the multiple traffic classes, in which the gate corresponding to each of the multiple traffic classes is open, is set based on the product of the maximum frame length among the frame lengths of one or more data traffic classified into any of the multiple traffic classes and the second weight coefficient. Based on the offset time and open time for each of the multiple traffic classes, the cycle time for which the opening and closing of the multiple gates is repeated is set. Based on the offset time and open time for each of the multiple traffic classes and the cycle time, a GCL (Gate Control List) for controlling the opening and closing of the multiple gates is determined, and the GCL is output to other devices.

[0009] A scheduling method relating to one aspect of this disclosure is a TSN (Time Sensitive) A scheduling method for scheduling the opening and closing timing of multiple gates provided by a relay device that constitutes a network in which a Networking System (Networking) is introduced, wherein specification information including frame length information indicating the frame lengths of multiple data traffic input to the relay device and classified into one of multiple traffic classes is acquired, and based on the specification information, an offset time from a predetermined time until the gate corresponding to each of the multiple traffic classes is opened is set for each of the multiple traffic classes based on the product of the minimum frame length among the frame lengths of one or more data traffic classified into one of the multiple traffic classes and a first weight coefficient, and based on the specification information, an open time for each of the multiple traffic classes until the gate corresponding to each of the multiple traffic classes is open is set for each of the multiple traffic classes based on the product of the maximum frame length among the frame lengths of one or more data traffic classified into one of the multiple traffic classes and a second weight coefficient, and based on the offset time and open time for each of the multiple traffic classes, a cycle time for which the opening and closing of the multiple gates is repeated is set, and based on the offset time and open time for each of the multiple traffic classes and the cycle time, a GCL (Gate Control) for controlling the opening and closing of the multiple gates is set. Determine the list and output the GCL to other devices.

[0010] According to one aspect of this disclosure, a scheduling device, etc., can be scheduled so that data traffic is efficiently transmitted from multiple gates.

[0011] Figure 1 is a diagram showing the configuration of a network system according to the embodiment. Figure 2 is a diagram showing the configuration of a switch according to the embodiment. Figure 3 is a diagram showing the configuration of a scheduler according to the embodiment. Figure 4 is a diagram showing a first example of the cycle time for each class according to the embodiment. Figure 5 is a diagram showing a second example of the cycle time for each class according to the embodiment. Figure 6 is a diagram showing the GUI according to the embodiment. Figure 7 is a flowchart showing a specific example of processing performed by the scheduler according to the embodiment. Figure 8 is a flowchart showing the scheduling method according to the embodiment.

[0012] TSN is a set of extension standards that provides real-time capabilities to Ethernet. TSN enables high-precision time synchronization, and according to TSN, in a series of processes involving multiple steps, each step can coordinate at the appropriate timing, thus minimizing cycle time with efficient operation. Implementing TSN requires determining (creating or generating) a GCL (Global Communication Classification).

[0013] The low latency and high-precision synchronization that are hallmarks of TSN require control over the timing of frame transmission to ensure that various types of information are reliably delivered to their destinations within the given time limit. The mechanism that controls these frames is the TAS, and the timing (schedule) of frame transmission is managed by the GCL. However, since the computational cost of creating the GCL is enormous, automation and high-speed processing are required for the calculation (determination) of the GCL.

[0014] Here, for example, in a TSN network (a network where TSN is implemented), a relay device (also called a switch) uses a store-and-forward transfer method to transmit received frames to other devices. In other words, the relay device relays frames within the TSN network.

[0015] In the store-and-forward method, a delay (transfer delay) occurs each time a frame passes through a relay device, corresponding to the frame length of that frame. In other words, the timing of frame reception and transmission to other devices differs for each relay device.

[0016] Conventional GCLs do not take such transmission delays into account and are designed so that, at all relay devices in a TSN, one of the multiple gates at the relay device is opened based on the start time of the cycle time. Furthermore, since the same GCL is conventionally used at all relay devices, wasted bandwidth allocation occurs. Specifically, in conventional GCLs, from the time a frame is transmitted from the transmitter until it reaches the receiver via multiple relay devices, the gate for transmitting that frame is opened at each of the multiple relay devices, while the other gates are closed. In this way, conventionally, each relay device had gates that were unnecessarily opened or closed, resulting in unnecessary time when frames could not be transmitted, i.e., wasted bandwidth allocation.

[0017] This disclosure aims to efficiently schedule the timing of frame transmission by relay devices, that is, to determine (more specifically, optimize) the GCL (Global Classification Line), by suppressing such wasteful bandwidth allocation. For example, this disclosure efficiently determines a GCL with a high degree of scheduling flexibility.

[0018] To achieve this objective, the inventors of the present invention have found that by representing the GCL using an offset time (offset period) and an open time (open period) for each class, the number of search parameters used in, for example, a genetic algorithm can be significantly reduced.

[0019] The embodiments will be described in detail below with reference to the drawings.

[0020] The embodiments described below are all comprehensive or specific examples. The numerical values, shapes, materials, components, arrangement and connection configurations of components, steps, and the order of steps shown in the following embodiments are examples only and are not intended to limit this disclosure. Furthermore, any components in the following embodiments that are not described in an independent claim will be described as optional components.

[0021] Furthermore, in this specification, ordinal numbers such as "first," "second," etc., do not mean the number or order of components unless otherwise specified, but are used to avoid confusion and to distinguish similar components.

[0022] Furthermore, in this specification, when we describe, for example, a value greater than or equal to a threshold and a value less than a threshold in comparison, it means that the value is distinguished by that threshold, and may mean that the value is greater than the threshold and less than or equal to the threshold, respectively.

[0023] (Embodiment) [Configuration] Figure 1 is a diagram showing the configuration of a network system 100 according to an embodiment.

[0024] Network system 100 is a network system in which TSN is implemented. Network system 100 includes switches 111, 112, and 113, talkers 121, 122, and 123, listeners 131, 132, and 133, and a scheduler 141. The switches 111, 112, and 113, talkers 121, 122, and 123, listeners 131, 132, and 133, and the scheduler 141 are connected, for example, by Ethernet. Network system 100 is constructed, for example, in manufacturing equipment or production lines in a factory.

[0025] Switches 111, 112, and 113 are relay nodes that implement TAS, one of the QoS (Quality of Service) control methods defined by TSN. Switches 111, 112, and 113 relay frames transmitted from talkers 121, 122, and 123 to listeners 131, 132, and 133. A frame is an example of data traffic.

[0026] Figure 2 is a diagram showing the configuration of switch 111 according to an embodiment. Specifically, Figure 2 is a block diagram showing the configuration of switch 111 on which TAS is mounted. Note that the configurations of switches 112 and 113 are substantially the same as those of switch 111.

[0027] The switch 111 (in other words, the TAS) includes a priority filter 2401, a queue 2402, a gate 2403, a GCL unit 2404, and a transmit selector 2405. In this example, the queue 2402 includes eight queues, and the gate 2403 includes eight gates. When describing the eight queues included in the queue 2402 separately, they are also referred to as queue 0, queue 1, queue 2, queue 3, queue 4, queue 5, queue 6, and queue 7. The functions common to the eight queues will be described as those of the queue 2402. Similarly, when describing the eight gates included in the gate 2403 separately, they are also referred to as gate 0, gate 1, gate 2, gate 3, gate 4, gate 5, gate 6, and gate 7. The functions common to the eight gates will be described using gate 2403 as an example.

[0028] The priority filter 2401 analyzes the class (also called priority) of a frame, determines the class of the input frame, and outputs the input frame to the queue 2402 corresponding to the class. A class is an example of a traffic class. In this embodiment, eight classes are set, from class 0 to class 7. For example, a class 0 frame is input to queue 0 and transmitted from gate 0. Similarly, for example, a class 1 frame is input to queue 1 and transmitted from gate 1, and a class 2 frame is input to queue 2 and transmitted from gate 2. In this way, a frame is input to the queue corresponding to the class to which it belongs and output from the gate corresponding to that queue.

[0029] The queue 2402 holds frames output from the priority filter 2401 based on FIFO (First-In, First-Out). Up to eight queues 2402 can be provided, one for each class.

[0030] Gate 2403 is located at the exit of queue 2402, that is, it is connected to the frame transmission unit in queue 2402, and can be in either an open or closed state. The state of gate 2403 is controlled by GCL unit 2404 based on GCL.

[0031] The transmission selector 2405 selects a frame placed in the queue 2402 where the connected gate 2403 is in the open state for transmission. For example, when gate 7 is in the open state, the transmission selector 2405 selects the frame placed in queue 7 for transmission, and when gates 6 and 5 are in the open state, the transmission selector 2405 selects the frames placed in queues 6 and 5 for transmission. The frame selected for transmission is transmitted from switch 111. On the other hand, when the connected gate is in the closed state, the frame placed in the queue is not selected for transmission. That is, the frame placed in the queue where the connected gate is in the closed state is not transmitted.

[0032] Returning to the description of FIG. 1. Switches 111, 112, and 113 have one or more input ports and output ports (not shown), and for example, output a frame input to a certain input port to a certain output port according to the destination, class, and a predetermined schedule (GCL) of the frame. Switches 111, 112, and 113 may be referred to as network switches or relay devices. Switches 111, 112, and 113 include, for example, a plurality of gates (in this embodiment, eight gates 0 to 7) for each output port.

[0033] Talkers 121, 122, and 123 are frame transmission nodes in TSN. Talkers 121, 122, and 123 are, for example, a PC (Personal Computer), a PLC (Programmable Logic Controller), a sensor, or an actuator. Talkers 121, 122, and 123 may be referred to as end devices, end stations, or transmission devices.

[0034] Listeners 131, 132, and 133 are frame reception nodes (destination nodes) in TSN. Listeners 131, 132, and 133 are, for example, a PC, a PLC, a sensor, or an actuator. Listeners 131, 132, and 133 may be referred to as end devices, end stations, or reception devices.

[0035] The scheduler 141 schedules the timing of frame transmission by relay devices (in this embodiment, switches 111, 112, and 113) in a network where TSN is introduced. Specifically, the scheduler 141 generates a GCL that controls the frame transmission order of switches 111, 112, and 113. The scheduler 141 is, for example, a PC, a tablet, or the cloud. The scheduler 141 may also be referred to as a bandwidth control device, a resource allocation device, or a timing setting device.

[0036] The switches 111, 112, 113, the talkers 121, 122, 123, the listeners 131, 132, 133, and the scheduler 141 are each realized by a communication interface for communicating with other devices, a non-volatile memory storing a program, a volatile memory which is a temporary storage area for executing the program, an input / output port for transmitting and receiving signals, and a processor such as a CPU (Central Processing Unit) for executing the program. The communication interface may be realized, for example, by an antenna and a wireless communication circuit so as to enable wireless communication, or by a connector to which a communication line is connected so as to enable wired communication. The priority filter 2401, the queue 2402, the gate 2403, the GCL unit 2404, and the transmission selector 2405 each have, for example, a memory and a circuit or a processor.

[0037] FIG. 3 is a diagram showing the configuration of the scheduler 141 according to the embodiment. Note that the scheduler 141 is an example of a scheduling device.

[0038] The scheduler 141 is a device that schedules the opening and closing timing of a plurality of gates provided in relay devices constituting a network where TSN is introduced. In this embodiment, the scheduler 141 creates a GCL indicating the timing by scheduling the opening and closing timing of a plurality of gates provided in switches 111, 112, and 113 included in the network system 100 where TSN is introduced.

[0039] The scheduler 141 is implemented in a computer that includes, for example, a communication interface for communicating with switches 111, 112, 113, etc., non-volatile memory for storing programs executed by each processing unit, volatile memory which is a temporary storage area for executing programs, input / output ports for sending and receiving signals, and a processor such as a CPU for executing programs. The communication interface may be implemented by a connector to which a communication line is connected for wired communication, or by a wireless communication circuit for wireless communication.

[0040] The scheduler 141 includes a communication unit 210, a GCL search unit 220, and a display unit 230.

[0041] The communication unit 210 is a communication interface for communicating with other devices. This communication interface may be implemented by a connector to which a communication line is connected for wired communication, or by a wireless communication circuit for wireless communication.

[0042] The GCL search unit 220 is a processing unit that determines the GCL, which indicates the timing of opening and closing of multiple gates provided by switches 111, 112, and 113, by scheduling the timing of opening and closing of those gates. In other words, the GCL is information that indicates the timing of opening and closing of each of the multiple gates.

[0043] The GCL search unit 220 includes an acquisition unit 221, an offset time setting unit 222, an open time setting unit 223, a fitness evaluation unit 224, and an output unit 225.

[0044] The acquisition unit 221 is a processing unit that acquires various types of information. The acquisition unit 221 acquires various types of information from a server device or the like via the communication unit 210, for example. The acquisition unit 221 also acquires various types of information from a storage device (not shown) provided by the scheduler 141, for example.

[0045] The acquisition unit 221 acquires factory network requirements definition information, which includes, for example, frame length information (also called data size information) indicating the frame length of multiple frames (also called data traffic) that are input to switches 111, 112, and 113 and classified into one of several classes (also called traffic classes). Factory network requirements definition information is an example of specification information.

[0046] Factory network requirements definition information is information that shows definitions (conditions) of network specifications etc. required for network system 100, for example, when network system 100 is manufacturing equipment or production line etc. in a factory.Factory network requirements definition information includes, for example, data size information that shows the length (data size) of frames flowing through network system 100, topology information that shows the network topology that shows the communication partners etc. of each device equipped in network system 100, transmission cycle information that shows the period during which each frame is transmitted from talkers 121, 122, 123, delay time tolerance value information that shows the allowable value (allowable time) of the delay time of transmission of each frame, and delay jitter tolerance value information that shows the allowable value (allowable time) of the fluctuation (jitter) of said delay, etc.

[0047] The offset time setting unit 222 is a processing unit that sets (calculates) an offset time for each class from a predetermined time until the gate corresponding to the traffic class is opened, based on factory network requirements definition information (more specifically, data size information). Specifically, the offset time setting unit 222 sets the offset time for each class from a predetermined time until the gate corresponding to the class is opened, based on the product of the minimum frame length among the frame lengths of one or more frames classified into the class and a first weight coefficient, based on factory network requirements definition information. For example, the offset time setting unit 222 sets the offset time for class 0 from a predetermined time until the gate 0 corresponding to class 0 is opened, based on the product of the minimum frame length, which is the shortest frame length among the frame lengths of multiple frames classified into class 0, and a first weight coefficient corresponding to class 0. For example, the offset time setting unit 222 calculates multiple offset times in which the first weight coefficients are different from each other.

[0048] The offset time setting unit 222 performs the same processing for each of the classes 1 to 7 as it does for class 0. As a result, the offset time setting unit 222 calculates multiple offset times for each class. The first weighting coefficient may be the same for each class or it may be different for each class.

[0049] The predetermined time can be arbitrarily determined in advance and is not particularly limited. The acquisition unit 221 acquires information indicating the predetermined time from another device, such as a computer that controls the server device or the entire network system 100, via a communication interface such as the communication unit 210.

[0050] The open time setting unit 223 is a processing unit that, based on factory network requirements definition information (more specifically, data size information), sets (calculates) the open time for each class at which the gate corresponding to that class remains open. Specifically, the open time setting unit 223 sets the open time for each class at which the gate corresponding to that class remains open, based on the factory network requirements definition information, based on the product of the maximum frame length among the frame lengths of one or more data traffics classified into the class and a second weight coefficient. For example, the open time setting unit 223 sets the open time for class 0 at which gate 0 corresponding to class 0 remains open. Specifically, it sets the open time for class 0 based on the product of the maximum frame length, which is the longest frame length among the frame lengths of multiple frames classified into class 0, and a second weight coefficient corresponding to class 0. For example, the open time setting unit 223 calculates multiple open times for which the second weight coefficients are different from each other.

[0051] The open time setting unit 223 performs the same processing for each of the classes 1 to 7 as it does for class 0. As a result, the open time setting unit 223 calculates multiple open times for each class. The second weighting coefficient may be the same for each class or it may be different for each class.

[0052] The fitness evaluation unit 224 is a processing unit that determines (creates) GCLs for controlling the opening and closing of multiple gates provided by each of the switches 111, 112, and 113. Specifically, the fitness evaluation unit 224 sets (calculates) a cycle time during which the opening and closing of multiple gates is repeated, based on the offset time and open time for each class, and determines the GCLs for controlling the opening and closing of multiple gates based on the offset time and open time for each class and the cycle time. In other words, for each of the multiple gates provided by each of the switches 111, 112, and 113, the fitness evaluation unit 224 calculates the offset time, the open time following the offset time, and the close time following the open time for each of the multiple gates provided by each of the switches 111, 112, and 113 during a predetermined period (also called the cycle time) that is repeated. Both the offset time and the close time are the times during which the gate is in a closed state. In this embodiment, the time during which the gate is in a closed state from the predetermined time to the open time is called the offset time, and the time during which the gate is in a closed state after the open time is called the close time. Note that the offset time may be 0. Also, the close time may be 0.

[0053] For example, the fitness evaluation unit 224 creates multiple combinations of offset time and open time for each class, using multiple offset times set by the offset time setting unit 222 and multiple open times set by the open time setting unit 223, and sets a cycle time for each combination. For each combination, the fitness evaluation unit 224 schedules the opening and closing timing of multiple gates using the offset time, open time, and cycle time. In other words, the fitness evaluation unit 224 creates multiple schedules by creating a schedule that indicates the opening and closing timing of multiple gates for each combination. Based on the multiple schedules created, the fitness evaluation unit 224 creates multiple candidate GCLs. The fitness evaluation unit 224 evaluates the fitness of the multiple candidate GCLs.

[0054] The fitness evaluation unit 224 determines, for example, whether each of the multiple candidate GCLs satisfies the real-time requirements (delay requirements) defined for each of the multiple frames. The real-time requirement is the time that a frame must be received by listeners 131, 132, and 133 after it has been transmitted by talkers 121, 122, and 123. Information indicating the real-time requirements for each frame is included, for example, in the delay time tolerance information. The fitness evaluation unit 224 calculates the transmission delay time and delay jitter for each frame by simulating the transmission of multiple frames from talkers 121, 122, and 123 and their reception by listeners 131, 132, and 133 using the candidate GCLs, and determines, based on the calculation results, whether each frame satisfies the real-time requirements. Suppose the network system 100 is a system in which, for example, 100 frames are transmitted per unit time from talkers 121, 122, and 123 and received by listeners 131, 132, and 133. If the fitness evaluation unit 224 performs a simulation using the candidate GCL and determines that 50 frames meet the real-time requirement and 50 frames do not, then the fitness evaluation unit 224 calculates the fitness of the candidate GCL as, for example, 0.5. Alternatively, if the fitness evaluation unit 224 performs a simulation using the candidate GCL and determines that 80 frames meet the real-time requirement and 20 frames do not, then the fitness evaluation unit 224 calculates the fitness of the candidate GCL as, for example, 0.8. The fitness evaluation unit 224 calculates the fitness of each of the multiple candidate GCLs, for example, and determines the candidate GCL with the highest fitness among the calculated fitnesss to be the GCL. The determined GCL is then transmitted to switches 111, 112, and 113, for example, and is actually used in the network system 100.

[0055] Furthermore, for example, the fitness evaluation unit 224 determines whether each of the calculated fitnesss is equal to or greater than a predetermined fitness. If the fitness evaluation unit 224 determines, for example, that one or more of the calculated fitnesss are equal to or greater than a predetermined fitness, it selects the candidate GCL with the highest fitness among the calculated fitnesss that are equal to or greater than the predetermined fitness as the GCL. On the other hand, if the fitness evaluation unit 224 determines, for example, that all of the calculated fitnesss are less than a predetermined fitness, it determines that scheduling has failed and instructs the offset time setting unit 222 and the open time setting unit 223 to reset the offset time and open time. The offset time setting unit 222 resets the offset time by changing the first weight coefficient, for example. The open time setting unit 223 resets the open time by changing the second weight coefficient, for example. The fitness evaluation unit 224 recreates the candidate GCL using the reset offset time and open time and evaluates the fitness of the recreated candidate GCL. By repeating this process, the GCL search unit 220 optimizes the first and second weight coefficients to determine (optimize) the GCL.

[0056] Any optimization method can be used to optimize these weight coefficients, such as mathematical optimization methods like genetic algorithms, simulated annealing, or the downhill simplex method.

[0057] Furthermore, the predetermined fitness level can be arbitrarily determined in advance and is not particularly limited. Information indicating the predetermined fitness level is stored, for example, in a memory device provided by the scheduler 141.

[0058] Furthermore, for example, the cycle time is set based on the maximum value of the sum of the offset time and open time for each class. In other words, the fitness evaluation unit 224 sets the cycle time based on the maximum value of the sum of the offset time and open time for each class. For example, the fitness evaluation unit 224 calculates the sum of the offset time and open time for each of classes 0 to 7, and adopts the longest sum of the eight calculated sums as the cycle time for each of classes 0 to 7.

[0059] Alternatively, for example, the cycle time is set based on the least common multiple of the total time of the offset time and the open time for each class. The fitness evaluation unit 224 calculates, for example, the total time of the offset time and the open time for each of classes 0 to 7, and adopts the least common multiple of the eight calculated total times as the cycle time for each of classes 0 to 7.

[0060] The offset time setting unit 222 calculates the offset time for each class using, for example, the following formula (1).

[0061] offset i = v i × min(L i ) (1) offset i represents the offset time of class i (in this embodiment, i is an integer from 0 to 7), v i represents the first weight coefficient of class i (specifically, the value of the first weight coefficient), min(L i ) represents the minimum frame length of class i, and L i represents the set of frame lengths belonging to class i.

[0062] Conventionally, in order to prevent the open times from overlapping in a plurality of gates, among the plurality of gates, the offset time of other gates is set based on the time of the open time of the gate corresponding to the class that becomes open earliest. On the other hand, the offset time setting unit 222 calculates the offset time of class i from the product of the first weight coefficient of class i and the minimum frame length of class i.

[0063] Also, the fitness evaluation unit 224 calculates the cycle time using max(CT) or lcm(CT). Here, CT satisfies CycleTime i ∈ CT. CycleTime irepresents the cycle time of class i. In other words, CT is the set of cycle times (candidate cycle times) for each class. For example, if max(CT) is used to calculate the cycle time, the longest cycle time among the cycle times (candidate cycle times) of classes 0 to 7 is adopted as the overall cycle time for the class. Also, for example, if lcm(CT) is used to calculate the cycle time, the least common multiple of the cycle times (candidate cycle times) of classes 0 to 7 is adopted as the overall cycle time for the class.

[0064] Cycle time for class i i ) can be calculated, for example, using the following formula (2).

[0065] CycleTime i =offset i +open i (2) open i This indicates the open time of class i. The open time of class i (open i ) is calculated using the following formula (3).

[0066] open i =w i ×max(L) i ) (3) w i This represents the second weighting coefficient of class i (specifically, the value of the second weighting coefficient), and max(L) i ) represents the maximum frame length of class i (specifically, the set of frame lengths belonging to class i).

[0067] The scheduler 141 calculates (searches) the weight coefficients (first weight coefficient and second weight coefficient) of the above formula for each switch 111, 112, and 113. This allows the scheduler 141 to optimize the GCL more efficiently than when the offset time is directly searched. The scheduler 141 only needs to search for offset times that are integer multiples of the frame length, for example.

[0068] Figures 4 and 5 show specific examples of cycle times for each class according to the embodiment. In Figures 4 and 5, time is shown on the horizontal axis, and each class is arranged along the vertical axis. In Figures 4 and 5, the area with hatched lines shows the offset time, the area without hatching shows the open time, and the area with dot hatching shows the closed time.

[0069] The first example shown in Figure 4 is a specific case where the fitness evaluation unit 224 sets the cycle time based on the maximum value of the sum of the offset time and open time for each class. In this example, the sum of the time for class 4 is the maximum value. Therefore, class 4 does not have a close time, and the sum of the offset time and open time and the cycle time are the same.

[0070] The second example shown in Figure 5 is a specific example in which the fitness evaluation unit 224 sets the cycle time based on the least common multiple of the total time of the offset time and open time for each class. In this example, the schedule is set so that the close time equals the offset time for each class. When the least common multiple is used as in this example, a schedule is created in which the offset time or the close time and open time are repeated a predetermined number of times within the cycle time for each class. In this example, in class 0, the offset time or the close time and open time are repeated four times within the cycle time, and in class 1, the offset time or the close time and open time are repeated five times within the cycle time.

[0071] The cycle time may or may not be common for each of the switches 111, 112, and 113. Furthermore, the cycle time may or may not be common for each of the gates provided by switches 111, 112, and 113.

[0072] The output unit 225 is a processing unit that outputs the GCL determined by the fitness evaluation unit 224 to other devices. The other devices are, for example, talkers 121, 122, 123, or switches 111, 112, 113, but can be arbitrarily determined and are not particularly limited. The output unit 225 transmits the GCL to switches 111, 112, 113, for example, via the communication unit 210.

[0073] Furthermore, the output unit 225 outputs, for example, an image (image information) showing the GCL determined by the fitness evaluation unit 224 to the display unit 230, thereby causing the display unit 230 to display the image. The display unit 230 is an example of a display device.

[0074] The display unit 230 is a display that shows images. Specifically, the display unit 230 displays a GUI (Graphical User Interface) that includes an image based on the GCL determined by the GCL search unit 220.

[0075] The image information output from the output unit 225 to the display unit 230 includes, for example, first image information, second image information, and third image information.

[0076] The first image information includes system configuration information showing the configuration of the network system 100. Specifically, the system configuration information shows the overall configuration of the network system 100, including switches 111, 112, and 113 that constitute the network in which TSN is introduced.

[0077] The second image information includes, for example, time image information showing the offset time and open time for each class, as well as the cycle time. In other words, the second image information includes information for displaying an image showing the schedule according to the GCL.

[0078] The third image information includes, for example, detailed information regarding the offset time and open time for each class. Specifically, the third image information includes first detailed information regarding the offset time and second detailed information regarding the open time. It is sufficient that the third image information includes at least one of the first detailed information regarding the offset time and the second detailed information regarding the open time.

[0079] The first detailed information includes, for example, first coefficient information indicating the first weight coefficient, minimum frame length information indicating the minimum frame length for each class, and offset time information indicating the offset time. In other words, the first detailed information includes information indicating the specific values ​​used by the offset time setting unit 222 to set the offset time.

[0080] The second detailed information includes, for example, second coefficient information indicating a second weighting coefficient, maximum frame length information indicating the maximum frame length for each traffic class, and open time information indicating the open time. In other words, the second detailed information includes information indicating the specific values ​​used by the open time setting unit 223 to set the open time.

[0081] Figure 6 is a diagram showing a GUI according to an embodiment. Specifically, Figure 6 is an image based on image information output by the output unit 225 to the display unit 230. More specifically, Figure 6 shows a GUI that includes an image displayed by the display unit 230 showing the GCL determined by the fitness evaluation unit 224.

[0082] The GUI shown in Figure 6, for example, displays a configuration image B1 showing the configuration of the network system 100 as shown in Figure 1, when image information is acquired. Configuration image B1 is an example of a first image based on first image information (specifically, system configuration information included in the first image information).

[0083] For example, the user operates a cursor displayed on the display unit 230 by operating a user input receiving device such as a touch panel, mouse, and / or keyboard (not shown) while viewing the configuration image B1 displayed on the display unit 230. For example, suppose the user selects "Port 1" of "Switch 3" in the configuration image B1 at the position of cursor A1 shown in Figure 6. In this case, the display unit 230 displays a schedule image B2 that includes a GCL image based on the GCL corresponding to "Port 1".

[0084] Schedule image B2 is an example of a second image based on second image information included in the image information (specifically, time image information included in the second image information). Schedule image B2 is an image showing the offset time (shown as "offset" in Figure 6), open time (shown as "open" in Figure 6), close time (shown as "close" in Figure 6), and cycle time (shown as "Gate Cycle" in Figure 6) for each class according to the GCL determined by the fitness evaluation unit 224, as shown in Figure 4 or Figure 5.

[0085] The user operates the reception device while checking the schedule image B2 displayed on the display unit 230, thereby manipulating the cursor displayed on the display unit 230. For example, suppose the user selects "offset" in "class 5" in the schedule image B2 at the cursor A2 position shown in Figure 6. In this case, the display unit 230 displays a detailed image B3 showing the details of the offset time shown in class 5.

[0086] Detailed image B3 is an example of a third image based on third image information included in the image information. Specifically, detailed image B3 is an example of an image based on first detailed information included in the third image information.

[0087] Detailed image B3 includes, for example, information indicating the name of the switch selected by the user (shown as "Switch Name" in Figure 6), information indicating the name (number) of the port selected by the user (in this example, an output port) (shown as "Port Number" in Figure 6), information indicating the class corresponding to the offset time selected by the user (shown as "Class" in Figure 6), information indicating the type of offset time selected by the user (shown as "Field Name" in Figure 6), information indicating the name of the first weight coefficient used to determine the GCL for which the schedule image B2 is created (shown as "Search Variable Name" in Figure 6), information indicating the value of the said first weight coefficient (shown as "Variable Value" in Figure 6), information indicating the minimum frame length used to determine the GCL for which the schedule image B2 is created (shown as "Minimum Frame Length (μs)" in Figure 6), and information indicating the length of the offset time (shown as "Time (μs)" in Figure 6). For example, if an offset time of class i is selected, the section in detail image B3 that indicates the class corresponding to the offset time selected by the user will display "i", and the section that indicates the type of offset time selected by the user will display "offseti".

[0088] Furthermore, suppose the user selects, for example, "open" in "class 5" in schedule image B2. In this case, the display unit 230 displays a detailed image showing the details of the open time indicated in class 5. Such a detailed image is an example of an image based on the second detailed information included in the third image information. Such a detailed image includes, for example, information indicating the name of the switch selected by the user, information indicating the name of the port selected by the user, information indicating the class corresponding to the open time selected by the user, information indicating the type of open time selected by the user (i.e., information indicating which class of open time it is), information indicating the name of the second weight coefficient used to determine the GCL for which schedule image B2 is created, information indicating the value of the second weight coefficient, information indicating the maximum frame length used to determine the GCL for which schedule image B2 is created, and information indicating the length of the open time.

[0089] The scheduler 141 may also receive instructions from the user via the reception device to change the value of the first weight coefficient, the value of the second weight coefficient, the minimum frame length, the maximum frame length, the offset time, and / or the open time, which were used to determine the GCL for which the scheduled image B2 is created. For example, suppose the user deletes "1.5" from the "variable value" in the detailed image B3 and inputs "1.4" by operating the reception device. In this case, the scheduler 141 determines that it has received an instruction from the user to change the value of the first weight coefficient from 1.5 to 1.4. In this case, the scheduler 141 changes the value of the first weight coefficient used when determining the GCL for which the scheduled image B2 is created to 1.4, determines the GCL again, and displays the image information based on the determined GCL on the display unit 230. Furthermore, for example, suppose a user operates the reception device to move the position of the boundary between "offset" and "open" in the schedule image B2, which corresponds to the position of cursor A3 shown in Figure 6, thereby instructing a change in the offset time and open time of class 1. In this case, the scheduler 141 changes the offset time and open time of class 1 used when determining the GCL for which the schedule image B2 is created, based on the instructions received from the user, determines the GCL again, and displays the image information based on the determined GCL on the display unit 230.

[0090] As described above, information regarding the GCL-based schedule (GCL model), offset time, and open time is displayed on the display unit 230 using a GUI. For example, the GCL model is displayed for each switch 111, 112, 113 and / or for each port provided by switches 111, 112, 113. For example, the GCL model displays the offset time and open time fields. For example, when the cursor is moved to a field, detailed information corresponding to that field is displayed. For example, the detailed information includes information indicating the search variable (weight coefficient) and the minimum frame length. For example, the product of the search variable and the minimum frame length is displayed in the "Time" column shown in Figure 6. Furthermore, as described above, the value of "Time" may be updated in conjunction with user instructions (manual adjustments). In addition, the "Gate Cycle," i.e., the cycle time, shown in Figure 6 may also be updated in conjunction with this update.

[0091] Each processing unit, such as the acquisition unit 221, the offset time setting unit 222, the open time setting unit 223, the fitness evaluation unit 224, and the output unit 225, is implemented, for example, by a processor and a memory in which a control program executed by the processor is stored.

[0092] The scheduler 141 may also include the above-mentioned receiving device. Furthermore, the scheduler 141 may include storage for storing various types of information. Examples of such storage include an HDD (Hard Disk Drive) or semiconductor memory.

[0093] [Processing Procedure] Figure 7 is a flowchart showing a specific example of the processing performed by the scheduler 141 according to the embodiment.

[0094] First, the scheduler 141 (specifically, the acquisition unit 221) acquires factory network requirements definition information (S100).

[0095] Next, the scheduler 141 (specifically, the offset time setting unit 222, the open time setting unit 223, and the fitness evaluation unit 224) calculates several candidate combinations of offset time and open time based on the acquired factory network requirements definition information (S110).

[0096] Next, the scheduler 141 (specifically, the fitness evaluation unit 224) creates (generates) multiple candidate GCLs based on the calculated multiple candidates (S120).

[0097] Next, the scheduler 141 (specifically, the fitness evaluation unit 224) evaluates the fitness of each of the multiple candidate GCLs that have been created (S130).

[0098] Next, the scheduler 141 (specifically, the fitness evaluation unit 224) determines whether the evaluated fitness levels meet the requirements (S140). Specifically, the scheduler 141 determines whether the highest fitness level among the evaluated fitness levels is equal to or greater than a predetermined fitness level.

[0099] If the scheduler 141 determines that the evaluated fitnesss do not meet the requirements (No in S140), that is, if it determines that the highest fitness among the evaluated fitnesss is less than a predetermined fitness, it returns the process to step S110. If the process returns to step S110, the scheduler 141 changes the values ​​of the first weight coefficient and the second weight coefficient and restarts the process from step S110.

[0100] On the other hand, if the scheduler 141 determines that the multiple evaluated fitnesss meet the requirements (Yes in S140), that is, if it determines that the highest fitness among the multiple evaluated fitnesss is equal to or greater than a predetermined fitness, it transmits (distributes) the candidate GCL (optimal GCL) of the highest fitness to switches 111, 112, and 113 (S150). Specifically, if the fitness evaluation unit 224 determines that the highest fitness among the multiple evaluated fitnesss is equal to or greater than a predetermined fitness, the output unit 225 transmits the candidate GCL of the highest fitness to switches 111, 112, and 113.

[0101] Furthermore, the scheduler 141 (specifically, the output unit 225) displays the GCL on the display unit 230 (S160). Specifically, the output unit 225 outputs image information containing information about the GCL to the display unit 230, thereby displaying an image on the display unit 230 that shows the schedule based on the GCL.

[0102] Steps S150 and S160 may be performed simultaneously, or step S160 may be performed first.

[0103] [Representative Example] Figure 8 is a flowchart illustrating a scheduling method according to an embodiment. Specifically, Figure 8 is a flowchart illustrating the processing procedure executed by the scheduling device according to the embodiment.

[0104] A scheduling device is a device that schedules the opening and closing timing of multiple gates provided by relay devices that constitute a network in which a TSN is introduced. For example, a scheduling device comprises a processor and memory, and the processor uses the memory to perform the scheduling method shown in Figure 8.

[0105] The relay device is, for example, the switches 111, 112, or 113 mentioned above.

[0106] Furthermore, the scheduling device is, for example, the scheduler 141 described above. That is, the scheduling device comprises, for example, a communication unit 210, a GCL search unit 220, and a display unit 230.

[0107] First, the scheduling device acquires specification information, including frame length information, which indicates the frame length of multiple data traffic input to the relay device and classified into one of several traffic classes (S210).

[0108] Traffic class is, for example, the class described above. Data traffic is, for example, the frame described above. Frame length information is, for example, the data size information described above. Specification information is, for example, the factory network requirements definition information described above. The scheduling device may obtain specification information from other devices such as server devices via a communication interface such as the communication unit 210. Alternatively, the scheduling device may be equipped with a storage device such as an HDD or semiconductor memory in which the specification information is stored, and may obtain the specification information from the storage device.

[0109] Next, the scheduling device, based on the acquired specification information, sets (calculates) an offset time for each traffic class, from a predetermined time until the gate corresponding to the traffic class is opened, based on the product of the minimum frame length among the frame lengths of one or more data traffics classified into the traffic class and a first weighting coefficient (S220).

[0110] In other words, the scheduling device searches for the data traffic with the shortest frame length (i.e., the data traffic with the least amount of data) from among the frame lengths of one or more data traffics, and calculates the offset time based on the frame length of the searched data traffic (minimum frame length) and a first weighting coefficient. The first weighting coefficient is, for example, the v mentioned above. i That is the case.

[0111] A gate corresponding to a traffic class is a gate predetermined according to the traffic class, for example, if the traffic class is 1, the corresponding gate is 1; if the traffic class is 2, the corresponding gate is 2, and so on. The correspondence between traffic classes and gates can be predetermined arbitrarily and is not particularly limited. The predetermined time can also be predetermined arbitrarily and is not particularly limited. The scheduling device may acquire information such as information indicating the predetermined time and information indicating the correspondence from other devices such as a server device via a communication interface such as a communication unit 210. Alternatively, the scheduling device may be equipped with a storage device such as an HDD or semiconductor memory and acquire this information from the storage device.

[0112] Note that the number of data traffics (one or more) can be one or multiple.

[0113] Next, the scheduling device, based on the specification information, sets (calculates) the open time for each traffic class in which the gate corresponding to the traffic class remains open, based on the product of the maximum frame length among the frame lengths of one or more data traffics classified into the traffic class and a second weighting coefficient (S230).

[0114] In other words, the scheduling device searches for the data traffic with the longest frame length (i.e., the data traffic with the largest amount of data) from among the frame lengths of one or more data traffics, and calculates the open time based on the frame length (maximum frame length) of the searched data traffic and a second weighting coefficient. The second weighting coefficient is, for example, the w mentioned above. i That is the case.

[0115] Next, the scheduling device sets (calculates) the cycle time during which the opening and closing of multiple gates is repeated, based on the offset time and open time for each traffic class (S240).

[0116] Next, the scheduling device determines (creates) GCLs for controlling the opening and closing of multiple gates based on the offset time, open time, and cycle time for each traffic class (S250).

[0117] Next, the scheduling device outputs (transmits) the determined GCL (specifically, information indicating the GCL) to another device (S260).

[0118] Other devices include, for example, relay devices. These relay devices then transmit the received data traffic according to the received GCL (Global Classification Language).

[0119] Other devices may be transmitters that send data traffic to the relay device. Transmitters are, for example, talkers 121, 122, or 123 described above. Transmitters transmit data traffic, for example, in accordance with the GCL so that the relay device can receive and transmit data traffic.

[0120] In step S220 and S230, the scheduling device first arbitrarily determines multiple values ​​as the first and second weight coefficients, and then uses the multiple combinations of the determined first and second weight coefficients to determine multiple combinations of offset time and open time for each traffic class. Furthermore, in step S240, the scheduling device determines multiple cycle times for each combination of offset time and open time. Furthermore, in step S250, the scheduling device creates multiple GCLs (candidate GCLs) using the combinations of offset time and open time and the multiple cycle times for each combination. Furthermore, in step S250, the scheduling device calculates the fitness of the multiple candidate GCLs and, based on the calculated fitness, determines one GCL from among the multiple candidate GCLs. In step S260, the scheduling device outputs the determined GCL.

[0121] Here, for example, in step S250, if the fitness of each of the multiple candidate GCLs is lower than a predetermined fitness based on the calculated fitness, that is, if scheduling fails, the scheduling device changes the first and second weight coefficients and restarts the process from step S220. In this way, the scheduling device optimizes the first and second weight coefficients.

[0122] (Effects, etc.) Below, examples of technologies that can be obtained from the disclosures of this specification are given, and the effects, etc. obtained from those technologies are explained.

[0123] Technology 1 is a scheduling device for scheduling the opening and closing timing of multiple gates provided by a relay device that constitutes a network in which a TSN is introduced, and comprises a processor and memory, wherein the processor uses the memory to acquire specification information including frame length information indicating the frame lengths of multiple data traffic input to the relay device and classified into one of multiple traffic classes, and based on the specification information, for each of the multiple traffic classes, the offset time from a predetermined time until the gate corresponding to each of the multiple traffic classes is opened is calculated using the minimum frame length among the frame lengths of one or more data traffic classified into the traffic class and a first Based on the product of a weight coefficient, the open time for each of the multiple traffic classes, in which the gate corresponding to each of the multiple traffic classes remains open, is set based on the product of the maximum frame length among the frame lengths of one or more data traffics classified into any of the multiple traffic classes and a second weight coefficient. Based on the offset time and open time for each of the multiple traffic classes, the cycle time for which the opening and closing of the multiple gates is repeated is set. Based on the offset time and open time for each of the multiple traffic classes and the cycle time, the GCL for controlling the opening and closing of the multiple gates is determined, and the GCL is output to other devices.

[0124] According to this, offset time is taken into consideration when determining the GCL, that is, scheduling the timing of opening and closing multiple gates. In other words, scheduling may be performed so that the timing of data traffic transmission from each gate partially overlaps. Conventionally, GCL determination does not take offset time into consideration, and scheduling is performed so that the timing of data traffic transmission from each gate does not overlap. In that case, with conventional scheduling, there may be cases where data traffic that has already been received cannot be transmitted even though no other data traffic has been transmitted. On the other hand, depending on the timing at which data traffic is received by the relay device, there are cases where data traffic can be transmitted from the relay device without collision even if two or more gates on the relay device are all open. Therefore, according to the scheduling device of Technology 1, such cases are taken into consideration when scheduling is performed, so that data traffic can be efficiently transmitted from multiple gates. In other words, bandwidth utilization efficiency can be improved.

[0125] Furthermore, flexible scheduling becomes possible without constraints such as ensuring that the opening times of multiple gates do not necessarily overlap, thus improving the success rate of scheduling.

[0126] Furthermore, the offset time is set (calculated) for each gate based on the minimum frame length among the frame lengths of one or more data traffic transmitted from each gate. When a store-and-forward system is used for relay devices, a delay time corresponding to the frame length (amount of data) of the data traffic is required between the time the relay device receives the data traffic and when it transmits it. By using an offset time that takes the minimum frame length into consideration in scheduling, it becomes possible to schedule while taking such delay times into account, and without causing unnecessarily long delay times. In other words, the transmission delay time (end-to-end delayed transmission time) can be minimized.

[0127] Furthermore, for example, by setting an offset time, the gate can be kept open only for the necessary period, freeing up unnecessary bandwidth allocation to data traffic of other priorities (classes), thus improving scheduling flexibility.

[0128] Furthermore, since the offset time is searched based on the minimum frame length, the search range is somewhat limited. Therefore, it becomes possible to efficiently search for (set) the offset time.

[0129] Technology 2 is the scheduling device described in Technology 1, wherein the cycle time is set based on the maximum value of the sum of the offset time and open time for each of the multiple traffic classes.

[0130] In other words, according to this method, the cycle time is calculated considering the gate with the longest total time (offset time + open time). Therefore, the degree of flexibility in the timing of the open time set for the cycle time can be increased for each gate. As a result, even when, for example, two or more data traffics belonging to the same traffic class need to have different transmission cycles, scheduling can be performed flexibly. In short, the degree of flexibility in scheduling can be increased.

[0131] Technology 3 is a scheduling device according to Technology 1 or 2, wherein the cycle time is set based on the least common multiple of the total time of the offset time and open time for each of the multiple traffic classes.

[0132] This allows for scheduling of data traffic transmission from multiple gates more efficiently, and the success rate of scheduling can be further improved.

[0133] Furthermore, the cycle time may be the same for each gate (i.e., for each traffic class), or it may be different for each gate.

[0134] Technology 4 is a scheduling device according to any one of Technologies 1 to 3, further outputting image information to a display device, wherein the image information includes first image information, second image information, and third image information, the first image information includes system configuration information showing the configuration of a system including relay devices that constitute a network, the second image information includes time image information showing offset time, open time, and cycle time for each of a plurality of traffic classes, the third image information includes at least one of first detailed information regarding offset time and second detailed information regarding open time, the first detailed information includes first coefficient information showing a first weighting coefficient, minimum frame length information showing the minimum frame length for each of a plurality of traffic classes, and offset time information showing the offset time, and the second detailed information includes second coefficient information showing a second weighting coefficient, maximum frame length information showing the maximum frame length for each of a plurality of traffic classes, and open time information showing the open time.

[0135] The system is, for example, a network system 100. The display device is, for example, a display unit 230. The display device may also be, for example, a display device such as a display on a computer such as a PC used by a user. The scheduling device may output (transmit) image information to the computer via a communication interface such as a communication unit 210. The first image information is, for example, information for the display device to display a configuration image B1. The second image information is, for example, information indicating a schedule based on GCL, and is information for the display device to display an image showing the offset time and open time for each class, and the cycle time, including the schedule image B2. The third image information is, for example, information for the display device to display a detail image B3.

[0136] According to this, administrators and other users of the entire system constituting the network where TSN is implemented can easily understand what specific values ​​were used to determine the GCL.

[0137] The display device only needs to display an image based on any one or more of the first, second, and third image information at once. For example, the display device first displays the first image based on the first image information, then, in response to user input, displays the second image based on the second image information, and then, in response to user input, displays the third image based on the third image information. Furthermore, of the information contained in the third image information, the information actually displayed on the display device may be only a portion of the information contained in the third image information. For example, if the display device receives input from the user specifying an offset time, it will display only the first detailed information from the information contained in the third image information. On the other hand, if the display device receives input from the user specifying an open time, it will display only the second detailed information from the information contained in the third image information. Furthermore, the receiving device for receiving user input, such as a touch panel, mouse, and / or keyboard, may be provided by the scheduling device, or it may be connected to the display device and / or scheduling device in a communicative manner.

[0138] Technology 5 is a scheduling method for scheduling the opening and closing timing of multiple gates provided by a relay device that constitutes a network in which a TSN is introduced, and it acquires specification information including frame length information indicating the frame lengths of multiple data traffic input to the relay device and classified into one of multiple traffic classes (S210), and based on the specification information, sets an offset time for each of the multiple traffic classes from a predetermined time until the gate corresponding to each of the multiple traffic classes is opened, based on the product of the minimum frame length among the frame lengths of one or more data traffic classified into one of the multiple traffic classes and a first weight coefficient (S220), and based on the specification information This scheduling method involves setting an open time for each of the multiple traffic classes, based on the product of the maximum frame length among the frame lengths of one or more data traffics classified into any of the multiple traffic classes and a second weighting coefficient (S230); setting a cycle time for the repeated opening and closing of the multiple gates based on the offset time and open time for each of the multiple traffic classes (S240); determining a GCL for controlling the opening and closing of the multiple gates based on the offset time and open time for each of the multiple traffic classes and the cycle time (S250); and outputting the GCL to another device (S260).

[0139] According to this, it will have the same effect as the scheduling device related to Technology 1.

[0140] (Other Embodiments) Although embodiments have been described above, this disclosure is not limited to the embodiments described above.

[0141] For example, in the above embodiment, the network system comprises three switches, three talkers, and three listeners. The number of switches, talkers, and listeners in the network system may be one, two, or four or more. The number of switches, talkers, and listeners in the network system may be the same or different. The number of queues and gates in the scheduler may be arbitrarily determined and are not particularly limited. For example, the number of queues and gates in the scheduler may be the same and multiple. The number of classes defined for each frame may be arbitrarily determined and are not particularly limited. For example, the number of classes may be the same as the number of gates and multiple.

[0142] Furthermore, for example, in the above embodiment, a process executed by a specific processing unit may be executed by another processing unit. Also, the order of multiple processes may be changed, or multiple processes may be executed in parallel.

[0143] Furthermore, for example, in the above embodiment, each component of the processing unit may be realized by executing a software program suitable for each component. Each component may also be realized by a program execution unit such as a CPU or processor reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory.

[0144] Furthermore, each component may be implemented by hardware. Each component may also be a circuit (or integrated circuit). These circuits may form a single circuit as a whole, or they may be separate circuits. Also, each of these circuits may be a general-purpose circuit or a dedicated circuit.

[0145] Furthermore, the communication method between devices in the above embodiment is not particularly limited. In addition, relay devices (such as broadband routers) not shown may be involved in the communication between devices.

[0146] Furthermore, the general or specific aspects of this disclosure may be implemented as a system, apparatus, method, integrated circuit, computer program, or computer-readable non-temporary recording medium such as a CD-ROM. They may also be implemented in any combination of systems, apparatus, methods, integrated circuits, computer programs, and recording media. For example, this disclosure may be implemented as a scheduling method, as a program for causing a computer to execute a scheduling method, or as a computer-readable non-temporary recording medium on which such a program is recorded.

[0147] Furthermore, this disclosure also includes forms obtained by applying various modifications to the embodiments that a person skilled in the art could conceive, or forms realized by arbitrarily combining the components and functions of the embodiments without departing from the spirit of this disclosure.

[0148] This disclosure is useful for a device that creates a schedule for controlling the timing of traffic transmission in a network where a TSN is implemented.

[0149] 100 Network System 111, 112, 113 Switches 121, 122, 123 Talkers 131, 132, 133 Listeners 141 Scheduler 210 Communication Unit 220 GCL Search Unit 221 Acquisition Unit 222 Offset Time Setting Unit 223 Open Time Setting Unit 224 Fitness Evaluation Unit 225 Output Unit 230 Display Unit 2401 Priority Filter 2402 Queue 2403 Gate 2404 GCL Unit 2405 Transmit Selector A1, A2 Cursor B1 Configuration Image B2 Schedule Image B3 Detailed Image

Claims

1. A scheduling device for scheduling the opening and closing timing of multiple gates in a relay device that constitutes a network in which TSN (Time Sensitive Networking) is introduced, comprising: a processor and a memory, wherein the processor uses the memory to acquire specification information including frame length information indicating the frame lengths of multiple data traffic input to the relay device and classified into one of a plurality of traffic classes, and based on the specification information, sets an offset time for each of the plurality of traffic classes from a predetermined time until the gate corresponding to each of the plurality of traffic classes is opened, based on the product of the minimum frame length among the frame lengths of one or more data traffic classified into one of the plurality of traffic classes and a first weight coefficient, and based on the specification information, sets an open time for each of the plurality of traffic classes when the gate corresponding to each of the plurality of traffic classes is open, based on the product of the maximum frame length among the frame lengths of one or more data traffic classified into one of the plurality of traffic classes and a second weight coefficient. A scheduling device that sets a cycle time for the repeated opening and closing of the plurality of gates based on the offset time and open time for each of the plurality of traffic classes, determines a GCL (Gate Control List) for controlling the opening and closing of the plurality of gates based on the offset time and open time for each of the plurality of traffic classes and the cycle time, and outputs the GCL to another device.

2. The scheduling device according to claim 1, wherein the cycle time is set based on the maximum value of the sum of the offset time and the open time for each of the plurality of traffic classes.

3. The scheduling device according to claim 1, wherein the cycle time is set based on the least common multiple of the sum of the offset time and the open time for each of the plurality of traffic classes.

4. The scheduling device according to any one of claims 1 to 3, further comprising outputting image information to a display device, wherein the image information includes first image information, second image information, and third image information, the first image information includes system configuration information indicating the configuration of a system including the relay device that constitutes the network, the second image information includes time image information indicating the offset time, the open time, and the cycle time for each of the plurality of traffic classes, the third image information includes at least one of first detailed information relating to the offset time and second detailed information relating to the open time, the first detailed information includes first coefficient information indicating the first weighting coefficient, minimum frame length information indicating the minimum frame length for each of the plurality of traffic classes, and offset time information indicating the offset time, and the second detailed information includes second coefficient information indicating the second weighting coefficient, maximum frame length information indicating the maximum frame length for each of the plurality of traffic classes, and open time information indicating the open time.

5. A scheduling method for scheduling the opening and closing timing of multiple gates provided by a relay device constituting a network in which TSN (Time Sensitive Networking) is introduced, comprising: acquiring specification information including frame length information indicating the frame lengths of multiple data traffic input to the relay device and classified into one of a plurality of traffic classes; setting an offset time for each of the plurality of traffic classes from a predetermined time until the gate corresponding to each of the plurality of traffic classes is opened, based on the product of the minimum frame length among the frame lengths of one or more data traffic classified into one of the plurality of traffic classes and a first weight coefficient, based on the specification information, setting an open time for each of the plurality of traffic classes when the gate corresponding to each of the plurality of traffic classes is open, based on the product of the maximum frame length among the frame lengths of one or more data traffic classified into one of the plurality of traffic classes and a second weight coefficient, and setting a cycle time for which the opening and closing of the plurality of gates is repeated, based on the offset time and the open time for each of the plurality of traffic classes. A scheduling method comprising determining a GCL (Gate Control List) for controlling the opening and closing of a plurality of gates based on the offset time, open time, and cycle time for each of the plurality of traffic classes, and outputting the GCL to other devices.