(57)【要約】      （修正有）【課題】少ない計算リソースでノード間の経路情報を計算するための技術を提供する。【解決手段】経路制御装置２００は、通信装置と他の通信装置との間の経路コストが他の通信装置と対応づけられかつ経路コストが所定の値以下である隣接リストを複数の通信装置のそれぞれについて記憶する隣接リスト記憶部２４０と、隣接リストに基づいて生成された複数の通信装置の接続関係を示すトポロジー情報を記憶するトポロジー記憶部２３０と、隣接リストに基づいてトポロジー情報を生成し、複数の通信装置の間の経路をトポロジー情報に基づいて計算する経路計算部２１０と、経路を記憶するパス記憶部２２０とを備える。【選択図】図１０
2018107646.tif 000002
【特許請求の範囲】
【請求項１】
通信装置と他の通信装置との間の経路コストが前記他の通信装置と対応づけられかつ前記経路コストが所定の値以下である隣接リストを複数の前記通信装置のそれぞれについて記憶する隣接リスト記憶部と、
前記隣接リストに基づいて生成された前記複数の通信装置の接続関係を示すトポロジー情報を記憶するトポロジー記憶部と、
前記隣接リストに基づいて前記トポロジー情報を生成し、前記複数の通信装置の間の経路を前記トポロジー情報に基づいて計算する経路計算部と、
前記経路を記憶するパス記憶部と、
を備える経路制御装置。
【請求項２】
前記隣接リスト記憶部は、前記複数の通信装置から選択された第１の通信装置と第２の通信装置のそれぞれの前記隣接リストである第１の隣接リスト及び第２の隣接リストを記憶し、
前記経路計算部は前記第１及び第２の隣接リストに基づいて前記トポロジー情報を生成し、前記第１の通信装置及び第２の通信装置の間の経路を前記トポロジー情報に基づいて計算する、
請求項１に記載された経路制御装置。
【請求項３】
前記経路コストはホップ数であり、前記経路コストの所定の値は前記ホップ数の最大値である最大ホップ数ｍ（ｍは自然数）であり、
前記隣接リスト記憶部は、前記複数の通信装置のそれぞれについて、前記ホップ数がｍ以下である前記他の通信装置が前記ホップ数に対応づけられた前記隣接リストを記憶する、
請求項２に記載された経路制御装置。
【請求項４】
前記経路計算部は、
前記第１の隣接リスト及び前記第２の隣接リストを前記隣接リスト記憶部から取得し、
前記第１及び第２の隣接リストから、前記ホップ数が１以上ｍ−１以下である通信装置を抽出し、
前記第１及び第２の通信装置と前記ホップ数が１以上ｍ−１以下である通信装置との間のそれぞれの前記ホップ数に１を加えたホップ数を、前記ホップ数が１以上ｍ−１以下である通信装置と前記第１及び第２の通信装置と直接接続された第３の通信装置との間のホップ数とした第３の隣接リストを、前記第３の通信装置の隣接リストとして作成する、
請求項３に記載された経路制御装置。
【請求項５】
前記経路計算部は、前記第１の隣接リスト及び前記第２の隣接リストの一方と、前記第１の隣接リスト及び前記第２の隣接リストの他方に記載された第４の通信装置の隣接リストである第４の隣接リストと、を用いて前記トポロジー情報を生成し、前記トポロジー情報を用いて前記第１の通信装置と前記第２の通信装置との間の経路を計算する、
請求項３又は４に記載された経路制御装置。
【請求項６】
前記経路計算部は、
ｍを増加させた前記隣接リストに基づいて前記トポロジー情報を再作成し、前記再作成されたトポロジー情報に基づいて前記経路を計算する、請求項３乃至５のいずれか１項に記載された経路制御装置。
【請求項７】
前記経路計算部は、
前記複数の通信装置が接続されたネットワークを複数のドメインに分割し、前記ドメイン毎に前記トポロジー情報を生成し、前記ドメイン毎のトポロジー情報に基づいて前記経路を計算する、請求項１乃至６のいずれか１項に記載された経路制御装置。
【請求項８】
通信不能のパスの情報に基づいて前記パス記憶部に記憶された前記経路から前記通信不能のパスの両端の通信装置を検索し、検索された前記通信不能のパスの両端の通信装置の前記隣接リストを更新し、更新された前記隣接リストに基づいて前記経路を再計算する、請求項１乃至７のいずれか１項に記載された経路制御装置。
【請求項９】
前記経路計算部は、複数の経路の計算に用いられるそれぞれの前記トポロジー情報が重複しない場合に、前記複数の経路の計算を並行して実行する、請求項１乃至８のいずれか１項に記載された経路制御装置。
【請求項１０】
通信装置と他の通信装置との間の経路コストが前記他の通信装置と対応づけられかつ前記経路コストが所定の値以下である隣接リストを複数の前記通信装置のそれぞれについて記憶する隣接リスト記憶部と、
前記隣接リストに基づいて生成された前記複数の通信装置の接続関係を示すトポロジー情報を記憶するトポロジー記憶部と、
前記複数の通信装置の間の経路を前記トポロジー情報に基づいて計算する経路計算部と、
を備える経路制御装置。
【請求項１１】
通信装置と他の通信装置との間の経路コストが前記他の通信装置と対応づけられかつ前記経路コストが所定の値以下である隣接リストを複数の前記通信装置のそれぞれについて記憶し、
前記隣接リストに基づいて生成された前記複数の通信装置の接続関係を示すトポロジー情報を記憶し、
前記隣接リストに基づいて前記トポロジー情報を生成し、
前記複数の通信装置の間の経路を前記トポロジー情報に基づいて計算し、
前記経路を記憶する、
経路制御方法。
【請求項１２】
前記複数の通信装置から選択された第１の通信装置と第２の通信装置のそれぞれの前記隣接リストである第１の隣接リスト及び第２の隣接リストを記憶し、
前記第１及び第２の隣接リストに基づいて前記トポロジー情報を生成し、
前記第１の通信装置及び第２の通信装置の間の経路を前記トポロジー情報に基づいて計算する、
請求項１１に記載された経路制御方法。
【請求項１３】
前記経路コストはホップ数であり、前記経路コストの所定の値は前記ホップ数の最大値である最大ホップ数ｍ（ｍは自然数）であり、
前記複数の通信装置のそれぞれについて、前記ホップ数がｍ以下である前記他の通信装置が前記ホップ数に対応づけられた隣接リストを記憶する、
請求項１２に記載された経路制御方法。
【請求項１４】
経路制御装置のコンピュータに、
通信装置と他の通信装置との間の経路コストが前記他の通信装置と対応づけられかつ前記経路コストが所定の値以下である隣接リストを複数の前記通信装置のそれぞれについて記憶する手順、
前記隣接リストに基づいて生成された前記複数の通信装置の接続関係を示すトポロジー情報を記憶する手順
前記隣接リストに基づいて前記トポロジー情報を生成する手順、
前記複数の通信装置の間の経路を前記トポロジー情報に基づいて計算する手順、
前記経路を記憶する手順、
を実行させるための経路制御プログラム。
【請求項１５】
前記複数の通信装置から選択された第１の通信装置と第２の通信装置のそれぞれの前記隣接リストである第１の隣接リスト及び第２の隣接リストを記憶する手順、
前記第１及び第２の隣接リストに基づいて前記トポロジー情報を生成する手順、
前記第１の通信装置及び第２の通信装置の間の経路を前記トポロジー情報に基づいて計算する手順、を含む
請求項１４に記載された経路制御プログラム。
【請求項１６】
前記経路コストはホップ数であり、前記経路コストの所定の値は前記ホップ数の最大値である最大ホップ数ｍ（ｍは自然数）であり、
前記複数の通信装置のそれぞれについて、前記ホップ数がｍ以下である前記他の通信装置が前記ホップ数に対応づけられた隣接リストを記憶する手順を含む、
請求項１５に記載された経路制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経路制御装置及び経路制御方法に関する。
【背景技術】
【０００２】
大規模なネットワーク内の２点間の経路計算は、ネットワーク内に配置された通信装置（ノード）の接続情報に基づいて、例えばホップ数が最小となるように計算される。経路探索のアルゴリズムとして、Ａ＊（エースター）アルゴリズムや、双方向探索アルゴリズムが知られている。ノードが持つ接続情報の例として、周囲のノードへのホップ数がある。接続情報はノード毎に存在し、経路の計算は各ノードから収集された接続情報に基づいて行われる。
【０００３】
本発明に関連して、特許文献１には、ノード間の経路が時間的に変化するネットワークにおけるメッセージの転送方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００２−５１２４７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般に、各ノードが持つ一般的な接続情報をそのまま用いてノード間の経路計算を行うと、ネットワーク内部の経路の組み合わせが膨大になってしまう。その結果、経路計算に要する時間が長くなったり、経路計算の際の処理装置やメモリなどの計算リソースの消費量が増大したりする恐れがある。そして、特許文献１は、このような課題を解決するための技術を開示していない。
【０００６】
（発明の目的）
本発明は、少ない計算リソースでノード間の経路情報を計算するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の経路制御装置は、
通信装置と他の通信装置との間の経路コストが前記他の通信装置と対応づけられかつ前記経路コストが所定の値以下である隣接リストを複数の前記通信装置のそれぞれについて記憶する隣接リスト記憶部と、
前記隣接リストに基づいて生成された前記複数の通信装置の接続関係を示すトポロジー情報を記憶するトポロジー記憶部と、
前記隣接リストに基づいて前記トポロジー情報を生成し、前記複数の通信装置の間の経路を前記トポロジー情報に基づいて計算する経路計算部と、
前記経路を記憶するパス記憶部と、
を備える。
【０００８】
本発明の他の経路制御装置は、通信装置と他の通信装置との間の経路コストが前記他の通信装置と対応づけられかつ前記経路コストが所定の値以下である隣接リストを複数の前記通信装置のそれぞれについて記憶する隣接リスト記憶部と、
前記隣接リストに基づいて生成された前記複数の通信装置の接続関係を示すトポロジー情報を記憶するトポロジー記憶部と、
前記複数の通信装置の間の経路を前記トポロジー情報に基づいて計算する経路計算部と、
を備える。
【０００９】
本発明の経路制御方法は、
通信装置と他の通信装置との間の経路コストが前記他の通信装置と対応づけられかつ前記経路コストが所定の値以下である隣接リストを複数の前記通信装置のそれぞれについて記憶し、
前記隣接リストに基づいて生成された前記複数の通信装置の接続関係を示すトポロジー情報を記憶し、
前記隣接リストに基づいて前記トポロジー情報を生成し、
前記複数の通信装置の間の経路を前記トポロジー情報に基づいて計算し、
前記経路を記憶する、
ことを特徴とする。
【００１０】
本発明の経路制御プログラムは、経路制御装置のコンピュータに、
通信装置と他の通信装置との間の経路コストが前記他の通信装置と対応づけられかつ前記経路コストが所定の値以下である隣接リストを複数の前記通信装置のそれぞれについて記憶する手順、
前記隣接リストに基づいて生成された前記複数の通信装置の接続関係を示すトポロジー情報を記憶する手順
前記隣接リストに基づいて前記トポロジー情報を生成する手順、
前記複数の通信装置の間の経路を前記トポロジー情報に基づいて計算する手順、
前記経路を記憶する手順、
を実行させる。
【発明の効果】
【００１１】
本発明は、少ない計算リソースでノード間の経路情報を計算することが可能な経路制御装置、経路制御方法及び経路制御プログラムを提供する。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態の経路制御システム１０の構成例を示すブロック図である。
【図２】経路計算手順の例を示すフローチャートである
【図３】ノードＸの増設の例について説明する図である。
【図４】ノードＡの接続情報の例を示す図である。
【図５】ノードＢの接続情報の例を示す図
【図６】ノードＡ、Ｂ及びＸの隣接リストの生成例を説明する図である。
【図７】経路計算に用いられるトポロジー情報について説明する図である。
【図８】第２の実施形態のトポロジー情報について説明する図である。
【図９】第３の実施形態の経路制御システム２０の構成例を示すブロック図である。
【図１０】第４の実施形態の経路制御装置２００の構成例を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下に、本発明の実施形態について説明する。以下の実施形態では、経路制御装置はホップ数が所定の値以下の隣接ノードの情報をノード毎に保持する。そして、経路制御装置は、データの送信元及び宛先となるノードが持つ隣接ノードのリスト（隣接リスト）を基に経路計算を行う。
【００１４】
（第１の実施形態）
図１は、本発明の第１の実施形態の経路制御システム１０の構成例を示すブロック図である。経路制御システム１０は、経路制御装置１００及びノード９０１〜９０４を備える。ノード９０１〜９０４は、経路制御装置１００の通信部１５０及び他のノードと通信可能である。ノードは、データを他のノードを経由して転送する、通信装置である。図１には４台のノードが記載されている。しかし、経路制御システム１０が備えるノードの数は４台に限定されない。経路制御装置１００の通信部１５０に接続されたノード９０１〜９０４を総称する場合にはノード９００と記載する。また、図１では、データを転送するためのノード間の経路の記載は省略されている。ノード間の通信回線及びノード９００と通信部１５０との間の通信回線として無線通信回線を用いることができるが、これらの通信回線に有線通信回線を用いてもよい。
【００１５】
経路制御装置１００は、経路計算部１１０、パス記憶部１２０、トポロジー記憶部１３０、隣接リスト記憶部１４０、通信部１５０を備える。
【００１６】
隣接リスト記憶部１４０は、ノード９０１〜９０４のそれぞれについて、他のノードまでのホップ数を含む隣接リストを記憶する。ここで、隣接リストに含まれるホップ数の上限（最大ホップ数）はｍ（ｍは自然数）である。例えば、ノード９０１の隣接リストは、ノード９０２、９０３、９０４と、それぞれのノードへのホップ数とが対応づけられたテーブルである。ただし、ホップ数がｍを超えるノードの情報は隣接リストには記載されない。最大ホップ数ｍの値は、管理者によって経路計算部１１０に設定されてもよい。
【００１７】
経路計算部１１０は、ノード９００のそれぞれから通知された接続情報に基づいて隣接リストを生成する。ノード９００から通知された接続情報は、ノード９０１〜９０４毎の、直接接続された他のノードへの情報（すなわち、ホップ数１のノードの情報）である。
【００１８】
経路計算部１１０は、隣接リスト記憶部１４０から読み出した隣接リストに基づいてトポロジー情報を生成し、生成したトポロジー情報をトポロジー記憶部１３０に記憶する。例えば、経路計算部１１０は、隣接リストに記載されたノードを探索して求めたノード毎の接続関係を、トポロジー情報としてトポロジー記憶部１３０に記憶してもよい。トポロジー情報は、隣接リストに変更がある度に生成されてもよく、経路計算が必要となった際にその時点の隣接リストに基づいて生成されてもよい。経路計算部１１０は、ノード９００から選択された２台のノードの間の経路をトポロジー情報に基づいて計算し、計算によって求められた経路を経路情報としてパス記憶部１２０に記憶する。経路計算部は、ホップ数が最小となる経路を求めてもよい。
【００１９】
トポロジー記憶部１３０は、ノード毎に、ホップ数がｍ以下の距離にある他のノードの情報であるトポロジー情報を記憶する。パス記憶部１２０は、経路計算部１１０によって求められた、選択されたノード間の経路情報を記憶する。通信部１５０は、ノード９００と経路制御装置１００とのインタフェース回路である。例えば、通信部１５０は、ノード９００から通知されたノード毎の接続情報を経路計算部１１０へ通知する。
【００２０】
経路計算部１１０は経路計算を行うコンピュータである。パス記憶部１２０、トポロジー記憶部１３０及び隣接リスト記憶部１４０は、経路計算部１１０との間でデータを読み出し及び書き込み可能なメモリである。
【００２１】
図２は、経路制御装置１００における、経路計算手順の例を示すフローチャートである。経路制御装置１００は、ノード９０１〜９０４のいずれかから接続情報を受信すると（図２のステップＳ１：Ｙｅｓ）、ホップ数がｍに制限された隣接リストをノード毎に生成して隣接リスト記憶部１４０に記憶する（ステップＳ２）。接続情報を受信していない場合には、経路制御装置１００は、経路要求の受信の有無を確認する（ステップＳ３）。経路要求は、パス記憶部１２０に記憶される特定の２点を結ぶ経路の生成あるいは既存の経路の更新の要求である。経路制御装置１００に対する経路要求は、ノード９０１〜９０４のいずれかが行ってもよく、経路制御システム１０の監視装置又は管理者が行ってもよい。経路制御装置１００は、通信部１５０を介して経路要求を受信する。経路要求を受信していない場合は（ステップＳ３：Ｎｏ）、ステップＳ１に戻る。
【００２２】
経路制御装置１００が経路要求を受信すると（ステップＳ３：Ｙｅｓ）、経路計算部１１０は、隣接リスト記憶部１４０から送信元ノード及び宛先ノードの隣接リストを取得する（ステップＳ４）。経路計算部１１０は、隣接リストに基づいてトポロジー情報を生成し、生成したトポロジー情報をトポロジー記憶部１３０に記憶する（ステップＳ５）。そして、経路計算部１１０は、送信元ノードから宛先ノードまでの経路（経路情報）を、トポロジー情報に基づいて求め、経路情報をパス記憶部１２０に記憶する（ステップＳ６）。経路情報は、送信元ノードから宛先ノードまでのホップ数が最小となる経路として求められてもよい。
【００２３】
経路制御装置１００は、ステップＳ１からステップＳ６の手順を繰り返してもよい。あるいは、接続情報が受信されたことを契機にステップＳ２から手順が開始されてもよく、経路要求の受信を契機にステップＳ４から手順が開始されてもよい。
【００２４】
経路計算部１１０は、通信部１５０を介して経路情報をノード９００の一部又は全部に通知することができる。経路情報が通知されたノード９００は、経路情報に基づいて入力された伝送データを転送する次のノードを選択できる。経路情報に基づいてノード９００が伝送データの経路を設定することで、経路制御装置１００が計算した経路によって送信元ノードから宛先ノードへデータが伝送される。
【００２５】
ここで、隣接リスト記憶部１４０に記憶された隣接リストは、ホップ数が最大ｍで制限されている。このため、トポロジー情報は、ホップ数がｍ以下のノードの情報のみに基づいて生成される。従って、経路の計算は、ノード間のホップ数が高々ｍであるという組み合わせの範囲内で行われる。その結果、経路制御装置１００は、隣接リストにおいてホップ数が制限されない場合と比較して、より少ない計算リソースで送信元ノードから宛先のノードまでの経路情報を計算することができる。
【００２６】
図３は、新しいノードＸの増設の例について説明する図である。図３では経路制御装置１００の記載は省略される。増設前には、ネットワークにはノードＡ、Ｂ、Ｄ１〜Ｄ５が存在する。ノードＸは、ノードＡとノードＢとの間に設置される。実線は、ノード間の経路を示す。ノードＡ、Ｂ、Ｄ１〜Ｄ５、Ｘは、図１のノード９００に含まれる。
【００２７】
ノードＸの増設前のノードＡ及びノードＢの接続情報は、図３の「ノードＸ増設前」のネットワーク構成を参照すると、図４及び図５のように表される。図４は、ノードＡの接続情報の例を示す図であり、図５は、ノードＢの接続情報の例を示す図である。ノードＡ及びノードＢは、図４及び図５に示される、自身の接続情報を経路制御装置１００へ通知する。図４に示されるように、ノードＤ１及びＤ３はノードＡから１ホップである。また、図５に示されるように、ノードＤ２、Ｄ４及びＤ５はノードＢから１ホップである。ここで、ノードＡに直接接続されたノード（すなわち、ホップ数１で接続されたノード）がノードＤ１及びＤ３である場合に、ノードＡの接続情報をＡ（Ｄ１，Ｄ３）と書くと、ノードＢの接続情報はＢ（Ｄ２，Ｄ４，Ｄ５）と書ける。同様に、ノードＤ１〜Ｄ５の接続情報は、それぞれ、Ｄ１（Ａ，Ｄ２）、Ｄ２（Ｂ，Ｄ１）、Ｄ３（Ａ，Ｄ４）、Ｄ４（Ｂ，Ｄ３，Ｄ５）、Ｄ５（Ｂ，Ｄ４）と書ける。括弧内のノードの記載は順不同でよい。
【００２８】
経路計算部１１０は、これらの接続情報から、各ノードの隣接リストを生成する。例えば、ノードＡからのホップ数が１であるノードは、ノードＡの接続情報からノードＤ１及びノードＤ３である。従って、ノードＡからのホップ数が２であるノードは、ノードＤ１及びノードＤ３から１ホップであるノードのうち、ノードＡ、Ｄ１及びＤ３以外のノードである。従って、ノードＡからのホップ数が２であるノードは、ノードＤ１及びノードＤ３の接続情報Ｄ１（Ａ，Ｄ２）及びＤ３（Ａ，Ｄ４）から、ノードＤ２及びノードＤ４であることがわかる。同様に、ノードＢからのホップ数が２であるノードは、ノードＤ２、Ｄ４及びＤ５から１ホップであるノードのうち、ノードＢ、Ｄ２、Ｄ４及びＤ５以外のノードである。従って、ノードＢからのホップ数が２であるノードは、接続情報Ｄ２（Ｂ，Ｄ１）、Ｄ４（Ｂ，Ｄ３，Ｄ５）、Ｄ５（Ｂ，Ｄ４）から、ノードＤ１及びノードＤ３であることがわかる。最大ホップ数ｍが３以上の場合も同様の手順で隣接リストを生成することができる。
【００２９】
図６は、最大ホップ数ｍが２である場合の、ノードＡ、Ｂ及びＸの隣接リストの生成例を説明する図である。図４及び図５の接続情報がノードＡ及びノードＢから経路制御装置１００へ通知されると、経路計算部１１０は、上述の手順により図６に示されるノードＡ及びノードＢの隣接リストを生成して隣接リスト記憶部１４０に記憶する。
【００３０】
図３に示したようにノードＡとノードＢとの間にノードＸが増設された場合には、経路制御装置１００は、以下の手順でノードＸの隣接リストを作成することができる。
【００３１】
ノードＸはノードＡ及びノードＢと直接接続されているので、経路制御装置１００において生成されるノードＸの隣接リスト（図６の右側）にはノードＡ及びノードＢが１ホップのノードとして記載される。ノードＸがノードＡ及びノードＢと直接接続されていることは、これらのノードのいずれかが経路制御装置１００に通知してもよく、管理者が経路制御装置１００に設定してもよい。ノードＸからノードＡ及びノードＢへは１ホップであるから、ノードＸの増設前にノードＡ又はノードＢから１ホップであったノードには、ノードＸからは２ホップで到達できる。従って、ノードＸの隣接リストには、ノードＸの増設前にノードＡ又はノードＢから２ホップであったノードＤ１、Ｄ２、Ｄ３、Ｄ４及びＤ５が２ホップとして記載される。
【００３２】
このように、既設のノードと直接接続されるノードＸが増設される場合には、ノードＸの隣接リストの「ホップ数１」の項には、直接接続されるノード（図３の例ではノードＡ及びノードＢ）が記載される。そして、ノードＸの隣接リストの「ホップ数２」の項には、ノードＸと直接接続されるノードの隣接リストの「ホップ数１」の項に記載されたノードが記載される。図３の例では、ノードＸの隣接リストには、ノードＡの隣接リストの「ホップ数１」の項に記載されたノードＤ１及びＤ３と、ノードＢの隣接リストの「ホップ数１」の項に記載されたノードＤ２、Ｄ４及びＤ５とが、ホップ数を１増加させて「ホップ数２」のノードとして記載される。本実施形態では最大ホップ数ｍが２であるため、隣接リストにはホップ数が３以上のノードは記載されない。しかし、最大ホップ数ｍが３以上の場合にも、増設されたノードからホップ数が「１」以上「ｍ−１」以下であるノードのそれぞれの隣接リストに記載されたノードが、増設されたノードの隣接リストに、それぞれホップ数が１増加したノードとして記載される。
【００３３】
同一のノードが、ホップ数の異なるエントリに重複して記載されている場合には、ホップ数がより大きい項に記載されたノードが隣接リストから削除される。ホップ数がより大きい同一のノードを隣接リストから削除することで、不要な経路の計算を除くことができるとともに、より少ないホップ数で経路情報を計算できる。
【００３４】
このように、増設されたノードの隣接リストは、増設されたノードに直接接続されたノードの隣接リストに基づいて、経路制御装置１００が生成することができる。従って、ノードＸの隣接リストを生成する上記の手順は、隣接リストの生成に要するリソースを抑えることができる。また、増設されたノードＸと経路制御装置１００との間で通信ができない場合でも、経路制御装置１００はノードＸの隣接リストを生成できる。なお、ノードＸが削除された場合には、経路計算部１１０は隣接リストを検索してノードＸの情報を削除する。
【００３５】
ノード９０１〜９０４の間の通信に障害が発生した場合を考える。例えば、図３において、ノードＸの増設後、ノードＡとノードＸとの間の区間の障害により両者間の通信が不能となったとする。この場合には、いずれかのノード、図示されないネットワーク監視装置あるいは管理者から経路制御装置１００へ、通信が不能となった区間が通知される。通知を受けた経路制御装置１００では、経路計算部１１０がパス記憶部１２０に記憶されている経路情報から当該区間の両端にあるノードＡ及びノードＸを検索する。そして、経路計算部１１０は、トポロジー記憶部１３０に記憶されているトポロジー情報からノードＡとノードＸとの間を直接接続する経路を削除する。そして、経路計算部１１０は、修正されたトポロジー情報に基づいて経路を再計算し、再計算された経路情報をパス記憶部１２０に記憶する。この際、経路制御装置１００は、ノード９００から最新の接続情報を収集し、隣接リストを再び生成してもよい。
【００３６】
図４〜図６では、最大ホップ数ｍが２である場合について説明した。ノード間の経路探索においては、伝送遅延を考慮すると、送信元ノードから宛先ノードまでのホップ数の上限は数ホップとなる場合が多い。しかし、図２のステップＳ６において、送信元ノードの隣接リスト及び宛先ノードの隣接リストのみを用いてトポロジー情報を生成しても、送信元ノードから宛先ノードまでの経路が繋がらない場合もありうる。このような場合には、送信元ノードの隣接リストに加えて、送信元ノードの隣接リストに記載されたノード（以下、「ノードＮ１」という。）の隣接リスト及び宛先ノードの隣接リストを用いてトポロジー情報を生成してもよい。経路計算部１１０は、このトポロジー情報に基づいて送信元ノードと宛先ノードとの間の経路を求めてもよい。一般に、ノードＮ１と宛先ノードとの間がｍホップ以下であれば、ノードＮ１の隣接リストを用いることにより、生成されたトポロジー情報には送信元ノードと宛先ノードとが含まれる。その結果、経路計算部１１０は、そのトポロジー情報を用いて送信元ノードと宛先ノードとの間の経路を求めることができる。ノードＮ１は、送信元ノードの隣接リストに記載された最もホップ数の大きいノードから選択されてもよい。
【００３７】
すなわち、経路計算部１１０は、送信元ノードの隣接リストと、宛先ノードの隣接リストと、送信元ノードの隣接リストに記載されたノード（ノードＮ１）の隣接リストと、を用いてトポロジー情報を生成してもよい。そして、経路計算部１１０は、このようにして生成されたトポロジー情報を用いて、送信元ノードと宛先ノードとの間の経路を計算してもよい。
【００３８】
さらに、ノードＮ１の隣接リストを用いても宛先ノードとの間の経路が見いだされない場合には、経路計算部１１０は、ノードＮ１の隣接リストに記載されたノード（以下、「ノードＮ２」という。）の隣接リストと宛先ノードの隣接リストをさらに用いて経路を計算してもよい。ノードＮ２は、ノードＮ１の隣接リストに記載された最もホップ数の大きいノードから選択されてもよい。
【００３９】
また、上記とは逆に、ノードＮ１の隣接リストに代えて宛先ノードの隣接リストに記載されたノードの隣接リストを用いてトポロジー情報を生成し、送信元ノードと宛先ノードとの間の経路を計算してもよい。
【００４０】
図７は、経路計算に用いられるトポロジー情報について説明する図である。図７の白及び黒の丸印はノードを示し、実線はノード間の経路を示す。ノードＡ及びノードＢを含む各ノードは、図１のノード９００に含まれるノードである。図７の［１］は、図１におけるノード９００の接続関係の例を示す。ノードＡ及びノードＢは、ノード９００に含まれるノードである。経路制御装置１００は、ノードＡ及びノードＢから取得した接続情報から、ノードＡの隣接リスト及びノードＢの隣接リストを生成して、隣接リスト記憶部１４０に記憶する。図７の説明において、最大ホップ数ｍは４であるとする。図７の［２Ａ］は、ノードＡの隣接リストに含まれるホップ数４以下のノードトポロジー情報を示し、図７の［２Ｂ］は、ノードＢの隣接リストに含まれるホップ数４以下のノードのトポロジーを示す。ノードＡ及びノードＢのそれぞれの隣接リストを合わせた範囲は図７の［３］で示される。図７の［３］が、ノードＡとノードＢとの間の経路計算に用いられるトポロジー情報としてトポロジー記憶部１３０に記憶される。
【００４１】
第１の実施形態の以上の説明では、最大ホップ数ｍは、全てのノードについて共通であった。しかし、最大ホップ数ｍはノード毎に異なる値でもよい。また、経路計算部１１０は、隣接リストに記載されたノードのうち一部のノードのみに基づいてトポロジー情報を生成してもよい。例えば、隣接リストを生成する際には最大ホップ数を５としておき、トポロジー情報を生成する際にはその隣接リストから最大ホップ数ｍが２以下のノードのみを検索して、検索されたノードとの接続関係に基づいてトポロジー情報を生成してもよい。経路制御装置１００は、最大ホップ数ｍが異なる複数のトポロジー情報を生成し、それぞれから得られる経路から選択された１つの経路をノード９００に設定してもよい。
【００４２】
（第２の実施形態）
経路制御装置１００が経路要求を受信した際に、経路上の帯域が指定される場合がある。帯域が指定された場合には、経路計算部１１０は、経路計算が終了すると、計算された経路上で当該リソースが使用されるものと判断し、その経路に対応するリソースを併せてパス記憶部１２０に記憶する。そして、その後経路要求が発生した際には、経路計算部１１０は、すでに割り当てられたリソースは使用できないという条件の下で、要求を満足する経路を探索する。
【００４３】
このような、リソースの要求を伴う複数の経路要求を処理する場合には、同一のリソースが異なる経路要求の処理で同時に使用されることを防ぐために、それぞれの経路の計算を排他的に行う必要がある。ここで、最大ホップ数が制限されない隣接リストを用いてトポロジー情報を生成すると、複数の経路要求の計算は同一のトポロジー情報を用いて行われる。この場合、上述したリソースの競合を防ぐためにはリソースの割り当て処理に関して排他制御を行う必要がある。
【００４４】
一方、第１の実施形態で説明した、最大ホップ数ｍが制限された隣接リストを用いることで、排他制御を行うことなく並行して複数の経路要求を処理できる場合がある。以下にその実施形態を説明する。本実施形態では、図１の経路制御システム１０における複数の経路要求の処理について説明し、既出の説明は省略する。
【００４５】
図８は、第２の実施形態のトポロジー情報について説明する図である。図８の白又は黒の丸印はノードを示し、実線はノード間の経路を示す。ノードＡ１、Ａ２、Ｂ１、Ｂ２を含む各ノードは、図１のノード９００に含まれるノードである。本実施形態において、図８の各ノード間の経路は、第１の実施形態で説明した経路制御装置１００によって計算される。図８の［１］はノードＡ１、Ａ２、Ｂ１、Ｂ２を含むネットワークの全体を示す。
【００４６】
いま、ノードＡ１からノードＢ１への経路要求とノードＡ２からノードＢ２への経路要求とが同時に発生したとする。経路計算部１１０は、隣接リスト記憶部１４０に記憶されたノードＡ１、Ａ２、Ｂ１、Ｂ２の隣接リストから、それぞれの経路の計算に必要なトポロジー情報を生成する。各隣接リストの最大ホップ数ｍは２である。
【００４７】
図８の［２Ａ］は、本実施形態におけるノードＡ１からノードＢ１への経路計算に用いられるトポロジー情報であり、図８の［２Ｂ］は、本実施形態におけるノードＡ２からノードＢ２への経路計算に用いられるトポロジー情報である。図８の［２Ａ］及び［２Ｂ］のいずれのトポロジー情報も、含まれるノードのノードＡ１、Ａ２、Ｂ１、Ｂ２からのホップ数は２以下である。そして、図８の［２Ａ］及び［２Ｂ］に示されるように、ノードＡ１からノードＢ１への経路計算に用いられるトポロジー情報と、ノードＡ２からノードＢ２への経路計算に用いられるトポロジー情報とは重複しない。このような場合には、経路計算部１１０は、これらの経路要求を同時に処理しても経路におけるリソースの競合が起こらないと判断できるため、ノードＡ１からノードＢ１への経路要求とノードＡ２からノードＢ２への経路要求を同時に実行できる。
【００４８】
すなわち、経路制御システム１０は、複数の経路要求を受けた場合に、それぞれの経路の計算に用いられるトポロジー情報が重複しない場合には、排他制御を行うことなく経路の計算を並行して実行できる。そして、経路の計算を並行して実行することで、経路の計算に要する時間を短縮できる。
【００４９】
（第３の実施形態）
図９は、本発明の第３の実施形態の経路制御システム２０の構成例を示すブロック図である。経路制御システム２０において、経路制御装置１００の基本的な構成は第１の実施形態と同様である。以下では重複する説明は省略し、第１の実施形態との相違点について主に説明する。
【００５０】
経路制御装置１００に接続されているノードはノード９００と総称される。本実施形態では、ノード９００は、ノード９１１〜９１５及びノード９２１〜９２５を含む。ノード９１１〜９１５はドメインＭ１に含まれ、ノード９２１〜９２５はドメインＭ２に含まれる。ドメインＭ１とドメインＭ２との間は１本のパスＰ１２で接続される。ドメインは、ノード群が所属するグループを示す。
【００５１】
ノード９００が互いに接続された複数のドメインＭ１及びドメインＭ２に分割されている場合には、ノード間の経路計算をドメイン毎に並列に行うことができる。例えば、ノード９１１からノード９２５への経路計算を行う場合には、ノード９１１からノード９１５への経路計算と、ノード９２１からノード９２５への経路計算とを並列に行うことができる。これは、図２のステップＳ４からステップＳ６までの手順を、ドメイン毎に並列に行うことに相当する。経路計算をドメイン毎に並行して行うことで、経路計算部１１０の計算時間の短縮を図ることができる。
【００５２】
ドメインＭ１内の経路計算結果及びパスＰ１２によりノード９１１からノード９２１への経路が求まる。この経路と、ドメインＭ２におけるノード９２１からノード９２５への経路計算の結果を結合することで、ノード９１１からノード９２５への経路が求まる。経路制御装置１００は、ノード９１１からノード９２５への経路を経路情報としてパス記憶部１２０に記憶させる。
【００５３】
このように、ノードが複数のドメインに分割されている場合には、ドメイン毎に経路を算出することで、経路計算の時間短縮を図ることができる。なお、図８ではドメインＭ１とドメインＭ２との間の経路はパスＰ１２のみであるが、ドメイン間のパスは複数あってもよい。ドメイン間を接続するノードもそれぞれのドメインに複数あってもよい。経路制御装置１００は、ドメイン毎の経路計算の結果及びドメイン間のパスのホップ数に基づいて、送信元ノードから宛先ノードまでのホップ数が最も小さくなるように、ドメイン間を接続するノード及びパスを選択しもよい。
【００５４】
すなわち、第３の実施形態の経路制御装置２００は、少ない計算リソースでノード間の経路情報を計算することを可能とするとともに、経路計算の時間短縮を図ることができる。
【００５５】
図９ではドメインＭ１及びドメインＭ２にそれぞれ５台のノードが含まれる場合について説明した。しかし、ドメインの数は３以上でもよく、それぞれのドメインに含まれるノードの数も５台に限定されない。
【００５６】
第１乃至第３の実施形態において、無線通信回線によって各ノードが他のノード及び経路制御装置１００又は２００と接続される場合には、有線通信回線が用いられる場合と比べて、ノードの増設や撤去を容易に行うことができる。第１乃至第３の実施形態によれば、無線通信回線を備えるノードの増設や撤去に起因する経路要求が頻繁に生じる場合でも、迅速に経路を再計算することができる。
【００５７】
（第４の実施形態）
図１０は、第４の実施形態の経路制御装置２００の構成例を示すブロック図である。第４の実施形態の経路制御装置２００は、経路計算部２１０、パス記憶部２２０、トポロジー記憶部２３０、隣接リスト記憶部２４０を備える。
【００５８】
隣接リスト記憶部２４０は、経路制御装置２００に接続された、図示されない複数の通信装置のそれぞれについて、隣接リストを記憶する。隣接リストは、経路コストが所定の値以下である他の通信装置が、経路コストに対応づけられた情報を含む。トポロジー記憶部２３０は、隣接リストに基づいて生成された複数の通信装置の接続関係を示すトポロジー情報を記憶する。経路計算部２１０は、隣接リストを生成するとともに、隣接リストに基づいてトポロジー情報を生成し、複数の通信装置から選択された送信元の通信装置と宛先の通信装置との間の経路をトポロジー情報に基づいて計算する。パス記憶部２２０は、経路計算部２１０で計算された経路を記憶する。
【００５９】
このような構成を備える経路制御装置２００は、経路のコストが所定の値以下である隣接リストを用いて送信元の通信装置と宛先の通信装置との間の経路を計算する。その結果、経路制御装置２００は、少ない計算リソースでノード間の経路情報を計算することを可能とする。
【００６０】
以上の各実施形態に記載された機能及び手順は、経路制御装置１００又は２００が備える中央処理装置（central processing unit、ＣＰＵ）がプログラムを実行することにより実現されてもよい。プログラムは、固定された、一時的でないコンピュータ読み取り可能な記憶媒体に記憶される。記憶媒体として半導体メモリ又は固定磁気ディスク装置を用いることができるが、これらには限定されない。経路計算部１１０及び経路計算部２１０は、記憶媒体を備えることができる。
【００６１】
なお、上記の実施形態の一部又は全部は以下の付記のようにも記載されうるが、以下には限られない。
【００６２】
（付記１）
通信装置と他の通信装置との間の経路コストが前記他の通信装置と対応づけられかつ前記経路コストが所定の値以下である隣接リストを複数の前記通信装置のそれぞれについて記憶する隣接リスト記憶部と、
前記隣接リストに基づいて生成された前記複数の通信装置の接続関係を示すトポロジー情報を記憶するトポロジー記憶部と、
前記隣接リストに基づいて前記トポロジー情報を生成し、前記複数の通信装置の間の経路を前記トポロジー情報に基づいて計算する経路計算部と、
前記経路を記憶するパス記憶部と、
を備える経路制御装置。
【００６３】
（付記２）
前記隣接リスト記憶部は、前記複数の通信装置から選択された第１の通信装置と第２の通信装置のそれぞれの前記隣接リストである第１の隣接リスト及び第２の隣接リストを記憶し、
前記経路計算部は前記第１及び第２の隣接リストに基づいて前記トポロジー情報を生成し、前記第１の通信装置及び第２の通信装置の間の経路を前記トポロジー情報に基づいて計算する、
付記１に記載された経路制御装置。
【００６４】
（付記３）
前記経路コストはホップ数であり、前記経路コストの所定の値は前記ホップ数の最大値である最大ホップ数ｍ（ｍは自然数）であり、
前記隣接リスト記憶部は、前記複数の通信装置のそれぞれについて、前記ホップ数がｍ以下である前記他の通信装置が前記ホップ数に対応づけられた前記隣接リストを記憶する、
付記２に記載された経路制御装置。
【００６５】
（付記４）
前記経路計算部は、
前記第１の隣接リスト及び前記第２の隣接リストを前記隣接リスト記憶部から取得し、
前記第１及び第２の隣接リストから、前記ホップ数が１以上ｍ−１以下である通信装置を抽出し、
前記第１及び第２の通信装置と前記ホップ数が１以上ｍ−１以下である通信装置との間のそれぞれの前記ホップ数に１を加えたホップ数を、前記ホップ数が１以上ｍ−１以下である通信装置と前記第１及び第２の通信装置と直接接続された第３の通信装置との間のホップ数とした第３の隣接リストを、前記第３の通信装置の隣接リストとして作成する、
付記３に記載された経路制御装置。
【００６６】
（付記５）
前記経路計算部は、前記第１の隣接リスト及び前記第２の隣接リストの一方と、前記第１の隣接リスト及び前記第２の隣接リストの他方に記載された第４の通信装置の隣接リストである第４の隣接リストと、を用いて前記トポロジー情報を生成し、前記トポロジー情報を用いて前記第１の通信装置と前記第２の通信装置との間の経路を計算する、
付記３又は４に記載された経路制御装置。
【００６７】
（付記６）
前記経路計算部は、
ｍを増加させた前記隣接リストに基づいて前記トポロジー情報を再作成し、前記再作成されたトポロジー情報に基づいて前記経路を計算する、付記３乃至５のいずれか１項に記載された経路制御装置。
【００６８】
（付記７）
前記経路計算部は、
前記複数の通信装置が接続されたネットワークを複数のドメインに分割し、前記ドメイン毎に前記トポロジー情報を生成し、前記ドメイン毎のトポロジー情報に基づいて前記経路を計算する、付記１乃至６のいずれか１項に記載された経路制御装置。
【００６９】
（付記８）
通信不能のパスの情報に基づいて前記パス記憶部に記憶された前記経路から前記通信不能のパスの両端の通信装置を検索し、検索された前記通信不能のパスの両端の通信装置の前記隣接リストを更新し、更新された前記隣接リストに基づいて前記経路を再計算する、付記１乃至７のいずれか１項に記載された経路制御装置。
【００７０】
（付記９）
前記経路計算部は、複数の経路の計算に用いられるそれぞれの前記トポロジー情報が重複しない場合に、前記複数の経路の計算を並行して実行する、付記１乃至８のいずれか１項に記載された経路制御装置。
【００７１】
（付記１０）
通信装置と他の通信装置との間の経路コストが前記他の通信装置と対応づけられかつ前記経路コストが所定の値以下である隣接リストを複数の前記通信装置のそれぞれについて記憶し、
前記隣接リストに基づいて生成された前記複数の通信装置の接続関係を示すトポロジー情報を記憶し、
前記隣接リストに基づいて前記トポロジー情報を生成し、
前記複数の通信装置の間の経路を前記トポロジー情報に基づいて計算し、
前記経路を記憶する、
経路制御方法。
【００７２】
（付記１１）
前記複数の通信装置から選択された第１の通信装置と第２の通信装置のそれぞれの前記隣接リストである第１の隣接リスト及び第２の隣接リストを記憶し、
前記第１及び第２の隣接リストに基づいて前記トポロジー情報を生成し、
前記第１の通信装置及び第２の通信装置の間の経路を前記トポロジー情報に基づいて計算する、
付記１０に記載された経路制御方法。
【００７３】
（付記１２）
前記経路コストはホップ数であり、前記経路コストの所定の値は前記ホップ数の最大値である最大ホップ数ｍ（ｍは自然数）であり、
前記複数の通信装置のそれぞれについて、前記ホップ数がｍ以下である前記他の通信装置が前記ホップ数に対応づけられた隣接リストを記憶する、
付記１１に記載された経路制御方法。
【００７４】
（付記１３）
前記第１の隣接リスト及び前記第２の隣接リストを取得し、
前記第１及び第２の隣接リストから、前記ホップ数が１以上ｍ−１以下である通信装置を抽出し、
前記第１及び第２の通信装置と抽出された前記通信装置との間のそれぞれの前記ホップ数に１を加えたホップ数を、抽出された前記通信装置と前記第１及び第２の通信装置と直接接続された第３の通信装置との間のホップ数とした第３の隣接リストを、前記第３の通信装置の隣接リストとして作成する、
付記１２に記載された経路制御方法。
【００７５】
（付記１４）
前記第１の隣接リスト及び前記第２の隣接リストの一方と、前記第１の隣接リスト及び前記第２の隣接リストの他方に記載された第４の通信装置の隣接リストである第４の隣接リストと、を用いて前記トポロジー情報を生成し、
前記トポロジー情報を用いて前記第１の通信装置と前記第２の通信装置との間の経路を計算する、
付記１２又は１３に記載された経路制御方法。
【００７６】
（付記１５）
ｍを増加させた前記隣接リストに基づいて前記トポロジー情報を再作成し、前記再作成されたトポロジー情報に基づいて前記経路を計算する、付記１２乃至１４のいずれか１項に記載された経路制御方法。
【００７７】
（付記１６）
前記複数の通信装置が接続されたネットワークを複数のドメインに分割し、前記ドメイン毎に前記トポロジー情報を生成し、前記ドメイン毎のトポロジー情報に基づいて前記経路を計算する、付記１０乃至１５のいずれか１項に記載された経路制御方法。
【００７８】
（付記１７）
通信不能のパスの情報に基づいて、記憶された前記経路から前記通信不能のパスの両端の通信装置を検索し、検索された前記通信不能のパスの両端の通信装置の前記隣接リストを更新し、更新された前記隣接リストに基づいて前記経路を再計算する、付記１０乃至１６のいずれか１項に記載された経路制御方法。
【００７９】
（付記１８）
複数の経路の計算に用いられるそれぞれの前記トポロジー情報が重複しない場合に、前記複数の経路の計算が並行して実行される、付記１０乃至１７のいずれか１項に記載された経路制御方法。
【００８０】
（付記１９）
経路制御装置のコンピュータに、
通信装置と他の通信装置との間の経路コストが前記他の通信装置と対応づけられかつ前記経路コストが所定の値以下である隣接リストを複数の前記通信装置のそれぞれについて記憶する手順、
前記隣接リストに基づいて生成された前記複数の通信装置の接続関係を示すトポロジー情報を記憶する手順
前記隣接リストに基づいて前記トポロジー情報を生成する手順、
前記複数の通信装置の間の経路を前記トポロジー情報に基づいて計算する手順、
前記経路を記憶する手順、
を実行させるための経路制御プログラム。
【００８１】
（付記２０）
前記複数の通信装置から選択された第１の通信装置と第２の通信装置のそれぞれの前記隣接リストである第１の隣接リスト及び第２の隣接リストを記憶する手順、
前記第１及び第２の隣接リストに基づいて前記トポロジー情報を生成する手順、
前記第１の通信装置及び第２の通信装置の間の経路を前記トポロジー情報に基づいて計算する手順、を含む
付記１９に記載された経路制御プログラム。
【００８２】
（付記２１）
前記経路コストはホップ数であり、前記経路コストの所定の値は前記ホップ数の最大値である最大ホップ数ｍ（ｍは自然数）であり、
前記複数の通信装置のそれぞれについて、前記ホップ数がｍ以下である前記他の通信装置が前記ホップ数に対応づけられた隣接リストを記憶する手順を含む、
付記２０に記載された経路制御プログラム。
【００８３】
（付記２２）
前記第１の隣接リスト及び前記第２の隣接リストを取得する手順、
前記第１及び第２の隣接リストから、前記ホップ数が１以上ｍ−１以下である通信装置を抽出する手順、
前記第１及び第２の通信装置と抽出された前記通信装置との間のそれぞれの前記ホップ数に１を加えたホップ数を、抽出された前記通信装置と前記第１及び第２の通信装置と直接接続された第３の通信装置との間のホップ数とした第３の隣接リストを、前記第３の通信装置の隣接リストとして作成する手順、
を含む付記２１に記載された経路制御プログラム。
【００８４】
（付記２３）
前記第１の隣接リスト及び前記第２の隣接リストの一方と、前記第１の隣接リスト及び前記第２の隣接リストの他方に記載された第４の通信装置の隣接リストである第４の隣接リストと、を用いて前記トポロジー情報を生成する手順、
前記トポロジー情報を用いて前記第１の通信装置と前記第２の通信装置との間の経路を計算する手順、
を含む付記２１又は２２に記載された経路制御プログラム。
【００８５】
（付記２４）
ｍを増加させた前記隣接リストに基づいて前記トポロジー情報を再作成する手順、
前記再作成されたトポロジー情報に基づいて前記経路を計算する手順、
を含む付記２１乃至２３のいずれか１項に記載された経路制御プログラム。
【００８６】
（付記２５）
前記複数の通信装置が接続されたネットワークを複数のドメインに分割する手順、
前記ドメイン毎に前記トポロジー情報を生成する手順、
前記ドメイン毎のトポロジー情報に基づいて前記経路を計算する手順、
を含む付記１９乃至２４のいずれか１項に記載された経路制御プログラム。
【００８７】
（付記２６）
通信不能のパスの情報に基づいて、記憶された前記経路から前記通信不能のパスの両端の通信装置を検索する手順、
検索された前記通信不能のパスの両端の通信装置の前記隣接リストを更新する手順、
更新された前記隣接リストに基づいて前記経路を再計算する手順、
を含む付記１９乃至２５のいずれか１項に記載された経路制御プログラム。
【００８８】
（付記２７）
複数の経路の計算に用いられるそれぞれの前記トポロジー情報が重複しない場合に、前記複数の経路の計算を並行して実行する手順を含む、付記１９乃至２６のいずれか１項に記載された経路制御プログラム。
【００８９】
（付記２８）
通信装置と他の通信装置との間の経路コストが前記他の通信装置と対応づけられかつ前記経路コストが所定の値以下である隣接リストを複数の前記通信装置のそれぞれについて記憶する隣接リスト記憶部と、
前記隣接リストに基づいて生成された前記複数の通信装置の接続関係を示すトポロジー情報を記憶するトポロジー記憶部と、
前記複数の通信装置の間の経路を前記トポロジー情報に基づいて計算する経路計算部と、
を備える経路制御装置。
【００９０】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００９１】
また、それぞれの実施形態に記載された構成は、必ずしも互いに排他的なものではない。本発明の作用及び効果は、上述の実施形態の全部又は一部を組み合わせた構成によって実現されてもよい。
【符号の説明】
【００９２】
１０、２０    経路制御システム
１００、２００    経路制御装置
１１０、２１０    経路計算部
１２０、２２０    パス記憶部
１３０、２３０    トポロジー記憶部
１４０、２４０    隣接リスト記憶部
１５０    通信部
９００〜９０４    ノード
９１１〜９１５    ノード
９２１〜９２５    ノード
【図１】
2018107646.tif 000003
【図２】
2018107646.tif 000004
【図３】
2018107646.tif 000005
【図４】
2018107646.tif 000006
【図５】
2018107646.tif 000007
【図６】
2018107646.tif 000008
【図７】
2018107646.tif 000009
【図８】
2018107646.tif 000010
【図９】
2018107646.tif 000011
【図１０】
2018107646.tif 000012