WO2023218666A1 - 通信制御装置、通信制御方法及び通信制御プログラム - Google Patents

通信制御装置、通信制御方法及び通信制御プログラム Download PDF

Info

Publication number
WO2023218666A1
WO2023218666A1 PCT/JP2022/020278 JP2022020278W WO2023218666A1 WO 2023218666 A1 WO2023218666 A1 WO 2023218666A1 JP 2022020278 W JP2022020278 W JP 2022020278W WO 2023218666 A1 WO2023218666 A1 WO 2023218666A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
allocation method
delay
stream
schedule
Prior art date
Application number
PCT/JP2022/020278
Other languages
English (en)
French (fr)
Inventor
慎 久保見
幸子 谷口
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2022/020278 priority Critical patent/WO2023218666A1/ja
Priority to JP2024506866A priority patent/JP7499992B2/ja
Publication of WO2023218666A1 publication Critical patent/WO2023218666A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic

Definitions

  • the present disclosure relates to communication control technology.
  • TAS Time Aware Shaper
  • a TAS-compatible switch maintains a gate for each queue of transmission ports. At the gate, frames are transmitted or transmission is suspended. If the gate is open, the frame is transmitted. On the other hand, if the gate is Closed, frame transmission is suspended.
  • a controller connected to the network calculates the gate opening/closing timing for each queue. The controller sets the calculation result (schedule) to each switch. By setting the calculation results in each switch, the controller can limit the flow rate of frames of each priority and can control the End-to-End delay.
  • Conventional scheduling methods are broadly classified into two types: Stream-Based (SB) and Class-Based (CB) (for example, Non-Patent Document 1).
  • SB is a method for securing gate open time (hereinafter, open time is referred to as a time slot) in units of frames.
  • CB is a method of securing time slots in units of groups of frames having the same priority.
  • CB is a method of securing time slots for each queue class.
  • SB has a greater number of constraint conditions for generating a schedule than CB, and achieves precise scheduling on a frame-by-frame basis.
  • the queuing delay can theoretically be suppressed to zero. Therefore, SB has higher end-to-end delay guarantee performance of a communication stream (hereinafter also simply referred to as stream) than CB.
  • stream end-to-end delay guarantee performance of a communication stream (hereinafter also simply referred to as stream) than CB.
  • stream a communication stream
  • FIG. 7 shows an example of scheduling by SB. Further, an example of scheduling using CB is shown in FIG.
  • SB Scheduling by SB is an NP-hard problem. Furthermore, SB requires many resources for scheduling as the network scale increases. Another problem is that the number of time slots is generally greater than that of CB. Furthermore, with CB scheduling, there is a possibility that requests to transmit multiple frames belonging to different streams may occur within a time slot. For this reason, scheduling using CB may cause a queuing delay. Therefore, CB has a problem in that the end-to-end delay guarantee performance of the stream is lower than that of SB. Furthermore, whether SB is essential or CB is sufficient for a certain stream is determined by the network configuration, such as the characteristics of the stream (transmission cycle, priority, etc.), requirements (end-to-end allowable delay, etc.). Therefore, it is difficult to appropriately use SB and CB for each stream.
  • One of the main purposes of the present disclosure is to solve the above problems. More specifically, the main objective of the present disclosure is to determine an appropriate time slot allocation scheme for communication streams.
  • the communication control device includes: The delay estimated to occur when a group allocation method that allocates time slots for transmitting communication frames in units of groups of one or more communication frames having common attributes is applied to communication frames included in a communication stream is acceptable. and if the delay is allowed, decide to allocate the time slot to the communication frame included in the communication stream according to the group allocation method, and if the delay is not allowed, an allocation method determining unit that determines to allocate the time slots to communication frames included in the communication stream according to a frame allocation method that allocates the time slots in units of communication frames; and a time slot allocation section that performs calculations to allocate the time slots to communication frames included in the communication stream according to the allocation method determined by the allocation method determination section.
  • FIG. 1 is a diagram showing a configuration example of a network according to Embodiment 1.
  • FIG. 1 is a diagram showing an example of a hardware configuration of a controller according to Embodiment 1.
  • FIG. 1 is a diagram showing an example of a functional configuration of a controller according to Embodiment 1.
  • FIG. 5 is a flowchart showing an example of the operation of the controller according to the first embodiment. 5 is a flowchart showing details of schedule policy determination processing according to the first embodiment.
  • FIG. 3 is a diagram illustrating an example of scheduling according to the first embodiment. The figure which shows the example of the scheduling by SB. The figure which shows the example of the scheduling by CB.
  • Embodiment 1 a configuration will be described in which an appropriate time slot allocation method is determined for each communication stream accommodated in a network. More specifically, for each communication stream, there is a time slot allocation method for each communication frame (frame allocation method) and a time slot allocation method for each group of one or more communication frames having a common attribute (group allocation method). Decide which one. In this embodiment, the description will proceed using SB as a specific example of a frame allocation method and CB as a specific example of a group allocation method.
  • FIG. 1 shows a configuration example of a network 1000 according to this embodiment.
  • a network 1000 according to this embodiment includes one controller 100, three switches 200, and two nodes 300.
  • the configuration of the network 1000 shown in FIG. 1 is an example, and the number of controllers 100, the number of switches 200, and the number of nodes 300 are not limited to the numbers shown in FIG.
  • the connection relationship among the controller 100, switch 200, and node 300 is not limited to the example shown in FIG. 1.
  • a plurality of communication frames belonging to a plurality of communication streams are transmitted and received between nodes 300 via one or more switches 200.
  • the controller 100 determines a time slot allocation method for each communication stream and calculates a schedule. Further, the controller 100 sets the calculated schedule to each switch 200. Controller 100 corresponds to a communication control device. The operating procedure of the controller 100 corresponds to a communication control method. Further, a program that realizes the operation of the controller 100 corresponds to a communication control program.
  • the switch 200 is a transfer device that transfers communication frames.
  • the communication frame is, for example, an Ethernet (registered trademark) frame.
  • the node 300 transmits and receives multiple communication frames belonging to multiple communication streams via the switch 200.
  • FIG. 2 shows an example of the hardware configuration of the controller 100 according to the present embodiment.
  • Controller 100 is a computer.
  • the controller 100 includes a processor 901, a main storage device 902, an auxiliary storage device 903, a communication interface 904, and an input/output device 905 as hardware.
  • the auxiliary storage device 903 stores programs that implement the functions of a network information acquisition unit 101, a network information processing unit 102, a schedule policy determination unit 103, a schedule calculation unit 104, and a schedule result output unit 105, which will be described later. These programs are loaded from the auxiliary storage device 903 to the main storage device 902.
  • the processor 901 executes these programs to operate the network information acquisition unit 101, network information processing unit 102, schedule policy determination unit 103, schedule calculation unit 104, and schedule result output unit 105, which will be described later.
  • the processor 901 writes and reads values of various variables used for schedule calculation into the main storage device 902.
  • the communication interface 904 transmits the calculated schedule to each switch 200.
  • the input/output device 905 receives input of network information, which will be described later.
  • the input/output device 905 outputs a schedule. Note that when a result of "no solution” is obtained, which will be described later, the input/output device 905 outputs a message notifying the result of "no solution”.
  • FIG. 3 shows an example of the functional configuration of the controller 100 according to the present embodiment.
  • the network information acquisition unit 101 acquires network information. Details of the network information will be described later.
  • the network information processing unit 102 generates parameters necessary for schedule calculation.
  • the schedule policy determining unit 103 determines a time slot allocation method for each communication stream. As described above, the time slot is the open time of the gate in the switch 200. In other words, a time slot is a time for transmitting a communication frame.
  • the schedule policy determining unit 103 determines for each communication stream which of SB (frame allocation method) and CB (group allocation method) to allocate time slots to communication frames. More specifically, the schedule policy determining unit 103 determines, for each communication stream, whether a delay that is estimated to occur when CB is applied to communication frames included in the communication stream is allowed. If the delay is acceptable, the schedule policy determining unit 103 determines to allocate time slots according to the CB.
  • SB frame allocation method
  • CB group allocation method
  • the schedule policy determining unit 103 determines to allocate time slots according to the SB.
  • the schedule policy determining unit 103 corresponds to an allocation method determining unit. Further, the processing performed by the schedule policy determining unit 103 corresponds to allocation method determining processing.
  • the schedule calculation unit 104 performs calculations to allocate time slots to communication frames included in each communication frame (calculates a schedule) according to the allocation method determined by the schedule policy determination unit 103.
  • the schedule calculation unit 104 corresponds to a time slot allocation unit. Furthermore, the processing performed by the schedule calculation unit 104 corresponds to time slot allocation processing.
  • the schedule result output unit 105 outputs the schedule result obtained by the schedule calculation unit 104 to the input/output device 905. Further, when a result of "no solution” is obtained, which will be described later, the schedule result output unit 105 outputs a message notifying the result of "no solution” to the input/output device 905.
  • the schedule result output unit 105 corresponds to a notification unit.
  • the network information acquisition unit 101 acquires network information.
  • Network information acquisition section 101 outputs the acquired network information to 102 and schedule calculation section 104 .
  • the network information includes the following information. 1) Topology information 2) Link speed information 3) Stream information
  • Topology information indicates the topology of network 1000. That is, the topology information indicates the connection relationship between devices included in the network 1000. Specifically, the topology information indicates which node 300 is connected to which switch 200, and which switch 200 is connected to which switch 200.
  • the link speed information indicates the communication speed of each link included in the network 1000. Specifically, the link speed information indicates the communication speed of each node/switch link and switch/switch link.
  • Stream information is information on a communication stream.
  • the stream information indicates the source node, destination node, communication route, transmission cycle, priority, end-to-end allowable delay, etc. for each communication stream.
  • the source node is the node 300 that is the source of the communication frame.
  • the destination node is the node 300 to which the communication frame is sent.
  • a communication route is a relay route for communication frames between a source node and a destination node.
  • the transmission cycle is the cycle at which the source node transmits communication frames.
  • the priority is the priority set to a communication frame.
  • the end-to-end allowable delay is the allowable delay time for a communication frame transmitted from a source node to arrive at a destination node.
  • step S102 the network information processing unit 102 generates parameters necessary for schedule calculation from the network information.
  • Parameters necessary for schedule calculation include the frame transmission time of each communication stream, cycle time (AdminCycleTime defined in IEEE 802.1Q-2018), and the like.
  • the cycle time is calculated, for example, by the least common multiple or greatest common divisor of the transmission cycles of streams accommodated in the network.
  • Network information processing unit 102 notifies schedule policy determining unit 103 and schedule calculation unit 104 of the generated parameters.
  • step S103 the schedule policy determining unit 103 determines a time slot allocation method for each communication stream. That is, the schedule policy determining unit 103 determines, for each communication stream, whether to allocate time slots to communication frames included in the communication stream according to the SB or CB. Note that the time slot allocation method (SB or CB) for each communication stream determined by the schedule policy determining unit 103 is also referred to as a schedule policy for each communication stream. Furthermore, the schedule policy determining unit 103 determines the number of classes to be used in SB and the number of classes to be used in CB. The schedule policy determination unit 103 notifies the schedule calculation unit 104 of the schedule policy for each communication stream, the number of classes used in SB, and the number of classes used in CB. Note that details of step S103 will be described later with reference to FIG.
  • SB and CB Some of the constraint conditions are common to SB and CB, while others are different between SB and CB.
  • SB and CB for example, the end-to-end delay that occurs when a communication frame is transferred according to the schedule obtained by calculation exceeds the allowable end-to-end delay of the corresponding communication stream. There is a constraint that it must not be done.
  • the SB-specific constraint conditions and the CB-specific constraint conditions can be arbitrarily set by the administrator of the network 1000 according to the operational policy of the network 1000. Note that since SB is determined as a scheduling policy for a communication stream with a strict allowable delay, SB is set to a high priority class, and CB is set to a low priority class.
  • FIG. 6 shows an example of a schedule obtained by the schedule calculation unit 104.
  • the number of classes used in SB is five, and the number of classes used in CB is three.
  • the schedule calculation unit 104 may generate a schedule common to all switches 200, or may generate an individual schedule for each switch 200, depending on the stream information.
  • step S104 the process of step S105 is performed.
  • a schedule is generated that satisfies all the constraint conditions.
  • “solution exists” is a case where the result of allocating time slots to the communication frames of each communication stream according to the schedule policy (assignment result) satisfies the constraint conditions.
  • the schedule result output unit 105 outputs the schedule in step S105.
  • the schedule result output unit 105 may output the schedule to the input/output device 905 or may output the schedule to the communication interface 904.
  • the schedule result output unit 105 outputs the schedule to the input/output device 905
  • the schedule can be presented to the administrator of the network 1000 who operates the controller 100. Further, when the schedule result output unit 105 outputs the schedule to the communication interface 904, the schedule is transmitted from the communication interface 904 to each switch 200.
  • step S104 if "no solution” is found in step S104, the process of step S106 is performed.
  • a schedule that satisfies all the constraint conditions cannot be generated.
  • the case of "no solution” is a case where the result (assignment result) of assigning time slots to the communication frames of each communication stream according to the schedule policy does not satisfy the constraint conditions.
  • the schedule result output unit 105 outputs a message notifying "no solution” and the cause of "no solution” in step S106. Specifically, the schedule result output unit 105 outputs a message notifying “no solution” and the cause of “no solution” to the input/output device 905.
  • the administrator of the network 1000 who operates the controller 100 can recognize the fact that there is "no solution” and the cause of the "no solution".
  • the schedule result output unit 105 notifies the constraint condition that is not satisfied as the cause of "no solution”.
  • the administrator can reconsider the configuration of the network 1000, the elements defined in the stream information, and the threshold calculation method (step S201) described below as a measure to obtain a solution.
  • the elements defined in the stream information include a source node, a destination node, a communication route, a transmission cycle, a priority, an end-to-end allowable delay, and the like.
  • the schedule result output unit 105 may notify the cause of "no solution" as well as a measure to obtain a solution. In other words, the schedule result output unit 105 may notify the time slot allocation result of a measure for satisfying the constraint condition.
  • the schedule result output unit 105 notifies, as measures for obtaining a solution, for example, a proposed modification of the configuration of the network 1000, a proposed modification of the elements defined in the stream information, a proposed modification of the threshold value calculation method (step S201), etc. do.
  • step S103 scheduling policy determination process
  • the schedule policy determining unit 103 calculates a threshold value.
  • the threshold value obtained in step S201 is a value for comparison with AD_i, which will be described later.
  • the schedule policy determining unit 103 calculates one value that is applied throughout the network 1000 as a threshold value.
  • the schedule policy determining unit 103 can obtain the threshold by dividing the cycle time obtained in step S102 by the number of transmission queue classes used in each switch 200. For example, when the cycle time is 80 ms and the number of classes is 8, the schedule policy determining unit 103 obtains 10 ms as the threshold.
  • Steps S202 to S208 are loop processing performed for each stream.
  • "i" is a variable for counting the number of streams. The value of “i” is incremented each time the loop processing of steps S202 to S208 is completed. When the value of "i" reaches the number of streams existing in the network 1000, the loop processing is completed.
  • step S203 the schedule policy determining unit 103 determines whether the stream information of stream i is known.
  • Stream information is known means that the stream information includes information necessary for calculating AD_i. If the stream information does not include information necessary for calculating AD_i, the schedule policy determining unit 103 determines that the stream information is not known. Furthermore, if the stream information has not been acquired for stream i, the schedule policy determining unit 103 determines that the stream information is not known.
  • step S204 the schedule policy determining unit 103 classifies stream i into CB. That is, the schedule policy determining unit 103 determines to allocate time slots of communication frames included in stream i according to the CB.
  • step S203 if the stream information of stream i is known (YES in step S203), the process advances to step S205.
  • step S205 the schedule policy determining unit 103 calculates AD_i for stream i.
  • AD_i is an index value of queuing delay allowed for stream i. Queuing delay is a delay that occurs due to queuing in one switch 200, and strictly speaking, even if the gate is Closed or Open, other frames are transmitted first. is the time a frame stays in the queue.
  • AD_i index value
  • the communication path is from the source node to the lower left switch to the lower right switch to the destination node.
  • the allowable end-to-end delay of stream i is 10 ms
  • the end-to-end delay when no queuing delay occurs in the two switches on the communication path is 2 ms
  • the allowable end-to-end delay of the two switches is 2 ms.
  • the total queuing delay will be 8ms.
  • the upper limit of 8 ms of this total queuing delay is divided by 2, the number of switches passing through, and 4 ms is set to AD_i as a value (index value) that is a guideline for the queuing delay allowed per switch.
  • a total of up to 8 ms is allowed, so for example, scheduling in which the queuing delay at the lower left switch is 3 ms and the queuing delay at the lower right switch is 5 ms is established.
  • SB scheduling is assigned. This embodiment anticipates suppressing the number of failures and the number of schedule recalculations.
  • AD_i may be an index value of fluctuation in queuing delay allowed for stream i. The queuing delay fluctuation is the difference between the maximum queuing delay time and the minimum queuing delay time.
  • AD_i is an index value of the allowable queuing delay for stream i, and an end-to-end allowable delay fluctuation is set for stream i. If so, AD_i may be used as an index value of fluctuation in queuing delay allowed for stream i.
  • the schedule policy determining unit 103 calculates AD_i using parameters such as the number of hops of stream i, the transmission cycle, the end-to-end allowable delay, and the end-to-end allowable delay fluctuation. Specifically, as mentioned in the explanation of the specific example of AD_i, the End-to-End delay when no queuing delay occurs in all switches on the communication path is subtracted from the End-to-End allowable delay.
  • the time be divided by the number of hops of stream i.
  • the end-to-end allowable delay in this calculation formula may be replaced with the transmission cycle of stream i or the end-to-end allowable delay fluctuation.
  • the number of hops of stream i is the number of switches through which a communication frame included in stream i is transferred from the source node 300 to the destination node 300.
  • the transmission cycle is the transmission cycle of communication frames in the node 300 that is the transmission source of the communication frames included in stream i.
  • the end-to-end allowable delay is an allowable value for the delay time from the source node 300 to the destination node 300 of a communication frame included in stream i.
  • the end-to-end allowable delay fluctuation is an allowable value for fluctuation in delay time from the transmission source node 300 to the transmission destination node 300 of the communication frame included in stream i.
  • the delay time fluctuation is the difference between the maximum delay time and the minimum delay time.
  • step S206 the schedule policy determining unit 103 compares the threshold value obtained in step S201 and AD_i obtained in S205. If AD_i is less than the threshold (YES in step S206), the process advances to step S207. On the other hand, if AD_i is equal to or greater than the threshold (NO in step S206), the process proceeds to step S204.
  • step S207 there is a high possibility that CB cannot satisfy the allowable delay, so the schedule policy determining unit 103 classifies stream i as SB.
  • the schedule policy determining unit 103 determines that the delay estimated to occur when applying CB to stream i (delay in one switch 200) is not allowable, and the time slot of the communication frame included in stream i It is decided to allocate according to the SB. In this manner, the schedule policy determining unit 103 determines whether or not the delay that is estimated to occur when applying CB is allowed in stream i by comparing AD_i with the threshold value.
  • step S204 there is a high possibility that the allowable delay can be satisfied with CB, so the schedule policy determining unit 103 classifies stream i as CB.
  • the schedule policy determining unit 103 determines that the delay estimated to occur when applying CB to stream i (delay at one switch 200) is allowable, and the time of the communication frame included in stream i Decide to allocate slots according to CB.
  • the schedule policy determining unit 103 determines the number of classes for SB so that the sum of the number of classes for SB and the number of classes for CB becomes the number of classes of the transmission queue used in each switch 200. and the number of classes for CB, respectively. Note that the schedule policy determining unit 103 can flexibly change the procedure for determining the number of classes depending on the stream information, the object to be optimized (resource consumption, etc.), and the like.
  • scheduling is performed by appropriately combining SB and CB. Therefore, according to the present embodiment, it is possible to suppress the consumption of resources (computer memory, calculation time) and the number of generated time slots while satisfying the allowable delay of each stream, thereby realizing suitable scheduling. be able to.
  • a processor 901 shown in FIG. 2 is an IC (Integrated Circuit) that performs processing.
  • the processor 901 is a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or the like.
  • the main storage device 902 shown in FIG. 2 is a RAM (Random Access Memory).
  • the auxiliary storage device 903 shown in FIG. 2 is a ROM (Read Only Memory), a flash memory, an HDD (Hard Disk Drive), or the like.
  • the communication interface 904 shown in FIG. 2 is an electronic circuit that executes data communication processing.
  • the communication interface 904 is, for example, a communication chip or NIC (Network Interface Card).
  • the input/output device 905 shown in FIG. 2 is a keyboard, mouse, display, etc.
  • the auxiliary storage device 903 also stores an OS (Operating System). At least a portion of the OS is executed by the processor 901.
  • the processor 901 executes programs that implement the functions of the network information acquisition unit 101, network information processing unit 102, schedule policy determination unit 103, schedule calculation unit 104, and schedule result output unit 105 while executing at least part of the OS. .
  • the processor 901 executes the OS, task management, memory management, file management, communication control, etc. are performed.
  • At least one of information, data, signal values, and variable values indicating the results of processing by the network information acquisition unit 101, network information processing unit 102, schedule policy determination unit 103, schedule calculation unit 104, and schedule result output unit 105 is , the main storage device 902, the auxiliary storage device 903, a register in the processor 901, and/or a cache memory.
  • the programs that realize the functions of the network information acquisition section 101, network information processing section 102, schedule policy determination section 103, schedule calculation section 104, and schedule result output section 105 include magnetic disks, flexible disks, optical disks, compact disks, Blu-ray discs, etc. (registered trademark) may be stored in a portable recording medium such as a disk or DVD. Then, a portable recording medium storing a program that implements the functions of the network information acquisition unit 101, network information processing unit 102, schedule policy determination unit 103, schedule calculation unit 104, and schedule result output unit 105 may be distributed. .
  • the controller 100 may be realized by a processing circuit.
  • the processing circuit is, for example, a logic IC (Integrated Circuit), a GA (Gate Array), an ASIC (Application Specific Integrated Circuit), or an FPGA (Field-Programmable Gate A). rray).
  • the network information acquisition section 101, the network information processing section 102, the schedule policy determination section 103, the schedule calculation section 104, and the schedule result output section 105 are each realized as part of a processing circuit.
  • the general concept of a processor and a processing circuit is referred to as a "processing circuitry.”
  • a processor and a processing circuit are each specific examples of "processing circuitry.”
  • 100 controller 101 network information acquisition unit, 102 network information processing unit, 103 schedule policy determination unit, 104 schedule calculation unit, 105 schedule result output unit, 200 switch, 300 node, 901 processor, 902 main storage, 903 auxiliary storage , 904 Communication interface, 905 Input/output device, 1000 Network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

