Information processing device, path design method, and program

The information processing device with a constraint solver optimizes path design by addressing multiple path constraints, reducing manual effort and enhancing communication quality and resource efficiency.

JP2026076826APending Publication Date: 2026-05-12NTT DOCOMO BUSINESS INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
NTT DOCOMO BUSINESS INC
Filing Date
2024-10-24
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

Existing path design technologies struggle to efficiently consider constraints between multiple paths, leading to high labor costs and suboptimal solutions due to manual trial and error, especially in networks with mixed SLA and best-effort communications.

Method used

An information processing device using a constraint solver, such as a SAT solver, to model network topology and formulate route design as an optimization problem, which automatically designs paths by integrating the constraints between multiple paths, addressing the constraints through graph theory and solving the optimization problem.

Benefits of technology

This approach reduces manual workload and ensures optimal path design by considering multiple path constraints, improving communication quality and resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026076826000001_ABST
    Figure 2026076826000001_ABST
Patent Text Reader

Abstract

Design the path by considering the constraints between multiple paths. [Solution] An information processing device for calculating the route of a target path connecting nodes in a network having multiple nodes and multiple links, comprising: an input unit for inputting network information and constraints on the target path; a calculation unit having a constraint solver for calculating the route of the target path under multiple constraints, including constraints on multiple paths; and an output unit for outputting the route of the target path calculated by the calculation unit.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a technique for designing a path of a path in a network.

Background Art

[0002] Currently, network services using commercial networks operated by ISPs (Internet Service Providers) and the like are widely spread.

[0003] For network operators, it is important to guarantee an SLA (Service Level Agreement, constraints required by a customer for a communication path (hereinafter referred to as a path)). In order to guarantee the SLA, it is necessary to appropriately design the path of the path.

Prior Art Documents

Non-Patent Documents

[0004]

Non-Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] However, in the path design for ensuring communication quality, there is a problem that it is difficult to consider the constraints between a plurality of paths. Regarding the design of each path for satisfying the constraints between a plurality of paths, in the conventional technology, it has been manually performed while trial and error. In such a situation, the man-hour burden becomes large, and since it becomes a personal path design, it is difficult to obtain an optimal solution.

[0006] This invention has been made in view of the above points, and aims to provide a technology that enables the design of path routes while taking into account constraints between multiple paths. [Means for solving the problem]

[0007] According to the disclosed technology, an information processing device calculates the route of a target path connecting nodes in a network having multiple nodes and multiple links, An input unit for inputting the network information and the constraints on the target path, A calculation unit having a constraint solver that calculates the path of the target path under multiple constraints, including constraints on multiple paths, An output unit that outputs the path of the target path calculated by the calculation unit. An information processing device equipped with the following features is provided. [Effects of the Invention]

[0008] The disclosed technology provides a method for designing path routes while taking into account constraints between multiple paths. [Brief explanation of the drawing]

[0009] [Figure 1] This figure shows an example configuration of the information processing device 100. [Figure 2] This figure shows an example of the functional configuration of the arithmetic unit 120. [Figure 3] This is a flowchart illustrating the operation of the information processing device 100. [Figure 4] This figure shows an example of network information. [Figure 5] This figure shows an example of constraints and output. [Figure 6] This figure shows an example of the hardware configuration of the information processing device 100. [Modes for carrying out the invention]

[0010] Hereinafter, embodiments of the present invention (this embodiment) will be described with reference to the drawings. The embodiments described below are merely examples, and the embodiments to which the present invention is applied are not limited to these embodiments. Below, the problem will be described in more detail first, and then the technology related to this embodiment will be described.

[0011] (Regarding general issues) Currently, network services are widely provided through commercial networks operated by ISPs and other companies. A common challenge faced by network operators is the difficulty in guaranteeing the communication quality of customers. Specifically, this is as follows:

[0012] Networks generally consist of a mix of communications with guaranteed Service Level Agreements (SLAs) and best-effort communications. SLAs typically cover aspects such as latency, jitter, bandwidth, availability, and MTBF (Mean Time Between Failure).

[0013] For network operators, guaranteeing SLAs is crucial, and routing paths for mission-critical services with particularly stringent requirements is a top priority in ensuring SLAs.

[0014] Regarding the above routing design, if network control is not properly implemented, even with a network design that has ample link bandwidth, multiple types of traffic may coexist, potentially leading to congestion and failure to meet the SLA. Furthermore, even with a best-effort service, deterioration in communication quality can lead to a decrease in customer service satisfaction.

