Control device, control method, and control program
The control device efficiently accommodates priority flows in TSN networks by using route and delay prohibition lists to manage flow accommodation, addressing the inefficiencies of conventional methods and improving network resource utilization.
Patent Information
- Application Number
- PCT/JP2023/026325
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-18
- Publication Date
- 2025-01-23
AI Technical Summary
Conventional technologies face challenges in efficiently accommodating priority flows in Time-Sensitive Networking (TSN) networks, particularly due to high calculation times and difficulties in deriving optimal solutions using mixed-integer linear programming and forbidden search methods, which are not applicable to large-scale networks.
A control device that acquires route and delay information to register route and delay prohibition lists, allowing for efficient accommodation of flows by setting routes and delays based on these lists, reducing the need for wide forbidden search ranges and improving network resource utilization.
This approach enables efficient accommodation of flows in TSN networks by reducing the number of forbidden solutions and calculation times, making it applicable to larger networks and improving resource efficiency.
Smart Images

Figure JP2023026325_23012025_PF_FP_ABST
Abstract
Description
Control device, control method, and control program
[0001] The present invention relates to a control device, a control method, and a control program.
[0002] A key technology of 5G (Generation 5G) is a technology for guaranteeing a delay fluctuation value, which is the value of the fluctuation in the time it takes for a packet to arrive at its destination. For example, to guarantee a delay fluctuation value in microseconds (μs), there is a technology called Time Aware Shaper (TAS) that blocks a gate for non-priority packets that are not sent with priority when a priority packet that is sent with priority among packets arrives at the destination transfer device. This reduces the queuing delay that occurs when packets are held in a queue, and transfers priority packets, as described above.
[0003] The above-mentioned conventional technologies are required to be applied to a TSN (Time-Sensitive Networking) accommodation problem, which is a problem when accommodating flows such as priority flows, which are flows of priority packets, in a TSN (Time-Sensitive Networking) network, which is a general term for network standards that handle time strictly, i.e., to efficiently accommodate flows in a network. Therefore, in order to realize accommodation of priority flows in a TSN network by coordinating priority flows, conventional technologies include a technology in which a control device performs optimal or suboptimal settings on a transfer device or a terminal based on a flow accommodation request, which is a request from a terminal to accommodate a flow (for example, see Non-Patent Document 1).
[0004] One example of a technique for achieving optimal settings is a technique for deriving an optimal solution for accommodating priority flows by using a mixed-integer linear program (MILP), a linear programming method that finds a value that maximizes or minimizes a linear equation among the values of variables that satisfy several linear inequalities or equalities, in which several variables must satisfy integer values. Another example of a technique for achieving suboptimal settings is a technique for deriving a suboptimal solution that is not strictly optimal but is comparable to the optimal solution by using a forbidden search method that does not derive an optimal solution within a forbidden search range, thereby suboptimizing the accommodation of priority flows.
[0005] Aoki et al., “A Priority Flow Accommodation Method for Achieving Resource Efficiency of Network Slices in TSN,” IEICE Technical Report, vol. 122, no. 5, NS2022-6, pp. 31-36, April 2022
[0006] However, conventional techniques may not be able to efficiently accommodate flows in a network. For example, a technique for optimizing the accommodation of priority flows using mixed integer linear programming requires a long calculation time to guarantee an optimal solution from the entire search range, and may not be applicable to the TSN accommodation problem. Furthermore, a technique for deriving a suboptimal solution using a forbidden search method to suboptimize may require, for example, a large number of parameters to be searched, and therefore, in order to escape from the vicinity of a local optimum solution, a wide forbidden search range must be registered in a forbidden list, which is a list that is forbidden to be derived as a suboptimal solution, making it difficult to apply to the TSN expropriation problem.
[0007] In order to solve the above-mentioned problems, the present invention comprises an acquisition unit that acquires route information regarding the network routes on which each packet flow is accommodated, and delay information regarding the delay inserted for each forwarding device on the route; a registration unit that registers a route prohibition list, which is a list in which the setting of the route is prohibited, and a delay prohibition list, which is a list in which the setting of the delay is prohibited, based on the route information and the delay information acquired by the acquisition unit; and a setting unit that sets the route and the delay based on the route prohibition list and the delay prohibition list registered by the registration unit.
[0008] According to the present invention, flows can be efficiently accommodated in a network.
[0009] FIG. 1 is a diagram illustrating an example of an overview of a control system according to an embodiment. FIG. 2 is a diagram illustrating an example of a configuration of a controller according to an embodiment. FIG. 3 is a flowchart illustrating an example of a flow of a process executed by a controller according to an embodiment. FIG. 4 is a flowchart illustrating an example of a flow of a process executed by a controller according to an embodiment. FIG. 5 is a flowchart illustrating an example of a flow of a process executed by a controller according to an embodiment. FIG. 6 is a diagram illustrating an example of a configuration of a computer that executes a control program according to an embodiment. FIG. 7 is a diagram illustrating an example of an overview of a control system according to a reference technology. FIG. 8 is a diagram illustrating an example of an overview of a control system according to a reference technology. FIG. 9 is a diagram illustrating an example of an overview of a control system according to a reference technology. FIG. 10 is a diagram illustrating an example of an overview of a control system according to a reference technology. FIG. 11 is a diagram illustrating an example of an overview of a control system according to a reference technology. FIG. 12 is a diagram illustrating an example of an overview of a control system according to a reference technology.
[0010] Hereinafter, embodiments of the present invention will be described with reference to the drawings, but the present invention is not limited to the following embodiments. In addition, in the description of the drawings, the same parts are given the same reference numerals, and duplicated explanations are omitted, and explanations of members having similar functions and similar processes are also omitted.
[0011] [0. Reference Technology] [Example of Overview] Before describing this embodiment, an example of an overview of a control system 1# according to the reference technology will be described using Figures 7 to 12. Figures 7 to 12 are diagrams for explaining an example of an overview of a control system according to the reference technology. In the example shown in Figures 7 to 12, the control system 1# sets, by a controller (control device), network routes that accommodate each packet flow and delays to be inserted for each node (transfer device) 20 on the route.
[0012] 7 , in order to guarantee the delay fluctuation value in microseconds, the controller 10# of the control system 1# closes the gate for non-priority packets when the priority packet arrives at the destination node 20. In this way, the control system 1# reduces, for example, queuing delay and transfers the priority packet.
[0013] In the example shown in FIG. 8 , the controller 10# of the control system 1# performs optimal or suboptimal settings for each node 20 and terminal 30 to coordinate priority flows and accommodate priority flows in the TSN network and to efficiently utilize network resources. For example, the controller 10# performs optimization calculations to optimally accommodate flows based on a flow accommodation request from the terminal 30. As one example, the controller 10# sets and notifies the terminal 30 of the optimal flow transmission timing. As another example, the controller 10# sets and notifies the optimal route for each node 20. As another example, the controller 10# sets and notifies the optimal delay for each node 20.
[0014] In the example shown in FIG. 9 , control system 1# is able to accommodate priority flows while avoiding traffic congestion in a certain time slot, even when congestion of priority traffic, such as information and signals, including priority packets in the priority flow, occurs, by setting optimal routes, controlling delays, imposing delay loads on specific nodes, and so on.
[0015] In the example shown in FIG. 10, in steps S1 to S6, the control system 1# uses the following formula (1) to calculate an optimal solution for accommodating the priority flow, which is the optimal path and delay solution for the priority flow, through MILP.
[0016]
[0017] The above-mentioned formula (1) is a formula for setting, for example, a formula for minimizing the blocking time of non-priority gates, which are gates of non-priority flows at a node, minimizing priority packets for which QoS (Quality of Service) is not satisfied, and minimizing the blocking time of non-priority gates at a node in all time slots. K in the above-mentioned formula (1) represents, for example, the set of all priority packets. T represents, for example, the set of all time slots. V represents, for example, the set of all network nodes. close v represents a binary variable that is set to 1 when the non-priority gate of node v is closed in time slot t. δ represents a sufficiently small value for the first term. k represents a binary variable that is set to 1 when the priority flow k does not satisfy the QoS. ε represents a sufficiently small value for the second term. v、t For example, represents a binary variable that is set to 1 if the non-priority gate of node v is closed in time slot t.
[0018] The pre-defined parameters in the above equation (1) are, for example, the topology, the delay of the links that connect the nodes, the maximum flow rate of each link, and the minimum opening time of the non-priority gates at each node. For example, the control system 1# sets the optimal path and delay of the 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 the arrival node as constants, and the path and transmission timing of the added priority flow, which is a priority flow that has been added, as variables.
[0019] FIG. 11 is also a diagram showing an example of MILP for explaining MILP. In the example shown in FIG. 11, MILP derives a solution for the combination of x1 and x2 that minimizes -2x1 + x2 under the four conditional equations (2) to (5) below. In this case, the candidate solution is, for example, the shaded area in FIG. 11. For example, if a solution is searched for by exhaustive search, all of the solutions in the yellow area must be searched. In contrast, in MILP, for example, various algorithms are used to narrow the search range. As an example, in MILP, if there is no constraint that the solution is an integer, it is obvious that the candidate solution is the vertices of the rectangle in the shaded area, and therefore other points are not searched, thereby narrowing the search range. As a result, in the example shown in FIG. 11, x 1 = 3, x 2 When = 0, the optimal solution = -6 is quickly derived.
[0020]
[0021] By formulating various problems using, for example, the above-described MILP, the control system 1# may be able to derive problems that would otherwise be impossible to calculate due to an explosively large number of combinations in a realistic calculation time. As an example, in (1) above, the control system 1# may be able to solve the optimal solution to the TSN accommodation problem using the above-described MILP. In this way, when searching for an optimal solution using the MILP, the control system 1# may be able to reduce the search time by, for example, cutting the search range.
[0022] Furthermore, the control system 1# does not need to guarantee that the solution is strictly optimal, and when it is sufficient to derive a solution that is comparable to the optimal solution, it may use a forbidden search method as a heuristic method to calculate a quasi-optimal solution such as the best solution, as shown in Figure 12, for example.
[0023] FIG. 12 also illustrates an example of quasi-optimization using the forbidden search method. In the example shown in FIG. 12, the control system 1# registers the most recently selected tentative solution in the forbidden search range as a forbidden solution in the forbidden list, thereby preventing the system from falling into a locally optimal solution, which is a locally optimal solution in the forbidden search range, and escaping from the locally optimal solution. Furthermore, the control system 1#, for example, searches for a suboptimal solution in a search range near the tentative solution, and if a solution superior to the current best solution is found, updates the solution superior to the current best solution as the best solution. As a result, the control system 1# may be able to set the optimal path and delay of a priority flow more efficiently by using the forbidden search method than by using MILP, for example, when it is not necessary to guarantee that the solution is strictly optimal and it is sufficient to derive a solution comparable to the optimal solution.
[0024] [Example of Problem] However, conventional techniques may not be able to efficiently accommodate flows in a network. For example, as described above, a technique for optimizing the accommodation of priority flows using mixed integer linear programming requires a long calculation time to guarantee an optimal solution from the entire search range, and may not be applicable to the TSN accommodation problem. For example, when the scale of the network becomes large, even if the search range is reduced using MILP, the control system 1# requires a long calculation time, which becomes an operational bottleneck and may not be applicable to the TSN accommodation problem.
[0025] Furthermore, in the technology of deriving a suboptimal solution using the forbidden search method to perform suboptimization, for example, there are many types of parameters to be searched, so in order to escape from the vicinity of the local optimum solution, a wide forbidden search range needs to be registered in a forbidden list, which is a list of solutions that are forbidden to be derived as a suboptimal solution, and this may make it difficult to apply to the TSN expropriation problem.
[0026] As an example, in a technology for deriving a suboptimal solution using a forbidden search method and performing suboptimization, the forbidden list must be registered in a wide forbidden search range, such as the forbidden list (1) and forbidden list (2) below. Therefore, if there is even a slightly different parameter among the vast number of parameters, it will be selected as a provisional solution, such as the new provisional solution below, which may make it difficult to apply to the TSN expropriation problem.
[0027] Forbidden list (1): Flow 1's route is (1-4-6-7) and Flow 1's delay is (0-0-2-0) and Flow 2's route is (1-2-3-5-7) and Flow 2's delay is (1-0-0-0-0) and... Forbidden list (2): Flow 1's route is (1-4-6-7) and Flow 1's delay is (0-0-2-0) and Flow 2's route is (1-2-3-5-8-7) and Flow 2's delay is (1-0-0-0-0-0) and... New tentative solution: Flow 1's route is (1-4-6-7) and Flow 1's delay is (0-0-2-0) and Flow 2's route is (1-2-3-5-6-8-7) and Flow 2's delay is (1-0-0-0-0-0-0) and...
[0028] The numerical values of the paths in the forbidden list (1), forbidden list (2), and new tentative solution represent the order of the nodes 20 passed by the flow. For example, the numerical value of the path (1-4-6-7) for Flow 1 in the forbidden list (1) represents the order of the nodes 20 passed by Flow 1 numbered 1, 4, 6, and 7, respectively, in the example shown in FIG. 8. The numerical values of the delays in the forbidden list (1), forbidden list (2), and new tentative solution represent the delays inserted for each node 20 passed by the flow. For example, the numerical value of the delay (0-0-2-0) for Flow 1 in the forbidden list (1) represents the delays inserted for each node 20 passed by Flow 1 numbered 1, 4, 6, and 7, respectively, in the example shown in FIG. 8. In the example shown in FIG. 8, the delay that occurs when a flow passes through a link between multiple nodes 20 is expressed as a numerical value on the link, and is different from the delay inserted at each node 20.
[0029] For the above reasons, it is necessary to register a forbidden list that is adaptable to the TSN accommodation problem, rather than simply registering a provisional solution in the forbidden list, as in the above forbidden list (1) and forbidden list (2). This embodiment has been made to solve the above problem, and allows the network to accommodate flows efficiently.
[0030] [1. Embodiment] [Example of Overview] Below, an example of an overview of a control system 1 according to an embodiment will be described using FIG. 1. FIG. 1 is a diagram for explaining an example of an overview of a control system according to an embodiment. In the example shown in FIG. 1, the control system 1 acquires route information and delay information using a controller 10, registers a route prohibition list and a delay prohibition list based on the route information and delay information, and sets a route and a delay based on the route prohibition list and the delay prohibition list. For example, the control system 1 performs a sub-optimal calculation to sub-optimally accommodate a flow using the controller 10, based on a flow accommodation request from a terminal 30, using the route prohibition list registered for each flow and the delay prohibition list registered for each flow x node as search parameters in a TSN accommodation problem.
[0031] Here, the route information refers to, for example, information about the network route that accommodates each packet flow. The delay information refers to, for example, information about the delay inserted for each node 20 in the route. The route prohibition list refers to, for example, a list in which route setting is prohibited. The delay prohibition list refers to, for example, a list in which delay setting is prohibited.
[0032] For example, in the topology shown in Fig. 1, when three priority flows, Flow 1 to Flow 3, are accommodated, if the path and delay of Flow 1 each fall into a local optimum solution, the maximum number of suboptimal solutions for escaping the local optimum solution, which are registered as forbidden solutions in the forbidden list, is as follows for the control system 1# according to the reference technology and the control system 1 according to this embodiment: Note that in the example shown in Fig. 1, it is assumed that there are four types of delays inserted: 0 μs, 1 μs, 2 μs, and 3 μs.
[0033] <If the route falls into a local optimum> Control system 1#: (Flow 1 delay: 16 ways) × (Flow 2 delay: 16 ways) × (Flow 3 delay: 16 ways) × (Flow 1 route: 5 ways) × (Flow 2 route: 5 ways) × (Flow 3 route: 5 ways) = 512000 Control system 1: (Flow 1 delay: 16 ways) × (Flow 2 delay: 16 ways) × (Flow 3 delay: 16 ways) = 4096 <If the delay falls into a local optimum> Control system 1#: (Flow 1 delay: 16 ways) × (Flow 2 delay: 16 ways) × (Flow 3 delay: 16 ways) × (Flow 1 route: 5 ways) × (Flow 2 route: 5 ways) × (Flow 3 route: 5 ways) = 512000 Control system 1: (Flow 1 route: 5 ways) × (Flow Route 2: 5 ways) x (Route 3: 5 ways) = 125
[0034] Here, the number of delay combinations of a flow represents the number of delays inserted at each node. For example, the above expression (Flow 1 delay: 16 combinations) represents the product of 4, which is the number of four nodes 20 numbered 1, 2, 3, and 4 shown in FIG. 1, and 4, which represents the types of delays inserted: 0 μs, 1 μs, 2 μs, and 3 μs. The number of flow path combinations represents the number of sequences of nodes 20 through which the flow passes. For example, the above expression (Flow 1 path: 5 combinations) represents the five possible sequences of nodes 20 through which the flow passes: (1-3-4), (1-3-2-4), (1-4), (1-2-4), and (1-2-3-4).
[0035] As described above, when the path and delay of Flow 1 fall into a local optimum, the maximum number of suboptimal solutions required to escape from the local optimum, that is, the maximum number of forbidden solutions registered in the forbidden list, is significantly smaller in the control system 1 according to the present embodiment than in the control system 1# according to the reference technology. Thus, the control system 1 can reduce the maximum number of forbidden solutions required to escape from the local optimum by registering two types of forbidden lists, the path forbidden list and the delay forbidden list, using the controller 10. Therefore, the control system 1 does not need to register a wide range of forbidden lists, and the controller 10 can set paths and delays based on the path forbidden list and the delay forbidden list so that they are applicable to the TSN accommodation problem in the forbidden search method. This allows the control system 1 to efficiently accommodate flows in the network using the controller 10.
[0036] [Example of Controller Configuration] An example of the configuration of the controller 10 according to the embodiment will be described using Fig. 2. Fig. 2 is a diagram showing an example of the configuration of the controller according to the embodiment. In the example shown in Fig. 2, the controller 10 is a control device that acquires route information and delay information, registers a route prohibition list and a delay prohibition list based on the route information and the delay information, and sets routes and delays based on the route prohibition list and the delay prohibition list. In the example shown in Fig. 2, the controller 10 has an acquisition unit 11, a control unit 12, an output unit 13, and a storage unit 14.
[0037] [Acquisition Unit] The acquisition unit 11 acquires route information regarding the network route along which each packet flow is accommodated, and delay information regarding the delay inserted at each node 20 along the route. For example, when the acquisition unit 11 receives a flow accommodation request from the terminal 30, it acquires the route information and delay information included in the flow accommodation request. The acquisition unit 11 is realized by, for example, a communication unit such as a network interface card (NIC).
[0038] [Control Unit] The control unit 12 controls the entire controller 10. For example, the control unit 12 is configured with one or more processors having an internal memory in which programs defining the flow of various processes and control information are stored, and the processor executes each process using the programs and the internal memory. The control unit 12 is realized by, for example, electronic circuits such as a central processing unit (CPU), a micro processing unit (MPU), or a graphics processing unit (GPU), or integrated circuits such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA). In the example shown in FIG. 2, the control unit 12 includes a registration unit 121 and a setting unit 122.
[0039] [Registration Unit] The registration unit 121 registers a route forbidden list, which is a list of routes forbidden to set, and a delay forbidden list, which is a list of routes forbidden to set delays, based on the route information and delay information acquired by the acquisition unit 11. For example, the registration unit 121 registers a route (1-2-3-4) for the route of Flow 1 as the route forbidden list, and a route (1-3-2-4) for the route of Flow 2 as the route forbidden list. Furthermore, the registration unit 121 registers a delay (0-0-2-0) for the delay of Flow 1 as the delay forbidden list, and a delay (0-0-1-0) for the delay of Flow 2 as the delay forbidden list. In this way, the registration unit 121 can reduce the maximum number of forbidden solutions required to escape from a local optimal solution by registering two types of forbidden lists, the route forbidden list and the delay forbidden list. This eliminates the need for the registration unit 121 to register a wide range of forbidden lists.
[0040] For example, the registration unit 121 may change the route prohibition list and the delay prohibition list when a route as a tentative solution tentatively set by the setting unit 122 is changed, and may change the delay prohibition list when a delay as a tentative solution is changed. Here, since the delay is a dependent relationship that is determined only after the route is determined, the registration unit 121 can register a prohibition list for more efficiently accommodating flows in the network by changing the delay prohibition list in addition to the route prohibition list when a route as a tentative solution is changed.
[0041] 1, an example of registration by the registration unit 121 when the route or delay as a tentative solution is changed will be described. First, as an example of registration by the registration unit 121 when the route as a tentative solution is changed, a case will be described in which (1-3-2-4) is pre-registered as the route forbidden list (1) of Flow 2, a route (1-2-3-4) is pre-registered as the route forbidden list (2) of Flow 1, and a route (1-3-2-4) is added as the route forbidden list (3) of Flow 1. In this case, the registration unit 121 adds the route (1-3-2-4) to the route forbidden list of Flow 1 so that a tentative solution in which the route of Flow 1 is (1-3-2-4) and the route of Flow 2 is (1-3-2-4) becomes a forbidden solution. The registration unit 121 also registers a delay prohibition list in which delay settings to be inserted into the nodes 20 numbered 1, 3, 2, and 4 on the route (1-3-2-4), for example, are prohibited.
[0042] As another example of registration by the registration unit 121 when the route as a tentative solution is changed, a case will be described in which the registration unit 121 further registers a delay forbidden list in which delay settings to be inserted into nodes 20 numbered 1, 3, 2, and 4 in the route (1-3-2-4) of Flow 1 are forbidden. In this case, the registration unit 121 resets the delay forbidden list (1) of Flow 1, re-registers the delay of (0-2-0-0) as the delay forbidden list (1) of Flow 1, and changes the delay of Flow 2 to (0-0-0-1), so that the tentative solution in which the delay of Flow 1 is (0-2-0-0) and the delay of Flow 2 is (0-0-0-1) becomes the forbidden solution.
[0043] As an example of registration by the registration unit 121 when the route as a tentative solution is not changed, a case will be described in which (1-3-2-4) is pre-registered as the route forbidden list (1) for Flow 2, (1-2-3-4) is pre-registered as the route forbidden list (2) for Flow 1, and no route changes or additions to forbidden lists such as the route forbidden list are made. In this case, the registration unit 121 keeps (1-2-3-4) registered as the route forbidden list for Flow 1 and keeps (1-3-2-4) registered as the route forbidden list for Flow 2, so that the tentative solution in which the route for Flow 1 is (1-2-3-4) and the route for Flow 2 is (1-3-2-4) remains a forbidden solution. In this way, when the route is not changed and the delay is not changed, the registration unit 121 does not change, for example, the route forbidden list or the delay forbidden list.
[0044] As an example of registration by the registration unit 121 when the route as a tentative solution is not changed but the delay as a tentative solution is changed, a case will be described in which (0-0-1-1) is pre-registered as the delay forbidden list (1) of Flow 1, (0-2-0-0) is added as the delay forbidden list (2) of Flow 1, and (0-2-0-0) is pre-registered as the delay forbidden list (1) of Flow 2, and there is no route change. In this case, the registration unit 121 adds (0-2-0-0) to the delay forbidden list of Flow 1 and changes the delay forbidden list of Flow 2 from (0-2-0-0) to (0-0-0-1) so that the tentative solution in which the delay of Flow 1 is (0-2-0-0) and the delay of Flow 2 is (0-0-0-1) becomes the forbidden solution. Here, the delay is a dependent relationship that is determined only after the route is determined, whereas the route can be determined independently of the delay. Therefore, if the route of the provisional solution is not changed as described above but the delay of the provisional solution is changed, the registration unit 121, for example, does not change the route prohibition list, but only changes the delay prohibition list.
[0045] [Setting Unit] The setting unit 122 sets a route and a delay based on the route prohibition list and the delay prohibition list registered by the registration unit 121. For example, the setting unit 122 sets a route and a delay as a tentative solution that is not registered in either the route prohibition list or the delay prohibition list as a route and a delay as a suboptimal solution. The setting unit 122 can set a route and a delay based on a route prohibition list and a delay prohibition list that are reduced compared to the reference technology, and therefore can efficiently accommodate flows in the network.
[0046] For example, the setting unit 122 may set the initial values of the route and delay further based on a greedy algorithm. As an example, the setting unit 122 sets the initial values of the route and delay to the route and delay for which the evaluation value in the greedy algorithm is the largest and for which no other route can be accommodated. By setting the initial values of the route and delay further based on a greedy algorithm, the setting unit 122 can ensure the number of priority flows that can be accommodated with fewer network resources, thereby allowing the network to accommodate flows more efficiently.
[0047] For example, the setting unit 122 may set the initial values of the route and delay further based on an evaluation value in the greedy method, which is the time consumed for each node 20 on the shortest route, which is the shortest route among the routes. As an example, the setting unit 122 sets the initial values of the route and delay to the route and delay for which the evaluation value in the greedy method shown in the following equation (6) is the largest for all flows and for which no other route can be accommodated. Here, the number of newly consumed time slots in the following equation (6) represents, for example, the time newly consumed by the setting unit 122's new setting of the initial values of the route and delay. The number of hops on the shortest route in the following equation (6) represents, for example, the number of nodes 20 on the shortest route. By setting the initial values of the route and delay further based on the evaluation value in the greedy method, the setting unit 122 can ensure the accommodation number of priority flows with fewer network resources, thereby allowing the network to accommodate flows more efficiently.
[0048]
[0049] For example, the setting unit 122 may set the route and delay based on an accommodation index in the forbidden search method, which is the sum of a value that is higher when the route cannot accommodate the flow than when the route can accommodate the flow, and the time consumed for each node 20 on the shortest route, which is the shortest route among the routes. As an example, the setting unit 122 sets, as the route and delay, a solution that has the smallest accommodation index value shown in the following formula (7) among the routes and delays that are not registered in the forbidden list of all flows. Here, in the following formula (7), K represents the set of all priority packets. T represents the set of all time slots. V represents the set of all network nodes. δ represents a value that is sufficiently small with respect to the first term. block k represents a binary variable that is set to 1 if priority flow k does not satisfy the QoS. ε represents a sufficiently small value for the second term. v、t represents a binary variable that is set to 1 if the non-priority gate of node v is closed in time slot t.
[0050]
[0051] The setting unit 122 sets a route and a delay based on the accommodation index in the forbidden search method as described above, thereby enabling the setting unit 122 to set a route and a delay that can accommodate more flows on the route and consumes less time for each node 20 on the shortest route. This allows the setting unit 122 to accommodate flows more efficiently in the network.
[0052] For example, the setting unit 122 may set the path and delay further based on an evaluation index in the forbidden search method, which is the sum of a value that is higher when the path cannot accommodate the flow than when the path can accommodate the flow, and a value that is higher when the gate of the node 20 is blocked than when the gate of the node 20 is not blocked. As an example, the setting unit 122 sets the path and delay that minimizes the value of the evaluation index shown in the following formula (8) among all flow solutions. Here, irepresents a binary variable that is set to 1 when priority flow i cannot be performed. The number of newly consumed time slots and the number of hops on the shortest path are the same as those in the above equation (6). Therefore, the second term in the following equation (8) represents, for example, the evaluation value in the greedy method indicated as the multiple slot rate by the above equation (6).
[0053]
[0054] The setting unit 122 sets the routes and delays based on the evaluation index in the forbidden search method as described above, thereby enabling the route to accommodate more flows and setting the route and delays with fewer blocked gates of the nodes 20. This allows the setting unit 122 to more efficiently accommodate flows in the network.
[0055] [Output Unit] The output unit 13 outputs various information. For example, the output unit 13 displays the path and delay set by the setting unit 122. The output unit 13 is realized by, for example, a display unit such as a display, an audio output unit, or the like.
[0056] [Storage Unit] The storage unit 14 stores various types of information. For example, the storage unit 14 stores a path prohibition list, a delay prohibition list, an OS (Operating System) executed by the controller 10, various programs, etc. The storage unit 14 is realized by, for example, a storage device such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), or an optical disk, or an information-rewritable semiconductor memory such as RAM (Random Access Memory), a flash memory, or an NVSRAM (Non Volatile Static Random Access Memory).
[0057] [Example of Processing Flow] An example of the processing flow executed by the controller 10 according to the embodiment will be described below with reference to Figures 3 to 5. Figures 3 to 5 are flowcharts showing an example of the processing flow executed by the controller according to the embodiment. First, an example of the flow of the path and delay setting processing executed by the controller 10 will be described with reference to Figure 3.
[0058] In step S11, the acquiring unit 11 acquires route information regarding the network route through which each packet flow is accommodated and delay information regarding the delay inserted by each forwarding device along the route. For example, when the acquiring unit 11 receives a flow accommodation request from the terminal 30, it acquires the route information and delay information included in the flow accommodation request.
[0059] In step S12, the registration unit 121 registers a route prohibition list, which is a list of routes for which route setting is prohibited, and a delay prohibition list, which is a list of routes for which delay setting is prohibited, based on the route information and delay information acquired by the acquisition unit 11. For example, the registration unit 121 registers a route (1-2-3-4) as the route prohibition list for the route of Flow 1, and a route (1-3-2-4) as the route prohibition list for the route of Flow 2. The registration unit 121 also registers a delay (0-0-2-0) as the delay prohibition list for the delay of Flow 1, and a delay (0-0-1-0) as the delay prohibition list for the delay of Flow 2.
[0060] In step S13, the setting unit 122 sets a route and a delay based on the route prohibition list and the delay prohibition list registered by the registration unit 121. For example, the setting unit 122 sets a route and a delay as a tentative solution that are not registered in either the route prohibition list or the delay prohibition list, which are reduced by the registration unit 121 compared to the reference technology, as a route and a delay as a quasi-optimal solution.
[0061] Next, an example of the flow of the process for setting the initial values of the paths and delays executed by the controller 10 will be described with reference to Fig. 4. The processes of steps S21 to S25 in Fig. 4 are also an example of detailed processes of step S13 in Fig. 3.
[0062] In step S21, the setting unit 122 randomly selects a flow and accommodates it so that it forms the shortest path. As an example, the setting unit 122 randomly selects a flow that is not registered in the route prohibition list and accommodates it so that it forms the shortest path.
[0063] In step S22, the setting unit 122 calculates the route that maximizes the evaluation value in the greedy method, which is expressed as the multiple slot rate by, for example, the above-mentioned equation (6).
[0064] In step S23, the setting unit 122 determines whether there is another path that can accommodate the flow. If the setting unit 122 determines that there is another path that can accommodate the flow (Yes in step S23), then in step S24, for example, the setting unit 122 randomly accommodates one flow that has the maximum evaluation value in the greedy method, which is expressed as the multiplex slot rate by the above-mentioned formula (6).
[0065] If the setting unit 122 determines that there is no other route that can accommodate the flow (No in step S23), for example, in step S25, it sets the route calculated as the route with the maximum evaluation value in the greedy method, which is shown as the multiple slot rate by the above-mentioned formula (6), and the delay corresponding to this route as the delay and initial value, and ends the calculation.
[0066] Next, an example of the flow of the process of searching for a solution for a route and a delay executed by the controller 10 will be described with reference to Fig. 5. The processes of steps S31 to S40 in Fig. 5 are also an example of detailed processes of steps S12 and S13 in Fig. 3.
[0067] In step S31, the setting unit 122 sets, for example, initial values of the path and delay as a tentative solution and a best solution.
[0068] In step S32, the setting unit 122 calculates, for example, a solution with the smallest accommodation index among the routes and delays not registered in the prohibition list of all flows. As an example, the setting unit 122 calculates the solution with the smallest accommodation index shown in the above-mentioned formula (7) as a sub-optimal solution, and calculates a solution in which the route and delay of one Flow are changed from the sub-optimal solution as a neighboring solution of the sub-optimal solution.
[0069] In step S33, the setting unit 122 selects, for example, a flow whose evaluation index in the forbidden search method is smallest among all the flow solutions. As an example, the setting unit 122 selects, for example, a flow whose evaluation index in the forbidden search method expressed by the above-mentioned formula (8) is smallest among all the flow solutions.
[0070] In step S34, the registration unit 121 determines whether the change in the flow selected in step S33 involves a change in the route, for example.
[0071] If the registration unit 121 determines in step S33 that the change to the flow selected by the setting unit 122 involves a change to the route (Yes in step S34), then in step S35, for example, the registration unit 121 additionally registers a new route to the route prohibition list and resets the delay prohibition list for the flow selected in step S33. If the registration unit 121 determines in step S33 that the change to the flow selected by the setting unit 122 does not involve a change to the route (No in step S34), then, for example, the registration unit 121 omits step S35.
[0072] In step S36, the registration unit 121, for example, additionally registers a new delay in the delay prohibition list.
[0073] In step S37, the setting unit 122 determines whether the evaluation index of the new tentative solution is smaller than the evaluation index of the best solution. As an example, the setting unit 122 determines whether the evaluation index of the new tentative solution, as expressed by the above-mentioned formula (8), is smaller than the evaluation index of the best solution, as expressed by the above-mentioned formula (8).
[0074] If the setting unit 122 determines that the evaluation index of the new provisional solution is smaller than the evaluation index of the best solution (Yes in step S37), in step S38, for example, it updates the best solution from the current best solution to the new provisional solution, and returns to processing in step S32.
[0075] If the setting unit 122 determines that the evaluation index of the new provisional solution is equal to or greater than the evaluation index of the best solution (No in step S37), then in step S39, it determines, for example, whether the number of times the best solution has been updated by the new provisional solution is less than a specific number of times.
[0076] If the setting unit 122 determines that the number of times the best solution has been updated with a new tentative solution is less than a specific number of times (Yes in step S39), then in step S40, the setting unit 122 sets, for example, a route and a delay, and ends the calculation.
[0077] If the setting unit 122 determines that the number of times the best solution has been updated with a new tentative solution is equal to or greater than a specific number of times (No in step S39), the setting unit 122 returns to the processing of step S32, for example.
[0078] [2. Program] The controller 10 can be implemented by installing a control program as package software or online software on a computer. For example, the computer can function as the controller 10 by executing the control program.
[0079] Fig. 6 is a diagram showing an example of the configuration of a computer that executes a control program. In the example shown in Fig. 6, a computer 1000 has 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. These components are connected by a bus 1080.
[0080] 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 1100. For example, a removable storage medium such as a magnetic disk or optical disk is inserted into the disk drive 1100. 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.
[0081] The hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the program that defines each process executed by the controller 10 is implemented as a program module 1093 in which computer-executable code is written. The program module 1093 is stored, for example, in the hard disk drive 1090. For example, a program module 1093 for executing processes similar to those of the functional configuration of the controller 10 is stored in the hard disk drive 1090. The hard disk drive 1090 may be replaced by an SSD.
[0082] Data used in the processing of the above-described embodiment is stored as program data 1094, for example, in the memory 1010 or the hard disk drive 1090. The CPU 1020 then reads the program module 1093 or the program data 1094 stored in the memory 1010 or the hard disk drive 1090 into the RAM 1012 as necessary and executes them.
[0083] The program module 1093 and program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in a removable storage medium and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and program data 1094 may be stored in another computer connected via a network (such as a local area network (LAN) or a wide area network (WAN)). The program module 1093 and program data 1094 may then be read by the CPU 1020 from the other computer via the network interface 1070.
[0084] REFERENCE SIGNS LIST 10 Controller (control device) 11 Acquisition unit 12 Control unit 13 Output unit 14 Storage unit 121 Registration unit 122 Setting unit
Claims
1. A control device comprising: an acquisition unit that acquires route information regarding network routes that accommodate respective packet flows, and delay information regarding delays to be inserted for each forwarding device on the routes; a registration unit that registers a route forbidden list, which is a list in which setting of the route is forbidden, and a delay forbidden list, which is a list in which setting of the delay is forbidden, based on the route information and the delay information acquired by the acquisition unit; and a setting unit that sets the route and the delay based on the route forbidden list and the delay forbidden list registered by the registration unit.
2. The control device described in claim 1, characterized in that the registration unit changes the route forbidden list and the delay forbidden list when the route as a provisional solution provisionally set by the setting unit is changed, and changes the delay forbidden list when the delay as the provisional solution is changed.
3. The control device according to claim 1, wherein the setting unit sets the initial values of the path and the delay further based on a greedy algorithm.
4. The control device described in claim 3, characterized in that the setting unit sets the initial values of the route and the delay further based on an evaluation value in the greedy method, which is the time consumed for each transfer device on the shortest route, which is the shortest route among the routes.
5. The control device described in claim 1, characterized in that the setting unit sets the route and the delay further based on an accommodation index in a forbidden search method, which is the sum of a value that is higher when the flow cannot be accommodated in the route than when the flow can be accommodated in the route, and the time consumed for each forwarding device on the shortest route, which is the shortest route among the routes.
6. The control device according to any one of claims 1 to 5, characterized in that the setting unit sets the path and the delay further based on an evaluation index in a forbidden search method, which is the sum of a value that is higher when the flow cannot be accommodated on the path than when the flow can be accommodated on the path, and a value that is higher when the gate of the transfer device is blocked than when the gate of the transfer device is not blocked.
7. A control method executed by a control device, comprising: an acquisition step of acquiring route information regarding the route of a network in which each packet flow is accommodated, and delay information regarding the delay to be inserted for each forwarding device on the route; a registration step of registering a route forbidden list, which is a list in which the setting of the route is forbidden, and a delay forbidden list, which is a list in which the setting of the delay is forbidden, based on the route information and the delay information acquired by the acquisition step; and a setting step of setting the route and the delay based on the route forbidden list and the delay forbidden list registered by the registration step.
8. A control program that causes a computer to execute the following steps: an acquisition step of acquiring route information regarding the network routes that accommodate each packet flow, and delay information regarding the delay inserted for each forwarding device on the route; a registration step of registering a route forbidden list, which is a list in which the setting of the route is forbidden, and a delay forbidden list, which is a list in which the setting of the delay is forbidden, based on the route information and the delay information acquired by the acquisition step; and a setting step of setting the route and the delay based on the route forbidden list and the delay forbidden list registered by the registration step.
Citation Information
Patent Citations
System for setting transmission route of virtual concatenation signal
JP2005151186A
Network design method, network design apparatus, and program
JP2013238989A