スケジュール方針決定部(103)は、通信フレームを送信するためのタイムスロットを共通の属性を有する1以上の通信フレームのグループの単位で割り当てるグループ割当方式を通信ストリームに含まれる通信フレームに適用した場合に発生すると推定される遅延が許容されるか否かを判定し、前記遅延が許容される場合に、グループ割当方式に従って通信ストリームに含まれる通信フレームにタイムスロットを割り当てることを決定し、前記遅延が許容されない場合に、通信フレーム単位でタイムスロットを割り当てるフレーム割当方式に従って通信ストリームに含まれる通信フレームにタイムスロットを割り当てることを決定する。スケジュール計算部(104)は、スケジュール方針決定部(103)により決定された割当方式に従って、通信ストリームに含まれる通信フレームにタイムスロットを割り当てる計算を行う。

Description

通信制御装置、通信制御方法及び通信制御プログラム
 本開示は、通信制御技術に関する。
 IEEE802.1Q-2018では、Time Aware Shaper(TAS)が規定されている。TASは、イーサネット(登録商標)のネットワークで優先度の異なる通信フレーム(以下、単にフレームともいう)を時分割で転送する仕組みである。
 TASに対応したスイッチは、送信ポートのキューごとにゲートを保持する。ゲートではフレームの送信又は送信の保留が行われる。ゲートがOpenの場合はフレームが送信される。一方、ゲートがCloseの場合は、フレームの送信が保留される。
 キューごとのゲートの開閉タイミングはネットワークに接続されたコントローラが計算する。コントローラは、計算結果(スケジュール)を各スイッチに設定する。コントローラは、計算結果を各スイッチに設定することで、各優先度のフレームの流量を制限することができ、End-to-End遅延を制御することができる。
 従来のスケジューリングの方法は、Stream-Based(SB)とClass-Based(CB)の二種類に大別される(例えば、非特許文献1)。
 SBは、フレームの単位でゲートのOpen時間(以降、Open時間をタイムスロットという)を確保する方式である。一方、CBは、同じ優先度を有するフレームのグループの単位でタイムスロットを確保する方式である。具体的には、CBは、キューのクラスの単位でタイムスロットを確保する方式である。
 一般的に、SBでは、CBよりもスケジュールを生成するための制約条件数が多く、フレーム単位の緻密なスケジューリングを実現する。また、SBでは、理論的にはキューイング遅延を0に抑えることができる。このため、SBは、CBと比較し通信ストリーム(以下、単にストリームともいう)のEnd-to-Endの遅延保証性能が高い。
 CBでは、サイクルタイム内でクラスごとにタイムスロットが1度だけ設けられる。このため、CBでは、スケジューリングに必要なリソース(計算機のメモリ、演算時間)はネットワーク規模に依存せず、SBと比較してスケジューリングに必要なリソースが少なくてすむ。
 SBによるスケジューリングの例を図7に示す。また、CBによるスケジューリングの例を図8に示す。