[0015] Therefore, it is desirable to be able to improve best-effort communication quality while ensuring mission-critical SLAs.

[0016] (Regarding specific issues) Next, more specific problems will be described. As a problem in path design for ensuring communication quality, it is difficult to consider constraints between multiple paths.

[0017] That is, in the SLA of mission-critical services, in addition to the independent constraints of each path, there are cases where constraints spanning multiple paths need to be considered. Examples of paths where constraints between multiple paths are required include, for example, "Redundant Path", "RoundTripPath", "SymmetricalRoundTripPath", "P2MP (point-to-multipoint) path", etc.

[0018] As a routing protocol for communication in a network, a routing protocol based on a metric is generally used. However, existing routing protocols based on metrics cannot consider constraints with dependencies between paths. That is, in the prior art, a tool based on an existing routing protocol is used to design a path with the minimum metric, and the design of each path to satisfy the path constraints is carried out manually while trial and error. In such a situation, the labor cost burden becomes large, and since it becomes a personal path design, it is difficult to obtain an optimal solution.

[0019] (Technical problems) Technical problems related to the above problems will be described. In the path calculation method used in the existing PCE (Path Computation Element) calculation mechanism, the implementation of the path calculation part is considered to have constraints based on P2P (Point-to-Point) path calculation (CSPF: constrained shortest path first), and there are limitations especially in the types of MP2MP (Multipoint-to-Multipoint) path calculations that consider the relationship between paths. Examples of the above types of constraints include, for example, "calculation to minimize a single metric (IGP, TE, delay)", "calculation to pass through an area with available bandwidth", etc.

[0020] As described above, existing tools have limitations, making it impossible to fully cover the desired goals with them. Ensuring SLA requirements and efficiently utilizing network resources requires addressing constraints related to dependencies between multiple paths, which cannot be considered by existing tools. However, conventional technologies rely on manual trial and error to find solutions that satisfy these constraints.

[0021] The following describes the device configuration and operation of this embodiment in order to solve the above-mentioned problems.

[0022] (Summary of the embodiment) In this embodiment, the information processing device 100, described later, performs route design for a target path, taking into account constraints between multiple paths. Specifically, the information processing device 100 models the network topology using graph theory and formulates the route design as an optimization problem (e.g., a satisfaction determination problem (SAT)). The information processing device 100 uses a constraint solver (e.g., a SAT solver) to derive the path that satisfies the constraints while achieving the best overall metric (e.g., minimum). This allows obtaining a path that satisfies the constraints between multiple paths as a solution.

[0023] It should be noted that constraint solvers themselves are existing technology; for example, Non-Patent Document 1 discloses the SAT solver, which is one type of constraint solver. The SAT solver is a computer program that solves the satisfiesty test (SAT). The input to the SAT solver is a set of logical formulas containing variables, and the output from the SAT solver is a combination of variables that makes all of those logical formulas true.

[0024] (Configuration of the information processing device 100) Figure 1 shows an example of the configuration of the information processing device 100. As shown in Figure 1, the information processing device 100 includes an input unit 110, an arithmetic unit 120, and an output unit 130.

[0025] Input information necessary for calculations for route design is input from the input unit 110. The calculation unit 120 executes route design calculations based on the input data from the input unit 110. The output unit 130 outputs the calculation results by the calculation unit 120.

[0026] (Example of input / output information and functional configuration of calculation unit 120) Fig. 2 shows an example of input / output information and the functional configuration of the calculation unit 120. As shown in Fig. 2, the calculation unit 120 includes a conversion unit 121, a constraint creation unit 122, a candidate route creation unit 123, a constraint solver 124, and an interpretation unit 125.

[0027] Network information and "paths without routes (paths specified only by start and end points) and a list of constraints" are input to the calculation unit 120. Note that the input does not necessarily need to be divided into network information and "paths without routes and a list of constraints", and for example, integrated information of these may be input.

[0028] The conversion unit 121 creates a data structure of a graph representation from the input information. The constraint creation unit 122 performs coding of constraint conditions. The candidate route creation unit 123 creates candidate routes. The constraint solver 124 outputs a logical value by solving an optimization problem (e.g., satisfiability determination problem) based on the information obtained by the conversion unit 121, the constraint creation unit 122, and the candidate route creation unit 123. The interpretation unit 125 interprets the logical value as a path and outputs a path with a described route and a list of constraints.

[0029] (Processing flow) Referring to the flowchart of Fig. 3, an operation example of the information processing apparatus 100 will be described.

