説明

経路計算方法及び装置及びプログラム

【課題】 隣接行列の演算のメモリ量を抑えつつ、方向性の制約があるネットワークの経路探索を可能にする。
【解決手段】 本発明は、無向グラフの経路探索と方向制約のチェックを組み合わせたものであり、経路データベースを参照して始点から終点までの経路上の探索済みの枝に接続されている点"A"(基点枝)を取得し、隣接行列データベースを参照して、前記点"A"(基点枝)に隣接する点を探索して点"B"(評価枝)を発見し、方向制約データベースを参照して、前記点"A"及び該点"A"に基づく点"B"の隣接点候補に方向制約があるかないかを判定し、ない場合は、該点"A"(基点枝)と該点"B"(評価枝)の接続関係を前記経路データベースに格納する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、経路計算方法及び装置及びプログラムに係り、特に、ネットワークにおける経路を探索するための経路計算方法及び装置及びプログラムに関する。
【背景技術】
【0002】
経路を計算する方法として、ダイクストラ法、ベルマン・フォード法や、特許文献1に示される方法等がある。
【0003】
上記のダイクストラ法、ベルマン・フォード法や、特許文献1に示される方法は、始点から終点までの経路探索によって求まる経路候補と、終点から始点までの経路探索によって求まる経路候補とが一致する、という前提で経路を探索している。
【0004】
また隣接行列や、接続行列では無向グラフを利用することにより、有向グラフよりも行列の表現に必要なデータを削減でき、計算に必要とされるメモリサイズが小さくなる。
【0005】
例えば、有向グラフと無向グラフの違いは以下のようになる。1〜N個のノードで構成されるネットワークトポロジを隣接行列で表す場合、隣接行列はN×Nの行列になる。この際、たとえばノード"i"から隣接のノード"j"に経路探索を進める場合、データベース上の隣接行列の行"i"と列"j"の値を参照する。このとき、例えば値がゼロであれば接続しておらず、値が"1"であれば接続していることになる。無向グラフの場合、行"i"と列"j"の行列成分と、行"j"と列"i"の行列成分が同じになる。それゆえ、隣接行列の大きさはN×Nであっても、実際にデータベースに記憶しておくべき隣接行列の大きさはN×N÷2、すなわち本来の隣接行列の半分のサイズに相当する分だけを記憶すればよい。一方、有向グラフの場合、行"i"と列"j"の行列成分と行"j"と列"i"の行列成分が異なる。それゆえ、経路計算を実行する計算機のメモリ上に同隣接行列を記憶する場合、有向グラフを記憶するために必要なメモリサイズは、N×Nの隣接行列そのものを記憶する分だけ必要となる。すなわちあるネットワークトポロジを仮定すると、そのトポロジに沿った有向グラフを記憶するためのデータベースのメモリサイズは、同様の無向グラフを記憶するためのデータベースのメモリサイズの2倍となる。それゆえ計算機上において、無向グラフは、有向グラフよりも巨大なネットワークを表現でき、無向グラフを利用した経路計算方法は大規模ネットワークの経路探索に向いている。
【0006】
ネットワークの伝送技術では、イーサネット(登録商標)や、SONET/SDH(Synchronous Optical Network/Synchronous Digital Hierarchy)、OTN(Optical Transport Network)など、双方向で同じ経路となるため、無向グラフでネットワークを十分に表現できている。それゆえ、ネットワークの経路探索には一般的に無向グラフが利用される。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008-301225号公報.
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記の前提に基づく経路計算方法は、図7のようなReconfigurable Optical Add-Drop Multiplexer (ROADM)などの通信装置がネットワーク内に存在する場合、始点から終点までの経路を正確に探索することはできない。なぜなら、ROADMは、図18や図19に示される通り、始点から終点への経路探索によって求まる経路候補と、終点から始点への経路探索によって求まる経路候補とが一致しないためである。図18及び図19に基づいてROADMの経路の考え方について説明する。図18において、インターフェース部内のトランスポンダからROADMスイッチ部に入力された信号は、右方向に出力される。しかしながら、左方向には出力されない。一方、図19において、ROADMスイッチ部から図18と同じ上記のトランスポンダに入力された信号は、左方向からROADMスイッチ部に入力されてその後に上記トランスポンダに入力される。しかしながら、右方向からROADMスイッチ部に入力されることはない。すなわち、ROADMという通信装置の内部において、始点から終点への経路探索によって求まる経路候補と、終点から始点への経路探索によって求まる経路候補とは異なる。すなわち、図20のようにROADMを有するネットワークでは、始点と終点の設定次第で図21のように実現可能な経路が異なってしまう。
【0009】
一方、隣接行列は単に物理的な接続のみを表現しており、隣接行列だけでは上記のような方向制約を表現できない。
【0010】
ダイクストラ法、ベルマン-フォード法、及び特許文献1に示される方法などがROADMを有するネットワークにおいても正確に始点から終点までの経路を求めるためには、経路探索の方向性を管理して方向の制約に合う経路を探索する必要がある。
【0011】
本発明は、上記の点に鑑みなされたもので、隣接行列の演算のメモリ量を抑えつつ、方向性の制約があるネットワークの経路探索が可能な経路計算方法及び装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上記の課題を解決するために、本発明(請求項1)は、始点から終点までの経路上にある点"A"から隣接する点を探索して点"B"を発見し、その後に該点"B"と隣接する点を探索する際、該点"B"の隣接点が点"A"によって制限されるネットワークにおいて、ある点(始点)からある点(終点)までの0本以上の経路を探索する経路計算方法であって
基点枝と評価枝の接続関係を格納した経路データベースと、
ネットワークを隣接行列もしくはそれと同等の無向グラフの行列によって表現し、かつ、該行列を記憶した隣接行列データベースと、
経路の方向制約の条件を記録した方向制約データベースと、
経路計算手段と、
を有する装置において、
経路計算手段が、
経路データベースを参照して始点から終点までの経路上の探索済みの枝に接続されている点"A"(基点枝)を取得する基点枝探索ステップと、
隣接行列データベースを参照して、点"A"(基点枝)に隣接する点を探索して点"B"(評価枝)を発見する隣接点探索ステップと、
方向制約データベースを参照して、点"A"及び該点"A"に基づく点"B"の隣接点候補に方向制約の有無を判定し、ない場合は、該点"A"(基点枝)と該点"B"(評価枝)の接続関係を経路データベースに格納する方向制約チェックステップと、を行う。
【0013】
また、本発明(請求項2)は、始点から終点までの経路上にある点"A"から隣接する点を探索して点"B"を発見し、その後に該点"B"と隣接する点を探索する際、該点"B"の隣接点が点"A"によって制限されるネットワークにおいて、ある点(始点)からある点(終点)までの0本以上の経路を探索する経路計算装置であって
基点枝と評価枝の接続関係を格納した経路データベースと、
ネットワークを隣接行列もしくはそれと同等の無向グラフの行列によって表現し、かつ、該行列を記憶した隣接行列データベースと、
経路の方向制約の条件を記録した方向制約データベースと、
経路計算手段と、
を有し、
経路計算手段は、
経路データベースを参照して始点から終点までの経路上の探索済みの枝に接続されている点"A"(基点枝)を取得する基点枝探索手段と、
隣接行列データベースを参照して、点"A"(基点枝)に隣接する点を探索して点"B"(評価枝)を発見する隣接点探索手段と、
方向制約データベースを参照して、点"A"及び該点"A"に基づく点"B"の隣接点候補に方向制約の有無を判定し、ない場合は、該点"A"(基点枝)と該点"B"(評価枝)の接続関係を経路データベースに格納する方向制約チェック手段と、
を有する。
【0014】
また、本発明(請求項3)は、請求項2に記載経路計算装置を構成する各手段としてコンピュータを機能させるためのプログラムである。
【0015】
これにより、ある点"B"において、点"B"に入力してきた方向、ならびに入力方向に基づいて制限される点"B"からの出力方向を管理することができる。
【発明の効果】
【0016】
上記のように本発明は、一部方向制約のあるネットワークでの経路探索において、無向グラフに対応する隣接行列をベースに探索し、方向制約のチェックを付加したことにより、無向グラフをベースとしているため、隣接行列の演算のメモリ量を抑えたまま、方向性のあるネットワークの経路探索が可能となる。
【図面の簡単な説明】
【0017】
【図1】本発明の第1の実施の形態における経路計算装置の構成図である。
【図2】ネットワークトポロジの例とその隣接行列の例である。
【図3】本発明の第1の実施の形態における経路データベースのイメージ例と記憶される経路情報の例である。
【図4】本発明の第1の実施の形態における方向制約データベースのデータ構成例である。
【図5】本発明の第1の実施の形態における方向制約データベースのデータ例である。
【図6】本発明の第1の実施の形態における経路計算装置の経路計算処理のフローチャートである。
【図7】特許文献1の図3に記載された経路探索装置(NRM)の構成図である。
【図8】本発明の第2の実施の形態における経路探索装置(NRM)の拡張例である。
【図9】特許文献1の図5に記載されたネットワーク構成リストの一例である。
【図10】本発明の第2の実施の形態におけるネットワーク構成リストの拡張例である。
【図11】特許文献1の図8に記載された利用可能資源リストの例である。
【図12】本発明の第2の実施の形態における利用可能資源リストの拡張例である。
【図13】特許文献1の図10に記載された隣接行列の例である。
【図14】本発明の第2の実施の形態における隣接行列の拡張例である。
【図15】特許文献1の図13に記載された経路探索方法である。
【図16】本発明の第2の実施の形態における経路探索方法の拡張例である。
【図17】方向制約付き既存装置ならびその搭載スイッチの例である。
【図18】既存スイッチの方向制約の説明(アド(信号挿入時))である。
【図19】既存スイッチの方向制約の説明(ドロップ(信号分岐時))である。
【図20】トポロジの例である。
【図21】トポロジ上での実現可能な経路の例である。
【発明を実施するための形態】
【0018】
以下図面と共に、本発明の実施の形態を説明する。
【0019】
[第1の実施の形態]
本発明は、ダイクストラ法、ベルマン-フォード法、及び、特許文献1に示す方法などに、経路探索の方向性を管理する機能を付与し、方向の制約に合う経路を探索するものである。
【0020】
図1は、本発明の第1の実施の形態における経路計算装置の構成を示す。
【0021】
経路計算装置10は、経路計算部11、隣接行列データベース12、経路データベース13、方向制約データベース14を有する。
【0022】
隣接行列データベース12は、図2に示す隣接行列が格納される。
【0023】
経路データベース13は、基点枝と評価枝の接続関係が格納される。図3は経路データベース13の例、並びに、経路データベース13上に記憶される経路の例である。始点が「点1」の例である。経路は行毎に記載され、始点から求められた枝が列記される。各行の右端にある枝は基本的に未探索の枝であり、今後の基点枝の候補である。但し、探索済の枝である場合もある。
【0024】
方向制約データベース14は、図4に示すように点の識別情報毎に入力点と出力点の組からなり、出力点の項目は1つの以上の出力先候補が格納される。具体的には図5に示すようなデータが格納される。方向制約データベース14の見方について、識別情報「4」の点を例として説明する。「点5」から「点4」に入力した場合、「点4」は「点3」もしくは点6と接続できる。また、「点6」から「点4」に入力した場合、「点4」は「点3」と接続できる。
【0025】
経路計算部11は、隣接行列データベース12を参照し、経路データベース13ネットワークを隣接行列、接続行列、もしくはそれと同等の行列によって表現し、且つ前記行列に基づいてある点(始点)からある点(終点)までの0本以上の経路を探索する経路計算アルゴリズムを有する。
【0026】
図6は、本発明の第1の実施の形態における経路計算装置の経路計算処理のフローチャートである。
【0027】
ステップ101) まず、経路計算部11は経路データベース13を参照し、これまでに探索された枝(探索済の枝)に接続しており、尚且つ未探索の枝のひとつを選択する。これを「基点枝」の確定とする。開始当初、これまでに探索された枝とは始点だけであり、始点を基点枝として探索を開始する。この時点において、基点枝は探索済みの枝として経路データベース13で管理される。
【0028】
但し、基点枝となる未探索の枝がひとつもない場合、探索失敗である。すなわち、始点から終点までを結ぶ経路は存在しないことになる。
【0029】
ステップ102) 次に、ステップ101において基点枝がある場合は、当該基点枝をメモリ(図示せず)に格納し、経路計算部11は隣接行列データベース12を参照して基点枝からみた未探索の枝の探索を行う。基点枝からみた未探索の枝がない場合、ステップ101に戻って基点枝を探索する。
【0030】
ステップ103) 一方、未探索の枝を発見した場合(評価枝の確定)、その枝をメモリ(図示せず)に評価枝として格納する。経路計算部11は、方向制約チェック処理として、図4の方向制約データベース14を参照し、メモリ(図示せず)内の基点枝と評価枝の関係を評価する。方向制約の観点から基点枝と評価枝が接続できない場合、経路計算部11は、ステップ102に移行し、再び隣接行列データベース12を参照し、基点枝からみた未探索の枝を探索する。
【0031】
ステップ104) 経路計算部11は、上記のステップ103において、基点枝から評価枝への方向制約の問題がない場合、次に評価枝が終点であるか否かを評価する。評価枝が終点ではない場合はステップ105に移行し、評価枝が終点である場合はステップ106に移行する。
【0032】
ステップ105) 経路計算部11は、基点枝と評価枝の接続関係を経路データベース13に記憶する。
【0033】
ステップ106) ステップ104において、評価枝が終点である場合、経路計算部11は基点枝と評価枝の接続関係を経路データベース13に記憶すると共に、その時点で始点から終点までの経路が求まる。
【0034】
以上により、方向制約のあるネットワークにおいて始点から終点までの経路を求めることができる。
【0035】
例えば、始点「1」かつ終点「6」の経路を探索する場合、方向制約並びに隣接行列の観点から1→5→4→6の経路以外に経路は存在しない。
【0036】
一方、方向制約を考慮することなく隣接行列のみに基づいて経路を計算する場合、図2の隣接行列DB12のトポロジの例から経路候補は以下の4つとなる。
【0037】
・経路候補の例
1→5→4→6
1→2→5→4→6
1→2→3→4→6
1→5→2→3→4→6
以上のとおり、方向制約を考慮しない場合、本来は存在しないはずの経路が算出される可能性がある。
【0038】
[第2の実施の形態]
本実施の形態は、特許文献1及び第1の実施の形態をベースとした方向制約チェック付き経路計算方法である。
【0039】
図7は、特許文献1の図3に記載された経路探索装置(NRM)の構成を示し、一方、図8は、本発明の第2の実施の形態における経路探索装置(NRM)の拡張例を示す。図8に示すNRMは、図7の構成に、前述の図6のステップ103に相当する機能を有する方向制約チェック部210を追加したものである。
【0040】
図9は、特許文献1の図5のネットワーク構成リストの例を示している。一方、図10は、本発明の第2の実施の形態におけるネットワーク構成リストの拡張例であり、図9のネットワーク構成リストに、第1の実施の形態の図4の方向制約データベース13の部分を追加したものである。
【0041】
図11は、特許文献1の図8の利用可能資源リストの例を示している。一方、図12は、本発明の第2の実施の形態における利用可能資源リストの例であり、図11の利用可能資源リストに図10に基づく方向制約データベース13の部分を追加したものである。
【0042】
図13は、特許文献1の図11の隣接行列の例を示している。一方、図14は、本発明の第2の実施の形態における隣接行列の拡張例であり、図13の隣接行列に図12に基づく方向制約データベース13の部分を追加したものである。
【0043】
図15は、特許文献1の図14の経路探索方法の例を示している。一方、図16は、本発明の第2の実施の形態における経路探索方法の拡張例であり、図15の経路探索方法のフローに図6のステップ103の方向制約チェックステップ(ステップ300)を追加したものである。
【0044】
以上の追加を行うことにより、特許文献1の経路探索方法に方向制約チェックステップを追加することができる。
【0045】
上記の第1の実施の形態における図1及び図8に示す構成要素の動作をプログラムとして構築し、経路計算装置、経路探索装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【0046】
また、構築されたプログラムをハードディスクや、フレキシブルディスク、CD−ROM等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【0047】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【0048】
10 経路計算装置
11 経路計算部
12 隣接行列データベース
13 経路データベース
14 方向制約デーベース
100 経路探索装置(NRM)
110 コア部
120 経路探索部
125 通信制御部
130 接続行列作成部
140 経路チェック部
150 コストチェック部
160 リミテーションチェック部
170 データ管理DB
175 通信路制御DB
180 算出経路DB
190 確定経路DB
210 方向制約チェック部
220 方向制約DB