D. Hellmanns, J. Falk, A. Glavackij, R. Hummen, S. Kehrer and F. Durr, "On the Performance of Stream-based, Class-based Time-aware Shaping and Frame Preemption in TSN," 2020 IEEE International Conference on Industrial Technology (ICIT), 2020, pp. 298-303, doi: 10.1109/ICIT45562.2020.9067122.
 SBによるスケジューリングはNP困難な問題である。また、SBでは、ネットワーク規模の増加に伴いスケジューリングに多くのリソースを必要とする。また、タイムスロットの数も一般的にCBよりも多くなるという課題がある。
 また、CBによるスケジューリングでは、タイムスロット内で異なるストリームに属する複数のフレームの送信要求が発生する可能性がある。このため、CBによるスケジューリングでは、キューイング遅延が発生し得る。そのため、CBでは、SBと比較してストリームのEnd-to-Endの遅延保証性能が低いという課題がある。
 更に、あるストリームについて、SBが必須か、またはCBで十分かは、そのストリームの特性(送信周期や優先度等)、要件(End-to-Endの許容遅延等)等のネットワーク構成により決まる。このため、ストリームごとにSBとCBとを適切に使い分けることは困難である。つまり、一つのネットワークに対してSBとCBとを組み合わせたスケジューリングを適用することは困難であるという課題がある。
 また、SBとCBとを適切に使い分けられない場合、例えば、SBの配分過多となった場合、リソースを過剰に消費し、必要以上にタイムスロットが生成されるという課題がある。
 本開示は、上記のような課題を解決することを主な目的の一つとしている。より具体的には、本開示は、通信ストリームに対して適切なタイムスロットの割当方式を決定することを主な目的とする。
 本開示に係る通信制御装置は、
 通信フレームを送信するためのタイムスロットを共通の属性を有する1以上の通信フレームのグループの単位で割り当てるグループ割当方式を通信ストリームに含まれる通信フレームに適用した場合に発生すると推定される遅延が許容されるか否かを判定し、前記遅延が許容される場合に、前記グループ割当方式に従って前記通信ストリームに含まれる通信フレームに前記タイムスロットを割り当てることを決定し、前記遅延が許容されない場合に、通信フレーム単位で前記タイムスロットを割り当てるフレーム割当方式に従って前記通信ストリームに含まれる通信フレームに前記タイムスロットを割り当てることを決定する割当方式決定部と、
 前記割当方式決定部により決定された割当方式に従って、前記通信ストリームに含まれる通信フレームに前記タイムスロットを割り当てる計算を行うタイムスロット割当部とを有する。
 本開示によれば、通信ストリームに対して適切なタイムスロットの割当方式を決定することができる。
