Scheduling method and scheduling device
By grouping traffic streams and assigning collective transmission periods, the method addresses the challenge of managing numerous search parameters in TSN, enhancing real-time communication efficiency and reducing computational complexity in factory automation networks.
Patent Information
- Application Number
- PCT/JP2024/042753
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-26
- Filing Date
- 2024-12-03
- Publication Date
- 2025-10-02
AI Technical Summary
Existing traffic scheduling methods for Time Sensitive Networking (TSN) in factory automation face challenges in managing large numbers of search parameters, leading to inefficiencies in real-time communication guarantees and increased computational complexity, especially when dealing with diverse transmission cycles and paths.
A scheduling method that groups traffic streams into multiple groups based on specific specifications, assigns collective transmission periods to each group, and generates a Gate Control List (GCL) to control Traffic Aware Shaping (TAS), reducing the number of search parameters and ensuring real-time communication.
This approach effectively reduces the computational burden and maintains high scheduling success rates by optimizing traffic transmission through reduced search parameters and strategic gate control, ensuring timely delivery across factory automation networks.
Smart Images

Figure JP2024042753_02102025_PF_FP_ABST
Abstract
Description
Scheduling method and scheduling device
[0001] The present disclosure relates to a scheduling method and a scheduling device.
[0002] Introduction of Ethernet (registered trademark)-based Time Sensitive Networking (TSN) is being considered as a technology for ensuring real-time communication between FA (Factory Automation) devices such as manufacturing equipment and production lines in a factory.
[0003] TSN is being standardized by the TSN Task Group of the IEEE 802.1 Standardization Organization, and specifies time synchronization and TAS (Time Aware Shaper), among other things. TAS is a mechanism for allocating traffic within a network to eight queues according to priority and transmitting traffic according to the state of a gate at the queue output. Gates have two states: open and closed. The gate state is controlled by a Gate Control List (GCL). Therefore, traffic scheduling is possible by designing a GCL to ensure real-time communication. However, scheduling all traffic within a network while ensuring real-time communication is known to be an NP-hard problem.
[0004] Non-Patent Document 1 discloses a traffic scheduling technique using a genetic algorithm to minimize the end-to-end transmission delay time (transmission delay), the fluctuation of the end-to-end transmission delay time (jitter), and the bandwidth utilization rate of traffic (frames) in an in-vehicle network that employs TSN.
[0005] A genetic algorithm is an algorithm that searches for appropriate gene combinations by evaluating individuals that have a collection of genes (chromosomes) that represent the values of search parameters using a fitness function. Therefore, the greater the number of search parameters (number of genes), the greater the amount of calculation required for the genetic algorithm.
[0006] In the scheduling technique described in Non-Patent Document 1, scheduling is performed by optimizing the order of genes in a chromosome. The number of search parameters used in the scheduling disclosed in Non-Patent Document 1 is expressed by the following formula (1). Here, s i . T is the i-th traffic s i In addition, hyper. T is sometimes called a hyper period and indicates the least common multiple of the transmission periods of all traffic. i . r) is the i-th traffic s i The route s that i . r indicates the number of
[0007]
[0008] Furthermore, Patent Document 1 discloses a method for appropriately selecting between the frame allocation method and the group allocation method as the time slot allocation method in TAS. The time slots referred to here correspond to the gate opening periods described above. Here, the frame allocation method is a method for reserving time slots on a frame-by-frame basis. The scheduling method described in Non-Patent Document 1 corresponds to the frame allocation method. On the other hand, the group allocation method is a method for grouping frames that have common attributes such as priority and reserving time slots on a group-by-group basis.
[0009] In general, the frame allocation method allows for precise scheduling and has high real-time performance guarantees, but requires a large amount of calculation for scheduling as the network scale increases.On the other hand, the group allocation method requires less calculation for scheduling because it can reduce the number of search parameters compared to the frame allocation method, but has low real-time performance guarantees because one group occupies the bandwidth for a relatively long time and traffic belonging to other groups is not transmitted during that time.
[0010] Patent No. 7499992
[0011] Hyeong-Jun Kim, “Optimal Scheduling of Time-Sensitive Networks for Automotive Ethernet Based on Genetic Algorithm”, Electronics, Mar 2022, Vol. 11 Issue 6, p926-926.
[0012] However, when attempting to create a schedule that guarantees real-time communication for traffic between FA devices having various transmission cycles and numbers of paths using the genetic algorithm described in Non-Patent Document 1, the number of search parameters is large, resulting in an enormous number of combinations, which may make it impossible to find a schedule that guarantees real-time communication for all traffic within a limited time.
[0013] Furthermore, when the genetic algorithm described in Non-Patent Document 1 is used in combination with the group assignment method described in Patent Document 1 in order to reduce the number of search parameters, the number of search parameters can be reduced, but as mentioned above, the real-time performance is low, which may result in a decrease in the success rate of scheduling for a large amount of traffic.
[0014] Non-limiting examples of the present disclosure contribute to providing a scheduling method and a scheduling device that can reduce the number of search parameters in scheduling traffic transmission and suppress a decrease in the scheduling success rate.
[0015] A scheduling method according to one embodiment of the present disclosure is a scheduling method for scheduling traffic transmission by a relay device in a network in which TSN is introduced, which schedules traffic transmission by the relay device by grouping multiple traffic streams into multiple groups based on traffic specifications indicating the specifications of the multiple traffic streams to be transmitted by the relay device before scheduling the traffic transmission, and assigning transmission periods for the multiple traffic streams to a schedule collectively for each group based on group specifications indicating the specifications of the multiple groups, and then generating a GCL that controls a TAS based on the schedule and distributing the GCL to the relay device.
[0016] A scheduling device according to one embodiment of the present disclosure is a scheduling device that schedules traffic transmission by a relay device in a network in which TSN is introduced, and includes: a grouping unit that groups multiple traffic streams into multiple groups before scheduling the traffic transmission based on a traffic specification that indicates the specifications of the multiple traffic streams to be transmitted by the relay device; a scheduling unit that schedules the traffic transmission by the relay device by assigning each transmission period for which the multiple traffic streams are to be transmitted to a schedule collectively for each group based on a group specification that indicates the specifications of the multiple groups; a GCL generation unit that generates a GCL that controls a TAS based on the schedule; and a distribution unit that distributes the GCL to the relay device.
[0017] These comprehensive or specific aspects may be realized as a system, an apparatus, a method, an integrated circuit, a computer program, or a recording medium, or may be realized as any combination of a system, an apparatus, a method, an integrated circuit, a computer program, and a recording medium.
[0018] According to one embodiment of the present disclosure, the number of search parameters in scheduling traffic transmission can be reduced by grouping traffic, and a decrease in the scheduling success rate can be suppressed by arranging time slots in units of multiple different groups for gates based on priority.
[0019] Further advantages and benefits of certain embodiments of the present disclosure will become apparent from the specification and drawings. Such advantages and / or benefits may be provided by some of the embodiments and features described in the specification and drawings, but not necessarily all of them, in order to obtain one or more identical features.
[0020] FIG. 1 is a diagram showing an example of a traffic transmission period in an embodiment of the present disclosure. FIG. 2 is a diagram showing an example of a network system according to an embodiment of the present disclosure. FIG. 3 is a diagram showing an example of a block configuration of a TAS. FIG. 4 is a diagram showing an example of a block configuration of a scheduler constituting the network system of FIG. 2. FIG. 5 is a diagram showing an example of a network topology. FIG. 6 is a diagram showing an example of a traffic specification. FIG. 7 is a diagram showing an example of allocation of a traffic transmission period per traffic unit. FIG. 8 is a diagram showing an example of a group specification. FIG. 9 is a diagram showing an example of a candidate schedule based on grouping by priority. FIG. 10 is a diagram showing an example of a network topology. FIG. 11 is a diagram showing an example of a traffic specification. FIG. 12 is a diagram showing an example of a candidate schedule based on grouping by priority.
[0021] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings as appropriate. However, more detailed explanation than necessary may be omitted. For example, detailed explanation of already well-known matters or redundant explanation of substantially identical configurations may be omitted. This is to avoid unnecessary redundancy in the following explanation and to facilitate understanding by those skilled in the art.
[0022] The accompanying drawings and the following description are provided to enable those skilled in the art to fully understand the present disclosure, and are not intended to limit the subject matter described in the claims. Furthermore, the embodiments described below are examples, and the present disclosure is not limited to these embodiments. Therefore, the numerical values, shapes, materials, components, component arrangements, and connection forms shown in the following embodiments are examples and are not intended to limit the present invention. Therefore, among the components in the following embodiments, components not recited in the independent claims are described as optional components.
[0023] In addition, each drawing is a schematic diagram and is not necessarily an exact illustration. In addition, the same components are denoted by the same reference numerals in each drawing.
[0024] Furthermore, in this specification, when a comparison is made, for example, with "above a threshold" or "below a threshold," it means that the distinction is made at the threshold, and may mean "greater than the threshold" or "below the threshold," respectively.
[0025] [Embodiment] In the embodiment of the present disclosure, a case where a traffic sending period (also called a gate open period) is searched for in units of groups will be described.
[0026] <Search parameters> Fig. 1 is a diagram showing an example of a traffic transmission period in this embodiment. As shown in Fig. 1, the length of the traffic transmission period is determined by the following equation (2). Here, w j is the jth group g j is a weighting coefficient and a search parameter. j is a real value greater than or equal to 1. j is group g j The i-th traffic s belonging to i Frame length s i . L is the maximum value, and is expressed by the following equation (3).
[0027]
[0028] Also, the search parameter w jThe number of is expressed by the following formula (4): j . SW) is group g j Switch g through which one or more traffic included in j . Indicates the number of SW.
[0029]
[0030] In addition to the gate opening period, scheduling also requires searching for the order in which the gates are to be opened, as in Non-Patent Document 1. However, as the number of search parameters can be reduced by grouping, as in the search for the gate opening period, a description thereof will be omitted.
[0031] <System Configuration Diagram> FIG. 2 is a diagram illustrating an example of a network system 100 according to an embodiment of the present disclosure.
[0032] The network system 100 is a network system in which the TSN is introduced. As shown in Fig. 2, the 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, the talkers 121, 122, and 123, the listeners 131, 132, and 133, and the scheduler 141 are connected via, for example, Ethernet. The network system 100 is constructed, for example, in a manufacturing device or a production line in a factory.
[0033] The switches 111, 112, and 113 are relay nodes that implement the TAS and relay traffic sent from the talkers 121, 122, and 123 to the listeners 131, 132, and 133.
[0034] 3 is a diagram showing an example of a block configuration of a TAS according to an embodiment. Specifically, FIG. 3 is a block diagram showing the configuration of a switch 113 in which a TAS is implemented. The configurations of switches 111 and 112 are substantially the same as the configuration of switch 113.
[0035] As shown in FIG. 3 , the TAS (specifically, the switch 113) includes a priority filter 2401, a queue 2402, a gate 2403, a GCL unit 2404, and a transmission 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, the eight queues are also referred to as queue 0, queue 1, queue 2, queue 3, queue 4, queue 5, queue 6, and queue 7, respectively. Functions common to the eight queues are also described as queue 2402. When describing the eight gates included in the gate 2403 separately, the eight gates are also referred to as gate 0, gate 1, gate 2, gate 3, gate 4, gate 5, gate 6, and gate 7, respectively. Functions common to the eight gates are also described as gate 2403.
[0036] The priority filter 2401 analyzes the priority of traffic, determines the priority of the input traffic, and outputs the input traffic to a queue 2402 corresponding to the priority.
[0037] The queue 2402 stores the traffic output from the priority filter 2401 on a first-in, first-out (FIFO) basis. A maximum of eight queues 2402 are provided for each priority.
[0038] Gate 2403 is provided at the exit of queue 2402, i.e., it is connected to the traffic sending section in queue 2402, and is in either an open or closed state. The state of gate 2403 is controlled by GCL section 2404 based on the GCL.
[0039] The transmit selector 2405 selects for transmission traffic queued in queue 2402 for which the connected gate 2403 is open. For example, if gate 7 is open, the transmit selector 2405 selects for transmission traffic queued in queue 7, and if gates 6 and 5 are open, the transmit selector 2405 selects for transmission traffic queued in queue 6 and queue 5. The traffic selected for transmission is sent (transmitted) from switch 113. On the other hand, if the connected gate is closed, the queued traffic is not selected for transmission. In other words, traffic queued for which the connected gate is closed is not sent.
[0040] Returning to the description of Fig. 2, the switches 111, 112, and 113 each have one or more input ports and output ports (not shown), and output traffic input to a certain input port to a certain output port according to, for example, the destination, priority, and a predetermined schedule (GCL) of the traffic. The switches 111, 112, and 113 may also be called network switches or relay devices.
[0041] The talkers 121, 122, and 123 are traffic transmitting nodes in the TSN. The talkers 121, 122, and 123 may be, for example, personal computers (PCs), programmable logic controllers (PLCs), sensors, or actuators. The talkers 121, 122, and 123 may also be referred to as end devices, end stations, or transmitting devices.
[0042] The listeners 131, 132, and 133 are receiving nodes (destination nodes) of traffic in the TSN. The listeners 131, 132, and 133 may be, for example, PCs, PLCs, sensors, or actuators. The listeners 131, 132, and 133 may also be called end devices, end stations, or receiving devices.
[0043] The scheduler 141 schedules traffic transmission by relay devices (in this embodiment, the switches 111, 112, and 113) in a network in which TSN is introduced. Specifically, the scheduler 141 generates a GCL that controls the traffic transmission order of the switches 111, 112, and 113. The scheduler 141 is, for example, a PC, a tablet, or a cloud. The scheduler 141 may also be called a bandwidth control device, a resource allocation device, or a timing setting device.
[0044] The switches 111, 112, and 113, the talkers 121, 122, and 123, the listeners 131, 132, and 133, and the scheduler 141 are each realized by a communication interface for communicating with other devices, a non-volatile memory in which a program is stored, a volatile memory that is a temporary storage area for executing the program, an input / output port for sending and receiving signals, and a processor such as a CPU (Central Processing Unit) that executes the program. The communication interface may be realized, for example, by an antenna and a wireless communication circuit for wireless communication, or by a connector to which a communication line is connected for 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, a circuit, or a processor.
[0045] <Block Diagram> Fig. 4 is a diagram showing an example of a block configuration of the scheduler 141 that constitutes the network system 100 of Fig. 2. The scheduler 141 is an example of a scheduling device.
[0046] As shown in FIG. 4, the scheduler 141 includes a traffic specification acquisition unit 201, a grouping unit 202, a scheduling unit 203, a communication characteristic evaluation unit 204, a suitability calculation unit 205, a control unit 206, a GCL generation unit 207, and a distribution unit 208.
[0047] The traffic specification acquisition unit 201 is a processing unit that acquires the traffic specifications of each of the multiple traffic flows transmitted by the switches 111, 112, and 113. Specifically, the traffic specification acquisition unit 201 acquires the traffic specifications input by a user operation and outputs the acquired traffic specifications to the grouping unit 202 and the communication characteristic evaluation unit 204. The traffic specification acquisition unit 201 may include an input device such as a keyboard, a mouse, and / or a touch panel. The traffic specifications may be stored in a storage device (not shown), such as a hard disk drive (HDD) or semiconductor memory, provided in the scheduler 141. The traffic specification acquisition unit 201 may acquire the traffic specifications from the storage device.
[0048] The traffic specification is information about traffic. The traffic specification includes, for example, one or more items of the traffic priority, the traffic transmission period, the traffic route (the route the traffic takes from the transmitting node to the receiving node), and the traffic data size. The traffic specification may include, for example, a traffic identifier that uniquely identifies the traffic, the transmitting node from which the traffic is transmitted, the receiving node from which the transmitted traffic is received, the allowable value for the traffic transmission delay (also referred to as the transmission delay allowable value), and / or the traffic jitter allowable value. Note that the priority is, for example, a PCP (Priority Code Point) value in IEEE 802.1Q. The priority may be, for example, an arbitrary value determined by a user or the like.
[0049] The grouping unit 202 is a processing unit that groups multiple traffic streams into multiple groups based on traffic specifications indicating the specifications of the multiple traffic streams to be sent out by the switches 111, 112, and 113 before scheduling the traffic streams to be sent out by the switches 111, 112, and 113. For example, the grouping unit 202 groups the multiple traffic streams into multiple groups by classifying the multiple traffic streams into any of multiple groups based on the traffic specifications of each of the multiple traffic streams to be sent out by the switch 111.
[0050] The number of multiple traffic streams, the number of multiple groups, and the number of traffic streams belonging to each group may be determined arbitrarily in advance and are not particularly limited.
[0051] For example, the grouping unit 202 refers to the traffic specification and groups traffic that has a common value in one or more items into the same group. In other words, when grouping multiple traffics, the grouping unit 202 groups traffic that has one or more items in common included in the traffic specification into the same group. After grouping, the grouping unit 202 also creates a group specification including various items related to each group and outputs the created group specification to the scheduling unit 203 and the GCL generation unit 207.
[0052] The group specification is information about a group. The group specification includes, for example, one or more items from among a group identifier that uniquely identifies the group, an identifier of traffic belonging to the group, a priority of traffic belonging to the group, a transmission cycle of traffic belonging to the group, a route of traffic belonging to the group, and a data size of traffic belonging to the group. The group specification may also include, for example, items such as a transmitting node of traffic belonging to the group, a receiving node where traffic belonging to the group is received after being transmitted, and the number of hops (the number of switches through which traffic passes). For example, the route of traffic belonging to a group is the union of the routes of each traffic belonging to the group.
[0053] Specifically, the number of hops is the number of switches through which traffic belonging to a group passes before reaching a certain switch. For example, when scheduling traffic transmission by switch 111, the certain switch may be switch 111 or a switch other than switch 111. For example, the certain switch may be the switch immediately before the traffic reaches listeners 131, 132, and 133.
[0054] The scheduling unit 203 is a processing unit that schedules traffic transmission by the switches 111, 112, and 113 by collectively allocating traffic transmission periods (also referred to simply as transmission periods) for transmitting multiple traffic streams to schedules (also referred to as candidate schedules) for each group based on group specifications that indicate the specifications of multiple groups. For example, when scheduling traffic transmission by the switch 111, the scheduling unit 203 determines the transmission periods, which are the periods for transmitting traffic streams, on a group-by-group basis. For example, the scheduling unit 203 determines the traffic transmission periods using equation (2) so that one or more traffic streams belonging to a group are transmitted within the period set for each group. The scheduling unit 203 creates a schedule that indicates the traffic transmission periods thus determined (scheduled).
[0055] Specifically, the scheduling unit 203 creates a candidate schedule for each path or each output port of the switches 111, 112, and 113, in which traffic transmission periods are collectively assigned to each group based on the group specifications, and outputs the candidate schedule to the communication characteristics evaluation unit 204 and the GCL generation unit 207. The scheduling unit 203 uses a mathematical optimization method such as a genetic algorithm, a simulated annealing method, or a downhill simplex method to create the candidate schedule, and calculates the search parameter w j may be optimized.
[0056] Furthermore, for example, in scheduling traffic transmission, the scheduling unit 203 may assign transmission periods to one of a plurality of gates according to priority for each group based on the priority of traffic belonging to the group, which is included in the group specification. The plurality of gates may be, for example, gates provided in each of the switches 111, 112, and 113, and are gates for controlling traffic transmission. For example, in scheduling traffic transmission for the switch 113, the plurality of gates may be gate 0, gate 1, gate 2, gate 3, gate 4, gate 5, gate 6, and gate 7. For example, the scheduling unit 203 performs scheduling so that traffic of the same priority is output from the same gate.
[0057] The communication characteristic evaluation unit 204 is a processing unit that evaluates communication characteristics such as traffic transmission delay and jitter based on the traffic specification and the candidate schedule. The communication characteristic evaluation unit 204 outputs a communication characteristic evaluation value indicating the evaluation result of the communication characteristics to the adaptability calculation unit 205. The communication characteristic evaluation unit 204 may use a network simulator compatible with TSN to evaluate the communication characteristics, or may use a network calculus that derives communication characteristics using mathematical theory.
[0058] The fitness calculation unit 205 is a processing unit that calculates the fitness of a candidate schedule by inputting the communication characteristic evaluation value into a predefined fitness function.
[0059] Here, fitness is a value that indicates to what extent traffic satisfies (or does not satisfy) delay requirements such as transmission delay tolerance and jitter tolerance when communication is performed according to a candidate schedule. The fitness function is defined, for example, as in the following equation (5). In equation (5), N indicates the number of traffics that satisfy the delay requirements. Also, s i .d r is the i-th traffic s i indicates the transmission delay tolerance of s. i .d m is the i-th traffic s measured by the communication characteristic evaluation unit 204. iwhere x is the measured value of the transmission delay time (also called the transmission delay measurement value). Also, max(x, y) indicates the larger value of x and y. In the case of equation (5), the higher the fitness, the more traffic satisfies the delay requirement and the larger the margin time for the transmission delay tolerance, which means that it is a better schedule.
[0060]
[0061] The fitness calculation unit 205 outputs the fitness to the control unit 206. The fitness may be referred to as an evaluation value or a score.
[0062] The control unit 206 is a processing unit that controls the overall operation of the scheduler 141. The control unit 206 compares the fitness with a predetermined threshold to determine whether all traffic can satisfy the delay requirements when using a candidate schedule. For example, if there are M traffics with delay requirements, the control unit 206 sets the threshold to M, and determines that the candidate schedule can satisfy the delay requirements of all traffics when "fitness ≧ M." Furthermore, for example, if the control unit 206 determines that the candidate schedule cannot satisfy the delay requirements (if fitness < M), it outputs a signal instructing rescheduling to the scheduling unit 203. On the other hand, for example, if the control unit 206 determines that the candidate schedule can satisfy the delay requirements (if fitness ≧ M), it outputs a signal instructing the GCL generation unit 207 to generate a GCL. Note that the delay requirements may be included in the traffic specification.
[0063] The GCL generation unit 207 is a processing unit that generates a GCL that controls the TAS based on the schedule created by the scheduling unit 203. Specifically, when the GCL generation unit 207 receives an instruction to generate a GCL from the control unit 206, it generates a GCL based on a candidate schedule and outputs the generated GCL to the distribution unit 208. For example, when generating a GCL, the GCL generation unit 207 generates a GCL that opens a gate during a traffic transmission period assigned to the candidate schedule and closes a gate during a period in which no transmission period is assigned in the candidate schedule.
[0064] The distribution unit 208 is a processing unit that distributes (transmits) the GCL to the switches 111, 112, and 113 connected to the scheduler 141. The distribution unit 208 may distribute the GCL using a data model described in a language such as YANG (Yet Another Next Generation). In other words, when distributing the GCL, the distribution unit 208 may distribute the GCL to the switches 111, 112, and 113 using a data model conforming to YANG. The data model includes, for example, flag information indicating that multiple traffic flows have been grouped and scheduled, and type information for identifying items included in the traffic specification used to group the multiple traffic flows.
[0065] Specific examples of flag information and type information will be described later.
[0066] Each processing unit, namely, the traffic specification acquisition unit 201, the grouping unit 202, the scheduling unit 203, the communication characteristic evaluation unit 204, the adaptability calculation unit 205, the control unit 206, the GCL generation unit 207, and the distribution unit 208, is realized, for example, by a memory and a processor that executes a control program stored in the memory.
[0067] In the embodiment of the present disclosure, the scheduler 141 groups traffic before assigning traffic transmission periods in order to reduce the number of search parameters. The number of search parameters after grouping is expressed by the above-mentioned equation (4).
[0068] There are various methods for grouping. In the following, we will explain, while showing examples of grouping, how to reduce the number of search parameters in scheduling traffic transmission and how to suppress a decrease in the scheduling success rate.
[0069] Note that the network systems shown in the following examples are modified examples of the network system 100. The network systems shown in the following examples differ from the network system 100 in the number of talkers, the number of switches, and / or the number of listeners. The configurations of the talkers, switches, and listeners included in the network systems shown in the following examples are substantially similar to the switches 111, 112, and 113, talkers 121, 122, and 123, and listeners 131, 132, and 133 included in the network system 100.
[0070] (Grouping Example 1) In grouping example 1, the scheduler SC1 reduces the number of search parameters by grouping based on traffic priority.
[0071] 5 is a diagram showing the topology of a network system in grouping example 1. In the following, the switch 111 may be referred to as switch SW1, the talkers 121, 122, 123, and 124 as talkers T1, T2, T3, and T4, the listener 131 as listener L1, and the scheduler 141 as scheduler SC1.
[0072] The topology indicates the communication path of traffic. In the topology shown in Fig. 5, talkers T1 to T4 transmit traffic, switch SW1 relays the traffic to listener L1, and listener L1 receives the traffic. In addition, scheduler SC1 distributes GCL to switch SW1.
[0073] FIG. 6 is a diagram showing the specifications of traffic flowing on a network in grouping example 1.
[0074] TrID indicates the traffic identifier. Src indicates the sending node of the traffic. Dst indicates the receiving node of the traffic. Priority indicates the PCP in the traffic's VLAN (Virtual Local Area Network) tag. The transmission period indicates the time interval (transmission interval) at which the traffic is transmitted. The delay requirement indicates the transmission delay tolerance. The route indicates the path the traffic takes and is expressed in the format [start point:end point]. For example, the route connecting talker T1 to switch SW1 is expressed as [T1:SW1], and the route connecting switch SW1 to listener L1 is expressed as [SW1:L1].
[0075] The TAS is installed at the output port of the switch. Therefore, the number of switches num(g j .SW) is the number of switches that are the starting points of the route.
[0076] Here, as a comparative example, we will first explain the case where grouping is not performed. In a traffic scheduling method that does not perform grouping, a traffic transmission period is assigned to each traffic per route. In this case, it is necessary to ensure that the traffic transmission periods do not overlap between traffic on the same route (route [SW1:L1] in the topology of Figure 5).
[0077] FIG. 7 is a diagram for explaining allocation of traffic transmission periods on a traffic unit basis in a comparative example.
[0078] For example, as shown in Fig. 7, traffic transmission periods are assigned to each of traffic Tr1 to Tr4. That is, the period from time t50 to time t51 is assigned as transmission period 501 for traffic Tr1. The period from time t51 to time t52 is assigned as transmission period 502 for traffic Tr2. The period from time t52 to time t53 is assigned as transmission period 503 for traffic Tr3. The period from time t53 to time t54 is assigned as transmission period 504 for traffic Tr4.
[0079] The number of search parameters without grouping can be expressed by the same formula as the above formula (4) as the following formula (6): i . SW) is the traffic i The number of switches that a signal passes through before reaching its destination is i According to the traffic specification shown in Figure 6, four traffic flows pass through switch SW1, so the number of search parameters is four.
[0080]
[0081] Next, the case of grouping will be described. In the traffic specification shown in Fig. 6, the priority of traffic Tr1 and traffic Tr3 is 7, the priority of traffic Tr2 is 6, and the priority of traffic Tr4 is 5. Therefore, the scheduler SC1 groups the traffic Tr1 to Tr4 such that the traffic Tr1 and Tr3, which have a common priority of 7, are classified into group Gr1, the traffic Tr2, which has a priority of 6, is classified into group Gr2, and the traffic Tr4, which has a priority of 5, is classified into group Gr3.
[0082] 8 is a diagram showing a group specification in grouping example 1. For example, the scheduler SC1 generates the group specification shown in FIG.
[0083] In FIG. 8, GrID indicates a group identifier. TrID indicates an identifier of traffic belonging to the group. Priority indicates the PCP of the traffic belonging to the group. Transmission period indicates the transmission interval of the traffic belonging to the group. Route is the union of the routes of the traffic belonging to the group. For example, in the traffic specification of FIG. 6, the route of traffic Tr1 is [T1:SW1], [SW1:L1]. The route of traffic Tr3 is [T3:SW1], [SW1:L1]. Therefore, the union is ([T1:SW1], [SW1:L1]) ∪ ([T3:SW1], [SW1:L1]) = ([T1:SW1], [SW1:L1], [T3:SW1]).
[0084] In Example 1, the scheduler SC1 allocates a traffic transmission period to each route in groups collectively based on the group specifications shown in FIG.
[0085] FIG. 9 shows a candidate schedule based on grouping using priorities in Grouping Example 1. Even when assigning traffic transmission periods to groups collectively for each route, it is necessary to prevent overlapping of traffic transmission periods between groups on the same route (route [SW1:L1] in the topology of FIG. 5). Therefore, for example, a candidate schedule with assigned traffic transmission periods is created as shown in FIG. 9. That is, the period from time t70 to time t71 is assigned as traffic transmission period 701 for group Gr1. The period from time t71 to time t72 is assigned as traffic transmission period 702 for group Gr2. The period from time t72 to time t73 is assigned as traffic transmission period 703 for group Gr3. The length of each traffic transmission period is calculated using equation (2). Note that in FIG. 9, a traffic identifier is written above the group identifier, indicating the period during which the traffic belonging to that group is transmitted.
[0086] 8, the number of search parameters is three, based on the above-mentioned equation (4). That is, the number of search parameters can be reduced compared to a traffic scheduling method that does not use grouping.
[0087] In grouping example 1, a small-scale network with four traffic volumes was used, so the number of search parameters was reduced by only one compared to the case without grouping. However, the larger the network with more traffic volumes, the greater the effect of reducing the search parameters.
[0088] The priority levels used in TSN are defined as eight levels from 0 to 7, so the number of groups based on priority levels is a maximum of eight groups.
[0089] (Grouping Example 2) In Grouping Example 1, we explained grouping of traffic based on priority. In Grouping Example 2, we explain how to reduce the number of search parameters and suppress a decrease in the scheduling success rate by grouping based on priority and transmission period.
[0090] Fig. 10 is a diagram showing the topology of a network system in grouping example 2. In the topology shown in Fig. 10, talkers 121 to 125 (also referred to as talkers T1 to T5) transmit traffic, switch SW1 relays the traffic to listener L1, and listener L1 receives the traffic. In addition, scheduler SC1 distributes GCL to switch SW1.
[0091] FIG. 11 is a diagram showing the specifications of traffic flowing on a network in the second grouping example.
[0092] The difference between the traffic specifications shown in FIG. 11 and those shown in FIG. 6 is that a traffic Tr5 with a priority of 7 and a transmission period of 2 ms has been added.
[0093] FIG. 12 is a diagram showing candidate schedules based on grouping using priorities in a comparative example.
[0094] When the grouping by priority shown in Grouping Example 1 is applied to the traffic specification shown in Fig. 11, a candidate schedule may be created in which traffic transmission periods are assigned collectively to each group for the route [SW1:L1] of the topology shown in Fig. 10, as shown in Fig. 12. That is, the period from time t100 to time t101 (first time) and the period from time t103 to time t104 (second time) are assigned as traffic transmission periods 1001 for group Gr1 with priority = 7 (i.e., group Gr1 to which traffic with priority 7 belongs). Also, the period from time t101 to time t102 (first time) and the period from time t104 to time t105 (second time) are assigned as traffic transmission periods 1002 for group Gr2 with priority = 6. Furthermore, the period from time t102 to time t103 (first time) and the period from time t105 to time t106 (second time) are allocated as traffic transmission period 1003 for group Gr3 with priority=5.
[0095] However, because the transmission cycle of traffic Tr5 is 2 ms, traffic Tr5 is not transmitted during the period from time t103 to time t104 (i.e., the second traffic transmission period for group Gr1) even though it is assigned to group Gr1. Furthermore, since traffic transmission periods are assigned so as not to overlap between groups, traffic belonging to other groups cannot be transmitted during this period. In other words, this shaded portion is a wasted allocation period, which may result in a decrease in the scheduling success rate.
[0096] Therefore, the scheduler SC1 may group traffic based on the transmission period in addition to the priority in order to reduce the wasteful allocation period such as the above-mentioned shaded portion.
[0097] 13 is a diagram showing group specifications in grouping example 2. In the traffic specifications shown in FIG. 11, the priority of traffic Tr1 and Tr3 is 7 and the transmission period is 1 ms, the priority of traffic Tr2 is 6 and the transmission period is 1 ms, and the priority of traffic Tr4 is 5 and the transmission period is 1 ms. Also, in the traffic specifications shown in FIG. 11, the priority of traffic Tr5 is 7, the same as traffic Tr1 and Tr3. However, the transmission period of traffic Tr5 is 2 ms, which is different from the transmission period of traffic Tr1 and Tr3. Therefore, the scheduler SC1 groups the traffic Tr1 to Tr5 so that traffic Tr1 and Tr3 are classified into group Gr1, traffic Tr2 is classified into group Gr2, traffic Tr4 is classified into group Gr3, and traffic Tr5 is classified into group Gr4 which is different from group Gr1, and generates the group specification shown in Figure 13.
[0098] FIG. 14 is a diagram showing candidate schedules based on grouping using priority and transmission cycle in grouping example 2. In FIG.
[0099] The scheduler SC1 allocates traffic transmission periods to each group for each path based on the group specification shown in Fig. 13 and equation (2), thereby creating a candidate schedule with traffic transmission periods allocated as shown in Fig. 14. That is, the period from time t120 to time t121 (first time) and the period from time t124 to time t125 (second time) are allocated as traffic transmission periods 1201 for group Gr1 with priority of 7 and a transmission period of 1 ms (i.e., Gr1 to which traffic with a priority of 7 and a transmission period of 1 ms belongs). Also, the period from time t121 to time t122 is allocated as traffic transmission period 1204 for group Gr4 with priority of 7 and a transmission period of 2 ms. The period from time t122 to time t123 (first time) and the period from time t126 to time t127 (second time) are assigned as traffic transmission periods 1202 for group Gr2, which has a priority of 6 and a transmission cycle of 1 ms. The period from time t123 to time t124 (first time) and the period from time t127 to time t128 (second time) are assigned as traffic transmission periods 1203 for group Gr3.
[0100] Comparing this with the candidate schedule shown in Figure 12, it can be seen that the period from time t125 to time t126 (the shaded portion in Figure 14) is released from the traffic transmission period 1201 of group Gr1. Because this period is not assigned to any group, it can be assigned to, for example, best-effort traffic (not shown), which is traffic with no specified delay requirement. Alternatively, this period may be assigned to another group during the search process. This can therefore improve the schedule success rate.
[0101] According to the traffic specifications shown in FIG. 11, when grouping is performed based only on priority without considering the transmission period as in Grouping Example 1, the number of groups is three and the number of switches each group passes through is one, so according to equation (4), the number of search parameters is three.
[0102] On the other hand, when traffic is grouped based on priority and transmission period, in the group specification shown in Figure 13, the number of groups is 4 and the number of switches each group passes through is 1, so according to equation (4), the number of search parameters is 4.
[0103] When no grouping is performed, the number of search parameters is five.
[0104] Thus, according to the grouping in Grouping Example 2, the number of search parameters increases compared to the grouping in Grouping Example 1, but the number of search parameters can be reduced compared to a traffic scheduling method that does not use grouping.
[0105] (Grouping Example 3) In grouping example 3, a reduction in the number of search parameters and suppression of a decrease in the scheduling success rate by grouping based on traffic priority and the number of hops will be described.
[0106] FIG. 15 is a diagram showing the topology of a network system in grouping example 3. In the topology of FIG. 15, talkers 121 to 126 (also referred to as talkers T1 to T6) transmit traffic, switches 111 to 114 (also referred to as switches SW1 to SW4) relay the traffic, and listener L1 receives the traffic. Furthermore, scheduler SC1 distributes GCL to switches SW1 to SW4. The topology shown in FIG. 15 includes four switches, SW1 to SW4, and there are multiple paths requiring traffic scheduling. In grouping example 3, traffic scheduling for the path [SW3:L1] connecting switch SW3 to listener L1 will be described as a representative example.
[0107] Fig. 16 is a diagram showing the specifications of traffic flowing on a network system in grouping example 3. The main difference between the traffic specifications shown in Fig. 16 and those shown in Fig. 6 is that traffic with different numbers of hops is mixed.
[0108] One of the traffic transfer methods used by switches is the store-and-forward method. In the store-and-forward method, the switch receives traffic, records it in internal memory, and then starts sending the traffic to the next device after confirming that the entire traffic has been received correctly. Therefore, each time the traffic passes through a switch, a delay corresponding to the data size of the traffic occurs.
[0109] 15 , traffic Tr1 reaches switch SW3 without passing through any other switches (i.e., the number of hops is 0). On the other hand, traffic Tr5 and Tr6 reach switch SW3 by passing through two switches SW1 and SW2 (i.e., the number of hops is 2). Therefore, if traffic Tr1, Tr5, and Tr6 are transmitted at the same time, a large time difference may occur between the time when traffic Tr1 reaches switch SW3 and the time when traffic Tr5 or Tr6 reaches switch SW3.
[0110] FIG. 17 is a diagram showing candidate schedules based on grouping using priorities in a comparative example.
[0111] In an environment where large time differences occur as described above, if the grouping by priority shown in Grouping Example 1 is applied to the traffic specification shown in Fig. 16, a candidate schedule may be generated in which traffic transmission periods are assigned to the route [SW3:L1], as shown in Fig. 17. That is, the period from time t150 to time t151 is assigned as traffic transmission period 1501 for group Gr1 with priority = 7. Furthermore, the period from time t151 to time t152 is assigned as traffic transmission period 1502 for group Gr2 with priority = 6. Furthermore, the period from time t152 to time t153 is assigned as traffic transmission period 1503 for group Gr3 with priority = 5.
[0112] However, as mentioned above, the number of hops for traffic Tr1 is 0, and the number of hops for traffic Tr5 and Tr6 is 2, so a gap time (the shaded area in FIG. 17) may occur between the transmission period of traffic Tr5 and the transmission period of traffic Tr6. This shaded area is a wasted allocation period in which no traffic is transmitted, and this may cause a decrease in the scheduling success rate.
[0113] Therefore, the scheduler SC1 may group traffic based on the number of hops in addition to the priority in order to reduce the aforementioned wasted allocation period.
[0114] In grouping example 3, the number of hops is interpreted as the number of switches that traffic passes through before reaching a specific switch or listener. Therefore, even for the same traffic, the number of hops varies from switch to switch. Therefore, traffic grouping in grouping example 3 is performed for each switch as follows:
[0115] FIG. 18 is a diagram showing an example of group specifications in the third grouping example.
[0116] First, scheduler SC1 groups traffic in switch SW1 and switch SW4, both of which have only talkers connected to their input ports. Talkers T5 and T6 are connected to switch SW1, and traffic Tr5 and Tr6 with a priority of 7 arrive from talkers T5 and T6 with a hop count of 0. Therefore, scheduler SC1 groups these traffics Tr5 and Tr6 into group Gr1. At this time, scheduler SC1 sets routes [T5:SW1] and [T6:SW1] connecting talkers T5 and T6 to switch SW1 as routes included in the group specification of group Gr1. Furthermore, talkers T2 and T4 are connected to switch SW4, and traffic Tr2 with a priority of 6 from talker T2 and traffic Tr4 with a priority of 5 from talker T4 arrive with a hop count of 0. Therefore, the scheduler SC1 groups the traffic Tr2 into the group Gr2 and the traffic Tr4 into the group Gr3. Since the route of the group Gr2 (specifically, the route of the traffic Tr2 belonging to the group Gr2) is [T2:SW4] and the route of the group Gr3 is [T4:SW4], the scheduler SC1 sets [T2:SW4] as the route included in the group specification of the group Gr2 and sets [T4:SW4] as the route included in the group specification of the group Gr3.
[0117] Next, scheduler SC1 groups traffic in switches that are not connected to the listener and whose input ports are connected to switch SW1 or switch SW4. In the topology shown in Fig. 15, switch SW2 corresponds to this. Talker T3 and switch SW1 are connected to switch SW2. Traffic Tr3 with priority = 5 arrives from talker T3 with a hop count of 0, and traffic Tr5 and Tr6 with priority = 7 arrive from switch SW1 with a hop count of 1. Therefore, scheduler SC1 groups traffic Tr3 into group Gr4 and traffic Tr5 and Tr6 into group Gr5. Since the route for group Gr4 is [T3:SW2] and the route for group Gr5 is [SW1:SW2], scheduler SC1 sets [T3:SW2] as the route included in the group specification for group Gr4, and sets [SW1:SW2] as the route included in the group specification for group Gr5. Scheduler SC1 repeats the same grouping process for all switches that are not connected to listeners until it has grouped the traffic sent to those switches.
[0118] Finally, scheduler SC1 groups the traffic at the switch connected to the listener. In the topology shown in Fig. 15, this corresponds to switch SW3. Talker T1 and switches SW2 and SW4 are connected to the listener via switch SW3. Traffic Tr1 with priority 7 arrives from talker T1 with one hop, traffic Tr2 with priority 6 and traffic Tr4 with priority 5 arrive with two hops from switch SW4, and traffic Tr3 with priority 5 and two hops and traffic Tr5 and Tr6 with priority 7 and two hops arrive from switch SW2. Therefore, the scheduler SC1 groups the traffic Tr1 into group Gr6, the traffic Tr2 into group Gr7, the traffic Tr3 and Tr4 into group Gr8, and the traffic Tr5 and Tr6 into group Gr9. The route of group Gr6 is [T1:SW3][SW3:L1], the route of group Gr7 is [SW4:SW3][SW3:L1], the route of group Gr8 is [SW2:SW3][SW3:L1][SW4:SW3], and the route of group Gr9 is [SW2:SW3][SW3:L1]. Therefore, scheduler SC1 sets [T1:SW3][SW3:L1] to the route included in the group specification of group Gr6, sets [SW4:SW3][SW3:L1] to the route included in the group specification of group Gr7, sets [SW2:SW3][SW3:L1][SW4:SW3] to the route included in the group specification of group Gr8, and sets [SW2:SW3][SW3:L1] to the route included in the group specification of group Gr9.
[0119] In this way, the scheduler SC1 groups the traffic based on the priority and the number of hops, and generates the group specifications shown in FIG.
[0120] FIG. 19 is a diagram showing candidate schedules based on grouping using priority and the number of hops in grouping example 3. In FIG.
[0121] The scheduler SC1 creates a candidate schedule for the route [SW3:L1], for example, as shown in Fig. 19, by grouping traffic Tr1 and traffic Tr5 and Tr6 into different groups and allocating a traffic transmission period to each group based on the group specification shown in Fig. 18 and equation (2). Specifically, the period from time t170 to time t171 is allocated as a traffic transmission period 1701 for group Gr6, which has a priority of 7 and a hop count of 1. The period from time t171 to time t172 is allocated as a traffic transmission period 1702 for group Gr7, which has a priority of 6 and a hop count of 2. The period from time t172 to time t173 is allocated as a traffic transmission period 1703 for group Gr8, which has a priority of 5 and a hop count of 2. Furthermore, the period from time t173 to time t174 is assigned as a traffic transmission period 1704 for group Gr9, which has a priority of 7 and a hop count of 2. At this time, each traffic transmission period is calculated using equation (2).
[0122] In this way, by dividing traffic Tr1 and traffic Tr5 and Tr6 into different groups, it is possible to allocate the transmission periods of traffic of groups Gr7 and Gr8, which have a smaller number of hops than group Gr9 and are therefore more likely to reach switch SW3 first, to the shaded areas that were wasted in the candidate schedule shown in Fig. 17. This makes it possible to improve the schedule success rate.
[0123] According to the traffic specifications shown in Figure 16, if grouping is performed based only on priority without considering the number of hops, as in grouping example 1, the number of groups will be 3, and the number of switches each group passes through will be 3 for the group with priority 7, 2 for the group with priority 6, and 3 for the group with priority 5, so according to equation (4), the number of search parameters will be 8.
[0124] On the other hand, when grouping traffic based on priority and number of hops as in grouping example 3, in the group specification in Figure 18, the number of groups is 9, and the number of switches each group passes through is 0 for group Gr1, 0 for group Gr2, 0 for group Gr3, 0 for group Gr4, 1 for group Gr5, 1 for group Gr6, 2 for group Gr7, 3 for group Gr8, and 2 for group Gr9, so according to equation (4), the number of search parameters is 9.
[0125] In the grouping example 3, the creation of a candidate schedule for the route [SW3:L1] has been described as an example, but candidate schedules for other routes can also be created in the same way from the group specifications shown in FIG.
[0126] (Grouping Example 4) In grouping example 4, we will explain how to reduce the number of search parameters and suppress a decrease in the scheduling success rate by grouping based on traffic priority, the number of hops, and the data size. Note that the topology has the same configuration as the topology shown in Fig. 15, so explanations will be omitted. Also, in grouping example 4, we will explain the route [SW3:L1] as a representative.
[0127] FIG. 20 is a diagram showing traffic specifications transmitted by talkers T1 to T6 in grouping example 4.
[0128] The difference between the traffic specifications shown in FIG. 20 and those shown in FIG. 16 is that the data size of the traffic has been added. As in grouping example 3, when the switch uses the store-and-forward method, the delay time per hop varies depending on the data size. In the traffic specifications shown in FIG. 20, traffic Tr5 and traffic Tr6 have the same number of hops from the talker (sending node) to listener L1 (receiving node), but the data size of traffic Tr6 is larger than that of traffic Tr5. Therefore, the delay time per hop for traffic Tr6 is larger than that for traffic Tr5.
[0129] FIG. 21 is a diagram showing candidate schedules based on grouping using priority and the number of hops in a comparative example.
[0130] When grouping based on priority and hop count shown in Grouping Example 3 is applied to an environment where traffic data sizes vary, a candidate schedule may be generated in which traffic transmission periods are assigned to the route [SW3:L1], as shown in Fig. 21. That is, the period from time t190 to time t191 is assigned as traffic transmission period 1901 for group Gr6, which has a priority of 7 and a hop count of 0. The period from time t191 to time t192 is assigned as traffic transmission period 1902 for group Gr7, which has a priority of 6 and a hop count of 1. The period from time t192 to time t193 is assigned as traffic transmission period 1903 for group Gr8, which has a priority of 5 and a hop count of 1. The period from time t193 to time t194 is assigned as traffic transmission period 1904 for group Gr9, which has a priority of 7 and a hop count of 2.
[0131] However, in group Gr9, the data size of traffic Tr6 (200 bytes in this example) is larger than the data size of traffic Tr5 (100 bytes in this example). Because these traffic flows Tr5 and Tr6 pass through two switches before reaching switch SW3, a difference occurs in the delay times of each traffic flow Tr5 and Tr6. In this example, the delay time of traffic flow Tr6 is greater than the delay time of traffic flow Tr5. As a result, a gap time (the shaded portion in FIG. 21 ) may occur between the transmission periods of traffic flow Tr5 and traffic flow Tr6. This shaded portion represents a wasted allocation period, which may cause a decrease in the scheduling success rate.
[0132] Therefore, in order to eliminate the above-mentioned wasted allocation period, the scheduler SC1 may group traffic based on data size in addition to priority and number of hops.
[0133] The grouping method in Grouping Example 4 is the same as that in Grouping Example 3, except that when traffic has the same priority and hop count but different data sizes, the traffic is grouped into different groups, and therefore a detailed explanation is omitted.
[0134] FIG. 22 is a diagram showing group specifications in grouping example 4. In FIG.
[0135] The difference between the group specifications in grouping example 4 shown in FIG. 22 and the group specifications in grouping example 3 shown in FIG. 18 is that traffic Tr5 and traffic Tr6, which have different data sizes, are grouped into different groups.
[0136] 23 is a diagram showing a candidate schedule based on grouping using priority, number of hops, and data size in grouping example 4. The scheduler SC1 creates a candidate schedule for the path [SW3:L1], for example, as shown in FIG. 23, by assigning traffic transmission periods to traffic Tr5 and traffic Tr6 as different groups based on, for example, the group specification shown in FIG. 22 and equation (2). That is, the period from time t210 to time t211 is assigned as a traffic transmission period 2101 for group Gr6 with priority=7, number of hops=1, and data size=100 Bytes (specifically, group Gr6 to which traffic with priority=7, number of hops=1, and data size=100 Bytes belongs). The period from time t211 to time t212 is allocated as traffic transmission period 2102 for group Gr7, which has a priority of 6, a hop count of 2, and a data size of 100 bytes. The period from time t212 to time t213 is allocated as traffic transmission period 2103 for group Gr8, which has a priority of 5, a hop count of 2, and a data size of 100 bytes. The period from time t213 to time t214 is allocated as traffic transmission period 2104 for group Gr9, which has a priority of 7, a hop count of 2, and a data size of 100 bytes. The period from time t215 to time t216 is allocated as traffic transmission period 2105 for group Gr12, which has a priority of 7, a hop count of 2, and a data size of 200 bytes.
[0137] Compared with the candidate schedule shown in Fig. 21, the candidate schedule shown in Fig. 23 excludes the period from time t214 to time t215 (corresponding to the shaded area in Fig. 21) from the traffic transmission period of group Gr9. Because this period is not assigned to any group, it can be assigned, for example, to best-effort traffic with no specified delay requirement. Alternatively, it may be assigned to another group during the search process (not shown). This can therefore improve the scheduling success rate.
[0138] According to the traffic specifications shown in Figure 20, if grouping is performed based only on priority without considering the number of hops, as in grouping example 1, the number of groups will be 3, and the number of switches each group passes through will be 3 for the group with priority 7, 2 for the group with priority 6, and 3 for the group with priority 5, so according to equation (4), the number of search parameters will be 8.
[0139] As described above, in grouping using priority and the number of hops in grouping example 3, the number of search parameters is nine.
[0140] On the other hand, when traffic is grouped based on priority, number of hops, and data size, in the group specification shown in Figure 22, the number of groups is 12, and the number of switches each group passes through is 0 for group Gr1, 0 for group Gr2, 0 for group Gr3, 0 for group Gr4, 1 for group Gr5, 1 for group Gr6, 2 for group Gr7, 3 for group Gr8, 2 for group Gr9, 0 for group Gr10, 1 for group Gr11, and 2 for group Gr12, so according to equation (4), the number of search parameters is 12.
[0141] In the grouping example 4, the creation of a candidate schedule for the route [SW3:L1] has been described as an example, but candidate schedules for other routes can also be created in the same way from the group specifications shown in FIG.
[0142] The above-described grouping examples 1 to 4 may be used in combination.
[0143] <GCL Generation Method> Fig. 24 is a diagram showing an example of a method for generating a GCL from the candidate schedule shown in Fig. 23. Note that the candidate schedule shown in Fig. 23 is a schedule for the route [SW3:L1] of the topology shown in Fig. 15. In other words, the GCL generated by the GCL generation method described with reference to Fig. 24 is used to control the TAS of the port connected to listener L1 among the output ports of switch SW3.
[0144] Figure 24(a) is the same schedule as the candidate schedule shown in Figure 23. The GCL generator 207 generates a GCL based on this candidate schedule.
[0145] As shown in Fig. 24(b), the GCL generation unit 207 first breaks down the candidate schedules into gates corresponding to the priorities based on the group specifications. Since the candidate schedules shown in Fig. 24 were created based on the group specifications shown in Fig. 22, the GCL generation unit 207 refers to the group specifications shown in Fig. 22 and assigns the traffic transmission period 2101 of groups Gr6, Gr9, and Gr12 to gate 7 with priority 7, assigns the traffic transmission period 2102 of group Gr7 to gate 6 with priority 6, and assigns the traffic transmission period 2103 of group Gr8 to gate 5 with priority 5. Priorities and gates may be arbitrarily associated in advance. In this example, priority 0 is linked to gate 0, priority 1 is linked to gate 1, priority 2 is linked to gate 2, priority 3 is linked to gate 3, priority 4 is linked to gate 4, priority 5 is linked to gate 5, priority 6 is linked to gate 6, and priority 7 is linked to gate 7. Information indicating this linkage may be stored in a storage device provided in the scheduler 141, or may be obtained from a user via an input device, for example.
[0146] Next, the GCL generation unit 207 determines the gate states so that the gates are open during the traffic transmission period and closed during other periods. That is, the GCL generation unit 207 determines the gate states so that traffic is transmitted from the gates during the traffic transmission period and not transmitted during other periods. For example, during the period from time t210 to time t211, the traffic transmission period 2101 is assigned to gate 7, and no traffic transmission period is assigned to gates 6 and 5. Therefore, during this period, the gate states are determined to be "oCC" in the order of "gate 7, gate 6, gate 5." Similarly, for example, the GCL generation unit 207 determines the gate states for the period from time t211 to time t212 to be "CoC." Here, "o" indicates that the gate is open, and "C" indicates that the gate is closed.
[0147] Furthermore, the GCL generating unit 207 determines the timing at which the gate state changes as time information indicating the duration of the gate state. The time information may be expressed in any manner, but may be expressed, for example, so that t210 is 0 seconds. In this case, since the gate state "oCC" continues from time t210 to time t211, the GCL generating unit 207 sets the value obtained by subtracting time t210 from time t211 as the time information. Similarly, since the gate state "CoC" continues from time t211 to time t212, the GCL generating unit 207 sets the value obtained by subtracting time t210 from time t212 as the time information.
[0148] In this way, the GCL generating unit 207 generates a GCL from the candidate schedule, as shown in FIG. 24(c), for example.
[0149] <Operation of Scheduler> Fig. 25 is a flowchart showing an example of the operation of the scheduler 141. The process of the flowchart shown in Fig. 25 may be executed, for example, when the network system 100 is constructed or when the network system 100 is modified.
[0150] First, the scheduler 141 acquires traffic specifications by inputting the specifications of traffic flowing on the network system to the scheduler 141 (S2301). The traffic specifications may include, for example, a traffic identifier, a sending node, a receiving node, a priority, a sending period, a transmission delay tolerance, and information about a communication path.
[0151] Next, the scheduler 141 groups the traffic based on one or more of the traffic priority, traffic transmission period, traffic hop count, and traffic data size included in the acquired traffic specification (S2302). For example, the scheduler 141 refers to the acquired traffic specification and identifies traffic that has the same value in one or more of the priority, transmission period, hop count, and data size. The scheduler 141 groups the identified groups into the same group. For example, if there is no traffic that has the same value, the scheduler 141 forms one group with one traffic. The scheduler 141 also creates a group specification that includes information about the group. The group specification may include, for example, a group identifier, an identifier of traffic belonging to (included in) the group, a priority of the traffic belonging to the group, a transmission period of the traffic belonging to the group, a data size of the traffic belonging to the group, a route (communication route) of the traffic belonging to the group, the number of hops of the traffic belonging to the group, and information about a switch that serves as a reference for the number of hops of the traffic belonging to the group.
[0152] Next, the scheduler 141 allocates traffic transmission periods to the groups formed in step S2302 collectively to create candidate schedules (S2303). Candidate schedules are created for each path or each output port of the switch. In the traffic transmission period allocation process, a combination of the length of the allocated period and the allocation order is searched for. Various algorithms can be used for this search. For example, mathematical programming such as the branch and bound method, a genetic algorithm, or a (meta)heuristic such as the downhill simplex method can be used.
[0153] Next, the scheduler 141 uses the candidate schedule created in step S2303 to evaluate communication characteristics of the traffic, such as transmission delay and jitter of the traffic, which will occur when communication is performed according to the candidate schedule (S2304). The scheduler 141 may use a network simulator compatible with TSN to evaluate the communication characteristics, or may use a network calculus that derives communication characteristics using mathematical theory.
[0154] Next, the scheduler 141 calculates the fitness of the candidate schedule based on the communication characteristic evaluation value indicating the evaluation result in step S2304 and a predefined fitness function (S2305). For example, the scheduler 141 counts the number of traffics (number of requirements achieved) whose communication characteristic evaluation value (transmission delay measurement value) obtained in step S2304 falls within the transmission delay tolerance. The scheduler 141 also subtracts the communication characteristic evaluation value (transmission delay measurement value) from the transmission delay tolerance to calculate the margin time for each traffic. The scheduler 141 then calculates the fitness as, for example, the sum of the number of requirements achieved and the margin time. The fitness function and the transmission delay tolerance may be pre-stored in a storage device provided in the scheduler 141.
[0155] Next, the scheduler 141 determines whether the candidate schedule satisfies the delay requirements for all traffic based on the fitness calculated in step S2305 (S2306). For example, the scheduler 141 may compare the fitness calculated in step S2305 with a predetermined threshold, and determine that the candidate schedule satisfies the delay requirements for all traffic if the fitness is equal to or greater than the predetermined threshold, and determine that the candidate schedule does not satisfy the delay requirements if the fitness is less than the predetermined threshold.
[0156] If the scheduler 141 determines that the candidate schedule does not satisfy the delay requirement (No in S2306), the scheduler 141 returns to step S2303 and recreates the candidate schedule. In this case, for example, the scheduler 141 changes the grouping method to be adopted and recreates the candidate schedule.
[0157] On the other hand, if the scheduler 141 determines that the candidate schedule satisfies the delay requirement (Yes in S2306), it generates a GCL based on the candidate schedule (S2307). Specifically, the scheduler 141 generates a GCL based on the duration of the traffic transmission period of the candidate schedule and the priority of the traffic belonging to the group to which the traffic transmission period is assigned.
[0158] Finally, the scheduler 141 distributes the GCL generated in step S2307 to the switch (S2308). For example, the scheduler 141 may distribute the GCL in a data model (YANG data) written in YANG, which is used in the network device management protocol (NETCONF). The scheduler 141 may also include, in the YANG data model, flag information indicating grouping-based traffic scheduling (e.g., information indicating 0 or 1, such as 0: no grouping and 1: grouping) and type information indicating the grouping method (e.g., information indicating one of 0 to 4, such as 1: grouping by priority, 2: grouping by priority and transmission cycle, 3: grouping by priority and number of hops, 4: grouping by priority, number of hops, and data size, 0: other).
[0159] In some cases, it may be necessary to adjust the timing of talker traffic transmission so that all traffic meets the delay requirements. For example, it may be necessary to change the transmission order of traffic of the same priority on a certain route. In such cases, the scheduler 141 may adjust the timing of talker traffic transmission by communicating with the talker.
[0160] <Summary of the embodiment> As explained above, the scheduler 141 groups traffic that has one or more items in common among the multiple items included in the traffic specification into the same group based on the traffic specification, creates a group specification for each group, assigns a traffic transmission period to each group based on the created group specification, and schedules the traffic transmission of the switch.
[0161] This allows for a reduction in the number of search parameters in traffic scheduling, since traffic is grouped before traffic transmission periods are assigned.
[0162] <Representative Example> Fig. 26 is a flowchart showing an example of a basic scheduling method according to an embodiment. For example, a scheduling device includes a processor and a memory, and the processor uses the memory to perform the scheduling method shown in Fig. 26.
[0163] The scheduling device is, for example, the aforementioned scheduler 141. The scheduling device includes, for example, a grouping unit 202, a scheduling unit 203, a GCL generation unit 207, and a distribution unit 208. Note that the scheduling device may or may not include processing units such as a communication characteristic evaluation unit 204, a fitness calculation unit 205, and a control unit 206.
[0164] First, the scheduling device groups a plurality of traffic streams into a plurality of groups based on traffic specifications indicating the specifications of the plurality of traffic streams to be transmitted by the relay device before scheduling the transmission of the traffic streams (S11).
[0165] The relay device is, for example, the above-mentioned switch 111, 112, or 113.
[0166] Next, the scheduling device schedules the traffic transmission by the relay device by allocating the transmission periods for the multiple traffics to the schedule collectively for each group based on the group specifications indicating the specifications of the multiple groups (S12).
[0167] That is, the scheduling device determines the transmission periods for each of the multiple traffic streams to be transmitted to the relay device in groups, and creates (generates) a schedule indicating the transmission periods for the multiple traffic streams. The schedule here is, for example, the candidate schedule described above.
[0168] Next, the scheduling device generates a GCL for controlling the TAS based on the schedule created by the scheduling (S13).
[0169] Next, the scheduling device distributes (transmits) the generated GCL to the relay device (S14).
[0170] As a result, the relay device sequentially sends (transmits) the received traffic according to the received GCL.
[0171] Below, examples of techniques that can be obtained from the disclosure of this specification will be given, and the effects that can be obtained from these techniques will be explained.
[0172] Technique 1 is a scheduling method for scheduling traffic transmission by a relay device in a network in which TSN is introduced, which schedules traffic transmission by the relay device by grouping multiple traffic streams into multiple groups based on traffic specifications indicating the specifications of the multiple traffic streams to be transmitted by the relay device (S11), allocating transmission periods for the multiple traffic streams to a schedule collectively for each group based on group specifications indicating the specifications of the multiple groups, thereby scheduling traffic transmission by the relay device (S12), generating a GCL that controls a TAS based on the schedule (S13), and distributing the GCL to the relay device (S14).
[0173] This allows the transmission periods of multiple traffic streams to be assigned to a traffic transmission schedule for each group, i.e., for each group. In other words, the traffic transmission time slots are determined for each group. For example, traffic streams having at least some of the same traffic specifications are classified into the same group, and a transmission period is assigned to a schedule for each group. This allows the number of combination parameters to be reduced compared to, for example, a case where a schedule is assigned for each traffic stream, i.e., for each traffic stream. Therefore, the scheduling method according to one aspect of the present disclosure allows the number of search parameters to be reduced in scheduling traffic transmission.
[0174] Technique 2 is a scheduling method according to Technique 1, in which, in grouping a plurality of traffic streams, traffic streams that share one or more common items included in the traffic specification are grouped into the same group.
[0175] This allows multiple traffic streams to be easily grouped based on traffic specifications, and also prevents a decrease in the scheduling success rate due to grouping.
[0176] Technique 3 is the scheduling method according to Technique 1 or 2, in which the traffic specification includes one or more items of traffic priority, traffic transmission period, traffic route, and traffic data size.
[0177] This allows multiple traffics to be grouped based on traffic specifications.
[0178] Technique 4 is the scheduling method according to any one of Techniques 1 to 3, wherein the group specification includes one or more items of (i) a group identifier, (ii) an identifier of traffic belonging to the group, (iii) a priority of the traffic belonging to the group, (iv) a transmission cycle of the traffic belonging to the group, (v) a route of the traffic belonging to the group, and (vi) a data size of the traffic belonging to the group.
[0179] This allows scheduling of transmission periods for multiple traffic streams for each group based on the group specifications.
[0180] Technique 5 is a scheduling method according to Technique 4, in which (v) the route of the traffic belonging to the group is a union of the routes of each traffic belonging to the group.
[0181] This allows scheduling of transmission periods for multiple traffic streams for each group based on the group specifications.
[0182] Technique 6 is a scheduling method according to Technique 4 or 5, in which, in scheduling traffic transmission, for each group, a transmission period is assigned to one of a plurality of gates provided in a relay device for controlling traffic transmission in a schedule according to priority based on (iii) the priority of traffic belonging to the group included in the group specification, and in generating a GCL, a GCL is generated that opens the gate during the assigned transmission period and closes the gate during a period in which no transmission period is assigned.
[0183] This allows the relay device to generate a GCL that allows traffic to be sent out by appropriately controlling the opening and closing of the gate.
[0184] Technique 7 is a scheduling method according to any one of Techniques 4 to 6, in which the length of the transmission period is determined by the product of a weighting factor associated with a group to which the traffic belongs and the maximum frame length of one or more traffics belonging to the group.
[0185] According to this, the length of the transmission period is determined using the maximum value among the frame lengths of one or more traffic streams, so that a decrease in the scheduling success rate can be suppressed.
[0186] Technique 8 is a scheduling method according to any one of Techniques 1 to 7, in which the GCL is delivered to a relay device in a data model conforming to YANG, and the data model includes flag information indicating that multiple traffic flows have been grouped and scheduled, and type information for identifying items included in the traffic specifications used to group the multiple traffic flows.
[0187] According to this, when there are a plurality of grouping methods according to traffic specifications, the relay device can send out traffic at an appropriate timing based on flag information, type information, and GCL.
[0188] Technology 9 is a scheduling device that schedules traffic transmission by a relay device in a network in which TSN is introduced, and includes: a grouping unit 202 that groups multiple traffic streams into multiple groups before scheduling the traffic transmission, based on traffic specifications that indicate the specifications of the multiple traffic streams to be transmitted by the relay device; a scheduling unit 203 that schedules the traffic transmission by the relay device by collectively allocating transmission periods for each group for which the multiple traffic streams are to be transmitted, based on group specifications that indicate the specifications of the multiple groups; a GCL generation unit 207 that generates a GCL that controls a TAS, based on the schedule created by scheduling the traffic transmission; and a distribution unit 208 that distributes the GCL to the relay device.
[0189] This provides the same effect as the scheduling method according to one aspect of the present disclosure.
[0190] These comprehensive or specific aspects may be realized as a system, a method, an integrated circuit, a computer program, or a non-transitory recording medium such as a computer-readable CD-ROM, or as any combination of a system, a method, an integrated circuit, a computer program, and a recording medium. For example, the present disclosure may be realized as a program for causing a computer to execute the scheduling method described above, or as a computer-readable non-transitory recording medium on which the program is stored.
[0191] [Other Embodiments] Although the embodiments have been described above with reference to the drawings, the present disclosure is not limited to such examples. It is clear that a person skilled in the art can conceive of various modifications within the scope of the claims. It is understood that such modifications also fall within the technical scope of the present disclosure. Furthermore, the components in the embodiments may be combined in any manner without departing from the spirit of the present disclosure.
[0192] In the above-described embodiments, the notation "... part" used for each component may be replaced with other notations such as "... circuitry," "... assembly," "... device," "... unit," or "... module."
[0193] The present disclosure can be realized by software, hardware, or software linked to hardware. Each functional block used in the description of the above embodiments may be partially or entirely realized as an LSI (Large Scale Integration) integrated circuit, and each process described in the above embodiments may be partially or entirely controlled by a single LSI or a combination of LSIs. The LSI may be composed of individual chips, or may be composed of a single chip that includes some or all of the functional blocks. The LSI may have data input and output. Depending on the degree of integration, the LSI may also be called an IC, system LSI, super LSI, or ultra LSI.
[0194] The integrated circuit method is not limited to LSI, and may be realized by a dedicated circuit, a general-purpose processor, or a dedicated processor. Furthermore, a field programmable gate array (FPGA) that can be programmed after LSI manufacturing, or a reconfigurable processor that can reconfigure the connections and settings of circuit cells within the LSI, may also be used. The present disclosure may be realized as digital processing or analog processing.
[0195] Furthermore, if an integrated circuit technology that can replace LSI emerges due to advances in semiconductor technology or other derivative technologies, it is natural that such technology may be used to integrate functional blocks. The application of biotechnology, etc. is also a possibility.
[0196] Furthermore, for example, in the above-described embodiment, the processing performed by a specific processing unit may be performed by another processing unit, the order of multiple processing operations may be changed, or multiple processing operations may be performed in parallel.
[0197] Furthermore, for example, in the above-described embodiments, each component of the processing unit may be realized by executing a software program suitable for that component. Each component may 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.
[0198] Furthermore, each component may be realized by hardware. Each component may be a circuit (or integrated circuit). These circuits may form a single circuit as a whole, or each may be a separate circuit. Furthermore, each of these circuits may be a general-purpose circuit or a dedicated circuit.
[0199] Furthermore, the method of communication between the devices in the above-described embodiment is not particularly limited. In addition, a relay device (such as a broadband router, not shown) may be involved in the communication between the devices.
[0200] In addition, this disclosure also includes forms obtained by applying various modifications to the embodiments that a person skilled in the art would think of, or forms realized by arbitrarily combining the components and functions of the embodiments within the scope that does not deviate from the intent of this disclosure.
[0201] The present disclosure is useful for techniques for adjusting networks in which TSN is introduced.
[0202] 100 Network system 111 to 114 Switches 121 to 126 Talkers 131 to 133 Listeners 141 Scheduler 201 Traffic specification acquisition unit 202 Grouping unit 203 Scheduling unit 204 Communication characteristic evaluation unit 205 Fitness calculation unit 206 Control unit 207 GCL generation unit 208 Distribution unit 2401 Priority filter 2402 Queue 2403 Gate 2404 GCL unit 2405 Transmission selector
Claims
1. A scheduling method for scheduling traffic transmission by a relay device in a network in which TSN (Time Sensitive Networking) is introduced, the scheduling method comprising: grouping multiple traffic streams into multiple groups before scheduling the traffic transmission based on traffic specifications indicating the specifications of the multiple traffic streams to be transmitted by the relay device; scheduling the traffic transmission by the relay device by assigning transmission periods for the multiple traffic streams to a schedule collectively for each group based on group specifications indicating the specifications of the multiple groups; generating a Gate Control List (GCL) that controls a Time Aware Shaper (TAS) based on the schedule; and distributing the GCL to the relay device.
2. The scheduling method according to claim 1, wherein, in grouping the plurality of traffic streams, traffic streams that have one or more items included in the traffic specification in common are grouped into the same group.
3. The scheduling method according to claim 1, wherein the traffic specification includes one or more items of traffic priority, traffic transmission period, traffic route, and traffic data size.
4. The scheduling method according to claim 1, wherein the group specification includes one or more items of (i) a group identifier, (ii) an identifier of traffic belonging to the group, (iii) a priority of the traffic belonging to the group, (iv) a transmission period of the traffic belonging to the group, (v) a route of the traffic belonging to the group, and (vi) a data size of the traffic belonging to the group.
5. The scheduling method according to claim 4, wherein (v) the route of the traffic belonging to the group is a union of the routes of each traffic belonging to the group.
6. The scheduling method of claim 4, wherein in scheduling the traffic transmission, for each group, the transmission period is assigned to one of a plurality of gates provided in the relay device for controlling the traffic transmission based on the priority of the traffic belonging to the (iii) group included in the group specification, according to priority, and in generating the GCL, the GCL is generated to open the gate during the assigned transmission period and to close the gate during a period to which the transmission period is not assigned.
7. The scheduling method according to claim 4, wherein the length of the transmission period is determined by the product of a weighting factor associated with a group to which the traffic belongs and the maximum frame length of one or more traffics belonging to that group.
8. The scheduling method according to any one of claims 1 to 7, wherein the GCL is delivered to the relay device in a data model conforming to YANG (Yet Another Next Generation), and the data model includes flag information indicating that the multiple traffic streams have been grouped and scheduled, and type information for identifying items included in the traffic specification used to group the multiple traffic streams.
9. A scheduling device that schedules traffic transmission by a relay device in a network in which TSN (Time Sensitive Networking) is introduced, comprising: a grouping unit that groups multiple traffic streams into multiple groups before scheduling the traffic transmission based on traffic specifications that indicate the specifications of the multiple traffic streams to be transmitted by the relay device; a scheduling unit that schedules the traffic transmission by the relay device by collectively allocating transmission periods for the multiple traffic streams to each group based on group specifications that indicate the specifications of the multiple groups; a GCL generation unit that generates a GCL (Gate Control List) that controls a TAS (Time Aware Shaper) based on the schedule; and a distribution unit that distributes the GCL to the relay device.
Citation Information
Patent Citations
Switch device and switch device control method
JP2017038226A
Method and device for communication network
JP2022046434A
Industrial automation using 5G and beyond
JP2022522630A