Nothing Special   »   [go: up one dir, main page]

WO2024166398A1 - Control device, control method, and control program - Google Patents

Control device, control method, and control program Download PDF

Info

Publication number
WO2024166398A1
WO2024166398A1 PCT/JP2023/004661 JP2023004661W WO2024166398A1 WO 2024166398 A1 WO2024166398 A1 WO 2024166398A1 JP 2023004661 W JP2023004661 W JP 2023004661W WO 2024166398 A1 WO2024166398 A1 WO 2024166398A1
Authority
WO
WIPO (PCT)
Prior art keywords
flow
priority
route
priority packets
new
Prior art date
Application number
PCT/JP2023/004661
Other languages
French (fr)
Japanese (ja)
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/JP2023/004661 priority Critical patent/WO2024166398A1/en
Publication of WO2024166398A1 publication Critical patent/WO2024166398A1/en

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS

Definitions

  • the present invention relates to a control device, a control method, and a control program.
  • Priority packets that require real-time performance such as for controlling a robot in a remote location, are transferred with priority over other non-priority packets that do not require real-time performance in order to guarantee communication delays and delay fluctuations (jitter).
  • QoS Quality of Service
  • TAS Time Aware Shaper
  • non-priority flows may not be able to increase the number of flows that can be accommodated in a network, including flows of non-priority packets (non-priority flows).
  • non-priority flows For example, when using TAS, the timing at which each transfer device blocks a non-priority gate can be synchronized, but no control is implemented over the communication path or transmission timing of the priority traffic that flows. Therefore, there is a possibility that a concentration of priority packets will arrive at a specific time, causing the priority packet queue to overflow, or that priority packets will arrive at various times, causing non-priority gates to continue to be blocked, significantly impacting the non-priority packets.
  • Network slice users can reduce slice usage fees by minimizing the network resources they use, but they will need control to ensure that fewer resources can accommodate the number of priority flows.
  • a priority flow although it is best effort, needs to occupy resources to secure bandwidth to meet strict delay fluctuation requirements, and it may not be possible to change the route. For this reason, for example, it may be possible to increase the amount of resources available to a non-priority flow by reducing the resources occupied by the priority flow, but with conventional technology, it was sometimes impossible to increase the amount of resources available to a non-priority flow unless the resources occupied by the priority flow could be reduced.
  • the present invention was made in consideration of the above-mentioned problems, and aims to increase the number of flows, including non-priority flows, that can be accommodated in a network.
  • the control device is characterized by having an acquisition unit that acquires topology information indicating the connection form of the network and information on the forwarding delay of each forwarding device that forwards priority packets and non-priority packets, a determination unit that, when a new priority packet flow is added, determines at least one of the path and transmission timing of the new priority packet flow and the path of the non-priority packet flow based on the topology information and the forwarding delay information of each forwarding device acquired by the acquisition unit, and, when a new non-priority packet flow is added, determines the path of the new non-priority packet flow and the path of the non-priority packet flow based on the topology information and the forwarding delay information of each forwarding device acquired by the acquisition unit, and a setting unit that sets the path and transmission timing of the new priority packet flow and the path of the non-priority packet flow determined by the determination unit, or the path of the new non-priority packet flow and the path of the non-
  • the present invention makes it possible to increase the number of flows that can be accommodated in a network, including non-priority flows.
  • FIG. 1 is a diagram illustrating an example of the configuration of a control system according to the first embodiment.
  • FIG. 2 is a diagram illustrating an example of the configuration of the control device according to the first embodiment.
  • FIG. 3 illustrates an example of a flow addition procedure according to the first embodiment.
  • FIG. 4 illustrates an example of a flow addition procedure according to the first embodiment.
  • FIG. 5 is a diagram illustrating an example of adding a flow according to the first embodiment.
  • FIG. 6 is a diagram illustrating an example of adding a flow according to the first embodiment.
  • FIG. 7 is a flowchart illustrating an example of a flow addition according to the first embodiment.
  • FIG. 8 is a flowchart illustrating an example of a flow addition according to the first embodiment.
  • FIG. 1 is a diagram illustrating an example of the configuration of a control system according to the first embodiment.
  • FIG. 2 is a diagram illustrating an example of the configuration of the control device according to the first embodiment.
  • FIG. 3 illustrates an
  • FIG. 9 is a diagram illustrating an example of the configuration of a control system according to the second embodiment.
  • FIG. 10 is a diagram illustrating an example of the configuration of the control device according to the second embodiment.
  • FIG. 11 illustrates an example of a flow deletion procedure according to the second embodiment.
  • FIG. 12 illustrates an example of a flow deletion procedure according to the second embodiment.
  • FIG. 13 is a diagram illustrating an example of flow deletion according to the second embodiment.
  • FIG. 14 is a diagram illustrating an example of flow deletion according to the second embodiment.
  • FIG. 15 is a flowchart illustrating an example of flow deletion according to the second embodiment.
  • FIG. 16 is a flowchart illustrating an example of flow deletion according to the second embodiment.
  • FIG. 17 is a diagram illustrating a computer that executes a control program according to the embodiment.
  • First Embodiment A first embodiment will be described below.
  • a case will be described in which, when a new priority flow is added, a new priority flow and a non-priority flow are optimized, and, when a new non-priority flow is added, all non-priority flows are optimized.
  • Fig. 1 is a diagram illustrating an example of the configuration of the control system 1 according to the first embodiment.
  • the system illustrated in Fig. 1 includes a transmitting terminal 10, a controller (control device) 200, an orchestrator 30, and a transfer device 40.
  • the control system 1 may be realized by a plurality of devices.
  • each component of the control system 1 may be allocated to the plurality of devices in any manner.
  • the transmitting terminal 10 makes a request to the controller 200 to add a new flow of priority packets (new priority flow) or a new flow of non-priority packets (new non-priority flow).
  • the transmitting terminal 10 also transmits a request to add a new flow in accordance with the transmission timing setting received from the controller 200.
  • the controller 200 performs calculations in response to the request to add a new flow from the transmitting terminal 10. If the result of the calculation shows that there are insufficient network resources (resources), the controller 200 requests the orchestrator 30 to add resources.
  • the controller 200 also sets flow control for the transmitting terminal 10 or the transfer device 40. Details of the controller 200 will be described later.
  • the orchestrator 30 is an external device that manages slices.
  • the orchestrator 30 adds resources in response to a resource addition request from the controller 200.
  • Fig. 2 is a diagram showing an example of the configuration of the controller 200 according to the first embodiment.
  • the controller 200 includes a communication unit 210, a control unit 220, and a storage unit 230. Each of these units may be held in a distributed manner in a plurality of devices. The processing of each of these units will be described below.
  • the communication unit 210 is realized by a NIC (Network Interface Card) or the like, and enables communication between the control unit 220 and external devices via telecommunication lines such as a LAN (Local Area Network) or the Internet.
  • the communication unit 210 enables communication between the control unit 220 and the transfer device 40 or external devices.
  • the storage unit 230 is realized by a semiconductor memory element such as a random access memory (RAM) or a flash memory, or a storage device such as a hard disk or an optical disk.
  • the storage unit 230 has a network topology storage unit 231 and an accommodation flow storage unit 232.
  • the NW topology storage unit 231 stores topology information, which is configuration information of the network, as well as information on the delay time, maximum flow rate, and minimum open time of non-priority gates of each transfer device 40.
  • the accommodated flow storage unit 232 stores information on the target delay time, source node, and destination node of flows that have already been accommodated. Note that the above content is an example, and the items stored in the NW topology storage unit 231 and the accommodated flow storage unit 232 are not limited to those listed here.
  • the control unit 220 is realized using a CPU (Central Processing Unit), NP (Network Processor), FPGA (Field Programmable Gate Array), etc., and executes processing programs stored in memory. As a result, the control unit 220 functions as an acquisition unit 221, a determination unit 222, a setting unit 223, a resource request unit 224, and a topology update reception unit 225. Note that each of these functional units may be implemented in different hardware.
  • the control unit 220 may also include other functional units.
  • the acquisition unit 221 acquires topology information indicating the connection form of the network and information on the forwarding delay of each forwarding device that forwards priority packets and non-priority packets.
  • the acquisition unit 221 may further acquire information on the minimum opening time of the non-priority gate in each forwarding device.
  • the acquisition unit 221 acquires topology information indicating the connection form of the network, the forwarding delay of the forwarding device 40, the maximum flow rate, and the minimum opening time of the non-priority gate from the NW topology storage unit 231.
  • the acquisition unit 221 also acquires the target delay time of the accommodated flow and information on the source node and destination node from the accommodated flow storage unit 232.
  • the acquisition unit 221 acquires information on the source node, destination node, and target delay time of the new flow from the transmitting terminal 10.
  • the acquisition unit 221 may also acquire information on the bandwidth of each link between each forwarding device 40.
  • the determination unit 222 determines the path and transmission timing of the flow based on the topology information acquired by the acquisition unit 221 and the information on the forwarding delay of each transfer device 40. Specifically, when a new priority flow is added, the determination unit 222 determines at least one of the path and transmission timing of the new priority flow and the path of the non-priority flow based on the topology information acquired by the acquisition unit 221 and the information on the forwarding delay of each transfer device 40. In addition, when a new non-priority flow is added, the determination unit 222 determines the path of the new non-priority flow and the path of the non-priority flow based on the topology information acquired by the acquisition unit 221 and the information on the forwarding delay of each transfer device 40.
  • the determination unit 222 determines the path and transmission timing of a new priority flow when a new priority flow is added.
  • the determination unit 222 may determine the path and transmission timing of a new priority flow such that the delay time until the new priority flow is transmitted from the source node to the destination node is within a target delay time preset for each new priority flow and the time that the non-priority gate is open is equal to or longer than the minimum opening time set for the non-priority gate.
  • the determination unit 222 determines at least one of the path and transmission timing of the new priority flow based on the information stored in the storage unit 230 and the information notified from the transmitting terminal 10.
  • the transmission timing refers to the timing at which the transfer device 40 transfers the new priority flow.
  • the transmission timing is not limited to the above example, and may be the timing at which the transmitting terminal 10 transmits the new priority flow.
  • the determination unit 222 determines the route and transmission timing of the new priority flow based on topology information indicating the network connection form held by the NW topology storage unit 231, information on the transfer delay of the transfer device 40 and the minimum opening time of the non-priority gate, and information on the source node, destination node, and target delay time of the new priority flow notified from the transmitting terminal 10, so that the delay time until the new priority flow is transferred from the source node to the destination node is within the target time of the new priority flow and the same transfer device 40 is not transferred more than its capacity in the same period.
  • the decision unit 222 may use the optimal solution that is the result of the calculation by the linear programming problem solver to calculate the route and transmission timing of the new priority flow.
  • the decision unit 222 formulates a linear programming problem using the following objective function (i) or the like based on topology information, information on the transfer delay of the transfer device 40 and the minimum opening time of the non-priority gate, and information on the source node, destination node, and target delay time of the new priority flow notified from the transmitting terminal 10, and passes it to the linear programming problem solver and accepts the return of the variable results.
  • the objective function (i) of the linear programming problem is set to, for example, minimize the blocking time of non-priority gates at the node, minimize priority packets that do not satisfy QoS, and minimize the blocking time of non-priority gates at the node in all time slots, as shown in the following formula (1).
  • K represents the set of all priority packets.
  • T represents the set of all time slots.
  • V represents the set of all network nodes.
  • close v represents a binary variable to which 1 is assigned if the non-priority gate of node v is closed in time slot t.
  • represents a sufficiently small value for the first term.
  • pBlock k represents a binary variable to which 1 is assigned if priority flow k does not satisfy QoS (Quality of Service).
  • represents a sufficiently small value for the second term.
  • close v,t represents a binary variable to which 1 is assigned if the non-priority gate of node v is closed in time slot t.
  • the pre-held parameters are the topology, the forwarding delay of each forwarding device 40, the maximum flow rate of each link between each forwarding device 40, and the minimum opening time of the non-priority gate at each node.
  • the determination unit 222 determines the route and transmission timing of the new priority flow by obtaining a real solution using the target delay time information, which is a parameter of the existing priority flow that has already been accommodated, the departure node and arrival node as constants, and the route and transmission timing of the additional priority flow as variables.
  • the determination unit 222 may determine the route of the non-priority flow based on the bandwidth information acquired by the acquisition unit 221.
  • the decision unit 222 may use the optimal solution that is the result of the calculation by the linear programming problem solver to calculate the route of the non-priority flow.
  • the decision unit 222 formulates a linear programming problem using the following objective function (ii) or the like based on topology information, information on the forwarding delay of the forwarding device 40, information on the source node, destination node, and target delay time of the new priority flow notified from the transmitting terminal 10, and information on the bandwidth of each link between each forwarding device 40, passes the problem to the linear programming problem solver, and accepts the return of the variable results.
  • the objective function (ii) of the linear programming problem is set to, for example, minimize non-priority packets that do not satisfy the QoS and minimize the maximum bandwidth of each link between each transfer device 40, as shown in the following formula (2).
  • K represents the set of all priority packets.
  • E represents the set of all links.
  • bBlock k represents a binary variable that is set to 1 if non-priority flow K does not satisfy the QoS.
  • represents a sufficiently small value for the first term.
  • Bandwidth i,j represents the bandwidth used on the link from node i to node j.
  • the pre-held parameters are the topology, the forwarding delay of each forwarding device 40, the maximum flow rate of each link between each forwarding device 40, and the accommodation status of each priority flow.
  • the determination unit 222 determines the route of the non-priority flow by obtaining a real solution using the target delay time information, which is the parameter of all non-priority flows, and the departure node and arrival node as variables.
  • the above example describes the specific process of determining the routes of non-priority flows by the determination unit 222 when a new priority flow is added, and therefore the non-priority flow does not include the new non-priority flow.
  • the determination unit 222 determines the routes of all non-priority flows in the same manner as when a new priority flow is added, except that the determination unit 222 determines the routes of all non-priority flows including the new non-priority flow in addition to the existing non-priority flows that have already been accommodated.
  • the determination unit 222 determines the routes of the non-priority flows in the same manner as the above example, except that the determination unit 222 determines the routes of all non-priority flows including the new non-priority flow in addition to the routes of the existing non-priority flows.
  • the setting unit 223 sets the path and transmission timing of the flow determined by the determination unit 222 to the transfer device 40 or the transmitting terminal 10. Specifically, the setting unit 223 sets at least one of the path and transmission timing of the new priority flow determined by the determination unit 222 and the path of the non-priority flow, or the path of the new non-priority flow and the path of the non-priority flow to the transfer device 40 or the transmitting terminal 10. Furthermore, when the transmission timing of the new priority flow is determined by the determination unit 222, the setting unit 223 sets the timing of transferring the flow of the transfer device 40 as the transmission timing determined by the determination unit 222. Furthermore, the setting unit 223 sets the timing of transmitting the flow of the transmitting terminal 10 as the transmission timing determined by the determination unit 222.
  • the resource request unit 224 requests an increase in the bandwidth of the link between each transfer device 40 whose flow rate exceeds the maximum flow rate of each transfer device 40.
  • the resource request unit 224 may request additional resources from an external device.
  • an external device to which the resource request unit 224 requests additional resources is the orchestrator 30.
  • the resource request unit 224 requests an external device to add resources necessary to determine the flow path and transmission timing such that the delay time until the flow is transmitted from the source node to the destination node is within a target delay time preset for each flow, and the time that a non-priority gate is open is equal to or longer than the minimum open time set for the non-priority gate.
  • the topology update reception unit 225 receives updates to topology information indicating the connection form of the network and stores it in the NW topology storage unit 231. For example, when a new priority flow or a new non-priority flow is added and the connection form of the network is changed, the topology update reception unit 225 receives notification of the topology update and stores the new topology information by storing it in the NW topology storage unit 231.
  • Fig. 3 and Fig. 4 are diagrams showing an example of a flow addition procedure by the control system 1 according to the first embodiment.
  • the control system 1 of this embodiment includes a transmitting terminal 10, a controller 200, an orchestrator 30, and a forwarding device 40.
  • the transmitting terminal 10 requests the controller 200 to add a new priority flow (1).
  • the transmitting terminal 10 notifies the controller 200 of information on the source node, destination node, and target delay of the new priority flow to be added.
  • the controller 200 determines the route and transmission timing of the new priority flow and the route of the non-priority flow based on the source node, destination node, target delay information, topology information, and forwarding delay information of the forwarding device 40 of the new priority flow notified by the transmitting terminal 10 (2). If the controller 200 cannot determine the route and transmission timing of the new priority flow or the route of the non-priority flow, it determines that there are insufficient resources and requests the orchestrator 30 to add a minimum number of resources, such as pre-specified links (3).
  • the orchestrator 30 which has received a request from the controller 200 to add the minimum number of resources, performs the resource addition process (4). After that, the orchestrator 30 notifies the controller 200 that the resource addition process has been successfully performed (5).
  • the controller 200 then sets the determined path and transmission timing of the new priority flow and the path of the non-priority flow in the transfer device 40 (6). As a result, the path and transmission timing of the new priority flow and the path of the non-priority flow are set in the transfer device 40 (7).
  • the transfer device 40 notifies the controller 200 that the path and transmission timing of the new priority flow and the path of the non-priority flow have been set successfully (8).
  • the controller 200 sets the transmission timing of the new priority flow in the transmitting terminal 10 and permits it to start transmitting (9). Then, the transmitting terminal 10 starts transmitting the new priority flow (10).
  • the controller 200 determines both the path and the transmission timing of the new priority flow, but it is sufficient to determine at least one of the path and the transmission timing of the new priority flow.
  • the controller 200 may determine only one of the path and the transmission timing of the new priority flow, i.e., the path or the transmission timing of the new priority flow. In either case, it is possible to increase the number of flows that can be accommodated in the network.
  • the control system 1 of this embodiment includes a transmitting terminal 10, a controller 200, an orchestrator 30, and a forwarding device 40.
  • the transmitting terminal 10 requests the controller 200 to add a new non-priority flow (11). In this case, the transmitting terminal 10 notifies the controller 200 of information on the source node, destination node, and target delay of the new non-priority flow that is requested to be added.
  • the controller 200 determines the route of the new non-priority flow and the route of the non-priority flow (routes of all non-priority flows) based on the source node, destination node, and target delay information of the new non-priority flow notified by the transmitting terminal 10, topology information, and forwarding delay information of the forwarding device 40 (12).
  • controller 200 If the controller 200 cannot determine the route of the new non-priority flow and the route of the non-priority flow, it determines that there is a resource shortage, and requests the orchestrator 30 to add a minimum amount of resources, such as pre-specified links (13).
  • the orchestrator 30 which has received a request from the controller 200 to add the minimum number of resources, performs the resource addition process (14). After that, the orchestrator 30 notifies the controller 200 that the resource addition process has been successfully performed (15).
  • the controller 200 then sets the determined new non-priority flow path and non-priority flow path in the transfer device 40 (16). As a result, the new non-priority flow path and non-priority flow path are set in the transfer device 40 (17). Next, the transfer device 40 notifies the controller 200 that the new non-priority flow path and non-priority flow path have been set successfully (18). Next, the controller 200 permits the transmitting terminal 10 to start transmission (19). Then, the transmitting terminal 10 starts transmitting the new non-priority flow (20).
  • FIG. 5 and Fig. 6 are diagrams showing an example of flow addition by the control system 1 according to the first embodiment.
  • FIG. 5 (1) shows a flow for which no route is set
  • FIG. 5 (1) shows non-priority flows (i) and (ii), a priority flow, a new priority flow, and the delay time for each link between each transfer device 40.
  • FIG. 5 (2) shows a flow controlled by route setting.
  • the controller 200 performs flow control, sets routes for the new priority flow and non-priority flows (i) and (ii), and modifies the routes of the non-priority flows (i) and (ii) by rearranging them. In this way, the controller 200 eliminates overlap between the route for the non-priority flow (ii), the route for the priority flow, and the route for the new priority flow.
  • the controller 200 performs optimization calculation (i) to calculate the route and transmission timing of a new priority flow that ensures the minimum opening time of each non-priority gate and minimizes the blocking time of the non-priority gate while avoiding congestion.
  • the controller 200 performs optimization calculation (ii) to calculate the route of the non-priority flow that minimizes the number of non-priority packets that do not satisfy the QoS and minimizes the maximum bandwidth of each link between each transfer device 40.
  • the controller 200 sets the route of the new priority flow obtained by the optimization calculation (i) for the forwarding device 40, thereby forwarding the new priority flow from the source node to the destination node within the target delay time. In this way, the controller 200 ensures the minimum opening time of the non-priority gates by reducing the load on the forwarding device 40, and maximizes the flow forwarding efficiency.
  • the controller 200 avoids congestion that occurs when the total amount of colliding traffic exceeds the maximum flow rate of the forwarding device 40. In addition, this causes the controller 200 to increase the number of flows, including non-priority flows, that can be accommodated in the network.
  • FIG. 6 (1) shows a flow for which no route is set
  • FIG. 6 (1) shows a non-priority flow, a new non-priority flow, priority flows (i) and (ii), and the delay time for each link between each transfer device 40.
  • FIG. 6 (2) shows a flow controlled by route setting.
  • the controller 200 performs flow control, sets routes for the non-priority flow and the new non-priority flow, and modifies the routes of the non-priority flows (i) and (ii) by rearranging them. In this way, the controller 200 eliminates overlap between the route of the new non-priority flow, the route of the priority flow (i), and the route of the priority flow (ii).
  • the controller 200 performs an optimization calculation (ii) to calculate a route for a non-priority flow that minimizes non-priority packets that do not satisfy the QoS and minimizes the maximum bandwidth of each link between each transfer device 40.
  • the controller 200 sets the route for the non-priority flow obtained by the optimization calculation (ii) for the transfer device 40, thereby avoiding congestion that occurs when the total amount of colliding traffic exceeds the maximum flow rate of the transfer device 40. This also causes the controller 200 to increase the number of flows, including non-priority flows, that can be accommodated in the network.
  • Flowchart A flow of flow control (flow addition) by path setting of the controller 200 according to the first embodiment when a new flow is added will be described with reference to Fig. 7 and Fig. 8.
  • Fig. 7 and Fig. 8 are flowcharts showing an example of the flow of flow addition according to the first embodiment.
  • the decision unit 222 of the controller 200 performs optimization calculation (i) with the existing flow as a constant and the added priority flow as a variable (step S101). Specifically, the decision unit 222 performs optimization calculation (i) with the path and transmission timing of the existing flow as constants and the path and transmission timing of the added priority flow as variables, to minimize the blocking time of non-priority gates while ensuring the minimum opening time of each non-priority gate and avoiding congestion.
  • the resource request unit 224 of the controller 200 determines whether the optimal variable satisfies the following formula (3) based on the result of the calculation by the decision unit 222 (step S102).
  • the optimal variable does not satisfy the following formula (3) (step S102 "No"), it means that there is a resource shortage.
  • the optimal variable satisfies the following formula (3) (step S102 "Yes"), it means that there is no resource shortage.
  • the resource request unit 224 determines that the optimal variables do not satisfy the following formula (3) (step S102 "No"), it requests the addition of bandwidth to the transfer device 40 whose flow rate exceeds the maximum flow rate with the optimal variables (step S103).
  • the resource request unit 224 requests an increase in the bandwidth of the link between each transfer device 40 whose flow rate exceeds the maximum flow rate of each transfer device 40.
  • step S102 If the optimization variables satisfy the above formula (3) (step S102 "Yes"), or after completing the processing of step S103, the decision unit 222 performs optimization calculation (ii) for the non-priority flows with objective function (ii) using all non-priority flows as variables (step S104). Specifically, the decision unit 222 performs optimization calculation (ii) for calculating the route of the non-priority flows that minimizes non-priority packets that do not satisfy QoS and minimizes the maximum bandwidth of each link between each transfer device 40 using all non-priority flows as variables.
  • the resource request unit 224 determines whether the optimal variables satisfy the following formula (4) based on the calculation results by the determination unit 222 (step S105). Here, if the optimal variables do not satisfy the following formula (4) (step S105 "No"), this means that there is a resource shortage. On the other hand, if the optimal variables satisfy the following formula (4) (step S105 "Yes”), this means that there is no resource shortage.
  • the resource request unit 224 determines that the optimal variables do not satisfy the following formula (4) (step S105 "No"), it requests the addition of bandwidth to the transfer device 40 whose flow rate exceeds the maximum flow rate with the optimal variables (step S106).
  • the resource request unit 224 requests an increase in the bandwidth of the link between each transfer device 40 whose flow rate exceeds the maximum flow rate of each transfer device 40.
  • step S105 the setting unit 223 sets the route and transmission timing of the new priority flow and the route of the non-priority flow determined by the decision unit 222. Specifically, the setting unit 223 sets the route and transmission timing of the new priority flow with the optimal variables of the optimization calculation (i) and the route of the non-priority flow with the optimal variables of the optimization calculation (ii) for the transfer device 40 or the sending terminal 10, and transfers the flow (step S107).
  • the decision unit 222 performs an optimization calculation (ii) of the non-priority flow with the objective function (ii) using the new non-priority flow and existing non-priority flows (all non-priority flows) as variables (step S111). Specifically, the decision unit 222 performs an optimization calculation (ii) that uses all non-priority flows as variables to minimize non-priority packets that do not satisfy the QoS and calculates a route for the non-priority flow that minimizes the maximum bandwidth of each link between each transfer device 40.
  • the resource request unit 224 determines whether the optimal variables satisfy the above formula (4) as a result of the calculation by the determination unit 222 (step S112). If the resource request unit 224 determines that the optimal variables do not satisfy the following formula (4) (step S112 "No"), the resource request unit 224 requests the addition of bandwidth to the transfer device 40 whose optimal variables exceed the maximum flow rate (step S113). In other words, when the route of a non-priority flow is determined by the determination unit 222, if the non-priority packets do not satisfy the QoS, the resource request unit 224 requests an increase in the bandwidth of the link between each transfer device 40 whose flow rate exceeds the maximum flow rate of each transfer device 40.
  • step S112 If the optimal variables satisfy the above formula (4) (step S112 "Yes"), or if the processing of step S112 is completed, the setting unit 223 sets the route of the new non-priority flow and the route of the non-priority flow determined by the determination unit 222. Specifically, the setting unit 223 sets routes for all non-priority flows for the optimal variables of the optimization calculation (ii) for the transfer device 40 or the sending terminal 10, and transfers the flows (step S114).
  • the controller 200 includes an acquisition unit 221, a determination unit 222, and a setting unit 223.
  • the acquisition unit 221 acquires topology information indicating the connection form of the network and information on the transfer delay of each transfer device 40 that transfers the priority packet and the non-priority packet.
  • the determination unit 222 determines at least one of the path and transmission timing of the new priority packet flow and the path of the non-priority packet flow based on the topology information acquired by the acquisition unit 221 and the information on the transfer delay of each transfer device 40.
  • the determination unit 222 determines the path of the new non-priority packet flow and the path of the non-priority packet flow based on the topology information acquired by the acquisition unit 221 and the information on the transfer delay of each transfer device 40.
  • the setting unit 223 sets at least one of the flow path and transmission timing of new priority packets and the flow path of non-priority packets, or the flow path of new non-priority packets and the flow path of non-priority packets, determined by the determination unit 222, to the transfer device 40 or the transmitting terminal 10.
  • the controller 200 can increase the number of flows, including non-priority flows, that can be accommodated in the network based on the acquired information. Specifically, when a new priority flow is added, the controller 200 uses the collected information to set at least one of the route and transmission timing of the new priority flow, and the route of the non-priority flow, for the transmitting terminal 10 or the transfer device 40. Also, when a new non-priority flow is added, the controller 200 uses the collected information to set routes for all non-priority flows for the transmitting terminal 10 or the transfer device 40.
  • the controller 200 optimizes not only the new priority flow but also the non-priority flows, thereby increasing the number of flows, including non-priority flows, that can be accommodated in the network.
  • the controller 200 when a new priority flow or a new non-priority flow is added, the controller 200 according to the first embodiment can suppress the addition of resources by optimizing and accommodating not only the new priority flow but also the non-priority flow.
  • the resource request unit 224 requests an increase in the bandwidth of the link between the transfer devices 40, the link having a flow rate that exceeds the maximum flow rate of each transfer device 40. This allows the controller 200 according to the first embodiment to avoid congestion caused by a lack of resources.
  • the acquisition unit 221 further acquires bandwidth information of each link between each transfer device 40, and the determination unit 222 determines the path of the flow of non-priority packets based further on the bandwidth information acquired by the acquisition unit 221. This allows the controller 200 according to the first embodiment to determine a path of the non-priority flow that reduces the bandwidth of each link between each transfer device 40.
  • Fig. 9 is a diagram showing an example of the configuration of a control system 1X according to the second embodiment.
  • the control system 1X according to the second embodiment has a controller 200X instead of the controller 200 in the control system 1 according to the first embodiment of Fig. 1.
  • Fig. 10 is a diagram showing an example of the configuration of the controller 200X according to the second embodiment.
  • the controller 200 has a control unit 220X instead of the control unit 220 compared to the controller 200 in Fig. 2.
  • the control unit 220X has a determination unit 222X and a setting unit 223X instead of the determination unit 222 and the setting unit 223 compared to the control unit 220 in Fig. 2.
  • the determination unit 222X When a priority flow is deleted, the determination unit 222X further determines a route for a non-priority flow based on the topology information acquired by the acquisition unit 221 and the information on the forwarding delay of each transfer device 40. Similarly, when a non-priority flow is deleted, the determination unit 222X further determines a route for a non-priority flow based on the topology information acquired by the acquisition unit 221 and the information on the forwarding delay of each transfer device 40.
  • the determination unit 222X determines the path of the non-priority flow when a priority flow or non-priority flow is deleted. For example, when the acquisition unit 221 has acquired bandwidth information of each link between each transfer device 40, the determination unit 222X may determine the path of the non-priority flow based on the bandwidth information acquired by the acquisition unit 221.
  • the determination unit 222X may use the objective function (ii) expressed by the above formula (2) to calculate the path of the non-priority flow by utilizing the optimal solution that is the result of the calculation by the linear programming problem solver, as in the first embodiment. In this case, the determination unit 222X determines the path of the non-priority flow by obtaining a real solution using the same pre-held parameters and variables as in the first embodiment.
  • the determination unit 222X may determine the route for the flow of non-priority packets only when at least one of the bandwidths of each link indicated by the bandwidth information acquired by the acquisition unit 221 is reduced.
  • the setting unit 223X sets the path of the flow of non-priority packets determined by the determination unit 222X to the transfer device 40 or the transmitting terminal 10.
  • FIGS. 11 and 12 are diagrams showing an example of a flow deletion procedure according to the second embodiment.
  • control system 1X of this embodiment includes a controller 200X instead of the controller 200, as compared to the control system 1 of FIG. 3 and FIG. 4.
  • the transmitting terminal 10 requests the controller 200X to delete the accommodated priority flow (21). In this case, the transmitting terminal 10 notifies the controller 200X of the source node and destination node of the deletion priority flow that is requested to be deleted.
  • the controller 200X determines the route of the non-priority flow based on the source node and destination node of the deletion priority flow notified by the transmitting terminal 10, topology information, and information on the forwarding delay of the forwarding device 40 (22).
  • the controller 200X requests the orchestrator 30 to delete the released resource (23).
  • the orchestrator 30 which has received the resource deletion request from the controller 200X, executes the resource deletion process (24). After that, the orchestrator 30 notifies the controller 200X that the resource deletion process has been successfully executed (25).
  • the controller 200X then sets the determined non-priority flow path for the transfer device 40, and cancels the setting of the deletion priority flow path (26). As a result, the non-priority flow path is set in the transfer device 40, and the deletion priority flow path setting is cancelled (27). Next, the transfer device 40 notifies the controller 200X that the non-priority flow path has been set successfully, and the deletion priority flow path setting has been cancelled (28). Next, the controller 200X notifies the sending terminal 10 that the non-priority flow path has been set successfully, and the deletion priority flow path setting has been cancelled (29).
  • control system 1X of this embodiment includes a controller 200X instead of the controller 200 in the control system 1 of FIG. 3 and FIG. 4.
  • the transmitting terminal 10 requests the controller 200X to delete the non-priority flow that is already accommodated (31). In this case, the transmitting terminal 10 notifies the controller 200X of the source node and destination node of the non-priority flow to be deleted.
  • the controller 200X determines the route of the non-priority flow based on the source node and destination node of the non-priority flow to be deleted notified by the transmitting terminal 10, topology information, and information on the forwarding delay of the forwarding device 40 (32).
  • the controller 200X requests the orchestrator 30 to delete the released resource (33).
  • the orchestrator 30 which has received the resource deletion request from the controller 200X, performs the resource deletion process (34). After that, the orchestrator 30 notifies the controller 200X that the resource deletion process has been successfully performed (35).
  • the controller 200X then sets the determined non-priority flow path for the transfer device 40 and cancels the path setting for the deleted non-priority flow (36). As a result, the non-priority flow path is set in the transfer device 40 and the path setting for the deleted non-priority flow is cancelled (37). Next, the transfer device 40 notifies the controller 200X that the non-priority flow path has been set successfully and the path setting for the deleted non-priority flow has been cancelled (38). Next, the controller 200X notifies the transmitting terminal 10 that the non-priority flow path has been set successfully and the path setting for the deleted non-priority flow has been cancelled (39).
  • FIG. 13(1) shows a flow for which no route is set, and shows non-priority flows (i) and (ii), a priority flow to be deleted for which deletion has been requested, and the delay time for each link between each transfer device 40.
  • the route for non-priority flow (i) and the route for non-priority flow (ii) are not the same, and some of the routes do not overlap. Therefore, in some of these routes, there are resources that are used by non-priority flow (i) and non-priority flow (ii).
  • FIG. 13(2) shows a flow controlled by path setting.
  • the controller 200X performs flow control, sets paths for the non-priority flows (i) and (ii), and modifies them by rearranging the paths for the non-priority flows (i) and (ii) so as to maximize resources.
  • the controller 200X releases from use the link that is one of the resources in the arrow portion of FIG. 13(2) among the links included in the path of the non-priority flow (ii), while avoiding congestion between the path of the non-priority flow (i) and the path of the non-priority flow (ii). In this way, the controller 200X minimizes the amount of resources being used.
  • the controller 200X performs optimization calculation (ii) to calculate a route for a non-priority flow that minimizes non-priority packets that do not satisfy the QoS and minimizes the maximum bandwidth of each link between each transfer device 40.
  • the controller 200X then sets the route for the non-priority flow obtained by optimization calculation (ii) to the transfer device 40, thereby minimizing the amount of resources being used while avoiding congestion.
  • FIG. 14 (1) shows a flow for which no route is set
  • FIG. 14 (1) shows the non-priority flow, the deleted non-priority flow that is requesting deletion, and the delay time for each link between each transfer device 40.
  • the route of the non-priority flow and the route of the deleted non-priority flow are not the same, and some routes do not overlap. Therefore, in some of these routes, there are resources that are used by the non-priority flow and the deleted non-priority flow, respectively.
  • FIG. 14 (2) shows a flow controlled by route setting.
  • the controller 200X implements flow control, sets routes for non-priority flows, and modifies them by rearranging the routes for non-priority flows so as to maximize resources.
  • the controller 200X avoids congestion between the routes for non-priority flows and the routes for priority flows, and releases from use the links included in the routes for non-priority flows, which are one of the resources in the arrowed portion of FIG. 14 (2). In this way, the controller 200X minimizes the amount of resources being used.
  • the controller 200X performs optimization calculation (ii) to calculate a route for a non-priority flow that minimizes non-priority packets that do not satisfy the QoS and minimizes the maximum bandwidth of each link between each transfer device 40.
  • the controller 200X then sets the route for the non-priority flow obtained by optimization calculation (ii) to the transfer device 40, thereby minimizing the amount of resources being used while avoiding congestion.
  • the decision unit 222X performs an optimization calculation (ii) of the non-priority flow with objective function (ii) using the priority flow to be deleted and existing non-priority flows (all non-priority flows) as variables (step S201). Specifically, the decision unit 222X performs an optimization calculation (ii) of the non-priority flow with variables of all non-priority flows to minimize non-priority packets that do not satisfy QoS and to calculate a route for the non-priority flow that minimizes the maximum bandwidth of each link between each transfer device 40.
  • the determination unit 222X determines whether or not there is a link whose bandwidth usage has decreased as a result of the calculation (step S202). When the determination unit 222X determines that there is a link whose bandwidth usage has decreased (step S202 "Yes"), it determines a route for the non-priority flow with the optimal variables of the optimization calculation (ii). In addition, the setting unit 223X sets the route for the non-priority flow with the optimal variables of the optimization calculation (ii) determined by the determination unit 222X to the transfer device 40 or the transmitting terminal 10 and transfers the flow (step S203).
  • the determination unit 222X determines that there is no link whose bandwidth usage has decreased (step S202 "No"), it ends the process without determining the route for the non-priority flow with the optimal variables of the optimization calculation (ii) and rearranging it. In this way, the determination unit 222X may determine the route for the flow of non-priority packets only when at least one of the bandwidths of each link indicated by the bandwidth information acquired by the acquisition unit 221 is reduced.
  • the determination unit 222X determines a route for the flow of non-priority packets based on the topology information acquired by the acquisition unit 221 and information on the forwarding delay of each forwarding device 40.
  • the setting unit 223X sets the route for the flow of non-priority packets determined by the determination unit 222X to the forwarding device 40 or the transmitting terminal 10.
  • the controller 200X can determine a route for non-priority flows that require large resources, and relocate the non-priority flows to that route, thereby reducing the amount of resources being used and freeing up those resources.
  • TSN Time-Sensitive Networking
  • the determination unit 222X determines a path for the flow of non-priority packets based on the topology information acquired by the acquisition unit 221 and information on the forwarding delay of each forwarding device 40.
  • the setting unit 223X sets the path for the flow of non-priority packets determined by the determination unit 222X to the forwarding device 40 or the transmitting terminal 10.
  • the controller 200X can determine a route for a non-priority flow that requires large resources, and relocate the non-priority flow to that route, thereby reducing the amount of resources being used and freeing up those resources.
  • users of a TSN network rent a network dedicated to them from a network operator, they can reduce operating costs by reducing the amount of resources being used.
  • the determination unit 222X determines the path for the flow of non-priority packets only when at least one of the bandwidths of the links indicated by the bandwidth information acquired by the acquisition unit 221 is reduced. As a result, the controller 200X determines the path for the flow of non-priority packets when the bandwidth of a link, which is one of the resources, is reduced, and therefore it is possible to reliably reduce the amount of resources being used.
  • ⁇ program ⁇ It is also possible to create a program in which the processes executed by the controller 200 and the controller 200X described in the above embodiment are written in a language executable by a computer. In this case, the same effects as those of the above embodiment can be obtained by the computer executing the program. Furthermore, such a program may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read and executed by a computer to realize the same processes as those of the above embodiment.
  • FIG. 17 is a diagram showing an example of a computer that executes a program.
  • the computer 1000 has, for example, a memory 1010, a CPU 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. Each of these components is connected by a bus 1080.
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012.
  • the ROM 1011 stores a boot program such as a BIOS (Basic Input Output System).
  • BIOS Basic Input Output System
  • the hard disk drive interface 1030 is connected to a hard disk drive 1090.
  • the disk drive interface 1040 is connected to a disk drive 1041.
  • a removable storage medium such as a magnetic disk or optical disk is inserted into the disk drive 1041.
  • the serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120.
  • the video adapter 1060 is connected to, for example, a display 1130.
  • the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094.
  • Each table described in the above embodiment is stored, for example, in the hard disk drive 1090 or memory 1010.
  • the control program is stored in the hard disk drive 1090, for example, as a program module in which instructions to be executed by the computer 1000 are written. Specifically, a program module 1093 in which each process executed by the controller 2000 described in the above embodiment is written is stored in the hard disk drive 1090.
  • data used for information processing by the control program is stored as program data, for example, in the hard disk drive 1090.
  • the CPU 1020 reads the program module 1093 and program data 1094 stored in the hard disk drive 1090 into the RAM 1012 as necessary, and executes each of the above procedures.
  • the program module 1093 and program data 1094 related to the control program are not limited to being stored in the hard disk drive 1090, but may be stored in a removable storage medium, for example, and read by the CPU 1020 via the disk drive 1041 or the like.
  • the program module 1093 and program data 1094 related to the control program may be stored in another computer connected via a network such as a LAN (Local Area Network) or a WAN (Wide Area Network), and read by the CPU 1020 via the network interface 1070.
  • Control system 10 Transmission terminal 200, 200X Controller (control device) 210 Communication unit 220, 220X Control unit 221 Acquisition unit 222, 222X Determination unit 223, 223X Setting unit 224 Resource request unit 225 Topology update reception unit 230 Storage unit 231 NW topology storage unit 232 Accommodated flow storage unit 30 Orchestrator 40 Transfer device

Landscapes

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

Abstract

A controller (200) includes a determination unit (222) and a setting unit (223). The determination unit (222) determines, on the basis of acquired information, in a case in which a new priority flow is to be added, at least one of a route for the new priority flow and a transmission timing and a route for a non-priority flow and determines, in a case in which a flow for a new non-priority packet is to be added, a route for the new non-priority flow and the route for the non-priority flow. Moreover, the setting unit (223) sets the route for the flow determined by the determination unit (222) and the like to a transmission terminal or a transfer device.

Description

制御装置、制御方法および制御プログラムControl device, control method, and control program
 本発明は、制御装置、制御方法および制御プログラムに関する。 The present invention relates to a control device, a control method, and a control program.
 5G環境においては一つのネットワークスライス内に様々なQоS(Quality of Service)要求を持つパケットを転送するケースが存在する。遠隔地のロボット制御等のリアルタイム性を必要とする優先パケットは通信遅延や遅延揺らぎ値(ジッター)を保証するため、他のリアルタイム性を必要としない非優先パケットより優先して転送が行われる。 In a 5G environment, there are cases where packets with various QoS (Quality of Service) requirements are transferred within a single network slice. Priority packets that require real-time performance, such as for controlling a robot in a remote location, are transferred with priority over other non-priority packets that do not require real-time performance in order to guarantee communication delays and delay fluctuations (jitter).
 優先パケットのフロー(優先フロー)の遅延揺らぎ値を保証するためにIEEE802.1Qbvにて定義されたTAS(Time Aware Shaper)という機能が存在する。TASでは周期的に送信される優先パケットが転送装置に到着するタイムスロットで、あらかじめ非優先パケット用のゲートを閉塞しておくことで、優先パケットのキューイング遅延を削減させる手法が提案されている(例えば、特許文献1参照)。 In order to guarantee the delay fluctuation value of the flow of priority packets (priority flow), there is a function called TAS (Time Aware Shaper) defined in IEEE 802.1Qbv. TAS proposes a method to reduce the queuing delay of priority packets by blocking the gate for non-priority packets in advance in the time slot in which the periodically transmitted priority packets arrive at the forwarding device (see, for example, Patent Document 1).
特開2018-129661号公報JP 2018-129661 A
 しかしながら、従来技術では、非優先パケットのフロー(非優先フロー)を含む、ネットワーク内に収容可能なフローの数を増加させることができない場合がある。例えば、TASを使用するときに各転送装置が非優先ゲートを閉塞するタイミングを同期することができるが、流れる優先トラフィックの通信経路や送信タイミングの制御を実施していない。したがって、特定の時間に優先パケットが集中して到着してしまい優先パケットキューがあふれる可能性や、様々なタイミングで優先パケットが到着してしまい非優先ゲートが閉塞され続けて非優先パケットへの影響が大きくなる可能性が存在する。 However, conventional technology may not be able to increase the number of flows that can be accommodated in a network, including flows of non-priority packets (non-priority flows). For example, when using TAS, the timing at which each transfer device blocks a non-priority gate can be synchronized, but no control is implemented over the communication path or transmission timing of the priority traffic that flows. Therefore, there is a possibility that a concentration of priority packets will arrive at a specific time, causing the priority packet queue to overflow, or that priority packets will arrive at various times, causing non-priority gates to continue to be blocked, significantly impacting the non-priority packets.
 ネットワークスライスのユーザは使用するネットワークリソース(リソース)を最小化することによりスライスの利用料金を安くすることができるが、より少ないリソースにより優先フローの収容数を確保するための制御が必要になる。  Network slice users can reduce slice usage fees by minimizing the network resources they use, but they will need control to ensure that fewer resources can accommodate the number of priority flows.
 また、従来技術では、ネットワーク内に収容可能な優先フローの数のみが増加し、ネットワーク内に収容可能な非優先フローの数は増加しない場合があった。例えば、従来技術では、TASのネットワークに優先フローを収納する場合に優先フローの最適化は実施されていたが、非優先フローは、ゲートの開放時間を担保するのみで、全フローの収容数は最大化できない場合があった。 Furthermore, in conventional technology, there were cases where only the number of priority flows that could be accommodated in the network increased, and the number of non-priority flows that could be accommodated in the network did not increase. For example, in conventional technology, when priority flows were accommodated in a TAS network, the priority flows were optimized, but for non-priority flows, the gate opening time was only guaranteed, and the total number of flows that could be accommodated was not maximized.
 ここで、非優先フローは、再配置により経路が変更可能なのに対し、優先フローは、ベストエフォートであるが、厳しい遅延揺らぎ要件を満たすために帯域を確保するためにリソースを占有する必要があり、経路の変更が不可能な場合がある。このため、例えば、優先フローの占有リソースを小さくすることにより、非優先フローが使用できるリソース量を大きくできる場合もあるが、従来技術では、優先フローの占有リソースを小さくできなければ、非優先フローが使用できるリソース量を大きくできない場合があった。 Here, while the route of a non-priority flow can be changed by rearrangement, a priority flow, although it is best effort, needs to occupy resources to secure bandwidth to meet strict delay fluctuation requirements, and it may not be possible to change the route. For this reason, for example, it may be possible to increase the amount of resources available to a non-priority flow by reducing the resources occupied by the priority flow, but with conventional technology, it was sometimes impossible to increase the amount of resources available to a non-priority flow unless the resources occupied by the priority flow could be reduced.
 また、特に、収容済みの既存の非優先フローが存在する場合や新規非優先フローを追加的に収容する場合には、非優先フローの収容効率の向上を踏まえた上で、フロー全体の収容の最適化を検討する必要があるが、従来技術では、非優先フローの収容の最適化については考慮されていなかった。このため、従来技術では、非優先フローを含めたネットワーク内に収容可能なフローの数の最大化ができていない場合があった。また、フローを廃止したり削除したりする場合に、非優先フローを含む、ネットワーク内に収容可能なフローの数の最適化を実施しないため、不要なリソースを使用してしまう可能性があった。 In particular, when there are existing non-priority flows that have already been accommodated or when accommodating new non-priority flows, it is necessary to consider optimizing the accommodation of all flows while taking into account improvements to the accommodation efficiency of non-priority flows; however, conventional technology did not take into account the optimization of the accommodation of non-priority flows. As a result, conventional technology sometimes did not maximize the number of flows that can be accommodated in a network, including non-priority flows. Also, when a flow is discontinued or deleted, the number of flows that can be accommodated in a network, including non-priority flows, is not optimized, which could result in the use of unnecessary resources.
 本発明は、上述の課題に鑑みてなされたものであって、非優先フローを含む、ネットワーク内に収容可能なフローの数を増加させることを目的とする。 The present invention was made in consideration of the above-mentioned problems, and aims to increase the number of flows, including non-priority flows, that can be accommodated in a network.
 上述した課題を解決し、目的を達成するために、制御装置は、ネットワークの接続形態を示すトポロジ情報と、優先パケットおよび非優先パケットの転送を行う各転送装置の転送遅延の情報とを取得する取得部と、新規優先パケットのフローが追加される場合に、前記取得部により取得されたトポロジ情報と各転送装置の転送遅延の情報とに基づいて、前記新規優先パケットのフローの経路および送信タイミングの少なくとも一方ならびに前記非優先パケットのフローの経路を決定し、新規非優先パケットのフローが追加される場合に、前記取得部により取得されたトポロジ情報と各転送装置の転送遅延の情報とに基づいて、前記新規非優先パケットのフローの経路および前記非優先パケットのフローの経路を決定する決定部と、前記決定部により決定された前記新規優先パケットのフローの経路および送信タイミングならびに前記非優先パケットのフローの経路、または、前記新規非優先パケットのフローの経路および前記非優先パケットのフローの経路を前記転送装置または送信端末に対して設定する設定部とを有することを特徴とする。 In order to solve the above problems and achieve the object, the control device is characterized by having an acquisition unit that acquires topology information indicating the connection form of the network and information on the forwarding delay of each forwarding device that forwards priority packets and non-priority packets, a determination unit that, when a new priority packet flow is added, determines at least one of the path and transmission timing of the new priority packet flow and the path of the non-priority packet flow based on the topology information and the forwarding delay information of each forwarding device acquired by the acquisition unit, and, when a new non-priority packet flow is added, determines the path of the new non-priority packet flow and the path of the non-priority packet flow based on the topology information and the forwarding delay information of each forwarding device acquired by the acquisition unit, and a setting unit that sets the path and transmission timing of the new priority packet flow and the path of the non-priority packet flow determined by the determination unit, or the path of the new non-priority packet flow and the path of the non-priority packet flow, to the forwarding device or the transmitting terminal.
 本発明によれば、非優先フローを含む、ネットワーク内に収容可能なフローの数を増加させることが可能となる。 The present invention makes it possible to increase the number of flows that can be accommodated in a network, including non-priority flows.
図1は、第一の実施形態の制御システムの構成の一例を示す図である。FIG. 1 is a diagram illustrating an example of the configuration of a control system according to the first embodiment. 図2は、第一の実施形態の制御装置の構成の一例を示す図である。FIG. 2 is a diagram illustrating an example of the configuration of the control device according to the first embodiment. 図3は、第一の実施形態のフロー追加手順の一例を示す図である。FIG. 3 illustrates an example of a flow addition procedure according to the first embodiment. 図4は、第一の実施形態のフロー追加手順の一例を示す図である。FIG. 4 illustrates an example of a flow addition procedure according to the first embodiment. 図5は、第一の実施形態のフロー追加の一例を説明する図である。FIG. 5 is a diagram illustrating an example of adding a flow according to the first embodiment. 図6は、第一の実施形態のフロー追加の一例を説明する図である。FIG. 6 is a diagram illustrating an example of adding a flow according to the first embodiment. 図7は、第一の実施形態のフロー追加の一例を示すフローチャートである。FIG. 7 is a flowchart illustrating an example of a flow addition according to the first embodiment. 図8は、第一の実施形態のフロー追加の一例を示すフローチャートである。FIG. 8 is a flowchart illustrating an example of a flow addition according to the first embodiment. 図9は、第二の実施形態の制御システムの構成の一例を示す図である。FIG. 9 is a diagram illustrating an example of the configuration of a control system according to the second embodiment. 図10は、第二の実施形態の制御装置の構成の一例を示す図である。FIG. 10 is a diagram illustrating an example of the configuration of the control device according to the second embodiment. 図11は、第二の実施形態のフロー削除手順の一例を示す図である。FIG. 11 illustrates an example of a flow deletion procedure according to the second embodiment. 図12は、第二の実施形態のフロー削除手順の一例を示す図である。FIG. 12 illustrates an example of a flow deletion procedure according to the second embodiment. 図13は、第二の実施形態のフロー削除の一例を説明する図である。FIG. 13 is a diagram illustrating an example of flow deletion according to the second embodiment. 図14は、第二の実施形態のフロー削除の一例を説明する図である。FIG. 14 is a diagram illustrating an example of flow deletion according to the second embodiment. 図15は、第二の実施形態のフロー削除の一例を示すフローチャートである。FIG. 15 is a flowchart illustrating an example of flow deletion according to the second embodiment. 図16は、第二の実施形態のフロー削除の一例を示すフローチャートである。FIG. 16 is a flowchart illustrating an example of flow deletion according to the second embodiment. 図17は、実施形態の制御プログラムを実施するコンピュータを示す図である。FIG. 17 is a diagram illustrating a computer that executes a control program according to the embodiment.
 以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示しており、重複する説明は、省略される。 Below, one embodiment of the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited to this embodiment. In addition, in the description of the drawings, the same parts are indicated by the same reference numerals, and duplicate explanations will be omitted.
〔第一の実施形態〕
 以下、第一の実施形態について説明する。第一の実施形態では、新規優先フローが追加される場合に、新規優先フローおよび非優先フローを最適化し、新規非優先フローが追加される場合に、全ての非優先フローを最適化する場合について説明する。
First Embodiment
A first embodiment will be described below. In the first embodiment, a case will be described in which, when a new priority flow is added, a new priority flow and a non-priority flow are optimized, and, when a new non-priority flow is added, all non-priority flows are optimized.
〔1.制御システムの構成例〕
 まず、図1を用いて、制御システム1の構成について説明する。図1は、第一の実施形態に係る制御システム1の構成の一例を表す図である。図1に示すシステムは、送信端末10と、コントローラ(制御装置)200と、オーケストレータ30と、転送装置40とを有する。なお、制御システム1は、複数の装置により実現されてもよい。また、制御システム1が複数の装置によって実現される場合には、制御システム1が有する各構成要素は、複数の装置にどのように振り分けられてもよい。
[1. Example of control system configuration]
First, the configuration of the control system 1 will be described with reference to Fig. 1. Fig. 1 is a diagram illustrating an example of the configuration of the control system 1 according to the first embodiment. The system illustrated in Fig. 1 includes a transmitting terminal 10, a controller (control device) 200, an orchestrator 30, and a transfer device 40. The control system 1 may be realized by a plurality of devices. In addition, when the control system 1 is realized by a plurality of devices, each component of the control system 1 may be allocated to the plurality of devices in any manner.
 まず、送信端末10は、コントローラ200に対し、新規優先パケットのフロー(新規優先フロー)または新規非優先パケットのフロー(新規非優先フロー)の追加要求(新規フローの追加要求)を実施する。また、送信端末10は、コントローラ200から受け取った送信タイミングの設定に従って新規フローの追加要求の送信を行う。次に、コントローラ200は、送信端末10からの新規フローの追加要求を受けて、計算を実施する。ここで、計算を実施した結果、ネットワークリソース(リソース)が不足している場合には、コントローラ200は、オーケストレータ30に対して、リソースの追加を要求する。また、コントローラ200は、送信端末10または転送装置40に対して、フロー制御の設定をする。コントローラ200についての詳細は後述する。 First, the transmitting terminal 10 makes a request to the controller 200 to add a new flow of priority packets (new priority flow) or a new flow of non-priority packets (new non-priority flow). The transmitting terminal 10 also transmits a request to add a new flow in accordance with the transmission timing setting received from the controller 200. Next, the controller 200 performs calculations in response to the request to add a new flow from the transmitting terminal 10. If the result of the calculation shows that there are insufficient network resources (resources), the controller 200 requests the orchestrator 30 to add resources. The controller 200 also sets flow control for the transmitting terminal 10 or the transfer device 40. Details of the controller 200 will be described later.
 オーケストレータ30は、スライスを管理する外部装置である。また、オーケストレータ30は、コントローラ200からのリソース追加要求を受けて、リソースの追加を実施する。そして、転送装置40は、ネットワーク上に複数存在し、送信端末10からのフローの送信を受けて、フローの転送を実施する。 The orchestrator 30 is an external device that manages slices. In addition, the orchestrator 30 adds resources in response to a resource addition request from the controller 200. In addition, there are multiple transfer devices 40 on the network, and in response to a flow transmitted from the transmitting terminal 10, the transfer device 40 transfers the flow.
〔2.コントローラの構成例〕
 次に、図2を用いて、コントローラ200の構成について説明する。図2は、第一の実施形態に係るコントローラ200の構成の一例を示す図である。図2が示すように、コントローラ200は、通信部210と、制御部220と、記憶部230とを備える。これらの各部は、複数の装置が分散して保持してもよい。以下にこれら各部の処理を説明する。
[2. Controller configuration example]
Next, the configuration of the controller 200 will be described with reference to Fig. 2. Fig. 2 is a diagram showing an example of the configuration of the controller 200 according to the first embodiment. As shown in Fig. 2, the controller 200 includes a communication unit 210, a control unit 220, and a storage unit 230. Each of these units may be held in a distributed manner in a plurality of devices. The processing of each of these units will be described below.
 通信部210は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネット等の電気通信回線を介した外部の装置と制御部220の通信を可能とする。例えば、通信部210は、転送装置40や、外部装置と制御部220との通信を可能とする。 The communication unit 210 is realized by a NIC (Network Interface Card) or the like, and enables communication between the control unit 220 and external devices via telecommunication lines such as a LAN (Local Area Network) or the Internet. For example, the communication unit 210 enables communication between the control unit 220 and the transfer device 40 or external devices.
 記憶部230は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。ここで、記憶部230は、NWトポロジ記憶部231と、収容フロー記憶部232とを有する。 The storage unit 230 is realized by a semiconductor memory element such as a random access memory (RAM) or a flash memory, or a storage device such as a hard disk or an optical disk. Here, the storage unit 230 has a network topology storage unit 231 and an accommodation flow storage unit 232.
 NWトポロジ記憶部231は、ネットワークの構成情報であるトポロジの情報と、各転送装置40の遅延時間と、最大流量と、非優先ゲートの最低開放時間の情報とを記憶する。また、収容フロー記憶部232は、すでに収容されたフローの目標遅延時間、送信元ノード、および、送信先ノードの情報を記憶する。なお、上述した内容は一例であり、NWトポロジ記憶部231と、収容フロー記憶部232とが記憶するものはここで挙げたものに限定されない。 The NW topology storage unit 231 stores topology information, which is configuration information of the network, as well as information on the delay time, maximum flow rate, and minimum open time of non-priority gates of each transfer device 40. The accommodated flow storage unit 232 stores information on the target delay time, source node, and destination node of flows that have already been accommodated. Note that the above content is an example, and the items stored in the NW topology storage unit 231 and the accommodated flow storage unit 232 are not limited to those listed here.
 そして、制御部220は、CPU(Central Processing Unit)やNP(Network Processor)やFPGA(Field Programmable Gate Array)等を用いて実現され、メモリに記憶された処理プログラムを実行する。これにより制御部220は、取得部221と、決定部222と、設定部223と、リソース要求部224と、トポロジ更新受付部225として機能する。なお、これらの機能部は、それぞれが異なるハードウェアに実装されてもよい。また、制御部220は、その他の機能部を備えてもよい。 The control unit 220 is realized using a CPU (Central Processing Unit), NP (Network Processor), FPGA (Field Programmable Gate Array), etc., and executes processing programs stored in memory. As a result, the control unit 220 functions as an acquisition unit 221, a determination unit 222, a setting unit 223, a resource request unit 224, and a topology update reception unit 225. Note that each of these functional units may be implemented in different hardware. The control unit 220 may also include other functional units.
 取得部221は、ネットワークの接続形態を示すトポロジ情報と、優先パケットおよび非優先パケットの転送を行う各転送装置の転送遅延の情報とを取得する。取得部221は、各転送装置における非優先ゲートの最低開放時間の情報をさらに取得してもよい。例えば、取得部221は、ネットワークの接続形態を示すトポロジ情報と、転送装置40の転送遅延と、最大流量と、非優先ゲートの最低開放時間とをNWトポロジ記憶部231から取得する。また、取得部221は、収容されたフローの目標遅延時間と、送信元ノードおよび送信先ノードの情報とを収容フロー記憶部232から取得する。取得部221は、送信端末10からの新規フローの追加要求に際して、新規フローの送信元ノードと、送信先ノードと、目標遅延時間との情報を送信端末10から取得する。また、取得部221は、各転送装置40間の各リンクの帯域の情報をさらに取得してもよい。 The acquisition unit 221 acquires topology information indicating the connection form of the network and information on the forwarding delay of each forwarding device that forwards priority packets and non-priority packets. The acquisition unit 221 may further acquire information on the minimum opening time of the non-priority gate in each forwarding device. For example, the acquisition unit 221 acquires topology information indicating the connection form of the network, the forwarding delay of the forwarding device 40, the maximum flow rate, and the minimum opening time of the non-priority gate from the NW topology storage unit 231. The acquisition unit 221 also acquires the target delay time of the accommodated flow and information on the source node and destination node from the accommodated flow storage unit 232. When a request to add a new flow is made from the transmitting terminal 10, the acquisition unit 221 acquires information on the source node, destination node, and target delay time of the new flow from the transmitting terminal 10. The acquisition unit 221 may also acquire information on the bandwidth of each link between each forwarding device 40.
 決定部222は、取得部221により取得されたトポロジ情報と各転送装置40の転送遅延の情報とに基づいて、フローの経路や送信タイミングを決定する。具体的には、新規優先フローが追加される場合、決定部222は、取得部221により取得されたトポロジ情報と各転送装置40の転送遅延の情報とに基づいて、新規優先フローの経路および送信タイミングの少なくとも一方ならびに非優先フローの経路を決定する。また、新規非優先フローが追加される場合、決定部222は、取得部221により取得されたトポロジ情報と各転送装置40の転送遅延の情報とに基づいて、新規非優先フローの経路および非優先フローの経路を決定する。 The determination unit 222 determines the path and transmission timing of the flow based on the topology information acquired by the acquisition unit 221 and the information on the forwarding delay of each transfer device 40. Specifically, when a new priority flow is added, the determination unit 222 determines at least one of the path and transmission timing of the new priority flow and the path of the non-priority flow based on the topology information acquired by the acquisition unit 221 and the information on the forwarding delay of each transfer device 40. In addition, when a new non-priority flow is added, the determination unit 222 determines the path of the new non-priority flow and the path of the non-priority flow based on the topology information acquired by the acquisition unit 221 and the information on the forwarding delay of each transfer device 40.
 以下、新規優先フローが追加される場合に、決定部222が、新規優先フローの経路や送信タイミングを決定する構成の詳細について説明する。この場合、決定部222は、取得部221により取得されたトポロジ情報と各転送装置40の転送遅延と非優先ゲートの最低開放時間の情報とに基づいて、新規優先フローが送信元ノードから送信先ノードへと送信されるまでの遅延時間が、新規優先フローごとにあらかじめ設定された目標遅延時間内であって、非優先ゲートが開放されている時間が、非優先ゲートに設定された最低開放時間以上となる新規優先フローの経路や送信タイミングを決定してもよい。 The following describes in detail the configuration in which the determination unit 222 determines the path and transmission timing of a new priority flow when a new priority flow is added. In this case, based on the topology information acquired by the acquisition unit 221 and information on the transfer delay of each transfer device 40 and the minimum opening time of a non-priority gate, the determination unit 222 may determine the path and transmission timing of a new priority flow such that the delay time until the new priority flow is transmitted from the source node to the destination node is within a target delay time preset for each new priority flow and the time that the non-priority gate is open is equal to or longer than the minimum opening time set for the non-priority gate.
 例えば、決定部222は、記憶部230に記憶された情報と、送信端末10から通知された情報とに基づいて新規優先フローの経路および送信タイミングの少なくとも一方を決定する。ここで、送信タイミングとは、転送装置40が新規優先フローを転送するタイミングをいう。また、送信タイミングは、上述の例に限定されず、送信端末10が新規優先フローを送信するタイミングでもよい。 For example, the determination unit 222 determines at least one of the path and transmission timing of the new priority flow based on the information stored in the storage unit 230 and the information notified from the transmitting terminal 10. Here, the transmission timing refers to the timing at which the transfer device 40 transfers the new priority flow. In addition, the transmission timing is not limited to the above example, and may be the timing at which the transmitting terminal 10 transmits the new priority flow.
 以下、新規優先フローが追加される場合における、決定部222による新規優先フローの経路や送信タイミングの決定の具体的な処理について説明する。例えば、決定部222は、NWトポロジ記憶部231が持つネットワークの接続形態を示すトポロジ情報と、転送装置40の転送遅延と非優先ゲートの最低開放時間との情報と、送信端末10から通知された新規優先フローの送信元ノードと、送信先ノードと、目標遅延時間とに関する情報に基づき、新規優先フローが送信元ノードから送信先ノードへと転送されるまでの遅延時間が、新規優先フローの目標時間内であり、同一の期間に同一の転送装置40に容量以上の転送がされないような、新規優先フローの経路や送信タイミングを決定する。 The following describes the specific process of determining the route and transmission timing of the new priority flow by the determination unit 222 when a new priority flow is added. For example, the determination unit 222 determines the route and transmission timing of the new priority flow based on topology information indicating the network connection form held by the NW topology storage unit 231, information on the transfer delay of the transfer device 40 and the minimum opening time of the non-priority gate, and information on the source node, destination node, and target delay time of the new priority flow notified from the transmitting terminal 10, so that the delay time until the new priority flow is transferred from the source node to the destination node is within the target time of the new priority flow and the same transfer device 40 is not transferred more than its capacity in the same period.
 この場合、決定部222は、線形計画問題ソルバによる計算結果である最適解を活用し、新規優先フローの経路および送信タイミングの計算を行ってもよい。例えば、決定部222は、トポロジ情報と、転送装置40の転送遅延と非優先ゲートの最低開放時間との情報と、送信端末10から通知された新規優先フローの送信元ノードと、送信先ノードと、目標遅延時間とに関する情報に基づき、下記目的関数(i)等により線形計画問題を立式して線形計画問題ソルバに引き渡し、変数の結果の返却を受け付ける。 In this case, the decision unit 222 may use the optimal solution that is the result of the calculation by the linear programming problem solver to calculate the route and transmission timing of the new priority flow. For example, the decision unit 222 formulates a linear programming problem using the following objective function (i) or the like based on topology information, information on the transfer delay of the transfer device 40 and the minimum opening time of the non-priority gate, and information on the source node, destination node, and target delay time of the new priority flow notified from the transmitting terminal 10, and passes it to the linear programming problem solver and accepts the return of the variable results.
 線形計画問題の目的関数(i)は、例えば、下記数式(1)のような、ノードにおける非優先ゲートの閉塞時間を最小化、QoSを満たしていない優先パケットを最小化、全タイムスロットでのノードにおける非優先ゲートの閉塞時間を最小化するものを設定する。 The objective function (i) of the linear programming problem is set to, for example, minimize the blocking time of non-priority gates at the node, minimize priority packets that do not satisfy QoS, and minimize the blocking time of non-priority gates at the node in all time slots, as shown in the following formula (1).
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000001
 上記数式(1)のKは全ての優先パケットの集合を表す。Tは全てのタイムスロットの集合を表す。Vは全てのネットワークノードの集合を表す。clоserateは、ノードvの非優先ゲートがタイムスロットtで閉まっている場合に1が代入されるバイナリ変数を表す。δは、第一項に対して十分に小さい値を表す。pBlоckは、優先フローkがQоS(Quality of Service)を満たさない場合に1が代入されるバイナリ変数を表す。εは第二項に対して十分に小さい値を表す。clоsev、tは、ノードvの非優先ゲートがタイムスロットtで閉まっている場合に1が代入されるバイナリ変数を表す。 In the above formula (1), K represents the set of all priority packets. T represents the set of all time slots. V represents the set of all network nodes. close v represents a binary variable to which 1 is assigned if the non-priority gate of node v is closed in time slot t. δ represents a sufficiently small value for the first term. pBlock k represents a binary variable to which 1 is assigned if priority flow k does not satisfy QoS (Quality of Service). ε represents a sufficiently small value for the second term. close v,t represents a binary variable to which 1 is assigned if the non-priority gate of node v is closed in time slot t.
 事前保有パラメータは、トポロジ、各転送装置40の転送遅延、各転送装置40間の各リンクの最大流量および各ノードにおける非優先ゲートの最低開放時間とする。決定部222は、収容済みの既存の優先フローのパラメータである目標遅延時間の情報、出発ノードおよび到着ノードを定数、追加優先フローの経路および送信タイミングを変数として実数解を得ることにより、新規優先フローの経路や送信タイミングを決定する。 The pre-held parameters are the topology, the forwarding delay of each forwarding device 40, the maximum flow rate of each link between each forwarding device 40, and the minimum opening time of the non-priority gate at each node. The determination unit 222 determines the route and transmission timing of the new priority flow by obtaining a real solution using the target delay time information, which is a parameter of the existing priority flow that has already been accommodated, the departure node and arrival node as constants, and the route and transmission timing of the additional priority flow as variables.
 次に、新規優先フローが追加される場合における決定部222による非優先フローの経路の決定の具体的な処理について説明する。例えば、取得部221により、各転送装置40間の各リンクの帯域の情報が取得されている場合、決定部222は、取得部221により取得された帯域の情報に基づいて、非優先フローの経路を決定してもよい。 Next, a specific process for determining the route of a non-priority flow by the determination unit 222 when a new priority flow is added will be described. For example, if the acquisition unit 221 has acquired bandwidth information of each link between each transfer device 40, the determination unit 222 may determine the route of the non-priority flow based on the bandwidth information acquired by the acquisition unit 221.
 この場合、決定部222は、線形計画問題ソルバによる計算結果である最適解を活用し、非優先フローの経路の計算を行ってもよい。例えば、決定部222は、トポロジ情報と、転送装置40の転送遅延の情報と、送信端末10から通知された新規優先フローの送信元ノードと、送信先ノードと、目標遅延時間とに関する情報と、各転送装置40間の各リンクの帯域の情報とに基づき、下記目的関数(ii)等により線形計画問題を立式して線形計画問題ソルバに引き渡し、変数の結果の返却を受け付ける。 In this case, the decision unit 222 may use the optimal solution that is the result of the calculation by the linear programming problem solver to calculate the route of the non-priority flow. For example, the decision unit 222 formulates a linear programming problem using the following objective function (ii) or the like based on topology information, information on the forwarding delay of the forwarding device 40, information on the source node, destination node, and target delay time of the new priority flow notified from the transmitting terminal 10, and information on the bandwidth of each link between each forwarding device 40, passes the problem to the linear programming problem solver, and accepts the return of the variable results.
 線形計画問題の目的関数(ii)は、例えば、下記数式(2)のような、QоSを満たしていない非優先パケットを最小化、各転送装置40間の各リンクの最大帯域を最小化するものを設定する。 The objective function (ii) of the linear programming problem is set to, for example, minimize non-priority packets that do not satisfy the QoS and minimize the maximum bandwidth of each link between each transfer device 40, as shown in the following formula (2).
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000002
 上記数式(2)のKは、全ての優先パケットの集合を表す。Eは、全てのリンクの集合を表す。bBlоckは、非優先フローKがQоSを満たしていない場合には1が代入されるバイナリ変数を表す。δは、第一項に対して十分に小さい値を表す。Bandwidthi、jは、ノードiからノードjへのリンクにおいて使用されている帯域を表す。 In the above formula (2), K represents the set of all priority packets. E represents the set of all links. bBlock k represents a binary variable that is set to 1 if non-priority flow K does not satisfy the QoS. δ represents a sufficiently small value for the first term. Bandwidth i,j represents the bandwidth used on the link from node i to node j.
 事前保有パラメータは、トポロジ、各転送装置40の転送遅延、各転送装置40間の各リンクの最大流量および各優先フローの収容状況とする。決定部222は、全ての非優先フローのパラメータである目標遅延時間の情報、出発ノードおよび到着ノードを変数として実数解を得ることにより、非優先フローの経路を決定する。 The pre-held parameters are the topology, the forwarding delay of each forwarding device 40, the maximum flow rate of each link between each forwarding device 40, and the accommodation status of each priority flow. The determination unit 222 determines the route of the non-priority flow by obtaining a real solution using the target delay time information, which is the parameter of all non-priority flows, and the departure node and arrival node as variables.
 上述の例では、新規優先フローが追加される場合における決定部222による非優先フローの経路の決定の具体的な処理について説明しているため、当該非優先フローには、新規非優先フローは含まれない。これに対し、新規非優先フローが追加される場合、決定部222は、収容済みの既存の非優先フローに加えて新規非優先フローを含む全ての非優先フローの経路を決定する点以外、新規優先フローが追加される場合と同様に、全ての非優先フローの経路を決定する。すなわち、新規非優先フローが追加される場合、決定部222は、決定部222は、全ての非優先フローに新規非優先フローが含まれ、既存の非優先フローの経路に加えて新規非優先フローの経路を決定する点以外、上述の例と同様に非優先フローの経路を決定する。 The above example describes the specific process of determining the routes of non-priority flows by the determination unit 222 when a new priority flow is added, and therefore the non-priority flow does not include the new non-priority flow. In contrast, when a new non-priority flow is added, the determination unit 222 determines the routes of all non-priority flows in the same manner as when a new priority flow is added, except that the determination unit 222 determines the routes of all non-priority flows including the new non-priority flow in addition to the existing non-priority flows that have already been accommodated. In other words, when a new non-priority flow is added, the determination unit 222 determines the routes of the non-priority flows in the same manner as the above example, except that the determination unit 222 determines the routes of all non-priority flows including the new non-priority flow in addition to the routes of the existing non-priority flows.
 設定部223は、決定部222により決定されたフローの経路や送信タイミングを転送装置40または送信端末10に対して設定する。具体的には、設定部223は、決定部222により決定された新規優先フローの経路および送信タイミングの少なくとも一方ならびに非優先フローの経路、または、新規非優先フローの経路および非優先フローの経路を転送装置40または送信端末10に対して設定する。また、決定部222により新規優先フローの送信タイミングが決定される場合、設定部223は、決定部222により決定された送信タイミングとして、転送装置40のフローを転送するタイミングを設定する。また、設定部223は、決定部222により決定された送信タイミングとして、送信端末10のフローを送信するタイミングを設定する。 The setting unit 223 sets the path and transmission timing of the flow determined by the determination unit 222 to the transfer device 40 or the transmitting terminal 10. Specifically, the setting unit 223 sets at least one of the path and transmission timing of the new priority flow determined by the determination unit 222 and the path of the non-priority flow, or the path of the new non-priority flow and the path of the non-priority flow to the transfer device 40 or the transmitting terminal 10. Furthermore, when the transmission timing of the new priority flow is determined by the determination unit 222, the setting unit 223 sets the timing of transferring the flow of the transfer device 40 as the transmission timing determined by the determination unit 222. Furthermore, the setting unit 223 sets the timing of transmitting the flow of the transmitting terminal 10 as the transmission timing determined by the determination unit 222.
 リソース要求部224は、決定部222により非優先パケットのフローの経路が決定された場合、非優先パケットがQоSを満たさなければ、各転送装置40間の各リンクのうち各転送装置40の最大流量を超える流量のリンクの帯域を増加させることを要求する。 When the flow route of the non-priority packets is determined by the determination unit 222, if the non-priority packets do not satisfy the QoS, the resource request unit 224 requests an increase in the bandwidth of the link between each transfer device 40 whose flow rate exceeds the maximum flow rate of each transfer device 40.
 リソース要求部224は、決定部222により計算された結果、フローが送信元ノードから送信先ノードへと送信されるまでの遅延時間が、フローごとにあらかじめ設定された目標遅延時間内であって、非優先ゲートが開放されている時間が、非優先ゲートに設定された最低開放時間以上となるフローの経路や送信タイミングが決定できなかった場合に、リソースの追加を外部装置に対して要求してもよい。ここで、リソース要求部224がリソース追加を要求する外部装置として、オーケストレータ30等が挙げられる。 If the resource request unit 224 is unable to determine a flow path or transmission timing that satisfies the calculation results of the determination unit 222, such that the delay time until the flow is transmitted from the source node to the destination node is within the target delay time preset for each flow and the time that the non-priority gate is open is equal to or longer than the minimum open time set for the non-priority gate, the resource request unit 224 may request additional resources from an external device. Here, an example of an external device to which the resource request unit 224 requests additional resources is the orchestrator 30.
 また、例えば、リソース要求部224は、フローが送信元ノードから送信先ノードへと送信されるまでの遅延時間が、フローごとにあらかじめ設定された目標遅延時間内であって、非優先ゲートが開放されている時間が、非優先ゲートに設定された最低開放時間以上となるフローの経路と送信タイミングとの決定に必要なリソース追加を、外部装置に対して要求する。 Also, for example, the resource request unit 224 requests an external device to add resources necessary to determine the flow path and transmission timing such that the delay time until the flow is transmitted from the source node to the destination node is within a target delay time preset for each flow, and the time that a non-priority gate is open is equal to or longer than the minimum open time set for the non-priority gate.
 トポロジ更新受付部225は、ネットワークの接続形態を示すトポロジ情報の更新を受け付けて、NWトポロジ記憶部231に格納する。例えば、トポロジ更新受付部225は、新規優先フローまたは新規非優先フローが追加され、ネットワークの接続形態に変更があった場合に、そのトポロジ更新の通知を受け付けて、新しいトポロジ情報をNWトポロジ記憶部231に記憶させることにより格納する。 The topology update reception unit 225 receives updates to topology information indicating the connection form of the network and stores it in the NW topology storage unit 231. For example, when a new priority flow or a new non-priority flow is added and the connection form of the network is changed, the topology update reception unit 225 receives notification of the topology update and stores the new topology information by storing it in the NW topology storage unit 231.
〔3.フロー追加手順〕
 次に、図3および図4を用いて、制御システム1による新規フローが追加された場合におけるフローの転送までの手順(フロー追加手順)を説明する。図3および図4は、第一の実施形態に係る制御システム1によるフロー追加手順の一例を示す図である。
[3. Flow Addition Procedure]
Next, a procedure (flow addition procedure) up to transfer of a flow when a new flow is added by the control system 1 will be described with reference to Fig. 3 and Fig. 4. Fig. 3 and Fig. 4 are diagrams showing an example of a flow addition procedure by the control system 1 according to the first embodiment.
 最初に、図3を用いて、新規優先フローが追加された場合におけるフロー追加手順について説明する。図3に示すように、本実施形態の制御システム1は、送信端末10と、コントローラ200と、オーケストレータ30と、転送装置40とを含む。 First, the flow addition procedure when a new priority flow is added will be described with reference to FIG. 3. As shown in FIG. 3, the control system 1 of this embodiment includes a transmitting terminal 10, a controller 200, an orchestrator 30, and a forwarding device 40.
 まず、送信端末10は、コントローラ200に、新規優先フローの追加要求を行う(1)。この場合、送信端末10は、コントローラ200に対して、追加を要求する新規優先フローの送信元ノードと、送信先ノードと、目標遅延との情報を通知する。次に、コントローラ200は、送信端末10から通知された新規優先フローの送信元ノードと、送信先ノードと、目標遅延の情報と、トポロジ情報と、転送装置40の転送遅延の情報とに基づいて、新規優先フローの経路および送信タイミングならびに非優先フローの経路を決定する(2)。ここで、コントローラ200が、新規優先フローの経路や送信タイミングまたは非優先フローの経路を決定できない場合には、リソースが不足しているとして、コントローラ200は、オーケストレータ30に対して、あらかじめ指定されたリンク等、最小限のリソース追加を要求する(3)。 First, the transmitting terminal 10 requests the controller 200 to add a new priority flow (1). In this case, the transmitting terminal 10 notifies the controller 200 of information on the source node, destination node, and target delay of the new priority flow to be added. Next, the controller 200 determines the route and transmission timing of the new priority flow and the route of the non-priority flow based on the source node, destination node, target delay information, topology information, and forwarding delay information of the forwarding device 40 of the new priority flow notified by the transmitting terminal 10 (2). If the controller 200 cannot determine the route and transmission timing of the new priority flow or the route of the non-priority flow, it determines that there are insufficient resources and requests the orchestrator 30 to add a minimum number of resources, such as pre-specified links (3).
 次に、コントローラ200からの最小限のリソースの追加要求を受けたオーケストレータ30は、リソース追加処理を実施する(4)。その後、オーケストレータ30は、コントローラ200に対し、正常にリソース追加処理が実施されたことを通知する(5)。 Next, the orchestrator 30, which has received a request from the controller 200 to add the minimum number of resources, performs the resource addition process (4). After that, the orchestrator 30 notifies the controller 200 that the resource addition process has been successfully performed (5).
 次に、コントローラ200は、決定された新規優先フローの経路および送信タイミングならびに非優先フローの経路を、転送装置40に対して設定する(6)。これによって、転送装置40において、新規優先フローの経路および送信タイミングならびに非優先フローの経路が設定される(7)。次に、転送装置40は、新規優先フローの経路および送信タイミングならびに非優先フローの経路が正常に設定されたことを、コントローラ200に対して通知する(8)。次に、コントローラ200は、送信端末10に対して、新規優先フローの送信タイミングを設定し、送信開始を許可する(9)。そして、送信端末10は、新規優先フローの送信を開始する(10)。 The controller 200 then sets the determined path and transmission timing of the new priority flow and the path of the non-priority flow in the transfer device 40 (6). As a result, the path and transmission timing of the new priority flow and the path of the non-priority flow are set in the transfer device 40 (7). Next, the transfer device 40 notifies the controller 200 that the path and transmission timing of the new priority flow and the path of the non-priority flow have been set successfully (8). Next, the controller 200 sets the transmission timing of the new priority flow in the transmitting terminal 10 and permits it to start transmitting (9). Then, the transmitting terminal 10 starts transmitting the new priority flow (10).
 上述の例では、コントローラ200は、新規優先フローの経路と送信タイミングとの両方を決定しているが、新規優先フローの経路と送信タイミングとの少なくとも一方を決定すればよい。例えば、コントローラ200は、新規優先フローの経路と送信タイミングとの一方のみ、すなわち、新規優先フローの経路または送信タイミングを決定してもよい。いずれの場合もネットワーク内に収容可能なフローの数を増加させることが可能となる。 In the above example, the controller 200 determines both the path and the transmission timing of the new priority flow, but it is sufficient to determine at least one of the path and the transmission timing of the new priority flow. For example, the controller 200 may determine only one of the path and the transmission timing of the new priority flow, i.e., the path or the transmission timing of the new priority flow. In either case, it is possible to increase the number of flows that can be accommodated in the network.
 続いて、図4を用いて、新規非優先フローが追加された場合におけるフロー追加手順について説明する。図3と同様に、本実施形態の制御システム1は、送信端末10と、コントローラ200と、オーケストレータ30と、転送装置40とを含む。 Next, the flow addition procedure when a new non-priority flow is added will be described with reference to FIG. 4. As in FIG. 3, the control system 1 of this embodiment includes a transmitting terminal 10, a controller 200, an orchestrator 30, and a forwarding device 40.
 まず、送信端末10は、コントローラ200に、新規非優先フローの追加要求を行う(11)。この場合、送信端末10は、コントローラ200に対して、追加を要求する新規非優先フローの送信元ノードと、送信先ノードと、目標遅延との情報を通知する。次に、コントローラ200は、送信端末10から通知された新規非優先フローの送信元ノードと、送信先ノードと、目標遅延の情報と、トポロジ情報と、転送装置40の転送遅延の情報とに基づいて、新規非優先フローの経路および非優先フローの経路(全ての非優先フローの経路)を決定する(12)。ここで、コントローラ200が、新規非優先フローの経路および非優先フローの経路を決定できない場合には、リソースが不足しているとして、コントローラ200は、オーケストレータ30に対して、あらかじめ指定されたリンク等、最小限のリソース追加を要求する(13)。 First, the transmitting terminal 10 requests the controller 200 to add a new non-priority flow (11). In this case, the transmitting terminal 10 notifies the controller 200 of information on the source node, destination node, and target delay of the new non-priority flow that is requested to be added. Next, the controller 200 determines the route of the new non-priority flow and the route of the non-priority flow (routes of all non-priority flows) based on the source node, destination node, and target delay information of the new non-priority flow notified by the transmitting terminal 10, topology information, and forwarding delay information of the forwarding device 40 (12). If the controller 200 cannot determine the route of the new non-priority flow and the route of the non-priority flow, it determines that there is a resource shortage, and requests the orchestrator 30 to add a minimum amount of resources, such as pre-specified links (13).
 次に、コントローラ200から最小限のリソースの追加要求を受けたオーケストレータ30は、リソース追加処理を実施する(14)。その後、オーケストレータ30は、コントローラ200に対し、正常にリソース追加処理が実施されたことを通知する(15)。 Next, the orchestrator 30, which has received a request from the controller 200 to add the minimum number of resources, performs the resource addition process (14). After that, the orchestrator 30 notifies the controller 200 that the resource addition process has been successfully performed (15).
 次に、コントローラ200は、決定された新規非優先フローの経路および非優先フローの経路を、転送装置40に対して設定する(16)。これによって、転送装置40において、新規非優先フローの経路および非優先フローの経路が設定される(17)。次に、転送装置40は、新規非優先フローの経路および非優先フローの経路が正常に設定されたことを、コントローラ200に対して通知する(18)。次に、コントローラ200は、送信端末10に対して送信開始を許可する(19)。そして、送信端末10は、新規非優先フローの送信を開始する(20)。 The controller 200 then sets the determined new non-priority flow path and non-priority flow path in the transfer device 40 (16). As a result, the new non-priority flow path and non-priority flow path are set in the transfer device 40 (17). Next, the transfer device 40 notifies the controller 200 that the new non-priority flow path and non-priority flow path have been set successfully (18). Next, the controller 200 permits the transmitting terminal 10 to start transmission (19). Then, the transmitting terminal 10 starts transmitting the new non-priority flow (20).
〔4.フロー追加〕
 次に、図5および図6を用いて、新規フローが追加された場合における経路設定によるフロー制御(フロー追加)の一例について説明する。図5および図6は、第一の実施形態に係る制御システム1によるフロー追加の一例を示す図である。
[4. Add flow]
Next, an example of flow control (flow addition) by path setting when a new flow is added will be described with reference to Fig. 5 and Fig. 6. Fig. 5 and Fig. 6 are diagrams showing an example of flow addition by the control system 1 according to the first embodiment.
 最初に、図5を用いて、新規優先フローが追加された場合におけるフロー追加の一例について説明する。図5(1)は、経路が設定されていないフローを示し、図5(1)には、非優先フロー(i)および(ii)と、優先フローと、新規優先フローと、各転送装置40間のリンクごとの遅延時間が示されている。 First, an example of flow addition when a new priority flow is added will be described using FIG. 5. FIG. 5 (1) shows a flow for which no route is set, and FIG. 5 (1) shows non-priority flows (i) and (ii), a priority flow, a new priority flow, and the delay time for each link between each transfer device 40.
 図5(1)では、×印が付されている位置において、非優先フロー(ii)の経路と、優先フローの経路と、非優先フローの経路とが重複していることにより、トラフィックの衝突が起こる場合がある。この場合、衝突したトラフィックの総量が、転送装置40の最大流量を上回った場合には、輻輳が発生し、上述の位置において、使用可能な新規優先フローの優先パケットが転送装置40に到着するタイムスロットがなくなることがある。 In Figure 5 (1), at the location marked with an x, the path of the non-priority flow (ii), the path of the priority flow, and the path of the non-priority flow overlap, which may cause traffic collisions. In this case, if the total amount of colliding traffic exceeds the maximum flow rate of the forwarding device 40, congestion will occur, and at the above-mentioned location, there may be no available time slots for priority packets of a new priority flow to arrive at the forwarding device 40.
 一方、図5(2)は、経路設定により制御されたフローを示している。ここで、コントローラ200は、フロー制御を実施し、新規優先フローの経路ならびに非優先フロー(i)および(ii)の経路設定を行い、非優先フロー(i)および(ii)の経路を再配置することによって変更している。これにより、コントローラ200は、非優先フロー(ii)の経路と、優先フローの経路と、新規優先フローの経路との重複を解消している。 On the other hand, FIG. 5 (2) shows a flow controlled by route setting. Here, the controller 200 performs flow control, sets routes for the new priority flow and non-priority flows (i) and (ii), and modifies the routes of the non-priority flows (i) and (ii) by rearranging them. In this way, the controller 200 eliminates overlap between the route for the non-priority flow (ii), the route for the priority flow, and the route for the new priority flow.
 具体的には、まず、コントローラ200は、各非優先ゲートの最低開放時間を確保し、輻輳を回避しながら非優先ゲートの閉塞時間を最小化する新規優先フローの経路、送信タイミングを計算する最適化計算(i)を行う。次に、コントローラ200は、QоSを満たしていない非優先パケットを最小化、各転送装置40間の各リンクの最大帯域を最小化する非優先フローの経路を計算する最適化計算(ii)を行う。 Specifically, first, the controller 200 performs optimization calculation (i) to calculate the route and transmission timing of a new priority flow that ensures the minimum opening time of each non-priority gate and minimizes the blocking time of the non-priority gate while avoiding congestion. Next, the controller 200 performs optimization calculation (ii) to calculate the route of the non-priority flow that minimizes the number of non-priority packets that do not satisfy the QoS and minimizes the maximum bandwidth of each link between each transfer device 40.
 そして、コントローラ200は、最適化計算(i)によって得られた新規優先フローの経路を転送装置40に対して設定することにより、新規優先フローを目標遅延時間内に送信元ノードから送信先ノードへと転送する。これにより、コントローラ200は、転送装置40に対する負荷を小さくすることで、非優先ゲートの最低開放時間を確保し、フローの転送効率を最大化する。コントローラ200は、新規優先フローの経路に加え、最適化計算(ii)によって得られた非優先フローの経路を転送装置40に対して設定することにより、衝突トラフィックの総量が転送装置40の最大流量を上回ることにより発生する輻輳を回避する。また、これにより、コントローラ200は、非優先フローを含む、ネットワーク内に収容可能なフローの数を増加させる。 Then, the controller 200 sets the route of the new priority flow obtained by the optimization calculation (i) for the forwarding device 40, thereby forwarding the new priority flow from the source node to the destination node within the target delay time. In this way, the controller 200 ensures the minimum opening time of the non-priority gates by reducing the load on the forwarding device 40, and maximizes the flow forwarding efficiency. By setting the route of the non-priority flow obtained by the optimization calculation (ii) for the forwarding device 40 in addition to the route of the new priority flow, the controller 200 avoids congestion that occurs when the total amount of colliding traffic exceeds the maximum flow rate of the forwarding device 40. In addition, this causes the controller 200 to increase the number of flows, including non-priority flows, that can be accommodated in the network.
 続いて、図6を用いて、新規非優先フローが追加された場合におけるフロー追加の一例について説明する。図6(1)は、経路が設定されていないフローを示し、図6(1)には、非優先フローと、新規非優先フローと、優先フロー(i)および(ii)と、各転送装置40間のリンクごとの遅延時間が示されている。 Next, an example of flow addition when a new non-priority flow is added will be described with reference to FIG. 6. FIG. 6 (1) shows a flow for which no route is set, and FIG. 6 (1) shows a non-priority flow, a new non-priority flow, priority flows (i) and (ii), and the delay time for each link between each transfer device 40.
 図6(1)では、×印が付されている位置において、新規非優先フローの経路と、優先フロー(i)の経路と、優先フロー(ii)の経路とが重複していることにより、トラフィックの衝突が起こり、輻輳が発生し、タイムスロットがなくなることがある。 In Figure 6 (1), at the locations marked with an x, the route of the new non-priority flow, the route of the priority flow (i), and the route of the priority flow (ii) overlap, which can cause traffic collisions, congestion, and a lack of time slots.
 一方、図6(2)は、経路設定により制御されたフローを示している。ここで、コントローラ200は、フロー制御を実施し、非優先フローおよび新規非優先フローの経路設定を行い、非優先フロー(i)および(ii)の経路を再配置することによって変更している。これにより、コントローラ200は、新規非優先フローの経路と、優先フロー(i)の経路と、優先フロー(ii)の経路との重複を解消している。 On the other hand, FIG. 6 (2) shows a flow controlled by route setting. Here, the controller 200 performs flow control, sets routes for the non-priority flow and the new non-priority flow, and modifies the routes of the non-priority flows (i) and (ii) by rearranging them. In this way, the controller 200 eliminates overlap between the route of the new non-priority flow, the route of the priority flow (i), and the route of the priority flow (ii).
 具体的には、コントローラ200は、QоSを満たしていない非優先パケットを最小化、各転送装置40間の各リンクの最大帯域を最小化する非優先フローの経路を計算する最適化計算(ii)を行う。そして、コントローラ200は、最適化計算(ii)によって得られた非優先フローの経路を転送装置40に対して設定することにより、衝突トラフィックの総量が転送装置40の最大流量を上回ることにより発生する輻輳を回避する。また、これにより、コントローラ200は、非優先フローを含む、ネットワーク内に収容可能なフローの数を増加させる。 Specifically, the controller 200 performs an optimization calculation (ii) to calculate a route for a non-priority flow that minimizes non-priority packets that do not satisfy the QoS and minimizes the maximum bandwidth of each link between each transfer device 40. The controller 200 then sets the route for the non-priority flow obtained by the optimization calculation (ii) for the transfer device 40, thereby avoiding congestion that occurs when the total amount of colliding traffic exceeds the maximum flow rate of the transfer device 40. This also causes the controller 200 to increase the number of flows, including non-priority flows, that can be accommodated in the network.
〔5.フローチャート〕
 図7および図8を用いて新規フローが追加された場合における第一の実施形態に係るコントローラ200の経路設定によるフロー制御(フロー追加)の流れを説明する。図7および図8は第一の実施形態に係るフロー追加の流れの一例を示すフローチャートである。
5. Flowchart
A flow of flow control (flow addition) by path setting of the controller 200 according to the first embodiment when a new flow is added will be described with reference to Fig. 7 and Fig. 8. Fig. 7 and Fig. 8 are flowcharts showing an example of the flow of flow addition according to the first embodiment.
 最初に、図7を用いて、新規優先フローが追加された場合におけるフロー追加の流れについて説明する。まず、コントローラ200の決定部222は、既存のフローを定数、追加優先フローを変数として最適化計算(i)を実施する(ステップS101)。具体的には、決定部222は、既存フローの経路および送信タイミングを定数、追加優先フローの経路および送信タイミングを変数として、各非優先ゲートの最低開放時間の確保と輻輳を回避しながら、非優先ゲートの閉塞時間を最小化する最適化計算(i)を行う。 First, the flow of flow addition when a new priority flow is added will be described with reference to FIG. 7. First, the decision unit 222 of the controller 200 performs optimization calculation (i) with the existing flow as a constant and the added priority flow as a variable (step S101). Specifically, the decision unit 222 performs optimization calculation (i) with the path and transmission timing of the existing flow as constants and the path and transmission timing of the added priority flow as variables, to minimize the blocking time of non-priority gates while ensuring the minimum opening time of each non-priority gate and avoiding congestion.
 次に、コントローラ200のリソース要求部224は、決定部222による計算の結果、最適変数が、下記数式(3)を満たすか判定する(ステップS102)。ここで、最適変数が、下記数式(3)を満たさない場合(ステップS102“Nо”)とは、リソースが不足していることを意味する。対して、最適変数が、下記数式(3)を満たす場合(ステップS102“Yes”)とは、リソースが不足していないことを意味する。 Next, the resource request unit 224 of the controller 200 determines whether the optimal variable satisfies the following formula (3) based on the result of the calculation by the decision unit 222 (step S102). Here, if the optimal variable does not satisfy the following formula (3) (step S102 "No"), it means that there is a resource shortage. On the other hand, if the optimal variable satisfies the following formula (3) (step S102 "Yes"), it means that there is no resource shortage.
 ここで、リソース要求部224は、最適変数が下記数式(3)を満たさないと判定した場合(ステップS102“Nо”)、最適変数で最大流量を超えた転送装置40への帯域の追加を要求する(ステップS103)。すなわち、決定部222により新規優先フローの経路が決定された場合に、新規優先パケットがQоSを満たさなければ、リソース要求部224は、各転送装置40間の各リンクのうち、各転送装置40の最大流量を超える流量のリンクの帯域を増加させることを要求する。 Here, if the resource request unit 224 determines that the optimal variables do not satisfy the following formula (3) (step S102 "No"), it requests the addition of bandwidth to the transfer device 40 whose flow rate exceeds the maximum flow rate with the optimal variables (step S103). In other words, when the route for a new priority flow is determined by the determination unit 222, if the new priority packet does not satisfy the QoS, the resource request unit 224 requests an increase in the bandwidth of the link between each transfer device 40 whose flow rate exceeds the maximum flow rate of each transfer device 40.
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000003
 最適変数が、上記数式(3)を満たす場合(ステップS102“Yes”)、または、ステップS103の処理を終えた後、決定部222は、全ての非優先フローを変数として目標関数(ii)で非優先フローの最適化計算(ii)を実施する(ステップS104)。具体的には、決定部222は、全ての非優先フローを変数として、QоSを満たしていない非優先パケットを最小化、各転送装置40間の各リンクの最大帯域を最小化する非優先フローの経路を計算する最適化計算(ii)を行う。 If the optimization variables satisfy the above formula (3) (step S102 "Yes"), or after completing the processing of step S103, the decision unit 222 performs optimization calculation (ii) for the non-priority flows with objective function (ii) using all non-priority flows as variables (step S104). Specifically, the decision unit 222 performs optimization calculation (ii) for calculating the route of the non-priority flows that minimizes non-priority packets that do not satisfy QoS and minimizes the maximum bandwidth of each link between each transfer device 40 using all non-priority flows as variables.
 リソース要求部224は、決定部222による計算の結果、最適変数が、下記数式(4)を満たすか判定する(ステップS105)。ここで、最適変数が、下記数式(4)を満たさない場合(ステップS105“Nо”)とは、リソースが不足していることを意味する。対して、最適変数が、下記数式(4)を満たす場合(ステップS105“Yes”)とは、リソースが不足していないことを意味する。 The resource request unit 224 determines whether the optimal variables satisfy the following formula (4) based on the calculation results by the determination unit 222 (step S105). Here, if the optimal variables do not satisfy the following formula (4) (step S105 "No"), this means that there is a resource shortage. On the other hand, if the optimal variables satisfy the following formula (4) (step S105 "Yes"), this means that there is no resource shortage.
 ここで、リソース要求部224は、最適変数が下記数式(4)を満たさないと判定した場合(ステップS105“Nо”)、最適変数で最大流量を超えた転送装置40への帯域の追加を要求する(ステップS106)。すなわち、決定部222により非優先フローの経路が決定された場合に、非優先パケットがQоSを満たさなければ、リソース要求部224は、各転送装置40間の各リンクのうち、各転送装置40の最大流量を超える流量のリンクの帯域を増加させることを要求する。 Here, if the resource request unit 224 determines that the optimal variables do not satisfy the following formula (4) (step S105 "No"), it requests the addition of bandwidth to the transfer device 40 whose flow rate exceeds the maximum flow rate with the optimal variables (step S106). In other words, when the route for a non-priority flow is determined by the determination unit 222, if the non-priority packets do not satisfy the QoS, the resource request unit 224 requests an increase in the bandwidth of the link between each transfer device 40 whose flow rate exceeds the maximum flow rate of each transfer device 40.
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000004
 最適変数が、上記数式(4)を満たす場合(ステップS105“Yes”)、または、ステップS106の処理を終えた場合、設定部223は、決定部222により決定された新規優先フローの経路や送信タイミングおよび非優先フローの経路を設定する。具体的には、設定部223は、転送装置40または送信端末10に対し、最適化計算(i)の最適変数での新規優先フローの経路や送信タイミングおよび最適化計算(ii)の最適変数での非優先フローの経路を設定してフローを転送する(ステップS107)。 If the optimal variables satisfy the above formula (4) (step S105 "Yes"), or if the processing of step S106 is completed, the setting unit 223 sets the route and transmission timing of the new priority flow and the route of the non-priority flow determined by the decision unit 222. Specifically, the setting unit 223 sets the route and transmission timing of the new priority flow with the optimal variables of the optimization calculation (i) and the route of the non-priority flow with the optimal variables of the optimization calculation (ii) for the transfer device 40 or the sending terminal 10, and transfers the flow (step S107).
 続いて、図8を用いて新規非優先フローが追加された場合におけるフロー追加の流れについて説明する。まず、決定部222は、新規非優先フローおよび既存の非優先フロー(全ての非優先フロー)を変数として目標関数(ii)で非優先フローの最適化計算(ii)を実施する(ステップS111)。具体的には、決定部222は、全ての非優先フローを変数としてQоSを満たしていない非優先パケットを最小化、各転送装置40間の各リンクの最大帯域を最小化する非優先フローの経路を計算する最適化計算(ii)を行う。 Next, the flow of flow addition when a new non-priority flow is added will be described with reference to FIG. 8. First, the decision unit 222 performs an optimization calculation (ii) of the non-priority flow with the objective function (ii) using the new non-priority flow and existing non-priority flows (all non-priority flows) as variables (step S111). Specifically, the decision unit 222 performs an optimization calculation (ii) that uses all non-priority flows as variables to minimize non-priority packets that do not satisfy the QoS and calculates a route for the non-priority flow that minimizes the maximum bandwidth of each link between each transfer device 40.
 リソース要求部224は、決定部222による計算の結果、最適変数が、上記数式(4)を満たすか判定する(ステップS112)。最適変数が下記数式(4)を満たさないとリソース要求部224が判定した場合(ステップS112“Nо”)、リソース要求部224は、最適変数で最大流量を超えた転送装置40への帯域の追加を要求する(ステップS113)。すなわち、決定部222により非優先フローの経路が決定された場合に、非優先パケットがQоSを満たさなければ、リソース要求部224は、各転送装置40間の各リンクのうち、各転送装置40の最大流量を超える流量のリンクの帯域を増加させることを要求する。 The resource request unit 224 determines whether the optimal variables satisfy the above formula (4) as a result of the calculation by the determination unit 222 (step S112). If the resource request unit 224 determines that the optimal variables do not satisfy the following formula (4) (step S112 "No"), the resource request unit 224 requests the addition of bandwidth to the transfer device 40 whose optimal variables exceed the maximum flow rate (step S113). In other words, when the route of a non-priority flow is determined by the determination unit 222, if the non-priority packets do not satisfy the QoS, the resource request unit 224 requests an increase in the bandwidth of the link between each transfer device 40 whose flow rate exceeds the maximum flow rate of each transfer device 40.
 最適変数が、上記数式(4)を満たす場合(ステップS112“Yes”)、または、ステップS112の処理を終えた場合、設定部223は、決定部222により決定された新規非優先フローの経路および非優先フローの経路を設定する。具体的には、設定部223は、転送装置40または送信端末10に対し、最適化計算(ii)の最適変数での全ての非優先フローの経路を設定してフローを転送する(ステップS114)。 If the optimal variables satisfy the above formula (4) (step S112 "Yes"), or if the processing of step S112 is completed, the setting unit 223 sets the route of the new non-priority flow and the route of the non-priority flow determined by the determination unit 222. Specifically, the setting unit 223 sets routes for all non-priority flows for the optimal variables of the optimization calculation (ii) for the transfer device 40 or the sending terminal 10, and transfers the flows (step S114).
〔6.第一の実施形態の効果〕
 上述の通り、第一の実施形態に係るコントローラ200は、取得部221と、決定部222と、設定部223とを有する。取得部221は、ネットワークの接続形態を示すトポロジ情報と、優先パケットおよび非優先パケットの転送を行う各転送装置40の転送遅延の情報とを取得する。決定部222は、新規優先パケットのフローが追加される場合に、取得部221により取得されたトポロジ情報と各転送装置40の転送遅延の情報とに基づいて、新規優先パケットのフローの経路および送信タイミングの少なくとも一方ならびに非優先パケットのフローの経路を決定する。また、決定部222は、新規非優先パケットのフローが追加される場合に、取得部221により取得されたトポロジ情報と各転送装置40の転送遅延の情報とに基づいて、新規非優先パケットのフローの経路および非優先パケットのフローの経路を決定する。設定部223は、決定部222により決定された新規優先パケットのフローの経路および送信タイミングの少なくとも一方ならびに非優先パケットのフローの経路、または、新規非優先パケットのフローの経路および非優先パケットのフローの経路を転送装置40または送信端末10に対して設定する。
6. Effects of the First Embodiment
As described above, the controller 200 according to the first embodiment includes an acquisition unit 221, a determination unit 222, and a setting unit 223. The acquisition unit 221 acquires topology information indicating the connection form of the network and information on the transfer delay of each transfer device 40 that transfers the priority packet and the non-priority packet. When a new priority packet flow is added, the determination unit 222 determines at least one of the path and transmission timing of the new priority packet flow and the path of the non-priority packet flow based on the topology information acquired by the acquisition unit 221 and the information on the transfer delay of each transfer device 40. When a new non-priority packet flow is added, the determination unit 222 determines the path of the new non-priority packet flow and the path of the non-priority packet flow based on the topology information acquired by the acquisition unit 221 and the information on the transfer delay of each transfer device 40. The setting unit 223 sets at least one of the flow path and transmission timing of new priority packets and the flow path of non-priority packets, or the flow path of new non-priority packets and the flow path of non-priority packets, determined by the determination unit 222, to the transfer device 40 or the transmitting terminal 10.
 これにより、第一の実施形態に係るコントローラ200は、取得した情報に基づいて、非優先フローを含む、ネットワーク内に収容可能なフローの数を増加させることができる。具体的には、新規優先フローが追加された場合には、コントローラ200は、収集した情報を用いて、送信端末10または転送装置40に対して、新規優先フローの経路および送信タイミングの少なくとも一方ならびに非優先フローの経路を設定する。また、新規非優先フローが追加された場合には、コントローラ200は、収集した情報を用いて、送信端末10または転送装置40に対して、全ての非優先フローの経路を設定する。このように、新規優先フローまたは新規非優先フローが追加された場合に、コントローラ200は、新規優先フローだけでなく非優先フローも最適化することにより、非優先フローを含む、ネットワーク内に収容可能なフローの数を増加させることができる。 As a result, the controller 200 according to the first embodiment can increase the number of flows, including non-priority flows, that can be accommodated in the network based on the acquired information. Specifically, when a new priority flow is added, the controller 200 uses the collected information to set at least one of the route and transmission timing of the new priority flow, and the route of the non-priority flow, for the transmitting terminal 10 or the transfer device 40. Also, when a new non-priority flow is added, the controller 200 uses the collected information to set routes for all non-priority flows for the transmitting terminal 10 or the transfer device 40. In this way, when a new priority flow or a new non-priority flow is added, the controller 200 optimizes not only the new priority flow but also the non-priority flows, thereby increasing the number of flows, including non-priority flows, that can be accommodated in the network.
 また、第一の実施形態に係るコントローラ200は、新規優先フローまたは新規非優先フローが追加された場合に、新規優先フローだけでなく非優先フローも最適化して収容することにより、リソースの追加を抑制することができる。 In addition, when a new priority flow or a new non-priority flow is added, the controller 200 according to the first embodiment can suppress the addition of resources by optimizing and accommodating not only the new priority flow but also the non-priority flow.
 第一の実施形態に係るコントローラ200において、リソース要求部224は、決定部222により非優先パケットのフローの経路が決定された場合に、非優先パケットがQоSを満たさなければ、各転送装置40間の各リンクのうち、各転送装置40の最大流量を超える流量のリンクの帯域を増加させることを要求する。これにより、第一の実施形態に係るコントローラ200は、リソース不足により輻輳が生じることを回避できる。 In the controller 200 according to the first embodiment, when the flow path of the non-priority packets is determined by the determination unit 222, if the non-priority packets do not satisfy the QoS, the resource request unit 224 requests an increase in the bandwidth of the link between the transfer devices 40, the link having a flow rate that exceeds the maximum flow rate of each transfer device 40. This allows the controller 200 according to the first embodiment to avoid congestion caused by a lack of resources.
 第一の実施形態に係るコントローラ200において、取得部221は、各転送装置40間の各リンクの帯域の情報をさらに取得し、決定部222は、取得部221により取得された帯域の情報にさらに基づいて、非優先パケットのフローの経路を決定する。これにより、第一の実施形態に係るコントローラ200は、各転送装置40間の各リンクの帯域を小さくする非優先フローの経路を決定することができる。 In the controller 200 according to the first embodiment, the acquisition unit 221 further acquires bandwidth information of each link between each transfer device 40, and the determination unit 222 determines the path of the flow of non-priority packets based further on the bandwidth information acquired by the acquisition unit 221. This allows the controller 200 according to the first embodiment to determine a path of the non-priority flow that reduces the bandwidth of each link between each transfer device 40.
〔第二の実施形態〕
 以下、第二の実施形態について説明する。第二の実施形態では、優先フローや非優先フローが削除される場合に、非優先フローを最適化する場合について説明する。
Second Embodiment
A second embodiment will be described below, in which a non-priority flow is optimized when a priority flow or a non-priority flow is deleted.
〔1.制御システムの構成例〕
 まず、図9を用いて、第二の実施形態に係る制御システム1Xの構成について説明する。図9は、第二の実施形態に係る制御システム1Xの構成の一例を表す図である。図9に示すように、第二の実施形態に係る制御システム1Xは、図1の第一の実施形態に係る制御システム1と比較して、コントローラ200に代えてコントローラ200Xを有する。
[1. Example of control system configuration]
First, the configuration of a control system 1X according to the second embodiment will be described with reference to Fig. 9. Fig. 9 is a diagram showing an example of the configuration of a control system 1X according to the second embodiment. As shown in Fig. 9, the control system 1X according to the second embodiment has a controller 200X instead of the controller 200 in the control system 1 according to the first embodiment of Fig. 1.
〔2.コントローラの構成例〕
 次に、図10を用いて、コントローラ200Xの構成について説明する。図10は、第二の実施形態に係るコントローラ200Xの構成の一例を示す図である。図10が示すように、コントローラ200は、図2のコントローラ200と比較して、制御部220に代えて制御部220Xを有する。制御部220Xは、図2の制御部220と比較して、決定部222および設定部223に代えて決定部222Xおよび設定部223Xを有する。
[2. Controller configuration example]
Next, the configuration of the controller 200X will be described with reference to Fig. 10. Fig. 10 is a diagram showing an example of the configuration of the controller 200X according to the second embodiment. As shown in Fig. 10, the controller 200 has a control unit 220X instead of the control unit 220 compared to the controller 200 in Fig. 2. The control unit 220X has a determination unit 222X and a setting unit 223X instead of the determination unit 222 and the setting unit 223 compared to the control unit 220 in Fig. 2.
 決定部222Xは、優先フローが削除される場合に、取得部221により取得されたトポロジ情報と各転送装置40の転送遅延の情報とに基づいて、非優先フローの経路をさらに決定する。同様に、決定部222Xは、非優先フローが削除される場合に、取得部221により取得されたトポロジ情報と各転送装置40の転送遅延の情報とに基づいて、非優先フローの経路をさらに決定する。 When a priority flow is deleted, the determination unit 222X further determines a route for a non-priority flow based on the topology information acquired by the acquisition unit 221 and the information on the forwarding delay of each transfer device 40. Similarly, when a non-priority flow is deleted, the determination unit 222X further determines a route for a non-priority flow based on the topology information acquired by the acquisition unit 221 and the information on the forwarding delay of each transfer device 40.
 以下、優先フローや非優先フローが削除される場合に、決定部222Xが非優先フローの経路を決定する構成の詳細について説明する。例えば、取得部221により、各転送装置40間の各リンクの帯域の情報が取得されている場合、決定部222Xは、取得部221により取得された帯域の情報に基づいて、非優先フローの経路を決定してもよい。 The following describes in detail the configuration in which the determination unit 222X determines the path of the non-priority flow when a priority flow or non-priority flow is deleted. For example, when the acquisition unit 221 has acquired bandwidth information of each link between each transfer device 40, the determination unit 222X may determine the path of the non-priority flow based on the bandwidth information acquired by the acquisition unit 221.
 決定部222Xは、第一の実施形態と同様に、上記数式(2)によって表される目的関数(ii)を用いて、線形計画問題ソルバによる計算結果である最適解を活用し、非優先フローの経路の計算を行ってもよい。この場合、決定部222Xは、第一の実施形態と同様の事前保有パラメータおよび変数を用いて実数解を得ることにより、非優先フローの経路を決定する。 The determination unit 222X may use the objective function (ii) expressed by the above formula (2) to calculate the path of the non-priority flow by utilizing the optimal solution that is the result of the calculation by the linear programming problem solver, as in the first embodiment. In this case, the determination unit 222X determines the path of the non-priority flow by obtaining a real solution using the same pre-held parameters and variables as in the first embodiment.
 ここで、優先フローや非優先フローが削除される場合、これらのフローに使用されるリンクが減少するため、これらのフローが追加される場合と異なり、通常、リンクの帯域が各転送装置40の最大流量を超えることはない。このため、優先フローや非優先フローが削除される場合には、これらのフローが追加される場合と異なり、リソース要求部224による最適変数で各転送装置40の最大流量を超えた流量のリンクの帯域を追加する要求を行わなくてもよい。その代わりに、決定部222Xは、取得部221により取得された帯域の情報によって示される各リンクの帯域の少なくとも1つが減少する場合のみ、非優先パケットのフローの経路を決定してもよい。 Here, when a priority flow or a non-priority flow is deleted, the number of links used by these flows is reduced, and unlike when these flows are added, the link bandwidth usually does not exceed the maximum flow rate of each transfer device 40. Therefore, when a priority flow or a non-priority flow is deleted, unlike when these flows are added, there is no need to request the resource request unit 224 to add bandwidth to a link with a flow rate that exceeds the maximum flow rate of each transfer device 40 in the optimization variables. Instead, the determination unit 222X may determine the route for the flow of non-priority packets only when at least one of the bandwidths of each link indicated by the bandwidth information acquired by the acquisition unit 221 is reduced.
 設定部223Xは、決定部222Xにより決定された非優先パケットのフローの経路を転送装置40または送信端末10に対して設定する。 The setting unit 223X sets the path of the flow of non-priority packets determined by the determination unit 222X to the transfer device 40 or the transmitting terminal 10.
〔3.フローの削除手順〕
 次に、図11および12を用いて、第二の実施形態に係る制御システム1Xによる削除されたフローの転送までの手順(フローの削除手順)について説明する。図11および12は、第二の実施形態に係るフローの削除手順の一例を示す図である。
3. Flow deletion procedure
Next, a procedure for transferring a deleted flow by the control system 1X according to the second embodiment (a flow deletion procedure) will be described with reference to Figures 11 and 12. Figures 11 and 12 are diagrams showing an example of a flow deletion procedure according to the second embodiment.
 最初に、図11を用いて優先フローが削除される場合におけるフローの削除手順について説明する。図11に示すように、本実施形態の制御システム1Xは、図3および図4の制御システム1と比較して、コントローラ200に代えてコントローラ200Xを含む。 First, the flow deletion procedure when a priority flow is deleted will be described with reference to FIG. 11. As shown in FIG. 11, the control system 1X of this embodiment includes a controller 200X instead of the controller 200, as compared to the control system 1 of FIG. 3 and FIG. 4.
 まず、送信端末10は、コントローラ200Xに、収容済みの優先フローの削除要求を行う(21)。この場合、送信端末10は、コントローラ200Xに対して、削除を要求する削除優先フローの送信元ノードと、送信先ノードを通知する。次に、コントローラ200Xは、送信端末10から通知された削除優先フローの送信元ノードと、送信先ノードと、トポロジ情報と、転送装置40の転送遅延の情報とに基づいて、非優先フローの経路の経路を決定する(22)。ここで、各リンクの帯域の少なくとも1つが減少する場合等、使用されているリソースが開放される場合には、コントローラ200Xは、オーケストレータ30に対して、開放されたリソースの削除を要求する(23)。 First, the transmitting terminal 10 requests the controller 200X to delete the accommodated priority flow (21). In this case, the transmitting terminal 10 notifies the controller 200X of the source node and destination node of the deletion priority flow that is requested to be deleted. Next, the controller 200X determines the route of the non-priority flow based on the source node and destination node of the deletion priority flow notified by the transmitting terminal 10, topology information, and information on the forwarding delay of the forwarding device 40 (22). Here, if the bandwidth of at least one of the links is reduced, or if a resource that is being used is released, the controller 200X requests the orchestrator 30 to delete the released resource (23).
 次に、コントローラ200Xからのリソースの削除要求を受けたオーケストレータ30は、リソース削除処理を実施する(24)。その後、オーケストレータ30は、コントローラ200Xに対し、正常にリソース削除処理が実施されたことを通知する(25)。 Next, the orchestrator 30, which has received the resource deletion request from the controller 200X, executes the resource deletion process (24). After that, the orchestrator 30 notifies the controller 200X that the resource deletion process has been successfully executed (25).
 次に、コントローラ200Xは、決定された非優先フローの経路を、転送装置40に対して設定し、削除優先フローの経路の設定を解除する(26)。これによって、転送装置40において、非優先フローの経路が設定され、削除優先フローの経路の設定が解除される(27)。次に、転送装置40は、非優先フローの経路が正常に設定され、削除優先フローの経路の設定が解除されたことを、コトローラ200Xに対して通知する(28)。次に、コントローラ200Xは、送信端末10に対して、非優先フローの経路が正常に設定され、削除優先フローの経路の設定が解除されたことを通知する(29)。 The controller 200X then sets the determined non-priority flow path for the transfer device 40, and cancels the setting of the deletion priority flow path (26). As a result, the non-priority flow path is set in the transfer device 40, and the deletion priority flow path setting is cancelled (27). Next, the transfer device 40 notifies the controller 200X that the non-priority flow path has been set successfully, and the deletion priority flow path setting has been cancelled (28). Next, the controller 200X notifies the sending terminal 10 that the non-priority flow path has been set successfully, and the deletion priority flow path setting has been cancelled (29).
 続いて、図12を用いて非優先フローが削除される場合におけるフローの削除手順について説明する。図12に示すように、本実施形態の制御システム1Xは、図3および図4の制御システム1と比較してコントローラ200に代えてコントローラ200Xを含む。 Next, the flow deletion procedure when a non-priority flow is deleted will be described with reference to FIG. 12. As shown in FIG. 12, the control system 1X of this embodiment includes a controller 200X instead of the controller 200 in the control system 1 of FIG. 3 and FIG. 4.
 まず、送信端末10は、コントローラ200Xに、収容済みの非優先フローの削除要求を行う(31)。この場合、送信端末10は、コントローラ200Xに対して、削除を要求する非優先フローの送信元ノードと、送信先ノードを通知する。次に、コントローラ200Xは、送信端末10から通知された削除非優先フローの送信元ノードと、送信先ノードと、トポロジ情報と、転送装置40の転送遅延の情報とに基づいて、非優先フローの経路の経路を決定する(32)。ここで、各リンクの帯域の少なくとも1つが減少する場合等、使用されているリソースが開放される場合には、コントローラ200Xは、オーケストレータ30に対して、開放されたリソースの削除を要求する(33)。 First, the transmitting terminal 10 requests the controller 200X to delete the non-priority flow that is already accommodated (31). In this case, the transmitting terminal 10 notifies the controller 200X of the source node and destination node of the non-priority flow to be deleted. Next, the controller 200X determines the route of the non-priority flow based on the source node and destination node of the non-priority flow to be deleted notified by the transmitting terminal 10, topology information, and information on the forwarding delay of the forwarding device 40 (32). Here, if the bandwidth of at least one of the links is reduced, or if a resource that is being used is released, the controller 200X requests the orchestrator 30 to delete the released resource (33).
 次に、コントローラ200Xからのリソースの削除要求を受けたオーケストレータ30は、リソース削除処理を実施する(34)。その後、オーケストレータ30は、コントローラ200Xに対し、正常にリソース削除処理が実施されたことを通知する(35)。 Next, the orchestrator 30, which has received the resource deletion request from the controller 200X, performs the resource deletion process (34). After that, the orchestrator 30 notifies the controller 200X that the resource deletion process has been successfully performed (35).
 次に、コントローラ200Xは、決定された非優先フローの経路を、転送装置40に対して設定し、削除非優先フローの経路の設定を解除する(36)。これによって、転送装置40において、非優先フローの経路が設定され、削除非優先フローの経路の設定が解除される(37)。次に、転送装置40は、非優先フローの経路が正常に設定され、削除非優先フローの経路の設定が解除されたことを、コトローラ200Xに対して通知する(38)。次に、コントローラ200Xは、送信端末10に対して、非優先フローの経路が正常に設定され、削除非優先フローの経路の設定が解除されたことを通知する(39)。 The controller 200X then sets the determined non-priority flow path for the transfer device 40 and cancels the path setting for the deleted non-priority flow (36). As a result, the non-priority flow path is set in the transfer device 40 and the path setting for the deleted non-priority flow is cancelled (37). Next, the transfer device 40 notifies the controller 200X that the non-priority flow path has been set successfully and the path setting for the deleted non-priority flow has been cancelled (38). Next, the controller 200X notifies the transmitting terminal 10 that the non-priority flow path has been set successfully and the path setting for the deleted non-priority flow has been cancelled (39).
〔4.フロー削除〕
 図13および14を用いて、フローが削除される場合の第二の実施形態に係る制御システム1Xの経路設定による経路設定によるフロー制御(フロー削除)の一例について説明する。図13および14は、第二の実施形態に係るフロー削除の一例を示す図である。
[4. Delete flow]
An example of flow control (flow deletion) by route setting in the control system 1X according to the second embodiment when a flow is deleted will be described with reference to Figures 13 and 14. Figures 13 and 14 are diagrams showing an example of flow deletion according to the second embodiment.
 最初に、図13を用いて、優先フローが削除される場合におけるフロー削除の一例について説明する。図13(1)は、経路が設定されていないフローを示し、図13(1)には、非優先フロー(i)および(ii)と、削除が要求された削除優先フローと、各転送装置40間のリンクごとの遅延時間が示されている。図13(1)では、非優先フロー(i)の経路と、非優先フロー(ii)の経路とは同一ではなく、一部の経路が重複していない。このため、これらの経路のうちの一部において、非優先フロー(i)および非優先フロー(ii)がそれぞれ使用しているリソースが存在する。 First, an example of flow deletion when a priority flow is deleted will be described with reference to FIG. 13. FIG. 13(1) shows a flow for which no route is set, and shows non-priority flows (i) and (ii), a priority flow to be deleted for which deletion has been requested, and the delay time for each link between each transfer device 40. In FIG. 13(1), the route for non-priority flow (i) and the route for non-priority flow (ii) are not the same, and some of the routes do not overlap. Therefore, in some of these routes, there are resources that are used by non-priority flow (i) and non-priority flow (ii).
 一方、図13(2)は、経路設定により制御されたフローを示している。ここで、コントローラ200Xは、フロー制御を実施し、非優先フロー(i)および(ii)の経路設定を行い、リソースが最大化するように、非優先フロー(i)および(ii)の経路を再配置することによって変更している。具体的には、コントローラ200Xは、非優先フロー(i)の経路と非優先フロー(ii)の経路との輻輳を回避しつつ、非優先フロー(ii)の経路に含まれるリンクのうち、図13(2)の矢印部分における、リソースの一つであるリンクを使用状態から開放する。これにより、コントローラ200Xは、使用されているリソースの量を最小化している。 On the other hand, FIG. 13(2) shows a flow controlled by path setting. Here, the controller 200X performs flow control, sets paths for the non-priority flows (i) and (ii), and modifies them by rearranging the paths for the non-priority flows (i) and (ii) so as to maximize resources. Specifically, the controller 200X releases from use the link that is one of the resources in the arrow portion of FIG. 13(2) among the links included in the path of the non-priority flow (ii), while avoiding congestion between the path of the non-priority flow (i) and the path of the non-priority flow (ii). In this way, the controller 200X minimizes the amount of resources being used.
 この場合、コントローラ200Xは、第一の実施形態と同様に、QоSを満たさない非優先パケットを最小化、各転送装置40間の各リンクの最大帯域を最小化する非優先フローの経路を計算する最適化計算(ii)を行う。そして、コントローラ200Xは、最適化計算(ii)によって得られた非優先フローの経路を転送装置40に対して設定することにより、輻輳を回避しつつ、使用されているリソースの量を最小化する。 In this case, as in the first embodiment, the controller 200X performs optimization calculation (ii) to calculate a route for a non-priority flow that minimizes non-priority packets that do not satisfy the QoS and minimizes the maximum bandwidth of each link between each transfer device 40. The controller 200X then sets the route for the non-priority flow obtained by optimization calculation (ii) to the transfer device 40, thereby minimizing the amount of resources being used while avoiding congestion.
 続いて、図14を用いて、非優先フローが削除される場合におけるフロー削除の一例について説明する。図14(1)は、経路が設定されていないフローを示し、図14(1)には、非優先フローと、削除を要求する削除非優先フローと、各転送装置40間のリンクごとの遅延時間が示されている。図14(1)では、非優先フローの経路と、削除非優先フローの経路とは同一ではなく、一部の経路が重複していない。このため、これらの経路のうちの一部において、非優先フローおよび削除非優先フローがそれぞれ使用しているリソースが存在する。 Next, an example of flow deletion when a non-priority flow is deleted will be described with reference to FIG. 14. FIG. 14 (1) shows a flow for which no route is set, and FIG. 14 (1) shows the non-priority flow, the deleted non-priority flow that is requesting deletion, and the delay time for each link between each transfer device 40. In FIG. 14 (1), the route of the non-priority flow and the route of the deleted non-priority flow are not the same, and some routes do not overlap. Therefore, in some of these routes, there are resources that are used by the non-priority flow and the deleted non-priority flow, respectively.
 一方、図14(2)は、経路設定により制御されたフローを示す。ここで、コントローラ200Xは、フロー制御を実施し、非優先フローの経路設定を行い、リソースが最大化するように、非優先フローの経路を再配置することにより変更している。具体的には、コントローラ200Xは、非優先フローの経路と優先フローの経路との輻輳を回避しつつ、非優先フローの経路に含まれるリンクのうち、図14(2)の矢印部分における、リソースの一つであるリンクを使用状態から開放する。これにより、コントローラ200Xは、使用されているリソースの量を最小化している。 On the other hand, FIG. 14 (2) shows a flow controlled by route setting. Here, the controller 200X implements flow control, sets routes for non-priority flows, and modifies them by rearranging the routes for non-priority flows so as to maximize resources. Specifically, the controller 200X avoids congestion between the routes for non-priority flows and the routes for priority flows, and releases from use the links included in the routes for non-priority flows, which are one of the resources in the arrowed portion of FIG. 14 (2). In this way, the controller 200X minimizes the amount of resources being used.
 この場合、コントローラ200Xは、第一の実施形態と同様に、QоSを満たさない非優先パケットを最小化、各転送装置40間の各リンクの最大帯域を最小化する非優先フローの経路を計算する最適化計算(ii)を行う。そして、コントローラ200Xは、最適化計算(ii)によって得られた非優先フローの経路を転送装置40に対して設定することにより、輻輳を回避しつつ、使用されているリソースの量を最小化する。 In this case, as in the first embodiment, the controller 200X performs optimization calculation (ii) to calculate a route for a non-priority flow that minimizes non-priority packets that do not satisfy the QoS and minimizes the maximum bandwidth of each link between each transfer device 40. The controller 200X then sets the route for the non-priority flow obtained by optimization calculation (ii) to the transfer device 40, thereby minimizing the amount of resources being used while avoiding congestion.
〔5.フローチャート〕
 図15および16を用いて、フローが削除される場合の第二の実施形態に係るコントローラ200Xの経路設定によるフロー制御(フロー削除)の流れを説明する。図15および16は、第二の実施形態に係るフロー削除の流れの一例を示すフローチャートである。
5. Flowchart
A flow of flow control (flow deletion) by path setting of the controller 200X according to the second embodiment in the case where a flow is deleted will be described with reference to Figures 15 and 16. Figures 15 and 16 are flowcharts showing an example of the flow of flow deletion according to the second embodiment.
 最初に、図15を用いて、優先フローが削除される場合におけるフロー削除の流れを説明する。まず、決定部222Xは、削除優先フローおよび既存の非優先フロー(全ての非優先フロー)を変数として目標関数(ii)で非優先フローの最適化計算(ii)を実施する(ステップS201)。具体的には、決定部222Xは、全ての非優先フローを変数として、QоSを満たしていない非優先パケットを最小化、各転送装置40間の各リンクの最大帯域を最小化する非優先フローの経路を計算する最適化計算(ii)を行う。 First, the flow of flow deletion when a priority flow is deleted will be described using FIG. 15. First, the decision unit 222X performs an optimization calculation (ii) of the non-priority flow with objective function (ii) using the priority flow to be deleted and existing non-priority flows (all non-priority flows) as variables (step S201). Specifically, the decision unit 222X performs an optimization calculation (ii) of the non-priority flow with variables of all non-priority flows to minimize non-priority packets that do not satisfy QoS and to calculate a route for the non-priority flow that minimizes the maximum bandwidth of each link between each transfer device 40.
 決定部222Xは、計算の結果、使用帯域が減少したリンクが存在するかどうかを判定する(ステップS202)。決定部222Xは、使用帯域が減少したリンクが存在すると判定した場合(ステップS202“Yes”)、最適化計算(ii)の最適変数での非優先フローの経路を決定する。また、設定部223Xは、転送装置40または送信端末10に対し、決定部222Xにより決定された最適化計算(ii)の最適変数での非優先フローの経路を設定してフローを転送する(ステップS203)。決定部222Xは、使用帯域が減少したリンクが存在しないと判定した場合(ステップS202“Nо”)、最適化計算(ii)の最適変数での非優先フローの経路の決定および再配置を実行せずに処理を終了する。このように、決定部222Xは、取得部221により取得された帯域の情報によって示される各リンクの帯域の少なくとも1つが減少する場合のみ、非優先パケットのフローの経路を決定してもよい。 The determination unit 222X determines whether or not there is a link whose bandwidth usage has decreased as a result of the calculation (step S202). When the determination unit 222X determines that there is a link whose bandwidth usage has decreased (step S202 "Yes"), it determines a route for the non-priority flow with the optimal variables of the optimization calculation (ii). In addition, the setting unit 223X sets the route for the non-priority flow with the optimal variables of the optimization calculation (ii) determined by the determination unit 222X to the transfer device 40 or the transmitting terminal 10 and transfers the flow (step S203). When the determination unit 222X determines that there is no link whose bandwidth usage has decreased (step S202 "No"), it ends the process without determining the route for the non-priority flow with the optimal variables of the optimization calculation (ii) and rearranging it. In this way, the determination unit 222X may determine the route for the flow of non-priority packets only when at least one of the bandwidths of each link indicated by the bandwidth information acquired by the acquisition unit 221 is reduced.
〔6.第二の実施形態の効果〕
 上述の通り、第二の実施形態に係るコントローラ200Xにおいて、優先パケットのフローが削除される場合に、決定部222Xは、取得部221により取得されたトポロジ情報と各転送装置40の転送遅延の情報とに基づいて、非優先パケットのフローの経路を決定する。また、設定部223Xは、決定部222Xにより決定された非優先パケットのフローの経路を転送装置40または送信端末10に対して設定する。
6. Effects of the Second Embodiment
As described above, in the controller 200X according to the second embodiment, when a flow of priority packets is deleted, the determination unit 222X determines a route for the flow of non-priority packets based on the topology information acquired by the acquisition unit 221 and information on the forwarding delay of each forwarding device 40. In addition, the setting unit 223X sets the route for the flow of non-priority packets determined by the determination unit 222X to the forwarding device 40 or the transmitting terminal 10.
 これにより、第二の実施形態に係るコントローラ200Xは、リソースが大きくなる非優先フローの経路を決定し、当該経路に非優先フローを再配置して、使用されているリソースの量を減らし、当該リソースを開放できる。また、TSN(Time-Sensitive Networking)のネットワークを使用するユーザは、ネットワークオペレータからユーザ専用のネットワークを借りて使用するため、使用されているリソースの量を減らすことにより、運用費を削減することができる。 As a result, the controller 200X according to the second embodiment can determine a route for non-priority flows that require large resources, and relocate the non-priority flows to that route, thereby reducing the amount of resources being used and freeing up those resources. In addition, since users of a TSN (Time-Sensitive Networking) network rent a network dedicated to the user from the network operator, they can reduce operating costs by reducing the amount of resources being used.
 また、第二の実施形態に係るコントローラ200Xにおいて、非優先パケットのフローが削除される場合に、決定部222Xは、取得部221により取得されたトポロジ情報と各転送装置40の転送遅延の情報とに基づいて、非優先パケットのフローの経路を決定する。また、設定部223Xは、決定部222Xにより決定された非優先パケットのフローの経路を転送装置40または送信端末10に対して設定する。 In addition, in the controller 200X according to the second embodiment, when a flow of non-priority packets is deleted, the determination unit 222X determines a path for the flow of non-priority packets based on the topology information acquired by the acquisition unit 221 and information on the forwarding delay of each forwarding device 40. In addition, the setting unit 223X sets the path for the flow of non-priority packets determined by the determination unit 222X to the forwarding device 40 or the transmitting terminal 10.
 これにより、第二の実施形態に係るコントローラ200Xは、リソースが大きくなる非優先フローの経路を決定し、当該経路に非優先フローを再配置して、使用されているリソースの量を減らし、当該リソースを開放できる。また、TSNのネットワークを使用するユーザは、ネットワークオペレータからユーザ専用のネットワークを借りて使用するため、使用されているリソースの量を減らすことにより、運用費を削減することができる。 As a result, the controller 200X according to the second embodiment can determine a route for a non-priority flow that requires large resources, and relocate the non-priority flow to that route, thereby reducing the amount of resources being used and freeing up those resources. In addition, since users of a TSN network rent a network dedicated to them from a network operator, they can reduce operating costs by reducing the amount of resources being used.
 また、第二の実施形態に係るコントローラ200Xにおいて、決定部222Xは、取得部221により取得された帯域の情報により示される各リンクの帯域の少なくとも1つが減少する場合のみ、非優先パケットのフローの経路を決定する。これにより、コントローラ200Xは、リソースの一つであるリンクの帯域が減少する場合に非優先パケットのフローの経路を決定するため、使用されているリソースの量を確実に減らすことができる。 Furthermore, in the controller 200X according to the second embodiment, the determination unit 222X determines the path for the flow of non-priority packets only when at least one of the bandwidths of the links indicated by the bandwidth information acquired by the acquisition unit 221 is reduced. As a result, the controller 200X determines the path for the flow of non-priority packets when the bandwidth of a link, which is one of the resources, is reduced, and therefore it is possible to reliably reduce the amount of resources being used.
〔プログラム〕
 上記実施形態において説明したコントローラ200およびコントローラ200Xが実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
〔program〕
It is also possible to create a program in which the processes executed by the controller 200 and the controller 200X described in the above embodiment are written in a language executable by a computer. In this case, the same effects as those of the above embodiment can be obtained by the computer executing the program. Furthermore, such a program may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read and executed by a computer to realize the same processes as those of the above embodiment.
 図17は、プログラムを実行するコンピュータの一例を示す図である。図17に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部はバス1080により接続される。 FIG. 17 is a diagram showing an example of a computer that executes a program. As shown in FIG. 17, the computer 1000 has, for example, a memory 1010, a CPU 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. Each of these components is connected by a bus 1080.
 メモリ1010は、ROM(Read Only Memory)1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。ディスクドライブ1041には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1110およびキーボード1120が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1130が接続される。 The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012. The ROM 1011 stores a boot program such as a BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to a hard disk drive 1090. The disk drive interface 1040 is connected to a disk drive 1041. A removable storage medium such as a magnetic disk or optical disk is inserted into the disk drive 1041. The serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120. The video adapter 1060 is connected to, for example, a display 1130.
 ここで、図17に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ1090やメモリ1010に記憶される。 As shown in FIG. 17, the hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. Each table described in the above embodiment is stored, for example, in the hard disk drive 1090 or memory 1010.
 また、制御プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、ハードディスクドライブ1090に記憶される。具体的には、上記実施形態で説明したコントローラ2000が実行する各処理が記述されたプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。 The control program is stored in the hard disk drive 1090, for example, as a program module in which instructions to be executed by the computer 1000 are written. Specifically, a program module 1093 in which each process executed by the controller 2000 described in the above embodiment is written is stored in the hard disk drive 1090.
 また、制御プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ1090に記憶される。そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上記各手順を実行する。 In addition, data used for information processing by the control program is stored as program data, for example, in the hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and program data 1094 stored in the hard disk drive 1090 into the RAM 1012 as necessary, and executes each of the above procedures.
 なお、制御プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、制御プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。 The program module 1093 and program data 1094 related to the control program are not limited to being stored in the hard disk drive 1090, but may be stored in a removable storage medium, for example, and read by the CPU 1020 via the disk drive 1041 or the like. Alternatively, the program module 1093 and program data 1094 related to the control program may be stored in another computer connected via a network such as a LAN (Local Area Network) or a WAN (Wide Area Network), and read by the CPU 1020 via the network interface 1070.
 1、1X 制御システム
 10 送信端末
 200、200X コントローラ(制御装置)
 210 通信部
 220、220X 制御部
 221 取得部
 222、222X 決定部
 223、223X 設定部
 224 リソース要求部
 225 トポロジ更新受付部
 230 記憶部
 231 NWトポロジ記憶部
 232 収容フロー記憶部
 30 オーケストレータ
 40 転送装置
1, 1X Control system 10 Transmission terminal 200, 200X Controller (control device)
210 Communication unit 220, 220X Control unit 221 Acquisition unit 222, 222X Determination unit 223, 223X Setting unit 224 Resource request unit 225 Topology update reception unit 230 Storage unit 231 NW topology storage unit 232 Accommodated flow storage unit 30 Orchestrator 40 Transfer device

Claims (8)

  1.  ネットワークの接続形態を示すトポロジ情報と、優先パケットおよび非優先パケットの転送を行う各転送装置の転送遅延の情報とを取得する取得部と、
     新規優先パケットのフローが追加される場合に、前記取得部により取得されたトポロジ情報と各転送装置の転送遅延の情報とに基づいて、前記新規優先パケットのフローの経路および送信タイミングの少なくとも一方ならびに前記非優先パケットのフローの経路を決定し、新規非優先パケットのフローが追加される場合に、前記取得部により取得されたトポロジ情報と各転送装置の転送遅延の情報とに基づいて、前記新規非優先パケットのフローの経路および前記非優先パケットのフローの経路を決定する決定部と、
     前記決定部により決定された前記新規優先パケットのフローの経路および送信タイミングの少なくとも一方ならびに前記非優先パケットのフローの経路、または、前記新規非優先パケットのフローの経路および前記非優先パケットのフローの経路を前記転送装置または送信端末に対して設定する設定部と
     を有することを特徴とする制御装置。
    an acquisition unit that acquires topology information indicating a connection form of a network and information on a transfer delay of each transfer device that transfers prioritized packets and non-priority packets;
    a determination unit which, when a new flow of priority packets is added, determines at least one of a route and a transmission timing of the new flow of priority packets and a route of the flow of non-priority packets based on topology information and information on transfer delays of each transfer device acquired by the acquisition unit, and which, when a new flow of non-priority packets is added, determines a route of the new flow of non-priority packets and a route of the flow of non-priority packets based on the topology information and information on transfer delays of each transfer device acquired by the acquisition unit;
    a setting unit that sets at least one of the flow path and transmission timing of the new priority packets and the flow path of the non-priority packets determined by the determination unit, or the flow path of the new non-priority packets and the flow path of the non-priority packets to the transfer device or a transmitting terminal.
  2.  前記優先パケットのフローが削除される場合に、前記決定部は、前記取得部により取得されたトポロジ情報と各転送装置の転送遅延の情報とに基づいて、前記非優先パケットのフローの経路を決定し、
     前記設定部は、前記決定部により決定された前記非優先パケットのフローの経路を前記転送装置または前記送信端末に対して設定することを特徴とする請求項1に記載の制御装置。
    when the flow of the priority packets is deleted, the determination unit determines a route for the flow of the non-priority packets based on the topology information acquired by the acquisition unit and information on a forwarding delay of each forwarding device;
    2. The control device according to claim 1, wherein the setting unit sets the flow path of the non-priority packets determined by the determination unit to the transfer device or the transmitting terminal.
  3.  前記非優先パケットのフローが削除される場合に、前記決定部は、前記取得部により取得されたトポロジ情報と各転送装置の転送遅延の情報とに基づいて、前記非優先パケットのフローの経路を決定し、
     前記設定部は、前記決定部により決定された前記非優先パケットのフローの経路を前記転送装置または前記送信端末に対して設定することを特徴とする請求項1または2に記載の制御装置。
    when the flow of the non-priority packets is deleted, the determination unit determines a route for the flow of the non-priority packets based on the topology information acquired by the acquisition unit and information on a forwarding delay of each forwarding device;
    3. The control device according to claim 1, wherein the setting unit sets the flow path of the non-priority packets determined by the determination unit to the transfer device or the sending terminal.
  4.  前記決定部により前記非優先パケットのフローの経路が決定された場合に、前記非優先パケットがQоS(Quality of Service)を満たさなければ、前記各転送装置間の各リンクのうち、前記各転送装置の最大流量を超える流量のリンクの帯域を増加させることを要求するリソース要求部をさらに有することを特徴とする請求項1に記載の制御装置。 The control device according to claim 1, further comprising a resource request unit that requests an increase in the bandwidth of a link between the transfer devices, the link having a flow rate that exceeds the maximum flow rate of the transfer device, if the non-priority packet does not satisfy QoS (Quality of Service) when the flow route of the non-priority packet is determined by the determination unit.
  5.  前記取得部は、前記各転送装置間の各リンクの帯域の情報をさらに取得し、
     前記決定部は、前記取得部により取得された前記帯域の情報にさらに基づいて、前記非優先パケットのフローの経路を決定することを特徴とする請求項1に記載の制御装置。
    The acquisition unit further acquires information on a bandwidth of each link between each of the transfer devices,
    2 . The control device according to claim 1 , wherein the determination unit determines a route for the flow of the non-priority packets further based on the bandwidth information acquired by the acquisition unit.
  6.  前記決定部は、前記取得部により取得された前記帯域の情報によって示される前記各リンクの帯域の少なくとも1つが減少する場合のみ、前記非優先パケットのフローの経路を決定することを特徴とする請求項5に記載の制御装置。 The control device according to claim 5, characterized in that the determination unit determines the path of the flow of the non-priority packets only when at least one of the bandwidths of the links indicated by the bandwidth information acquired by the acquisition unit decreases.
  7.  ネットワークの接続形態を示すトポロジ情報と、優先パケットおよび非優先パケットの転送を行う各転送装置の転送遅延の情報とを取得する取得工程と、
     新規優先パケットのフローが追加される場合に、前記取得工程により取得されたトポロジ情報と各転送装置の転送遅延の情報とに基づいて、前記新規優先パケットのフローの経路および送信タイミングの少なくとも一方ならびに前記非優先パケットのフローの経路を決定し、新規非優先パケットのフローが追加される場合に、前記取得工程により取得されたトポロジ情報と各転送装置の転送遅延の情報とに基づいて、前記新規非優先パケットのフローの経路および前記非優先パケットのフローの経路を決定する決定工程と、
     前記決定工程により決定された前記新規優先パケットのフローの経路および送信タイミングの少なくとも一方ならびに前記非優先パケットのフローの経路、または、前記新規非優先パケットのフローの経路および前記非優先パケットのフローの経路を前記転送装置または送信端末に対して設定する設定工程と
     を含むことを特徴とする制御方法。
    an acquisition step of acquiring topology information indicating a connection form of a network and information on a transfer delay of each transfer device that transfers prioritized packets and non-priority packets;
    a determining step of, when a new flow of priority packets is added, determining at least one of a route and a transmission timing of the new flow of priority packets and a route of the flow of non-priority packets based on the topology information acquired in the acquiring step and information on the transfer delay of each transfer device, and, when a new flow of non-priority packets is added, determining a route of the new flow of non-priority packets and a route of the flow of non-priority packets based on the topology information acquired in the acquiring step and information on the transfer delay of each transfer device;
    a setting step of setting at least one of the flow route and transmission timing of the new priority packets and the flow route of the non-priority packets, or the flow route of the new non-priority packets and the flow route of the non-priority packets, determined by the determination step, to the transfer device or a transmitting terminal.
  8.  ネットワークの接続形態を示すトポロジ情報と、優先パケットおよび非優先パケットの転送を行う各転送装置の転送遅延の情報とを取得する取得ステップと、
     新規優先パケットのフローが追加される場合に、前記取得ステップにより取得されたトポロジ情報と各転送装置の転送遅延の情報とに基づいて、前記新規優先パケットのフローの経路および送信タイミングの少なくとも一方ならびに前記非優先パケットのフローの経路を決定し、新規非優先パケットのフローが追加される場合に、前記取得ステップにより取得されたトポロジ情報と各転送装置の転送遅延の情報とに基づいて、前記新規非優先パケットのフローの経路および前記非優先パケットのフローの経路を決定する決定ステップと、
     前記決定ステップにより決定された前記新規優先パケットのフローの経路および送信タイミングの少なくとも一方ならびに前記非優先パケットのフローの経路、または、前記新規非優先パケットのフローの経路および前記非優先パケットのフローの経路を前記転送装置または送信端末に対して設定する設定ステップと
     をコンピュータに実行させることを特徴とする制御プログラム。
    an acquisition step of acquiring topology information indicating a connection form of a network and information on a transfer delay of each transfer device that transfers prioritized packets and non-priority packets;
    a determining step of, when a new flow of priority packets is added, determining at least one of a route and a transmission timing of the new flow of priority packets and a route of the flow of non-priority packets based on the topology information acquired in the acquiring step and information on the transfer delay of each transfer device, and, when a new flow of non-priority packets is added, determining a route of the new flow of non-priority packets and a route of the flow of non-priority packets based on the topology information acquired in the acquiring step and information on the transfer delay of each transfer device;
    and a setting step of setting at least one of the flow route and transmission timing of the new priority packets and the flow route of the non-priority packets determined by the determination step, or the flow route of the new non-priority packets and the flow route of the non-priority packets, in the transfer device or a transmitting terminal.
PCT/JP2023/004661 2023-02-10 2023-02-10 Control device, control method, and control program WO2024166398A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/004661 WO2024166398A1 (en) 2023-02-10 2023-02-10 Control device, control method, and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/004661 WO2024166398A1 (en) 2023-02-10 2023-02-10 Control device, control method, and control program

Publications (1)

Publication Number Publication Date
WO2024166398A1 true WO2024166398A1 (en) 2024-08-15

Family

ID=92262779

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/004661 WO2024166398A1 (en) 2023-02-10 2023-02-10 Control device, control method, and control program

Country Status (1)

Country Link
WO (1) WO2024166398A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012253549A (en) * 2011-06-02 2012-12-20 Nippon Telegr & Teleph Corp <Ntt> Multicast distribution system, band management server, and multicast distribution method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012253549A (en) * 2011-06-02 2012-12-20 Nippon Telegr & Teleph Corp <Ntt> Multicast distribution system, band management server, and multicast distribution method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AOKI, YOSHIKI ET AL.: "Method of accommodating priority flow in TSN for efficiency of network slice resources", IEICE TECHNICAL REPORT, vol. 122, no. 5 (NS2022-6), 8 April 2022 (2022-04-08), JP , pages 31 - 36, XP009556797, ISSN: 2432-6380 *
SHIBATA, NAOTAKA ET AL.: "Rerouting Technique of Low-priority traffic in Layer-2 Network for Multi-service Accommodation with Time Aware Shaper", IEICE TECHNICAL REPORT, vol. 120, no. 107 (CS2020-18), 9 July 2020 (2020-07-09), JP , pages 17 - 22, XP009556798, ISSN: 2432-6380 *

Similar Documents

Publication Publication Date Title
Golestani Congestion-free communication in high-speed packet networks
US6181692B1 (en) Method and apparatus for data routing, delivery, and authentication in a packet data network
EP1239638A2 (en) Algorithm for time based queuing in network traffic engineering
US20220407808A1 (en) Service Level Adjustment Method, Apparatus, Device, and System, and Storage Medium
US20230388215A1 (en) Network control method and device
US8144719B2 (en) Methods and system to manage data traffic
US8689049B2 (en) Corrective actions based on probabilities
Liebeherr et al. Rate allocation and buffer management for differentiated services
Qian et al. A linux real-time packet scheduler for reliable static sdn routing
EP3186927B1 (en) Improved network utilization in policy-based networks
WO2024166398A1 (en) Control device, control method, and control program
EP4443843A1 (en) Flexible load balancing on multipath networks
Samiayya et al. An efficient congestion control in multimedia streaming using adaptive BRR and fuzzy butterfly optimization
CN109792411B (en) Apparatus and method for managing end-to-end connections
Liebeherr et al. Buffer management and scheduling for enhanced differentiated services
WO2023188398A1 (en) Control device, control method, and control program
US11695644B2 (en) Communication management apparatus and communication management method
US11811672B2 (en) Data validity based network buffer management system
JP7193787B2 (en) Communication system, bridge device, communication method, and program
WO2023236832A1 (en) Data scheduling processing method, device, and apparatus, and storage medium
Noroozi et al. Performance Evaluation of a New Scheduling Model Using Congestion Window Reservation
JP2001186170A (en) Packet-scheduling system and method and recording medium for recording program to execute method
Munir et al. Using an event based priority queue for reliable and opportunistic scheduling of bulk data transfers in grid networks
JP4977677B2 (en) Edge node and bandwidth control method
Zhao Mitigating interconnect and end host congestion in modern networks

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: 23921226

Country of ref document: EP

Kind code of ref document: A1