実施の形態1に係るネットワークの構成例を示す図。 実施の形態1に係るコントローラのハードウェア構成例を示す図。 実施の形態1に係るコントローラの機能構成例を示す図。 実施の形態1に係るコントローラの動作例を示すフローチャート。 実施の形態1に係るスケジュール方針決定処理の詳細を示すフローチャート。 実施の形態1に係るスケジューリングの例を示す図。 SBによるスケジューリングの例を示す図。 CBによるスケジューリングの例を示す図。
 以下、実施の形態を図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分又は相当する部分を示す。
 実施の形態1.
 本実施の形態では、ネットワークに収容される通信ストリームごとに、適切なタイムスロットの割当方式を決定する構成を説明する。
 より具体的には、通信ストリームごとに、通信フレーム単位のタイムスロットの割当方式(フレーム割当方式)及び共通する属性を有する1以上の通信フレームのグループ単位のタイムスロットの割当方式(グループ割当方式)のいずれかを決定する。
 本実施の形態では、フレーム割当方式の具体例としてSBを用い、グループ割当方式の具体例としてCBを用いて説明を進める。
***構成の説明***
 図1は、本実施の形態に係るネットワーク1000の構成例を示す。
 本実施の形態に係るネットワーク1000は、1つコントローラ100と、3つのスイッチ200と、2つのノード300で構成される。なお、図1に示すネットワーク1000の構成は例示であり、コントローラ100の数、スイッチ200の数、ノード300の数は、図1に示す数に限定されない。また、コントローラ100、スイッチ200及びノード300の接続関係も図1に示す例に限定されない。
 本実施の形態では、ノード300とノード300との間で1つ以上のスイッチ200を介して複数の通信ストリームに属する複数の通信フレームが送受信される。
 コントローラ100は、通信ストリームごとにタイムスロットの割当方式を決定し、スケジュールを計算する。また、コントローラ100は、計算により得られたスケジュールを各スイッチ200に設定する。
 コントローラ100は、通信制御装置に相当する。コントローラ100の動作手順は、通信制御方法に相当する。また、コントローラ100の動作を実現するプログラムは、通信制御プログラムに相当する。
 スイッチ200は、通信フレームを転送する転送装置である。通信フレームは、例えば、イーサネット(登録商標)フレームである。
 ノード300は、スイッチ200を介して、複数の通信ストリームに属する複数の通信フレームを送受信する。
 図2は、本実施の形態に係るコントローラ100のハードウェア構成例を示す。
 本実施の形態に係るコントローラ100は、コンピュータである。
 コントローラ100は、ハードウェアとして、プロセッサ901、主記憶装置902、補助記憶装置903及び通信インタフェース904及び入出力装置905を備える。
 補助記憶装置903には、後述するネットワーク情報取得部101、ネットワーク情報加工部102、スケジュール方針決定部103、スケジュール計算部104及びスケジュール結果出力部105の機能を実現するプログラムが記憶されている。
 これらプログラムは、補助記憶装置903から主記憶装置902にロードされる。そして、プロセッサ901がこれらプログラムを実行して、後述するネットワーク情報取得部101、ネットワーク情報加工部102、スケジュール方針決定部103、スケジュール計算部104及びスケジュール結果出力部105の動作を行う。
 また、プロセッサ901は、主記憶装置902に対して、スケジュール計算のために用いられる各種変数の値の書き込み及び読み込みを行う。
 通信インタフェース904は、計算により得られたスケジュールを各スイッチ200に送信する。
 入出力装置905は、後述するネットワーク情報の入力を受け付ける。また、入出力装置905は、スケジュールを出力する。なお、後述する「解なし」との結果が得られた場合は、入出力装置905は、「解なし」との結果を通知するメッセージを出力する。
 図3は、本実施の形態に係るコントローラ100の機能構成例を示す。
 ネットワーク情報取得部101は、ネットワーク情報を取得する。
 ネットワーク情報の詳細は後述する。
 ネットワーク情報加工部102は、スケジュール計算に必要なパラメータを生成する。
 スケジュール方針決定部103は、通信ストリームごとに、タイムスロットの割当方式を決定する。タイムスロットは、前述したように、スイッチ200内のゲートのOpen時間である。つまり、タイムスロットは、通信フレームを送信するための時間である。
 スケジュール方針決定部103は、通信ストリームごとに、SB(フレーム割当方式)及びCB(グループ割当方式)のうちのいずれに従って通信フレームにタイムスロットを割り当てるかを決定する。
 より具体的には、スケジュール方針決定部103は、通信ストリームごとに、通信ストリームに含まれる通信フレームにCBを適用した場合に発生すると推定される遅延が許容されるか否かを判定する。そして、遅延が許容される場合は、スケジュール方針決定部103は、CBに従ってタイムスロットを割り当てることを決定する。一方、遅延が許容されない場合は、スケジュール方針決定部103は、SBに従ってタイムスロットを割り当てることを決定する。
 スケジュール方針決定部103は、割当方式決定部に相当する。また、スケジュール方針決定部103で行われる処理は、割当方式決定処理に相当する。
 スケジュール計算部104は、スケジュール方針決定部103で決定された割当方式に従って、各通信フレームに含まれる通信フレームにタイムスロットを割り当てる計算を行う(スケジュールを計算する)。
 スケジュール計算部104は、タイムスロット割当部に相当する。また、また、スケジュール計算部104で行われる処理は、タイムスロット割当処理に相当する。
 スケジュール結果出力部105は、スケジュール計算部104によるスケジュール結果を入出力装置905に出力する。また、後述する「解なし」との結果が得られた場合は、スケジュール結果出力部105は、「解なし」との結果を通知するメッセージを入出力装置905に出力する。
 スケジュール結果出力部105は、通知部に相当する。
