Route search device, route search method, and route search program

The route search device optimizes the search for multiple routes in optical path networks by segmenting the search and ensuring non-overlapping SRLGs, addressing inefficiencies in existing methods and achieving cost-effective route design.

JP7747231B2Active Publication Date: 2025-10-01NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024565493
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-12-22
Publication Date
2025-10-01
Estimated Expiration
2042-12-22

AI Technical Summary

Technical Problem

Existing route search methods in optical path networks fail to efficiently find multiple routes that avoid overlapping SRLGs while optimizing cost, particularly when specifying transit nodes, leading to increased calculation complexity and potential loss of cost minimization.

Method used

A route search device that divides the search section into multiple segments and sequentially searches for routes in each segment, ensuring non-overlapping SRLG information and cost optimization by recording routes and SRLG information, allowing for the creation of a 0-system and 1-system route without overlapping SRLGs.

Benefits of technology

Enables the efficient search for multiple routes that avoid overlapping SRLGs while minimizing overall cost, ensuring reliability and cost-effectiveness in optical path network design.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007747231000001
    Figure 0007747231000001
  • Figure 0007747231000002
    Figure 0007747231000002
  • Figure 0007747231000003
    Figure 0007747231000003
Patent Text Reader

Abstract

A route searching device (1) comprises: a storage unit (4) that stores cost and SRLG information, set to each edge; a segment dividing unit (31) that sets a searching segment from a starting point node through an ending point node and back to the starting point node, and divides the searching segment into a plurality of segments; and a route searching unit (32) that creates a route through the entire searching segment by sequentially searching for routes in each segment on the basis of a cost set to each edge, and creates a 0-series route and a 1-series route by dividing the route of the entire searching segment at the ending point node. When routes for each segment are sequentially retrieved, the route searching unit (32) stores the retrieved routes and the edge SRLG information, and searches for a route in which the SRLG information does not overlap between the 0-series route and the 1-series route.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a route search device, a route search method, and a route search program. [Background technology]

[0002] An optical path network enables communication using optical signals and is a backbone network for IP (Internet Protocol) communication networks, etc. An optical path network consists of multiple nodes and edges (also called links) that connect the multiple nodes.

[0003] In optical path networks, the cost required for communication varies from edge to edge, so route design that takes cost into consideration is required. As a method for designing a route, there is a method such as Dijkstra's algorithm, which finds a route from a start node to an end node with the lowest cost (hereinafter also referred to as a "shortest route").

[0004] Here, in an optical path network, in order to ensure reliability, it is sometimes required to design a plurality of routes by making the routes redundant. As a method for designing multiple routes, a method (K-SPF method) for efficiently searching multiple routes from a start node to an end node has been proposed (see Non-Patent Document 1). In this method, by storing multiple routes for each node passed from the start node to the end node in the route search process, it is possible to output multiple routes when the end node is reached. There are various requirements when designing routes for multiple routes, but it is necessary to avoid route overlaps (overlapping nodes, edges, etc.).

[0005] Furthermore, when designing a more reliable route, there are cases where the nodes to be passed through are specified. In this case, the simplest approach is to divide the search section according to the order of the nodes to be passed through and perform a route search for each section.

[0006] However, in large-scale networks, as the number of specified transit nodes increases, the number of route searches also increases. Also, if conditions such as not passing through the same node or edge twice, i.e., not having overlapping nodes or routes, are taken into consideration, it becomes necessary to find multiple route candidates, such as the second, third, etc., in addition to the shortest route, which results in a huge amount of calculation.

[0007] Meanwhile, when constructing an optical path network, SRLGs (Shard Risk Link Groups) may be taken into consideration when designing a primary route (hereinafter referred to as the "0-path route") and its redundant routes (hereinafter referred to as the "1-path route", the second as the "2-path route", etc.). SRLGs are groups of links that share a risk in the event of a failure in a shared resource.

[0008] SRLG information is stored for each edge, including information on the conduits that each edge actually passes through (for example, physical communication routes for passing optical fiber, etc.), and regional information on disaster areas such as earthquake resistance, liquefaction, and power outages. In route design, risk management requires that SRLG information not overlap between routes such as 0-system and 1-system. The absence of overlapping SRLG information on each route is hereinafter sometimes referred to as "SRLG disjoint."

[0009] For example, as shown in FIG. 40A, when the start node is node A, the end node is node Z, and node B is specified as the via node in the main route (0-system route), a route of node A → C → B → Z is set as the 0-system route (main route). Here, the SRLG information of the edge (link) between node A and node C is <pipeline 4, pipe 5>. Then, when node E is specified as the via node in the redundant route (1-system route), for example, node A → D → E → Z is set as the 1-system route (redundant route). Here, the SRLG information between node A and node D is <pipeline 1, pipe 3>, and the edge (link) of node A to node D is selected as the 1-system route that does not overlap (is SRLG disjoint) with the pipe information of the 0-system route <pipeline 4, pipe 5>. In Figure 40A, logical edge AB and logical edge AD are expressed as different routes, but as shown in Figure 40B, this logical edge AB is set as physical edge AB to <pipeline 1, pipeline 2>, and logical edge AD is set as physical edge AD to <pipeline 1, pipeline 3>. Therefore, <pipeline 1> is common, meaning that the SRLGs overlap. In such a case, it is required to select routes for system 0 and system 1 that do not overlap with <pipeline 1>.

[0010] Known methods for designing 0-system and 1-system routes in consideration of this SRLG include the RF (Remove and Find) method (see Non-Patent Document 2) and the TF (Transform and Find) method (see Non-Patent Document 3). [Prior art documents] [Non-patent literature]

[0011] [Non-Patent Document 1] Hiroshi Matsuura, “Multipath Routing Algorithm Applied to Cloud Data Center Services,” IEICE TRANS. COMMUN., VOL.E95-B, NO.8 AUGUST 2012. [Non-patent document 2] Eiji Oki, et.al., “A Disjoint Path Selection Scheme with SRLG in GMPLS Networks,” IEEE COMMUNICATIONS LETTERS, VOL. 6, NO. 9 SEP. 2002. [Non-patent document 3] Yongqiang, et.al., “A Minimum Cost Active and Backup Path Algorithm with SRLG Constraints,” IEEE International Conference on Internet Computing for Science and Engineering, 2012. Summary of the Invention [Problem to be solved by the invention]

[0012] The route search method (RF method) that takes SRLG into consideration, described in Non-Patent Document 2, first finds the shortest route as a 0-system route using Dijkstra's algorithm, and then deletes all edges (links) that belong to all SRLGs to which the edges used in that route belong. After that, by searching for a 1-system route (redundant route) again using Dijkstra's algorithm, completely SRLG-disjoint 0-system and 1-system routes are found.

[0013] However, in the RF method, the more edges (rings) that belong to one SRLG, the more links are deleted after the initial 0-system route is generated, and there is a possibility that a 1-system route cannot be generated. Furthermore, in the RF method, the 0-system route is first calculated and fixed using the Dijkstra algorithm, which may result in a loss of cost minimization when combining the 0-system route and the 1-system route. In other words, since the 0-system route is fixed, it is not possible to select the optimal 0-system route taking into account the SRLG and cost. Furthermore, Non-Patent Document 2 does not describe how to deal with cases in which a transit node is specified for the 0-system route or the 1-system route, and therefore is not able to handle such cases.

[0014] Furthermore, the route search method (TF method) that takes SRLG into consideration, described in Non-Patent Document 3, first finds the shortest route as a 0-system route using Dijkstra's algorithm. Then, it increases the edge cost of the edge that belongs to the SRLG to which the edge used by the shortest route belongs. This edge cost is increased in proportion to the importance and influence of the SRLG. Then, it searches for a 1-system route (redundant route) again using Dijkstra's algorithm. This makes it less likely that a route of an edge that belongs to the same SRLG as the 0-system route will be selected in the 1-system route. If an edge (SRLG joint edge (link)) occurs where the SRLGs of the 0-series route and the 1-series route overlap, replace only that link with an SRLG disjoint route. Alternatively, if the influence of the SRLG is within the acceptable range, set the route as is.

[0015] However, the TF method has the following problems. Compared to the RF method, it takes time to reset edge costs and narrow down the 1-system route when SRLGs overlap. It is necessary to set the importance (degree of risk when SRLGs overlap in the 0 / 1 system) for each SRLG group, and since setting the importance for each SRLG group is time-consuming, it may not be possible to actually set it. Since the link cost of the edge (link) used in the 0-series route and the link belonging to the same SRLG are high, the link cost set according to the original distance, etc. is unlikely to be reflected in the 1-series route. Furthermore, since the 0-system route is the main route, it is not possible to obtain optimality for the cost minimum by combining the 0-system route and the 1-system route. Furthermore, Non-Patent Document 3 does not describe how to deal with the case where a transit node is specified on the 0-path route or the 1-path route, and is therefore unable to deal with such a case.

[0016] The present invention has been made in consideration of these points, and an object of the present invention is to enable a route search device to search for multiple routes that avoid overlapping SRLGs while suppressing the cost of each route. [Means for solving the problem]

