The present invention relates to a route determination device, a route determination method, and a program.
In a communication network including a plurality of nodes and edges connecting the nodes, a technology has been known that searches for an appropriate route between a start point node and an end point node using, for example, Dijkstra's algorithm.
Furthermore, a technology has been known that searches for a route while considering a plurality of parameters using multidimensional order when comparing the costs at nodes in searching for a route using Dijkstra's algorithm (see, for example, Patent Literature 1).
In a path design of an optical transmission network, for example, determining an optimal route from a start point node to an end point node in consideration of a plurality of parameters including distances, nodes to be connected, and transmission planes is common. In such a case, according to the technology disclosed in Patent Literature 1, an appropriate route from the start point node to the end point node can be determined in consideration of the plurality of parameters.
However, in this method, in a case where the number of types of parameters to be considered increases, the man-hour to be referred increases, and thus, there arises an issue that the calculation amount increases and the efficiency of route search decreases.
An embodiment of the present invention has been made in view of the above issue, and enables efficient determination of an appropriate route even in a case where the number of types of parameters to be considered increases in a communication network including a plurality of nodes and edges connecting the nodes.
In order to solve the above issue, a route determination device according to an embodiment of the present invention includes a weight calculation unit that, in a communication network including a plurality of nodes and edges connecting the nodes, calculates weights of the edges using a plurality of parameters regarding the edges or the nodes, and a route determination unit that determines a first route from a start point node to an end point node in the communication network based on the weights of the edges.
According to an embodiment of the present invention, an appropriate route can be efficiently determined even in a case where the number of types of parameters to be considered increases in a communication network including a plurality of nodes and edges connecting the nodes.
Hereinafter, an embodiment of the present invention (present embodiment) will be described with reference to the drawings. The embodiment to be described below is merely an example, and an embodiment to which the present invention is applied is not limited to the following embodiment.
The optical transmission network (communication network) 10 is a backbone network such as an Internet protocol (IP) communication network that implements communication using optical signals. Note that the optical transmission network 10 is an example of a communication network including a plurality of nodes and edges connecting the nodes. Here, the nodes include, for example, a communication device or a communication building included in the optical transmission network 10. The edges include a transmission path such as an optical fiber. Note that the edges may be referred to as links.
The weight calculation unit 201 calculates the weight of edges using, for example, a plurality of parameters regarding the edges including distances, transmission planes, and nodes to be connected. For example, the weight calculation unit 201 acquires a plurality of parameters regarding edges or nodes from a network information database (DB) 205 stored in the storage unit 204, and calculates the weight of each of the edges included in the optical transmission network 10. Furthermore, the weight calculation unit 201 stores the calculated weight of each of the edges in the network information DB 205.
In the route determination unit 202, the weight calculation unit 201 determines an appropriate route (first route) from a start point node to an end point node in the optical transmission network 10 based on the weight of each of the edges stored in the network information DB 205. For example, the route determination unit 202 applies Dijkstra's algorithm to obtain the shortest route from the start point node to the end point node. Dijkstra's algorithm is a method of setting weights indicating how much cost (for example, distance) is required to pass through nodes or edges to the nodes and the edges included in a communication network, and determining a route having the smallest weight. However, the route determination unit 202 may perform route search by a method other than Dijkstra's algorithm.
In this manner, the weight calculation unit 201 calculates the weights of the edges for an objective function of the plurality of parameters in a case where the plurality of parameters needs to be considered as the weights of the edges or the nodes to be passed through at the time of route search. Therefore, the route determination unit 202 can efficiently determine an appropriate route from the start point node to the end point node using the weights of the edges calculated by the weight calculation unit 201.
The Interface unit 203 provides a user interface (UI) by which a user uses a route determination function provided by the route determination device 100, an application programming interface (API) by which a user uses the route determination function provided by the route determination device 100 from another device or the like, and the like. For example, a user (or another device) can set search conditions including a start point node, an end point node, and the like in the optical transmission network 10 using the interface unit 203. Furthermore, a user (or another device) can acquire a result of route determination processing by the route determination device 100 and the like using the interface unit 203.
The storage unit 204 stores various types of information including the network information DB 205, data, and the like. The network information DB 205 is a database in which topology information indicating a connection relationship between the nodes and the edges in the optical transmission network 10, the plurality of parameters and attribute information regarding the edges or the nodes, the weights of the edges calculated by the weight calculation unit 201, and the like are stored.
In a case where local addition is performed, for example, a transmission plane 1 illustrated in
On the other hand, in a case where planar addition is performed, an optical transmission network obtained by the addition is distinguished as a network (subnetwork) different from the existing optical transmission network (transmission plane 1 in
Here, the following description assumes that the optical transmission network 10 includes the transmission plane 1, the transmission plane 2, and the transmission plane 3. Note that the transmission plane 1, the transmission plane 2, and the transmission plane 3 are examples of one or more transmission planes (subnetworks) including nodes and edges.
The “nodes A” include information of the “numbers” and the “node types” of nodes connected to one ends of the edges (nodes A). The “numbers” are identifiers for identifying the nodes A. The “node types” are attribute information of the nodes A in a case where there is a plurality of types of nodes. Here, it is assumed that there are three attributes of nodes of an optical cross connect (OXC), a repeater (REP), and a through (Thru).
Here, the OXC is an optical cross-connect that switches wavelength-multiplexed signals in units of wavelengths in the optical transmission network 10. The REP is an optical repeater that relays optical signals. Thru is, for example, a connection point of an optical fiber by fusion splicing or the like.
The “nodes Z” include information of the “numbers” and the “node types” of nodes connected to the other ends of the edges (nodes Z). The “numbers” are identifiers for identifying the nodes Z. The “node types” are attribute information of the nodes Z in a case where there is a plurality of types of nodes. For example,
The “transmission planes” are information indicating in which of the transmission planes 1 to 3 described in
Note that, in the optical transmission network 10, as described with reference to
Therefore, in the present embodiment, for example, in a case where there is a plurality of edges between the same nodes such as edge numbers “1002” and “1003” of the network information DB 205 in
Note that the items included in the network information DB illustrated in
Next, a flow of processing of a route determination method according to the present embodiment will be described.
In step S501, the weight calculation unit 201 acquires a plurality of parameters for calculating the weight of an edge. For example, the weight calculation unit 201 acquires information such as a transmission plane, a distance, and the number of OXCs connected to the edge as a plurality of parameters for calculating the weights of the edges from the network information DB 205 as illustrated in
In the optical transmission network 10, efficiently accommodating communication demand is important. For example, as illustrated in
Preferably, the network information DB 205 includes priority information 401 of the transmission planes as illustrated in
Furthermore, in path design of the optical transmission network 10, searching for a route in consideration of attenuation and distortion of an optical signal is important. As factors of attenuation and distortion of an optical signal, not only the distance but also the number of nodes to be passed through, the types of the nodes, and the like are important. For example, a repeater (REP) and a connection point (Thru) of an optical fiber by fusion splicing or the like have a small influence on an optical signal, but it is considered that an influence on an optical signal by an optical cross connect (OXC) being passed through should be considered. Therefore, the number of OXCs connected to the edge is also one of the important parameters for calculating the weights of the edges.
In step S502, the weight calculation unit 201 determines a priority order of the acquired parameters. Here, as an example, the priority of the transmission plane is determined to be the highest assuming the transmission plane>the distance>the number of OXCs.
Note that, as a method of determining the priority order of the parameters, for example, a user may set the priority order of the parameters using the interface unit 203. In this case, the weight calculation unit 201 determines the priority order of the parameters by reading the priority order of the parameters set by the user.
As another example, the priority order of the parameters may be determined such that the priority is set higher as the number of digits of the weight of a parameter is larger (alternatively, the priority is set higher as the number of digits of the weight of the parameter is smaller).
Note that, as the weight of the transmission plane, for example, a value of the priority of the priority information 401 of the transmission plane as illustrated in
In step S503, the weight calculation unit 201 determines a coefficient of each of the parameters. Note that, as a method of determining the coefficient of each of the parameters, for example, a user may set the coefficient of each of the parameters using the interface unit 203. In this case, the weight calculation unit 201 determines the coefficient of each of the parameters by reading the coefficient of each of the parameters set by the user.
As another example, the weight calculation unit 201 may determine the coefficient of each of the parameters based on the number of digits of a numerical value of each of the parameters using the following Formula (1).
In step S504, the weight calculation unit 201 weights the value of each of the parameters by a coefficient and adds weighted values of the parameters to calculate the weight of an edge using, for example, the following Formula (2).
where kn is a coefficient for a parameter m of the priority n, and pn is a parameter of the priority n.
Furthermore, the weight calculation unit 201 stores the calculated weight in, for example, the “weight” of the network information DB 205 as illustrated in
Through the above processing, the route determination device 100 can obtain the network information DB 205 in which the “weight” of each of the edges is stored as illustrated in
The weight calculation unit 201 may calculate the weight of the edge by multiplying the value of each of the parameters using, for example, the following Formula (3) instead of Formula (2).
In this case, the weight calculation unit 201 can omit processing of steps S502 and S503 in the weight calculation processing illustrated in
In step S601, the route determination unit 202 determines route search conditions. For example, the route determination unit 202 sets a start point node, an end point node, and the like received from a user (or another device) or the like using the interface unit 203 as route search conditions. Here, as an example for description, the following description assumes that the node “N6” is set as a start point node 701 and the node “N7” is set as an end point node 702 in the optical transmission network 10 as illustrated in
In step S602, the route determination unit 202 obtains an appropriate route from the start point node 701 to the end point node 702 on one or more transmission planes included in the optical transmission network 10. For example, the route determination unit 202 obtains a route having the smallest weight from the start point node 701 to the end point node 702 using Dijkstra's algorithm on each of the transmission planes 1 to 3 as illustrated in
For example, the shortest route obtained by the search on the transmission plane 1 as illustrated in
In step S603, the route determination unit 202 compares the weights of routes obtained by the search. For example, on the transmission plane 1, the edge 703 corresponds to an edge having an edge number “1009” of the network information DB 205 as illustrated in
In step S604, the route determination unit 202 determines a route from the start point node 701 to the end point node 702 based on the weights compared in step S603. For example, since the weight of the route obtained by the search on the transmission plane 3 is the smallest, the route determination unit 202 determines the route obtained by the search on the transmission plane 3 as the optimal route.
Processing of
The route determination device 100 according to the present embodiment can be implemented, for example, by a computer 800 as illustrated in
The above program can be stored and distributed by being recorded in a recording medium (portable memory or the like) that the computer 800 can read. Further, the program can be provided via a network such as the Internet or an electronic mail.
The program for performing processing in the computer 800 is provided through a recording medium 1001 such as a CD-ROM or a memory card, for example. When the recording medium 1001 that stores the program is set in the drive device 1000, the program is installed from the recording medium 1001 into the auxiliary storage device 1002 via the drive device 1000. However, the program is not necessarily installed from the recording medium 1001, but may be downloaded from another computer via a network. The auxiliary storage device 1002 stores the installed program, and also stores necessary files, data, and the like.
In a case where an instruction to start the program is input, the memory device 1003 reads the program from the auxiliary storage device 1002, and stores the program therein. According to the program stored in the memory device 1003, the CPU 1004 implements the functions related to the respective components described in the present embodiment. The interface device 1005 is used as an interface for connecting to a network. The display device 1006 displays a graphic user interface (GUI) or the like by the program. The input device 1007 includes a keyboard and a mouse, buttons, a touch panel, and the like, and is used to input various operation instructions. The output device 1008 outputs a calculation result. Note that the route determination device 100 may not include the display device 1006 and/or the input device 1007.
According to the route determination system 1 according to the present embodiment, in a case where there is a plurality of parameters to be considered at the time of route search, the plurality of parameters can be expressed as one weight by the weight of an edge being calculated for an objective function of the plurality of parameters. Therefore, for example, a route search method of efficiently obtaining a route based on the weight of an edge such as Dijkstra's algorithm can be applied.
Furthermore, the route determination system 1 stores the weight of an edge calculated by the weight calculation processing as illustrated in
Furthermore, in a communication network having complicated structure in which a plurality of edges exists between nodes, the route determination system 1 can simplify a graph by listing attribute information (a plurality of parameters) of nodes or edges included in the communication network. Therefore, the route determination system 1 can reduce the calculation amount of simulation for a communication network having complicated structure.
As described above, according to the present embodiment, an appropriate route can be efficiently determined even in a case where the number of types of parameters to be considered increases in the optical transmission network (communication network) 10 including a plurality of nodes and edges connecting the nodes.
The present description discloses a route determination device, a route determination method, and a program in at least the following clauses.
A route determination device including
The route determination device according to the clause 1, in which
The route determination device according to the clause 2, in which
The route determination device according to any one of the clauses 1 to 3, in which
The route determination device according to any one of the clauses 1 to 4 further including
A route determination method performed by a computer, the route determination method including
A program causing a computer to perform processing, the processing including
Although the present embodiment has been described above, the present invention is not limited to such a specific embodiment, and various modifications and changes can be made within the scope of the present invention described in the claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2021/020086 | 5/26/2021 | WO |