***動作の説明***
 次に、本実施の形態に係るコントローラ100の動作例を説明する。
 ここでは、図4を参照して、コントローラ100が、ネットワーク情報を取得してからスケジュール結果を出力するまでの動作例を説明する。
 まず、ステップS101において、ネットワーク情報取得部101がネットワーク情報を取得する。ネットワーク情報取得部101は、取得したネットワーク情報を102とスケジュール計算部104に出力する。
 ここで、ネットワーク情報には以下の情報が含まれる。
1)トポロジー情報
2)リンク速度情報
3)ストリーム情報
 トポロジー情報は、ネットワーク1000のトポロジーを示す。つまり、トポロジー情報には、ネットワーク1000に含まれる機器の間の接続関係が示される。
 具体的には、トポロジー情報には、どのノード300とどのスイッチ200とが接続されているか、どのスイッチ200とどのスイッチ200とが接続されているかが示される。
 リンク速度情報には、ネットワーク1000に含まれるリンクごとにリンクの通信速度が示される。
 具体的には、リンク速度情報には、ノード/スイッチ間のリンク、スイッチ/スイッチ間のリンクの各々の通信速度が示される。
 ストリーム情報は、通信ストリームの情報である。ストリーム情報では、通信ストリームごとに、送信元ノード、送信先ノード、通信経路、送信周期、優先度、End-to-Endの許容遅延等が示される。
 送信元ノードとは、通信フレームの送信元のノード300である。
 送信先ノードとは、通信フレームの送信先のノード300である。
 通信経路とは、送信元ノードと送信先ノードとの間の通信フレームの中継経路である。
 送信周期とは、送信元ノードが通信フレームを送信する周期である。
 優先度とは、通信フレームに設定された優先度である。
 End-to-Endの許容遅延とは、送信元ノードから送信された通信フレームが送信先ノードに到着するまでの遅延時間の許容値である。
 次に、ステップS102において、ネットワーク情報加工部102がネットワーク情報からスケジュール計算に必要なパラメータを生成する。
 スケジュール計算に必要なパラメータには、各通信ストリームのフレーム送信時間、サイクルタイム(IEEE 802.1Q-2018で規定されるAdminCycleTime)等がある。
 サイクルタイムは、例えば、ネットワークに収容されるストリームの送信周期の最小公倍数、または最大公約数により計算される。
 ネットワーク情報加工部102は、生成したパラメータをスケジュール方針決定部103及びスケジュール計算部104に通知する。
 次に、ステップS103において、スケジュール方針決定部103が、通信ストリームごとにタイムスロットの割当方式を決定する。つまり、スケジュール方針決定部103は、通信ストリームごとに、当該通信ストリームに含まれる通信フレームをSBに従ってタイムスロットを割り当てるか、CBに従ってタイムスロットを割り当てるかを決定する。なお、スケジュール方針決定部103が決定した通信ストリームごとのタイムスロットの割当方式(SBかCBか)は、通信ストリームごとのスケジュール方針ともいう。
 また、スケジュール方針決定部103は、SBで使用するクラス数及びCBで使用するクラス数を決定する。
 スケジュール方針決定部103は、通信ストリームごとのスケジュール方針と、SBで使用するクラス数及びCBで使用するクラス数をスケジュール計算部104に通知する。
 なお、ステップS103の詳細は、図5を参照して後述する。
 次に、ステップS104において、スケジュール計算部104が、以下の情報を元にスケジュールの制約条件を生成する。更に、スケジュール計算部104は、制約条件をすべて満たす解(=スケジュール)を計算する。