[0017] The route search device according to the present invention comprises: A route search device for searching for a route from a start node to an end node in a network including a plurality of nodes connected by edges, the route search device searching for a 0-system route which is a primary route and a 1-system route which is a redundant route, a storage unit for storing cost and SRLG (Shard Risk Link Group) information set for each edge; a section dividing unit that sets a search section from the start node via the end node to the start node again, and divides the set search section into a plurality of sections; a route search unit that creates a route for the entire search section by sequentially searching for a route for each section based on a cost set for each edge, and that creates the 0-system route and the 1-system route by dividing the route for the entire search section at the end node; The route search unit is characterized in that, when sequentially searching for routes in each section, it records the searched route and the SRLG information of the edges indicated by the route, and when searching for a route in the next section, it searches for a route that does not overlap with the route in the previous section, and searches for a route in each section from the end node to the start node so that it does not overlap with the SRLG information of the route searched in each section from the start node to the end node. [Effects of the Invention]

[0018] According to the present invention, it is possible to search for a plurality of routes that avoid overlapping SRLGs while suppressing the cost of each route. [Brief explanation of the drawings]

[0019] [Figure 1] 1 is an explanatory diagram illustrating an example of the configuration of an optical path network to which a route search device according to an embodiment of the present invention is applied; [Figure 2] 1 is a functional block diagram showing the configuration of a route search device according to an embodiment of the present invention. [Figure 3]4 is a flowchart showing the flow of processing of the route search device according to the present embodiment. [Figure 4] 4 is a flowchart showing the flow of a section search process of the route search device according to the present embodiment. [Figure 5] FIG. 1 illustrates an example of an optical path network that performs a search process. [Figure 6] FIG. 10 is a diagram illustrating an example of a search process for section 1. [Figure 7] FIG. 10 is a diagram illustrating an example of a search process for section 1. [Figure 8] FIG. 10 is a diagram illustrating an example of a search process for section 1. [Figure 9] FIG. 10 is a diagram illustrating an example of a search process for section 1. [Figure 10] FIG. 10 is a diagram illustrating an example of a search process for section 1. [Figure 11] FIG. 10 is a diagram illustrating an example of a search process for section 1. [Figure 12] FIG. 10 is a diagram illustrating an example of a search process for section 1. [Figure 13] FIG. 10 is a diagram illustrating an example of a search process for section 1. [Figure 14] FIG. 10 is a diagram illustrating an example of a search process for section 1. [Figure 15] FIG. 10 is a diagram illustrating an example of a search process for section 2. [Figure 16] FIG. 10 is a diagram illustrating an example of a search process for section 2. [Figure 17] FIG. 10 is a diagram illustrating an example of a search process for section 2. [Figure 18] FIG. 10 is a diagram illustrating an example of a search process for section 2. [Figure 19] FIG. 10 is a diagram illustrating an example of a search process for section 2. [Figure 20] FIG. 10 is a diagram illustrating an example of a search process for section 2. [Figure 21] FIG. 10 is a diagram illustrating an example of a search process for section 2. [Figure 22] FIG. 10 is a diagram illustrating an example of a search process for section 3. [Figure 23] FIG. 10 is a diagram illustrating an example of a search process for section 3. [Figure 24] FIG. 10 is a diagram illustrating an example of a search process for section 3. [Figure 25] FIG. 10 is a diagram illustrating an example of a search process for section 3. [Figure 26] FIG. 10 is a diagram illustrating an example of a search process for section 3. [Figure 27] FIG. 10 is a diagram illustrating an example of a search process for section 3. [Figure 28] FIG. 10 is a diagram illustrating an example of a search process for section 3. [Figure 29] FIG. 10 is a diagram illustrating an example of a search process for section 3. [Figure 30] FIG. 10 is a diagram illustrating an example of a search process for section 3. [Figure 31] FIG. 10 is a diagram illustrating an example of a search process for section 3. [Figure 32] FIG. 10 is a diagram illustrating an example of a search process for section 4. [Figure 33] FIG. 10 is a diagram illustrating an example of a search process for section 4. [Figure 34] FIG. 10 is a diagram illustrating an example of a search process for section 4. [Figure 35] FIG. 10 is a diagram illustrating an example of a search process for section 4. [Figure 36] FIG. 10 is a diagram illustrating an example of a search process for section 4. [Figure 37] FIG. 2 is a hardware configuration diagram illustrating an example of a computer that realizes the functions of the route search device according to the present embodiment. [Figure 38] FIG. 10 is a diagram illustrating an outline of processing performed by a route search device according to a first modified example. [Figure 39] FIG. 10 is a diagram illustrating an outline of processing performed by a route search device according to a second modification. [Figure 40A] FIG. 10 is a diagram for explaining SRLG information (pipeline) set to an edge. [Figure 40B] FIG. 10 is a diagram illustrating an example in which SRLG information overlaps in one edge. DETAILED DESCRIPTION OF THE INVENTION

[0020] Next, an embodiment of the present invention (hereinafter referred to as "the present embodiment") will be described with reference to the drawings. FIG. 1 is an explanatory diagram showing an example of the configuration of an optical path network (optical transmission network) to which a route search device 1 according to this embodiment is applied. As shown in FIG. 1, an optical path network (NW) is composed of multiple nodes N and edges E that connect the nodes N. The node N is configured as a transmission device such as an optical cross connect (OXC) device, for example. Figure 1 shows a mesh-type optical path network in which each node N is interconnected with adjacent nodes N. Each node N can be connected to other nodes and terminals (not shown), and can output and input optical signals from other nodes and terminals.

[0021] The optical path network is provided with a management device 9 that manages the optical path network. A route search device 1 acquires information about the optical path network from the management device 9, and searches for and designs transmission routes in the optical path network. The management device 9 manages the transmission of optical signals in the optical path network based on the routes designed by the route search device 1. A transmission path is a transmission path of an optical signal from a start node to a destination node, and indicates an edge E and a node N through which the optical signal passes between the start node and the destination node. Hereinafter, a "transmission path" may also be simply referred to as a "route." Furthermore, when simply referring to an "edge" in this embodiment, it means a logical edge (link) connecting each node N. This logical edge is actually composed of a physical edge such as a conduit (a physical communication path for passing optical fiber or the like) (see FIG. 40B).

[0022] In a mesh optical path network, multiple different routes can be designed even between the same start node and end node by passing through different nodes N and edges E. By designing redundant routes in this way, the route search device 1 can continue transmitting optical signals by switching to another route even if a failure occurs during transmission of an optical signal on one of the routes.

[0023] Here, a cost for transmitting an optical signal through each edge E is set. The cost is determined, for example, according to the distance between the nodes N connected to the edge E. Furthermore, an "SRLG_ID" is set for each edge E as an identifier for the SRLG (Shared Risk Link Group) through which the edge E passes. This SRLG_ID is, for example, a "pipe ID" that is an identifier for a pipe, or an "area ID" that is an identifier for an area. Hereinafter, the SRLG_ID will be referred to as "SRLG information." Furthermore, one edge E may include multiple pieces of SRLG information. When routes are made redundant, it is undesirable that the cost of one route becomes extremely high as a result of keeping the cost of the other route low. Therefore, the route search device 1 designs routes so as to reduce the combined cost of the main route and the redundant route. In addition, the route search device 1 avoids edge overlap and SRLG overlap between the main route and the redundant route. Furthermore, the route search device 1 stores attributes (attribute information) indicating whether node overlap is possible between routes (for example, between a 0-system route and a 1-system route) on a node-by-node basis, and can design routes by determining node overlap between routes according to the attribute information set for each node (details will be described later).

[0024] FIG. 2 is a functional block diagram showing the configuration of the route search device 1. As shown in FIG. 2, the route search device 1 includes an input / output unit 2, a control unit 3, and a storage unit 4. The input / output unit 2 is configured with an input / output I / F (Interface), a communication I / F, etc. The input / output unit 2 inputs and outputs data to and from the management device 9. The input / output unit 2 also accepts the specification of search conditions input by the operator of the route search device 1. The search conditions can include, for example, a start node, an end node, intermediate nodes, the number K of routes to be searched in the search process (K is an integer equal to or greater than 1), the number L of combinations of 0-system routes and 1-system routes to be output (L is an integer equal to or greater than 1 and equal to or less than K), etc. As a search condition, whether or not nodes N and edges E are allowed to overlap can also be specified.

[0025] The control unit 3 includes a section dividing unit 31 and a route searching unit 32 as processing units that execute the route searching method according to this embodiment. The section dividing unit 31 sets a search section according to search conditions specified by the operator of the route search device 1, and divides the search section into multiple sections. If no via nodes are specified, the section dividing unit 31 divides the search section into multiple sections with the start node N and the end node N as endpoints. If via nodes are specified for the 0-system route or the 1-system route, the section dividing unit 31 divides the search section into multiple sections with the start node N, the end node N, and each via node on the 0-system route and the 1-system route as endpoints.

[0026] The route search unit 32 creates a route for the entire search section by sequentially searching for a route in each section based on the cost set for each edge E. The route search unit 32 records the route searched for in each section and the SRLG information for that route. When searching for a route in the next section, the route search unit 32 searches for a route that does not overlap with the edge E of the previous section, and adds the searched route to the route of the previous section and records it. The route search unit 32 also performs route search while avoiding overlapping of SRLG information between routes (for example, between a 0-system route and a 1-system route). Furthermore, the route search unit 32 determines whether node overlap is possible between routes (for example, between a 0-system route and a 1-system route) based on attribute information set for each node N, and if node overlap is possible, performs route search under conditions in which node overlap is allowed between routes, and if node overlap is not possible, performs route search under conditions in which node overlap is not allowed between routes.