[0030] <S1 (Step 1): Input, conversion> In S1, network information and path information (e.g., paths without routes and a list of constraints) are input from the input unit 110, and the conversion unit 121 converts the input information into an internal structure as a data structure of a graph representation. The converted information is input to the constraint solver 124.

[0031] Fig. 4 shows an example of the input network information. As shown in Fig. 4, the network has a configuration in which a plurality of nodes are connected by links. The nodes are, for example, routers (rt), but are not limited to routers. The network information shown in Fig. 4 includes, in addition to the connection information of the links and nodes, for example, the bandwidth information of each link and the delay information of each link. The numbers on the links represent delays.

[0032] A path without a specified route is, for example, a path with specified start and end points. The constraints for such a path are, for example, ensuring a certain bandwidth (e.g., guaranteeing 10 Gbps), being a bidirectional path with a delay difference constraint, being a bidirectional path with the same hop and minimum delay difference, etc. Also, the aforementioned "Redundant Path", "RoundTrip Path", "SymmetricalRoundTripPath", "P2MP (point-to-multipoint) path", etc. are all examples of constraints. A "best effort path" may also be a constraint.

[0033] Note that the actual input is, for example, in JSON format, but is not limited to JSON format, and any format can be used for the input.

[0034] ]><S2: Candidate Route Creation> In S2, the candidate route creation unit 123 creates a set of route candidates (candidate routes) for each path to be calculated based on the network information and the path information. Specifically, there is an SLA that should be satisfied by a single path, and candidate routes considering this are calculated in advance.

[0035] For example, the candidate route creation unit 123 searches for routes that satisfy the constraints of the path (e.g., the constraint that metrics such as delay are below a threshold) among multiple routes between the endpoints (start and end points) of a single path (e.g., one of the two single paths constituting a round-trip path), and selects one or more routes from the routes with good metrics as candidate routes.

[0036] In this embodiment, in S2, as candidate paths for the target path, a plurality of candidate paths are narrowed down in advance, and the constraint solver 124 determines a path that satisfies the constraints and has the best objective function from the plurality of candidate paths. This makes it possible to narrow down the search space and enables rapid processing.

[0037] To explain with a simple example, for instance, in a network consisting of 1000 nodes, when searching for a path of path A from node 1 to node 100 that satisfies the constraints, the number of paths to be searched becomes extremely large. In contrast, by pre-selecting, for example, only 10 candidate paths for path A, it is only necessary to search these 10 paths to determine whether they satisfy the constraints, enabling rapid processing.

[0038] <S3: Constraint Creation> In S3, the constraint creation unit 122 creates a logical formula that is a constraint for input to the constraint solver 124. Specifically, it is as follows.

[0039] The constraint creation unit 122 creates a conditional statement corresponding to the constraint for each path input in S1 as a logical formula. This logical formula serves as the input to the constraint solver 124.

[0040] As an example, regarding the constraints between multiple paths, the constraint creation unit 122 creates a logical formula indicating that a path is for redundancy purposes and a logical formula indicating that the same link is not shared in another type of path.

[0041] For example, regarding the path from node 1 to node 3, if this path is given as input with the constraint that "it is a redundant path consisting of two paths, and the delay difference between the two paths must be x or less", the constraint creation unit 122 creates a logical formula corresponding to this conditional statement. Note that what is created is not limited to a logical formula, and any form that can be interpreted by the constraint solver 124 is acceptable. The logical formula may also be referred to as code or a program. Note that "redundant path" is an example of a constraint between paths.

[0042] Furthermore, if a constraint is input that different types of paths (for example, a round-trip path and a redundant path) do not share the same link, the constraint creation unit 122 creates a logical expression corresponding to that constraint.

[0043] Furthermore, the constraint creation unit 122 creates a logical expression for each link that shows that the total bandwidth of the paths passing through the link does not exceed the bandwidth of that link (sum of used bandwidth < link bandwidth).

[0044] In addition to the input constraints, other constraints necessary for path design may be provided in advance.

[0045] Furthermore, the constraint creation unit 122 creates a constraint as a logical formula that optimizes the objective function.

[0046] The objective function is a function that indicates the quality of the solution calculated by the constraint solver 124. For example, it is a function that calculates the weighted sum of the metrics (scores) for each pass. The constraint solver 124 calculates the solution in a way that optimizes the objective function. Optimizing the objective function can mean either minimizing it or maximizing it, depending on the definition of the objective function. An example of an objective function is explained below.

