Control device, control method, and transfer device
The control device and method optimize network resources by dynamically allocating time slots and backup paths for high-priority flows, addressing the cost issue of redundant routes in delay-guaranteed communication networks.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- NT T INC
- Filing Date
- 2024-11-13
- Publication Date
- 2026-05-21
AI Technical Summary
Existing network configurations requiring delay-guaranteed communication necessitate multiple backup paths for high-priority flows, increasing costs due to the need for redundant routes.
A control device and method that dynamically allocates time slots and backup paths for high-priority flows, reducing the number of required backup routes by pre-calculating and switching to alternative paths upon failure, using a Time-Aware Shaper (TAS) mechanism to manage traffic and minimize queuing delays.
Reduces the number of backup routes needed for high-priority flows, optimizing network resources and minimizing costs while maintaining communication reliability and reducing queuing delays.
Smart Images

Figure JP2024040385_21052026_PF_FP_ABST
Abstract
Description
Control Device, Control Method, and Transfer Device
[0001] The present disclosure relates to a control device, a control method, and a transfer device.
[0002] In Non-Patent Document 1, LAG is defined. "LAG" is an abbreviation for link aggregation group. In Non-Patent Document 2, TAS is defined. "TAS" is an abbreviation for time aware shaper.
[0003] IEEE Computer Society, IEEE Std 802.3ad, “Link Aggregation”, 7 March 1999IEEE Computer Society, IEEE Std 802.1Qbv, “Enhancements for Scheduled Traffic”, 5 December 2015
[0004] By constructing a network with a plurality of nodes having a TAS function, a network function for guaranteeing the maximum delay and the maximum jitter, that is, delay-guaranteed communication can be realized. At this time, it is necessary to allocate a time slot dedicated to delay-guaranteed communication to the output ports of all nodes passing through end-to-end.
[0005] The mechanism of TAS is shown in FIG. 16. TAS performs priority control by determining the traffic to be transmitted according to a time-division schedule. Specifically, TAS stores frames in a FIFO queue for each VLAN-CoS or each IP-ToS, and permits transmission from the queue for which the gate is open according to the GCL. "VLAN" is an abbreviation for virtual local area network. "CoS" is an abbreviation for class of service. "IP" is an abbreviation for Internet Protocol. "ToS" is an abbreviation for type of service. "FIFO" is an abbreviation for first in, first out. "GCL" is an abbreviation for gate control list.
[0006] An example of a GCL is shown in Figure 17. The TAS can control best-effort traffic and delay-guaranteed communication in a superimposed manner. In the example shown in Figure 17, four high-priority flows and one low-priority flow are multiplexed. The high-priority flows correspond to delay-guaranteed communication. The low-priority flows correspond to communication without delay guarantee, i.e., best-effort traffic. The GCL shown in Figure 17 specifies that communication of CoS "7" ST is permitted in time slots 1 and 3, CoS "5" ST is permitted in time slot 2, CoS "4" ST is permitted in time slot 4, and NST of CoS "3" or lower is permitted in time slot 5. This GCL further specifies that the length of time for which communication is permitted in each time slot from time slot 1 to time slot 4 is 15 microseconds, and the length of time for which communication is permitted in time slot 5 is 100 microseconds.
[0007] To avoid collisions end-to-end, all nodes in the network must be time-synchronized, and the opening and closing timing of the GCL gates at each node must be synchronized. The GCL is either centrally managed by a controller called a CNC, or managed individually at each node. "CNC" is an abbreviation for centralized network configuration. Each node opens its gate considering propagation delay, thus preventing collisions with other communications and enabling communication without queuing delays. The transmitting terminal is also time-synchronized and periodically transmits frames in accordance with the GCL timing, enabling communication without queuing delays.
[0008] In a network using TAS, it is possible to enhance fault tolerance by providing multiple paths using redundancy technologies such as LAG or MC-LAG. "MC-LAG" is an abbreviation for multi-chassis link aggregation group. By adopting a configuration in which high-priority flows are carried on one path as usual, and high-priority flows are not carried on other redundant paths, if a failure occurs on the path carrying high-priority flows, communication of high-priority flows on an alternative path becomes possible. If there are multiple paths for high-priority flows, it is possible to provide separate backup paths for each high-priority flow path. For example, if there are two high-priority flow paths, path 1-1 which carries high-priority flows 1, 2, and 3, and path 2-1 which carries high-priority flows 4 and 5, it is possible to assign path 1-2 as a backup path for path 1-1 and path 2-2 as a backup path for path 2-1. However, if one or more backup paths must be provided for each high-priority flow path, then if there are N high-priority flow paths, then N or more redundant backup paths will also be required. Therefore, the larger N is, the greater the cost.
[0009] In light of these circumstances, the purpose of this disclosure is to reduce the number of backup routes that need to be prepared for use in the event of a failure of a delay-guaranteed communication route.
[0010] A control device according to one embodiment is a control device that sets a plurality of time slots for each port of a plurality of transfer devices, comprising: a communication unit that communicates with the plurality of transfer devices; and a control unit that transmits a gate control list, which defines the plurality of time slots and flows with a fixed transmission period that pass through the corresponding port in each time slot, to a transfer device having the corresponding port via the communication unit, and when, according to the gate control list transmitted to at least one of the plurality of transfer devices having a first port and a second port, frames of a first flow with a fixed transmission period are transmitted from the first port and frames of a second flow with lower priority than the first flow are transmitted from the second port, the control unit detects a fault in the first port and controls the at least one transfer device via the communication unit to transmit frames of the first flow from the second port.
[0011] A control method according to one embodiment includes: a control device that sets a plurality of time slots for each port of a plurality of transfer devices, and transmits a gate control list that defines the plurality of time slots and flows with a fixed transmission period that pass through the corresponding port in each time slot to a transfer device having the corresponding port; and when the control device detects a fault with the first port, in accordance with the gate control list transmitted to at least one transfer device among the plurality of transfer devices having a first port and a second port, and frames of a first flow with a fixed transmission period are transmitted from the first port and frames of a second flow with lower priority than the first flow are transmitted from the second port, the control device controls the at least one transfer device to transmit frames of the first flow from the second port.
[0012] A transfer device according to one embodiment has a first port and a second port, and is a transfer device that sets a plurality of time slots for each port, and creates a gate control list that defines the plurality of time slots and flows with a fixed transmission period that pass through the corresponding port in each time slot, and when a fault is detected in the first port, the control unit transmits the frames of the first flow from the second port when the first port transmits frames of the first flow with a fixed transmission period according to the gate control list and frames of a second flow with a lower priority than the first flow are transmitted from the second port.
[0013] According to this disclosure, it is possible to reduce the number of backup routes that need to be prepared for use in the event of a failure of a latency-guaranteed communication route.
[0014] This is a block diagram showing the configuration of a communication system according to one embodiment. This is a block diagram showing the configuration of the control device. This is a block diagram showing the configuration of each transfer device. This is a diagram showing normal communication in the first embodiment. This is a diagram showing communication when a failure occurs in the first embodiment. This is a diagram showing normal communication in the second embodiment. This is a diagram showing communication when a failure occurs in the second embodiment. This is a flowchart showing the operation of the control device. This is a diagram showing normal communication in the third embodiment. This is a diagram showing communication when a failure occurs in the third embodiment. This is a diagram showing communication when a failure is recovered in the third embodiment. This is a flowchart showing a modified example of the operation of the control device. This is a diagram showing normal communication in the fourth embodiment. This is a diagram showing communication when a failure occurs in the fourth embodiment. This is a diagram showing the mechanism of TAS. This is a table showing an example of GCL.
[0015] One embodiment will be described below with reference to the figures.
[0016] In each figure, identical or corresponding parts are denoted by the same reference numerals. In the description of this embodiment, the description of identical or corresponding parts will be omitted or simplified as appropriate.
[0017] Referring to Figure 1, the configuration of the communication system 10 according to this embodiment will be described.
[0018] The communication system 10 comprises a control device 20 and a plurality of transfer devices 30. The control device 20 and each transfer device 30 are connected by a control communication network and can communicate with each other via the control communication network. The plurality of transfer devices 30 form a main signal communication network and can transfer frames between any user terminals via the main signal communication network.
[0019] The control device 20 is a computer that monitors and controls each transfer device 30. Each transfer device 30 is a device that accommodates users and transfers frames to a port designated for each destination user terminal. The number of transfer devices 30 is not limited to the six shown in Figure 1, but can be any number of two or more. In this embodiment, the control device 20 functions as a CNC, and each transfer device 30 functions as a TAS-compatible switch. Each user terminal is, for example, a terminal such as a mobile device or PC, or a server such as a cloud server. "PC" is an abbreviation for personal computer. Mobile devices may also be IoT devices. "IoT" is an abbreviation for Internet of Things. Each user terminal can be either the start or end point of a flow.
[0020] Referring to Figure 2, the configuration of the control device 20 according to this embodiment will be described.
[0021] The control device 20 comprises a control unit 21, a storage unit 22, and a communication unit 23.
[0022] The control unit 21 includes at least one processor, at least one programmable circuit, at least one dedicated circuit, or any combination thereof. The processor is a general-purpose processor such as a CPU or GPU, or a dedicated processor specialized for a specific process. "CPU" is an abbreviation for central processing unit. "GPU" is an abbreviation for graphics processing unit. The programmable circuit is, for example, an FPGA. "FPGA" is an abbreviation for field-programmable gate array. The dedicated circuit is, for example, an ASIC. "ASIC" is an abbreviation for application specific integrated circuit. The control unit 21 controls each part of the control device 20 and executes processes related to the operation of the control device 20. The control unit 21 has various functions such as a fault information receiving function 24, a backup path selection function 25, a fault GCL setting function 26, and a GCL distribution function 27.
[0023] The storage unit 22 includes at least one semiconductor memory, at least one magnetic memory, at least one optical memory, or any combination thereof. The semiconductor memory is, for example, RAM, ROM, or flash memory. "RAM" is an abbreviation for random access memory. "ROM" is an abbreviation for read-only memory. The RAM is, for example, SRAM or DRAM. "SRAM" is an abbreviation for static random access memory. "DRAM" is an abbreviation for dynamic random access memory. The ROM is, for example, EEPROM. "EEPROM" is an abbreviation for electrically erasable programmable read-only memory. The flash memory is, for example, SSD. "SSD" is an abbreviation for solid-state drive. The magnetic memory is, for example, HDD. "HDD" is an abbreviation for hard disk drive. The storage unit 22 functions, for example, as main memory, auxiliary memory, or cache memory. The storage unit 22 stores information used for the operation of the control device 20 and information obtained through the operation of the control device 20. The storage unit 22 has various areas, such as a route information management area 28 and a GCL storage area 29.
[0024] The communication unit 23 includes at least one communication module. The communication module is, for example, a module compatible with LAN communication standards such as Ethernet (registered trademark). "LAN" is an abbreviation for local area network. The communication unit 23 communicates with each transfer device 30. The communication unit 23 receives information used in the operation of the control device 20, such as fault information 12, and transmits information obtained through the operation of the control device 20, such as GCL 11.
[0025] The functions of the control device 20 are realized by executing the control program according to this embodiment on the processor acting as the control unit 21. In other words, the functions of the control device 20 are realized by software. The control program causes the computer to perform the operations of the control device 20, thereby causing the computer to function as the control device 20. That is, the computer functions as the control device 20 by performing the operations of the control device 20 according to the control program.
[0026] Some or all of the functions of the control device 20 may be implemented by a programmable circuit or dedicated circuit as the control unit 21. In other words, some or all of the functions of the control device 20 may be implemented by hardware.
[0027] Referring to Figure 3, the configuration of each transfer device 30 according to this embodiment will be described.
[0028] The transfer device 30 comprises a control unit 31, a storage unit 32, and a communication unit 33.
[0029] The control unit 31 includes at least one processor, at least one programmable circuit, at least one dedicated circuit, or any combination thereof. The processor is a general-purpose processor such as a CPU or GPU, or a dedicated processor specialized for a specific process. The programmable circuit is, for example, an FPGA. The dedicated circuit is, for example, an ASIC. The control unit 31 controls each part of the transfer device 30 and executes processes related to the operation of the transfer device 30. The control unit 31 has various functions such as a GCL receiving function 34, a GCL execution function 35, and a fault information transmission function 36.
[0030] The storage unit 32 includes at least one semiconductor memory, at least one magnetic memory, at least one optical memory, or any combination thereof. The semiconductor memory is, for example, RAM, ROM, or flash memory. The RAM is, for example, SRAM or DRAM. The ROM is, for example, EEPROM. The flash memory is, for example, SSD. The magnetic memory is, for example, HDD. The storage unit 32 functions, for example, as a main memory, auxiliary memory, or cache memory. The storage unit 32 stores information used for the operation of the transfer device 30 and information obtained by the operation of the transfer device 30. The storage unit 32 has various areas, such as a GCL storage area 37.
[0031] The communication unit 33 includes at least one communication module. The communication module is, for example, a module compatible with a LAN communication standard such as Ethernet (registered trademark). The communication unit 33 communicates with each transfer device 30. The communication unit 33 receives information used for the operation of the transfer device 30, such as GCL 11, and transmits information obtained from the operation of the transfer device 30, such as fault information 12.
[0032] The functions of the transfer device 30 are realized by executing the communication program according to this embodiment on the processor acting as the control unit 31. In other words, the functions of the transfer device 30 are realized by software. The communication program causes the computer to perform the operations of the transfer device 30, thereby causing the computer to function as the transfer device 30. That is, the computer functions as the transfer device 30 by performing the operations of the transfer device 30 according to the communication program.
[0033] Some or all of the functions of the transfer device 30 may be implemented by a programmable circuit or dedicated circuit as the control unit 31. In other words, some or all of the functions of the transfer device 30 may be implemented by hardware.
[0034] Programs such as control programs or communication programs can be stored on a non-temporary computer-readable medium. Examples of non-temporary computer-readable media include flash memory, magnetic recording devices, optical discs, magneto-optical recording media, or ROM. Programs are distributed, for example, by selling, transferring, or lending portable media such as SD cards, DVDs, or CD-ROMs on which the programs are stored. "SD" is an abbreviation for Secure Digital. "DVD" is an abbreviation for digital versatile disc. "CD-ROM" is an abbreviation for compact disc read only memory. Programs may also be distributed by storing them in server storage and transferring them from the server to other computers. Programs may also be provided as program products.
[0035] A computer, for example, stores a program stored on a portable medium or a program transferred from a server in its main memory. Then, the computer reads the program stored in the main memory with its processor and executes the processing according to the read program. The computer may also read a program directly from the portable medium and execute the processing according to the program. The computer may also execute the processing according to the received program sequentially each time a program is transferred to it from a server. Processing may also be performed by a so-called ASP type service, which does not transfer programs from the server to the computer, but realizes its function only through execution instructions and result retrieval. "ASP" is an abbreviation for application service provider. A program includes information used for processing by an electronic computer that is equivalent to a program. For example, data that is not a direct instruction to the computer but has the nature of defining the computer's processing falls under "equivalent to a program".
[0036] The outline of this embodiment will be described with reference to Figures 1 to 3.
[0037] This embodiment relates to TAS, which is an elemental technology in TSN that realizes networks requiring real-time performance, such as industrial networks, using existing Ethernet (registered trademark) technology. "TSN" is an abbreviation for Time-Sensitive Networking.
[0038] In this embodiment, steps 1 to 3 below are performed in advance, and step 4 is performed in the event of a path failure. 1. Divide the multiple paths between the two forwarding devices 30 into high-priority flow paths and backup paths. Select backup paths equal to the number of acceptable path failures. For example, divide three paths into high-priority flow paths HF1, HF2, and HF3 (path 1-1), high-priority flow paths HF4 and HF5, and backup path 1. 2. Create a GCL 11 at each port for high-priority flows. 3. The backup path is normally used for purposes other than high-priority flow communication. One example is best-effort traffic communication. 4. When a failure occurs on a high-priority flow path, select a backup path that is not being used by other high-priority flows, and assign the GCL 11 for the high-priority flow that was flowing on the failed path to the corresponding port of the forwarding device 30 on the backup path. It is desirable that the GCL 11 to be assigned to the backup path be calculated in advance.
[0039] When a high-priority flow path fails, the above step 4 is activated, dynamically selecting a backup path for the high-priority flow. Therefore, according to this embodiment, it is no longer necessary to prepare one backup path for each high-priority flow path, and the number of backup paths can be reduced.
[0040] As shown in Figure 1, the control device 20 is connected to multiple transfer devices 30. The control device 20 designs the GCL 11 for each transfer device 30. The multiple transfer devices 30 constitute a communication network that transmits and receives information such as frames. In the communication network, there are multiple paths from one transfer device 30 to another transfer device 30.
[0041] As shown in FIG. 2, the control device 20 has a failure information receiving function 24, a standby path selection function 25, a GCL setting function 26 at the time of failure, a GCL distribution function 27, a path information management area 28, and a GCL storage area 29.
[0042] The failure information receiving function 24 is a function of receiving failure information 12 from the transfer device 30 when a failure occurs on the communication network. The failure information 12 is information for transmitting a failure to the control device 20 when a failure occurs on the link connected to the transfer device 30.
[0043] The path information management area 28 is an area for managing the state of each path. In the path information management area 28, information such as whether each path is a high-priority flow path or a standby path, the presence or absence of a failure in each path, and the use of high-priority flow in each path is managed.
[0044] The standby path selection function 25 is a function of selecting a standby path for flowing a high-priority flow existing on the failed path based on information on the non-failed paths. The standby path selection function 25 receives failure path information indicating which high-priority flow path has failed and non-failed path information indicating the presence or absence of a failure and the use of high-priority flow. The failure path information includes, for example, information such as "the path for high-priority flow 3 has failed". The non-failed path information includes, for example, information such as "high-priority flow 1 path: in failure, in use", "high-priority flow 2 path: non-failed, in use", "standby path 1: non-failed, in use", or "standby path 2: non-failed, not in use". Information indicating which standby path to use, such as "standby path 2", is output from the standby path selection function 25.
[0045] The GCL storage area 29 is an area where the GCL 11 is stored. The GCL 11 is calculated in advance and used during normal or failure times.
[0046] When a failure occurs, the GCL setting function 26 is a function that switches from the GCL 11 stored in the GCL storage area 29 to the pre-calculated GCL 11 corresponding to the failure path and the selected backup path. The failure-time GCL setting function 26 receives the failure path information and information indicating which backup path, such as "backup path 2", is to be used. The failure-time GCL setting function 26 outputs the GCL 11 to be assigned to the transfer device 30 on the backup path.
[0047] The GCL distribution function 27 is a function that distributes the GCL 11 to the transfer device 30.
[0048] As shown in FIG. 3, each transfer device 30 has a GCL reception function 34, a GCL execution function 35, a failure information transmission function 36, and a GCL storage area 37.
[0049] The GCL reception function 34 is a function that receives the GCL 11 from the control device 20.
[0050] The GCL execution function 35 is a function that executes the GCL 11 at each port of the transfer device 30.
[0051] The failure information transmission function 36 is a function that transmits the failure information 12 to the control device 20 when a failure occurs on the communication network.
[0052] Referring to FIGS. 4 and 5, the first embodiment will be described.
[0053] In the first embodiment, two transfer devices 30 are connected by different paths. Specifically, the transfer device 30A and the transfer device 30B are connected by three paths R1, R2, and R3.
[0054] Each path is divided into a high-priority flow path and a backup path. Specifically, the path R1 that does not sandwich the transfer device 30 is the path for the high-priority flows HF1, HF2, and HF3, the path R2 via the transfer device 30C is the path for the high-priority flows HF4 and HF5, and the path R3 via the transfer device 30D is set as the backup path.
[0055] Since the high-priority flow path and the backup path are different paths and the GCL 11 when flowing the high-priority flow is also different, the GCL 11 is pre-calculated by the control device 20 and stored in the GCL storage area 29.
[0056] Under normal circumstances, different high-priority flows are routed through the high-priority flow paths. Specifically, as shown in Figure 4, high-priority flows HF1, HF2, and HF3 are routed through path R1, and high-priority flows HF4 and HF5 are routed through path R2. In order to route high-priority flows HF1, HF2, and HF3 through path R1, A1, which is a GCL11 calculated in advance by the control device 20, is distributed to the transfer device 30A on path R1. In order to route high-priority flows HF4 and HF5 through path R2, A2 and C1, which are GCL11s calculated in advance by the control device 20, are distributed to the transfer devices 30A and 30C on path R2, respectively.
[0057] If a failure occurs in one of the high-priority flow routes, a backup route is selected, and a GCL11 is assigned to the backup route to transfer the high-priority flow that was flowing on the failed route. Specifically, as shown in Figure 5, if a failure occurs in route R1, GCLs A3 and D1, which were calculated in advance by the control device 20, are distributed to transfer devices 30A and 30D on route R3, respectively, in order to transfer the high-priority flows HF1, HF2, and HF3 to route R3.
[0058] A second embodiment will be described with reference to Figures 6 and 7.
[0059] In the second embodiment, two transfer devices 30 are connected by a LAG (Loop Aid Group). Specifically, transfer device 30A and transfer device 30B are connected by five paths R1, R2, R3, R4, and R5. For example, transfer device 30A and transfer device 30B are connected by five physical cables, forming a LAG.
[0060] Each path is divided into a high-priority flow path and a backup path. Specifically, to withstand simultaneous failures of up to two paths, paths R4 and R5 are set as backup paths, and the remaining three paths R1, R2, and R3 are set as high-priority flow paths.
[0061] Under normal circumstances, different high-priority flows are routed through the high-priority flow paths. Specifically, as shown in Figure 6, high-priority flows HF1, HF2, and HF3 are routed through paths R1, R2, and R3, respectively. To route high-priority flow HF1 through path R1, GCL11 A1, which was pre-calculated by the control device 20, is distributed to the forwarding device 30A on path R1. To route high-priority flow HF2 through path R2, GCL11 A2, which was pre-calculated by the control device 20, is distributed to the forwarding device 30A on path R2. To route high-priority flow HF3 through path R3, GCL11 A3, which was pre-calculated by the control device 20, is distributed to the forwarding device 30A on path R3. Best-effort traffic is routed through the backup paths R4 and R5.
[0062] If a failure occurs in one of the high-priority flow paths, one backup path is selected, and a GCL11 is assigned to the backup path to transfer the high-priority flow that was flowing on the failed path. If failures occur simultaneously in two of the high-priority flow paths, high-priority flows are assigned to each of the two backup paths, and a GCL11 is assigned to the backup path to transfer the high-priority flow that was flowing on each high-priority flow path. Specifically, as shown in Figure 7, if a failure occurs in path R1, GCL11 A4, which was calculated in advance by the control device 20, is distributed to the transfer device 30A on path R4 in order to transfer the high-priority flow HF1 to path R4. If a failure also occurs in path R3, GCL11 A5, which was calculated in advance by the control device 20, is distributed to the transfer device 30A on path R5 in order to transfer the high-priority flow HF3 to path R5. For A4, A1, which is the GCL11 for high-priority flow HF1, may be directly replaced with the port of route R4. For A5, A3, which is the GCL11 for high-priority flow HF3, may be directly replaced with the port of route R5.
[0063] Referring to Figure 8, the operation of the control device 20 according to this embodiment will be described. The operation described below corresponds to the control method according to this embodiment. That is, the control method according to this embodiment includes at least the steps S1 to S4 shown in Figure 8.
[0064] In S1, the control unit 21 of the control device 20 sets multiple time slots for each port of the multiple transfer devices 30. Specifically, the control unit 21 of the control device 20 creates a GCL 11 that defines multiple time slots and a flow with a fixed transmission period that passes through the corresponding port in each time slot.
[0065] As shown in Figure 4, in the first embodiment, the control unit 21 of the control device 20 creates A1 as a GCL 11 corresponding to the port of route R1 for flowing high-priority flows HF1, HF2, and HF3. The control unit 21 of the control device 20 creates A2 and C1 as GCL 11 corresponding to the port of route R2 for flowing high-priority flows HF4 and HF5.
[0066] As shown in Figure 6, in the second embodiment, the control unit 21 of the control device 20 creates A1 as the GCL 11 corresponding to the port of route R1 for flowing high-priority flow HF1. The control unit 21 of the control device 20 creates A2 as the GCL 11 corresponding to the port of route R2 for flowing high-priority flow HF2. The control unit 21 of the control device 20 creates A3 as the GCL 11 corresponding to the port of route R3 for flowing high-priority flow HF3.
[0067] In S2, the control unit 21 of the control device 20 transmits the GCL 11 created in S1 to the transfer device 30 having the corresponding port via the communication unit 23.
[0068] As shown in Figure 4, in the first embodiment, the control unit 21 of the control device 20 transmits A1 and A2 to the transfer device 30A via the communication unit 23. The control unit 21 of the control device 20 transmits C1 to the transfer device 30C via the communication unit 23.
[0069] As shown in Figure 6, in the second embodiment, the control unit 21 of the control device 20 transmits A1, A2, and A3 to the transfer device 30A via the communication unit 23.
[0070] Assume that, among the multiple transfer devices 30, at least one transfer device 30 having a first port and a second port transmits frames of a first flow with a fixed transmission cycle from the first port according to the GCL 11 transmitted to the transfer device 30, and frames of a second flow with a lower priority than the first flow transmit from the second port. When the control unit 31 of the at least one transfer device 30 detects a fault in the first port, it creates fault information 12 indicating the path in which the fault occurred. The control unit 31 of the at least one transfer device 30 transmits the created fault information 12 to the control device 20 via the communication unit 33. Known methods can be used for creating the fault information 12. In S3, the control unit 21 of the control device 20 detects a fault in the first port by receiving the fault information 12 via the communication unit 23.
[0071] As shown in Figure 5, in the first embodiment, the control unit 21 of the control device 20 detects a fault in a port on the path R1 by receiving fault information 12 from the transfer device 30A via the communication unit 23.
[0072] As shown in Figure 7, in the second embodiment, the control unit 21 of the control device 20 detects a fault in the ports of paths R1 and R3 by receiving fault information 12 from the transfer device 30A via the communication unit 23.
[0073] In S4, the control unit 21 of the control device 20 controls the at least one transfer device 30 via the communication unit 23 to transmit the frame of the first flow from the second port.
[0074] As shown in Figure 5, in the first embodiment, the control unit 21 of the control device 20 creates A3 and D1 as GCL11 corresponding to the ports of route R3 for transmitting high-priority flows HF1, HF2, and HF3. The control unit 21 of the control device 20 then transmits the created A3 and D1 to the transfer devices 30A and 30D via the communication unit 23, respectively, causing the frames of the high-priority flows HF1, HF2, and HF3 to be transmitted from the ports of route R3.
[0075] As shown in Figure 7, in the second embodiment, the control unit 21 of the control device 20 creates A4 as the GCL 11 corresponding to the port of route R4 for transmitting the high-priority flow HF1. Alternatively, the control unit 21 of the control device 20 may obtain A1 already created for the port of route R1 as A4 from the storage unit 22. Then, the control unit 21 of the control device 20 transmits the created or obtained A4 to the transfer device 30A via the communication unit 23, causing the frame of the high-priority flow HF1 to be transmitted from the port of route R4. The control unit 21 of the control device 20 creates A5 as the GCL 11 corresponding to the port of route R5 for transmitting the high-priority flow HF3. Alternatively, the control unit 21 of the control device 20 may obtain A3 already created for the port of route R3 as A5 from the storage unit 22. Then, the control unit 21 of the control device 20 transmits the created or acquired A5 to the transfer device 30A via the communication unit 23, causing the frame of the high-priority flow HF3 to be transmitted from the port of path R5.
[0076] As described above, this embodiment makes it possible to reduce the number of backup routes that need to be prepared for use in the event of a failure in the high-priority flow route.
[0077] It is desirable that the control unit 21 of the control device 20 creates both a first GCL that defines the first flow as a flow that passes through the first port and a second GCL that defines the first flow as a flow that passes through the second port before detecting a fault. In such an example, the control unit 21 of the control device 20 controls the at least one transfer device 30 via the communication unit 23 to start applying the first GCL to the first port before detecting a fault. When the control unit 21 of the control device 20 detects a fault, it controls the at least one transfer device 30 via the communication unit 23 to start applying the second GCL to the second port.
[0078] In the first embodiment, it is desirable for the control unit 21 of the control device 20 to create A3 in advance in S1 as GCL11 corresponding to the port of path R3 for flowing high-priority flows HF1, HF2, and HF3, and to store it in the storage unit 22.
[0079] In the second embodiment, it is desirable that the control unit 21 of the control device 20 prepares A4 in advance in S1 as the GCL 11 corresponding to the port of path R4 for flowing high-priority flow HF1 and stores it in the storage unit 22. It is also desirable that the control unit 21 of the control device 20 prepares A5 in advance in S1 as the GCL 11 corresponding to the port of path R5 for flowing high-priority flow HF3 and stores it in the storage unit 22.
[0080] A third embodiment will be described with reference to Figures 9 to 12.
[0081] In the third embodiment, two transfer devices 30 are connected by a LAG (Loop Aid Group). Specifically, transfer device 30A and transfer device 30B are connected by three paths R1, R2, and R3. For example, transfer device 30A and transfer device 30B are connected by three physical cables, forming a LAG.
[0082] Each route is divided into a high-priority flow route and a reserve route. Specifically, route R3 is set as the reserve route, and the remaining two routes R1 and R2 are set as high-priority flow routes.
[0083] Under normal circumstances, different high-priority flows are routed through the high-priority flow paths. Specifically, as shown in Figure 9, high-priority flows HF1, HF2, and HF3 are routed through path R1, and high-priority flows HF4 and HF5 are routed through path R2. In order to route high-priority flows HF1, HF2, and HF3 through path R1, A1, which is a GCL11 calculated in advance by the control device 20, is distributed to the forwarding device 30A on path R1. In order to route high-priority flows HF4 and HF5 through path R2, A2, which is a GCL11 calculated in advance by the control device 20, is distributed to the forwarding device 30A on path R2. Best-effort traffic is routed through the backup path, path R3.
[0084] If a failure occurs in one of the high-priority flow paths, a backup path is selected, and a GCL11 is assigned to that backup path to allow the high-priority flows that were flowing on the failed path to flow through that backup path. The failed path is then changed to a backup path, and the selected backup path is changed to a high-priority flow path. Specifically, as shown in Figure 10, if a failure occurs in path R1, GCL11 A1, which is for high-priority flows HF1, HF2, and HF3, is directly attached to the port of path R3 in order to allow the high-priority flows HF1, HF2, and HF3 to flow through path R3.
[0085] Even after a route failure is resolved, each route is used for its new purpose. Specifically, as shown in Figure 11, high-priority flows HF1, HF2, and HF3 are carried on route R3, and high-priority flows HF4 and HF5 are carried on route R2. Best-effort traffic is carried on route R1, which was the route that experienced the failure, after the recovery.
[0086] Subsequently, if a failure occurs on the high-priority flow path, the control device 20 repeatedly changes the path information and assigns the GCL 11. Specifically, as shown in Figure 12, if a failure occurs on path R2, A2, which is the GCL 11 for high-priority flows HF4 and HF5, is directly connected to the port on path R1 in order to allow the high-priority flows HF4 and HF5 to flow through path R1.
[0087] Referring to Figure 13, a modified example of the operation of the control device 20 according to this embodiment will be described. The operation described below corresponds to a modified example of the control method according to this embodiment. That is, a modified example of the control method according to this embodiment includes at least steps S1 to S6 shown in Figure 13.
[0088] Steps S1 through S4 are the same as those shown in Figure 8, so their explanation will be omitted.
[0089] As shown in Figure 9, in the third embodiment, the control unit 21 of the control device 20 creates A1 as a GCL 11 corresponding to the port of route R1 for transmitting high-priority flows HF1, HF2, and HF3. The control unit 21 of the control device 20 creates A2 as a GCL 11 corresponding to the port of route R2 for transmitting high-priority flows HF4 and HF5. The control unit 21 of the control device 20 transmits A1 and A2 to the transfer device 30A via the communication unit 23.
[0090] As shown in Figure 10, in the third embodiment, the control unit 21 of the control device 20 detects a fault in a port on route R1 by receiving fault information 12 from the transfer device 30A via the communication unit 23. The control unit 21 of the control device 20 obtains the A1 that has been created for the port on route R1 from the storage unit 22 as the GCL 11 corresponding to the port on route R3. Then, the control unit 21 of the control device 20 transmits the obtained A1 to the transfer device 30A via the communication unit 23, causing the high-priority flow frames HF1, HF2, and HF3 to be transmitted from the port on route R3.
[0091] When the control unit 31 of the at least one transfer device 30 detects the recovery of a fault for the first port, it creates fault information 12 indicating the path recovered from the fault. The control unit 31 of the at least one transfer device 30 transmits the created fault information 12 to the control device 20 via the communication unit 33. Known methods can be used to create the fault information 12. In S5, the control unit 21 of the control device 20 detects the recovery of the fault for the first port by receiving the fault information 12 via the communication unit 23.
[0092] In S6, the control unit 21 of the control device 20 controls the at least one transfer device 30 via the communication unit 23 to transmit the frame of the second flow from the first port.
[0093] As shown in Figure 11, in the third embodiment, the control unit 21 of the control device 20 receives fault information 12 from the transfer device 30A via the communication unit 23, and when it detects that the fault has been resolved for a port on route R1, it controls the transfer device 30A via the communication unit 23 to transmit best-effort traffic frames from the port on route R1.
[0094] In one modified example of this embodiment, each transfer device 30 may have a CNC function. That is, instead of being implemented as the control device 20, the CNC may be distributed among the transfer devices.
[0095] A fourth embodiment in which this modification is applied to the first embodiment will be described with reference to Figures 14 and 15.
[0096] In the fourth embodiment, the control device 20 is not required.
[0097] In the fourth embodiment, two CNC-equipped transfer devices 30 are connected by different paths. Specifically, transfer device 30A and transfer device 30B are connected by three paths R1, R2, and R3.
[0098] Each path is divided into a high-priority flow path and a reserve path. Specifically, path R1, which does not involve the transfer device 30, is set as the high-priority flow path for HF1, HF2, and HF3; path R2, which goes through the transfer device 30C, is set as the high-priority flow path for HF4 and HF5; and path R3, which goes through the transfer device 30D, is set as the reserve path.
[0099] Since the high-priority flow path and the backup path are different paths, and the GCL 11 used when the high-priority flow is routed is also different, the GCL 11 is calculated in advance by each transfer device 30 and stored in the GCL storage area 37.
[0100] Under normal circumstances, different high-priority flows are routed through the high-priority flow paths. Specifically, as shown in Figure 14, high-priority flows HF1, HF2, and HF3 are routed through path R1, and high-priority flows HF4 and HF5 are routed through path R2. In order to route high-priority flows HF1, HF2, and HF3 through path R1, A1, which is GCL11 calculated in advance by transfer device 30A, is applied to the port of path R1 by transfer device 30A. In order to route high-priority flows HF4 and HF5 through path R2, A2 and C1, which are GCL11 calculated in advance by transfer devices 30A and 30C, are applied to the ports of path R2 by transfer devices 30A and 30C, respectively.
[0101] When a failure occurs in one of the high-priority flow paths, the transfer device 30 that detects the path failure selects one backup path, notifies the adjacent transfer device 30 of the backup path and failure information 12, and also replaces the GCL 11 of the transfer device 30 itself. Specifically, as shown in Figure 15, if a failure occurs between transfer devices 30B and 30C on path R2, transfer device 30C detects the failure, selects path R3 as a backup path, notifies transfer device 30A of the backup path and failure information 12, and stops applying C1 to the ports of path R2. When transfer device 30A receives notification of the backup path and failure information 12, it notifies transfer device 30D of the backup path and failure information 12, and stops applying A2 to the ports of path R2. Transfer device 30A further applies A3, which is a GCL11 calculated in advance by transfer device 30A, to the ports of route R3 in order to route high-priority flows HF1, HF2, and HF3 through route R3. When transfer device 30D receives notification of the backup route and fault information 12, it applies D1, which is a GCL11 calculated in advance by transfer device 30D, to the ports of route R3 in order to route high-priority flows HF1, HF2, and HF3 through route R3.
[0102] In the fourth embodiment, each transfer device 30 has the same functions as the control device 20's fault information receiving function 24, backup route selection function 25, and fault GCL setting function 26. On the other hand, the GCL receiving function 34 is not required.
[0103] When a failure occurs on a transmission path directly connected to the device, each transfer device 30 activates the backup route selection function, the failure-time GCL setting function, the GCL execution function 35, and the failure information transmission function 36 upon detection of the failure. On the other hand, when a failure occurs on a path not directly connected to the device, each transfer device 30 activates the failure information reception function, the backup route selection function, the failure-time GCL setting function, the GCL execution function 35, and the failure information transmission function 36 upon receiving notification of the backup route and failure information 12.
[0104] In this modified example, each transfer device 30 has a first port and a second port. The control unit 31 of each transfer device 30 sets up multiple time slots for each port. Specifically, the control unit 31 of each transfer device 30 creates a GCL 11 that defines the multiple time slots and a flow with a fixed transmission period that passes through the corresponding port in each time slot.
[0105] As shown in Figure 14, in the fourth embodiment, the control unit 31 of the transfer device 30A creates A1 as the GCL11 corresponding to the port of route R1 for carrying high-priority flows HF1, HF2, and HF3. The control units 31 of the transfer devices 30A and 30C create A2 and C1, respectively, as the GCL11 corresponding to the port of route R2 for carrying high-priority flows HF4 and HF5.
[0106] The control unit 31 of each transfer device 30 transmits frames of the first flow with a fixed transmission cycle from the first port, and transmits frames of the second flow with a lower priority than the first flow from the second port, according to the GCL 11. If it detects a fault at the first port, it transmits frames of the first flow from the second port.
[0107] As shown in Figure 15, in the fourth embodiment, when the control unit 31 of the transfer device 30C is transmitting frames of high-priority flows HF4 and HF5 from a port on path R2 according to C1, if it detects a fault at a port on path R2, it transmits fault information 12 to the transfer device 30A via the communication unit 33. The control unit 31 of the transfer device 30A receives the fault information 12 from the transfer device 30C via the communication unit 33, and if it detects a fault at a port on path R2, it transmits the fault information 12 to the transfer device 30D via the communication unit 33, and also creates A3 for transmitting high-priority flows HF4 and HF5 as GCL 11 corresponding to the port on path R3, and applies it to the port on path R3. When the control unit 31 of the transfer device 30D receives fault information 12 from the transfer device 30A via the communication unit 33 and detects a fault in a port on route R2, it creates a D1 for sending high-priority flows HF4 and HF5 as a GCL 11 corresponding to the port on route R3 and applies it to the port on route R3.
[0108] It is desirable for the control unit 31 of each transfer device 30 to create both a first GCL that defines the first flow as a flow that passes through the first port and a second GCL that defines the first flow as a flow that passes through the second port before detecting a fault. In such an example, the control unit 31 of each transfer device 30 starts applying the first GCL to the first port before detecting a fault. When the control unit 31 of each transfer device 30 detects a fault, it starts applying the second GCL to the second port.
[0109] In the fourth embodiment, it is desirable that the control units 31 of the transfer devices 30A and 30D pre-create A3 and D1, respectively, as GCL11 corresponding to the ports of the path R3, for transmitting high-priority flows HF4 and HF5, and store them in the storage unit 32.
[0110] This disclosure is not limited to the embodiments described above. For example, two or more blocks shown in the block diagram may be combined, or one block may be divided. Instead of executing two or more steps shown in the flowchart in chronological order as described, they may be executed in parallel or in a different order, depending on the processing capacity of the device performing each step, or as necessary. Other modifications are possible without departing from the spirit of this disclosure.
[0111] 10 Communication system 11 GCL 12 Fault information 20 Control unit 21, 31 Control unit 22, 32 Storage unit 23, 33 Communication unit 24 Fault information receiving function 25 Backup route selection function 26 Fault GCL setting function 27 GCL distribution function 28 Route information management area 29, 37 GCL storage area 30, 30A, 30B, 30C, 30D Transfer device 34 GCL receiving function 35 GCL execution function 36 Fault information transmission function
Claims
1. A control device for setting multiple time slots for each port of multiple transfer devices, comprising: a communication unit that communicates with the multiple transfer devices; and a control unit that transmits a gate control list, which defines the multiple time slots and flows with a fixed transmission period that pass through the corresponding port in each time slot, to the transfer devices having the corresponding ports, via the communication unit, and when, according to the gate control list transmitted to at least one transfer device among the multiple transfer devices having a first port and a second port, frames of a first flow with a fixed transmission period are transmitted from the first port and frames of a second flow with lower priority than the first flow are transmitted from the second port, the control unit detects a fault in the first port and controls the at least one transfer device via the communication unit to transmit frames of the first flow from the second port.
2. The control device according to claim 1, wherein the control unit creates both a first gate control list defining the first flow as a flow that passes through the first port and a second gate control list defining the first flow as a flow that passes through the second port before detecting the fault, controls the at least one transfer device via the communication unit to start applying the first gate control list to the first port before detecting the fault, and controls the at least one transfer device via the communication unit to start applying the second gate control list to the second port when the fault is detected.
3. The control device according to claim 1 or 2, wherein when the control unit detects the recovery of the fault, it controls the at least one transfer device via the communication unit to transmit the frame of the second flow from the first port.
4. A control method comprising: a control device that sets multiple time slots for each port of multiple transfer devices, transmitting a gate control list that defines the multiple time slots and flows with a fixed transmission period that pass through the corresponding port in each time slot to a transfer device having a corresponding port; and when the control device detects a fault with the first port, in accordance with the gate control list transmitted to at least one transfer device among the multiple transfer devices having a first port and a second port, and frames of a first flow with a fixed transmission period are transmitted from the first port and frames of a second flow with lower priority than the first flow are transmitted from the second port, the control device controls the at least one transfer device to transmit frames of the first flow from the second port.
5. The control method according to claim 4, further comprising: the control device creating both a first gate control list defining the first flow as a flow that passes through the first port and a second gate control list defining the first flow as a flow that passes through the second port before detecting the fault; the control device controlling at least one transfer device to start applying the first gate control list to the first port before detecting the fault; and the control device controlling at least one transfer device to start applying the second gate control list to the second port when it detects the fault.
6. The control method according to claim 4 or 5, further comprising the control device detecting the recovery of the fault and controlling at least one transfer device to transmit the frame of the second flow from the first port.
7. A transfer device having a first port and a second port, and having a plurality of time slots set for each port, wherein a gate control list is created that defines the plurality of time slots and flows with a fixed transmission period that pass through the corresponding port in each time slot, and a control unit is detected in the first port when a fault is detected in the first port, and the frames of the first flow with a fixed transmission period are transmitted from the first port and frames of the second flow which have a lower priority than the first flow are transmitted from the second port according to the gate control list, the control unit transmits the frames of the first flow from the second port.
8. The transfer device according to claim 7, wherein the control unit creates both a first gate control list that defines the first flow as a flow that passes through the first port and a second gate control list that defines the first flow as a flow that passes through the second port before detecting the fault, starts applying the first gate control list to the first port before detecting the fault, and starts applying the second gate control list to the second port when the fault is detected.