1)ネットワーク情報取得部101から取得したネットワーク情報
2)ネットワーク情報加工部102から取得したパラメータ
3)スケジュール方針決定部103から取得した通信ストリームごとのスケジュール方針(SBかCBか)
4)スケジュール方針決定部103から取得したSBで使用するクラス数及びCBで使用するクラス数
 制約条件には、SBとCBで共通の制約条件もあればSBとCBで異なる制約条件もある。
 SBとCBで共通の制約条件として、例えば、計算により得られたスケジュールで通信フレームが転送された際に生じるEnd-to-End遅延が対応する通信ストリームのEnd-to-Endの許容遅延を超過してはならないという制約条件がある。
 SBに独自の制約条件及びCBに独自の制約条件は、それぞれ、ネットワーク1000の管理者がネットワーク1000の運用方針に従って任意に設定することができる。
 なお、許容遅延の厳しい通信ストリームのスケジュール方針としてSBが決定されるため、SBは高優先のクラスに設定され、CBは低優先のクラスに設定される。
 図6は、スケジュール計算部104により得られたスケジュールの例を示す。
 図6の例では、SBで使用するクラス数が5であり、CBで使用するクラス数が3である。
 なお、スケジュール計算部104は、ストリーム情報に応じて、全てのスイッチ200に共通するスケジュールを生成してもよいし、スイッチ200ごとの個別のスケジュールを生成してもよい。
 ステップS104で「解あり」の場合は、ステップS105の処理が行われる。「解あり」の場合は、制約条件が全て満たされるスケジュールが生成される場合である。つまり、「解あり」の場合は、スケジュール方針に従って各通信ストリームの通信フレームにタイムスロットを割り当てた結果(割当結果)が制約条件を満たす場合である。
 「解あり」の場合は、ステップS105において、スケジュール結果出力部105が当該スケジュールを出力する。
 スケジュール結果出力部105は、スケジュールを入出力装置905に出力してもよいし、スケジュールを通信インタフェース904に出力してもよい。スケジュール結果出力部105がスケジュールを入出力装置905に出力する場合は、コントローラ100を操作するネットワーク1000の管理者にスケジュールを提示することができる。また、スケジュール結果出力部105がスケジュールを通信インタフェース904に出力する場合は、通信インタフェース904から各スイッチ200にスケジュールが送信される。
 一方、ステップS104で「解なし」の場合は、ステップS106の処理が行われる。「解なし」の場合は、制約条件が全て満たされるスケジュールが生成できない場合である。つまり、「解なし」の場合は、スケジュール方針に従って各通信ストリームの通信フレームにタイムスロットを割り当てた結果(割当結果)が制約条件を満たさない場合である。
 「解なし」の場合は、ステップS106において、スケジュール結果出力部105が「解なし」を通知するメッセージと「解なし」の原因を出力する。具体的には、スケジュール結果出力部105は「解なし」を通知するメッセージと「解なし」の原因を入出力装置905に出力する。
 これにより、コントローラ100を操作するネットワーク1000の管理者は、「解なし」であることと「解なし」の原因を認識することができる。
 スケジュール結果出力部105は、例えば、「解なし」の原因として、満たされていない制約条件を通知する。
 ネットワーク1000の管理者は、スケジュール結果出力部105により通知された「解なし」の原因を参照することで、解(=スケジュール)を得るための方策を検討することができる。例えば、管理者は、解を得るための方策として、ネットワーク1000の構成、ストリーム情報に定義される要素、後述する閾値計算方法(ステップS201)を再検討することができる。ストリーム情報に定義される要素は、前述したように、送信元ノード、送信先ノード、通信経路、送信周期、優先度、End-to-Endの許容遅延等である。
 また、スケジュール結果出力部105は、「解なし」の原因に加えて、解を得るための方策を通知してもよい。つまり、スケジュール結果出力部105は、タイムスロットの割当結果が制約条件を満たすための方策を通知してもよい。スケジュール結果出力部105は、解を得るための方策として、例えば、ネットワーク1000の構成の修正案、ストリーム情報に定義される要素の修正案、閾値値計算方法(ステップS201)の修正案等を通知する。
 次に、図5を参照して、図4のステップS103(スケジュール方針決定処理)の詳細を説明する。
 まず、ステップS201において、スケジュール方針決定部103が閾値を計算する。
 ステップS201で得られる閾値は、後述するAD_iと比較するための値である。
 スケジュール方針決定部103は、閾値として、ネットワーク1000全体で適用される一つの値を計算する。スケジュール方針決定部103は、例えば、ステップS102で得られたサイクルタイムを、各スイッチ200で使用する送信キューのクラス数で除算して閾値を得ることができる。例えば、サイクルタイムが80ms、クラス数が8の場合は、スケジュール方針決定部103は、閾値として10msを得る。
 ステップS202~S208はストリームごとに行われるループ処理である。
 ここで、「i」はストリーム数をカウントするための変数である。ステップS202~S208のループ処理が終了する度に「i」の値がインクリメントされる。「i」の値がネットワーク1000に存在するストリーム数に達した場合にループ処理が完了する。
 ステップS203において、スケジュール方針決定部103は、ストリームiのストリーム情報が既知であるか否かを判定する。
 「ストリーム情報が既知である」とは、ストリーム情報がAD_iの計算に必要な情報を含んでいることを意味する。ストリーム情報がAD_iの計算に必要な情報を含んでいない場合は、スケジュール方針決定部103は、ストリーム情報が既知でないと判定する。また、ストリームiについてストリーム情報が取得できていない場合は、スケジュール方針決定部103は、ストリーム情報が既知でないと判定する。
 ストリームiのストリーム情報が既知でない場合(ステップS203でNO)は、処理がステップS204に進む。
 ステップS204では、スケジュール方針決定部103はストリームiをCBに分類する。
 つまり、スケジュール方針決定部103は、ストリームiに含まれる通信フレームのタイムスロットをCBに従って割り当てることを決定する。
 一方、ストリームiのストリーム情報が既知である場合(ステップS203でYES)は、処理がステップS205に進む。
 ステップS205では、スケジュール方針決定部103は、ストリームiについてAD_iを計算する。
 AD_iは、ストリームiで許容されるキューイング遅延の指標値である。キューイング遅延は、1つのスイッチ200でキューイングにより発生する遅延であり、厳密には、ゲートがCloseであったり、または、ゲートがOpenであっても他のフレームの送信が先に行われることで、フレームがキューに滞留する時間である。ここで、AD_i(指標値)の具体例を図1を用いて説明する。図1のネットワークにおいて、左側のノードをストリームiの送信元、右側のノードを送信先とし、左下と右下のスイッチを経由する(コントローラに直接接続されているスイッチを経由しない)通信を考える。このとき、通信経路は送信元ノード→左下スイッチ→右下スイッチ→送信先ノードとなる。ストリームiのEnd-to-Endの許容遅延を10ms、通信経路上の2台のスイッチでキューイング遅延が発生しない場合のEnd-to-End遅延を2msとすると、許容される2台のスイッチのキューイング遅延の合計は8msとなる。このキューイング遅延の合計の上限8msを経由するスイッチ台数2で割った4msを、スイッチ1台あたりに許容されるキューイング遅延の目安となる値(指標値)としてAD_iに設定する。当然、合計が8msまでであれば許容されるため、例えば、左下スイッチにおけるキューイング遅延を3ms、右下スイッチにおけるキューイング遅延を5msとするスケジューリングは成立する。しかし、CBのスケジューリングにより上記の指標値を超過するキューイング遅延となることが予想されるストリームに関しては、End-to-Endの許容遅延が厳しいと判断し、SBのスケジューリングを割り当てることで、スケジューリング失敗回数およびスケジュール再計算回数を抑制することを、本実施の形態では見込んでいる。
 また、AD_iは、ストリームiで許容されるキューイング遅延のゆらぎの指標値であってもよい。
 キューイング遅延のゆらぎは、キューイング遅延での最大遅延時間とキューイング遅延での最小遅延時間との差分である。ストリームiにEnd-to-Endの許容遅延が設定されている場合、AD_iをストリームiで許容されるキューイング遅延の指標値とし、ストリームiにEnd-to-Endの許容遅延ゆらぎが設定されている場合、AD_iをストリームiで許容されるキューイング遅延のゆらぎの指標値としてもよい。
 スケジュール方針決定部103は、ストリームiのホップ数、送信周期、End-to-Endの許容遅延、End-to-Endの許容遅延ゆらぎ等のパラメータを用いて、AD_iを計算する。具体的には、AD_iの具体例の説明で述べた通り、End-to-Endの許容遅延から通信経路上のすべてのスイッチでキューイング遅延が発生しない場合のEnd-to-End遅延を差し引いた時間を、ストリームiのホップ数で割った値とする。なお、本計算式におけるEnd-to-Endの許容遅延を、ストリームiの送信周期、またはEnd-to-Endの許容遅延ゆらぎに置き換えてもよい。
 ストリームiのホップ数は、ストリームiに含まれる通信フレームが送信元のノード300から送信先のノード300まで転送される際に経由するスイッチの台数である。
 送信周期は、ストリームiに含まれる通信フレームの送信元のノード300における通信フレームの送信周期である。
 End-to-Endの許容遅延は、ストリームiに含まれる通信フレームの送信元のノード300から送信先のノード300までの遅延時間に対する許容値である。
 End-to-Endの許容遅延ゆらぎは、ストリームiに含まれる通信フレームの送信元のノード300から送信先のノード300までの遅延時間のゆらぎに対する許容値である。遅延時間のゆらぎは、最大遅延時間と最小遅延時間との差分である。
 次に、ステップS206において、スケジュール方針決定部103は、ステップS201で得られた閾値と、S205で得られたAD_iとを比較する。
 AD_iが閾値未満であれば(ステップS206でYES)、処理がステップS207に進む。
 一方、AD_iが閾値以上であれば(ステップS206でNO)、処理がステップS204に進む。
 ステップS207では、CBでは許容遅延を満たせない可能性が高いため、スケジュール方針決定部103はストリームiをSBに分類する。
 つまり、スケジュール方針決定部103は、CBをストリームiに適用した場合に発生すると推定される遅延(1つのスイッチ200での遅延)が許容されないと判定し、ストリームiに含まれる通信フレームのタイムスロットをSBに従って割り当てることを決定する。
 このように、スケジュール方針決定部103は、AD_iと閾値とを比較することにより、CBを適用した場合に発生すると推定される遅延がストリームiで許容されるか否かを判定する。
 一方、ステップS204では、CBで許容遅延を満たせる可能性が高いため、スケジュール方針決定部103はストリームiをCBに分類する。
 つまり、スケジュール方針決定部103は、CBをストリームiに適用した場合に発生すると推定される遅延(1つのスイッチ200での遅延)が許容されると判定し、ストリームiに含まれる通信フレームのタイムスロットをCBに従って割り当てることを決定する。
 最後に、ステップS209において、スケジュール方針決定部103は、SB用のクラス数とCB用のクラス数の合計が、各スイッチ200で使用する送信キューのクラス数になるように、SB用のクラス数とCB用のクラス数のそれぞれを決定する。
 なお、スケジュール方針決定部103は、クラス数の決定手順を、ストリーム情報、最適化する対象(リソース消費量等)等に応じて柔軟に変更することができる。