[0027] The route search unit 32 creates a main route (0-system route) and a redundant route (1-system route) by finally dividing the created route of the search section at the end node N. In other words, the route search device 1 according to this embodiment creates a so-called unicursal route that connects the 0-system route and the 1-system route, and finally performs processing to divide the unicursal route. The details of the processing by the section dividing unit 31 and the route searching unit 32 will be described later together with flowcharts and specific examples.

[0028] The storage unit 4 is composed of a ROM (Read Only Memory), RAM, HDD (Hard Disk Drive), etc., and stores information necessary for the processing of the section dividing unit 31 and the route searching unit 32, and also temporarily stores the processing results of each unit. The storage unit 4 includes, for example, a network information DB (Data Base) 41 and a route information DB 42.

[0029] The network information DB 41 stores information about the optical path network input from the management device 9. The network information DB 41 stores, for example, information about the network topology that indicates the connection relationship between nodes N and edges E, and attribute information about the nodes N and edges E. The attribute information about edges E includes, for example, the distance of the edges E connecting the nodes, the cost set for each edge E, and SRLG information set for each edge E. Furthermore, as the attribute information about nodes N, information about whether node overlap is possible between each route, such as a main route and a redundant route, is stored for each node N as a Boolean attribute, for example, "True" or "False." Whether node overlap is possible is set by an operator, taking into consideration, for example, the level of processing performance of the node in question and the possibility of damage in the event of a disaster, such as the earthquake resistance of the location (building) where the node is installed.

[0030] The route information DB 42 stores a route list 421 and a final list 422. The route list 421 and the final list 422 record routes created by the search processing of the route search unit 32. The route list 421 is provided corresponding to each node N constituting the optical path network. Details of the route list 421 and the final list 422 will be described later together with details of the processing of the route search unit 32.

[0031] The processing flow of the route search device 1 will be explained below with reference to a specific example. FIG. 3 is a flowchart showing the flow of processing by the route search device 1. FIG. 4 is a flowchart showing the flow of the section search process. Fig. 5 is a diagram showing an example of an optical path network in which a search process is performed. In Fig. 5, in order to distinguish between multiple nodes N, individual symbols (S, V1 to V6, D) are assigned to each node. Furthermore, the numbers assigned to edges E connecting nodes indicate the cost and SRLG information set for that edge E. For example, "2<1,2>" written on edge E between node S and node V1 indicates that the cost is "2" and that, for example, "pipeline 1, pipe 2" is set as SRLG information.

[0032] 3, the route calculation device 1 determines whether or not a search condition has been input by an operator via the input / output unit 2 (FIG. 2) (step S1). If the search condition has not been input (step S1→No), the device waits until it is input. On the other hand, if the search condition has been input (step S1→Yes), the section division unit 31 (FIG. 2) sets a search section of the route in accordance with the search condition (step S2).

[0033] The section dividing unit 31 sets a search section by referring to information about the network topology of the optical path network stored in the network information DB 41 (FIG. 2). The search section is a section that starts from a start node, passes through a finish node, and returns to the start node again. Here, if a via node is specified in the search condition, the section dividing unit 31 sets a search section in which the via node is placed between the start node and the end node. The section dividing unit 31 places the via node specified in the 0-system route in the section from the start node to the end node. The section dividing unit 31 places the via node specified in the 1-system route in the section from the end node to the start node. Note that the number of via nodes placed in each system (0-system OR 1-system) is not limited to one, and multiple via nodes may be specified for each system as a search condition.

[0034] In the example of Figure 5, when searching for 0-system routes and 1-system routes between two specified locations, we will explain the case where different arbitrary passing nodes are specified for each 0-system / 1-system route and the search conditions are set as follows. Start node: Node S End node: Node D Route 0 via node: Node V6 Route 1 via node: Node V1 Number of routes to search in each section: K: 2 Number of combinations of output 0-system routes (main routes) and 1-system routes (redundant routes) L: 2 · The attribute information of each node N is set so that node overlap between the 0-system route and the 1-system route is permitted except for node V2. Each edge E may have multiple SRLG information (SRLG_ID), and the pipeline through which each edge E passes is considered an SRLG. The section dividing unit 31 sets a search section of "start node S → node V6 → end node D → node V1 → start node S" according to these search conditions.

[0035] Returning to FIG. 3, the section dividing unit 31 divides the set search section and determines the search order for each section (step S3). The section dividing unit 31 divides the search section into four sections, each with a start node, an end node, and a route node as its endpoints. In the example of Fig. 5, the search section is divided into the following four sections, each with a start node S, an end node D, and route nodes V6 and V1 as its endpoints: Section 1: Start node S → via node V6 (search order 1) Section 2: via node V6 → destination node D (search order 2) Section 3: End node D → via node V1 (search order 3) Section 4: via node V1 → starting node S (search order 4) Sections 1 and 2 correspond to the 0-system route, and sections 3 and 4 correspond to the 1-system route.

[0036] The section dividing unit 31 stores the number of divided sections I in the storage unit 4 (step S4). The route search unit 32 sets the search order i=1 (step S5), and starts the search process from the section with the search order 1 (step S6). In the example of FIG. 5, the section dividing unit 31 stores the number of sections I=4 in the storage unit 4, and starts the search process from section 1 of search order 1.

[0037] When performing a route search, the route search unit 32 searches for a route based on the following predetermined search logic. · The intermediate nodes, start node, and end node other than the section of search order i are excluded from the added nodes. Routes registered in each route list do not allow loops that pass through the same node twice within the same system, but may allow overlapping nodes between different systems. This determination is made based on the attribute information attached to each node. If the SRLG information of the target edge as an attribute overlaps with the SRLG information on other routes, the edge is not selected. The route search unit 32 stores up to K routes for each node N. If the number of routes is K or more, it stores the K routes with the lowest cost (highest priority), including routes that are already stored.

[0038] The flow of processing by the route search unit 32 to search for a route based on this predetermined search logic will be described with reference to the flowchart shown in FIG. 4 and FIGS.

[0039] <Search process for section 1> 6 to 14 are diagrams illustrating an example of the search process for section 1. FIG. In the process of searching for a 0-system route in section 1, the route search unit 32 performs the search process by referring to information on the network topology stored in the network information DB 41 and the cost set for each edge E. Furthermore, the route search unit 32 performs the search process while recording the route and the SRLG information of the route in the route list 421 and final list 422 of the route information DB 42. In the following description, the route list 421 provided for each node will be expressed in the format of "PList (node ​​name)". For example, the route list corresponding to node V1 will be expressed as PList (V1).

[0040] <Search process for section 1 - 1st time> As shown in FIG. 4, the route search unit 32 selects a node N that is the start point of the section i (step S601). In the example of FIG. 6, the route search unit 32 selects the start node S, which is the start point of section 1 (start node S→passing node V6). The route search unit 32 checks whether a route is recorded in the final list 422 of the route information DB 42 (step S602). In the initial search process for Section 1, no route is stored in the final list 422 (step S602: No), so the route search unit 32 proceeds to step S603.

[0041] The route search unit 32 sets the node adjacent to the selected node as the node to be searched (step S603). Here, in order to avoid overlapping of nodes N and edges E, the route search unit 32 excludes nodes specified as route nodes in other sections, as well as start and end nodes, from the search targets.

[0042] 6, the nodes adjacent to the start node S, which is the selected node, are nodes V1, V2, and V3. Here, since node V1 is a route node included in sections 3 and 4, the route search unit 32 excludes node V1 from the search targets and sets nodes V2 and V3 as the search targets.

[0043] The route search unit 32 records, in the route list 421 corresponding to the search target node, the route from the selected node to the search target node, together with the cost of the edge E to be passed and the SRLG information of the edge E (step S604). The route search unit 32 records the route, for example, in the format of "Route: Cost <SRLG information>". In the example of FIG. 6, "S→V2:2 <SRLG:3,4>" is recorded in PList(V2), and "S→V3:4 <SRLG:3,5>" is recorded in PList(V3).

[0044] The route search unit 32 refers to all the route lists 421 recorded in the route information DB 42 and obtains the route with the lowest cost, that is, the so-called shortest route (step S605). The route search unit 32 determines whether the obtained route includes the node at the end of the section (step S606). In the example of FIG. 6, "S→V2:2" recorded in PList(V2) is the shortest route. In the drawing, the shortest route is marked with a star. Since this route does not include the node V6 which is the end of section 1 (step S606: No), the route search unit 32 proceeds to step S607.

[0045] <Search process for section 1 - Second time> The route search unit 32 selects the node at the end of the obtained route and deletes the obtained route from the route list 421 (step S607). As shown in FIG. 7, the route search unit 32 selects the node V^2 at the end of the route "S→V2:2 <SRLG:3,4>" and deletes the route "S→V2:2 <SRLG:3,4>" from PList(V2). In the figure, a strikethrough is attached to the deleted route. As shown in FIG. 4, the route search unit 32 returns to step S603 and performs the same search process as the first search process (steps S603 to S606). 7, the nodes adjacent to node V2, which is the selected node, are nodes V1, V3, and V5. Here, since node V1 is a route node in sections 3 and 4, the route search unit 32 excludes node V1 from the search targets and sets nodes V3 and V5 as the search targets (step S603).

