(57)【要約】【課題】inclusive route指定のある経路設定において、始点ノードから終点ノードまでの経路で経路重複がなく、かつ、できるだけリンクコストが小さくなる経路を発見する。【解決手段】経路計算装置１（１ａ）が、始点ノードから終点ノードまでの経路を複数の区間に分割し、各区間の最短経路を計算する。ここで、各区間同士で経路重複があったとき、トポロジ情報を参照して、区間毎にとりうる経路候補の中から、経路重複のない経路の組み合わせを探索する。そして、その経路重複のない経路の組み合わせの中から、リンクコストが最小となる経路の組み合わせを選択し、計算結果として出力する。【選択図】図１
2008054233.tif 000002
【特許請求の範囲】
【請求項１】
各種データの入出力を司る入出力部と、ネットワークを構成するノードのトポロジ情報および前記ノードを接続するリンクのリンクコスト情報を記憶する記憶部と、前記トポロジ情報および前記リンクコスト情報を参照して経路計算を行う処理部とを備える経路計算装置が、
前記入出力部経由で、前記ネットワーク内の始点ノードから終点ノードまでの経路で経由する中継ノードの識別情報の入力を受け付ける中継ノード入力ステップと、
前記中継ノードにより、前記始点ノードから終点ノードまでの経路を複数の区間に分割する区間分割ステップと、
前記リンクコスト情報を参照して、前記分割された区間毎に、当該区間におけるリンクコストが最小となる最短経路を計算し、前記計算した各区間毎の最短経路を前記記憶部に記憶する経路計算ステップと、
前記最短経路同士で、経路重複があるか否かを判断する第１の経路重複判断ステップと、
前記第１の経路重複判断ステップにおいて、前記最短経路同士で、経路重複があったとき、
前記トポロジ情報を参照して、前記区間毎にとりうる経路候補を計算し、前記計算した各区間毎の経路候補を、前記記憶部に記憶する経路候補計算ステップと、
前記記憶部から、前記経路重複が発見された区間それぞれにおける経路候補を読み出し、前記読み出した経路候補の中から、前記経路重複が発見された区間同士で、経路重複のない経路の組み合わせを探索し、その経路重複のない経路の組み合わせの中から、リンクコストが最小となる経路の組み合わせを選択し、前記経路重複が発見された区間の経路を、前記選択した経路に置き換えて出力する経路組み合わせ探索ステップと、
を実行することを特徴とする経路計算方法。
【請求項２】
前記経路組み合わせ探索ステップにおいて、
前記経路重複が発見された区間の中から、前記経路候補の経路への置き換えを行う区間を選択し、前記選択した区間における経路候補を、前記記憶部から読み出し、前記読み出した経路候補を、前記リンクコストが小さい順に選択し、前記区間の経路を前記選択した経路候補に置き換え、前記経路重複が発見された他の区間と重複しない経路の組み合わせを探索することを特徴とする請求項１に記載の経路計算方法。
【請求項３】
前記経路組み合わせ選択ステップにおいて、
前記経路の置き換えを行う区間は、当該区間における前記経路候補数が多い区間から順に選択することを特徴とする請求項２に記載の経路計算方法。
【請求項４】
前記経路組み合わせ探索ステップにおいて、
前記経路の置き換えを行う区間は、当該区間における前記最短経路のリンクコストが大きい区間から順に選択することを特徴とする請求項２に記載の経路計算方法。
【請求項５】
前記入出力部経由で、前記各区間毎のペナルティコストの入力を受け付け、前記入力された前記各区間毎のペナルティコストを前記記憶部に記憶するペナルティコスト入力ステップをさらに実行し、
前記経路組み合わせ選択ステップにおいて、
前記経路の置き換えを行う区間は、当該区間における前記ペナルティコストが大きい区間から順に選択することを特徴とする請求項２に記載の経路計算方法。
【請求項６】
前記経路組み合わせ探索ステップにおいて置き換えられた経路が、前記経路重複を発見した区間以外の区間における経路と重複しているか否かを判断する第２の経路重複判断ステップをさらに実行し、
前記第２の経路重複判断ステップにおいて、前記置き換えられた経路が、前記経路重複を発見した区間以外の区間における経路と重複していると判断されたとき、
前記経路が重複していると判断された区間を対象として、前記経路組み合わせ探索ステップを再度実行することを特徴とする請求項１ないし請求項５のいずれか１項に記載の経路計算方法。
【請求項７】
請求項１ないし請求項６のいずれか１項に記載の経路計算方法を、コンピュータである経路計算装置に実行させることを特徴とする経路計算プログラム。
【請求項８】
ネットワークを構成するノードのトポロジ情報および前記ノードを接続するリンクのリンクコスト情報を記憶する記憶部と、
前記ネットワーク内の経路における始点ノードから終点ノードまでの経路で経由する中継ノードの識別情報の入力を受け付ける中継ノード入力部と、
前記中継ノードにより、前記始点ノードから終点ノードまでの経路を複数の区間に分割する区間分割部と、
前記リンクコスト情報を参照して、前記分割された区間毎に、当該区間におけるリンクコストが最小となる最短経路を計算し、前記計算した各区間毎の最短経路を前記記憶部に記憶する経路計算部と、
前記最短経路同士で、経路重複があるか否かを判断する経路重複判断部と、
前記経路重複判断部において、前記最短経路同士で、経路重複があると判断されたとき、
前記トポロジ情報を参照して、前記区間毎にとりうる経路候補を計算し、前記計算した各区間毎の経路候補を、前記記憶部に記憶する経路候補計算部と、
前記記憶部から、前記経路重複が発見された区間それぞれにおける経路候補を読み出し、前記読み出した経路候補の中から、前記経路重複が発見された区間同士で、経路重複のない経路の組み合わせを探索し、その経路重複のない経路の組み合わせの中から、リンクコストが最小となる経路の組み合わせを選択し、前記経路重複が発見された区間の経路を、前記選択した経路に置き換えて出力する経路組み合わせ探索部と、
を備えることを特徴とする経路計算装置。
【請求項９】
前記経路組み合わせ探索部は、
前記経路重複が発見された区間の中から、前記経路候補の経路への置き換えを行う区間を選択し、前記選択した区間における経路候補を、前記記憶部から読み出し、前記読み出した経路候補を、前記リンクコストが小さい順に選択し、前記区間の経路を前記選択した経路候補に置き換え、前記経路重複が発見された他の区間と重複しない経路の組み合わせを探索することを特徴とする請求項８に記載の経路計算装置。
【請求項１０】
前記経路組み合わせ探索部は、
前記置き換えられた経路が、前記経路重複を発見した区間以外の区間における経路と重複しているとき、
前記経路が重複していると判断された区間を対象として、前記経路組み合わせの探索および選択した経路への置き換えを、再度実行することを特徴とする請求項８または請求項９に記載の経路計算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、inclusive route指定した場合の経路計算技術に関する。
【背景技術】
【０００２】
近年、ネットワークの高速大容量化に伴い、音声・映像のストリーミングサービスが普及している。これらのサービスを提供するアプリケーションには、遅延やパケットロスによる品質劣化を防ぐために、ＱｏＳ（Quality of Service）制約と充分な帯域が与えられる必要がある。
【０００３】
ここで、限りある帯域を効率よく利用し、かつ、要求されるＱｏＳに対応できるような経路を設定するため、ネットワーク内のサーバまたはルータにはＣＳＰＦ(Constrained Shortest Path First)機能が備えられている。このＣＳＰＦ機能とは、シグナリング情報をやりとりするモジュール等、外部からの要求に基づいて、制約を満たすパスの経路を計算し、外部に対して経路を回答する機能、つまり制約付きの最短経路（リンクコストが最小になる経路）の計算を行う機能である。なお、このようなＣＳＰＦ機能を実現するＣＳＰＦアルゴリズムとしては、dijkstraアルゴリズムがある（非特許文献１参照）。
【０００４】
ここで、限られたネットワーク資源の有効活用や、ＱｏＳ制御、または事業者の運用上の都合のため、パス設定時に必ず経由すべき箇所を指定する（inclusive route指定する）場合がある。このinclusive route指定を考慮して経路計算を行うとき、始点ノードと指定ノード（inclusive route指定したノード）１、指定ノード１と指定ノード２、以下同様に指定ノードＮと終点ノード、という具合に区間に分けて、各区間独立に経路計算を行い、最後にそれら経路を足し合わせることでend-to-endの経路を得ている。
【非特許文献１】Dijkstra's  algorithm 、[online]、[2006年8月20日検索]、インターネット、<URL：http://en.wikipedia.org/wiki/Dijkstra's_algorithm>
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、経路計算において、前記したinclusive route指定がされた場合、単純に、各区間毎にdijkstraアルゴリズムだけを用いて最短経路を発見しようとすると、始点ノードから終点ノードまでの経路で経路重複が発生する場合がある。この問題を、図７を用いて説明する。
【０００６】
通常、経路計算ではメトリックと呼ばれる値が用いられる。メトリックとはネットワーク内のリンク毎に与えられるコスト（リンクコスト）であり、このリンクコストの総和が最小となるような経路を発見（計算）するのが、ＣＳＰＦの基本である。図７に例示するネットワークにおいて、inclusive node（中継ノード）としてノード２Ｃが選択された場合、経路計算装置６は、前記したdijkstraアルゴリズムだけを用いて最短経路を計算（探索）すると、もっともリンクコストの総和が少ないノード２Ａ→ノード２Ｂ→ノード２Ｃ→ノード２Ｂ→ノード２Ｄ（実線の経路）を発見する。しかし、この経路は、ノード２Ｂ→ノード２Ｃの経路と、ノード２Ｃ→ノード２Ｂの経路とが重複しているため、経路計算装置６はこの経路にパス設定をすることはできない。
【０００７】
つまり、経路計算装置６がパス設定をするためには、経路重複がない経路、例えば、図７のノード２Ａ→ノード２Ｂ→ノード２Ｃ→ノード２Ｄという経路（破線の経路）を選択しなければならない。また、図７に例示するネットワークのように、経路重複のない経路の組み合わせが複数考えられる場合、これらの中からできるだけリンクコストが小さい経路を選択するのが、経路設定上、好ましい。
【０００８】
そこで、本発明は、前記した問題を解決し、inclusive route指定をした場合、始点ノードから終点ノードまでの経路で経路重複がなく、かつ、できるだけリンクコストが小さくなる経路を計算する手段を提供することを目的とする。
【課題を解決するための手段】
【０００９】
前記した課題を解決するため、請求項１に記載の発明は、各種データの入出力を司る入出力部と、ネットワークを構成するノードのトポロジ情報および前記ノードを接続するリンクのリンクコスト情報を記憶する記憶部と、前記トポロジ情報および前記リンクコスト情報を参照して経路計算を行う処理部とを備える経路計算装置が、前記入出力部経由で、前記ネットワーク内の始点ノードから終点ノードまでの経路で経由する中継ノードの識別情報の入力を受け付ける中継ノード入力ステップと、前記中継ノードにより、前記始点ノードから終点ノードまでの経路を複数の区間に分割する区間分割ステップと、前記リンクコスト情報を参照して、前記分割された区間毎に、当該区間におけるリンクコストが最小となる最短経路を計算し、前記計算した各区間毎の最短経路を前記記憶部に記憶する経路計算ステップと、前記最短経路同士で、経路重複があるか否かを判断する第１の経路重複判断ステップと、前記第１の経路重複判断ステップにおいて、前記最短経路同士で、経路重複があったとき、前記トポロジ情報を参照して、前記区間毎にとりうる経路候補を計算し、前記計算した各区間毎の経路候補を、前記記憶部に記憶する経路候補計算ステップと、前記記憶部から、前記経路重複が発見された区間それぞれにおける経路候補を読み出し、前記読み出した経路候補の中から、前記経路重複が発見された区間同士で、経路重複のない経路の組み合わせを探索し、その経路重複のない経路の組み合わせの中から、リンクコストが最小となる経路の組み合わせを選択し、前記経路重複が発見された区間の経路を、前記選択した経路に置き換えて出力する経路組み合わせ探索ステップとを実行する経路計算方法とした。
【００１０】
この経路計算方法によれば、経路計算装置は、inclusive route指定により中継ノードが指定された場合において、経由経路重複がなく、かつ、リンクコストが最小となる経路を計算することができる。
【００１１】
請求項２に記載の発明は、請求項１に記載の経路計算方法における前記経路組み合わせ探索ステップにおいて、前記経路重複が発見された区間の中から、前記経路候補の経路への置き換えを行う区間を選択し、前記選択した区間における経路候補を、前記記憶部から読み出し、前記読み出した経路候補を、前記リンクコストが小さい順に選択し、前記区間の経路を前記選択した経路候補に置き換え、前記経路重複が発見された他の区間と重複しない経路の組み合わせを探索する経路計算方法とした。
【００１２】
この経路計算方法によれば、経路計算装置は、経路重複が発見された区間において、まず、経路の置き換えを行う区間を選択する。そして、経路計算装置は、この選択した区間についてリンクコストが小さいものから順に経路を経路候補の経路に置き換えていき、経路重複が発見された他の区間と経路重複のない経路を探索する。従って、経路計算装置は、inclusive route指定により中継ノードが指定された場合において、少ない計算量で、経路重複がなく、かつ、リンクコストができるだけ小さい経路を計算することができる。
【００１３】
請求項３に記載の発明は、請求項２に記載の経路計算方法における前記経路組み合わせ選択ステップにおいて、前記経路の置き換えを行う区間は、当該区間における前記経路候補数が多い区間から順に選択する経路計算方法とした。
【００１４】
この経路計算方法によれば、経路計算装置は、経路候補数が大きい区間から順に、経路の置き換えを行うので、経路重複のない経路を発見しやすくなる。
【００１５】
請求項４に記載の発明は、請求項２に記載の経路計算方法における前記経路組み合わせ探索ステップにおいて、前記経路の置き換えを行う区間は、当該区間における前記最短経路のリンクコストが大きい区間から順に選択する経路計算方法とした。
【００１６】
この経路計算方法によれば、経路計算装置は、リンクコストが大きい区間から順に経路置き換えを行うので、経路重複のない経路を発見しやすくなる。例えば、このリンクコストが、当該区間のホップ数を用いて計算されたものである場合、リンクコストが大きい区間は、ホップ数も大きい区間である可能性が高い。すなわち、経路候補数が多い可能性が高い。従って、経路計算装置は、このようにリンクコストが大きい区間から順に経路置き換えを行えば、経路重複のない経路を発見しやすくなる。
【００１７】
請求項５に記載の発明は、請求項２に記載の経路計算方法において、前記入出力部経由で、前記各区間毎のペナルティコストの入力を受け付け、前記入力された前記各区間毎のペナルティコストを前記記憶部に記憶するペナルティコスト入力ステップをさらに実行し、前記経路組み合わせ選択ステップにおいて、前記経路の置き換えを行う区間は、当該区間における前記ペナルティコストが大きい区間から順に選択する経路計算方法とした。
【００１８】
この経路計算方法によれば、この経路計算装置のオペレータ等が、ペナルティコストを入力することで、経路計算装置に、オペレータが所望する区間から順に、経路置き換えを実行させることができる。
【００１９】
請求項６に記載の発明は、請求項１ないし請求項５のいずれか１項に記載の経路計算方法の前記経路組み合わせ探索ステップにおいて置き換えられた経路が、前記経路重複を発見した区間以外の区間における経路と重複しているか否かを判断する第２の経路重複判断ステップをさらに実行し、前記第２の経路重複判断ステップにおいて、前記置き換えられた経路が、前記経路重複を発見した区間以外の区間における経路と重複していると判断されたとき、前記経路が重複していると判断された区間を対象として、前記経路組み合わせ探索ステップを再度実行する経路計算方法とした。
【００２０】
この経路計算方法によれば、最初の計算で経路重複が見つかった区間同士の経路重複が解消したが、それ以外の区間との間で経路重複が発生した場合、その区間との間で再度経路重複のない経路を探索する。従って、経路計算装置は、始点ノードから終点ノードまでの全区間で経路重複のない経路を発見することができる。なお、この経路計算方法は、中継ノードにより区切られる区間が、３つ以上であるときに特に有効である。
【００２１】
請求項７に記載の発明は、請求項１ないし請求項６のいずれか１項に記載の経路計算方法を、コンピュータである経路計算装置に実行させる経路計算プログラムとした。
【００２２】
この経路計算プログラムによれば、コンピュータを経路計算装置として機能させることができる。
【００２３】
請求項８に記載の発明は、ネットワークを構成するノードのトポロジ情報および前記ノードを接続するリンクのリンクコスト情報を記憶する記憶部と、前記ネットワーク内の経路における始点ノードから終点ノードまでの経路で経由する中継ノードの識別情報の入力を受け付ける中継ノード入力部と、前記中継ノードにより、前記始点ノードから終点ノードまでの経路を複数の区間に分割する区間分割部と、前記リンクコスト情報を参照して、前記分割された区間毎に、当該区間におけるリンクコストが最小となる最短経路を計算し、前記計算した各区間毎の最短経路を前記記憶部に記憶する経路計算部と、前記最短経路同士で、経路重複があるか否かを判断する経路重複判断部と、前記経路重複判断部において、前記最短経路同士で、経路重複があると判断されたとき、前記トポロジ情報を参照して、前記区間毎にとりうる経路候補を計算し、前記計算した各区間毎の経路候補を、前記記憶部に記憶する経路候補計算部と、前記記憶部から、前記経路重複が発見された区間それぞれにおける経路候補を読み出し、前記読み出した経路候補の中から、前記経路重複が発見された区間同士で、経路重複のない経路の組み合わせを探索し、その経路重複のない経路の組み合わせの中から、リンクコストが最小となる経路の組み合わせを選択し、前記経路重複が発見された区間の経路を、前記選択した経路に置き換えて出力する経路組み合わせ探索部と、を備える経路計算装置とした。
【００２４】
この経路計算装置によれば、inclusive route指定により中継ノードが指定された場合において、経由経路重複がなく、かつ、リンクコストが最小となる経路を計算することができる。
【００２５】
請求項９に記載の発明は、請求項８に記載の経路計算装置において、前記経路組み合わせ探索部は、前記経路重複が発見された区間の中から、前記経路候補の経路への置き換えを行う区間を選択し、前記選択した区間における経路候補を、前記記憶部から読み出し、前記読み出した経路候補を、前記リンクコストが小さい順に選択し、前記区間の経路を前記選択した経路候補に置き換え、前記経路重複が発見された他の区間と重複しない経路の組み合わせを探索する構成とした。
【００２６】
この経路計算装置によれば、少ない計算量で、経路重複がなく、かつ、リンクコストができるだけ小さい経路を発見することができる。
【００２７】
請求項１０に記載の発明は、請求項８または請求項９に記載の経路計算装置において、前記経路組み合わせ探索部は、前記経路重複が発見された区間の中から、前記経路候補の経路への置き換えを行う区間を選択し、前記選択した区間における経路候補を、前記記憶部から読み出し、前記読み出した経路候補を、前記リンクコストが小さい順に選択し、前記区間の経路を前記選択した経路候補に置き換え、前記経路重複が発見された他の区間と重複しない経路の組み合わせを探索する構成とした。
【００２８】
この経路計算装置によれば、始点ノードから終点ノードまでの全区間で経路重複のない経路を発見することができる。なお、この経路計算方法は、中継ノードにより区切られる区間が、３つ以上であるときに特に有効である。
【発明の効果】
【００２９】
本発明によれば、inclusive route指定により中継ノードが指定された場合において、経路重複がなく、かつ、リンクコストが最小となる経路を計算することができる。従って、ネットワークの管理者等は所望の経路を設定しやすくなる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明を実施するための最良の形態（以下、実施の形態という）を、第１の実施の形態および第２の実施の形態に分けて説明する。
【００３１】
≪第１の実施の形態≫
まず、本発明の第１の実施の形態の経路計算装置を説明する。この経路計算装置は、inclusive route指定により区切られた区間の最短経路において、経路重複を発見したとき、経路重複のない経路の組み合わせを探索する。そして、探索した経路の組み合わせのうち、最もリンクコストの小さい経路の組み合わせを計算結果として出力することを特徴とする。
【００３２】
図１は、本発明の実施の形態における経路計算装置を含むネットワークの構成例を示す図である。図１に示すように、ネットワークは、ノード２（２Ａ，２Ｂ，２Ｃ，２Ｄ）と、このノード２との間に設定するパスの経路計算を行う経路計算装置１とを含んで構成される。このノード２と経路計算装置１とは、通信可能に接続されている。なお、経路計算装置１ａについては、第２の実施の形態の項で説明する。
【００３３】
また、このネットワークは、ＴＤＭ（Time Division Multiplexing）やＷＤＭ（Wavelength Division Multiplexing）等の回線交換ネットワーク、または、ＩＰ（Internet Protocol）やイーサネット（登録商標）、ＭＰＬＳ（Multi-Protocol Label Switching）により実現される。ノード２は、ＭＰＬＳ網のＭＰＬＳルータ、パケット網のルータ、光網の光クロスコネクト等により実現され、経路計算装置１からのパスの設定命令に基づき、パスを設定する機能を備える。
【００３４】
＜動作概要＞
ここで、経路計算装置１の動作概要を、図１を参照しながら説明する。まず、経路計算装置１は、入力装置（図示せず）等から、始点ノード（ノード２Ａ）から終点ノード（ノード２Ｄ）までの経路において、中継ノードとなるノード（ノード２Ｃ）の識別情報の入力を受け付ける。つまりinclusive route指定において経由すべきノード（inclusive node）の入力を受け付ける。
【００３５】
この入力を受けて、経路計算装置１は、ノード２Ａからノード２Ｄまでの区間を、ノード２Ａからノード２Ｃまでの区間＃１と、ノード２Ｃからノード２Ｄまでの区間＃２とに分割する。
【００３６】
そして、経路計算装置１が区間＃１，＃２それぞれにおいて取りうる経路のうち、コスト（リンクコスト）の総和が最小となる経路（最短経路）を計算すると、ノード２Ａ→ノード２Ｂ→ノード２Ｃ→ノード２Ｂ→ノード２Ｄ（実線の経路）となるが、この経路では、ノード２Ｂ→ノード２Ｃと、ノード２Ｃ→ノード２Ｂとが重複する。
【００３７】
そこで、経路計算装置１は、図１に例示するネットワークにおいて、区間＃１の経路候補として、（１）ノード２Ａ→ノード２Ｂ→ノード２Ｃ（リンクコスト＝２）と、（２）ノード２Ａ→ノード２Ｃ（リンクコスト＝５）経路があることを計算する。また、区間＃２の経路候補として、（３）ノード２Ｃ→ノード２Ｂ→ノード２Ｄ（リンクコスト＝２）と、（４）ノード２Ｃ→ノード２Ｄ（リンクコスト＝３）とがあることを計算する。そして、経路計算装置１は、これらの経路の組み合わせのうち、経路重複のない組み合わせがなく、リンクコストが最も小さいものを選択する。例えば、ノード２Ａからノード２Ｄまで経路重複のない経路の組み合わせと、その組み合わせにおけるリンクコストの総和は、以下の表１のようになる。
【００３８】
【表１】
2008054233.tif 000003
【００３９】
このような場合、経路計算装置１は、リンクコストの総和が最も小さい経路、即ち、区間＃１については、（１）ノード２Ａ→ノード２Ｂ→ノード２Ｃという経路とし、区間＃２については、（４）ノード２Ｃ→ノード２Ｄという経路とした経路の組み合わせを選択する。そして、経路計算装置１は、この経路を、経路結果として出力する。このようにすることで、経路計算装置１は、ノード２Ａからノード２Ｄまでの経路において、経路重複のなく、かつ、できるだけリンクコストの小さい経路を設定することができる。
【００４０】
＜経路計算装置の構成＞
次に、図２を用いて、経路計算装置１の構成を詳細に説明する。図２は、図１の経路計算装置の構成を示したブロック図である。
【００４１】
図２に示すように、経路計算装置１は、入出力部１１と、処理部１２と、記憶部１３と、通信部１４とを備える。
【００４２】
入出力部１１は、この経路計算装置１に接続されるキーボードやマウス等の入力装置（図示せず）、液晶モニタ等の出力装置（図示せず）等のインタフェースである。この入出力部１１は、入力装置から入力された情報を処理部１２に出力したり、処理部１２により処理された情報を出力装置へ出力したりする。この入出力部１１は、中継ノード入力部１１１を備える。中継ノード入力部１１１は、中継ノード（inclusive node）の識別情報の入力を受け付ける。なお、この中継ノードの識別情報の入力は、例えば、前記した入力装置により行われる。
【００４３】
処理部１２は、この経路計算装置１全体の制御を司り、入出力部１１、通信部１４および記憶部１３の制御と、入力された情報の処理とを行う。
【００４４】
この処理部１２は、始点ノードから終点ノードまでの経路を中継ノードで分割する区間分割部１２１と、各区間の最短経路の計算（探索）を行う経路計算部１２２と、各区間毎の経路重複の有無を判断する経路重複判断部１２３と、各区間の経路候補を計算する経路候補計算部１２４と、各区間の経路の組み合わせを探索する経路組み合わせ探索部１２５と、各ノード２のリンクコストや、トポロジ情報等のルーティング情報を取得するルーティング情報取得部１２６と、計算された経路に基づくパス設定命令をノード２へ出力するパス制御部１２７とを備える。
【００４５】
区間分割部１２１は、入出力部１１あるいは通信部１４経由で、パスの設定命令を受信すると、始点ノードから終点ノードまでの経路を中継ノードで分割する。例えば、区間分割部１２１は、ノード２Ａからノード２Ｄまでの経路（図１参照）において、ノード２Ｃを中継ノードとして、区間＃１，＃２という２つの区間に分割する。このときの区間分割は、後記するルーティング情報記憶部１３１に格納されるルーティング情報を参照して行われる。
【００４６】
経路計算部１２２は、ルーティング情報を参照して、各区間毎にリンクコストが最小となる経路（最短経路）を計算する。ここでの最短経路の計算には、前記した制約付きdijkstraアルゴリズムや、k-shortest pathアルゴリズム等を用いる。
【００４７】
経路重複判断部１２３は、各区間同士で経路重複があるか否かを判断する。このときの経路重複の有無の判断は、各区間同士で経路（リンク）を１つ以上共有するとき、これらの区間同士で経路重複有りと判断する。すなわち、区間＃１において、ノード２Ｂ→ノード２Ｃ（リンクＢ）という経路が含まれ、区間＃２においても、ノード２Ｃ→ノード２Ｂ（リンクＢ）という経路が含まれていれば、経路重複判断部１２３は、これらの区間において経路重複があると判断する。なお、このときの経路重複の判断は、各区間の経路がノード２の組み合わせにより記述される場合、それぞれの区間で同じノード２のペアを含むか否かで判断してもよい。
【００４８】
経路候補計算部１２４は、ルーティング情報を参照して、各区間毎の経路候補を計算する。計算した経路候補は、区間ＩＤ等と対応付けて、区間毎経路情報記憶部１３３に格納（記憶）する。
【００４９】
経路組み合わせ探索部１２５は、区間毎経路情報記憶部１３３から各区間毎の経路候補を読み出し、その経路候補の組み合わせの中から、経路重複のない経路の組み合わせを探索する。そして、その経路重複のない経路の組み合わせの中から、リンクコストが最小となる経路の組み合わせを選択し、この組み合わせを経路計算結果として出力する。
【００５０】
ルーティング情報取得部１２６は、通信部１４経由で、各ノード２のリンクコスト（各リンクにおける残余帯域等）を取得し、ルーティング情報記憶部１３１に格納（記憶）する。
【００５１】
パス制御部１２７は、入出力部１１等からパスの設定命令を受け付けると、これを区間分割部１２１へ出力する。また、経路組み合わせ探索部１２５から出力された経路計算結果を受け取ると、この経路計算結果に基づくパスの設定命令を、通信部１４経由で各ノード２へ出力する。このパスの設定命令は、例えば、パス設定のためのシグナリングプロトコルにより行われる。
【００５２】
なお、この処理部１２の機能は、ＣＰＵ（Central Processing Unit）等が記憶部１３に記憶された所定のプログラムを実行することで実現される。
【００５３】
記憶部１３は、この経路計算装置１の機能を実現するプログラムのほかに、処理部１２が経路計算を行うときに参照する各種データを記憶する。この記憶部１３はルーティング情報（リンク情報およびトポロジ情報）を記憶するルーティング情報記憶部１３１と、始点ノードから終点ノードまでの経路を記憶するパス情報記憶部１３２と、区間毎の経路候補を記憶した区間毎経路情報記憶部１３３とを備える。なお、この記憶部１３は、ＲＡＭ（Random Access Memory）、フラッシュメモリ、ＨＤＤ（Hard Disk Drive）等の記憶装置により実現される。
【００５４】
ルーティング情報記憶部１３１は、各ノード２を接続するリンク情報と、ネットワークのトポロジ情報とを記憶する。このリンク情報は、以下の表２に例示するように、リンクＩＤ毎に、そのリンクのリンクコスト（リンクコスト情報）、Ａ端ノードＩＤ、Ａ端ノードＩＦ（interface）  ＩＤ、Ｚ端ノードＩＤ、Ｚ端ノードＩＦ  ＩＤ等を示した情報である。なお、このリンクコストの値は、例えば、リンクの残余帯域から求めた値を用いる。ノードＩＤおよびＩＦ  ＩＤは、例えば、ＩＰアドレス等により記述される。
【００５５】
【表２】
2008054233.tif 000004
【００５６】
また、トポロジ情報は、ネットワーク内に設置されるノード２の識別情報と、そのノード同士がどのように接続されているかを示した情報である。このトポロジ情報は、ここでは図示を省略する。なお、ここでは、トポロジ情報と、リンク情報とは別個のものとしているが、トポロジ情報に前記したリンク情報を含めるようにしてもよい。
【００５７】
パス情報記憶部１３２は、前記したとおり、経路組み合わせ探索部１２５が計算した経路（パス）情報を記憶する。以下の表３にパス情報を例示する。
【００５８】
【表３】
2008054233.tif 000005
【００５９】
なお、このパス情報は、始点ノードから終点ノードまでの経路に関するものと、その経路をinclusive route指定で区切った区間毎のものと、両方用意するようにしてもよい。その場合、区間毎のパス情報は、例えば、以下の表４に例示するように、経路（パス）のパスＩＤ毎、その経路を区切った区間毎に、その区間の始点ノードＩＤ、始点ノードＩＦ
ＩＤ、終点ノードＩＤ、終点ノードＩＦ  ＩＤ、経由リンクＩＤリスト、リンクコスト等を示した情報となる。なお、この区間毎のパス情報における、経由リンクＩＤリスト、リンクコストは、経路組み合わせ探索部１２５が当該区間の経路候補の中から別の経路候補を選択したときに書き換えられる。
【００６０】
【表４】
2008054233.tif 000006
【００６１】
区間毎経路情報記憶部１３３は、経路候補計算部１２４が計算した、区間毎の経路候補を記憶する。この区間毎経路情報は、区間ＩＤ毎に、当該区間において経由するリンクのリンクＩＤ（経由リンクＩＤリスト）と、そのリンクを経由した場合の当該区間のリンクコストとを示した情報である。なお、この区間毎の経路候補は、上りも下りも同じものを用いるものとして説明するが、上りと下りとで別個のものを用意するようにしてもよい。
【００６２】
【表５】
2008054233.tif 000007
【００６３】
表５に例示した区間毎経路情報は、パスＩＤ「ＨＨ」における区間毎経路情報である。パスＩＤ「ＨＨ」は、区間ＩＤ「１〜３」の３つの区間に分けられ、区間ＩＤ「１」の区間は、５つの経路候補があることを示す。また、区間ＩＤ「２」の区間は４つの経路候補があり、区間ＩＤ「３」の区間は、２つの経路候補があることを示す。
【００６４】
例えば、表５に例示した区間毎経路情報において、区間ＩＤ「１」における経路候補ＩＤ「１」の経路候補は、リンクＩＤ「１」→リンクＩＤ「２」→リンクＩＤ「３」というリンクを辿る経路であり、そのリンクコストは「２」であることを示す。
【００６５】
そして、これらの経路候補は、表５に例示するように、当該経路において経由する経由リンクのリンクＩＤを経由順に列記したものでもよいし、経由するノードのノードＩＤを経由順に列記したものでもよい。また、各区間における経路候補は、例えば、リンクコストが小さい順に並べられる。つまり、表５に例示した区間毎経路情報において、経路候補ＩＤ「１」に示される経由リンクは、その区間における経路候補のうち最もリンクコストが小さい経路（最短経路）であり、経路候補ＩＤ「２」に示される経由リンクは、その次にリンクコストが小さい経路である。この区間毎経路情報は、経路組み合わせ探索部１２５が経路候補の組み合わせを探索（選択）するときに参照される。なお、この区間毎経路情報は、現在、経路組み合わせ探索部１２５により選択されている経路候補を示すようにしてもよい。ちなみに、表５に例示した区間毎経路情報において、区間ＩＤ「１」ついては経路候補ＩＤ「２」の経路候補が選択され、区間ＩＤ「２」については経路候補ＩＤ「２」の経路候補が選択され、区間ＩＤ「３」については経路候補ＩＤ「１」の経路候補が選択されていることを示す。
【００６６】
通信部１４は、各ノード２との通信インタフェースを司る。処理部１２は、この通信部１４経由で、各ノード２のルーティング情報を取得したり、各ノード２へパスの設定命令を出力したりする。
【００６７】
＜経路計算装置の動作＞
次に、図３を用いて、経路計算装置１の動作を説明する。図３は、図２の経路計算装置の動作を示したフローチャートである。なお、この経路計算装置１は、経路計算開始前に、各ノード２のルーティング情報を取得し、ルーティング情報記憶部１３１に記憶しておくものとする。
【００６８】
まず、経路計算装置１は、中継ノード入力部１１１経由で、inclusive route指定入力を受け付ける（Ｓ３０１）。つまり、始点ノードおよび終点ノードのＩＤと、そのノード間で経由する中継ノードのＩＤ（識別情報）との入力を受け付ける。
【００６９】
次に、パス制御部１２５が、入出力部１１等からパスの設定命令を受け付けると、区間分割部１２１は、これをトリガとして始点ノードから終点ノードまでの経路を複数の区間に分割する。つまり、区間分割部１２１は、始点ノードから終点ノードまでの経路を、inclusive route指定されたノードで経路を複数の区間に分割する（Ｓ３０２）。
【００７０】
次に、経路計算部１２２は、Ｓ３０２で分割された各区間毎に最短経路を計算する（Ｓ３０３）。計算した各区間毎の最短経路は、区間毎経路情報記憶部１３３に記憶しておく。
【００７１】
そして、経路重複判断部１２３は、Ｓ３０３で計算した各区間の最短経路に経路重複があるか否かを判断する（Ｓ３０４）。例えば、経路重複判断部１２３は、表５に例示したような区間毎経路情報において、それぞれの区間の経路候補ＩＤ「１」の経由リンクＩＤリストを参照して、各区間の最短経路に経路重複があるか否かを判断する。ここで、経路重複がなかったとき（Ｓ３０４のＮｏ）、経路計算部１２２は、各区間の最短経路を計算結果として出力し（Ｓ３０９）、処理を終了する。
【００７２】
一方、Ｓ３０３で計算した各区間の最短経路に経路重複があったとき（Ｓ３０４のＹｅｓ）、経路候補計算部１２４は、ルーティング情報を参照して、各区間毎の経路候補を計算し、区間毎経路情報（表５参照）を作成する（Ｓ３０５）。この区間毎経路情報は、区間毎経路情報記憶部１３３に格納する。
【００７３】
そして、経路組み合わせ探索部１２５は、経路重複のあった区間について、Ｓ３０５で作成した区間毎経路情報から、各区間毎の経路候補を読み出し、その経路候補の組み合わせの中から、経路重複のない組み合わせを探索する（Ｓ３０６）。次に、経路組み合わせ探索部１２５は、その経路重複のない経路の組み合わせの中から、リンクコストが最小となる経路の組み合わせを選択する（Ｓ３０７）。
【００７４】
そして、経路重複判断部１２３は、Ｓ３０７で選択された経路の組み合わせが、他の区間における経路と重複していた場合（Ｓ３０８のＹｅｓ）、当該経路が重複していた区間同士でＳ３０６およびＳ３０７の処理を実行し、他の区間の経路との経路重複がなくなったとき(Ｓ３０８のＮｏ)、その計算結果を、パス制御部１２７およびパス情報記憶部１３２へ出力し（Ｓ３０９）、処理を終了する。つまり、当該区間の経路を前記選択した経路候補に置き換えて出力する。
【００７５】
例えば、経路組み合わせ探索部１２４は、最初に区間ＩＤ「１」の区間と、区間ＩＤ「２」の区間との間で経路重複を発見したとき、この区間ＩＤ「１」の区間と、区間ＩＤ「２」の区間との間で経路重複がなく、リンクコストが最小となる経路候補の組み合わせを選択する。
【００７６】
ここで、経路組み合わせ探索部１２４が、この区間ＩＤ「１」の区間については、経路候補ＩＤ「２」の経路候補を選択し、区間ＩＤ「２」の区間については経路候補ＩＤ「２」の経路候補を選択した場合、この区間同士で経路の重複はない。ところが、表５に例示するように、この経路は、他の区間である区間ＩＤ「３」の区間における経路候補ＩＤ「１」の経路で経路重複がある。つまり、区間ＩＤ「２」の経路候補ＩＤ「２」におけるリンクＩＤ「７」と、区間ＩＤ「３」の経路候補ＩＤ「１」におけるリンクＩＤ「７」とが重複する。従って、経路組み合わせ探索部１２４は、この区間ＩＤ「２」の区間と、区間ＩＤ「３」の区間との間で、再度、経路重複がない経路候補の組み合わせを探索する。そして、経路組み合わせ探索部１２４は、その中で最もリンクコストが小さい組み合わせを選択する。
【００７７】
そして、組み合わせ探索部１２４は、以上の処理を繰り返し、どの区間とも経路重複のない経路の組み合わせを発見したとき、発見した経路の組み合わせを、計算結果として、パス制御部１２７およびパス情報記憶部１３２へ出力し、処理を終了する。
【００７８】
このようにすることで、経路計算装置１は、inclusive route指定した場合に、始点ノードから終点ノードまでの経路で経路重複がなく、かつ、できるだけリンクコストが小さい経路を発見することができる。
【００７９】
なお、前記した実施の形態において、経路計算装置１は、まず、各区間の最短経路を計算し、区間同士で経路重複があると判断したときに、経路候補を計算し、区間毎経路情報（表５参照）を作成することとしたが、これに限定されない。例えば、経路計算装置１は、各区間の最短経路を計算するときに、最短経路以外の経路候補も計算しておき、これをもとに区間毎経路情報を作成するようにしてもよい。
【００８０】
≪第２の実施の形態≫
次に、第２の実施の形態の経路計算装置を説明する。この経路計算装置は、inclusive route指定により区切られた区間の最短経路において、経路重複を発見したとき、その中から経路の変更（置き換え）を行う区間を１つ選択する。そして、経路計算装置は、この選択した区間における最短経路を、リンクコストが小さい経路候補から順に置き換えていき、他の区間との経路重複を解消する経路候補を探索することを特徴とする。
【００８１】
＜動作概要＞
ここで、第２の実施の形態の経路計算装置１ａの動作概要を、図１を参照しながら説明する。ネットワークの構成は、前記した第１の実施の形態と同様なので、説明を省略する。ここでも、経路計算装置１ａは、中継ノード（ノード２Ｃ）で、経路を区間＃１，＃２に分割し、それぞれの区間の最短経路をとると、ノード２Ｂ→ノード２Ｃという経路と、ノード２Ｃ→ノード２Ｂという経路とが重複してしまう場合を例に説明する。
【００８２】
そこで、経路計算装置１ａは、まず、区間＃１の最短経路（ノード２Ａ→ノード２Ｂ→ノード２Ｃ（リンクコスト＝２））を、次にリンクコストが小さい経路候補（ノード２Ａ→ノード２Ｃ（リンクコスト＝５））に置き換える。そして、経路計算装置１ａは、置き換え後の区間＃１の経路が、区間＃２の経路と重複していなければ、この経路を経路結果として出力する。
【００８３】
一方、置き換えた経路が、区間＃２の経路と重複していれば、経路計算装置１ａは、この区間＃１の経路を、さらにその次にリンクコストが小さい経路候補に置き換える、という処理を区間＃２の最短経路と重複していない経路を発見するまで繰り返す。そして、経路計算装置１ａは、区間＃２の経路と重複していない経路を発見したら、その経路を、経路結果として出力する。
【００８４】
＜経路計算装置の構成＞
次に、図４を用いて、経路計算装置１ａの構成を詳細に説明する。図４は、第２の実施の形態の経路計算装置の構成を示したブロック図である。前記した第１の実施の形態と同様の構成要素は同じ符号を付して、説明を省略する。
【００８５】
経路計算装置１ａは、経路組み合わせ探索部１２５に代えて、経路み合わせ探索部１２５ａを備えることを特徴とする。この経路組み合わせ探索部１２５ａは、経路重複のある区間における最短経路を、リンクコストが小さい経路候補から順に置き換えていき、経路重複を解消する経路を探索する。この経路み合わせ探索部１２５ａの詳細は、フローチャートを用いて後記する。
【００８６】
＜経路計算装置の動作＞
次に、図５を用いて、経路計算装置１ａの動作を説明する。図５は、図４の経路計算装置の動作を示したフローチャートである。なお、この経路計算装置１ａも、経路計算開始前に、各ノード２のルーティング情報を取得し、ルーティング情報記憶部１３１に記憶しておく。
【００８７】
Ｓ５０１からＳ５０５までの処理は、図３のＳ３０１からＳ３０５までの処理と同様であるので、説明を省略し、Ｓ５０６から説明する。なお、以下の説明では、経路計算装置１ａは、始点ノードから終点ノードまでの区間を、inclusive route指定により、区間ＩＤ「１〜３」の３つの区間に分割した場合を例に説明する。そして、経路計算装置１ａが、各区間の経路重複の有無を確認したところ、区間ＩＤ「１」の区間と、区間ＩＤ「２」の区間において経路重複があったものとして説明する。
【００８８】
経路組み合わせ探索部１２５ａは、Ｓ５０４で経路重複のあった（経路重複が発見された）区間の中から、経路の変更を行う区間を選択する（Ｓ５０６）。つまり、経路組み合わせ探索部１２５は、経路候補の経路への置き換えを行う区間を選択する。ここでの区間の選択は、当該区間における最短経路のリンクコストが大きいものから優先的に（順に）選択する。例えば、経路重複のあった区間＃１の最短経路のリンクコストが「３」であり、区間＃２の最短経路のリンクコストが「２」であるとき、よりリンクコストの大きい区間＃１を選択する。
【００８９】
そして、経路組み合わせ探索部１２５ａは、区間毎経路情報（表５参照）を参照して、Ｓ５０６で選択した区間における経路候補のうち、次にリンクコストが小さい経路候補を選択し、この選択した経路候補に経路置き換えを行う（Ｓ５０７）。例えば、経路組み合わせ探索部１２５ａは、表５に例示した区間毎経路情報の区間ＩＤ「１」の経路候補から、最短経路（経路候補ＩＤ「１」の経路）の次にリンクコストが小さい経路候補ＩＤ「２」の経路候補を選択する。そして、経路組み合わせ探索部１２５ａは、この区間ＩＤ「１」の経路を経路候補ＩＤ「２」の経路に置き換える。置き換えた経路情報は、記憶部１３に記憶しておく。
【００９０】
図６の説明に移る。次に、経路重複判断部１２３は、区間毎経路情報（表５参照）を参照して、図５のＳ５０７で置き換えた経路が、経路重複が発見された他の区間と経路重複があるか否かを判断する（Ｓ６０１）。つまり、Ｓ５０４で経路重複が発見された区間のうち、Ｓ５０７で置き換えを行わなかった方の区間（例えば、区間ＩＤ「２」の区間）の経路と重複しているか否かを判断する。ここで、経路重複がなかった場合（Ｓ６０１のＮｏ）、経路重複判断部１２３は、今回経路重複が発見された区間以外との間で経路重複があるいか否かを判断する（Ｓ６０５）。つまり、経路重複判断部１２３は、Ｓ５０４で重複が発見された区間、例えば、区間ＩＤ「１」の区間および区間ＩＤ「２」の区間と、それ以外の区間（例えば、区間ＩＤ「３」の区間）との間で経路重複があるか否かを判断する。ここで、今回重複が発見された区間以外の区間と経路重複がなかった場合（Ｓ６０５のＮｏ）、つまり、他のいずれの区間とも経路重複のない経路を発見した場合、経路組み合わせ探索部１２５ａは、この経路を計算結果として、パス制御部１２７およびパス情報記憶部１３２へ出力し（Ｓ６０６）、処理を終了する。一方、今回重複が発見された区間以外の区間（例えば、区間ＩＤ「３」の区間）と経路重複があった場合（Ｓ６０５のＹｅｓ）、当該経路重複のあった区間同士を対象に、再度、図５のＳ５０６以降の処理を実行し、経路重複のない経路を探索する。
【００９１】
なお、Ｓ５０７で置き換えた経路が、経路重複が発見された他の区間の経路と重複し（Ｓ６０１のＹｅｓ）、かつ、当該区間に、まだ選択していない経路候補あれば（Ｓ６０２のＹｅｓ）、図５のＳ５０７へ戻る。そして、経路組み合わせ探索部１２５ａは、区間毎経路情報（表５参照）を参照して、図５のＳ５０６で選択した区間の経路候補のうち、次にリンクコストが小さい経路候補を選択し、経路の置き換えを実行する。そして、経路組み合わせ探索部１２５ａが、経路重複のない経路候補を発見した段階で（Ｓ６０１のＹｅｓ）、Ｓ６０５へ進む。
【００９２】
また、経路組み合わせ探索部１２５ａが、区間毎経路情報（表５参照）を参照して、当該区間について、次に選択しうる経路候補がないと判断した場合（Ｓ６０２のＮｏ）、つまり、Ｓ５０６で選択した区間におけるすべての経路候補への置き換えを終了した場合、以下のような処理を行う。すなわち、経路組み合わせ探索部１２５ａは、経路重複が発見された区間のうち、経路の変更を行っていない区間があれば（Ｓ６０３のＹｅｓ）、Ｓ５０７で選択した区間の経路をいったん最短経路に戻す（Ｓ６０４）。そして、Ｓ５０６へ進み、経路重複が発見された区間で、まだ経路の変更を行っていない区間のうち、最もリンクコストが大きい区間を選択する。
【００９３】
例えば、区間ＩＤ「１」の経路について、経路組み合わせ探索部１２５ａがどの経路候補に置き換えても、区間ＩＤ「２」の最短経路と重複してしまうと判断した場合、この区間ＩＤ「１」の経路を最短経路に戻す。次に、経路組み合わせ探索部１２５ａは、経路重複が発見された区間のうち、次にリンクコストが大きい区間、つまり、区間ＩＤ「２」を選択し、この区間において経路置き換えを実行し、区間ＩＤ「１」の最短経路との間で経路重複のない組み合わせを探索する。
【００９４】
一方、経路組み合わせ探索部１２５ａは、Ｓ５０４で経路重複のあった区間のうち、すべての区間の経路の変更を完了した場合（Ｓ６０３のＮｏ）、経路重複のない経路を探索できなかったことを計算結果として出力し（Ｓ６０７）、処理を終了する。
【００９５】
このような処理を行うことで、経路計算装置１ａは、inclusive route指定した場合に、経路重複がなく、かつ、リンクコストを最小とする経路を計算することができる。
【００９６】
なお、図５のＳ５０６において、経路組み合わせ探索部１２５ａは、当該区間における最短経路のリンクコストが大きい区間から順に経路の変更を行う区間を選択するものとしたが、これに限定されない。例えば、当該区間における経路候補数が大きいものから順に選択するようにしてもよい。このようにすることで、より経路候補の数が大きい区間から経路の変更（経路置き換え）を行うことになるので、少ない計算量で重複経路のない経路を発見しやすくなる。
【００９７】
また、経路計算装置１ａは、予め入出力部１１経由で、各区間毎のペナルティコスト（どの区間から優先的に経路の変更を行うかを示した値）の入力を受け付け、これを記憶部１３に記憶しておく。そして、図５のＳ５０６において、経路組み合わせ探索部１２５ａが、経路の変更を行う区間を選択するときには、当該区間におけるペナルティコストが大きい区間から優先的に選択するようにしてもよい。このようにすることで、経路計算装置１ａは、経路計算装置１ａのオペレータ等が所望する区間から優先的に経路の変更を行うことになる。
【００９８】
なお、前記した各実施の形態において、経路組み合わせ探索部１２５，１２５ａが、あらゆる経路候補との組み合わせを試みても、経路重複のない経路を発見できなかったときは、計算を強制終了するようにしてもよい。このとき、経路組み合わせ探索部１２５，１２５ａは、この経路計算装置１，１ａに接続される出力装置に、経路重複のない経路を発見できなかったことを通知するメッセージを出力し、inclusive route指定の再入力や、経路の設定条件の再入力を促す画面を表示するようにしてもよい。
【００９９】
また、経路計算装置１ａは、図５のＳ５０６で選択した区間（例えば、区間＃１）について、どの経路候補について置き換えても、経路重複の発見された他方の区間（例えば、区間＃２）の最短経路と重複してしまう場合、以下のようにしてもよい。
【０１００】
すなわち、経路組み合わせ探索部１２５ａは、まず、区間＃２の経路を、最短経路の次にリンクコストが小さい経路候補（例えば、経路候補ＩＤ「２」の経路候補）に置き換える。そして、区間＃１の経路を、最短経路から順に経路候補の置き換えるようにして、この区間＃２の経路候補との間で経路重複のない、経路の組み合わせを探索する。ここで、区間＃１について、どの経路候補について置き換えても、区間＃２の経路候補ＩＤ「２」の経路候補と重複してしまう場合、区間＃２の経路を、さらにその次にリンクコストが小さい経路候補（例えば、経路候補ＩＤ「３」の経路候補）に置き換え、同様の処理を実行する。経路組み合わせ探索部１２５ａは、このような処理を繰り返して、双方の区間で経路重複のない経路を探索するようにしてもよい。
【０１０１】
さらに、前記した実施の形態において、経路計算装置１，１ａは、ノード２とは別個の装置であるものとして説明したが、ノード２を経路計算装置１，１ａとして機能させるようにしてもよい。
【０１０２】
また、経路計算装置１，１ａが、始点ノードから終点ノードまでの経路について、できるだけリンクコストが大きくなる経路を計算することを目的とする場合には以下のようにする。すなわち、図３のＳ３０７において、経路組み合わせ探索部１２５（図２参照）は、リンクコストが最大となる経路の組み合わせを選択する。また、図５のＳ５０７において、経路組み合わせ探索部１２５ａは、リンクコストが大きい経路候補から順に経路候補の置き換えを行う。このようにすることで、経路計算装置１，１ａは、経路重複がなく、かつ、できるだけリンクコストが大きい経路を発見することができる。
【０１０３】
本実施の形態に係る経路計算装置１，１ａは、前記したような処理を実行させる経路計算プログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記憶媒体（ＣＤ−ＲＯＭ等）に記憶して提供することが可能である。また、そのプログラムを、ネットワークを通して提供することも可能である。
【図面の簡単な説明】
【０１０４】
【図１】本発明の実施の形態における経路計算装置を含むネットワークの構成例を示した図である。
【図２】図１の経路計算装置の構成を示したブロック図である。
【図３】図２の経路計算装置の動作を示したフローチャートである。
【図４】第２の実施の形態の経路計算装置の構成を示したブロック図である。
【図５】図４の経路計算装置の動作を示したフローチャートである。
【図６】図４の経路計算装置の動作を示したフローチャートである。
【図７】本発明の課題を説明するために引用した図である。
【符号の説明】
【０１０５】
１，１ａ，６  経路計算装置
２（２Ａ，２Ｂ，２Ｃ，２Ｄ）  ノード
１１    入出力部
１２    処理部
１３    記憶部
１４    通信部
１１１  中継ノード入力部
１２１  区間分割部
１２２  経路計算部
１２３  経路重複判断部
１２４  経路候補計算部
１２５，１２５ａ  経路組み合わせ探索部
１２６  ルーティング情報取得部
１２７  パス制御部
１３１  ルーティング情報記憶部
１３２  パス情報記憶部
１３３  区間毎経路情報記憶部
【図１】
2008054233.tif 000008
【図２】
2008054233.tif 000009
【図３】
2008054233.tif 000010
【図４】
2008054233.tif 000011
【図５】
2008054233.tif 000012
【図６】
2008054233.tif 000013
【図７】
2008054233.tif 000014