***実施の形態の効果の説明***
 以上のように、本実施の形態では、SBとCBを適切に組合せてスケジューリングを行う。このため、本実施の形態によれば、各ストリームの許容遅延を満たしながら、リソース(計算機のメモリ、演算時間)の消費及び生成されるタイムスロット数を抑制することでき、好適なスケジューリングを実現することができる。
 なお、本実施の形態で説明した手順は一例である。
 このため、本実施の形態で説明した手順の一部のみを実施しても構わない。
 また、本実施の形態で説明した手順の少なくとも一部と、本実施の形態で説明していない手順とを組み合わせて実施しても構わない。
 また、本実施の形態に記載された構成及び手順を必要に応じて変更してもよい。
***ハードウェア構成の補足説明***
 最後に、コントローラ100のハードウェア構成の補足説明を行う。
 図2に示すプロセッサ901は、プロセッシングを行うIC(Integrated Circuit)である。
 プロセッサ901は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
 図2に示す主記憶装置902は、RAM(Random Access Memory)である。
 図2に示す補助記憶装置903は、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
 図2に示す通信インタフェース904は、データの通信処理を実行する電子回路である。
 通信インタフェース904は、例えば、通信チップ又はNIC(Network Interface Card)である。
 図2に示す入出力装置905は、キーボード、マウス、ディスプレイ等である。
 また、補助記憶装置903には、OS(Operating System)も記憶されている。
 そして、OSの少なくとも一部がプロセッサ901により実行される。
 プロセッサ901はOSの少なくとも一部を実行しながら、ネットワーク情報取得部101、ネットワーク情報加工部102、スケジュール方針決定部103、スケジュール計算部104及びスケジュール結果出力部105の機能を実現するプログラムを実行する。
 プロセッサ901がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
 また、ネットワーク情報取得部101、ネットワーク情報加工部102、スケジュール方針決定部103、スケジュール計算部104及びスケジュール結果出力部105の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、主記憶装置902、補助記憶装置903、プロセッサ901内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
 また、ネットワーク情報取得部101、ネットワーク情報加工部102、スケジュール方針決定部103、スケジュール計算部104及びスケジュール結果出力部105の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。そして、ネットワーク情報取得部101、ネットワーク情報加工部102、スケジュール方針決定部103、スケジュール計算部104及びスケジュール結果出力部105の機能を実現するプログラムが格納された可搬記録媒体を流通させてもよい。
 また、ネットワーク情報取得部101、ネットワーク情報加工部102、スケジュール方針決定部103、スケジュール計算部104及びスケジュール結果出力部105の少なくともいずれかの「部」を、「回路」又は「工程」又は「手順」又は「処理」又は「サーキットリー」に読み替えてもよい。
 また、コントローラ100は、処理回路により実現されてもよい。処理回路は、例えば、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)である。
 この場合は、ネットワーク情報取得部101、ネットワーク情報加工部102、スケジュール方針決定部103、スケジュール計算部104及びスケジュール結果出力部105は、それぞれ処理回路の一部として実現される。
 なお、本明細書では、プロセッサと処理回路との上位概念を、「プロセッシングサーキットリー」という。
 つまり、プロセッサと処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。
 100 コントローラ、101 ネットワーク情報取得部、102 ネットワーク情報加工部、103 スケジュール方針決定部、104 スケジュール計算部、105 スケジュール結果出力部、200 スイッチ、300 ノード、901 プロセッサ、902 主記憶装置、903 補助記憶装置、904 通信インタフェース、905 入出力装置、1000 ネットワーク。

Claims (7)

  1.  通信フレームを送信するためのタイムスロットを共通の属性を有する1以上の通信フレームのグループの単位で割り当てるグループ割当方式を通信ストリームに含まれる通信フレームに適用した場合に発生すると推定される遅延が許容されるか否かを判定し、前記遅延が許容される場合に、前記グループ割当方式に従って前記通信ストリームに含まれる通信フレームに前記タイムスロットを割り当てることを決定し、前記遅延が許容されない場合に、通信フレーム単位で前記タイムスロットを割り当てるフレーム割当方式に従って前記通信ストリームに含まれる通信フレームに前記タイムスロットを割り当てることを決定する割当方式決定部と、
     前記割当方式決定部により決定された割当方式に従って、前記通信ストリームに含まれる通信フレームに前記タイムスロットを割り当てる計算を行うタイムスロット割当部とを有する通信制御装置。
  2.  前記割当方式決定部は、
     複数の通信ストリームについて、通信ストリームごとに、前記タイムスロットの割当方式として、前記グループ割当方式及び前記フレーム割当方式のうちのいずれかを決定し、
     前記タイムスロット割当部は、
     通信ストリームごとに、前記割当方式決定部により決定された割当方式に従って、当該通信ストリームに含まれる通信フレームに前記タイムスロットを割り当てる計算を行う請求項1に記載の通信制御装置。
  3.  前記通信制御装置は、更に、
     前記割当方式決定部により決定された割当方式に従った前記タイムスロット割当部による前記複数の通信ストリームについての前記タイムスロットの割当結果が制約条件を満たさない場合に、前記割当結果が前記制約条件を満たさないことを通知する通知部を有する請求項2に記載の通信制御装置。
  4.  前記通知部は、
     前記割当結果が前記制約条件を満たさない原因を通知する請求項3に記載の通信制御装置。
  5.  前記通知部は、
     前記割当結果が前記制約条件を満たすための方策を通知する請求項3に記載の通信制御装置。
  6.  コンピュータが、通信フレームを送信するためのタイムスロットを共通の属性を有する1以上の通信フレームのグループの単位で割り当てるグループ割当方式を通信ストリームに含まれる通信フレームに適用した場合に発生すると推定される遅延が許容されるか否かを判定し、前記遅延が許容される場合に、前記グループ割当方式に従って前記通信ストリームに含まれる通信フレームに前記タイムスロットを割り当てることを決定し、前記遅延が許容されない場合に、通信フレーム単位で前記タイムスロットを割り当てるフレーム割当方式に従って前記通信ストリームに含まれる通信フレームに前記タイムスロットを割り当てることを決定し、
     前記コンピュータが、決定された割当方式に従って、前記通信ストリームに含まれる通信フレームに前記タイムスロットを割り当てる計算を行う通信制御方法。
  7.  通信フレームを送信するためのタイムスロットを共通の属性を有する1以上の通信フレームのグループの単位で割り当てるグループ割当方式を通信ストリームに含まれる通信フレームに適用した場合に発生すると推定される遅延が許容されるか否かを判定し、前記遅延が許容される場合に、前記グループ割当方式に従って前記通信ストリームに含まれる通信フレームに前記タイムスロットを割り当てることを決定し、前記遅延が許容されない場合に、通信フレーム単位で前記タイムスロットを割り当てるフレーム割当方式に従って前記通信ストリームに含まれる通信フレームに前記タイムスロットを割り当てることを決定する割当方式決定処理と、
     前記割当方式決定処理により決定された割当方式に従って、前記通信ストリームに含まれる通信フレームに前記タイムスロットを割り当てる計算を行うタイムスロット割当処理とをコンピュータに実行させる通信制御プログラム。
