説明

経路決定方法および経路決定装置

【課題】最短経路を決定するまでの時間が必要以上に長くなってしまうのを回避する。
【解決手段】通信ネットワークを構成する複数のノードのそれぞれから、複数のノードのうち当該ノード以外のノードである終点ノードまでの最短経路を決定する経路決定方法であって、複数のノードのうち、当該ノードからの最短経路が決定していない未決定終点ノードが存在するノードの1つを始点ノードとして選択する選択処理と、始点ノードから未決定終点ノードまでの最短経路を決定する処理と、決定された最短経路上の始点ノード以外のノードから、当該最短経路を介して当該最短経路の終点ノードまで至る通信経路を、当該ノードから当該終点ノードまでの最短経路として決定する処理と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のノードから構成される通信ネットワークにおける2つのノード間の最短経路を決定する経路決定方法および経路決定装置に関する。
【背景技術】
【0002】
複数のノードから構成される通信ネットワークにおいては、その複数のノードのいずれかである始点ノードから、その複数のノードのうちの始点ノード以外のノードである終点ノードまでの通信経路が複数ある。そのため、その複数の通信経路のうち、最も効率的な通信経路である最短経路を決定する必要がある。
【0003】
そこで、複数のノードのそれぞれを接続するリンクにコスト値と呼ばれる重み値を設定する。そして、始点ノードから終点ノードまでの複数の通信経路のそれぞれのコスト値を計算することにより、コスト値が最小となる通信経路を最短経路として決定するのが一般的である。
【0004】
上述したような計算によって最短経路を決定するためのアルゴリズムの1つであるダイクストラ法が例えば、非特許文献1に開示されている。
【0005】
図9は、ダイクストラ法を用いて最短経路を決定する動作を説明するためのフローチャートである。
【0006】
まず、通信ネットワークを構成する複数のノードのうち始点ノードとして選択されていないノードがあるかどうかが判定される(ステップS101)。
【0007】
ステップS101における判定の結果、始点ノードとして選択されていないノードがない場合、処理が終了する。
【0008】
一方、ステップS101における判定の結果、始点ノードとして選択されていないノードがある場合には、始点ノードとして選択されていないノードの1つが始点ノードとして選択される(ステップS102)。なお、始点ノードとして選択されたノードは、決定済みの最短経路の終点ノードとして認識される。
【0009】
次に、決定済みの最短経路の終点ノードに隣接し、かつ、始点ノードからの最短経路が未決定のノードがあるかどうかが判定される(ステップS103)。なお、「終点ノードに隣接するノード」とは終点ノードとリンクによって直接接続されたノードのことであり、終点ノードとそのノードとの間には他のノードが存在しない。これは、以降の説明においていも同様である。
【0010】
ステップS103における判定の結果、決定済みの最短経路の終点ノードに隣接し、かつ、始点ノードからの最短経路が未決定のノードがある場合、始点ノードからそのノードまでの通信経路が最短経路候補とされる。
【0011】
そして、最短経路候補のコスト値を算出する計算が行われ、算出されたコスト値が最小となる最短経路候補が最短経路として決定される(ステップS104)。そして、ステップS103の動作へ遷移する。
【0012】
一方、ステップS103における判定の結果、決定済みの最短経路の終点ノードに隣接し、かつ、始点ノードからの最短経路が未決定のノードがない場合には、ステップS101の動作へ遷移する。
【0013】
図10は、図9に示したフローチャートに従って最短経路を決定する動作の具体例を説明するための図であり、(a)は通信ネットワークの一例を示す図、(b)は最短経路が決定していく推移の一例を示す図である。なお、図10(a)においては、ノードa〜gが黒丸で表されている。また、以降、通信経路を<ノードa→ノードb>のように< >を用いて表記する。
【0014】
まず、上述したステップS101の動作に従い、図10(a)に示す通信ネットワークを構成するノードa〜gのうち始点ノードとして選択されていないノードがあるかどうかが判定される。ここでは、ノードa〜gが始点ノードとして選択されていないものとする。
【0015】
従って、上述したステップS102の動作に従い、ノードa〜gのうちの1つを始点ノードとして選択する。ここでは、ノードaが始点ノードとして選択されるものとする。これにより、ノードaは決定済みの最短経路の終点ノードとして認識される。
【0016】
次に、上述したステップS103の動作に従い、決定済みの最短経路の終点ノードに隣接し、始点ノードからの最短経路が未決定のノードがあるかどうかが判定される。ここでは、決定済みの最短経路の終点ノードはノードaである。また、始点ノードはノードaである。図10(a)に示した通信ネットワークにおいてノードaに隣接するノードは、ノードbおよびノードeである。また、ここでは、ノードaからの最短経路が決定しているノードはない。従って、<ノードa→ノードb>および<ノードa→ノードe>の2つが最短経路候補となる。
【0017】
次に、<ノードa→ノードb>および<ノードa→ノードe>のコスト値を算出する計算が行われる。ここでは、<ノードa→ノードb>のコスト値の方が<ノードa→ノードe>のコスト値よりも小さいものとする。そのため、上述したステップS104の動作に従い、<ノードa→ノードb>がノードaからノードbまでの最短経路として決定される。ここまでに決定した最短経路が図10(b)の上段に示されている。
【0018】
次に、上述したステップS103の動作へ遷移し、決定済みの最短経路の終点ノードに隣接し、始点ノードからの最短経路が未決定のノードがあるかどうかが判定される。ここでは、決定済みの最短経路の終点ノードはノードaおよびノードbである。また、始点ノードはノードaである。図10(a)に示した通信ネットワークにおいて、ノードaに隣接するノードはノードbおよびノードeであり、ノードbに隣接するノードはノードcおよびノードgである。ここで、<ノードa→ノードb>は最短経路として決定済みである。従って、<ノードa→ノードb→ノードc>と、<ノードa→ノードb→ノードg>と、<ノードa→ノードe>との3つの通信経路が最短経路候補となる。
【0019】
次に、<ノードa→ノードb→ノードc>と、<ノードa→ノードb→ノードg>と、<ノードa→ノードe>とのコスト値を算出する計算が行われる。ここでは、<ノードa→ノードb→ノードc>のコスト値が<ノードa→ノードb→ノードg>および<ノードa→ノードe>のコスト値よりも小さいものとする。そのため、上述したステップS104の動作に従い、<ノードa→ノードb→ノードc>がノードaからノードcまでの最短経路として決定される。ここまでに決定した最短経路が図10(b)の中段に示されている。
【0020】
以降、同様の動作を繰り返すことにより、上述したステップS104の動作に従い、<ノードa→ノードb→ノードc→ノードd>がノードaからノードdまでの最短経路として決定されたものとする。ここまでに決定された最短経路が図10(b)の下段に示されている。
【0021】
このように、通信ネットワークを構成する複数のノードのうちの1つを始点ノードとして選択し、始点ノードとして選択されたノードからの最短経路が順次決定していく。その始点ノードからの最短経路が全て決定した後、始点ノードとして選択されていないノードの1つが始点ノードとして選択され、始点ノードとして選択されたノードからの最短経路が順次決定していくことになる。つまり、ダイクストラ法を用いた場合、図10(b)に示したような表の行毎に最短経路が順次決定していくことになる。
【先行技術文献】
【非特許文献】
【0022】
【非特許文献1】Dijkstra, E. W. (1959). "A note on two problems in connexion with graphs".Numerische Mathematik 1:269-271(http://www-m3.ma.tum.de/twiki/pub/MN0506/WebHome/dijkstra.pdf. )
【発明の概要】
【発明が解決しようとする課題】
【0023】
上述したダイクストラ法のようなアルゴリズムは、ある1つのノードから他のノードへの最短経路を決定するためのアルゴリズムである。そのため、最短経路を決定するためのコスト値の計算を複数のノード毎に行うことになる。
【0024】
この場合、同じ通信経路についてコスト値の計算が複数回行われることになる。つまり、不必要な計算を行うことによって最短経路を決定するまでの時間が必要以上に長くなってしまうという問題点がある。
【0025】
本発明は、最短経路を決定するまでの時間が必要以上に長くなってしまうのを回避することができる経路決定方法および経路決定装置を提供することを目的とする。
【課題を解決するための手段】
【0026】
上記目的を達成するために本発明の経路決定方法は、通信ネットワークを構成する複数のノードのそれぞれから、前記複数のノードのうち当該ノード以外のノードである終点ノードまでの最短経路を決定する経路決定方法であって、
前記複数のノードのうち、当該ノードからの最短経路が決定していない未決定終点ノードが存在するノードの1つを始点ノードとして選択する選択処理と、
前記始点ノードから前記未決定終点ノードまでの最短経路を決定する処理と、
前記決定された最短経路上の始点ノード以外のノードから、当該最短経路を介して当該最短経路の終点ノードまで至る通信経路を、当該ノードから当該終点ノードまでの最短経路として決定する処理と、を有する。
【0027】
また、上記目的を達成するために本発明の経路決定装置は、通信ネットワークを構成する複数のノードのそれぞれから、前記複数のノードのうち当該ノード以外のノードである終点ノードまでの最短経路を決定する経路決定装置であって、上記の経路決定方法における処理を実行する。
【発明の効果】
【0028】
本発明は以上説明したように構成されているので、2番目以降に始点ノードとして選択されるノードからの最短経路の一部は、それ以前に始点ノードとして選択されたノードからの最短経路が決定するとともに決定していることになる。
【0029】
そのため、同じ通信経路について複数回のコスト値の計算が行われることがなくなり、最短経路を決定するまでの時間が必要以上に長くなってしまうのを回避することができる。
【図面の簡単な説明】
【0030】
【図1】通信ネットワークの一例を示す図である。
【図2】本発明の経路決定装置の実施の一形態の構成を示すブロック図である。
【図3】図2に示した記憶部が備える最短経路決定表の一例を示す図である。
【図4】図2および図3に示した経路決定装置が最短経路を決定する動作を説明するためのフローチャートである。
【図5】図2および図3に示した経路決定装置が最短経路を決定する動作の具体例を説明するための図であり、(a)はトポロジ情報部に記憶されたトポロジ情報が示す通信ネットワークの一例を示す図、(b)は最短経路決定表の状態の推移の一例を示す図である。
【図6】図2および図3に示した経路決定装置が最短経路を決定する動作の他の具体例を説明するための図であり、(a)はトポロジ情報部に記憶されたトポロジ情報が示す通信ネットワークの一例を示す図、(b)は最短経路決定表の状態の推移の一例を示す図である。
【図7】図2に示した選択部が始点ノードを選択する際の動作の一例を説明するための図である。
【図8】図2に示した選択部が始点ノードを選択する際の動作の他の例を説明するための図であり、(a)はトポロジ情報部に記憶されたトポロジ情報が示す通信ネットワークの一例を示す図、(b)は複数のノード毎のメトリック値を示す図である。
【図9】ダイクストラ法を用いて最短経路を決定する動作を説明するためのフローチャートである。
【図10】図9に示したフローチャートに従って最短経路を決定する動作の具体例を説明するための図であり、(a)は通信ネットワークの一例を示す図、(b)は最短経路が決定していく推移の一例を示す図である。
【発明を実施するための形態】
【0031】
以下に、本発明の実施の形態について図面を参照して説明する。
【0032】
本発明では、ある2つのノード間の最短経路の一部が、その最短経路上の2つのノード間の最短経路となることを用いて最短経路を決定していく。
【0033】
図1は、通信ネットワークの一例を示す図である。なお、図1においては、ノードa〜fが黒丸で表されている。
【0034】
ここでは、図1に示す通信ネットワークにおいて、ノードaからノードdまでの最短経路が<ノードa→ノードb→ノードe→ノードc→ノードd>であるならば、ノードbからノードcへの最短経路は、<ノードa→ノードb→ノードe→ノードc→ノードd>の一部である<ノードb→ノードe→ノードc>であることを証明する。
【0035】
まず、以下に示す(1)(2)を仮定する。
(1)ノードaからノードdまでの最短経路は<ノードa→ノードb→ノードe→ノードc→ノードd>である
(2)ノードbからノードcまでの最短経路は<ノードb→ノードf→ノードc>である
ここで、上記の(2)が正しいとすると、ノードaからノードdまでの最短経路は<ノードa→ノードb→ノードf→ノードc→ノードdとなり、上記の(1)と(2)とは矛盾する。従って、ノードaからノードdまでの最短経路が<ノードa→ノードb→ノードe→ノードc→ノードd>であれば、ノードbからノードcまでの最短経路は<ノードa→ノードb→ノードe→ノードc→ノードd>の一部である<ノードb→ノードe→ノードc>となる。
【0036】
このように、ある2つのノード間の最短経路の一部は、その最短経路上の2つのノード間の最短経路となる。本発明においては、ある2つのノード間の最短経路が決定したとき、その最短経路上の始点ノード以外のノードから、その最短経路を介してその最短経路の終点ノードへ至る通信経路も最短経路として決定する。
【0037】
図2は、本発明の経路決定装置の実施の一形態の構成を示すブロック図である。
【0038】
図2に示す経路決定装置10は、トポロジ情報部11と、記憶部12、選択部13と、決定部14とを備えている。
【0039】
トポロジ情報部11は、通信ネットワークを示すトポロジ情報を記憶する。なお、トポロジ情報には、通信ネットワークを構成する複数のノードと、その複数のノードのそれぞれの接続状態とが含まれている。
【0040】
記憶部12は、トポロジ情報部11が記憶するトポロジ情報が示す通信ネットワークを構成する複数のノードのそれぞれを始点ノードとし、その始点ノードから終点ノードまでの最短経路が決定されているかどうかを示す最短経路決定表を備えている。
【0041】
図3は、図2に示した記憶部12が備える最短経路決定表の一例を示す図である。
【0042】
最短経路決定表は図3に示すように、列方向を始点ノードとし、行方向を終点ノードとしている。図3に示す例では、ノードaを始点ノードとした場合の最短経路の全てが決定されている状態を示している。
【0043】
再度図2を参照すると、選択部13は、記憶部12に記憶された最短経路決定表を参照する。そして、選択部13は、トポロジ情報が示す通信ネットワークを構成する複数のノードのうち、そのノードを始点ノードとした場合の最短経路が決定していない終点ノードである未決定終点ノードが存在するノードがあるかどうかを判定する。その判定の結果、未決定終点ノードが存在するノードがある場合、選択部13は、未決定終点ノードが存在するノードの1つを始点ノードとして選択する。例えば、最短経路決定表が図3に示した状態である場合、選択部13は、ノードb〜dうちの1つを始点ノードとして選択することになる。そして、選択部13は、始点ノードとして選択したノードを示す選択ノード情報を決定部14へ出力する。
【0044】
決定部14は、トポロジ情報部11に記憶されたトポロジ情報を取得する。また、決定部14は、選択部13から出力された選択ノード情報を受け付ける。そして、決定部14は、受け付けた選択ノード情報が示すノードを始点ノードとし、取得したトポロジ情報を参照して、その始点ノードから未決定終点ノードまでの最短経路を決定する。具体的には、決定部14は、例えば上述したダイクストラ法を用いてコスト値を計算することによって最短経路を決定する。また、決定部14は、決定した最短経路上の始点ノード以外のノードから、その最短経路を介してその最短経路の終点ノードまで至る経路を、そのノードからその終点ノードまでの最短経路として決定する。そして、決定部14は、決定した最短経路に基づき、記憶部12に記憶された最短経路決定表を更新する。
【0045】
以下に、上記のように構成された経路決定装置が最短経路を決定する動作について説明する。
【0046】
図4は、図2および図3に示した経路決定装置10が最短経路を決定する動作を説明するためのフローチャートである。
【0047】
まず、選択部13は、記憶部12に記憶された最短経路決定表を参照する。
【0048】
そして、選択部13は、トポロジ情報が示す通信ネットワークを構成する複数のノードのうち、未決定終点ノードが存在するノードがあるかどうかを判定する(ステップS1)。
【0049】
ステップS1における判定の結果、未決定終点ノードが存在するノードがない場合、処理を終了する。
【0050】
一方、ステップS1における判定の結果、未決定終点ノードが存在するノードがある場合には、選択部13は、未決定終点ノードが存在するノードの1つを始点ノードとして選択する(ステップS2)。なお、始点ノードとして選択されたノードは決定部14において、決定済みの最短経路の終点ノードとして認識される。
【0051】
そして、選択部13は、始点ノードとして選択したノードを示す選択ノード情報を決定部14へ出力する。
【0052】
選択部13から出力された選択ノード情報を受け付けた決定部14は、トポロジ情報を参照して、決定済みの最短経路の終点ノードに隣接し、かつ、受け付けた選択ノード情報が示す始点ノードからの最短経路が未決定のノードがあるかどうかを判定する(ステップS3)。
【0053】
ステップS3における判定の結果、決定済みの最短経路の終点ノードに隣接し、かつ、受け付けた選択ノード情報が示す始点ノードからの最短経路が未決定のノードがある場合、決定部14は、始点ノードからそのノードまでの通信経路を最短経路候補とする。
【0054】
そして、決定部14は、最短経路候補のコスト値を算出する計算を行い、算出されたコスト値が最小の最短経路候補を最短経路として決定する(ステップS4)。
【0055】
次に、決定部14は、ステップS4において決定した最短経路上の始点ノード以外のノードから、その最短経路を介してその最短経路の終点ノードまで至る通信経路を、そのノードからその終点ノードまでの最短経路として決定する(ステップS5)。
【0056】
そして、決定部14は、ステップS4およびステップS5において決定した最短経路に基づき、記憶部12に記憶された最短経路決定表を更新し(ステップS6)、ステップS3の動作へ遷移する。
【0057】
一方、ステップS3における判定の結果、決定済みの最短経路の終点ノードに隣接し、かつ、受け付けた選択ノード情報が示す始点ノードからの最短経路が未決定のノードがない場合には、ステップS1の動作へ遷移する。
【0058】
図5は、図2および図3に示した経路決定装置10が最短経路を決定する動作の具体例を説明するための図であり、(a)はトポロジ情報部11に記憶されたトポロジ情報が示す通信ネットワークの一例を示す図、(b)は最短経路決定表の状態の推移の一例を示す図である。なお、図5(a)においては、ノードa〜gが黒丸で表されている。
【0059】
まず、上述したステップS1の動作に従い、選択部13は、図5(a)に示す通信ネットワークを構成するノードa〜gのうち、未決定終点ノードが存在するノードがあるかどうかを判定する。ここでは、ノードa〜gを始点ノードとした場合の未決定終点ノードが存在するものとする。
【0060】
従って、上述したステップS2の動作に従い、選択部13は、ノードa〜gのうちの1つを始点ノードとして選択する。ここでは、選択部13は、ノードaを始点ノードとして選択するものとする。これにより、ノードaは決定部14において、決定済みの最短経路の終点ノードとして認識される。
【0061】
次に、上述したステップS3の動作に従い、決定部14は、決定済みの最短経路の終点ノードに隣接し、始点ノードからの最短経路が未決定のノードがあるかどうかを判定する。ここでは、決定済みの最短経路の終点ノードはノードaである。また、始点ノードはノードaである。図5(a)に示した通信ネットワークにおいてノードaに隣接するノードは、ノードbおよびノードeである。また、ここでは、ノードaからの最短経路が決定しているノードはないものとする。従って、<ノードa→ノードb>および<ノードa→ノードe>の2つが最短経路候補となる。
【0062】
次に、決定部14は、<ノードa→ノードb>および<ノードa→ノードe>のコスト値を算出する計算を行う。ここでは、<ノードa→ノードb>のコスト値の方が<ノードa→ノードe>のコスト値よりも小さいものとする。そのため、決定部14は、上述したステップS4の動作に従い、<ノードa→ノードb>をノードaからノードbまでの最短経路として決定する。
【0063】
次に、決定部14は、上述したステップS5に従って動作するが、ここでは、ステップS4において決定された最短経路上の始点ノード以外のノードと、その最短経路の終点ノードとがともにノードbである。そのため、ここでは上述したステップS5の動作は実行されない。
【0064】
そして、決定部14は、上述したステップS6の動作に従い、決定された最短経路に基づいて最短経路決定表を更新する。この更新後の最短経路決定表が図5(b)の上段に示されている。
【0065】
次に、上述したステップS3の動作へ遷移し、決定部14は、決定済みの最短経路の終点ノードに隣接し、始点ノードからの最短経路が未決定のノードがあるかどうかを判定する。ここでは、決定済みの最短経路の終点ノードはノードaおよびノードbである。また、始点ノードはノードaである。図5(a)に示した通信ネットワークにおいて、ノードaに隣接するノードはノードbおよびノードeであり、ノードbに隣接するノードはノードcおよびノードgである。ここで、<ノードa→ノードb>は最短経路として決定済みである。従って、<ノードa→ノードb→ノードc>と、<ノードa→ノードb→ノードg>と、<ノードa→ノードe>との3つの通信経路が最短経路候補となる。
【0066】
次に、決定部14は、<ノードa→ノードb→ノードc>と、<ノードa→ノードb→ノードg>と、<ノードa→ノードe>とのコスト値を算出する計算を行う。ここでは、<ノードa→ノードb→ノードc>のコスト値が<ノードa→ノードb→ノードg>および<ノードa→ノードe>のコスト値よりも小さいものとする。そのため、決定部14は、上述したステップS4の動作に従い、<ノードa→ノードb→ノードc>をノードaからノードcまでの最短経路として決定する。
【0067】
また、決定部14は、上述したステップS5の動作に従い、ステップS4において決定した最短経路上の始点ノード以外のノードから、その最短経路を介してその最短経路の終点ノードまで至る通信経路を、そのノードからその終点ノードまでの最短経路として決定する。ここでは、上述したステップS4において決定された最短経路は、<ノードa→ノードb→ノードc>である。従って、始点ノード(ノードa)以外のノードは、ノードbであり、終点ノードはノードcである。従って、決定部14は、<ノードb→ノードc>をノードbからノードcまでの最短経路として決定する。
【0068】
そして、決定部14は、上述したステップS6の動作に従い、決定された最短経路に基づいて最短経路決定表を更新する。この更新後の最短経路決定表が図5(b)の中段に示されている。
【0069】
以降、同様の動作を繰り返すことにより、決定部14が、上述したステップS4の動作に従い、<ノードa→ノードb→ノードc→ノードd>をノードaからノードdまでの最短経路として決定したとする。
【0070】
この場合、決定された最短経路上の始点ノード(ノードa)以外のノードは、ノードbおよびノードcであり、終点ノードはノードdである。従って、決定部14は、上述したステップS5の動作に従い、<ノードb→ノードc→ノードd>をノードbからノードdまでの最短経路として決定し、<ノードc→ノードd>をノードcからノードdまでの最短経路として決定する。
【0071】
そして、決定部14は、上述したステップS6の動作に従い、決定された最短経路に基づいて最短経路決定表を更新する。この更新後の最短経路決定表が図5(b)の下段に示されている。
【0072】
このように本実施形態において経路決定装置10は、通信ネットワークを構成する複数のノードのうち、当該ノードからの最短経路が決定していない未決定終点ノードが存在するノードの1つを始点ノードとして選択する。そして、経路決定装置10は、始点ノードから未決定終点ノードまでの最短経路を決定する。
【0073】
また、経路決定装置10は、決定された最短経路上の始点ノード以外のノードから、当該最短経路を介して当該最短経路の終点ノードまで至る通信経路を、当該ノードから当該終点ノードまでの最短経路として決定する。
【0074】
これにより、2番目以降に始点ノードとして選択されるノードからの最短経路の一部は、それ以前に始点ノードとして選択されたノードからの最短経路が決定するとともに決定していることになる。
【0075】
そのため、同じ経路について複数回のコスト値の計算が行われることがなくなり、最短経路を決定するまでの時間が必要以上に長くなってしまうのを回避することができる。
【0076】
ここで、上述した方法では、複数のノードのそれぞれを始点ノードとして選択する順番によっては、最短経路を決定するまでの時間が必要以上に長くなってしまうのを回避できるという効果が十分に得られない場合があり得る。
【0077】
図6は、図2および図3に示した経路決定装置10が最短経路を決定する動作の他の具体例を説明するための図であり、(a)はトポロジ情報部11に記憶されたトポロジ情報が示す通信ネットワークの一例を示す図、(b)は最短経路決定表の状態の推移の一例を示す図である。なお、図6(a)においては、ノードa〜gおよびノードx〜zが黒丸で表されている。
【0078】
ここでは、ノードa〜gおよびノードx〜zを始点ノードとした場合の未決定終点ノードが存在するものとする。そして、ノードxが始点ノードとして最初に選択された場合を考えてみる。
【0079】
この場合、<ノードx→ノードb→ノードc>がノードxからノードcまでの最短経路として決定したとすると、これに伴って、<ノードb→ノードc>がノードbからノードcまでの最短経路として決定することになる。また、<ノードx→ノードb→ノードc→ノードd>がノードxからノードdまでの最短経路として決定したとすると、これに伴って、<ノードb→ノードc→ノードd>がノードbからノードdまでの最短経路として決定することになる。また、<ノードc→ノードd>がノードcからノードdまでの最短経路として決定することになる。ここまでに決定した最短経路に基づいて更新された最短経路決定表が図6(b)の上段に示されている。
【0080】
この後にノードaが始点ノードとして選択され、<ノードa→ノードb→ノードc>がノードaからノードcまでの最短経路として決定したとする。これに伴って、<ノードb→ノードc>がノードbからノードcまでの最短経路として決定されるはずである。しかし、ノードbからノードcまでの最短経路は図6(b)の上段に示すように、ノードxを始点ノードとして最短経路を決定したときに既に決定済みとなっている。
【0081】
同様に、<ノードa→ノードb→ノードc→ノードd>がノードaからノードdまでの最短経路として決定したとする。これに伴って、<ノードb→ノードc→ノードd>がノードbからノードdまでの最短経路として決定され、<ノードc→ノードd>がノードcからノードdまでの最短経路として決定されるはずである。しかし、ノードbからノードdまでの最短経路およびノードcからノードdまでの最短経路は図6(b)の上段に示すように、やはり、ノードxを始点ノードとして最短経路を決定したときに既に決定済みとなっている。
【0082】
このように、複数のノードのそれぞれを始点ノードとして選択する順番によっては、最短経路を決定するまでの時間が必要以上に長くなってしまうのを回避できるという効果が十分に得られない場合があり得る。
【0083】
従って、全体の計算量ができるだけ少なくなるように、複数のノードのそれぞれを始点ノードとして選択する順番を決定する必要がある。
【0084】
この順番は、通信ネットワークの構成や、直前に行った計算結果等、始点ノードを選択する時点で知りえる情報、またはその情報を基に算出される情報に基づいて行うようにすればよい。
【0085】
図7は、図2に示した選択部13が始点ノードを選択する際の動作の一例を説明するための図であり、最短経路決定表を示している。
【0086】
図7に示す最短経路決定表は、ノードaを始点ノードとして選択して最短経路を決定した結果、ノードbおよびノードcを始点ノードとした場合の最短経路の一部も決定済みとなった状態を示している。
【0087】
この状態から、次に始点ノードとして選択するノードを決定する際、選択部13は、未決定終点ノードが存在するノードb〜dのうち、未決定終点ノードの数が最も多いノードを始点ノードとして選択する。図7に示す例において未決定終点ノードの数は、ノードbが1個、ノードcが2個、ノードdが3個である。そのため、選択部13は、ノードdを始点ノードとして選択する。
【0088】
あるノードについて未決定終点ノードの数が多いということは、最短経路を決定するためにコスト値の計算が行われた通信経路のうち、そのノードを通過する通信経路の数が少ないということである。そのため、未決定終点ノードの数がより多いノードを優先的に始点ノードとして選択すれば、そのノードからの最短経路を決定するために行われた計算が、他のノードからの最短経路を決定する際に既に行われている確率が低くなる。従って、未決定終点ノードの数がより多いノードを優先的に始点ノードとして選択すれば、そのノードからの最短経路を、より多くの他のノードからの最短経路として利用することができる。
【0089】
また、複数のノードのそれぞれを始点ノードとして選択する順番を決定する他の方法として、複数のノードのそれぞれを接続するリンクのメトリック値を利用する方法がある。なお、メトリック値とは、2つのノード間の仮想的な距離を表すパラメータである。
【0090】
この場合、選択部13は、未決定終点ノードが存在するノードのうち、そのノードと接続されているリンクのメトリック値の平均値が最も大きなノードを、始点ノードとして選択する。
【0091】
最短経路を決定する際には、リンクのメトリック値がより小さいほど、そのリンクを介した通信経路の距離がより短いものとして認識され、あるノードに接続されているリンクのメトリック値の平均値が大きいと、そのノードを通過する最短経路の数は少なくなる。そのため、接続されているリンクのメトリック値の平均値がより大きなノードを優先的に始点ノードとして選択すれば、そのノードからの最短経路を決定するために行われた計算が、他のノードからの最短経路を決定する際に既に行われている確率が低くなる。つまり、接続されているリンクのメトリック値の平均値がより大きなノードを優先的に始点ノードとして選択すれば、そのノードからの最短経路を、より多くの他のノードからの最短経路として利用することができる。
【0092】
図8は、図2に示した選択部13が始点ノードを選択する際の動作の他の例を説明するための図であり、(a)はトポロジ情報部11に記憶されたトポロジ情報が示す通信ネットワークの一例を示す図、(b)は複数のノード毎のメトリック値を示す図である。
【0093】
図8(a)においては、ノードA〜Fのそれぞれが四角形で表され、リンクが直線で表されている。そして、各リンクの近傍の数値が各リンクのメトリック値を示している。なお、ここでは、各リンクの上り下りの方向に関わらずメトリック値は同じものとする。
【0094】
図8に示す例の場合、選択部13は、ノードA〜Fのそれぞれに接続されたリンクのメトリック値の平均値をノードA〜F毎に算出する。これが図8(b)に示されている。
【0095】
そして、選択部13は、メトリック値の平均値がより大きなノードから順番に始点ノードとして選択していく。従って、図8に示した例において、始点ノードとして最初に選択されるのは、メトリック値の平均値が最も大きなノードDとなる。そして、ノードDの次に始点ノードとして選択されるのは、メトリック値の平均値がノードDの次に大きなノードFとなる。
【0096】
このように、経路決定装置10は、未決定終点ノードの数に応じた順番や、複数のノードのそれぞれが接続されているリンクのメトリック値に応じた順番で、始点ノードとして選択するノードを決定する。これにより、最短経路を決定するまでの時間が必要以上に長くなってしまうのを回避できるという効果を十分に得ることができる。
【符号の説明】
【0097】
10 経路決定装置
11 トポロジ情報部
12 記憶部
13 選択部
14 決定部

【特許請求の範囲】
【請求項1】
通信ネットワークを構成する複数のノードのそれぞれから、前記複数のノードのうち当該ノード以外のノードである終点ノードまでの最短経路を決定する経路決定方法であって、
前記複数のノードのうち、当該ノードからの最短経路が決定していない未決定終点ノードが存在するノードの1つを始点ノードとして選択する選択処理と、
前記始点ノードから前記未決定終点ノードまでの最短経路を決定する処理と、
前記決定された最短経路上の始点ノード以外のノードから、当該最短経路を介して当該最短経路の終点ノードまで至る通信経路を、当該ノードから当該終点ノードまでの最短経路として決定する処理と、を有する経路決定方法。
【請求項2】
請求項1に記載の経路決定方法において、
前記選択処理においては、前記複数のノードのうち前記始点ノードとして選択するノードを、前記未決定終点ノードの数に応じて決定する経路決定方法。
【請求項3】
請求項1に記載の経路決定方法において、
前記複数のノードのそれぞれは、リンクによって接続され、
前記選択処理においては、前記複数のノードのうち前記始点ノードとして選択するノードを、前記複数のノードのそれぞれが接続されているリンクのメトリック値に応じて決定する経路決定方法。
【請求項4】
通信ネットワークを構成する複数のノードのそれぞれから、前記複数のノードのうち当該ノード以外のノードである終点ノードまでの最短経路を決定する経路決定装置であって、
請求項1乃至3のいずれか1項に記載の経路決定方法における処理を実行する経路決定装置。

【図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


【公開番号】特開2012−175246(P2012−175246A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−33191(P2011−33191)
【出願日】平成23年2月18日(2011.2.18)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成22年度、独立行政法人情報通信研究機構「次世代ネットワーク(NGN)基盤技術の研究開発」委託事業、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】