[0046] Note that routes recorded in the route list 421 are not permitted to pass through the same node more than once within the same system (for example, in each of the 0-system route and the 1-system route). In other words, looping routes are not permitted. Therefore, in the second and subsequent search processes, the route search unit 32 excludes from the search targets nodes that are already listed in the acquired route. However, the start node S overlaps as the start point of section 1 and the end point of section 4. Therefore, during the search process for section 4, it is exceptionally permitted for the start node S to overlap in the route.

[0047] The route search unit 32 adds one hop from the selected node V2 to the search target nodes V3 and V5 to the route "S → V2" deleted as the shortest route, and records the resulting route in the search target PList(V3) and PList(V5) (step S604). The route search unit 32 adds "S → V2 → V3:4<SRLG:3,4,7> " and PList(V5) contains "S→V2→V5:6<SRLG:3,4,9> " is recorded. In this way, the route search unit 32 can perform route search at reduced cost by setting the terminal node of the acquired shortest route as the selected node for the next search process and further expanding the search range from the selected node to adjacent nodes on the shortest route. Furthermore, by proceeding with the search while sequentially recording the routes created by the search in the route list 421 of the corresponding node, it is possible to perform route search that avoids overlapping of nodes N and edges E on routes within the same system.

[0048] The route search unit 32 refers to all route lists 421, acquires the shortest route "S → V3:4" (step S605), and determines whether the acquired route includes node V6, which is the end of section 1 (step S606). In addition, the PList(V3) in which the route "S→V3:4" is recorded also records a route "S→V2→V3:4" with the same cost. In this way, when all route lists 421 are referenced and routes with the same cost exist, the route search unit 32 can set a priority condition and select one of the routes.

[0049] As shown in Figure 7, when multiple routes with the same cost are recorded in the same route list 421, PList(V3), the priority condition can be, for example, "the route that was registered in the route list 421 first" using the First in First out rule. Furthermore, when routes with the same cost are recorded in the route lists 421 corresponding to different nodes, the priority condition can be, for example, "the route with the smaller node number recorded in the route list 421." As an example, when routes with the same cost are recorded in the PList(V2) and PList(V3), the route search unit 32 can select the route in the PList(V2).

[0050] Other priority conditions can be "a route whose end node is close to the start node," "a route with a small number of hops (number of nodes passed through)," etc. Note that detailed explanation of the process of selecting one of routes with the same cost will be omitted hereafter. In the example of FIG. 7, the acquired route "S→V3:4" does not include node V6, which is the end of section 1, so the route searching unit 32 continues the search. Note that the third and subsequent search processes are the same as the second, and therefore, in the following explanation, the steps that have already been explained in the flowchart of FIG. 4 will not be mentioned again.

[0051] <Search process for section 1 - 3rd time> As shown in FIG. 8, the route search unit 32 selects the node V3 at the end of the acquired route and creates a route “S→V3:4<SRLG:3,5> " is deleted from PList(V3). The route search unit 32 searches for nodes V2 and V6 adjacent to the selected node V3, and finds the PList(V2) route "S → V3 → V2:6<SRLG:3,5,7> " and record the route "S → V3 → V6:9" in PList(V6).<SRLG:3,5,10> " is recorded. The route search unit 32 acquires the shortest route "S → V2 → V3:4" from all route lists 421. Since this route does not include node V6, which is the end of section 1, the route search unit 32 continues the search.

[0052] <Search process for section 1 - 4th time> As shown in FIG. 9, the route search unit 32 selects the node V3 located at the end of the acquired route, and calculates the route “S→V2→V3:4<SRLG:3,4,7> " is deleted from PList(V3). The nodes adjacent to the selected node V3 are nodes V2 and V6, but the route "S → V2 → V3:4" already includes node V2. Therefore, the route search unit 32 excludes node V2 from the search target and sets node V6 as the search target. The route search unit 32 adds the route "S → V2 → V3 → V6:9" to PList(V6).<SRLG:3,4,7,10> " is recorded. The route search unit 32 acquires the shortest route "S → V3 → V2:6" from the list of all routes 421. Since this route does not include node V6, the route search unit 32 continues the search.

[0053] <Search process for section 1 - 5th time> As shown in FIG. 10, the route search unit 32 selects node V2, which is the end node of the route "S → V3 → V2:6", and deletes the route "S → V3 → V2:6" from PList(V2). The nodes adjacent to the selected node V2 are nodes V1, V3, and V5, but node V1 is a route node included in other sections 3 and 4, and node V3 is included in the route "S → V3 → V2:6", so nodes V1 and V3 are excluded from the search target. The route search unit 32 selects node V5 as the search target and adds the route "S → V3 → V2 → V5:10" to PList(V5).<SRLG:3,5,7,9> " is recorded. The route search unit 32 acquires the shortest route "S → V2 → V5:6" from the list of all routes 421. Since this route does not include node V6, the route search unit 32 continues the search.

[0054] <Search process for section 1 - 6th time> As shown in FIG. 11, the route search unit 32 selects the node V5 at the end of the route "S→V2→V5:6" and<SRLG:3,4,9> " is deleted from PList(V5). The route search unit 32 searches for nodes V4, V6, and D adjacent to the selected node V5. Note that node D is an end node included in another section, so it is excluded from the search targets. The route search unit 32 adds the route "S→V2→V5→V4:9" to PList(V4).<SRLG:3,4,9,11> " and record the route "S → V2 → V5 → V6:8" in PList(V6).<SRLG:3,4,9,12> " is recorded. Here, the number of routes recorded in PList(V6) is 3, which exceeds the number K specified in the search conditions (K=2). Therefore, the route search unit 32 deletes one route with a high cost from the routes recorded in PList(V6) (symbol α1 in FIG. 11).

[0055] As shown in FIG. 11, the route search unit 32 searches for the route “S→V2→V3→V6:9<SRLG:3,4,7,10> Here, the route "S → V3 → V6:9" stored in PList(V6) also has a cost of 9. In this way, when routes with the same cost exist, it is possible to select the route to remain in the route list 421 using priority criteria such as "the route with the fewest number of hops" or "the route that was recorded in the route list 421 first."

[0056] The route search unit 32 acquires the shortest route "S → V2 → V5 → V6:8" from the all route list 421. This route includes node V6, which is the end of section 1 (step S606 in FIG. 4: Yes). In this case, the route search unit 32 proceeds to step S608, deletes the acquired route from the corresponding route list 421, and records it in the final list 422. If the number of routes recorded in the final list 422 is less than K (step S609: No), the route search unit 32 returns to step S605. In the example of FIG. 12, the route search unit 32 searches for "S → V2 → V5 → V6:8<SRLG:3,4,9,12> " is deleted from PList(V6) and recorded in the final list 422. The number of routes recorded in the final list 422 is 1, which is less than K=2. The route search unit 32 acquires the shortest route "S → V2 → V5 → V4:9" from all route lists 421. Since node V6 is not included in this route, the route search unit 32 continues the search.

[0057] <Search process for section 1 - 7th time> As shown in FIG. 13, the route search unit 32 selects the node V4 at the end of the acquired route and searches for the route “S→V2→V5→V4:9.”<SRLG:3,4,9,11> " is deleted from PList(V4). The nodes adjacent to the selected node V4 are nodes V1, V5, and D. Nodes V1 and D are intermediate nodes and destination nodes included in other sections. Node V5 is included in the route "S → V2 → V5 → V4:9". Therefore, all nodes are excluded from the search targets. In this case, the search for adjacent nodes and the recording of the route are not performed (symbol β1 in Figure 13).

[0058] The route search unit 32 acquires the shortest route "S → V3 → V6:9" from the list of all routes 421. This route includes node V6, which is the end of section 1. As shown in FIG. 14, the route search unit 32 searches for the route “S→V3→V6:9<SRLG:3,5,10> " is deleted from PList(V6) and recorded in the final list 422.

[0059] As shown in FIG. 4, when the number of routes recorded in the final list 422 becomes K or more (step S609: Yes), the route search unit 32 deletes all routes recorded in the route list 421 corresponding to each node and terminates the search process for that section (step S610). In the example of FIG. 14, the number of routes recorded in the final list 422 is K=2, so the route search unit 32 selects the route “S→V3→V2→V5:10” in PList(V5).<SRLG:3,5,7,9> " is deleted, and the search process for section 1 is terminated (symbol γ1 in FIG. 14). In the final list 422, the route "S → V2 → V5 → V6:8" is deleted as a result of the search process for section 1.<SRLG:3,4,9,12> " and route "S→V3→V6:9<SRLG:3,5,10> " Two routes are recorded.

[0060] Returning to FIG. 3, if the search order i does not reach the total number I-1 (step S7: No), the route search unit 32 increments the search order i (step S8), returns to step S6, and performs the search process for the next section.

[0061] <Search process for section 2> Following the search process for section 1, the route search unit 32 performs the search process for section 2 (passing node V6 to end node D) in search order 2. 15 to 21 are diagrams illustrating an example of the search process for section 2. FIG.