PCT/JP2022/020278 2022-05-13 2022-05-13 通信制御装置、通信制御方法及び通信制御プログラム WO2023218666A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2022/020278 WO2023218666A1 (ja) 2022-05-13 2022-05-13 通信制御装置、通信制御方法及び通信制御プログラム
JP2024506866A JP7499992B2 (ja) 2022-05-13 2022-05-13 通信制御装置、通信制御方法及び通信制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/020278 WO2023218666A1 (ja) 2022-05-13 2022-05-13 通信制御装置、通信制御方法及び通信制御プログラム

Publications (1)

Publication Number Publication Date
WO2023218666A1 true WO2023218666A1 (ja) 2023-11-16

Family

ID=88729868

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/020278 WO2023218666A1 (ja) 2022-05-13 2022-05-13 通信制御装置、通信制御方法及び通信制御プログラム

Country Status (2)

Country Link
JP (1) JP7499992B2 (ja)
WO (1) WO2023218666A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006521751A (ja) * 2003-03-27 2006-09-21 ハリス コーポレイション 指向性及び無指向性通信リンクを有する無線通信ネットワーク及び関連の方法
JP2008507918A (ja) * 2004-07-20 2008-03-13 クゥアルコム・インコーポレイテッド 無線通信システムにおけるパケットアウェアスケジューラ
JP2008539610A (ja) * 2005-04-15 2008-11-13 ニュー・ジャージー・インスティテュート・オブ・テクノロジー ブロードバンドパッシブ光ネットワークのための動的帯域幅割当及びサービス区別
JP2019004379A (ja) * 2017-06-16 2019-01-10 日本電信電話株式会社 通信装置及び信号転送方法
US20190199641A1 (en) * 2017-12-22 2019-06-27 MAGNETI MARELLI S.p.A. Method for managing traffic in a network based upon ethernet switches, vehicle, communication interface, and corresponding computer program product

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006521751A (ja) * 2003-03-27 2006-09-21 ハリス コーポレイション 指向性及び無指向性通信リンクを有する無線通信ネットワーク及び関連の方法
JP2008507918A (ja) * 2004-07-20 2008-03-13 クゥアルコム・インコーポレイテッド 無線通信システムにおけるパケットアウェアスケジューラ
JP2008539610A (ja) * 2005-04-15 2008-11-13 ニュー・ジャージー・インスティテュート・オブ・テクノロジー ブロードバンドパッシブ光ネットワークのための動的帯域幅割当及びサービス区別
JP2019004379A (ja) * 2017-06-16 2019-01-10 日本電信電話株式会社 通信装置及び信号転送方法
US20190199641A1 (en) * 2017-12-22 2019-06-27 MAGNETI MARELLI S.p.A. Method for managing traffic in a network based upon ethernet switches, vehicle, communication interface, and corresponding computer program product

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MAKOTO KUBOMI, RYUMA MATSUSHITA, YOSHIFUMI HOTTA, RYUSUKE KAWATE: "A Method for Optimization of Time-Scheduling in TSN Networks", IEICE TECHNICAL REPORT, NS, IEICE, JP, vol. 119, no. 5 (NS2019-5), 11 April 2019 (2019-04-11), JP, pages 25 - 30, XP009550561 *
RUI NAKAYAMA, YOSHIHIRO ITO: "Study on Effect of GCL Allocation of Time-Aware Shaper on QoS", IEICE TECHNICAL REPORT, IA, IEICE, JP, vol. 120, no. 294 (IA2020-26), 7 December 2020 (2020-12-07), JP, pages 9 - 12, XP009550562 *
SHIN KUBO, ZHAO, JEFFREY SONG, YOSHIKA SONG, DAISUKE TAKITA, YOSHIFUMI HOTTA: "B-6-44 A Method for Necessity Determination of TSN Standard in Layer 2 Networks", PROCEEDINGS OF THE 2021 IEICE GENERAL CONFERENCE (COMMUNICATION 2); MARCH 9-12, 2021, IEICE, JP, 23 February 2021 (2021-02-23) - 12 March 2021 (2021-03-12), JP, pages 44, XP009550560 *

Also Published As

Publication number Publication date
JP7499992B2 (ja) 2024-06-14
JPWO2023218666A1 (ja) 2023-11-16

Similar Documents

Publication Publication Date Title
US9444740B2 (en) Router, method for controlling router, and program
US11099906B2 (en) Handling tenant requests in a system that uses hardware acceleration components
US9338099B2 (en) Dynamic queuing and pinning to improve quality of service on uplinks in a virtualized environment
US20160308649A1 (en) Providing Services in a System having a Hardware Acceleration Plane and a Software Plane
US8391178B2 (en) Route allocation apparatus and method
WO2023218666A1 (ja) 通信制御装置、通信制御方法及び通信制御プログラム
US9282041B2 (en) Congestion profiling of computer network devices
CN109792411B (zh) 用于管理端到端连接的设备和方法
CN109905331A (zh) 队列调度方法及装置、通信设备、存储介质
JP7127743B2 (ja) 通信装置、通信方法及びプログラム
US10986036B1 (en) Method and apparatus for orchestrating resources in multi-access edge computing (MEC) network
US10924416B2 (en) Method for traffic shaping using a serial packet processing algorithm and a parallel packet processing algorithm
JP2014110538A (ja) ネットワークスイッチ装置、タスク移動方法、およびタスク移動プログラム
JP2001326675A (ja) 情報処理装置および方法、並びに記録媒体
JP5937042B2 (ja) Tdmネットワークシステム及びそのスケジューリング方法
EP3433985B1 (en) Method for traffic shaping using a serial packet processing algorithm and a parallel packet processing algorithm
US20220109613A1 (en) Programmable traffic management engine
CN100539535C (zh) 一种调整环网节点带宽的方法和设备
JP2017191977A (ja) フレーム処理装置およびフレーム処理方法
JP6491944B2 (ja) パケット処理装置、及びプログラム
Pop et al. Configuration of multi‐shaper Time‐Sensitive Networking for industrial applications
Zhao et al. Training Job Placement in Clusters with Statistical In-Network Aggregation
Hong Software defined transport
JP2022046995A (ja) 通信装置および通信方法
Hutanu et al. A case for application-level control of network resources

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22941742

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2024506866

Country of ref document: JP

Kind code of ref document: A