JP4182872B2 - Fault recovery path search method and fault recovery path search program in communication network - Google Patents
Fault recovery path search method and fault recovery path search program in communication network Download PDFInfo
- Publication number
- JP4182872B2 JP4182872B2 JP2003409014A JP2003409014A JP4182872B2 JP 4182872 B2 JP4182872 B2 JP 4182872B2 JP 2003409014 A JP2003409014 A JP 2003409014A JP 2003409014 A JP2003409014 A JP 2003409014A JP 4182872 B2 JP4182872 B2 JP 4182872B2
- Authority
- JP
- Japan
- Prior art keywords
- route
- node
- section
- calculation
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、通信網における故障復旧経路探索方法及び故障復旧経路探索プログラムに係り、特に、ノード1〜k(k:正数)を通過する現用パスと現用パスのノード間の区間[m,m+1](1≦m<k、m:整数)の故障に対しての予備リソースをそれぞれの区間毎に用意し、故障発生時に故障箇所に応じて故障復旧動作を行う通信網における故障復旧経路を計算する、通信網における故障復旧経路探索方法及び故障復旧経路探索プログラムに関する。
The present invention relates to a failure recovery route search method and a failure recovery route search program in a communication network, and in particular, a section [m, m between an active path passing through
従来の故障復旧方法の形態は、主に次の2つに大別することができる。一つは、“パス端切り替え”と呼ばれるものであり、もうひとつは、“故障端切り替え”と呼ばれるものである。 Conventional failure recovery methods can be roughly divided into the following two types. One is called “path end switching” and the other is called “failure end switching”.
パス端切り替え方法では、利用していた経路に故障が生じた場合、その経路の始点ノードから終点ノードまで、今まで利用していた経路と重ならない新しい経路に経路の切り替えを行う方法である(例えば、非特許文献1,2参照)。ここで、故障後に利用する新しい経路は、故障発生の前に、予備経路として予め決定される。
In the path edge switching method, when a failure occurs in a route that has been used, the route is switched to a new route that does not overlap with the route that has been used so far, from the start node to the end node of the route ( For example, see non-patent
一方、故障端切り替えは、故障した部分だけ代用経路で復旧させ、その他の部分は元々利用していた経路をそのまま利用する方法である。これを実現する方法として、IPリルーティングがある。IPリルーティングを実現するプロトコルは、RIP Version2, OSPFなどが考案されている(例えば、非特許文献3,4参照)。しかし、IPリルーティングは、故障が発生し、ネットワークトポロジが変化してから新しい経路を決定するもので、事前予約型のリストレーションは実現できず、それに適応する予備パス経路の計算方法も無い。
On the other hand, the failure end switching is a method in which only a failed part is restored by a substitute route, and the other part is used as it is. One way to achieve this is IP rerouting. As a protocol for realizing IP rerouting, RIP Version2, OSPF and the like have been devised (for example, see Non-Patent
このように、従来の技術の中には、予備経路を事前予約でき、かつ、故障端で切り替えのリストレーションに対応できる技術はない。 As described above, there is no technique in the prior art that can reserve a preliminary route in advance and that can cope with restoration restoration at the failure end.
ここでは、あるネットワーク上にパスを想定し、その一部分を代用できる経路を決定する方法を考える。 Here, a method is assumed in which a path is assumed on a certain network and a route that can substitute a part of the path is determined.
以下で想定するネットワーク及び、ネットワーク上のパスの持つ条件を次に示す。 The conditions assumed for the network and the path on the network are shown below.
(1) ネットワークトポロジは、IDを持ったノードと、それらの間の辺(リンク)、さらに、リンクに付けられた重みを用いた有向ラベルグラフGで表す。 (1) The network topology is represented by a directed label graph G using nodes having IDs, edges (links) between them, and weights attached to the links.
(2) リンクに与えられる重みの値は必ず正の値である。 (2) The weight value given to the link is always a positive value.
(3) あるノードから他のあるノードへ向かうリンクが存在すれば、必ずその逆方向のリンクも存在する。また、そのような互いに逆向きで両端に持つノードが同じ出る2つのリンクに与えられる重みの値は等しいものとする。 (3) If there is a link from one node to another node, there is always a link in the opposite direction. In addition, it is assumed that the weight values given to two links in which opposite nodes are opposite and have the same node at both ends are equal.
(4) グラフG上で、N個のノードとN−1本のリンクからなるパスPが与えられている(但し、N≧2)。 (4) On the graph G, a path P composed of N nodes and N−1 links is given (where N ≧ 2).
(5) Pは始点(Ingressノード)と終点(Egressノード)を持つ枝分かれのない経路。 (5) P is an unbranched route having a start point (Ingress node) and an end point (Egress node).
(6) Pを構成するノードは、自分以外のPを構成する全てのノードのアドレスと全ての隣接関係を知っている。 (6) A node constituting P knows addresses of all nodes constituting P other than itself and all adjacencies.
(7) Pは最適経路とは限らない。 (7) P is not necessarily the optimum route.
(8) PをIngressノードからEgressノードまで辿る時、k番目に現れるPの構成ノードをNODE[k]、k番目に現れるリンクをLINK[k]とする。 (8) When P is traced from the Ingress node to the Egress node, the kth component node of P appears as NODE [k], and the kth link appears as LINK [k].
(9) リンクの重みには通過する際のコストを与え、LINK[k]のコストをLINK_WEIGHT[k]とする。 (9) The cost of passing is given to the link weight, and the cost of LINK [k] is LINK_WEIGHT [k].
(10) NODE[a]とNODE[b]間の最適経路をh[a,b]とし、そのコストをCOST[a,b]で表す。 (10) The optimum route between NODE [a] and NODE [b] is h [a, b], and the cost is represented by COST [a, b].
(11) NODE[i]は、次の情報を持つ。 (11) NODE [i] has the following information.
・NODE[i]に隣接しているノードの数DEG[i]。 The number of nodes adjacent to NODE [i] DEG [i].
・NODE[i]から隣接ノードADJ[i,j]までのコスト。 Cost from NODE [i] to adjacent node ADJ [i, j].
ADJ_WEIGHT_OUT[i,j](j=1〜DEG[i])。 ADJ_WEIGHT_OUT [i, j] (j = 1 to DEG [i]).
・隣接ノードADJ[i,j]からNODE[i]までのコストADJ_WEIGHT_IN[j,i](j=1〜DEG[i])。 The cost ADJ_WEIGHT_IN [j, i] (j = 1 to DEG [i]) from the adjacent node ADJ [i, j] to NODE [i].
このような条件を持つネットワークとパスの一例を図16に、パスの表現方法を図17に示す。ここで、LINK[1]〜LINK[N-1]のN-1本のリンクの代用経路s[1]〜s[N-1]を決定したい。LINK[k]とs[k]の関係を図18に示す。 An example of a network and a path having such conditions is shown in FIG. 16, and a path expression method is shown in FIG. Here, it is desired to determine substitute routes s [1] to s [N-1] for N-1 links from LINK [1] to LINK [N-1]. The relationship between LINK [k] and s [k] is shown in FIG.
しかしながら、上記の従来の方法には次のような解決すべき課題がある。 However, the above conventional method has the following problems to be solved.
パス端切り替えでは、予備経路の選択には、予備経路は元の経路と重なってはならないという制約、また、予備経路と元の経路は終点と始点を同じくしなければならないという制約が課せられる。このため、故障復旧の際に、故障と関係のない部分まで制御しなければならず、故障のない部分まで故障復旧の影響を受けるという問題点である。 In path end switching, the selection of a backup path is subject to the restriction that the backup path must not overlap with the original path, and the backup path and the original path must have the same end point and start point. For this reason, at the time of failure recovery, it is necessary to control a portion that is not related to the failure, and the portion that does not have a failure is affected by the failure recovery.
また、故障端切り替えであるIPリルーティングでは、故障を検出してから代用経路を計算するため、故障から復旧までに長い時間を要するという問題点がある。 In addition, IP rerouting, which is failure edge switching, has a problem that it takes a long time from failure to recovery because a substitute route is calculated after the failure is detected.
これらの問題は、故障端で代用経路への切り替えができ、かつ、代用経路を事前予約する方法により解決することができるが、このような方法はこれまでに実現されていない。その理由の一つとして、効率的な代用経路の計算方法が存在しなかったことが挙げられる。 These problems can be solved by a method of switching to a substitute route at the failure end and pre-reserving the substitute route, but such a method has not been realized so far. One reason for this is that there was no efficient method for calculating a substitute route.
本発明は、上記の点に鑑みなされたもので、故障端で代用経路への切り替えを行う際に、故障復旧制御を行う範囲を最小限に抑える代用経路の計算法を用いた通信網における故障復旧経路探索方法及び故障復旧経路探索プログラムを提供することを目的とする。 The present invention has been made in view of the above points, and when switching to a substitute route at the failure end, a failure in a communication network using a substitute route calculation method that minimizes the range for performing failure recovery control. An object of the present invention is to provide a recovery route search method and a failure recovery route search program.
図1は、本発明の原理を説明するための図である。 FIG. 1 is a diagram for explaining the principle of the present invention.
本発明は、ノード1〜k(k:正数)を通過する現用パスと該現用パスのノード間の区間[m,m+1](1≦m<k,m:整数)の故障に対しての予備リソースをそれぞれの区間毎に用意し、故障発生時に故障箇所に応じて故障復旧動作を行う通信網上のノード装置、または、該通信網を制御する装置が行う通信網における故障復旧経路探索方法において、
ノード装置の計算手段が、
故障復旧のための予備経路の計算の際に、計算対象現用区間[m,m+1]の計算のために、該計算対象現用区間のリンクを除いた通信網に存在するすべてのリンクの重みの総和より大きな値を与えて迂回経路を計算する迂回経路計算過程(ステップ1)と、
迂回経路の計算結果が現用パスと他の区間を共有する場合には(すてぷ2)、現用パスと他の区間の重なった部分を除去して計算対象区間[m,m+1]を含む区間の予備経路とする予備経路決定過程(ステップ3)と、からなる。
The present invention is for a failure in a section [m, m + 1] (1 ≦ m <k, m: integer) between a working path passing through
The node device calculation means
When calculating the backup path for failure recovery, the sum of the weights of all links existing in the communication network excluding the link of the calculation target current section for calculation of the calculation target current section [m, m + 1]. A detour route calculation process (step 1) for calculating a detour route by giving a larger value;
If the calculation result of the detour route shares the other path with the working path (step 2), the section including the calculation target section [m, m + 1] by removing the overlapping part of the working path and the other section And a backup route determination process (step 3).
また、本発明は、予備経路決定過程において、重なった部分を除去して得られた計算対象区間を含む区間について、再度迂回経路計算過程及び予備経路決定過程を行う。 Further, according to the present invention, in the backup route determination process, the detour route calculation process and the backup route determination process are performed again for the section including the calculation target section obtained by removing the overlapping portion.
また、本発明の迂回経路計算過程において、重み付き有向グラフの最短経路を求める手法を用いる。 Further, in the detour route calculation process of the present invention, a method for obtaining the shortest route of the weighted directed graph is used.
また、本発明の重み付き有向グラフの最短経路を求める手法として、ダイクストラ法を用いる。 The Dijkstra method is used as a method for obtaining the shortest path of the weighted directed graph of the present invention.
本発明は、ノード1〜k(k:正数)を通過する現用パスと該現用パスのノード間の区間[m,m+1](1≦m<k,m:整数)の故障に対しての予備リソースをそれぞれの区間毎に用意し、故障発生時に故障箇所に応じて故障復旧動作を行う通信網上のノード装置、または、該通信網を制御する装置に実効させる故障復旧経路探索プログラムであって、
計算対象現用区間[m,m+1]の計算のために、該計算対象現用区間のリンクを除いた通信網に存在するすべてのリンクの重みの総和より大きな値を入力する入力ステップと、
故障復旧のための予備経路の計算として、入力された値を用いて迂回経路を計算する計算ステップと、
計算ステップにおける迂回経路の計算結果が現用パスと他の区間を共有する場合には、現用パスと他の区間の重なった部分を除去して計算対象区間[m,m+1]を含む区間の予備経路として出力する予備経路決定ステップと、をコンピュータに実行させる。
The present invention is for a failure in a section [m, m + 1] (1 ≦ m <k, m: integer) between a working path passing through
An input step for inputting a value larger than the sum of the weights of all links existing in the communication network excluding the link of the calculation target working section for calculation of the calculation target working section [m, m + 1];
A calculation step for calculating a detour route using the input value as a backup route calculation for failure recovery,
When the calculation result of the detour route in the calculation step shares the active path and other sections, the overlapping part of the active path and other sections is removed and the section including the calculation target section [m, m + 1] And causing the computer to execute a backup route determination step of outputting the backup route.
また、本発明は、予備経路決定ステップにおいて、重なった部分を除去して得られた計算対象区間を含む区間について、再度迂回経路計算ステップ及び予備経路決定ステップを行わせる。 Further, according to the present invention, in the backup route determination step, the detour route calculation step and the backup route determination step are performed again for the section including the calculation target section obtained by removing the overlapping portion.
また、本発明の迂回経路計算ステップにおいて、重み付き有向グラフの最短経路を求める手法を用いる。 Further, in the detour route calculation step of the present invention, a method for obtaining the shortest route of the weighted directed graph is used.
また、本発明の迂回経路計算ステップにおいて、重み付き有向グラフの最短経路を求める手法として、ダイクストラ法を用いる。 In the detour route calculation step of the present invention, the Dijkstra method is used as a method for obtaining the shortest route of the weighted directed graph.
上記のように、本発明は、予備経路の計算結果に基づいて現用回線を除外して最短の迂回経路を求めることにより、故障復旧制御を行う範囲を少なくすることができる。 As described above, according to the present invention, the range for performing the failure recovery control can be reduced by obtaining the shortest detour route by excluding the active line based on the calculation result of the backup route.
以下、図面と共に、本発明の実施の形態を説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
最初に、本発明で利用するダイクストラ法の性質の中で必要となる条件は、2つのノード間で、リンクに与えられた重み(この場合はコスト)が最小となるような最適経路を求めることができ、最適経路を求めるためには、全てのノード、または、それらと結びつくリンクとその重み(正の値)を表した有向ラベルグラフが必要となる。 First, the necessary condition in the nature of the Dijkstra method used in the present invention is to find an optimum route between two nodes so that the weight (in this case, cost) given to the link is minimized. In order to obtain the optimum route, a directed label graph representing all nodes or links linked to them and their weights (positive values) is required.
なお、以下の説明において、A←Bは、Aの値にBの値を代入することを示す。また、MIN_DOWNの「DOWN」は、downstreamから、MIN_UPの「UP」は、upstreamからを意味する。 In the following description, A ← B indicates that the value of B is substituted for the value of A. Further, “DOWN” of MIN_DOWN means from downstream, and “UP” of MIN_UP means from upstream.
また、以下に示す動作は、通信網に接続されるノード装置(コンピュータ)上、または、当該通信網を管理する(または、監視する)システム上の装置(コンピュータ)で行われる。 The following operations are performed on a node device (computer) connected to the communication network or a device (computer) on a system that manages (or monitors) the communication network.
[第1の実施の形態]
本実施の形態では、NODE[k]とNODE[K+1]の間のLINK[k]を使わない場合に、そのリンクの代用として利用できる経路s[k]を決定する。このような経路を見つける手順を以下に示す。
[First Embodiment]
In this embodiment, when LINK [k] between NODE [k] and NODE [K + 1] is not used, a route s [k] that can be used as a substitute for the link is determined. The procedure for finding such a route is shown below.
以下の(1)〜(3)の手順をk=1〜N−1まで繰り返す。 The following procedures (1) to (3) are repeated from k = 1 to N-1.
手順(1) LINK[k]のコストを∞にする。 Procedure (1) Set the cost of LINK [k] to ∞.
手順(2) LINK[k]の両端ノード、NODE[k],NODE[k+1]の間でのダイクストラ法などを用いて最短経路h[k,k+1]を求める。 Procedure (2) The shortest path h [k, k + 1] is obtained by using the Dijkstra method between nodes at both ends of LINK [k] and NODE [k], NODE [k + 1].
手順(3) 最短経路が存在する場合はそれをs[k]←h[k,k+1]とし、ない場合には、s[k]の決定をスキップする。 Procedure (3) If there is a shortest path, set s [k] ← h [k, k + 1], otherwise skip determination of s [k].
以下に、上記の手順をフローチャートを用いて説明する。 Hereinafter, the above procedure will be described with reference to a flowchart.
図2は、本発明の第1の実施の形態における動作のフローチャートである。 FIG. 2 is a flowchart of the operation in the first embodiment of the present invention.
ステップ101) 初期値として、kに1を代入する。 Step 101) As an initial value, 1 is substituted for k.
ステップ102) LINK[k]のコストを∞にする。 Step 102) The cost of LINK [k] is set to ∞.
ステップ103) LINK[k]の両端ノード、NODE[k]、NODE[k+1]の間でのダイクストラ法などを用いて最短経路h[k,k+1]を求める。 Step 103) The shortest path h [k, k + 1] is obtained by using the Dijkstra method between the both end nodes of LINK [k], NODE [k], NODE [k + 1].
ステップ104) 最短経路が存在する場合には、ステップ105に移行し、無い場合には、ステップ106に移行する。 Step 104) If the shortest path exists, the process proceeds to step 105, and if not, the process proceeds to step 106.
ステップ105) s[k]にh[k,k+1]を代入し、ステップ106に移行する。 Step 105) Substitute h [k, k + 1] for s [k] and proceed to Step 106.
ステップ106) kがN-1になった場合には、処理を終了し、ならない場合には、ステップ107に移行する。 Step 106) If k becomes N-1, the process is terminated. If not, the process proceeds to Step 107.
ステップ107) kをインクリメントし、ステップ102に移行する。 Step 107) Increment k and go to Step 102.
上記により、その両端のノード間に、LINK[k]を通らない経路が存在する場合には代用経路を求めることができる。 As described above, when there is a route that does not pass LINK [k] between the nodes at both ends, a substitute route can be obtained.
[第2の実施の形態]
本実施の形態は、前述の第1の実施の形態を更に改善したものである。例えば、図3に示した例を考える。ここでは、簡単のため、双方向のリンクと重みを一本の線と一つの重みで表した。このネットワークで、NODE[k]からNODE[k+1]までのLINK[k]の代用経路を第1の実施の形態の方法で求めると、図3に点線で示したように、NODE[k-1]を通過する経路が求まる。パスPのLINK[k]部分を、ここで求めたh’[k]で代用すると、代用してできた新しいパスP’には冗長部分ができてしまう。パスP’にとってNODE[k]→NODE[k−1]の部分は必要なく、取り除いても差し支えない。第1の実施の形態では、この冗長部分が生じることが避けられないが、本実施の形態では、このような冗長部分ができないように経路s[k]を選択することができる。
[Second Embodiment]
This embodiment is a further improvement of the first embodiment described above. For example, consider the example shown in FIG. Here, for simplicity, bidirectional links and weights are represented by one line and one weight. In this network, when a substitute route of LINK [k] from NODE [k] to NODE [k + 1] is obtained by the method of the first embodiment, as shown by a dotted line in FIG. 3, NODE [k -1] is found. If the LINK [k] part of the path P is substituted with h ′ [k] obtained here, a redundant part is created in the new path P ′ obtained by substitution. The part of NODE [k] → NODE [k−1] is not necessary for the path P ′ and can be removed. In the first embodiment, it is inevitable that this redundant portion is generated, but in this embodiment, the path s [k] can be selected so that such a redundant portion is not generated.
この方法で求まる経路s[k]の条件を以下に示す。 The conditions of the route s [k] obtained by this method are shown below.
(条件1) LINK[k]を使わない。 (Condition 1) Do not use LINK [k].
(条件2) 経路の始点と終端点は共に、P上のノードであり、s[k]の始点はNODE[k]または、NODE[k]よりIngress側のP上のノードで、終端点はNODE[k+1]または、NODE[k+1]より、Egress側のP上のノード。 (Condition 2) The start point and end point of the route are both nodes on P. The start point of s [k] is NODE [k] or a node on P that is ingress from NODE [k], and the end point is Node on P on the Egress side from NODE [k + 1] or NODE [k + 1].
(条件3) 始点と終端点以外に、P上のノードを通らない。 (Condition 3) Do not pass any node on P other than the start and end points.
(条件4) NODE[k]からNODE[k+1]の最短経路か、または、その一部分。 (Condition 4) The shortest path from NODE [k] to NODE [k + 1] or a part thereof.
つまり、ここで求める経路s[k]は、NODE[k]から、NODE[k+1]からの最短経路h[k,k+1]を求め、h[k,k+1]をPに挿入したときにできる冗長な経路を取り除いたものになる。第1の実施の形態で求めたh’[k]の例を図4に、また、同様のネットワークにおいてこの方法で求めたs[k]の一例を図5に示す。 That is, the route s [k] to be obtained here is obtained from NODE [k] to obtain the shortest route h [k, k + 1] from NODE [k + 1], and h [k, k + 1] is set to P. It eliminates the redundant path that is created when it is inserted. FIG. 4 shows an example of h ′ [k] obtained in the first embodiment, and FIG. 5 shows an example of s [k] obtained by this method in the same network.
図5では、第1の実施の形態において選択された図4に示した経路からNODE[k]→Node-a→NODE[k+1]の部分が取り除かれている。 In FIG. 5, the portion of NODE [k] → Node-a → NODE [k + 1] is removed from the path shown in FIG. 4 selected in the first embodiment.
k=1,2…N-1について、LINK[k]の代用経路s[k]を求める手順を以下に示す。 The procedure for obtaining the substitute path s [k] of LINK [k] for k = 1, 2... N−1 is shown below.
以下の手順(1)〜(6)をk=1〜N−1について行うことでs[1],s[2],…,s[N-1]が求まる。 S [1], s [2],..., S [N-1] can be obtained by performing the following steps (1) to (6) for k = 1 to N-1.
手順(1) 該当区間(LINK[k])の経路除去の動作として、LINK[k]のコストLINK_WEIGHT[k]←∞とする。 Procedure (1) As the route removal operation for the corresponding section (LINK [k]), the cost of LINK [k] is set to LINK_WEIGHT [k] ← ∞.
手順(2) 上記の手順(1)において該当区間(LINK[k])の除去を行った上で、NODE[k]からNODE[k+1]〜NODE[N]までの最短経路h[k,m](m=k+1〜N)と、h[k,m]のコストCOST[k,m](m=k+1〜N)をダイクストラ法により計算する。
Procedure (2) After removing the corresponding section (LINK [k]) in the above procedure (1), the shortest path h [k] from NODE [k] to NODE [k + 1] to NODE [ N ] , M] (m = k + 1 to N) and the cost COST [k, m] (m = k + 1 to N) of h [k, m] are calculated by the Dijkstra method.
i.COST[k,k+1]=∞であるなら、s[k]の決定をスキップする。 i. If COST [k, k + 1] = ∞, the determination of s [k] is skipped.
ii.COST[k,k+1]≠∞ならば、手順(3)に移行する。 ii. If COST [k, k + 1] ≠ ∞, the process proceeds to step (3).
手順(3) m=k+1〜NについてのCOST[k,m]の中の最小値MIN_DOWN[k]とMIN_DOWN[k]を与えるmを求める。また、そのときのmを、mMIN_DOWN[k]とする。 Procedure (3) Obtain m that gives the minimum values MIN_DOWN [k] and MIN_DOWN [k] in COST [k, m] for m = k + 1 to N. In addition, m at that time is set to m MIN — DOWN [k].
手順(4) NODE[mMIN_DOWN[k]]からNODE[1]〜NODE[k-1]までの最短経路h[mMIN_DOWN[k],m](m=1〜k)と、その最短経路のコストCOST[mMIN_DOWN,[k],m](m=1〜k)をダイクストラ法により計算する。 Step (4) Shortest path h [m MIN_DOWN [k], m] (m = 1 to k) from NODE [m MIN_DOWN [k]] to NODE [1] to NODE [k-1] and its shortest path Cost COST [m MIN — DOWN , [k], m] (m = 1 to k) is calculated by the Dijkstra method.
手順(5)m=1〜kについてのCOST[m, MIN_DOWN[k]]を与えるmを求める。また、そのときのmをmMIN_UP[k]とする。 Procedure (5) Obtain m giving COST [m, MIN_DOWN [k]] for m = 1 to k. In addition, m at that time is set to m MIN_UP [k].
手順(6) NODE[mMIN_UP[k]]を求め、s[k]←h[mMIN_UP[k],mMIN_DOWN[k]]とする。 Procedure (6) NODE [m MIN_UP [k]] is obtained and s [k] ← h [m MIN_UP [k], m MIN_DOWN [k]].
上記の手順を以下にフローチャートを用いて説明する。 The above procedure will be described below using a flowchart.
図6、図7は、本発明の第2の実施の形態における動作のフローチャートである。 6 and 7 are flowcharts of operations in the second embodiment of the present invention.
ステップ201) 初期値としてkに1を代入する。
Step 201)
ステップ202) LINK[k]のコストLINK_WEIGHT[k]←∞とする。 Step 202) Let LINK [k] cost LINK_WEIGHT [k] ← ∞.
ステップ203) MIN_UP←∞、mMIN_UP←k+1、MIN_DOWN←∞、mMIN_DOWN←kとする。 Step 203) MIN_UP ← ∞, m MIN_UP ← k + 1, MIN_DOWN ← ∞, m MIN_DOWN ← k.
ステップ204) m←Nとする。 Step 204) m ← N.
ステップ205) ダイクストラ法により、最短経路h[k,m](m=k+1〜N)と、h[k,m]のコストCOST[k,m](m=k+1〜N)を計算する。 Step 205) Calculate the shortest path h [k, m] (m = k + 1 to N) and the cost COST [k, m] (m = k + 1 to N) of h [k, m] by the Dijkstra method. .
ステップ206) MIN_UP記号COST[k,m]であるかを判定し、そうであるならステップ207に移行し、そうでない場合にはステップ208に移行する。 Step 206) It is determined whether or not the MIN_UP symbol COST [k, m]. If so, the process proceeds to Step 207. If not, the process proceeds to Step 208.
ステップ207) MIN_UP←COST[k,m]、mMIN_DOWN←mとする。 Step 207) MIN_UP ← COST [k, m], m MIN_DOWN ← m.
ステップ208) m←m−1とする。 Step 208) Set m ← m-1.
ステップ209) m=kであれば、ステップ210に移行し、そうでなければステップ205に戻る。
Step 209) If m = k, go to
ステップ210) ダイクストラ法により、h[mMIN_DOWN,m]と、COST[mMIN_DOWN,m]を求める。 Step 210) h [m MIN_DOWN , m] and COST [m MIN_DOWN , m] are obtained by the Dijkstra method.
ステップ211) MIN_DOWN≧COST[mMIN_DOWN,m]であるかを判定し、そうである場合には、ステップ212に移行し、そうでない場合にはステップ213に移行する。
Step 211) It is determined whether MIN_DOWN ≧ COST [m MIN_DOWN , m]. If so, the process proceeds to
ステップ212) MIN_DOWN←COST[mMIN_DOWN,m]、mMIN_UP←mとする。 Step 212) MIN_DOWN ← COST [m MIN_DOWN , m], m MIN_UP ← m.
ステップ213) m=1である場合にはステップ215に移行し、そうでない場合には、ステップ214に移行する。
Step 213) If m = 1, go to Step 215; otherwise, go to
ステップ214) m←m−1とし、ステップ210に移行する。 Step 214) Set m ← m-1, and proceed to Step 210.
ステップ215) COST[k,k+1]≠∞である場合にはステップ216に移行し、そうでない場合にはステップ219に移行する。 Step 215) If COST [k, k + 1] ≠ ∞, go to Step 216, otherwise go to Step 219.
ステップ216) ダイクストラ法により、h[mMIN_UP,mMIN_DOWN]を求める。 Step 216) h [m MIN_UP , m MIN_DOWN ] is obtained by Dijkstra method.
ステップ217) s[k]←h[mMIN_UP,mMIN_DOWN]とする。 Step 217) s [k] ← h [m MIN_UP , m MIN_DOWN ].
ステップ218) k=N-1となったかを判定し、なった場合には、処理を終了し、ならない場合には、ステップ219に移行する。
Step 218) It is determined whether or not k =
ステップ219) kをインクリメントし、ステップ202に移行する。
Step 219) Increment k and go to
上記の手順(1)〜(6)までを詳細に説明する。 The above procedures (1) to (6) will be described in detail.
手順(1) ダイクストラ法LINK_WEIGHT[k]←∞とすることは、h[k,m]を選択する際に、LINK[k]を用いないことを意図している。LINK[k]以外にNODE[k]で始まり、NODE[k+1]で終端する有限のコストの経路が一つでも存在するならば、ダイクストラ法でLINK[k]を含むh[k,m]が決定されることはない。 Procedure (1) The Dijkstra method LINK_WEIGHT [k] ← ∞ is intended not to use LINK [k] when selecting h [k, m]. If there is at least one finite cost path that starts with NODE [k] and ends with NODE [k + 1] other than LINK [k], h [k, m including LINK [k] in Dijkstra's method ] Is never determined.
手順(2) COST[k,k+1]=∞であるなら、NODE[k]からNODE[k+1]への経路はLINK[k]ただ一つのみであることを現す。つまり、LINK[k]を通らないh[k,m]は存在しない。このような場合のネットワークの例を図8に示す。このような場合、s[k]となり得る経路は存在しないので、s[k]の決定をスキップする。なお、ここでは、リンクのコストは双方向で等しいので、COST[k,k+1]≠∞ならば、COST[k+1,k]≠∞が保証される。 Step (2) If COST [k, k + 1] = ∞, it means that there is only one LINK [k] path from NODE [k] to NODE [k + 1]. That is, there is no h [k, m] that does not pass LINK [k]. An example of a network in such a case is shown in FIG. In such a case, since there is no route that can be s [k], the determination of s [k] is skipped. Here, since the cost of the link is equal in both directions, if COST [k, k + 1] ≠ ∞, COST [k + 1, k] ≠ ∞ is guaranteed.
手順(3) h[k,k+1]がNODE[k]よりEgress側のNODE[p](i+1≦p≦N)を通る場合、必ずCOST[k,k+1]≧COST[k,p]となる。ゆえに、h[k,k+1]をNODE[k]からNODE[k+1]まで辿るとき、NODE[k]よりEgress側のP上のノードの中で、一番初めに到達するものはNODE[mMIN_DOWN[k]]である。従って、mMIN_DOWN[k]>k+1であれば、h[k,k+1]のNODE[mMIN_DOWN[k]]からNODE[k+1]までの間にPと重複ノードが存在することがわかる。NODE[mMIN_DOWN[k]]を代用経路の終点にすることによって、図4のような経路が選択されることを排除している。 Step (3) When h [k, k + 1] passes through NODE [p] (i + 1 ≦ p ≦ N) on the egress side from NODE [k], COST [k, k + 1] ≧ COST [ k, p]. Therefore, when tracing h [k, k + 1] from NODE [k] to NODE [k + 1], the node that reaches the first among the nodes on P on the Egress side from NODE [k] NODE [m MIN_DOWN [k]]. Therefore, if m MIN — DOWN [k]> k + 1, there may be a duplicate node with P between NO [[ MIN_DOWN [k]] and NODE [k + 1] of h [k, k + 1]. Recognize. By selecting NODE [m MIN_DOWN [k]] as the end point of the substitute route, it is excluded that the route as shown in FIG. 4 is selected.
手順(4) 上記の(3)の説明と同様に、h[mMIN_DOWN[k],k]をNODE[mMIN_DOWN[k]]からNODE[k]まで辿るとき、一番初めに到達するNODE[k+1]よりIngress側のP上のノードはNODE[mMIN_UP[k]]である、従って、h[k,k+1]のNODE[k]から、NODE[mMIN_UP[k]]までの間にPと重複するノードが存在することがわかる。 Procedure (4) Similar to the description in (3) above, when h [m MIN_DOWN [k], k] is traced from NODE [m MIN_DOWN [k]] to NODE [k], the first NODE to be reached The node on P on the Ingress side from [k + 1] is NODE [m MIN_UP [k]], so from NODE [k] of h [k, k + 1], NODE [m MIN_UP [k]] It can be seen that there is a node that overlaps with P.
手順(5) s[k]を決定する。 Procedure (5) Determine s [k].
本実施の形態の方法では、Pが最短経路に設定されていなかった場合、必要に応じて次のようなPの一部分を最短経路に再設定することができる。 In the method according to the present embodiment, if P is not set as the shortest path, the following part of P can be reset as the shortest path as necessary.
・NODE[mMIN_UP[k]]からNODE[k]まで。 ・ From NODE [m MIN_UP [k]] to NODE [k].
・NODE[k+1]からNODE[mMIN_DOWN[k]]まで。 ・ From NODE [k + 1] to NODE [m MIN_DOWN [k]].
図5のネットワークのPをこのような方法で再設定した例を図9に示す。経路QがPを再設定することで得られたパスである。 An example in which P of the network in FIG. 5 is reset by such a method is shown in FIG. Path Q is a path obtained by resetting P.
[第3の実施の形態]
本実施の形態は、代用経路の通過する範囲を限定できる点において、前述の第2の実施の形態と異なる。
[Third Embodiment]
This embodiment is different from the above-described second embodiment in that the range through which the substitute route passes can be limited.
例えば、代用経路の始点をP上のNODE[a]に、代用経路の終端点をP上のNODE[b]に指定し、かつ、代用経路がその2つのノード以外には、P上のノードを通らないという制約を代用経路の選択時に課したとする。このとき、第1の実施の形態及び第2の実施の形態では、それぞれの過程でダイクストラ法を用いて求められるNODE[a]からNODE[b]までの最短経路が、このような制約を満たす経路の集合にたまたま含まれない限り、この制約を満たす経路が見つからない。このように、第1の実施の形態、第2の実施の形態でうまくいかない場合の具体例を図3に示す。要求を満たす経路はNODE[k]→NODE-a→NODE[k+1]であるが、この経路は、単純にダイクストラ法を用いる方法では求めることができない。単純にダイクストラ法を用いる方法では、コストが最小である経路はただ一つ見つかるが、その最短経路以外の経路の情報は、その経路が存在するかどうかということさえ分からないからである。 For example, the start point of the substitute route is designated as NODE [a] on P, the end point of the substitute route is designated as NODE [b] on P, and the substitute route is a node on P except for the two nodes. Suppose that the restriction of not passing is imposed when selecting an alternative route. At this time, in the first embodiment and the second embodiment, the shortest path from NODE [a] to NODE [b] obtained using the Dijkstra method in each process satisfies such a restriction. Unless it happens to be included in the set of routes, no route that satisfies this constraint is found. FIG. 3 shows a specific example in the case where the first embodiment and the second embodiment do not work as described above. The route satisfying the request is NODE [k] → NODE-a → NODE [k + 1], but this route cannot be obtained by a method using the Dijkstra method. This is because, in the method using the Dijkstra method, only one route with the lowest cost is found, but information on routes other than the shortest route does not even know whether the route exists.
本実施の形態では、この場合に、NODE[k]→Node-a→NODE[k+1]を代用経路として、選択することができる。図3の場合と同様な問題がEgress側で発生するネットワークの例を図4に示す。 In this embodiment, in this case, NODE [k] → Node-a → NODE [k + 1] can be selected as a substitute route. FIG. 4 shows an example of a network in which the same problem as in FIG. 3 occurs on the egress side.
本実施の形態で求めるs[k]の条件は以下の通りである。 The condition of s [k] obtained in the present embodiment is as follows.
(条件1) 経路の始点をNODE[i]、終点をNODE[j]とした時、第2の実施の形態のs[k]の条件(1)〜(3)を満たす経路の中で、j−iが最小の経路。 (Condition 1) When the start point of the route is NODE [i] and the end point is NODE [j], among the routes satisfying the conditions (1) to (3) of s [k] of the second embodiment, The route with the smallest j-i.
(条件2) 第2の実施の形態のs[k]の条件(1)〜(4)を全て満たす経路の始点をNODE[i]、終点をNODE[j]とする。経路P上のNODE[i]からNODE[j]の部分を、第2の実施の形態のs[k]の条件(1)〜(4)を全て満たす経路で置き換え、新しいパスP’を作るとする。このとき、第2の実施の形態のs[k]の条件(1)〜(4)を満たす経路の中からダイクストラ法で選んだ経路P’のコストを最小にする経路。 (Condition 2) Let NODE [i] be the starting point and NODE [j] be the end point of the path that satisfies all the conditions (1) to (4) of s [k] of the second embodiment. A part of NODE [i] to NODE [j] on the path P is replaced with a path that satisfies all the conditions (1) to (4) of s [k] of the second embodiment, and a new path P ′ is created. And At this time, the route that minimizes the cost of the route P ′ selected by the Dijkstra method from the routes satisfying the conditions (1) to (4) of s [k] of the second embodiment.
LINK[k]のk=1,2,…N-1について代用経路s[k]を決定する手順を以下に示す。 The procedure for determining the substitute route s [k] for k = 1, 2,... N−1 of LINK [k] is shown below.
次の(1)〜(6)手順を、k=1〜N−1について行うことで、s[1],s[2],…s[N-1]が求まる。 S [1], s [2],... S [N-1] are obtained by performing the following steps (1) to (6) for k = 1 to N-1.
手順(1) LINK[k]のコストLINK_WEIGHT[k]←∞とする。 Procedure (1) LINK [k] cost LINK_WEIGHT [k] ← ∞.
手順(2) NODE[k]からNODE[k+1]まで最短経路h[k,k+1]と、h[k,k+1]のコストCOST[k,k+1]をダイクストラ法により計算する。 Procedure (2) The shortest path h [k, k + 1] from NODE [k] to NODE [k + 1] and the cost COST [k, k + 1] of h [k, k + 1] are calculated by the Dijkstra method. calculate.
i.COST[k,k+1]=∞となり、h[k,k+1]が存在しない場合はs[k]の決定をスキップし、手順(10)に移行する。 i. If COST [k, k + 1] = ∞ and h [k, k + 1] does not exist, the determination of s [k] is skipped and the process proceeds to step (10).
ii.COST[k,k+1]≠∞である場合は、手順(3)へ移行する。 ii. If COST [k, k + 1] ≠ ∞, proceed to step (3).
手順(3) NODE[k]または、NODE[k]より、Ingress側のノードNODE[k-p](0≦p≦k-1)と、NODE[k+1]または、NODE[k+1]より、Egress側のノードNODE[k+1+q](0≦q≦N-k-1)を考え、Δ≡1+p+q(Δ=1〜N−1)という変数Δを定義する。 Step (3) From NODE [k] or NODE [k] From the node NODE [kp] (0≤p≤k-1) on the Ingress side and NODE [k + 1] or NODE [k + 1] Considering the node NODE [k + 1 + q] (0 ≦ q ≦ Nk−1) on the Egress side, a variable Δ of Δ≡1 + p + q (Δ = 1 to N−1) is defined.
手順(4) Δ=1から始め、Δ=1からN−1まで、Δの小さい順に次の手順(5)〜(8)を行う。 Procedure (4) Starting from Δ = 1, from Δ = 1 to N−1, the following procedures (5) to (8) are performed in ascending order of Δ.
手順(5) グラフGにおいて、P上のノードNODE[1]〜NODE[N]へ向かうリンクの重みを全て無限大にしたグラフG’を考える。(これと反対向きにNODE[1]〜NODE[N]から、それらの隣接ノードへ向かうリンクは、重みを変化させない)。 Procedure (5) In the graph G, consider a graph G ′ in which all the weights of links going to the nodes NODE [1] to NODE [N] on P are infinite. (Links from NODE [1] to NODE [N] in the opposite direction to those adjacent nodes do not change the weight).
手順(6) NODE[k-p]、NODE[k+1+q]へ向かうリンクの重みを、∞から最初のグラフGと同じ値に戻す。 Procedure (6) The weight of the link toward NODE [k-p] and NODE [k + 1 + q] is returned from ∞ to the same value as the first graph G.
手順(7) 手順(6)までのようにしてきたネットワーク上で、Δ=1+p+q(0≦p≦k−1,0≦q≦N−k−1)を満たす全てのp、qについて、
COST[k+1-Δ,k-p]+COST[k-p,k+1+q]+COST[k+1+q,Δ+1]
を求め、それをP’_COST[p,q]とする。
Procedure (7) All p satisfying Δ = 1 + p + q (0 ≦ p ≦ k−1, 0 ≦ q ≦ N−k−1) on the network which has been performed up to the procedure (6). About q
COST [k + 1-Δ, kp] + COST [kp, k + 1 + q] + COST [k + 1 + q, Δ + 1]
And set it as P'_COST [p, q].
手順(8) Δ=1+p+q(0≦p≦k−1,0≦q≦N−k−1)を満たすp、qについて、P’_COST[p,q]の最小値MIN[Δ]と、それを与えるp、qの値、p_MIN[Δ],q_MIN[Δ]を求める。 Procedure (8) For p and q satisfying Δ = 1 + p + q (0 ≦ p ≦ k−1, 0 ≦ q ≦ N−k−1), the minimum value MIN [Δ] of P′_COST [p, q], p give it the value of q, p_ MIN [Δ], seek q_MIN [Δ].
i.MIN[Δ]=∞であったら、Δ←Δ+1として手順(4)へ戻る。 i. If MIN [Δ] = ∞, Δ ← Δ + 1 is returned to step (4).
ii.MIN[Δ]≠∞であったら、手順(9)へ移行する。 ii. If MIN [Δ] ≠ ∞, proceed to step (9).
手順(9) s[k]←h[p,min[Δ],q_min[Δ]]として、手順(10)へ移行する。 Procedure (9) As s [k] ← h [p, min [Δ], q_min [Δ]], the procedure proceeds to procedure (10).
手順(10) 現在のkについての計算を終了する。 Procedure (10) The calculation for the current k is terminated.
上記の手順を表すフローチャートを図10、図11に示す。 A flowchart showing the above procedure is shown in FIGS.
ステップ301) 初期値としてkに1を代入する。
Step 301)
ステップ302) LINK_COST[k]←∞とする。 Step 302) Set LINK_COST [k] ← ∞.
ステップ303) ダイクストラ法により、h[k,m]とCOST[k,m]を求める。 Step 303) h [k, m] and COST [k, m] are obtained by the Dijkstra method.
ステップ304) COST[k,k+1]≠∞であればステップ305に移行し、そうでなければステップ327に移行する。
Step 304) If COST [k, k + 1] ≠ ∞, go to
ステップ305) i←1とする。 Step 305) i ← 1.
ステップ306) Δ←1とする。 Step 306) Δ ← 1.
ステップ307) p←0、q←Δ−p−1とする。 Step 307) p ← 0 and q ← Δ−p−1.
ステップ308) j=1,2…DEG[j]について、ADJ_WEIGHT_IN[j,i]←∞とする。 Step 308) For j = 1, 2... DEG [j], ADJ_WEIGHT_IN [j, i] ← ∞.
ステップ309) i=Nであればステップ311に移行し、そうでなければステップ310に移行する。
Step 309) If i = N, go to
ステップ310) iをインクリメントして、ステップ308に移行する。
Step 310) Increment i and go to
ステップ311) j=1,2,…DEG[k+p]について、ADJ_WEIGHT_IN[j,k+p]←ADJ_WEIGHT_OUT[k+p,j]とする。 Step 311) For j = 1, 2,... DEG [k + p], ADJ_WEIGHT_IN [j, k + p] ← ADJ_WEIGHT_OUT [k + p, j].
ステップ312) j=1,2,…DEG[k+1+q]について、ADJ_WEIGHT_IN[j,k+1+q
]←ADJ_WEIGHT_OUT[k+1+q,j]とする。
Step 312) For j = 1, 2,... DEG [k + 1 + q], ADJ_WEIGHT_IN [j, k + 1 + q
] ← ADJ_WEIGHT_OUT [k + 1 + q, j]
ステップ313) MIN[Δ]←∞とする。 Step 313) Set MIN [Δ] ← ∞.
ステップ314) h[k-p,k+1+q],COST[k-p,k+1+q]を求める。 Step 314) Find h [k-p, k + 1 + q] and COST [k-p, k + 1 + q].
ステップ315) COST[k+1-Δ,k-p]+COST[k-p,k+1+q]+COST[k+1+q,Δ+1]を求め、これをP’_COST[p,q]とする。 Step 315) COST [k + 1- [Delta], kp] + COST [kp, k + 1 + q] + COST [k + 1 + q, [Delta] +1] is obtained and this is calculated as P'_COST [p, q] And
ステップ316) MIN_[Δ]≧P’_COST[p,q]であれば、ステップ317に移行し、そうでなければステップ318に移行する。 Step 316) If MIN_ [Δ] ≧ P′_COST [p, q], go to Step 317, otherwise go to Step 318.
ステップ317) MIN[Δ]≧P’_COST[p,q]とし、p_min[Δ]←p、q_min[Δ]←qとする。 Step 317) MIN [Δ] ≧ P′_COST [p, q], p_min [Δ] ← p, and q_min [Δ] ← q.
ステップ318) p=k−1であれば、ステップ320に移行し、そうでなければステップ319に移行する。 Step 318) If p = k-1, then go to Step 320, otherwise go to Step 319.
ステップ319) q←p+1、q←q−1とし、ステップ308に移行する。 Step 319) Set q ← p + 1 and q ← q−1, and proceed to Step 308.
ステップ320) MIN[Δ]≠∞であれば、ステップ322に移行し、そうでなければステップ321に移行する。 Step 320) If MIN [Δ] ≠ ∞, go to Step 322, otherwise go to Step 321.
ステップ321) Δ←Δ+1とし、ステップ307に移行する。 Step 321) Δ ← Δ + 1, and the process proceeds to Step 307.
ステップ322) s[k]←h[p_min[Δ],q_min[Δ]]とする。 Step 322) s [k] ← h [p_min [Δ], q_min [Δ]].
ステップ323) i←1とする。 Step 323) i ← 1.
ステップ324) j=1,2,…DEG[i]について、ADJ_WEIGHT_IN[j,i]←ADJ_WEIGHT[i,j]とする。 Step 324) For j = 1, 2,... DEG [i], ADJ_WEIGHT_IN [j, i] ← ADJ_WEIGHT [i, j].
ステップ325) i=Nとなれば、ステップ327に移行し、そうでなければ、ステップ326に移行する。
Step 325) If i = N, go to
ステップ326) i←i+1とし、ステップ324に移行する。 Step 326) Set i ← i + 1 and proceed to Step 324.
ステップ327) k=N−1となれば、処理を終了し、そうでなければ、ステップ328に移行する。 Step 327) If k = N−1, the process is terminated; otherwise, the process proceeds to Step 328.
ステップ328) k←k+1とし、ステップ302に移行する。 Step 328) Set k ← k + 1, and proceed to Step 302.
上記のような各手順を詳細に説明する。 Each procedure as described above will be described in detail.
手順(1) 前述の第2の実施の形態と同様に、LINK_WEIGHT[k]←∞とすることは、h[k,m]を選択する際に、LINK[k]を用いないことを意図している。LINK[k]以外にNODE[k]で始まり、NODE[k+1]で終端する有限のコストの経路が一つでも存在するならば、ダイクストラ法でLINK[k]を含むh[k,m]が決定されることはない。 Procedure (1) Similar to the second embodiment described above, LINK_WEIGHT [k] ← ∞ is intended not to use LINK [k] when selecting h [k, m]. ing. If there is at least one finite cost path that starts with NODE [k] and ends with NODE [k + 1] other than LINK [k], h [k, m including LINK [k] in Dijkstra's method ] Is never determined.
手順(2) COST[k,k+1]=−∞であるなら、NODE[k]からNODE[k+1]への経路は、LINK[k]ただ一つのみであることを表す。つまり、LINK[k]を通らないh[k,m]は存在しない。前述の第2の実施の形態の時と同様に、図8のような例がこの場合に当てはまる。 Procedure (2) If COST [k, k + 1] = − ∞, it means that there is only one LINK [k] path from NODE [k] to NODE [k + 1]. That is, there is no h [k, m] that does not pass LINK [k]. As in the case of the second embodiment described above, the example shown in FIG. 8 is applicable to this case.
手順(3) 経路の始点をNODE[i]、終点をNODE[j]とした時、j−i=ΔとなるようにΔを定義する。 Procedure (3) Define Δ so that j−i = Δ, where NODE [i] is the start point of the route and NODE [j] is the end point.
手順(4) Δの小さいものを優先的に求める。 Procedure (4) The one with a small Δ is preferentially obtained.
手順(5) s[k]の始点と終端点とのあるノード以外は、P上のノードを通らないようにしたい。そのために、まず、全てのP上のノードへ向かうリンクの重みを∞にする。上記の手順(6)でs[k]の始点と終端点へ向かうリンクの重みを∞から元に戻す。 Procedure (5) I want to prevent nodes on P from passing through nodes other than those with the start and end points of s [k]. For this purpose, first, the weights of links directed to the nodes on all P are set to ∞. In step (6) above, the weight of the link toward the start point and end point of s [k] is restored from ∞.
手順(6) 隣接ノードからs[k]の始点と終端点までのコストを無限大の値から元の値に戻し、利用できるようにする。 Procedure (6) The cost from the adjacent node to the start point and end point of s [k] is changed from an infinite value to the original value so that it can be used.
具体的には、始点ノードNODE[k+p]、終端点ノードNODE[k+1+q]から、隣接ノードまでの重み
ADJ_WEIGHT_OUT[k+p,j](j=1〜DEG[i])、ADJ_WEIGHT_OUT[k+1+q,j]
を、隣接ノードからNODE[k+p]、NODE[k+1+q]までの重み、
ADJ_WEIGHT_IN[j,k+p]、ADJ_WEITHT_IN[j,k+1+q]
に代入する。重みは、双方向で等しいとしたので、
ADJ_WEITHT_OUT[k+p,j](j=1〜DEG[i])、ADJ_WEIGHT_OUT[k+1+q,j]
の値から、元の重みを得ることができる。
Specifically, the weight from the start node NODE [k + p] and the end node NODE [k + 1 + q] to the adjacent node
ADJ_WEIGHT_OUT [k + p, j] (j = 1 to DEG [i]), ADJ_WEIGHT_OUT [k + 1 + q, j]
, The weights from adjacent nodes to NODE [k + p], NODE [k + 1 + q]
ADJ_WEIGHT_IN [j, k + p], ADJ_WEITHT_IN [j, k + 1 + q]
Assign to. Since weights are equal in both directions,
ADJ_WEITHT_OUT [k + p, j] (j = 1 ~ DEG [i]), ADJ_WEIGHT_OUT [k + 1 + q, j]
The original weight can be obtained from the value of.
手順(7) h[k-p,k+1+q]を、パスPのNODE[k-p]〜NODE[k+1+q]の部分に挿入し、新しいパスP’を作ったとき、P’のコストが最小になるようにする。このように、COST[k+1-Δ,k-p]と、COST[k+1+q,Δ+1]を加えてコストを評価するのは、図12のような、Δの等しい代用経路が存在するネットワークトポロジに対応するためである。図12の場合、LINK[k]の代用経路として、ともにΔ=2であるaとbが存在する。代用経路のみで比較すれば、aの方がbより小さいコストを持つが、NODE[k-1]からNODE[k+2]までの経路で比較すると、bを通る経路の方が小さいコストを持つ。このような場合、最適な代用経路はbである。 Step (7) When h [kp, k + 1 + q] is inserted into the path P from NODE [kp] to NODE [k + 1 + q] to create a new path P ′, Try to minimize costs. As described above, the cost is evaluated by adding COST [k + 1−Δ, kp] and COST [k + 1 + q, Δ + 1] because a substitute path having the same Δ as shown in FIG. This is to cope with the existing network topology. In the case of FIG. 12, there are a and b, both of which are Δ = 2, as substitute paths for LINK [k]. If only the substitute route is compared, a has a smaller cost than b. However, if the route from NODE [k-1] to NODE [k + 2] is compared, the route through b has a lower cost. Have. In such a case, the optimal substitute route is b.
手順(8) 現在のΔでは、求める経路が見つからない場合、Δを1大きくする。 Procedure (8) If the desired route is not found in the current Δ, Δ is increased by one.
手順(9) s[k]を決定する。 Procedure (9) Determine s [k].
第2の実施の形態と同様に、第3の実施の形態でも、Pが最短経路に設定されていなかった場合、必要に応じて次のようなPの一部分を最短経路に再設定することができる。 Similarly to the second embodiment, even in the third embodiment, when P is not set as the shortest path, the following part of P may be reset as the shortest path as necessary. it can.
・NODE[k+1−Δ]からNODE[k-p]まで;
・NODE[k+1+q]からNODE[Δ+1]まで;
図12のネットワークでは、
・NODE[k-1]からNODE[k];
・NODE[kp1]からNODE[k+2];
までが、これに該当する。
・ From NODE [k + 1−Δ] to NODE [kp];
・ From NODE [k + 1 + q] to NODE [Δ + 1];
In the network of FIG.
・ NODE [k-1] to NODE [k];
・ NODE [kp1] to NODE [k + 2];
This is the case.
[第4の実施の形態]
本実施の形態は、s[k]をLINK[k]の代用としてPに挿入して作られる経路に冗長部分がなく、かつ、代用経路を選択する際に、ホップ数が最小となる経路を選択するものである(第3の実施の形態が選択するのはコストが最小の経路)。ホップ数が最小となる経路の選択は、全てのリンクのコストを1としてダイクストラ法を用いることで実現する。
[Fourth Embodiment]
In the present embodiment, a route created by inserting s [k] into P as a substitute for LINK [k] has no redundant portion, and a route with the smallest number of hops is selected when selecting a substitute route. (The third embodiment selects the route with the lowest cost). The selection of the route with the minimum number of hops is realized by using the Dijkstra method with the cost of all links as 1.
本実施の形態における条件を以下に示す。 The conditions in the present embodiment are shown below.
(条件1) 前述の第2の実施の形態の条件(1)〜(4)を満たすもののうち、経路の始点をNODE[i]、終点をNODE[j]としたとき、NODE[i]からNODE[j]までの経路h[i,j]のホップ数が最小となる経路:
次に、LINK[k]のk=1,2…N−1について代用経路s[k]を決定する手順を以下に示す。
(Condition 1) Among those satisfying the conditions (1) to (4) of the second embodiment described above, when NODE [i] is the start point of the route and NODE [j] is the end point, NODE [i] Route with minimum number of hops in route h [i, j] to NODE [j]:
Next, the procedure for determining the substitute route s [k] for k = 1, 2... N−1 of LINK [k] is shown below.
次の手順(1)〜(6)をk=1〜N−1について行うことで、s[1],s[2],…s[N-1]が求まる。 S [1], s [2],... S [N-1] are obtained by performing the following procedures (1) to (6) for k = 1 to N-1.
手順(1) グラフGの全てのリンクの重みを1とし、そのようにしてGを変化させたグラフをG’とする。 Procedure (1) The weight of all links in the graph G is set to 1, and the graph in which G is changed in this way is set to G ′.
手順(2) LINK[k]のコストLINK_WEIGHT[k]←∞とする。 Step (2) LINK [k] cost LINK_WEIGHT [k] ← ∞.
手順(3) NODE[k]からNODE[k+1]まで最短経路h[k,k+1]と、h[k,k+1]のコストCOST[k,k+1]をダイクストラ法により計算する。 Step (3) The cost COST [k, k + 1] of the shortest path h [k, k + 1] and h [k, k + 1] from NODE [k] to NODE [k + 1] is calculated by the Dijkstra method. calculate.
i.COSt[k,k+1]=∞となり、h[k,k+1]が存在しない場合はs[k]の決定をスキップし、手順(12)へ移行する。 i. If COSt [k, k + 1] = ∞ and h [k, k + 1] does not exist, the determination of s [k] is skipped and the process proceeds to step (12).
ii.COST[k,k+1]≠∞である場合は手順(4)へ移行する。 ii. If COST [k, k + 1] ≠ ∞, the process proceeds to step (4).
手順(4) NODE[k]または、NODE[k]よりIngress側のノードNODE[k-p](0≦p≦k−1)とし、NODE[k+1]または、NODE[k+1]よりEgress側のノードNODE[k+1+q](0≦q≦N−k−1)を考え、Δ≡1+p+q(Δ=1〜N−1)という変数Δを定義する。 Step (4) Node NODE [kp] (0 ≦ p ≦ k−1) on the ingress side from NODE [k] or NODE [k] and Egress from NODE [k + 1] or NODE [k + 1] Considering the side node NODE [k + 1 + q] (0 ≦ q ≦ N−k−1), a variable Δ of Δ≡1 + p + q (Δ = 1 to N−1) is defined.
手順(5) Δ=1から始め、Δ=1からN−1まで、Δの小さい順に次の手順(6)〜(9)を行う。 Procedure (5) Starting from Δ = 1, from Δ = 1 to N−1, the following procedures (6) to (9) are performed in ascending order of Δ.
手順(6) グラフGにおいて、P上のノードNODE[1]〜NODE[N]へ向かうリンクの重みを全て無限大にしたグラフG’を考える(これと反対向きにNODE[1]〜NODE[N]から、それらの隣接ノードへ向かうリンクは、重みを変化させない)。 Procedure (6) Consider a graph G ′ in which the weights of links to nodes NODE [1] to NODE [N] on P are all infinite in the graph G (NODE [1] to NODE [ N] to their neighbors will not change the weight).
手順(7) NODE[k-p]、NODE[k+1+q]へ向かうリンクの重みを、∞から最初のグラフGと同じ値に戻す。 Procedure (7) The weight of the link toward NODE [k-p] and NODE [k + 1 + q] is returned from ∞ to the same value as the first graph G.
手順(8) 手順(7)までのようにしてできたネットワーク上で、Δ=1+p+q(0≦p≦k−1,0≦q≦N−k−1)を満たす全てのp、qについて、
COST[k+1-Δ,k-p]+COST[k-p,k+1+q]+COST[k+1+q,Δ+1]
を求め、それをP’_COST[p,q]とする。
Procedure (8) On all the p and q satisfying Δ = 1 + p + q (0 ≦ p ≦ k−1, 0 ≦ q ≦ N−k−1) on the network formed as in the procedure (7),
COST [k + 1-Δ, kp] + COST [kp, k + 1 + q] + COST [k + 1 + q, Δ + 1]
And set it as P'_COST [p, q].
手順(9) Δ=1+p+q(0≦p≦k−1,0≦q≦N−k−1)を満たすp、qについて、P’_COST[p,q]の最小値MIN[Δ]と、それを与えるp、qの値、p_MIN[Δ],q_MIN[Δ]を求める。 Procedure (9) For p and q satisfying Δ = 1 + p + q (0 ≦ p ≦ k−1, 0 ≦ q ≦ N−k−1), the minimum value MIN [Δ] of P′_COST [p, q], p give it the value of q, p_ MIN [Δ], seek q_ MIN [Δ].
手順(10) Δ=1からΔ=N−1についてMIN[Δ]の最小値MIN’と、それを与えるΔ、p_MIN[Δ],q_MIN[Δ]の組、Δ’、p’、q’を求める。 Procedure (10) For Δ = 1 to Δ = N−1, a minimum value MIN ′ of MIN [Δ] and a set of Δ, p_MIN [Δ], q_MIN [Δ] giving the same, Δ ′, p ′, q ′ Ask for.
手順(11) s[k]←h[p’,q’]として手順(10)へ戻る。 Step (11) Return to step (10) as s [k] ← h [p ′, q ′].
手順(12) 現在のkについて計算を終了する。 Procedure (12) The calculation is terminated for the current k.
このような手順を表すフローチャートを図13〜図15に示す。 Flowcharts representing such a procedure are shown in FIGS.
ステップ401) 初期値として、k←1とする。 Step 401) As an initial value, k ← 1.
ステップ402) 初期値として、i←1とする。 Step 402) As an initial value, i ← 1.
ステップ403) j=1,2…DEG[j]についてADJ_WEIGHT_IN[j,i]←1とする。 Step 403) For j = 1, 2... DEG [j], ADJ_WEIGHT_IN [j, i] ← 1.
ステップ404) i=Nであれば、ステップ406に移行し、そうでなければ、ステップ405に移行する。
Step 404) If i = N, go to
ステップ405) iをインクリメントし、ステップ403に戻る。
Step 405) Increment i and return to
ステップ406) LINK_COST[k]←∞とする。 Step 406) Set LINK_COST [k] ← ∞.
ステップ407) ダイクストラ法により、h[k,m]とCOST[k,m]を求める。 Step 407) Obtain h [k, m] and COST [k, m] by Dijkstra method.
ステップ408) COST[k,k+1]≠∞である場合には、ステップ409に移行し、そうでない場合には処理を終了する。 Step 408) If COST [k, k + 1] ≠ ∞, the process proceeds to Step 409, and if not, the process ends.
ステップ409) i←1とする。 Step 409) i ← 1.
ステップ410) Δ←1とする。 Step 410) Let Δ ← 1.
ステップ411) MIN’←∞とする。 Step 411) MIN '← ∞.
ステップ412) p←0、q←Δ−p−1とする。 Step 412) p ← 0 and q ← Δ−p−1.
ステップ413) j=1,2…DEG[i]についてADJ_WEIGHT_IN[j,i]←∞とする。 Step 413) For j = 1, 2... DEG [i], ADJ_WEIGHT_IN [j, i] ← ∞ is set.
ステップ414) i=Nであれば、ステップ416に移行し、そうでなければ、ステップ415に移行する。
Step 414) If i = N, go to
ステップ415) iをインクリメントし、ステップ413に戻る。 Step 415) Increment i and return to Step 413.
ステップ416) j=1,2…DEG[k+p]について、ADJ_WEIGHT_IN[j,k+p]←ADJ_WEIGHT_OUT[k+p,j]とする。 Step 416) For j = 1, 2... DEG [k + p], ADJ_WEIGHT_IN [j, k + p] ← ADJ_WEIGHT_OUT [k + p, j].
ステップ417) j=1,2…DEG[k+1+q]について、ADJ_WEIGHT_IN[j,k+1+q]←ADJ_WEIGHT_OUT[k+1+q,j]とする。 Step 417) For j = 1, 2... DEG [k + 1 + q], let ADJ_WEIGHT_IN [j, k + 1 + q] ← ADJ_WEIGHT_OUT [k + 1 + q, j].
ステップ418) MIN[Δ]←∞とする。 Step 418) Set MIN [Δ] ← ∞.
ステップ419) h[k-p,k+1+q],COST[k-p,k+1+q]を求める。 Step 419) Find h [k-p, k + 1 + q] and COST [k-p, k + 1 + q].
ステップ420) COST[k+1-Δ,k-p]+COST[k-p,k+1+q]+COST[k+1+q,Δ+1]を求め、これをP’_COST[p,q]とする。 Step 420) COST [k + 1−Δ, kp] + COST [kp, k + 1 + q] + COST [k + 1 + q, Δ + 1] is obtained and this is calculated as P′_COST [p, q] And
ステップ421) MIN[Δ]≧P’_COST[p,q]であるかを判定し、そうである場合にはステップ422に移行し、そうでない場合にはステップ423に移行する。 Step 421) It is determined whether MIN [Δ] ≧ P′_COST [p, q]. If yes, the procedure goes to Step 422, and if not, the procedure goes to Step 423.
ステップ422) MIN[Δ]←P’_COST[p,q]、p_min[Δ]←p、q_min[Δ]←qとする。 Step 422) MIN [Δ] ← P′_COST [p, q], p_min [Δ] ← p, q_min [Δ] ← q.
ステップ423) p=k−1であるかを判定し、そうである場合にはステップ425に移行し、そうでない場合にはステップ424に移行する。 Step 423) It is determined whether p = k−1. If so, the process proceeds to Step 425. Otherwise, the process proceeds to Step 424.
ステップ424) p←p+1、q←q−1とし、ステップ413に戻る。 Step 424) p ← p + 1, q ← q−1, and return to Step 413.
ステップ425) MIN’≧MIN[Δ]である場合には、ステップ426に移行し、そうでない場合には、ステップ427に移行する。 Step 425) If MIN ′ ≧ MIN [Δ], the process proceeds to step 426, and if not, the process proceeds to step 427.
ステップ426) MIN’←MIN[Δ]、p’←p_min[Δ]、q’←q_min[Δ]とする。 Step 426) MIN '← MIN [Δ], p' ← p_min [Δ], q '← q_min [Δ].
ステップ427) Δ=N−1であれば、ステップ429に移行し、そうでない場合にはステップ428に移行する。 Step 427) If Δ = N−1, the process proceeds to Step 429; otherwise, the process proceeds to Step 428.
ステップ428) Δ←Δ+1とし、ステップ411に戻る。 Step 428) Δ ← Δ + 1 and return to Step 411.
ステップ429) s[k]←h[p’,q’]とする。 Step 429) s [k] ← h [p ′, q ′].
ステップ430) i←1とする。 Step 430) i ← 1.
ステップ431) j=1,2…DEG[i]についてADJ_WEIGHT_IN[j,i]←1とする。 Step 431) For j = 1, 2... DEG [i], ADJ_WEIGHT_IN [j, i] ← 1.
ステップ432) i=Nであれば、ステップ434に移行し、そうでない場合にはステップ433に移行する。
Step 432) If i = N, go to
ステップ433) iをインクリメントし、ステップ431に戻る。
Step 433) Increment i and return to
ステップ434) k=N−1であれば処理を終了し、そうでない場合には、ステップ435に移行する。 Step 434) If k = N−1, the process is terminated; otherwise, the process proceeds to Step 435.
ステップ435) kをインクリメントし、ステップ402に戻る。
Step 435) Increment k and return to
上記の手順を詳細に説明する。 The above procedure will be described in detail.
手順(1) 全てのリンクの重みに1を与え、コストを計算することでホップ数を計算する。 Procedure (1) The number of hops is calculated by giving 1 to the weight of all links and calculating the cost.
手順(2) 前述の第2、第3の実施の形態と同様に、COST[k,k+1]=−∞であるなら、NODE[k]からNODE[k+1]への経路は、LINK[k]ただ一つのみであることを表す。つまり、LINK[k]を通らないh[k,m]は存在しない。前述の第2の実施の形態の時と同様に、図8のような例がこの場合に当てはまる。 Procedure (2) Similar to the second and third embodiments described above, if COST [k, k + 1] = − ∞, the path from NODE [k] to NODE [k + 1] is LINK [k] Indicates that there is only one. That is, there is no h [k, m] that does not pass LINK [k]. As in the case of the second embodiment described above, the example shown in FIG. 8 is applicable to this case.
手順(3) COST[k,k+1]=∞であるなら、NODE[k]からNODE[k+1]への経路はLINK[k]唯一つのみであることを表す。つまり、LINK[k]を通らないh[k,m]は存在しない。第2の実施の形態と同様に、図8のような例がこの場合に当てはまる。 Step (3) If COST [k, k + 1] = ∞, this means that there is only one LINK [k] route from NODE [k] to NODE [k + 1]. That is, there is no h [k, m] that does not pass LINK [k]. Similar to the second embodiment, the example shown in FIG. 8 is applicable to this case.
手順(4) 経路の始点をNODE[i]、終点をNODE[j]としたとき、j−i=ΔとなるようにΔを定義する。 Procedure (4) Define Δ so that j−i = Δ, where NODE [i] is the start point of the route and NODE [j] is the end point.
手順(5) 全てのΔについて、ホップ数が最小となるような代用経路を求める。 Procedure (5) For all Δs, find a substitute route that minimizes the number of hops.
手順(6)〜(9)前述の第3の実施の形態の(6)〜(9)の記載と同様である。 Procedures (6) to (9) are the same as those described in (6) to (9) of the third embodiment.
手順(10) 同じΔである代用経路の内、ホップ数が最小になるように定めたものから、さらに、全てのΔについてホップ数が最小になるものを求める。 Step (10) From the alternative routes having the same Δ, the route having the smallest number of hops is obtained for all Δs from those determined to minimize the number of hops.
なお、上記において、はじめに与えられるパスは、最適経路とは限らないとしたが、最適経路が与えられている場合でも、同様の手順で同様の経路を決定することができる。 In the above description, the path given first is not necessarily the optimum path. However, even when the optimum path is given, the same path can be determined by the same procedure.
また、上記で用いているダイクストラ法で求められる最適経路は、同じ道を2回以上通らず、また、ループを持たないものとする。 Further, it is assumed that the optimum route obtained by the Dijkstra method used above does not pass the same road more than once and does not have a loop.
また、上記の各実施の形態において、迂回経路を計算する手法として、ダイクストラ法を用いているが、この例に限定されることなく、重み付き有向グラフの最短経路を求められる方法であれば他の方法であってもよい。 In each of the above embodiments, the Dijkstra method is used as a method for calculating the detour route. However, the present invention is not limited to this example, and any other method can be used as long as it can obtain the shortest route of the weighted directed graph. It may be a method.
また、上記の各実施の形態における図2、図6〜図7、図10〜図11、図13〜図15に示すフローチャートの動作を、プログラムとして構築し、通信網上のノード装置、または、当該通信網を管理する装置として利用されるコンピュータにインストールし、CPU等の制御手段により実行する、または、ネットワークを介して流通させることが可能である。 Further, the operations of the flowcharts shown in FIG. 2, FIG. 6 to FIG. 7, FIG. 10 to FIG. 11, and FIG. It can be installed in a computer used as an apparatus for managing the communication network, executed by a control unit such as a CPU, or distributed via the network.
また、構築されたプログラムを、通信網上のノード装置、または、当該通信網を管理する装置として利用されるコンピュータに接続される、ハードディスクや、フレキシブルディスク、CD−ROM等の可搬記憶媒体に格納しておき、本発明を実施する際にコンピュータにインストールすることも可能である。 Further, the constructed program is stored in a portable storage medium such as a hard disk, a flexible disk, or a CD-ROM connected to a node device on the communication network or a computer used as a device for managing the communication network. It can also be stored and installed on a computer when implementing the present invention.
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。 The present invention is not limited to the above-described embodiment, and various modifications and applications can be made within the scope of the claims.
本発明は、ネットワーク上のノードを通過する現用パスと、現用パスのノード間の区間の故障に対して予備リソースを用意し、故障箇所に応じて故障復旧処理を行うシステムに適用可能である。 The present invention can be applied to a system that prepares a backup resource for a failure in a section between a working path passing through a node on the network and a node of the working path, and performs a failure recovery process according to the failure location.
Claims (8)
前記ノード装置の計算手段が、
故障復旧のための予備経路の計算の際に、計算対象現用区間[m,m+1]の計算のために、該計算対象現用区間のリンクを除いた通信網に存在するすべてのリンクの重みの総和より大きな値を与えて迂回経路を計算する迂回経路計算過程と、
前記迂回経路の計算結果が前記現用パスと他の区間を共有する場合には、前記現用パスと他の区間の重なった部分を除去して計算対象区間[m,m+1]を含む区間の予備経路とする予備経路決定過程と、
からなることを特徴とする故障復旧経路探索方法。 A spare resource for a failure in a section [m, m + 1] (1 ≦ m <k, m: integer) between the working path passing through the nodes 1 to k (k: positive number) and the node of the working path In the failure recovery path search method in a communication network performed by a node device on a communication network prepared for each section, and performing a failure recovery operation according to a failure location when a failure occurs, or a device controlling the communication network,
The node device calculation means comprises:
When calculating the backup path for failure recovery, the sum of the weights of all links existing in the communication network excluding the link of the calculation target current section for calculation of the calculation target current section [m, m + 1]. A detour route calculation process for calculating a detour route by giving a larger value;
If the calculation result of the detour route shares the other section with the working path, the spare path of the section including the calculation target section [m, m + 1] by removing the overlapping portion of the working path and the other section A preliminary route determination process and
A fault recovery route search method characterized by comprising:
重み付き有向グラフの最短経路を求める手法を用いる請求項1記載の通信網における故障復旧経路探索方法。 In the detour route calculation process,
The failure recovery route search method in the communication network according to claim 1, wherein a method for obtaining the shortest route of the weighted directed graph is used.
計算対象現用区間[m,m+1]の計算のために、該計算対象現用区間のリンクを除いた通信網に存在するすべてのリンクの重みの総和より大きな値を入力する入力ステップと、
故障復旧のための予備経路の計算として、入力された値を用いて迂回経路を計算する計算ステップと、
前記計算ステップにおける迂回経路の計算結果が前記現用パスと他の区間を共有する場合には、前記現用パスと他の区間の重なった部分を除去して計算対象区間[m,m+1]を含む区間の予備経路として出力する予備経路決定ステップと、をコンピュータに実行させることを特徴とする故障復旧経路探索プログラム。 A spare resource for a failure in a section [m, m + 1] (1 ≦ m <k, m: integer) between the working path passing through the nodes 1 to k (k: positive number) and the node of the working path Prepared for each section, a node device on a communication network that performs a failure recovery operation according to a failure location when a failure occurs, or a failure recovery route search program that is executed by a device that controls the communication network,
An input step for inputting a value larger than the sum of the weights of all links existing in the communication network excluding the link of the calculation target working section for calculation of the calculation target working section [m, m + 1];
A calculation step for calculating a detour route using the input value as a backup route calculation for failure recovery,
When the calculation result of the detour route in the calculation step shares the other section with the working path, the section including the calculation target section [m, m + 1] by removing the overlapping portion of the working path and the other section A failure recovery route search program for causing a computer to execute a backup route determination step for outputting as a backup route.
重み付き有向グラフの最短経路を求める手法を用いる請求項5記載の故障復旧経路探索プログラム。 In the detour route calculation step,
6. The failure recovery route search program according to claim 5, wherein a method for obtaining the shortest route of the weighted directed graph is used.
前記重み付き有向グラフの最短経路を求める手法として、ダイクストラ法を用いる請求項7記載の故障復旧経路探索プログラム。 In the detour route calculation step,
The failure recovery route search program according to claim 7, wherein the Dijkstra method is used as a method for obtaining the shortest route of the weighted directed graph.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003409014A JP4182872B2 (en) | 2003-12-08 | 2003-12-08 | Fault recovery path search method and fault recovery path search program in communication network |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003409014A JP4182872B2 (en) | 2003-12-08 | 2003-12-08 | Fault recovery path search method and fault recovery path search program in communication network |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2005175593A JP2005175593A (en) | 2005-06-30 |
| JP4182872B2 true JP4182872B2 (en) | 2008-11-19 |
Family
ID=34730530
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003409014A Expired - Fee Related JP4182872B2 (en) | 2003-12-08 | 2003-12-08 | Fault recovery path search method and fault recovery path search program in communication network |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4182872B2 (en) |
-
2003
- 2003-12-08 JP JP2003409014A patent/JP4182872B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2005175593A (en) | 2005-06-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8144626B2 (en) | Determining disjoint paths with an optimized number of regenerators | |
| CN109495300B (en) | A reliable SDN virtual network mapping method | |
| US20020097680A1 (en) | Apparatus and method for spare capacity allocation | |
| JP3997844B2 (en) | Route calculation method, route calculation program, and route calculation device | |
| US20130028074A1 (en) | Method and apparatus for protecting a communication network against failure | |
| Jiang et al. | Flexile: Meeting bandwidth objectives almost always | |
| JP7322951B2 (en) | Routing control device, routing control method, program, and network system | |
| JP4182872B2 (en) | Fault recovery path search method and fault recovery path search program in communication network | |
| JPWO2015059917A1 (en) | Multilayer network control method and apparatus | |
| JP5952779B2 (en) | Network control device and network control program | |
| JP6293487B2 (en) | Network design method and system | |
| JP4536690B2 (en) | Route calculation method, apparatus and program | |
| JP6587518B2 (en) | Route search apparatus and route search method | |
| CA2537898C (en) | Method and apparatus for generating routing information in a data communications network | |
| JP4724219B2 (en) | Shortest path calculation device, shortest path calculation method, and program | |
| JP4422114B2 (en) | Failure effect degree determination method, apparatus and program | |
| JP4499067B2 (en) | Multicast path calculation method and apparatus, program, and computer-readable recording medium | |
| JP5502802B2 (en) | Route determining apparatus and route determining method | |
| JP4485464B2 (en) | Alternative route calculation method and apparatus, alternative route calculation server, alternative route calculation router, and alternative route calculation program | |
| Salles et al. | Efficient routing heuristics for Internet traffic engineering | |
| CN109155756B (en) | Method and system for adding electrical layer resources | |
| JP2017098894A (en) | Network management apparatus, recovery procedure determination method and program | |
| JP4479601B2 (en) | Multicast route calculation method and apparatus, program, and storage medium storing program | |
| JP7521585B2 (en) | Route calculation device, route calculation method, and route calculation program | |
| JP4436307B2 (en) | LSP (LabelSwitchedPath) path calculation method, apparatus and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060414 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071226 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080318 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080519 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080812 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080825 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110912 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120912 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130912 Year of fee payment: 5 |
|
| LAPS | Cancellation because of no payment of annual fees |