[0062] <Search process for section 2 - 1st time> As shown in FIG. 4, the route search unit 32 selects node V6 at the start of section 2 (step S601). The route search unit 32 refers to the final list 422 of the route information DB 42 (step S602). When performing the search process for section 2, the route created in the search process for section 1 is recorded in the final list 422 (step S602: Yes), so the route search unit 32 proceeds to step S611. The route search unit 32 records the route recorded in the final list 422 in the route list 421 corresponding to the node at the end of the route, and deletes it from the final list 422 (step S611). In the example of FIG. 15, the route search unit 32 selects the route “S→V2→V5→V6:8” in the final list 422.<SRLG:3,4,9,12> " and route "S→V3→V6:9<SRLG:3,5,10> " is recorded in PList(V6).

[0063] Here, the terminal node of the route recorded in the final list corresponds to the starting node of the next section. That is, the route search unit 32 moves the route created in the search process for the previous section to the route list 421 of the starting node of the next section. In this way, the route search unit 32 searches for a route for the next section while avoiding overlap with the route for the previous section, and records the route searched for in the next section by adding it to the route for the previous section.

[0064] The route search unit 32 acquires the shortest route from all the route lists 421 (step S612), selects the terminal node of the acquired route, and deletes the acquired route from the route list 421 (step S613). In the example of FIG. 15, the route search unit 32 searches for the shortest route, "S → V2 → V5 → V6:8<SRLG:3,4,9,12> As shown in FIG. 16, the route search unit 32 selects node V6, which is the end node of the acquired route, and obtains the route "S → V2 → V5 → V6:8" from PList(V6).<SRLG:3,4,9,12> " is deleted (step S613). The route search unit 32 subsequently performs the same search process (steps S603 to S610 in FIG. 4) as the search process for section 1, and therefore, in the following explanation, reference to the flowchart in FIG. 4 will be omitted and the explanation will be simplified.

[0065] The route search unit 32 searches for nodes D and V3 adjacent to the selected node V6. Note that node V5 is not selected because it is included in the route. The route search unit 32 adds the route "S → V2 → V5 → V6 → D: 13" to PList(D) and PList(V3), respectively.<SRLG:3,4,9,12,15,16> ", route "S→V2→V5→V6→V3:13<SRLG:3,4,9,12,10> " is recorded. The route search unit 32 acquires the shortest route "S → V3 → V6:9" from the list of all routes 421. Since this route does not include node D, which is the terminal node of section 2, the route search unit 32 continues the search.

[0066] <Search process for section 2 - 2nd time> As shown in Figure 17, we select the end node V6 of the obtained route and create a route “S→V3→V6:9<SRLG:3,5,10> The route search unit 32 searches for the neighboring nodes V5 and D of the node V6, and adds the route "S → V3 → V6 → V5:11" to the PList(V5).<SRLG:3,5,10,12> " and record the route "S → V3 → V6 → D:14" in PList(D).<SRLG:3,5,10,15,16> " is recorded. The route search unit 32 acquires the shortest route "S → V3 → V6 → V5:11" from the list of all routes 421.

[0067] <Search process for section 2 - 3rd time> As shown in FIG. 18, the route search unit 32 selects the node V5 at the end of the acquired route and searches for the route “S→V3→V6→V5:11<SRLG:3,5,10,12> The route search unit 32 searches the adjacent nodes V2, V4, and D of the selected node V5, and adds the route "S → V3 → V6 → V5 → V2:15" to the PList(V2).<SRLG:3,5,10,12> ", PList(V4) has the route "S→V3→V6→V5→V4:14<SRLG:3,5,10,12,11> ", PList(D) has the route "S→V3→V6→V5→D:16<SRLG:3,5,10,12,14> " is recorded.

[0068] Since the number of routes recorded in PList(D) exceeds K=2, the route search unit 32 selects the route “S→V3→V6→V5→D:16<SRLG:3,5,10,12,14> " is deleted from PList(D) (symbol α2 in FIG. 18). The route search unit 32 acquires the shortest route "S → V2 → V5 → V6 → D: 13" from the all route list 421. This route includes node D, which is the end of section 2. As shown in FIG. 19, the route search unit 32 searches for the route “S→V2→V5→V6→D:13<SRLG:3,4,9,12,15,16> " is recorded in the final list 422 and deleted from PList(D). The route search unit 32 acquires the shortest route "S → V2 → V5 → V6 → V3:13" from all route lists 421.

[0069] <Search process for section 2 - 4th time> As shown in FIG. 20, the route search unit 32 selects the node V3 at the end of the acquired route and searches for the route “S→V2→V5→V6→V3:13<SRLG:3,4,9,12,10> " is deleted from PList(V3). Nodes V2 and V6 adjacent to the selected node V3 are both included in the route "S → V2 → V5 → V6 → V3:13". Therefore, the route search unit 32 does not search for these nodes or record the route (symbol β2 in FIG. 20). The route search unit 32 acquires the shortest route "S → V3 → V6 → D:14" from all route lists 421. This route includes node D, which is the end of section 1. As shown in FIG. 21, the route search unit 32 acquires the shortest route "S → V3 → V6 → D:14" from all route lists 421.<SRLG:3,5,10,15,16> " is recorded in the final list 422 and deleted from PList(D).

[0070] Since the number of routes recorded in the final list 422 is equal to or greater than K=2, the route search unit 32 deletes all routes recorded in the route list 421 of each node and ends the search process for section 2 (symbol γ2 in FIG. 21). As a result of the search process for section 2, the final list 422 contains the route "S → V2 → V5 → V6 → D:13<SRLG:3,4,9,12,15,16> " and route "S → V3 → V6 → D:14<SRLG:3,5,10,15,16> " Two routes are recorded.

[0071] <Search process for section 3> 22 to 31 are diagrams illustrating an example of the search process for section 3. FIG. The route search unit 32 performs the processes of steps S7 and S8 in FIG. 3, and moves to the search process for section 3 (end node D→passing node V1) in search order 3.

[0072] <Search process for section 3 - 1st time> As shown in FIG. 22, the route search unit 32 searches for the route “S→V2→V5→V6→D:13” recorded in the final list 422.<SRLG:3,4,9,12,15,16> " and route "S→V3→V6→D:14<SRLG:3,5,10,15,16> " is recorded in PList(D) and deleted from the final list 422. The route search unit 32 acquires the shortest route "S → V2 → V5 → V6 → D:13". As shown in Fig. 23, the route search unit 32 selects node D at the end of the acquired route, and extracts the route "S → V2 → V5 → V6 → D:13" from PList(D).<SRLG:3,4,9,12,15,16> " Delete.

[0073] Here, the nodes adjacent to the selected node D are nodes V4 and V5. However, if PList(V4) does not include the path "S → V2 → V5 → V6 → D → V4:15<SRLG:3,4,9,12,15,16,13,16> " is not added (code x1 in Figure 23). This is because in a different system route (0 system route), SRLG information <srlg:16>This is because there is overlap.

[0074] The route search unit 32 adds the route "S → V2 → V5 → V6 → D → V5:18" to the PList (V5).<SRLG:3,4,9,12,15,16,14> Here, node V5 is selected in duplicate, but node V5 has attribute information that allows node duplication between other systems (here, between the 0 system route and the 1 system route), and the SRLG information does not overlap between other systems, so V5 is set as the search target. Then, the route search unit 32 acquires the shortest route "S → V3 → V6 → D:14" from the route list 421.

[0075] <Search process for section 3 - 2nd time> As shown in FIG. 24, the route search unit 32 selects node D at the end of the acquired route and searches for the route “S→V3→V6→D:14<SRLG:3,5,10,15,16> " is deleted from PList(D). Here, the nodes adjacent to the selected node D are nodes V4 and V5. However, if PList(V4) does not include the path "S → V3 → V6 → D → V4:16<SRLG:3,5,10,15,16,13,16> " is not added (code x2 in Figure 24). This is because in a different system route (0 system route), SRLG information <srlg:16>This is because there is overlap.

[0076] The route search unit 32 adds the route "S→V3→V6→D→V5:19" to the PList(V5).<SRLG:3,5,10,15,16,14> " is recorded. Then, the route search unit 32 acquires the route "S → V2 → V5 → V6 → D → V5:18", which is the shortest route, from all route lists 421. Because this route does not include node V1, which is the terminal node of section 3, the route search unit 32 continues the search.

[0077] <Search process for section 3 - 3rd time> As shown in Figure 25, select the terminal node V5 of the obtained route and create the route “S → V2 → V5 → V6 → D → V5:18<SRLG:3,4,9,12,15,16,14> " is deleted from PList(V5).

[0078] Here, the nodes adjacent to the selected node V5 are nodes V2 and V4. However, if PList(V2) does not include the path "S → V2 → V5 → V6 → D → V5 → V2:22<SRLG:3,4,9,12,15,16,14,9> " is not added (code x3 in Figure 25). This is because in a different system route (0 system route), SRLG information <srlg:9>This is because there is overlap.

[0079] The route search unit 32 adds the route “S→V2→V5→V6→D→V5→V4:21” to the PList(V4).<SRLG:3,4,9,12,15,16,14,11> " is recorded. Then, the route search unit 32 acquires the shortest route "S → V3 → V6 → D → V5:19" from the list of all routes 421. Because this route does not include node V1, which is the terminal node of section 3, the route search unit 32 continues the search.

[0080] <Search process for section 3 - 4th time> As shown in Figure 26, select the terminal node V5 of the obtained route and create the route “S→V3→V6→D→V5:19<SRLG:3,5,10,15,16,14> " is deleted from PList(V5). The route search unit 32 searches for the adjacent nodes V2 and V4 of the selected node V5, and adds the route "S → V3 → V6 → D → V5 → V2:23" to the PList(V2).<SRLG:3,5,10,15,16,14,9> ", PList(V4) has the route "S→V3→V6→D→V5→V4:22<SRLG:3,5,10,15,16,14,11> " is recorded. The route search unit 32 acquires the shortest route "S → V2 → V5 → V6 → D → V5 → V4:21" from the list of all routes 421. Because this route does not include node V1, which is the terminal node of section 3, the route search unit 32 continues the search.

[0081] <Search process for section 3 - 5th time> As shown in Figure 27, select the node V4 at the end of the acquired route and create the route “S → V2 → V5 → V6 → D → V5 → V4:21<SRLG:3,4,9,12,15,16,14,11> " is deleted from PList(V4). The nodes adjacent to the selected node V4 are nodes V1 and V5, but the route "S → V2 → V5 → V6 → D → V5 → V4:21" already includes node V5 in the same route 1 route. Therefore, the route search unit 32 excludes node V5 from the search target and sets node V1 as the search target. The route search unit 32 adds the route "S → V2 → V5 → V6 → D → V5 → V4 → V1:26" to PList(V1).<SRLG:3,4,9,12,15,16,14,11,8> " is recorded. The route search unit 32 acquires the shortest route "S → V3 → V6 → D → V5 → V4:22" from the list of all routes 421. Because this route does not include node V1, which is the terminal node of section 3, the route search unit 32 continues the search.

[0082] <Search process for section 3 - 6th time> As shown in Figure 28, select the node V4 at the end of the acquired route and create the route “S → V3 → V6 → D → V5 → V4:22<SRLG:3,5,10,15,16,14,11> " is deleted from PList(V4). The nodes adjacent to the selected node V4 are nodes V1 and V5, but the route "S → V3 → V6 → D → V5 → V4:22" already includes node V5 in the first route. Therefore, the route search unit 32 excludes node V5 from the search target and sets node V1 as the search target. The route search unit 32 adds the route "S → V3 → V6 → D → V5 → V4 → V1:27" to PList(V1).<SRLG:3,5,10,15,16,14,11,8> " is recorded. The route search unit 32 acquires the shortest route "S → V3 → V6 → D → V5 → V2:23" from the list of all routes 421. Because this route does not include node V1, which is the terminal node of section 3, the route search unit 32 continues the search.

[0083] <Search process for section 3 - 7th time> As shown in Figure 29, select the node V2 at the end of the acquired route and create the route “S → V3 → V6 → D → V5 → V2:23<SRLG:3,5,10,15,16,14,9> " is deleted from PList(V2). The nodes adjacent to the selected node V2 are nodes V1 and S, but node S is an end node included in another section and is therefore excluded from the search targets. In addition, the route search unit 32 adds the route "S → V3 → V6 → D → V5 → V2 → V1:28" to PList(V1).<SRLG:3,5,10,15,16,14,9,1,6> If this route is recorded in PList(V1), the number of routes will be three, which exceeds the number K=2 specified in the search conditions. Therefore, the route search unit 32 deletes one route with a higher cost from the two routes recorded in PList(V1) and the route to be recorded in PList(V1) (symbol α3 in FIG. 29). In this case, the route "S → V3 → V6 → D → V5 → V2 → V1:28" to be recorded in PList(V1) has the highest cost of the three routes, so this route is not recorded.

[0084] The route search unit 32 acquires the shortest route "S → V2 → V5 → V6 → D → V5 → V4 → V1:26" from the list of all routes 421. This route includes node V1, which is the end of section 3. As shown in FIG. 30, the route search unit 32 searches for the route “S→V2→V5→V6→D→V5→V4→V1:26<SRLG:3,4,9,12,15,16,14,11,8> " is deleted from PList(V1) and recorded in the final list 422. Here, the number of routes recorded in the final list 422 is 1, which is less than K=2 (step S609: No in FIG. 4). Therefore, the route search unit 32 returns to step S605 and acquires the shortest route "S → V3 → V6 → D → V5 → V4 → V1:27" from the entire route list 421. This route includes node V1, which is the end of section 3.

[0085] As shown in FIG. 31, the route search unit 32 searches for the route "S → V3 → V6 → D → V5 → V4 → V1:27" from the PList (V1).<SRLG:3,5,10,15,16,14,11,8> " is deleted and recorded in the final list 422. Here, since the number of routes recorded in the final list 422 is K=2 (step S609 in Figure 4: Yes), the route search unit 32 deletes all routes recorded in the route list 421 corresponding to each node (step S609) (note that in Figure 31, there are no routes left to delete), and terminates the search process for section 3 (symbol γ3 in Figure 31). The final list contains the route "S → V2 → V5 → V6 → D → V5 → V4 → V1:26" as the search result for section 3.<SRLG:3,4,9,12,15,16,14,11,8> " and route "S → V3 → V6 → D → V5 → V4 → V1:27<SRLG:3,5,10,15,16,14,11,8> " Two routes are recorded.

[0086] 3, if the search order i satisfies the total number I-1 (step S7: Yes), the route search unit 32 performs a search process for the final search section (step S9). In this case, the search order i=3 and the total number I-1=4-1=3, so the condition of step S7 is satisfied and the route search unit 32 performs a search process for section 4 in step S9.

[0087] <Search process for section 4> Following the search process for section 3, the route search unit 32 performs the search process for section 4 (via node V1 to start node S) in search order 4. 32 to 36 are diagrams illustrating an example of the search process for section 4. FIG.

[0088] The route search unit 32 executes the search process for the final search section in step S9 of FIG. 3 in the same manner as steps S601 to S613 of FIG. 4. However, in step S609, the route search unit terminates the process when the number of routes in the final list reaches L or more. L is the "number of combinations of 0-system routes and 1-system routes to be output," and is specified as an integer between 1 and K in the search conditions, as described above. This allows the route search unit 32 to search for K shortest route candidates in the search process for sections 1 to 3, and to output routes that have been narrowed down to L in the final section, section 4. The route created in this final section, section 4, becomes the route for the entire search section, and combinations of 0-system routes and 1-system routes are created by dividing this route.

[0089] <Search process for section 4 - 1st time> As shown in FIG. 32, the route search unit 32 searches for the route “S→V2→V5→V6→D→V5→V4→V1:26” recorded in the final list 422.<SRLG:3,4,9,12,15,16,14,11,8> " and the route "S → V3 → V6 → D → V5 → V4 → V1:27<SRLG:3,5,10,15,16,14,11,8> " is recorded in PList(V1) and deleted from the final list 422. The route search unit 32 acquires the shortest route "S → V2 → V5 → V6 → D → V5 → V4 → V1:26".

[0090] As shown in FIG. 33, the route search unit 32 selects the node V1 at the end of the acquired route, and searches for the route “S→V2→V5→V6→D→V5→V4→V1:26” from PList(V1).<SRLG:3,4,9,12,15,16,14,11,8> " Delete.

[0091] Here, the nodes adjacent to the selected node V1 are nodes V2 and S. However, if PList(V2) does not contain the path "S → V2 → V5 → V6 → D → V5 → V4 → V1 → V2:31<SRLG:3,4,9,12,15,16,14,11,8,1,6> " is not added (symbol x4 in Figure 33). This is because the overlapping node V2 on the route has attribute information that does not allow node overlap between other systems (here, between the 0-system route and the 1-system route).

[0092] The route search unit 32 adds the route "S → V2 → V5 → V6 → D → V5 → V4 → V1 → S:28" to the PList(S).<SRLG:3,4,9,12,15,16,14,11,8,1,2> " is recorded. Then, the route search unit 32 acquires the shortest route "S → V3 → V6 → D → V5 → V4 → V1:27" from the list of all routes 421.

[0093] <Search process for section 4 - 2nd time> As shown in FIG. 34, the route search unit 32 selects the node V1 at the end of the acquired route, and searches for the route “S→V3→V6→D→V5→V4→V1:27” from PList(V1).<SRLG:3,5,10,15,16,14,11,8> The route search unit 32 searches for the adjacent nodes V2 and S of the selected node V1, and adds the route "S → V3 → V6 → D → V5 → V4 → V1 →:32" to PList(V2).<SRLG:3,5,10,15,16,14,11,8,1,6> ", PList(S) has the path "S → V3 → V6 → D → V5 → V4 → V1 → S:29<SRLG:3,5,10,15,16,14,11,8,1,2> " is recorded. The route search unit 32 acquires the shortest route "S → V2 → V5 → V6 → D → V5 → V4 → V1 → S:28" from the all route list 421. This route includes node S, which is the end of section 4.

[0094] As shown in FIG. 35, the route search unit 32 searches for the route "S → V2 → V5 → V6 → D → V5 → V4 → V1 → S:28" from the PList(S).<SRLG:3,4,9,12,15,16,14,11,8,1,2> " is deleted and recorded in the final list 422. Here, the number of routes recorded in the final list 422 is 1, which does not satisfy L (the number of combinations of 0-path routes and 1-path routes to be output) = 2 (step S609 in FIG. 4: No). Therefore, the route search unit 32 returns to step S605 and acquires the shortest route "S → V3 → V6 → D → V5 → V4 → V1 → S: 29" from all route lists 421. This route includes node S, which is the end of section 4. If L (the number of combinations of 0-system routes and 1-system routes to be output) = 1 is set as the search condition, the search process for section 4 is terminated when one route is deleted from route list 421 and recorded in final list 422.

[0095] As shown in FIG. 36, the route search unit 32 searches for the route “S → V3 → V6 → D → V5 → V4 → V1 → S:29” from the PList(S).<SRLG:3,5,10,15,16,14,11,8,1,2> " is deleted and recorded in the final list 422. Here, since the number of routes recorded in the final list 422 is L=2 (step S609: Yes in Figure 4), the route search unit 32 deletes all routes recorded in the route list 421 corresponding to each node (step S609) and terminates the search process for section 4 (symbol γ4 in Figure 36).

[0096] The final list contains the route "S → V2 → V5 → V6 → D → V5 → V4 → V1 → S:28" as the search result for section 4.<SRLG:3,4,9,12,15,16,14,11,8,1,2> " and route "S → V3 → V6 → D → V5 → V4 → V1 → S:29<SRLG:3,5,10,15,16,14,11,8,1,2> " Two routes are recorded. Then, returning to step S10 in Figure 3, the route search unit 32 obtains the route for the entire search section recorded in the final list 422, divides the route at the end node, which is the turning point, and outputs the 0-system route and the 1-system route via the input / output unit 2.

[0097] Here, if multiple routes are recorded in the final list 422, multiple combinations of 0-path routes and 1-path routes are created. The route search unit 32 acquires the route recorded in the final list, divides the acquired route at the node N (end node D) where the route returns, and outputs a combination of the 0-system route and the 1-system route.

[0098] In the example of Figure 36, if the first route "S → V2 → V5 → V6 → D → V5 → V4 → V1 → S:28" is split at the end node D, the 0-system route and the 1-system route are as follows. Route 0: S → V2 → V5 → V6 → D (cost 13) Route 1: S → V1 → V4 → V5 → D (cost 15)

[0099] For the second route, "S → V3 → V6 → D → V5 → V4 → V1 → S:29", if it is split at the end node D, the 0-series route and 1-series route are as follows. 0-series route: S → V3 → V6 → D (cost 14) Route 1: S → V1 → V4 → V5 → D (cost 15)

[0100] In any combination, there is no overlap in SRLG information between the 0-system route and the 1-system route. Also, in the first route, a node (node ​​V5) for which node overlap is allowed in the node attribute information is overlapped between the 0-system route and the 1-system route. Also, the cost of the first 0-system route is "13", and the cost of the 1-system route is "15". The cost of the second 0-system route is "14", and the cost of the 1-system route is "15". Therefore, there is not a large difference in cost between the 0-system route and the 1-system route. In this way, the route search device 1 of this embodiment can create a plurality of routes that avoid overlapping SRLGs in each route and have balanced costs.

[0101] <Hardware configuration> The route search device 1 according to this embodiment is realized by a computer 900 as shown in FIG. 37, for example. 37 is a hardware configuration diagram showing an example of a computer 900 that realizes the functions of the route search device 1 according to this embodiment. The computer 900 has a CPU (Central Processing Unit) 901, a ROM (Read Only Memory) 902, a RAM 903, an HDD (Hard Disk Drive) 904, an input / output I / F (Interface) 905, a communication I / F 906, and a media I / F 907.

[0102] The CPU 901 operates based on a program (route search program) stored in the ROM 902 or the HDD 904, and performs control by the control unit 3 of the route search device 1 shown in Fig. 2. The ROM 902 stores a boot program executed by the CPU 901 when the computer 900 is started up, programs related to the hardware of the computer 900, and the like.

[0103] The CPU 901 controls an input device 910 such as a mouse or keyboard, and an output device 911 such as a display, via an input / output I / F 905. The CPU 901 acquires data from the input device 910 via the input / output I / F 905, and outputs generated data to the output device 911. Note that a GPU (Graphics Processing Unit) or the like may be used as a processor together with the CPU 901.

[0104] The HDD 904 stores programs executed by the CPU 901 and data used by the programs. The communication I / F 906 receives data from other devices such as the management device 9 (see FIG. 1) via a communication network (for example, NW (Network) 920) and outputs the data to the CPU 901, and also transmits data generated by the CPU 901 to other devices via the communication network.

[0105] The media I / F 907 reads a program or data stored in the recording medium 912 and outputs it to the CPU 901 via the RAM 903. The CPU 901 loads a program related to a target process from the recording medium 912 onto the RAM 903 via the media I / F 907, and executes the loaded program. The recording medium 912 is an optical recording medium such as a DVD (Digital Versatile Disc) or a PD (Phase Change Rewritable Disc), a magneto-optical recording medium such as an MO (Magneto Optical disc), a magnetic recording medium, a conductive memory tape medium, a semiconductor memory, or the like.

[0106] For example, when the computer 900 functions as the route search device 1 according to this embodiment, the CPU 901 of the computer 900 executes a program loaded onto the RAM 903 to realize the functions of the route search device 1. Furthermore, the HDD 904 stores data in the RAM 903. The CPU 901 reads and executes a program relating to a target process from the recording medium 912. Alternatively, the CPU 901 may read a program relating to a target process from another device via a communication network (NW 920). 1 illustrates an example in which the route search device 1 is provided independently of the management device 9, but the route search device 1 can also be configured as one of the functions of the management device 9. In this case, the computer 900 may function as the management device 9.

[0107] <<Variation 1>> FIG. 38 is a diagram illustrating an outline of the processing performed by the route search device 1 according to the first modification. In the above embodiment, an example was described in which two routes were created: a 0-system route (main route) and one 1-system route (redundant route). However, the number of redundant routes is not limited to one, and two or more redundant routes may be created. In this case, the end of the search section can be extended depending on the number of additional routes added to the 0-system route and the 1-system route. 38 shows an example in which a 2-path route is created in addition to a 0-path route and a 1-path route. The section dividing unit 31 sets the search section from the start node S via the end node D, and further via the start node S to the end node D. If a via node is specified for each of the 0-path route, the 1-path route, and the 2-path route, the section dividing unit 31 places each via node between the start node and the end node.

[0108] As in the above-described embodiment, the section dividing unit 31 divides the set search section into end points, which are the start node S, the intermediate nodes, and the end node D. The route searching unit 32 performs the same search process as in the embodiment for each divided section. In the first modification, the end node D overlaps with the start point of the section corresponding to the first route and the end point of the section corresponding to the second route. Therefore, in the first modification, the overlap of the routes is exceptionally allowed for the end node D as well as the start node S.

[0109] 38, arrows indicate an example of a route in the search section created by the search process of the route search unit 32. In Modification 1, a so-called one-stroke route is created as the route in the search section by connecting the 0-system route, the 1-system route, and the 2-system route. The route search unit 32 divides the route in the search section created in this way at the start node S and the end node D, creating three routes: the 0-system route, the 1-system route, and the 2-system route. When creating further routes after the 3-path route, the section dividing unit 31 further extends the end of the search section to the start node S or the end node D depending on the number of further routes.

[0110] <<Variation 2>> FIG. 39 is a diagram illustrating an outline of the processing performed by the route search device 1 according to the second modification. In the above-described embodiment, the SRLG is described as a conduit in which optical fibers or the like are installed. However, the SRLG is not limited to a conduit, and for example, the SRLG may be linked to a region. In this case, for example, a region ID for each region according to the likelihood of a disaster occurring is defined as SRLG information. FIG. 39 shows a route design in which an area ID is assigned as SRLG information. For example, when an edge E of area ID: 1 is passed through in a 0-system route (main route), the route search device 1 designs the 1-system route (redundant route) so that the edge E of area ID: 1 is not passed through. For example, when an area of ​​area ID: 1 set in the 0-system route is an area predicted to be liquefied due to an earthquake, the route 1 route is designed to pass through an area given an area ID (other than area ID: 1) of an area where measures against liquefaction due to an earthquake have been taken. Furthermore, the route search device 1 can specify areas predicted to be flooded during typhoons or heavy rain by area IDs, and select a route for the 1-system route that does not overlap with the area ID of the specified area, and perform route design.

[0111] <<Variation 3>> In the route search device 1 according to this embodiment, the SRLG information recorded in the route information DB 42 (see FIG. 2) is stored for each route candidate in the order of the SRLG information attached to the edge E of the route that has been traveled up to that point. However, in the route search device 1 according to Modification 3, the SRLG information of the route that has been traveled up to that point may be sorted and stored in ascending order of SRLG_ID. In this way, the route search device 1 can perform a search in "O(log n)" using a tree structure, thereby speeding up the speed of checking for overlap with the SRLG_ID (SRLG information) of the target edge. This is particularly effective when performing a route search in a large-scale network.