[0047] Here, as an example, we assume that we are determining paths A, B, and C. We will denote the paths A, B, and C as paths A, B, and C, respectively. Furthermore, we assume that path A is constrained by "delay ≤ X", path B is constrained by "guaranteed bandwidth of Y Gbps", and path C is constrained by "availability ≥ Z".

[0048] In the process of solving using constraint solver 124, suppose, for example, for path A, two paths are calculated: one with a delay significantly smaller than X (let's call it path A1) and another with a delay close to X (path A2). In this case, for path A only, where delay is a constraint, path A1 is a better solution than path A2.

[0049] Similarly, for path B, assume that path B1, which can secure a bandwidth significantly larger than bandwidth Y, and path B2, which can secure a bandwidth close to bandwidth Y, are calculated. Also, for path C, assume that path C1, which has an operating rate significantly higher than operating rate Z, and path C2, which has an operating rate close to operating rate Z, are calculated.

[0050] The objective function is, for example, a function expressed as "(score of path A) × weight A + (score of path B) × weight B + (score of path C) × weight C". The score may be, for example, the metric itself such as delay, or an index value representing the goodness of the solution.

[0051] In the above case, when comparing, for example, "path A1, path B2, path C2" and "path A2, path B1, path C1" as solutions for "path A, path B, path C", if it is particularly important (the weight is large) that the delay in path A is small, then "(score of path A1) × weight A + (score of path B2) × weight B + (score of path C2) × weight C" > "(score of path A2) × weight A + (score of path B1) × weight B + (score of path C1) × weight C", and "path A1, path B2, path C2" is a better solution. Here, it is assumed that the larger the value of the objective function, the better the solution.

[0052] As described above, by setting the objective function, the constraint solver 124 can calculate the best solution according to the important metrics.

[0053] <S4: Constraint Solver Execution> The information converted / created in S1~S3 is input to the constraint solver 124. In S4, the constraint solver 124 calculates a solution by solving an optimization problem. When using a SAT solver as the constraint solver 124, the optimization problem is a satisfiability determination problem.

[0054] The constraint solver 124 may output one best solution, or may output a plurality of solutions including the best solution.

[0055] The constraint solver 124 outputs, for example, for each path to be designed, a logical value (e.g., 0 or 1) indicating whether each link is used as a link of that path.

[0056] <S5: Output> In S5, the interpretation unit 125 restores the output of the constraint solver 124 as a path (link connection configuration) on the network and outputs it as a list. The output from the interpretation unit 125 may be in any format. For example, it may be information in a format listing the links on the path for each path to be designed, or it may be information graphically representing the network and paths.

[0057] Fig. 5 shows an example of the output from the interpretation unit 125. In Fig. 5, the constraints for each path to be designed are shown in the upper part, and the calculation results of the paths are shown in the network part.

[0058] (Example of the hardware configuration of the device) The information processing apparatus 100 described in this embodiment can be realized, for example, by causing a computer to execute a program.

[0059] That is, the information processing apparatus 100 can be realized by using hardware resources such as a CPU and a memory built in the computer to execute a program corresponding to the processing performed by the information processing apparatus 100. The above program can be recorded on a computer-readable recording medium (such as a portable memory), saved, distributed, etc. Also, it is possible to provide the above program through a network such as the Internet or e-mail.

[0060] Fig. 6 is a diagram showing an example of the hardware configuration of the above computer. The computer in Fig. 6 has a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, an output device 1008, etc., which are mutually connected by a bus B. <000023!>

[0061] The program that enables processing on the computer is provided, for example, on a recording medium 1001 such as a CD-ROM or memory card. When the recording medium 1001 containing the program is set in the drive device 1000, the program is installed from the recording medium 1001 to the auxiliary storage device 1002 via the drive device 1000. However, the program does not necessarily have to be installed from the recording medium 1001; it may also be downloaded from another computer via a network. The auxiliary storage device 1002 stores the installed program as well as necessary files and data.

[0062] The memory device 1003 reads and stores a program from the auxiliary storage device 1002 when a program startup command is received. The CPU 1004 implements the functions related to the information processing device 100 according to the program stored in the memory device 1003. The interface device 1005 is used as an interface for connecting to a network, etc. The display device 1006 displays a GUI (Graphical User Interface) etc., generated by a program. The input device 1007 consists of a keyboard and mouse, buttons, or a touch panel, etc., and is used to input various operation commands. The output device 1008 outputs the calculation results.

[0063] (Effects of the embodiment) As described above, the technology according to this embodiment makes it possible to automatically design path routes while considering constraints between multiple paths. This reduces the workload and enables path design that is free from reliance on individual expertise. Furthermore, it is possible to improve communication quality even in a best-effort model while ensuring SLAs. Moreover, it contributes to improving the overall communication quality of the network.

[0064] The following additional information is disclosed regarding the embodiments described above.

[0065] <Note> (Additional note 1) An information processing device for calculating the route of a target path connecting nodes in a network having multiple nodes and multiple links, An input unit for inputting the network information and the constraints on the target path, A calculation unit having a constraint solver that calculates the path of the target path under multiple constraints, including constraints on multiple paths, An output unit that outputs the path of the target path calculated by the calculation unit. An information processing device equipped with the following features.

[0066] (Additional note 2) The calculation unit calculates a plurality of candidate paths as the path of the target path, and the constraint solver searches for a solution path from among the plurality of candidate paths. The information processing device described in Appendix 1.

[0067] (Additional note 3) The aforementioned constraint solver is a SAT solver. The information processing device described in Appendix 1.

[0068] (Additional note 4) The constraints on the aforementioned multiple paths are that the target path is a redundant path, the target path is a round-trip path, the target path is a symmetric round-trip path, or the target path is a P2MP path. The information processing device described in Appendix 1.

[0069] (Additional note 5) The aforementioned constraints are, For each link, there is a constraint that the total bandwidth of the paths passing through the link does not exceed the bandwidth of that link, The constraint is that multiple paths of different types cannot go through the same link, An information processing device as described in Appendix 1, including the following:

[0070] (Additional note 6) The constraint solver calculates the path of the target path such that the objective function, which indicates the quality of the solution, is best under the multiple constraints. The information processing device described in Appendix 1.

[0071] (Additional note 7) A path design method executed by an information processing device that calculates the path of a target path connecting nodes in a network having multiple nodes and multiple links, The steps include inputting the network information and the constraints on the target path, A step of calculating the path of the target path under multiple constraints, including constraints on multiple paths, using a constraint solver, The steps include outputting the calculated path of the target path and A route design method comprising the following features.

[0072] (Additional note 8) A program for causing a computer to function as one of the components of an information processing device described in any one of the appendices 1 through 6.

[0073] Although this embodiment has been described above, the present invention is not limited to this specific embodiment, and various modifications and changes are possible within the scope of the gist of the invention as described in the claims. [Explanation of Symbols]

[0074] 100 Information Processing Devices 110 Input Section 120 Arithmetic section 121 Conversion section 122 Constraint Creation Section 123 Candidate Route Creation Unit 124 Constraint Solver 125 Interpretation Section 130 Output section 1000 drive unit 1001 Recording media 1002 Auxiliary storage 1003 Memory device 1004 CPU 1005 Interface device 1006 Display device 1007 Input device 1008 Output device

Claims

1. An information processing device for calculating the route of a target path connecting nodes in a network having multiple nodes and multiple links, An input unit for inputting the network information and the constraints on the target path, A calculation unit having a constraint solver that calculates the path of the target path under multiple constraints, including constraints on multiple paths, An output unit that outputs the path of the target path calculated by the calculation unit. An information processing device equipped with the following features.

2. The calculation unit calculates a plurality of candidate paths as the path of the target path, and the constraint solver searches for a solution path from among the plurality of candidate paths. The information processing apparatus according to claim 1.

3. The aforementioned constraint solver is a SAT solver. The information processing apparatus according to claim 1.

4. The constraints on the aforementioned multiple paths are that the target path is a redundant path, the target path is a round-trip path, the target path is a symmetric round-trip path, or the target path is a P2MP path. The information processing apparatus according to claim 1.

5. The aforementioned constraints are, For each link, there is a constraint that the total bandwidth of the paths passing through the link does not exceed the bandwidth of that link, The constraint is that multiple paths of different types cannot go through the same link, The information processing apparatus according to claim 1, including the following:

6. The constraint solver calculates the path of the target path such that the objective function, which indicates the quality of the solution, is best under the multiple constraints. The information processing apparatus according to claim 1.

7. A path design method executed by an information processing device that calculates the path of a target path connecting nodes in a network having multiple nodes and multiple links, The steps include inputting the network information and the constraints on the target path, A step of calculating the path of the target path under multiple constraints, including constraints on multiple paths, using a constraint solver, The steps include outputting the calculated path of the target path and A route design method comprising the following features.

8. A program for causing a computer to function as a component of an information processing device described in any one of claims 1 to 6.