【特許請求の範囲】
【請求項1】
始点から終点までの経路上にある点"A"から隣接する点を探索して点"B"を発見し、その後に該点"B"と隣接する点を探索する際、該点"B"の隣接点が点"A"によって制限されるネットワークにおいて、ある点(始点)からある点(終点)までの0本以上の経路を探索する経路計算方法であって
基点枝と評価枝の接続関係を格納した経路データベースと、
ネットワークを隣接行列もしくはそれと同等の無向グラフの行列によって表現し、かつ、該行列を記憶した隣接行列データベースと、
経路の方向制約の条件を記録した方向制約データベースと、
経路計算手段と、
を有する装置において、
前記経路計算手段が、
前記経路データベースを参照して始点から終点までの経路上の探索済みの枝に接続されている点"A"(基点枝)を取得する基点枝探索ステップと、
前記隣接行列データベースを参照して、前記点"A"(基点枝)に隣接する点を探索して点"B"(評価枝)を発見する隣接点探索ステップと、
前記方向制約データベースを参照して、前記点"A"及び該点"A"に基づく点"B"の隣接点候補に方向制約があるかないかを判定し、ない場合は、該点"A"(基点枝)と該点"B"(評価枝)の接続関係を前記経路データベースに格納する方向制約チェックステップと、
を行うことを特徴とする経路計算方法。
【請求項2】
始点から終点までの経路上にある点"A"から隣接する点を探索して点"B"を発見し、その後に該点"B"と隣接する点を探索する際、該点"B"の隣接点が点"A"によって制限されるネットワークにおいて、ある点(始点)からある点(終点)までの0本以上の経路を探索する経路計算装置であって
基点枝と評価枝の接続関係を格納した経路データベースと、
ネットワークを隣接行列もしくはそれと同等の無向グラフの行列によって表現し、かつ、該行列を記憶した隣接行列データベースと、
経路の方向制約の条件を記録した方向制約データベースと、
経路計算手段と、
を有し、
前記経路計算手段は、
前記経路データベースを参照して始点から終点までの経路上の探索済みの枝に接続されている点"A"(基点枝)を取得する基点枝探索手段と、
前記隣接行列データベースを参照して、前記点"A"(基点枝)に隣接する点を探索して点"B"(評価枝)を発見する隣接点探索手段と、
前記方向制約データベースを参照して、前記点"A"及び該点"A"に基づく点"B"の隣接点候補に方向制約があるかないかを判定し、ない場合は、該点"A"(基点枝)と該点"B"(評価枝)の接続関係を前記経路データベースに格納する方向制約チェック手段と、
を有することを特徴とする経路計算装置。
【請求項3】
請求項2に記載経路計算装置を構成する各手段としてコンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate