This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2011-189773, filed on Aug. 31, 2011, the entire contents of which are incorporated herein by reference.
The embodiment discussed herein is directed to a route search device, a route search method, and a route search program.
In recent years, to improve the reliability of networks, studies have been conducted on various kinds of route search methods of searching redundant routes used for detouring around a failure point if a node failure or a link failure occurs in the network. One example of a proposed route search method is a method of searching multiple routes from a start node toward a goal node in a network for a pair of redundant routes that do not overlap with each other.
Furthermore, networks used in recent years sometimes include a node that limits connections between ports (hereinafter, referred to as a “limit node”). If the route search method is used to search for a pair of redundant routes in a network that includes such a limit node, a route that includes a portion in which communication is limited may possibly be searched as if it is a redundant route. Accordingly, a search method has been proposed that excludes a route that conflicts with the connection limit between ports at a limit node from being a candidate for a redundant route.
With this route search method, by using topology information indicating the connection state between nodes in a network, a route search device searches among multiple routes from the start node toward the goal node for a first route for which the total cost of links in the first route is a minimum. Then, the route search device changes topology information by excluding the first route from the multiple routes. If a limit node that limits the connection between ports is included in the first route, the route search device changes port information indicating the limitations of the connection between the ports at the limit node such that a route that conflicts with the limitations is not searched as a pair of the redundant routes. Then, by using the changed topology information and the changed port information, the route search device searches for a second route that is different from the first route. Then, by eliminating the links that overlap in the first route and the second route, the route search device searches for a pair of redundant routes that are not overlapped with each other. Accordingly, even if a limit node is included in a network, it is possible to avoid erroneously searching for a redundant route that conflicts with the limitations of the connection between ports at the limit node.
Patent Document 1: Japanese Laid-open Patent Publication No. 2011-041017
However, with a conventional route search method that excludes routes that conflict with the limitations of the connection between ports at the limit node from being candidates for redundant routes, there is a problem in that a redundant route that includes links from the end point toward the starting point in a network may not be appropriately searched.
Specifically, with the conventional route search method, by changing the direction of the links constituting the first route to the direction from the goal node toward the start node, the first route is excluded from the multiple routes. Accordingly, with the conventional route search method, when a redundant route is searched, if links that overlap in the first route and the second route are eliminated, a link that has had its direction changed to the direction from the goal node toward the start node is cancelled out by configuration links that constitutes the first route and thus disappears. More specifically, with the conventional route search method, because a link from the goal node towards the start node disappears, a route, which includes links from the end point toward the starting point in a network that includes a limit node may not possibly be searched as a redundant route.
According to an aspect of an embodiment of the invention, a route search device includes a first route searching unit that searches among, by using topology information indicating a connection state between multiple nodes in a network in which the multiple nodes are connected by links, multiple routes from a start node toward a goal node in the network for a first route in which a total cost of the links is a minimum; a topology information changing unit changes the topology information by excluding the first route from the multiple routes and setting, to configuration links constituting the first route, additional links whose direction is opposite to a direction of the configuration links; a port information changing unit that changes, when a limit node that limits a connection between ports is included in the first route, port information indicating limitations of the connection between the ports at the limit node such that communication in a direction from the goal node toward the start node is permitted in the configuration links and the additional links; a second route searching unit that searches among the multiple routes for a second route that is different from the first route by using the changed topology information and the changed port information; and a redundant route searching unit that searches for a pair of redundant routes that do not overlap with each other by eliminating the configuration links that overlap on the first route and the second route.
The object and advantages of the embodiment will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the embodiment, as claimed.
Preferred embodiments of the present invention will be explained with reference to accompanying drawings.
First, a route search method performed by the route search device according to the embodiment will be described.
Furthermore, from among the multiple nodes 11 to 17, the node 11 is a node functioning as a starting point and is called a start node. A node 15 is a node functioning as an end point and is called a goal node. Furthermore, a node 12 and a node 13 are nodes that limit a connection among ports P1 to P3 and are called limit nodes. In this case, it is assumed that communication between the node 13 and the start node 11 or between the node 13 and the node 17 are permitted by the limit node 12 and it is assumed that communication between the node 11 and the node 17 is limited by the limit node 12. Furthermore, it is assumed that the communication between the node 12 and the start node 11 or between the node 12 and the node 14 is permitted by the limit node 13 and it is assumed that communication between the start node 11 and the node 14 is limited by the limit node 13.
By using topology information indicating the connection state between nodes in the network, the route search device, first, searches among the multiple routes from the start node 11 to the goal node 15 in the network for a first route for which the total cost of the links is a minimum (see (1) of
Subsequently, the route search device excludes the first route SP1 from the multiple routes and sets, to configuration links constituting the first route SP1, additional links whose direction is opposite to the direction of the configuration links, thus changing the topology information (see (2) of
Subsequently, the route search device changes port information that indicates the limitations of the connection of the ports P1 to P3 at the limit nodes 12 and 13 such that communication from the goal node 15 toward the start node 11 is permitted in the configuration links and the additional links (see (2) of
Furthermore, at the limit node 12a, the connection between the ports P2 and P3 connecting the goal-side node 13a or 13b and the off-route node 17, the route search device changes the port information by permitting communication in the direction from the off-route node 17 towards the goal-side node 13a or 13b along the configuration links. Furthermore, at the limit node 12b, for the connection between the ports P2 and P3 connecting the goal-side node 13a or 13b and the off-route node 17, the route search device changes the port information by permitting communication in the direction from the goal-side node 13a or 13b toward the off-route node 17 along the additional link.
Furthermore, at the limit node 13a, for the connection among the ports P1 to P3 connecting the start-side node 12a and the off-route node 11, the route search device changes the port information by permitting communication in the direction from the start-side node 12a toward the off-route node 11 along the configuration links. Furthermore, at the limit node 13b, for the connection among the ports P1 to P3 connecting the start-side node 12b and the off-route node 11, the route search device changes the port information by permitting communication in the direction from the off-route node 11 toward the start-side node 12a along the additional link.
The start-side node mentioned here is a start node or a node that is present closer to the start node side than the limit node on the first route. The goal-side node mentioned here is the goal node of a node that is present closer to the goal node side than the limit node on the first route. Furthermore, the off-route node mentioned here is a node that is not included in the first route or a node that is not adjacent to the limit node from among the nodes included in the first route.
Subsequently, by using the changed topology information and the changed port information, the route search device searches among the multiple routes for a second route SP2 that is different from the first route SP1 (see (3) and (4) of
Subsequently, the route search device eliminates the configuration links that overlap in the first route SP1 and the second route SP2, thereby searching for a pair of redundant routes that do not overlap with each other (see (5) of
Between the redundant route paths 1 and 2, the redundant route path 2 includes the limit nodes 12 and 13. However, the limit nodes 12 and 13 are appropriate redundant routes because they satisfy the connection limit of the ports P1 to P3 at the limit nodes 12 and 13. Furthermore, the redundant route path 2 includes links that connect limit node 13 and the limit node 12 as the links directed from the goal node 15 toward the start node 11 on the first route SP1.
As described above, the route search device according to the embodiment changes the topology information by excluding the first route from the multiple routes and setting an additional link whose direction is opposite to the direction of the configuration links that constitutes the first route. Then, the route search device changes the port information on the limit nodes such that communication from the goal node toward the start node in the configuration links and in the additional link is permitted. Then, by using the changed topology information and the changed port information, the route search device searches among the multiple routes for a second route that is different from the first route.
Accordingly, if the route search device according to the embodiment searches the first route and the second route for a pair of redundant routes, even if the route search device eliminates the configuration links that overlap in the first route and the second route, the route search device can keep the links from the goal node toward the start node in the first route. Specifically, the route search device according to the embodiment can appropriately search the network, which includes a limit node that limits a connection between ports, for a redundant route that includes a link from the end point toward the starting point in the first route.
In the following, the configuration of the route search device according to the embodiment will be described with reference to
The storing unit 110 stores therein data needed for various processes performed by the control unit 120 and the results of the various processes performed by the control unit 120. The storing unit 110 includes a topology information storing unit 111, a first route information storing unit 112, a port information storing unit 113, a second route information storing unit 114, and a redundant route information storing unit 115.
The topology information storing unit 111 stores therein topology information that indicates the connection state between the nodes in the network in which multiple nodes are connected by links. The topology information storing unit 111 stores therein, as the topology information, information that is input by a user of the route search device 100 or information collected from each node by a communication interface.
The link ID is identification information for identifying a link that connects nodes constituting the network. The node 1 is identification information on one node that is connected to one end of the link. The node 2 is identification information on the other node that is connected to the other end of the link. The cost is a theoretical distance of the link. The direction is a communication direction of the link. If the communication from the node 1 toward the node 2 and the communication from the node 2 toward the node 1 are permitted, the direction becomes “0”. Furthermore, if the communication from the node 1 toward the node 2 is permitted, the direction becomes “1”. In contrast, if the communication from the node 2 toward the node 1 is permitted, the direction becomes “2”.
The first route information storing unit 112 stores therein, as first route information, information on the first route that is searched from the multiple routes from the start node toward the goal node on the network. The first route information stored by the first route information storing unit 112 is created by a first route searching unit 121, which will be described later, and is then stored.
The first route ID is identification information for identifying the first route. The configuration node information is identification information on nodes constituting the first route. For example, “N1→N2→N3→N4→N5” represents the nodes constituting the first route SP1 starting from a node N1 functioning as the start node to a node N5 functioning as the goal node via nodes N2, N3, and N4. The total cost is the total cost of the links included in the first route.
The port information storing unit 113 stores therein, as port information, information indicating the limitations of the connection between ports at a limit node. The port information storing unit 113 stores therein, as port information, information that is input by a user of the route search device 100 or information collected from each node by a communication interface.
The limit node ID is identification information for identifying a limit node. The port connection represents the connection between a given pair of ports from among the ports included in the limit node. For example, “P1-P2” represents the connection between the port P1 and the port P2. The node 1 is a node connected to one port between a pair of ports in the port connection. The node 2 is a node connected to the other port between the pair of ports in the port connection. The connection state indicates the connection state of the port connection. If the communication from the node 1 toward the node 2 and the communication from the node 2 toward the node 1 are permitted, the connection state becomes “0”. Furthermore, if the communication from the node 1 toward the node 2 is permitted, the connection state becomes “1”. If the communication from the node 2 toward the node 1 is permitted, the connection state becomes “2”. If the communication between the node 1 and the node 2 is limited, the connection state becomes “3”.
The second route information storing unit 114 stores therein, as second route information, information on the second route searched from the multiple routes from the start node toward the goal node in the network. The second route information stored by the second route information storing unit 114 is created by a second route searching unit 124, which will be described later, and is then stored.
The second route ID is identification information for identifying the second route. The configuration node information is identification information on nodes constituting the second route. For example, “N1→N6→N4→N3→N2→N1→N3→N2→N7→N5” represents the nodes constituting the second route SP2 starting from a node N1 functioning as the start node to a node N5 functioning as the goal node via nodes N6, N4, N3, N2, N1, N3, N2, and N7. The total cost is the total cost of the links included in the second route.
The redundant route information storing unit 115 stores therein, as redundant route information, information on a pair of redundant routes that are searched from the multiple routes from the start node toward the goal node in the network and that are not overlapped with each other. The redundant route information stored by the redundant route information storing unit 115 is created by a redundant route searching unit 125, which will be described later, and is then stored.
The redundant route ID is identification information for identifying a redundant route. The configuration node information is identification information on nodes constituting the redundant route. For example, “N1→N6→N4→N5” represents nodes constituting the redundant route path 1 starting from a node N1 functioning as the start node to a node N5 functioning as the goal node via nodes N6 and N4. The total cost is the total cost of the links included in the redundant route.
The control unit 120 includes an internal memory for storing various kinds of data and programs prescribing various kinds of procedures, whereby various kinds of processes are executed. Specifically, the control unit 120 includes the first route searching unit 121, a topology information changing unit 122, a port information changing unit 123, the second route searching unit 124, the redundant route searching unit 125, and an output unit 126.
By using the topology information, the first route searching unit 121 searches among the multiple routes from the start node toward the goal node in the network for the first route for which the total cost of links in the first route is a minimum. Specifically, the first route searching unit 121 reads the topology information from the topology information storing unit 111. Then, by applying a route search algorithm in a graph represented by the Dijkstra's algorithm to the read topology information, the first route searching unit 121 searches among the multiple routes for the first route for which the total cost of links in the first route is a minimum. Furthermore, the first route searching unit 121 stores, in the first route information storing unit 112, the searched information on the first route as the first route information.
The topology information changing unit 122 changes the topology information by excluding the searched first route from the multiple routes in the network and by setting, to configuration links constituting the first route, the additional links whose direction is opposite to the direction of the configuration links. Specifically, the topology information changing unit 122 reads, from the first route information storing unit 112, a configuration node, for example, the configuration node “N1→N2→N3→N4→N5”, in the searched first route having, for example, the first route ID of “SP1”. Then, the topology information changing unit 122 refers to the topology information storing unit 111, reverses the direction of the links connecting the read configuration node, i.e., reverses the direction of the configuration links constituting the first route, and inverts the signs of the cost of the configuration links. Accordingly, the first route is excluded from the multiple routes in the network. Then, the topology information changing unit 122 refers to the topology information storing unit 111 and divides the nodes included in the first route into multiple subnodes. Then, the topology information changing unit 122 reverses the direction of the configuration links constituting the first route. Accordingly, additional links are set with respect to the configuration links that constitutes the first route.
In the following, a method for changing the topology information performed by the topology information changing unit 122 will be specifically described. A process performed by the topology information changing unit 122 when a limit node is included in the first route will be described with reference to
As illustrated in
In the following, a process performed by the topology information changing unit 122 when a normal node is included in the first route will be described with reference to
As illustrated in
Specifically, the topology information changing unit 122, changes the topology information stored in the topology information storing unit 111 illustrated in
A description will be given here by referring back to
Then, the port information changing unit 123 refers to the port information storing unit 113 and determines whether a limit node associated with limit nodes ID, for example, “N2” and “N3”, are included in the read configuration node, for example, the configuration node “N1→N2→N3→N4→N5”. If the limit node is included in the read configuration node, the port information changing unit 123 changes the port information stored in the port information changing unit 123.
In the following, a method of changing port information performed by the port information changing unit 123 will be described with reference to
As illustrated in
As illustrated in
Furthermore, as illustrated in
Specifically, the port information changing unit 123 changes the connection state indicated by the port information stored in the port information storing unit 113 illustrated in
Furthermore, the port information changing unit 123 sets the connection state associated with the connection between the ports (port connection “P2-P3”) connecting the goal-side node (node 1 “N3a”) and the off-route node (node 2 “N7”) to “2” that indicates the configuration links of off-route node→goal-side node along the configuration links. Furthermore, the port information changing unit 123 sets the connection state associated with the connection between the ports (port connection “P2-P3”) connecting the goal-side node (node 1 “N3b”) and the off-route node (node 2 “N7”) to “1” that indicates the configuration links of goal-side node→off-route node along the additional links.
Furthermore, the port information changing unit 123 sets the connection state associated with the connection between the ports (port connection “P1-P3”) connecting the off-route node (node 1 “N1”) and the start-side node (node 2 “N2a”) to “2” that indicates the configuration links of start-side node→off-route node along the configuration links. Furthermore, the port information changing unit 123 sets the connection state associated with the connection between the ports (port connection “P1-P3”) connecting the off-route node (node 1 “N1”) and the start-side node (node 2 “N2b”) to “1” that indicates the configuration links of off-route node→start-side node along the additional links.
A description will be given here by referring back to
Then, by applying a route search algorithm in a graph represented by the Dijkstra's algorithm to the read topology information and the port information, the second route searching unit 124 searches among the multiple routes for a second route for which the total cost of links in the second route is a minimum. Furthermore, the second route searching unit 124 stores the searched information on the second route in the second route information storing unit 114 as the second route information.
By eliminating the configuration links that overlap in the first route and the second route, the redundant route searching unit 125 searches for a pair of redundant routes that do not overlap with each other. Specifically, the redundant route searching unit 125 reads a configuration node on the first route from the first route information storing unit 112. Then, the redundant route searching unit 125 reads a configuration node on the second route from the second route information storing unit 114. Then, the redundant route searching unit 125 compares the read configuration node on the first route with the read configuration node on the second route and specifies configuration links that overlap on the first route and the second route. Then, the redundant route searching unit 125 eliminates the specified configuration links from the configuration node on the first route and on the second route and joins the rest of the configuration links. Accordingly, a pair of redundant routes that do not overlap with each other is searched.
In the following, a process performed by the redundant route searching unit 125 will be described using an example each illustrated in
The output unit 126 outputs the redundant route information stored in the redundant route information storing unit 115 as the processing results to a display unit, such as a display.
The first route searching unit 121, the topology information changing unit 122, the port information changing unit 123, the second route searching unit 124, the redundant route searching unit 125, and the output unit 126 included in the control unit 120 are, for example, integrated circuits or electronic circuits. Examples of the integrated circuit include an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA). Examples of the electronic circuit include a central processing unit (CPU) or a micro processing unit (MPU).
The topology information storing unit 111, the first route information storing unit 112, the port information storing unit 113, the second route information storing unit 114, and the redundant route information storing unit 115 included in the storing unit 110 are, for example, semiconductor memory devices or storage devices. Examples of the semiconductor memory device include a random access memory (RAM), a read only memory (ROM), and a flash memory. Examples of the storage device include a hard disc drive (HDD) and an optical disk.
In the following, the flow of a route search process performed by the route search device 100 according to the embodiment will be described with reference to
As illustrated in
Then, the topology information changing unit 122 changes the topology information by excluding the first route from the multiple routes and by setting an additional link whose direction is opposite to that of the configuration links constituting the first route (Step S102).
Then, the port information changing unit 123 changes the port information indicating the limitations of the port connection at a limit node such that communication in the direction from the goal node toward the start node is permitted in configuration links and additional links (Step S103). Then, by using the changed topology information and the changed port information, the second route searching unit 124 searches among the multiple routes for a second route that is different from the first route (Step S104).
Then, by eliminating the configuration links that overlap on the searched first route and the searched second route, the redundant route searching unit 125 searches a pair of redundant routes that do not overlap with each other (Step S105). Then, the redundant route searching unit 125 stores the information on the searched pair of redundant routes in the redundant route information storing unit 115 as the redundant route information. Then, the output unit 126 outputs and displays the redundant route information stored in the redundant route information storing unit 115 (Step S106).
As described above, the route search device 100 according to the embodiment changes the topology information by excluding a first route from the multiple routes and by setting an additional link whose direction is opposite to the direction of the configuration links constituting the first route. Then, the route search device 100 changes the port information on the limit node such that communication in the direction from the goal node toward the start node is permitted in the configuration link and the additional link. Then, by using the changed topology information and the port information, the route search device 100 searches among the multiple routes for a second route that is different from the first route.
Accordingly, when the route search device 100 according to the embodiment searches among the first route and the second route for a pair of redundant routes, the route search device 100 can keep an additional link from the goal node toward the start node even if the route search device 100 eliminates the configuration links that overlap on the first route and the second route. Specifically, the route search device 100 according to the embodiment can appropriately search the network, which includes a limit node that limits a connection between ports, for a redundant route that includes links from the end point toward the starting point.
In the above embodiment, a description has been given of a case in which, if a limit node is included in the first route, the port information changing unit 123 changes the port information such that communication in the direction from the goal node to the start node is permitted in configuration links and additional links. However, if the limit node is included in the first route, a method that permits communication in the direction from goal node toward the start node in the configuration links and the additional links is not limited thereto. For example, if the limit node is included in the first route, the topology information changing unit 122 may also change the topology information such that communication in the direction from the goal node toward the start node is permitted in the configuration links and the additional links.
In the following, an example of another process performed by the topology information changing unit 122 will be described with reference to
If a limit node is included in the first route, the topology information changing unit 122 changes the topology information as follows. As illustrated in
Furthermore, as illustrated in
The route search device 100 can implement the various processes described in the embodiment by executing a program prepared in advance by a computer. Accordingly, in the following, a computer that executes a program having the same function performed by the device in the above embodiment will be described.
The ROM 240 stores therein, in advance, a program having the same function as that in the embodiment. Specifically, the ROM 240 stores therein, in advance, a first route search program 241, a topology information changing program 242, a port information changing program 243, a second route search program 244, a redundant route search program 245, and an output program 246.
Then, the CPU 230 reads these programs 241 to 244 and executes them so that these programs 241 to 244 can function as a first route search process 231, a topology information changing process 232, a port information changing process 233, and a second route search process 234. Furthermore, the CPU 230 reads these programs 245 and 246 and executes them so that these programs 245 and 246 can function as a redundant route search process 235 and an output process 236. These processes 231 to 236 correspond to the first route searching unit 121, the topology information changing unit 122, the port information changing unit 123, the second route searching unit 124, the redundant route searching unit 125, and the output unit 126, respectively, illustrated in
The HDD 220 stores therein a topology table 221, a first route table 222, a port table 223, a second route table 224, and a redundant route table 225. These tables 221 to 225 correspond to the topology information storing unit 111, the first route information storing unit 112, the port information storing unit 113, the second route information storing unit 114, and the redundant route information storing unit 115, respectively, illustrated in
The programs 241 to 246 are not always stored in the ROM 240. For example, the computer 200 may also read these programs stored in a storage medium, such as a CD-ROM, and executes them. Furthermore, these programs may also be stored in, for example, a public circuit, the Internet, a local area network (LAN), and a wide area network (WAN). The computer 200 then reads and executes these programs from the above.
According to an aspect of the route search device disclosed in the present invention, an advantage is provided in that it is possible to search a network, which includes a limit node that limits a connection between ports, for a redundant route that includes links from the end point toward the starting point.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiment of the present invention has been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2011-189773 | Aug 2011 | JP | national |