Route search device, route search method, and route search program
The path search device addresses the issue of overlapping nodes and edges in redundant routes by dividing the search section and creating non-overlapping paths, ensuring efficient and reliable optical transmission.
Patent Information
- Application Number
- JP2024528129
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-06-21
- Publication Date
- 2025-07-08
- Estimated Expiration
- 2042-06-21
AI Technical Summary
Existing optical transmission network path search methods fail to effectively suppress the cost of each path while avoiding overlap of nodes and edges in redundant routes, with existing methods either ignoring edge overlap or leading to similar paths.
A path search device that divides the search section into multiple sections and searches for paths that do not overlap by recording previous paths and avoiding duplication, using a section division unit and path search unit to create redundant routes with minimal cost.
The solution enables the search for multiple paths that suppress cost and avoid duplication, enhancing network reliability by allowing seamless switching to backup routes in case of failures.
Smart Images

Figure 0007704305000001 
Figure 0007704305000002 
Figure 0007704305000003
Abstract
Description
Technical Field
[0001] The present invention relates to a route search device, a route search method, and a route search program.
Background Art
[0002] An optical transmission network realizes communication by optical signals and is a backbone network such as an IP (Internet Protocol) communication network. The optical transmission network is composed of a plurality of nodes and edges (also referred to as links) connecting the plurality of nodes.
[0003] In an optical transmission network, since the cost required for transmission varies for each edge, a route design considering the cost is required. As a method for designing a route, for example, there is a method of obtaining a route with the lowest cost (hereinafter, also referred to as the "shortest route") from a start node to an end node, such as Dijkstra's algorithm (see, for example, Non-Patent Document 1).
[0004] Here, in an optical transmission network, in order to ensure reliability, it may be required to design a plurality of redundant routes. As a method for designing a plurality of routes, a method for efficiently searching a plurality of routes from a start node to an end node has been proposed (see, for example, Non-Patent Document 2). In this method, in the route search process by Dijkstra's algorithm, by storing a plurality of routes for each node passing from the start node to the end node, it is possible to output a plurality of routes when the end node is reached. In addition, a method for searching an optimal route to a destination while passing through a specific node has been proposed (see, for example, Non-Patent Document 3). This method presents (a) a route length specified by the user, (b) avoiding passing through the same point (node), (c) a route passing through many POIs (Points of Interest), and (d) a plurality of such routes.
Prior Art Documents
Non-Patent Documents
[0005] [Non-Patent Document 1] "Dijkstra's Algorithm", [online], [searched on June 8, 2022], Internet <URL:https: / / nw.tsuda.ac.jp / lec / dijkstra / > [Non-Patent Document 2] Hiroshi Matsuura, "Multipath Routing Algorithm Applied to Cloud Data Center Services," IEICE TRANS. COMMUN., VOL.E95-B, NO.8 AUGUST 2012. [Non-Patent Document 3] Tensei Nishimura, et al., "Multiple Tour Route Search Method with Route Length Specification Considering POI," Multimedia, Distributed, Cooperative and Mobile (DICOMO2018) Symposium, 2018.7. [Summary of the Invention] [Problems to be Solved by the Invention]
[0006] However, in an optical transmission network, redundancy is required to perform transmission using a backup path when a failure occurs in the main path. Therefore, in the design of redundant paths, it is required to suppress the cost of each path and prevent the nodes and edges of each path from overlapping. In the case of the method of Non-Patent Document 2, the plurality of output paths are likely to be similar to each other, and there is a possibility of overlap of nodes and edges. In the case of the method of Non-Patent Document 3, overlap of nodes in the plurality of paths is considered, but overlap of edges is not considered.
[0007] In a path search device, it is required to search for a plurality of paths while suppressing the cost of each path and avoiding overlap. [Means for Solving the Problems]
[0008] The path search device according to the present invention is In a network including a plurality of nodes connected by edges, a path from a start node to an end node, which searches for a first path and a second path that do not overlap with each other, a section division unit that sets a search section from the start node to the start node again via the end node, and divides the search section into a plurality of sections including the start node and the end node as endpoints; a path search unit that creates a path for the entire search section by sequentially searching for paths for each section based on the cost set for each edge, and creates the first path and the second path by dividing the path for the entire search section at the end node, The path search unit is characterized in that it records the paths searched in each section, and when searching for the path of the next section, searches for a path that does not overlap with the path of the previous section, and adds and records the searched path to the path of the previous section.
Advantages of the Invention
[0009] According to the present invention, it is possible to search for a plurality of paths while suppressing the cost of each path and avoiding duplication.
Brief Description of the Drawings
[0010]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Figure 24
Figure 25
Figure 26
Figure 27
Figure 28
Figure 29
Figure 30
Figure 31
Figure 32
Figure 33
Figure 34
Figure 35
Figure 36
Figure 37
Figure 38
Figure 39
Figure 40
Figure 41
Figure 42
Figure 43
Embodiments for Carrying Out the Invention
[0011] Next, embodiments for carrying out the present invention (hereinafter referred to as "this embodiment") will be described with reference to the drawings. FIG. 1 is an explanatory diagram showing a configuration example of an optical transmission network to which the route search device 1 according to this embodiment is applied. As shown in FIG. 1, an optical transmission network (NW) is composed of a plurality of nodes N and edges E connecting between the nodes N. The node N is configured as a transmission device such as an optical cross connect (OXC) device, for example. In FIG. 1, a mesh-type optical transmission network is shown in which each node N is mutually connected to adjacent nodes N. Note that each node N can be connected to other nodes and terminals (not shown), and can output and input optical signals from / to other nodes and terminals.
[0012] A management device 9 for managing the optical transmission network is provided in the optical transmission network. The route search device 1 acquires information on the optical transmission network from the management device 9, and searches for and designs a transmission route in the optical transmission network. The management device 9 manages the transmission of optical signals performed in the optical transmission network based on the route designed by the route search device 1. The transmission route is the transmission route of the optical signal from the start node to the end node, and indicates the edge E and the node N through which the optical signal passes between the start node and the end node. Hereinafter, the "transmission route" is also simply referred to as the "route".
[0013] In a mesh-type optical transmission network, even between the same start node and end node, a plurality of different routes can be designed by varying the nodes N and edges E through which the signal passes. By designing the route in such a redundant manner by the route search device 1, even if a failure occurs while the optical signal is being transmitted through one of the routes, the transmission of the optical signal can be continued by switching to another route. Here, a cost for transmitting an optical signal through each edge E is set for each edge E. The cost is determined according to, for example, the distance between the nodes N to which the edge E is connected. When the route is made redundant, it is not desirable that the cost of one route is extremely high as a result of keeping the cost of one route low. The route search device 1 performs route design that avoids duplication of the nodes N and edges E of the redundant route and suppresses the cost of each route.
[0014] 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 composed of an input / output I / F (Interface) and a communication I / F, etc. The input / output unit 2 performs input / output of data with the management device 9. The input / output unit 2 also receives the specification of search conditions input from the operator of the route search device 1. The search conditions can include, for example, a start node, an end node, a via node, the number K of routes to be searched in the search process (K is an integer of 1 or more), the number L of combinations of the first route and the second route to be output (L is an integer of 1 or more and K or less), etc. As search conditions, it is also possible to specify whether duplication of the node N and the edge E is allowed.
[0015] The control unit 3 includes a section division unit 31 and a route search unit 32 as processing units that execute the route search method according to the present embodiment. The section division unit 31 sets a search section according to the search conditions specified by the operator of the route search device 1, and divides the search section into a plurality of sections having the start node N and the end node N as endpoints. The route search unit 32 creates a route for the entire search section by sequentially searching for the routes of each section based on the cost set for each edge E. The route search unit 32 records the routes searched in each section, and when searching for the route of the next section, searches for a route that does not overlap with the route of the previous section, and adds and records the searched route to the route of the previous section. The route search unit 32 finally divides the created route of the search section at the end node N to create the first route and the second route, which are redundant routes. In other words, the route search device 1 according to the present embodiment creates a so-called one-stroke route connecting the first route and the second route, and finally performs a process of dividing the one-stroke route. Details of the processing of the section division unit 31 and the route search unit 32 will be described later together with a flowchart and a specific example.
[0016] The memory unit 4 is composed of a ROM (Read Only Memory), a RAM, an HDD (Hard Disk Drive), etc., stores information necessary for the processing of the section division unit 31 and the route search unit 32, and temporarily stores the processing results of each unit. As an example, the memory unit 4 includes a network information DB (Data Base) 41 and a route information DB 42. The network information DB 41 stores information on the optical transmission network input from the management device 9. The network information DB 41 stores, for example, information on the network topology representing the connection relationship between the node N and the edge E, and attribute information of the node N and the edge E. The attribute information includes, for example, information such as the distance of the edge E connecting between nodes and the cost set for each edge E. The route information DB 42 stores a route list 421 and a final list 422. Routes created by the search process of the route search unit 32 are recorded in the route list 421 and the final list 422. The route list 421 is provided corresponding to each node N constituting the optical transmission network. Details of the route list 421 and the final list 422 will be described later together with the details of the processing of the route search unit 32.
[0017] Hereinafter, the processing flow of the route search device 1 will be described while showing a specific example. FIG. 3 is a flowchart showing the processing flow of the route search device 1. FIG. 4 is a flowchart showing the processing flow of the section search. FIG. 5 is a diagram showing an example of an optical transmission network for performing a search process. In FIG. 5, in order to distinguish a plurality of nodes N, individual codes (S, V1 to V6, D) are attached to each of them. Also, the numbers attached to the edges E connecting between the nodes indicate the costs set for the edges E.
[0018] As shown in FIG. 3, when search conditions are input from an operator via the input / output unit 2 (FIG. 2) (step S01: Yes), the section division unit 31 (FIG. 2) sets a search section of the route according to the search conditions (step S02). The section division unit 31 refers to the information regarding the network topology of the optical transmission network stored in the network information DB 41 (Fig. 2) and sets a search section. The search section is a section that starts from the start node, passes through the end node, and returns to the start node again. Here, when a transit node is specified in the search conditions, the section division unit 31 sets a search section in which the transit node is arranged between the start node and the end node. The section division unit 31 arranges the transit node specified in the first path in the section from the start node to the end node. The section division unit 31 arranges the transit node specified in the second path in the section from the end node to the start node.
[0019] In the example of Fig. 5, the case where the search conditions are set as follows is described. · Start node: Node S · End node: Node D · Transit node of the first path: Node V6 · Transit node of the second path: Node V1 · Number of paths K to be searched in each section: 2 · Number of combinations L of the first path and the second path to be output: 2 The section division 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.
[0020] The section division unit 31 divides the set search section and determines the search order for each section (step S03). The section division unit 31 divides the search section with the start node, the end node, and the transit nodes as endpoints. In the example of Fig. 5, the search section is divided into the following four sections with the start node S, the end node D, and the transit nodes V6 and V1 as endpoints. · Section 1: Start node S → transit node V6 (search order 1) · Section 2: Transit node V6 → end node D (search order 2) · Section 3: End node D → transit node V1 (search order 3) · Section 4: Transit node V1 → start node S (search order 4) Interval 1 and Interval 2 are intervals corresponding to the first path, and Interval 3 and Interval 4 are intervals corresponding to the second path.
[0021] The interval division unit 31 causes the storage unit 4 to store the number I of divided intervals (step S04). The path search unit 32 sets the search order i = 1 (step S05), and starts the search process from the interval of search order 1 (step S06). In the example of FIG. 5, the interval division unit 31 causes the storage unit 4 to store the number of intervals I = 4, and starts the search process from Interval 1 of search order 1.
[0022] <Search process for Interval 1> FIGS. 6 to 14 are diagrams for explaining an example of the search process for Interval 1. The path search unit 32 performs a search process with reference to the information on the network topology stored in the network information DB 41 and the costs set for each edge E. The path search unit 32 also performs a search process while recording the path in the path list 421 and the final list 422 of the path information DB 42. In the following description, the path list 421 provided corresponding to each node is represented in the form of "PList(node name)". For example, the path list corresponding to the node V1 is represented as PList(V1).
[0023] <First search process for Interval 1> As shown in FIG. 4, the path search unit 32 selects the node N that is the start end of the interval i (step S601). In the example of FIG. 6, the path search unit 32 selects the start node S that is the start end of Interval 1 (start node S → via node V6). The path search unit 32 checks whether a path is recorded in the final list 422 of the path information DB 42 (step S602). In the first search process for Interval 1, since no path is stored in the final list 422 (step S602: No), the path search unit 32 proceeds to step S603.
[0024] The route search unit 32 sets the nodes adjacent to the selected node as the nodes to be searched (step S603). Here, in order to avoid duplication of nodes N and edges E, the route search unit 32 excludes from the search targets the nodes designated as transit nodes in other sections, as well as the start node and the end node.
[0025] In the example of FIG. 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 transit 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.
[0026] The route search unit 32 records the route from the selected node to the node to be searched, together with the cost of the edge E passed through, in the route list 421 corresponding to the node to be searched (step S604). The route search unit 32 records the route in the form of, for example, "route: cost". In the example of FIG. 6, "S→V2: 2" is recorded in PList(V2), and "S→V3: 4" is recorded in PList(V3).
[0027] 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, so-called the 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 node V6, which is the end of section 1 (step S606: No), the route search unit 32 proceeds to step S607.
[0028] <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 V2 at the end of the route "S→V2:2" and deletes the route "S→V2:2" 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). As shown in FIG. 7, the nodes adjacent to the selected node V2 are nodes V1, V3, and V5. Here, since node V1 is an intermediate 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).
[0029] Note that the routes recorded in the route list 421 are not allowed to pass through the same node more than twice. Therefore, in the second and subsequent search processes, the route search unit 32 excludes the nodes already described in the obtained routes from the search targets. However, the start node S overlaps as the start of section 1 and the end of section 4. Therefore, during the search process for section 4, it is exceptionally allowed for the start node S to overlap in the route.
[0030] The route search unit 32 records the routes from the selected node V2 to the search target nodes V3 and V5 in the respective PList(V3) and PList(V5) of the search targets (step S604). The route search unit 32 records "S→V2→V3:4" in PList(V3) and "S→V2→V5:6" is recorded in PList(V5). In this way, the route search unit 32 can perform route search with reduced cost by setting the node at the end of the obtained shortest route as the selected node for the next search process and expanding the search range further from the selected node to adjacent nodes. Furthermore, by proceeding with the search while sequentially recording the searched and created routes in the route list 421 of the corresponding nodes, it is possible to perform route search that avoids duplication of nodes N and edges E.
[0031] The route search unit 32 refers to all the route lists 421, obtains the shortest route "S→V3:4" (step S605), and determines whether the obtained route includes the node V6 which is the end of section 1 (step S606). In the PList(V3) where the route "S→V3:4" is recorded, there is also a route "S→V2→V3:4" with the same cost recorded. Thus, when referring to all the route lists 421, if there are routes with the same cost, the route search unit 32 can set priority conditions and select one of the routes.
[0032] As shown in FIG. 7, when there are multiple routes with the same cost recorded in the same route list 421, i.e., PList(V3), the priority condition can be, for example, the route "registered in the route list 421 first" using the First in First out rule. Also, when there are routes with the same cost recorded in the route lists 421 corresponding to different nodes, the priority condition can be, for example, "the route of the node with the smaller number among the recorded route lists 421". As an example, when there are routes with the same cost recorded in PList(V2) and PList(V3), the route search unit 32 can select the route in PList(V2).
[0033] The priority condition can also be, among others, "the route whose end node is closer to the start node", "the route with fewer hops (the number of nodes passed through)", etc. Note that the detailed description of the process of selecting one of the routes with the same cost will be omitted hereinafter. In the example of FIG. 7, since the obtained route "S→V3:4" does not include the node V6 which is the end of section 1, the route search unit 32 further proceeds with the search. Note that since the search process from the third time onwards is the same as the second time, in the following description, the steps that have been described in the flowchart of FIG. 4 will be omitted from mention.
[0034] <Search process for section 1 - third time> As shown in FIG. 8, the route search unit 32 selects the node V3 at the end of the acquired route, and deletes the route "S→V3:4" from PList(V3). The route search unit 32 sets the nodes V2 and V6 adjacent to the selected node V3 as search targets, records the route "S→V3→V2:6" in PList(V2), and records the route "S→V3→V6:9" in PList(V6). The route search unit 32 obtains the shortest route "S→V2→V3:4" from all the route lists 421. Since the end node V6 of section 1 is not included in this route, the route search unit 32 continues the search.
[0035] <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 deletes the route "S→V2→V3:4" from PList(V3). The nodes adjacent to the selected node V3 are nodes V2 and V6, but node V2 is already included in the route "S→V2→V3:4". Therefore, the route search unit 32 excludes node V2 and sets node V6 as the search target. The route search unit 32 records the route "S→V2→V3→V6:9" in PList(V6). The route search unit 32 obtains the shortest route "S→V3→V2:6" from all the route lists 421. Since this route does not include node V6, the route search unit 32 continues the search.
[0036] <Search process for section 1 - 5th time> As shown in FIG. 10, the route search unit 32 selects the node V2 at the end 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. However, node V1 is an intermediate node included in other sections 3 and 4, and node V3 is included in the route "S→V3→V2:6". Therefore, nodes V1 and V3 are excluded. The route search unit 32 sets node V5 as the search target and records "S→V3→V2→V5:10" in PList(V5). The path search unit 32 obtains the shortest path "S→V2→V5:6" from all the path lists 421. Since this path does not include the node V6, the path search unit 32 further proceeds with the search.
[0037] <Search process for section 1 - 6th time> As shown in FIG. 11, the path search unit 32 selects the node V5 at the end of the path "S→V2→V5:6" and deletes the path "S→V2→V5:6" from PList(V5). The path search unit 32 targets the nodes V4 and V6 adjacent to the selected node V5 for search. The path search unit 32 records the path "S→V2→V5→V4:9" in PList(V4) and records the path "S→V2→V5→V6:8" in PList(V6). Here, since the number of paths recorded in PList(V6) is 3, it exceeds the specified number K = 2. Therefore, the path search unit 32 deletes one path with a high cost from the paths recorded in PList(V6).
[0038] As shown in FIG. 11, the path search unit 32 deletes the path "S→V2→V3→V6:9". Here, the path "S→V3→V6:9" stored in PList(V6) also has a cost of 9. In this way, when there are paths with the same cost, the paths to be left in the path list 421 can be selected using priority conditions such as "the path with fewer hops" and "the path recorded in the path list 421 earlier".
[0039] The path search unit 32 obtains the shortest path "S→V2→V5→V6:8" from all the path lists 421. This path includes the node V6 which is the end of section 1 (FIG. 4, step S606: Yes). In this case, the path search unit 32 proceeds to step S608, deletes the obtained path from the corresponding path list 421, and records it in the final list 422 (step S608). If the number of paths recorded in the final list 422 is less than K (step S609: No), the path search unit 32 returns to step S605. In the example of FIG. 12, the route search unit 32 deletes "S→V2→V5→V6:8" from PList(V6) and records it 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 obtains the shortest route "S→V2→V5→V4:9" from all the route lists 421. Since this route does not include the node V6, the route search unit 32 further proceeds with the search.
[0040] <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 obtained route and deletes the route "S→V2→V5→V4:9" from PList(V4). The nodes adjacent to the selected node V4 are the nodes D, V1, and V5. The nodes D and V1 are the end nodes and passing nodes included in other sections. The node V5 is included in the route "S→V2→V5→V4:9". Therefore, all the nodes are excluded from the search targets. In this case, the search for adjacent nodes and the recording of routes are not performed.
[0041] The route search unit 32 obtains the shortest route "S→V3→V6:9" from all the route lists 421. This route includes the node V6 which is the end of section 1. As shown in FIG. 14, the route search unit 32 deletes "S→V3→V6:9" from PList(V6) and records it in the final list 422.
[0042] 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 the routes recorded in the route lists 421 corresponding to each node and ends the search process for that section (step S610). In the example of FIG. 14, since the number of routes recorded in the final list 422 becomes K = 2, the route search unit 32 deletes the route "S→V3→V2→V5:10" in PList(V5) and ends the search process for section 1. In the final list 422, as a result of the search process for section 1, two routes, namely the route "S→V2→V5→V6:8" and the route "S→V3→V6:9", are recorded.
[0043] Returning to FIG. 3, when the search order i is less than the total number I (step S07: No), the route search unit 32 increments the search order i (step S08), returns to step S06, and performs the search process for the next section.
[0044] <Search process for section 2> Following the search process for section 1, the route search unit 32 performs the search process for section 2 (via node V6 → end node D) with the search order 2. FIGS. 15 to 21 are diagrams for explaining an example of the search process for section 2.
[0045] <First time of search process for section 2> As shown in FIG. 4, the route search unit 32 selects the 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 DB42 (step S602). Since the routes created in the search process for section 1 are recorded in the final list 422 during the search process for section 2 (step S602: Yes), 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 end node of the route, and deletes it from the final list 422 (step S611). In the example of FIG. 15, the route search unit 32 records the routes "S → V2 → V5 → V6: 8" and "S → V3 → V6: 9" in the final list 422 in PList (V6).
[0046] Here, the end node of the route recorded in the final list corresponds to the start node of the next section. That is, the route search unit 32 transfers the route created in the search process for the previous section to the route list 421 of the start node of the next section. Thereby, the route search unit 32 avoids duplication with the route of the previous section and searches for the route of the next section, and records the route searched in the next section in a form added to the route of the previous section.
[0047] The route search unit 32 obtains the shortest route from all the route lists 421 (step S612), selects the node at the end of the obtained route, and deletes the obtained route from the route list 421 (step S613). In the example of FIG. 15, the route search unit 32 obtains the shortest route "S→V2→V5→V6:8". As shown in FIG. 16, the route search unit 32 selects the node V6, which is the node at the end of the obtained route, and deletes the route "S→V2→V5→V6:8" from PList(V6) (step S613). Thereafter, since the route search unit 32 performs search processing similar to the search processing in section 1 (steps S603 to S610 in FIG. 4), references to the flowchart in FIG. 4 are omitted in the following description to simplify the explanation.
[0048] The route search unit 32 targets the nodes D and V3 adjacent to the selected node V6 for search. The route search unit 32 records the routes "S→V2→V5→V6→D:13" and "S→V2→V5→V6→V3:13" in PList(D) and PList(V3), respectively. The route search unit 32 obtains the shortest route "S→V3→V6:9" from all the route lists 421. Since this route does not include the node D, which is the end node of section 2, the route search unit 32 further proceeds with the search.
[0049] <Search processing for section 2 - second time> As shown in FIG. 17, the route search unit 32 selects the node V6, which is the end node of the obtained route, and deletes the route "S→V3→V6:9" from PList(V6). The route search unit 32 targets the adjacent nodes D and V5 of the node V6 for search, records the route "S→V3→V6→D:14" in PList(D), and records the route "S→V3→V6→V5:11" in PList(V5). The route search unit 32 obtains the shortest route "S→V3→V6→V5:11" from all the route lists 421.
[0050] <Search processing for section 2 - third time> As shown in FIG. 18, the route search unit 32 selects the node V5 at the end of the acquired route and deletes the route "S→V3→V6→V5:11" from PList(V5). The route search unit 32 targets the adjacent nodes D, V2, and V4 of the selected node V5 for search, and records the route "S→V3→V6→V5→D:16" in PList(D), the route "S→V3→V6→V5→V2:15" in PList(V2), and the route "S→V3→V6→V5→V4:14" in PList(V4).
[0051] Since the number of routes recorded in PList(D) exceeds K = 2, the route search unit 32 deletes the route "S→V3→V6→V5→D:16" from PList(D). The route search unit 32 obtains the shortest route "S→V2→V5→V6→D:13" from all the route lists 421. This route includes the node D which is the end of section 2. As shown in FIG. 19, the route search unit 32 records the route "S→V2→V5→V6→D:13" in the final list 422 and deletes it from PList(D). The route search unit 32 obtains the shortest route "S→V2→V5→V6→V3:13" from all the route lists 421.
[0052] <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 deletes the route "S→V2→V5→V6→V3:13" from PList(V3). The adjacent nodes V2 and V6 of the selected node V3 are both included in the route "S→V2→V5→V6→V3:13". Therefore, the route search unit 32 does not perform the search for these nodes and the recording of routes. The route search unit 32 obtains the shortest route "S→V3→V6→D:14" from all the route lists 421. This route includes the node D which is the end of section 1. As shown in FIG. 21, the route search unit 32 records the route "S→V3→V6→D:14" in the final list 422 and deletes it from PList(D). Since the number of paths recorded in the final list 422 became K = 2 or more, the path search unit 32 deletes all the paths recorded in the path list 421 of each node and ends the search process for section 2. In the final list 422, as a result of the search process for section 2, two paths, the path "S→V2→V5→V6→D: 13" and the path "S→V3→V6→D: 14", are recorded.
[0053] <Search process for section 3> Figures 22 to 30 are diagrams for explaining an example of the search process for section 3. The path search unit 32 performs the processes of steps S07 to S08 in FIG. 3 and shifts to the search process for section 3 (end node D → via node V1) of search order 3.
[0054] <First time of the search process for section 3> As shown in FIG. 22, the path search unit 32 records the paths "S→V2→V5→V6→D: 13" and "S→V3→V6→D: 14" recorded in the final list 422 in PList(D) and deletes them from the final list 422. The path search unit 32 obtains the shortest path "S→V2→V5→V6→D: 13". As shown in FIG. 23, the path search unit 32 selects the end node D of the obtained path and deletes the path from PList(D). The path search unit 32 sets the adjacent node V4 of the selected node D as the search target and records the path "S→V2→V5→V6→D→V4: 15" in PList(V4). The path search unit 32 refers to all the path lists 421 and obtains the shortest path "S→V3→V6→D: 14".
[0055] <Second time of the search process for section 3> As shown in FIG. 24, the path search unit 32 selects the end node D of the obtained path and deletes the path from PList(D). The path search unit 32 sets the adjacent nodes V4 and V5 of the selected node D as the search targets, records the path "S→V3→V6→D→V4: 16" in PList(V4), and records the path "S→V3→V6→D→V5: 19" in PList(V5). The route search unit 32 obtains the shortest route "S→V2→V5→V6→D→V4:15" from all the route lists 421.
[0056] <Search process for section 3 - 3rd time> As shown in FIG. 25, the route search unit 32 selects the node V4 at the end of the obtained route and deletes the route from PList(V4). The route search unit 32 targets the adjacent node V1 of the selected node V4 and records the route "S→V2→V5→V6→D→V4→V1:20" in PList(V1). The route search unit 32 obtains the shortest route "S→V3→V6→D→V4:16" from all the route lists 421.
[0057] <Search process for section 3 - 4th time> As shown in FIG. 26, the route search unit 32 selects the node V4 at the end of the obtained route and deletes the route from PList(V4). The route search unit 32 targets the adjacent nodes V1 and V5 of the selected node V4, records the route "S→V3→V6→D→V4→V1:21" in PList(V1), and records the route "S→V3→V6→D→V4→V5:19" in PList(V5). The route search unit 32 obtains the shortest route "S→V3→V6→D→V5:19" from all the route lists 421.
[0058] <Search process for section 3 - 5th time> As shown in FIG. 27, the route search unit 32 selects the node V5 at the end of the obtained route and deletes the route from PList(V5). The route search unit 32 targets the adjacent nodes V2 and V4 of the selected node V5, records the route "S→V3→V6→D→V5→V2:23" in PList(V2), and records the route "S→V3→V6→D→V5→V4:22" in PList(V4). The route search unit 32 obtains the shortest route "S→V3→V6→D→V4→V5:19" from all the route lists 421.
[0059] <Search process for section 3 - 6th time> As shown in FIG. 28, the route search unit 32 selects the node V5 at the end of the acquired route, and deletes the route "S→V3→V6→D→V4→V5:19" from PList(V5). The route search unit 32 sets the adjacent node V2 of the selected node V5 as the search target, and records the route "S→V3→V6→D→V5→V2:23" in PList(V2). The route search unit 32 obtains the shortest route "S→V2→V5→V6→D→V4→V1:20" from all the route lists 421. This route includes the node V1 which is the end of section 3.
[0060] As shown in FIG. 29, the route search unit 32 deletes the route "S→V2→V5→V6→D→V4→V1:20" from PList(V1) and records it in the final list 422. The route search unit 32 obtains the shortest route "S→V3→V6→D→V4→V1:21" from all the route lists 421. This route includes the node V1 which is the end of section 3. As shown in FIG. 30, the route search unit 32 deletes the route "S→V3→V6→D→V4→V1:21" from PList(V1) and records it in the final list 422. Since the number of routes recorded in the final list 422 is K = 2 or more, the route search unit 32 deletes all the routes recorded in the route list 421 of each node, and ends the search process for section 3. In the final list 422, as a result of the search process for section 3, two routes, namely the route "S→V2→V5→V6→D→V4→V1:20" and the route "S→V3→V6→D→V4→V1:21", are recorded.
[0061] <Search process for section 4> FIGS. 31 to 35 are diagrams for explaining an example of the search process for section 4. The route search unit 32 performs the processes of steps S07 to S08 in FIG. 3, and shifts to the search process for section 4 (via node V1 → start node S) of search order 4 which is the final section. Since section 4 is the final section, the route created in section 4 becomes the route for the entire search section, and by splitting this route, combinations of the first route and the second route are created. Therefore, as shown in step S609 of FIG. 4, in the final section, when the number of paths recorded in the final list 422 is L or more, the path search unit ends the search process. L is "the number L of combinations of the first path and the second path to be output", and as described above, it is specified as an integer of 1 or more and K or less under the search conditions. As a result, the path search unit 32 can search for K candidates for the shortest path in the search process of sections 1 to 3, and finally output the paths narrowed down to L in section 4 of the final section.
[0062] <Search process for section 4 - First time> As shown in FIG. 31, the path search unit 32 records the paths "S→V2→V5→V6→D→V4→V1:20" and "S→V3→V6→D→V4→V1:21" recorded in the final list 422 in PList(V1) and deletes them from the final list 422. The path search unit 32 acquires the shortest path "S→V2→V5→V6→D→V4→V1:20". As shown in FIG. 32, the path search unit 32 selects the terminal node V1 of the acquired path and deletes the path "S→V2→V5→V6→D→V4→V1:20" from PList(V1). The path search unit 32 sets the adjacent node S of the selected node V1 as the search target and records the path "S→V2→V5→V6→D→V4→V1→S:22" in PList(S). The path search unit 32 acquires the shortest path "S→V3→V6→D→V4→V1:21" from all the path lists 421.
[0063] <Search process for section 4 - Second time> As shown in FIG. 33, the path search unit 32 selects the terminal node V1 of the acquired path and deletes the path "S→V3→V6→D→V4→V1:21" from PList(V1). The path search unit 32 sets the adjacent nodes S and V2 of the selected node V1 as the search targets, records the path "S→V3→V6→D→V4→V1→S:23" in PList(S), and records the path "S→V3→V6→D→V4→V1→V2:24" in PList(V2). The route search unit 32 obtains the shortest route "S→V2→V5→V6→D→V4→V1→S:22" from all the route lists 421. This route includes the node S at the end of section 4. As shown in FIG. 34, the route search unit 32 records the route "S→V2→V5→V6→D→V4→V1→S:22" in the final list 422 and deletes it from PList(S). Here, when L = 1 is specified in the search condition, the route search unit 32 proceeds from step S609 to S610 in FIG. 4, deletes the routes in all the route lists, and ends the search process.
[0064] When L is set such that 1 < L ≦ K (for example, L = 2) in the search condition, the route search unit 32 performs the search process until the number of routes in the final list 422 becomes L or more. In the illustrated example, since L = 2 is set, the route search unit 32 continues the process. The route search unit 32 obtains the shortest route "S→V3→V6→D→V4→V1→S:23" from all the route lists 421. This route includes the node S which is the end of section 4. As shown in FIG. 35, the route search unit 32 records the route "S→V3→V6→D→V4→V1→S:23" in the final list 422 and deletes it from PList(S).
[0065] Since the number of routes recorded in the final list 422 has become 2 or more, which is the search condition of L = 2 or more, the route search unit 32 deletes all the routes recorded in the route list 421 of each node and ends the search process for section 4. In the final list 422, two routes, namely the route "S→V2→V5→V6→D→V4→V1→S:22" and the route "S→V3→V6→D→V4→V1→S:23", are recorded. These routes are the results of the search process for section 4 and also show the routes of the entire search section including sections 1 to 4. For any of these routes, except for the starting node S, there is no duplication of nodes N and edges E.
[0066] Returning to FIG. 3, when the search order i becomes equal to or greater than the total number I (step S07: Yes), the route search unit 32 proceeds to step S09. The route search unit 32 acquires the route of the entire search section recorded in the final list 422, divides the route at the end node which is the turning point, and creates a first route and a second route (step S09). The route search unit 32 outputs the created first route and second route via the input / output unit 2 (step S10).
[0067] Here, when a plurality of routes are recorded in the final list 422, a plurality of combinations of the first route and the second route are created. In the example of FIG. 35, when the first route "S→V2→V5→V6→D→V4→V1→S" is divided at the end node D, the first route and the second route are as follows. · First route: S→V2→V5→V6→D (cost 13) · Second route: S→V1→V4→D (cost 9) In the example of FIG. 35, when the second route "S→V3→V6→D→V4→V1→S" is divided at the end node D, the first route and the second route are as follows. · First route: S→V3→V6→D (cost 14) · Second route: S→V1→V4→D (cost 9) In any combination, the first route and the second route do not have overlapping nodes N and edges E, and the cost bias is not large. Thus, in the route search device 1 of the present embodiment, it is possible to create a plurality of routes that avoid overlapping of nodes N and edges E and have a balanced cost.
[0068] <Hardware Configuration> The route search device 1 according to the present embodiment is realized by, for example, a computer 900 as shown in FIG. 36. FIG. 36 is a hardware configuration diagram showing an example of a computer 900 that realizes the functions of the route search device 1 according to the present embodiment. The computer 900 includes 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.
[0069] 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. 1. The ROM 902 stores a boot program executed by the CPU 901 when the computer 900 is started up, a program related to the hardware of the computer 900, and the like.
[0070] The CPU 901 controls an input device 910 such as a mouse or a keyboard, and an output device 911 such as a display via the input / output I / F 905. The CPU 901 acquires data from the input device 910 via the input / output I / F 905, and outputs the generated data to the output device 911. Note that, as the processor, a GPU (Graphics Processing Unit) or the like may be used together with the CPU 901.
[0071] 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 it to the CPU 901, and also transmits data generated by the CPU 901 to other devices via the communication network.
[0072] 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 the 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 Disk), a magneto-optical recording medium such as an MO (Magneto Optical disk), a magnetic recording medium, a conductor memory tape medium, or a semiconductor memory or the like.
[0073] For example, when the computer 900 functions as the route search device 1 according to the present embodiment, the CPU 901 of the computer 900 realizes the functions of the route search device 1 by executing the program loaded on the RAM 903. Further, the HDD 904 stores the data in the RAM 903. The CPU 901 reads and executes the program related to the target process from the recording medium 912. In addition, the CPU 901 may read the program related to the target process from another device via the communication network (NW920). In FIG. 1, an example in which the route search device 1 is provided independently of the management device 9 has been described. However, 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.
[0074] <Configuration and its operational effects of the above embodiment> (1) In an optical transmission network (network) including a plurality of nodes N connected by edges E, the route search device 1 searches for a first route and a second route that do not overlap with each other, which are routes from the start node S to the end node D. The route search device 1 includes a section division unit 31 and a route search unit 32. The section division unit 31 sets a search section that starts from the start node S, passes through the end node D, and returns to the start node S again, and divides the search section into a plurality of sections including the start node S and the end node D as endpoints. The route search unit 32 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 first route and a second route by dividing the route for the entire search section at the end node D. The route search unit 32 records the routes searched in each section. When searching for the route of the next section, it searches for a route that does not overlap with the route of the previous section, and adds and records the searched route to the route of the previous section.
[0075] Thereby, the route search device 1 according to the present embodiment can search for a plurality of routes while suppressing the cost of each route and avoiding duplication. Specifically, the route search device 1 sets a search section that starts from the start node S, passes through the end node D, and reaches 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 first route and a second route. Furthermore, in each section obtained by dividing the search section, the route search unit 32 performs a search process based on the cost set for each edge E while recording the searched route. As a result, it is possible to create a first route and a second route that suppress the cost of each route and avoid duplication of nodes N and edges E.
[0076] By using the route search device 1 according to this embodiment, for example, by redundantizing the transmission route of an optical signal in an optical transmission network, even if a failure occurs while the optical signal is being transmitted on the main route, the optical signal can be continuously transmitted by switching to the backup route. Thereby, the reliability of the optical transmission network can be enhanced. Further, since the cost of any route is suppressed, for example, it is possible to reduce a significant increase in cost when switching from the main route to the backup route.
[0077] (2) When different via nodes V6 and V1 are specified for each of the first route and the second route, the section division unit 31 arranges the via node V6 of the first route in the section from the start node S to the end node D and arranges the via node V1 of the second route in the section from the end node D to the start node S in the setting of the search section. The section division unit 31 divides the search section into a plurality of sections having the start node S, the end node D, and the via nodes V6 and V1 as endpoints. In the search process for each section, the route search unit 32 performs route search by excluding the via nodes included in other sections.
[0078] For example, when designing the transmission path of an optical signal in an optical transmission network, a highly reliable path can be designed by specifying the intermediate nodes for the first path and the second path respectively. However, in a large-scale network such as an optical transmission network, when designing the first path and the second path individually, it is necessary to perform a search including intermediate nodes while avoiding duplication, which increases the computational complexity. The path search device 1 according to the present embodiment can create the first path and the second path that specify different intermediate nodes through a series of search processes, so the computational complexity can be reduced. In the above-described embodiment, an example in which one intermediate node V6 and V1 are specified for the first path and the second path respectively has been described. However, the number of intermediate nodes specified for each path may be two or more.
[0079] (3) The path search device 1 includes a storage unit 4. The storage unit 4 has a path list 421 and a final list 422. The path list 421 is provided corresponding to each node N, and the paths searched in the search process of each section are recorded. The final list 422 records the paths finally determined in the search process of each section. In the first search process of each section, the path search unit 32 uses the node N at the start end of the section as the first selected node, searches for the path from the selected node to the adjacent node, and records it in the path list 421 corresponding to the adjacent node. In the subsequent processes, the path search unit 32 uses the node N in which the path with the lowest cost is recorded in the path list 421 as the next selected node, searches for the path from the selected node to the adjacent node, and records it in the path list 421 corresponding to the adjacent node. When the path with the lowest cost in the path list 421 includes the node N at the end of the section, the path search unit 32 records the path with the lowest cost in the final list 422.
[0080] In the search process for each section, the path search unit 32 can search for a path with reduced cost by obtaining the shortest path with the lowest cost from the path list 421 and expanding the search range to adjacent nodes from the node N at the end of the shortest path. Furthermore, when the shortest path is recorded in the path list 421 corresponding to the node N at the end of the section, the shortest path is recorded in the final list 422. This makes it possible to search for a path with reduced cost while reducing the computational complexity in the search process for each section.
[0081] (4) When starting the search process for each section, if there is a path recorded in the final list 422, the path search unit 32 records the path recorded in the final list 422 in the path list 421 corresponding to the node N at the end of the path and deletes it from the final list 422.
[0082] This allows the path search unit 32 to refer to the paths recorded in the previous section and perform the search while avoiding duplication with the paths in the previous section. Furthermore, since the path search unit 32 records the paths for each section in a way that adds to the paths in the previous section, it can create the path for the entire search section by performing the search up to the final section.
[0083] (5) In the search process for each section except the final section, when the number of paths recorded in the final list 422 becomes K (K is an integer of 2 or more), the path list 421 recorded for each node N is deleted and the search process for the section is terminated. In the search process for the final section, when the number of paths recorded in the final list 422, which is the path for the entire search section, becomes L (L is an integer of 1 or more and K or less), the search process for the final section is terminated.
[0084] With this configuration, the path search device 1 can narrow down the number of combinations of the first path and the second path to be finally output while searching for multiple candidates for the shortest path in each section, thus enhancing the reliability and convenience of path design.
[0085] The above-described effects can also be applied to the route search method performed by the route search device 1 and the route search program for causing the computer 900 to function as the route search device 1.
[0086] <Modification Example 1> FIG. 37 is a diagram for explaining an outline of processing of the route search device 1 according to Modification Example 1. In the above-described embodiment, an example of creating two routes, i.e., the first route and the second route, as redundant routes has been described. However, the redundant routes are not limited to two, and for example, three or more routes may be created. In that case, the end of the search section can be extended according to the number of additional routes to be added to the first route and the second route. FIG. 37 shows, as an example, a case where a third route is created in addition to the first route and the second route. The section division unit 31 sets a search section that passes from the start node S through the end node D and further passes through the start node S to reach the end node D. When via nodes are specified for each of the first route, the second route, and the third route, the section division unit 31 arranges each via node between the start node and the end node.
[0087] The section division unit 31 divides the set search section with the start node S, the via nodes, and the end node D as endpoints, in the same manner as in the above-described embodiment. The route search unit 32 performs the same search processing as in the embodiment for each of the divided sections. In Modification Example 1, the end node D overlaps as the start of the section corresponding to the second route and the end of the section corresponding to the third route. Therefore, in Modification Example 2, overlapping in the route is exceptionally allowed not only for the start node S but also for the end node D.
[0088] In FIG. 37, an example of the path of the search section created by the search process of the path search section 32 is indicated by an arrow. In Modification 1, as the path of the search section, a so-called one-stroke path connecting the first path to the third path is created. The path search section 32 creates three paths from the first path to the third path by dividing the path of the search section thus created at the start node S and the end node D. When creating further paths after the third path, the section division section 31 further extends the end of the search section to the start node S or the end node D according to the number of further paths.
[0089] As described above, the path search device 1 according to Modification 1 has the following configuration. (6) When the section division section 31 searches for further paths in addition to the first path and the second path as the path from the start node S to the end node D, the section division section 31 can extend the end of the search section according to the number of further paths. As a result, it is possible to create many redundant paths within the searchable range.
[0090] <Modification 2> FIG. 38 is a diagram for explaining the outline of the process of the path search device 1 according to Modification 2. In Modification 2, an example of searching for a path between two points where one end node is the same and the other end node is different is explained. In the example of FIG. 38, an example of searching for the path from the start node S1 to the end node D and the path from the start node S2 to the end node D is shown. These paths have the same end node D, and the start nodes S1 and S2 are different from each other. In this case, the path from the start node S1 to the end node D becomes the first path, and the path from the start node S2 to the end node D becomes the second path.
[0091] The section division section 31 sets the search section to a search section that starts from the start node S1, passes through the end node D, and reaches the start node S2. When the via nodes are specified for the first path and the second path, the section division section 31 arranges the respective via nodes between the start node S1 and the end node D and between the end node D and the start node S2. Similar to the above-described embodiment, the section division unit 31 divides the set search section using the start nodes S1 and S2, the intermediate nodes, and the end node D as endpoints. The path search unit 32 performs the same search process as in the embodiment for each divided section. In FIG. 38, an example of the path of the search section created by the search process of the path search unit 32 is indicated by an arrow. In Modification 2, as the path of the search section, a so-called one-stroke path in which a first path and a second path with different start nodes are connected at the end node D is created. The path search unit 32 creates the first path and the second path by dividing the path of the search section created in this way at the end node D.
[0092] As described above, the path search device 1 according to Modification 2 has the following configuration. (7) In Modification 2, the start node includes the start node S1 (first start node) and the start node S2 (second start node). The section division unit 31 sets a search section that starts from the start node S1, passes through the end node D, and reaches the start node S2. The path search unit 32 creates a first path that is the path from the start node S1 to the end node D and a second path that is the path from the start node S2 to the end node D by dividing the path of the entire search section created in the search process at the end node D.
[0093] In this way, even for two paths with different one endpoint nodes, by performing the search process as one search section, it is possible to avoid duplication of nodes N and edges E and create a combination of paths with a balanced cost.
[0094] <Modification 3> FIG. 39 is a diagram for explaining the outline of the process of the path search device 1 according to Modification 3. In the above-described embodiment, an example in which the search process is performed based on the cost preset for each edge E stored in the network information DB 41 has been described. That is, in the embodiment, the search process is performed based on the same cost according to the search processes in sections 1 to 4.
[0095] In Modification 3, search processing is performed by increasing or decreasing the cost set according to the search range. In the example of FIG. 39, the path search unit 32 increases the set cost by 100% and performs search processing in the search processing of sections 1 and 2 corresponding to the first path. In the search processing of sections 3 and 4 corresponding to the second path, the path search unit 32 performs search processing with the set cost as it is. In other words, in the search processing of sections 3 and 4, the path search unit 32 performs search processing with a cost reduced by 100% from the cost of the search processing of sections 1 and 2. In this way, by making the costs different between the section corresponding to the first path and the section corresponding to the second path, the priority of the costs of the first path and the second path can be made different. In the example of FIG. 39, by increasing the cost in the search processing of sections 1 and 2 corresponding to the first path, the priority of the cost of the first path is increased, and search is performed so that the cost of the first path becomes lower.
[0096] FIGS. 40 to 43 are diagrams for explaining an example of the search processing of Modification 3. In FIGS. 40 to 43, as an example, the case where the search conditions are set as follows is explained. · Start node: Node S · End node: Node D · Via node of the first path: Node V6 · Via node of the second path: Node V1 · Number of paths K to be searched in each section: 2 · Number of combinations L of the first path and the second path to be output: 1 · Cost increase of the first path: +100% · Cost increase of the second path: 0%
[0097] The section division unit 31 sets a search section of "start node S → node V6 → end node D → node V1 → start node S" according to this search condition, and divides the set search section as follows. · Section 1: S → V6 (search order 1) cost +100% · Section 2: Cost of V6→D (Search Order 2) +100% · Section 3: Cost of D→V1 (Search Order 3) +0% · Section 4: Cost of V1→S (Search Order 4) +0% Since Section 1 and Section 2 correspond to the first path, the cost is increased by 100%. Since Section 3 and Section 4 correspond to the second path, the cost is not increased.
[0098] The route search unit 32 performs the same search process as in the embodiment in each section. Therefore, the details of the search process are omitted, and only the search results of each section are shown.
[0099] <Search Process of Section 1> As shown in FIG. 40, the route search unit 32 increases the cost set for each edge E by 100% and performs the search process for Section 1. As a result of the search process for Section 1 (S→V6), two routes, the route "S→V2→V5→V6:16" and the route "S→V3→V6:18", are recorded in the final list 422.
[0100] <Search Process of Section 2> As shown in FIG. 41, the route search unit 32 increases the cost set for each edge E by 100% and performs the search process for Section 2. As a result of the search process for Section 2 (V6→D), two routes, the route "S→V2→V5→V6→D:26" and the route "S→V3→V6→D:28", are recorded in the final list 422.
[0101] <Search Process of Section 3> As shown in FIG. 42, the route search unit 32 returns the cost of each edge E to the initial state and performs the search process for Section 3. As a result of the search process for Section 3 (D→V1), two routes, the route "S→V2→V5→V6→D→V4→V1:33" and the route "S→V3→V6→D→V4→V5→V1:33", are recorded in the final list 422.
[0102] <Search Process of Section 4> The route search unit 32 also performs search processing using the cost in the initial state in section 4. As shown in FIG. 43, in the PList(S) corresponding to the node S which is the end of section 4, the routes "S→V2→V5→V6→D→V4→V1→S:35" and "S→V3→V6→D→V4→V5→V1→S:35" are recorded. Although these routes have the same cost, the route search unit 32 records the "S→V2→V5→V6→D→V4→V1→S:35" recorded earlier in the PList(S) in the final list 422. In Modification 3, since the number L of combinations of the first route and the second route to be output is set to 1, the route search unit 32 ends the process when one route is recorded in the final list 422. The route search unit 32 splits the route "S→V2→V5→V6→D→V4→V1→S" (actual cost: 22) at the end node D to create the following first route and second route. First route: S→V2→V5→V6→D (actual cost: 13) Second route: S→V1→V4→D (actual cost: 9)
[0103] Here, when splitting the other route "S→V3→V6→D→V4→V5→V1→S" (actual cost: 21) recorded in the PList(S) at the end node D, the following first route and second route are created. First route: S→V3→V6→D (actual cost: 14) Second route: S→V1→V5→V4→D (actual cost: 7) Although the actual cost of the route for the entire search section is lower for the route "S→V3→V6→D→V4→V5→V1→S", the cost of the first route is lower for "S→V2→V5→V6→D→V4→V1→S".
[0104] By increasing the cost of the section corresponding to the first route in this way, the priority of the cost of the first route becomes higher, and route search can be performed so that the cost of the first route becomes lower. Here, an example of increasing the priority of the first path has been described, but the priority of the second path may also be increased. In that case, the cost in the search process for the section corresponding to the second path is increased compared to the cost in the search process for the section corresponding to the first path. Also, here, an example of increasing the cost of the section corresponding to the path with high priority has been described, but the cost of the section corresponding to the path with low priority may be decreased. Alternatively, both an increase in the cost of the section with high priority and a decrease in the cost of the section with low priority may be performed.
[0105] (8) The path search unit 32 increases or decreases the cost set for each edge E in either the search process for the sections (sections 1 and 2) corresponding to the first path or the search process for the sections (sections 3 and 4) corresponding to the second path.
[0106] As a result, the path search unit 32 can increase the priority of the cost for the path to be used as the main path among the first path and the second path, and can search for a path so that the cost becomes low.
[0107] Note that the present invention is not limited to the embodiments described above, and many modifications are possible by those having ordinary knowledge in the art within the technical idea of the present invention.
Explanation of Reference Numerals
[0108] 1 Path search device 2 Input / output unit 3 Control unit 4 Storage unit 31 Section division unit 32 Path search unit 41 Network information DB 42 Path information DB 421 Path list 422 Final list 9 Management device N Node S Starting node D End node V1~V6 Nodes E Edge NW optical transmission network
Claims
1. In a network including a plurality of nodes connected by edges, a path search device that searches for a path from a start node to an end node, the path including a first path and a second path that do not overlap with each other, a section dividing unit that sets a search section from the start node to the end node and then back to the start node, and divides the search section into a plurality of sections including the start node and the end node as endpoints; a path search unit that creates a path for the entire search section by sequentially searching for paths of each section based on the cost set for each edge, and creates the first path and the second path by dividing the path for the entire search section at the end node, wherein the path search unit records the path searched in each section, and when searching for the path of the next section, searches for a path that does not overlap with the path of the previous section, and adds and records the searched path to the path of the previous section. A path search device characterized by the above.
2. When different passing nodes are specified for each of the first path and the second path, the section dividing unit arranges the passing node of the first path in a section from the start node to the end node in the setting of the search section, and arranges the passing node of the second path in a section from the end node to the start node, the section dividing unit divides the search section into the plurality of sections having the start node, the end node, and the passing node as endpoints, and the path search unit excludes the passing nodes included in other sections and searches for a path in the search process of each section. The path search device according to claim 1, characterized by the above.
3. A storage unit provided corresponding to each node, having a path list in which the paths searched in the search process of each section are recorded, and a final list in which the paths finally determined in the search process of each section are recorded, the path search unit, in the first search process of each section, sets the node at the start end of the section as the first selected node, searches for a path from the selected node to an adjacent node, and records it in the path list corresponding to the adjacent node, in the second and subsequent processes, sets the node in which the path with the lowest cost is recorded in the path list as the next selected node, searches for a path from the selected node to an adjacent node, and records it in the path list corresponding to the adjacent node. If the path with the lowest cost in the path list includes the node at the end of the section, record the path with the lowest cost in the final list The path search device according to claim 2, characterized in that
4. When starting the search process for each section, the path search unit If there is a path recorded in the final list, record the path recorded in the final list in the path list corresponding to the node at the end of the path, and delete it from the final list The path search device according to claim 3, characterized in that
5. In the search process for each section except the final section, the path search unit When the number of paths recorded in the final list becomes K (K is an integer of 2 or more) or more, delete the path lists recorded in each node and end the search process for the section In the search process for the final section When the number of paths recorded in the final list, which is the path of the entire search section, becomes L (L is an integer of 1 or more and K or less) or more, end the search process for the final section The path search device according to claim 3, characterized in that
6. When the section division unit searches for additional paths in addition to the first path and the second path as the path from the start node to the end node, extend the end of the search section according to the number of additional paths The path search device according to claim 1, characterized in that
7. The start node includes a first start node and a second start node The section division unit sets the search section from the first start node, passing through the end node, to the second start node The path search unit creates the first path, which is the path from the first start node to the end node, and the second path, which is the path from the second start node to the end node, by dividing the path of the entire search section at the end node The path search device according to claim 1, characterized in that
8. The path search unit increases or decreases the cost set for each edge in either the search process for the section corresponding to the first path or the search process for the section corresponding to the second path The path search device according to claim 1, characterized in that
9. A path search method for a path search device that searches for a first path and a second path that do not overlap with each other as paths from a start node to an end node in a network including a plurality of nodes connected by edges The path search device sets a search section that starts from the start node, passes through the end node, and reaches the start node, and performs a section division process that divides the search section into a plurality of sections; creates a path for the entire search section by sequentially searching for paths for each section based on the cost set for each edge, and creates the first path and the second path by dividing the path for the entire search section at the end node, that is, performs a path search process; in the path search process, records the path searched in each section, and when searching for the path of the next section, searches for a path that does not overlap with the path of the previous section, and adds and records the searched path to the path of the previous section is a path search method characterized by the above. **Claim 10** A path search program for causing a computer to function as the path search device according to any one of Claims 1 to 8.
Citation Information
Patent Citations
Path calculation device and path calculation method used therefor, and recording medium with its control program recorded
JP2002152252A
Path control method and apparatus, path control program, and storage medium stored with path control program
JP2004080211A