[0112] <<Variation 4>> In the description of the route search device 1 according to this embodiment, the logical edges and the physical edges are different as shown in Figures 40A and 40B. For example, the logical edge AB corresponds to the physical edges <pipe 1> and <pipe 2>. Here, if there is a one-to-one correspondence between a logical edge and a physical edge, the logical edge is associated with the one-to-one corresponding physical edge (pipe information) and an SRLG_ID is assigned. This allows the route search device 1 according to the fourth modification to realize edge-disjoint route generation between the systems.

[0113] <Effects> The effects of the route search device 1 and the like according to the present invention will be described below. The route search device of the present invention is a route search device 1 that searches for routes from a start node to an end node in a network including a plurality of nodes N connected by edges E, the route search device 1 searching for a 0-system route which is a main route and a 1-system route which is a redundant route, and is equipped with a memory unit 4 that stores costs and SRLG information set for each edge E, a section division unit 31 that sets a search section from the start node via the end node to the start node again and divides the set search section into a plurality of sections, and a route search unit 32 that creates a route for the entire search section by sequentially searching for routes for each section based on the cost set for each edge E, and creates a 0-system route and a 1-system route by dividing the route for the entire search section at the end node, and is characterized in that when the route search unit 32 sequentially searches for routes for each section, it records the searched route and SRLG information of the edges indicated by the route, and when searching for a route for the next section, it searches for a route that does not overlap with the route of the previous section, and searches for a route for each section from the end node to the start node so that it does not overlap with the SRLG information of the route searched for in each section from the start node to the end node.

[0114] In this way, the route search device 1 can search for a plurality of routes that avoid overlapping SRLGs while suppressing the cost of each route. Specifically, the route search device 1 sets a search section from the start node S via the end node D to the start node S again, performs a search process, and finally divides the route of the created search section at the end node D, thereby creating a 0-system route and a 1-system route. Furthermore, the route search unit 32 performs a search process for each section obtained by dividing the search section, while recording the searched route and the SRLG information of the route, based on the cost set for each edge E. This enables the route search device 1 to reduce the cost of each route and search for routes that avoid overlapping SRLGs in the 0-system route and the 1-system route.

[0115] In addition, in the route search device 1, when different via nodes are specified for the 0-system route and the 1-system route, the section division unit 31, in setting the search section, places the via nodes of the 0-system route in the section from the start node to the end node, and places the via nodes of the 1-system route in the section from the end node to the start node, the section division unit 31 divides the search section into multiple sections with the start node, the end node, and the via nodes as endpoints, and the route search unit 32 searches for routes while recognizing overlapping SRLG information in the multiple sections of each of the 0-system route and the 1-system route, and searches for routes where SRLG information does not overlap between the 0-system route and the 1-system route.

[0116] In this way, even if a passing node is specified for the 0-system route and the 1-system route, the route search device 1 can search for a route in which SRLG information does not overlap between the 0-system route and the 1-system route.

[0117] In addition, in the route search device 1, when searching for a 2-system route or more, which is a further redundant route in addition to the 0-system route and the 1-system route, as a route from the start node to the end node, the section division unit 31 extends the end of the search section according to the number of further routes, and when searching for a 2-system route or more, the route search unit searches for a route so that it does not overlap with the SRLG information recorded in a route searched in a system prior to its own system.

[0118] In this way, the route search device 1 can search for many redundant routes that do not have overlapping SRLGs within a searchable range.

[0119] In addition, in the route search device 1, when searching for a route in each system, for a node selected as a route in one system, whether or not the node can be selected in a route in another system is stored in the memory unit 4 as attribute information of each node N, and when the route search unit 32 sequentially searches for a route for each section, if the node does not overlap with the SRLG information recorded in the route searched in the other system and if overlapping of the node with a route in the other system is possible based on the attribute information of the node, it searches for a route that includes the node.

[0120] By doing this, the route search device 1 can store nodes that can overlap between systems as attributes for each node, allowing it to flexibly design routes that do not overlap SRLGs depending on the situation of each node. For example, by allowing overlapping nodes between systems for nodes with high processing performance or nodes installed in buildings with high earthquake resistance, it is possible to increase the likelihood of designing appropriate routes while avoiding risks.

[0121] Furthermore, in the route search device 1, the route search unit 32 sequentially searches for routes in each section, and when adding SRLG information of an edge indicated by a newly searched route, it sorts and records the SRLG information, including the SRLG information of routes searched up to that point, in ascending order.

[0122] By doing this, the route search device 1 can perform searches using a tree structure in "O(logz)" (where z is the number of SRLG groups), thereby speeding up the overlap check with the SRLG information held by the target edge.

[0123] Furthermore, in the route search device 1, the SRLG information is characterized by being an identifier of a conduit, which is a physical communication path connecting nodes, or an identifier of an area where an edge between nodes is installed.

[0124] In this way, the route search device 1 can set SRLG information for each pipeline or each area, which makes it possible to perform a route search by reflecting the actual situation in which nodes and edges are installed as SRLG information.

[0125] The present invention is not limited to the above-described embodiments, and many modifications can be made by a person having ordinary skill in the art within the technical concept of the present invention. [Explanation of symbols]

[0126] 1. Route search device 2 Input / output section 3. Control Unit 4 Storage section 31 Section division section 32 Route search section 41 Network Information DB 42 Route Information DB 421 Route List 422 Final List 9 Management device N-node S starting node D End node V1~V6 nodes E-edge NW Optical path network

Claims

1. A route search device for searching for a route from a start node to an end node in a network including a plurality of nodes connected by edges, the route search device searching for a 0-system route which is a main route and a 1-system route which is a redundant route, a storage unit for storing cost and SRLG (Shard Risk Ling Group) information set for each edge; a section dividing unit that sets a search section from the start node via the end node to the start node again, and divides the set search section into a plurality of sections; a route search unit that creates a route for the entire search section by sequentially searching for a route for each section based on a cost set for each edge, and that creates the 0-system route and the 1-system route by dividing the route for the entire search section at the end node; When the route search unit sequentially searches for a route in each section, it records the searched route and the SRLG information of the edge indicated by the route, and when searching for a route in the next section, it searches for a route that does not overlap with the route in the previous section, and searches for a route in each section from the end node to the start node so that it does not overlap with the SRLG information of the route searched in each section from the start node to the end node. A route search device characterized by the above.

2. when different passed-through nodes are specified for the 0-system route and the 1-system route, in setting the search section, the section dividing unit arranges the passed-through nodes of the 0-system route in a section heading from the start node to the end node, and arranges the passed-through nodes of the 1-system route in a section heading from the end node to the start node; the section dividing unit divides the search section into the plurality of sections each having the start node, the end node, and the via node as end points; The route search unit searches for a route while acknowledging overlap of the SRLG information in a plurality of sections of each of the 0-system route and the 1-system route, and searches for a route in which the SRLG information does not overlap between the 0-system route and the 1-system route.

2. The route search device according to claim 1, wherein:

3. when searching for a second path or more that is a redundant path in addition to the first path and the first path as a path from the start node to the end node, the section dividing unit extends an end of the search section according to the number of additional paths, The route search unit searches for a route in which SRLG information recorded in a route searched for in a system prior to its own system does not overlap with the route in which SRLG information recorded in a route searched for in two or more systems is searched for.

3. The route search device according to claim 2, wherein:

4. When searching for a route in each system, whether or not a node selected as a route in one system can be selected in a route in another system is stored in the storage unit as attribute information of each node, When the route search unit sequentially searches for a route for each section, if there is no overlap with SRLG information recorded in a route searched for by another system and if there is a possibility of overlap of a node with a route of another system based on attribute information of the node, the route search unit searches for a route including the node.

4. The route search device according to claim 1, wherein:

5. The route search unit sequentially searches for routes in each section, and when adding the SRLG information of an edge indicated by a newly searched route, sorts and records the SRLG information of routes searched up to that point in ascending order.

2. The route search device according to claim 1, wherein:

6. The SRLG information is an identifier of a conduit, which is a physical communication path connecting the nodes, or an identifier of a region where an edge between the nodes is installed.

2. The route search device according to claim 1, wherein:

7. A route search method for a route search device that searches for a route from a start node to an end node in a network including a plurality of nodes connected by edges, the route search method including a 0-system route that is a main route and a 1-system route that is a redundant route, the method comprising: The route search device a storage unit for storing cost and SRLG information set for each edge; a section division process for setting a search section from the start node via the end node to the start node again, and dividing the set search section into a plurality of sections; a route search process for sequentially searching for a route in each section based on a cost set for each edge to create a route for the entire search section, and for dividing the route for the entire search section at the end node to create the 0-system route and the 1-system route; In the route search process, when a route for each section is searched for in sequence, the searched route and the SRLG information of the edge indicated by the route are recorded, and when a route for the next section is searched for, a route that does not overlap with the route for the previous section is searched for, and a route for each section from the end node to the start node is searched for so as not to overlap with the SRLG information of the route searched for in each section from the start node to the end node. A route search method characterized by the above.

8. A route search program for causing a computer to function as the route search device according to claim 1.

Citation Information

Patent Citations

  • Path control method and apparatus, path control program, and storage medium stored with path control program

    JP2004080211A

  • Network system, path calculation method, and path calculation program

    WO2009051215A1

  • Optical network control device and optical path setting method

    WO2018066582A1