JP5391322B2 - 経路計算方法、プログラムおよび計算装置 - Google Patents

経路計算方法、プログラムおよび計算装置 Download PDF

Info

Publication number
JP5391322B2
JP5391322B2 JP2012217902A JP2012217902A JP5391322B2 JP 5391322 B2 JP5391322 B2 JP 5391322B2 JP 2012217902 A JP2012217902 A JP 2012217902A JP 2012217902 A JP2012217902 A JP 2012217902A JP 5391322 B2 JP5391322 B2 JP 5391322B2
Authority
JP
Japan
Prior art keywords
node
shortest
adjacent node
nodes
route
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.)
Active
Application number
JP2012217902A
Other languages
English (en)
Other versions
JP2012257336A (ja
Inventor
幸司 杉園
道宏 青木
英明 岩田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012217902A priority Critical patent/JP5391322B2/ja
Publication of JP2012257336A publication Critical patent/JP2012257336A/ja
Application granted granted Critical
Publication of JP5391322B2 publication Critical patent/JP5391322B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/028Dynamic adaptation of the update intervals, e.g. event-triggered updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、通信経路を計算する経路計算方法、プログラムおよび計算装置に関する。
ネットワーク内のノード間を結ぶリンクの敷設状況(トポロジ)に変化が生じ、それまで通れなかった箇所が通れるようになる、もしくは逆に通れた箇所が通れなくなることが生じる場合が存在する。
出発地から目的地までの最短経路を常に維持する必要がある場合、パスのトポロジの変化に伴い、トポロジの変化後の最短経路を計算する必要がある。
従来の最短経路計算方法では、トポロジが変化した場合、変化後のトポロジの情報を用いることで2ノード間を結ぶ最短経路を全て再計算している。
このような最短経路計算方法は、非特許文献1に記載されている。なお、非特許文献1に記載された方法はダイクストラのアルゴリズムとして知られている。
ただし、注意すべきこととして、トポロジの変化前と変化後の最短経路に違いが生じない場合が多々存在するということが挙げられる。また、別のノード間を結ぶ最短経路がトポロジ変化後に計算されているものが存在すれば、この最短経路とこれから計算しようとしているノード間の最短経路に違いが生じない場合も多々存在する。
しかし、従来の最短経路計算方法では、敷設状況のみの情報を用いて、最短経路を計算しているため、最短経路に違いが生じない場合でも、既に存在する最短経路の情報を利用することは不可能である。このため、全ての最短経路を再計算する必要が生じ、計算時間が長くなるという問題が生じる。
通常、このような最短経路計算方法では、ノード間を結ぶリンクにコストと呼ばれる数を割り当て、通過した経路に含まれるリンクのコスト和が最小になる経路を計算する。
あるリンクのコストに変化が生じた場合に、トポロジの変化前の最短経路の情報を用いて、変化後の最短経路を計算する方法が非特許文献2に記載されている。この方法を用いることで、上述の全ての最短経路を再計算することにより計算時間が長くなるという問題を解決することができる。
E. W. Dijkstra: A note on two problems in connexion with graphs. In Numerische Mathematik, 1(1959), S. 269-271. B. Xiao, et al. "Dynamic update of shortest path tree in OSPF," IEEE Parallel Architectures Algorithms and Network, pp.18-23, May 2004.
非特許文献2では、トポロジの変化として、トポロジ内に存在するリンクのコスト変化が生じた場合のみを計算対象としている。
ところが、トポロジの変化には、この他にも、ノード間を結ぶリンクが新規に追加されたもしくはリンクとノードが同時に追加された場合や、リンクが削除された場合が存在する。
しかし、非特許文献2では、トポロジ変化前に存在していなかったリンクの追加や存在していたリンクの削除によるトポロジ変化を計算開始のトリガーとして扱っておらず、最短経路の再計算を行わない。
このため、リンクの追加や削除によるトポロジ変化があった場合の最短経路を計算するには手順の追加が必要となる。
本発明の目的は、リンクが新規に追加もしくは削除された場合でも、最短経路を再計算することができる経路計算方法、プログラムおよび計算装置を提供することにある。
本発明の特徴は、あるノードを起点とする最短経路が計算済みである場合に、別のノードを起点とする最短経路を計算するに際し、他のノードを起点とする計算済みの最短経路を利用する点にある。具体的には、本発明は以下の特徴を有する。
本発明の経路計算方法は、
複数のノードがリンクによって接続されたネットワークにおいて、前記複数のノードのうち2つのノード間の最短の通信経路である最短経路をコンピュータが計算する経路計算方法であって、
前記コンピュータは、制御部と前記ノード間の最短経路の候補からなる最短経路ツリーを含む情報を記憶する記憶部とを有しており、
前記制御部は、
前記複数のノードのうち通信経路の起点となる起点ノードと該起点ノードに隣接する隣接ノードの中から距離が最短な隣接ノードを選択し、前記選択した隣接ノードを起点とし前記選択した隣接ノード以外の他の隣接ノードまでの最短経路ツリーが前記記憶部に記憶されているか否かを判定する判定処理と、
前記選択した隣接ノードを起点とし前記選択した隣接ノード以外の他の隣接ノードまでの最短経路ツリーが前記記憶部に記憶されている場合に、前記起点ノードから前記選択した隣接ノード以外の他の隣接ノードまでの第1の通信経路の距離と、前記選択した隣接ノードを起点とする最短経路ツリーに示される通信経路を経由した前記起点ノードから前記選択した隣接ノード以外の他の隣接ノードまでの第2の通信経路の距離とを比較する比較処理と、
前記第1の通信経路の距離が前記第2の通信経路の距離よりも短い場合、前記第1の通信経路を前記最短経路として前記記憶部に記録する記録処理とを実行し、
該隣接ノードを新たな起点ノードとして前記判定処理をさらに実行することを特徴とする。
また、本発明のプログラムは、
複数のノードがリンクによって接続されたネットワークにおいて、前記複数のノードのうち2つのノード間の最短の通信経路である最短経路の計算をコンピュータに実行させるためのプログラムであって、
前記コンピュータは、制御部と前記ノード間の最短経路の候補からなる最短経路ツリーを含む情報を記憶する記憶部とを有しており、
前記コンピュータの前記制御部に、
前記複数のノードのうち通信経路の起点となる起点ノードと該起点ノードに隣接する隣接ノードの中から距離が最短な隣接ノードを選択し、前記選択した隣接ノードを起点とし前記選択した隣接ノード以外の他の隣接ノードまでの最短経路ツリーが前記記憶部に記憶されているか否かを判定する判定手順と、
前記選択した隣接ノードを起点とし前記選択した隣接ノード以外の他の隣接ノードまでの最短経路ツリーが前記記憶部に記憶されている場合に、前記起点ノードから前記選択した隣接ノード以外の他の隣接ノードまでの第1の通信経路の距離と、前記選択した隣接ノードを起点とする最短経路ツリーに示される通信経路を経由した前記起点ノードから前記選択した隣接ノード以外の他の隣接ノードまでの第2の通信経路の距離とを比較する比較手順と、
前記第1の通信経路の距離が前記第2の通信経路の距離よりも短い場合、前記第1の通信経路を前記最短経路として前記記憶部に記録する記録手順とを実行させ、
該隣接ノードを新たな起点ノードとして前記判定手順をさらに実行させることを特徴とする。
また、本発明の計算装置は、
複数のノードがリンクによって接続されたネットワークにおいて、前記複数のノードのうち2つのノード間の最短の通信経路である最短経路を計算する計算装置であって、
前記ノード間の最短経路の候補からなる最短経路ツリーを含む情報を記憶する記憶部と、
前記複数のノードのうち通信経路の起点となる起点ノードと該起点ノードに隣接する隣接ノードの中から距離が最短な隣接ノードを選択し、前記選択した隣接ノードを起点とし前記選択した隣接ノード以外の他の隣接ノードまでの最短経路ツリーが前記記憶部に記憶されているか否かを判定する判定処理部と、前記選択した隣接ノードを起点とし前記選択した隣接ノード以外の他の隣接ノードまでの最短経路ツリーが前記記憶部に記憶されている場合に、前記起点ノードから前記選択した隣接ノード以外の他の隣接ノードまでの第1の通信経路の距離と、前記選択した隣接ノードを起点とする最短経路ツリーに示される通信経路を経由した前記起点ノードから前記選択した隣接ノード以外の他の隣接ノードまでの第2の通信経路の距離とを比較する比較処理部と、前記第1の通信経路の距離が前記第2の通信経路の距離よりも短い場合、前記第1の通信経路を前記最短経路として前記記憶部に記録する記録処理部とを有する制御部とを備え、
前記判定処理部は、該隣接ノードを新たな起点ノードとしてさらに処理を実行することを特徴とする。
本発明によれば、リンクが新規に追加もしくは削除されることでトポロジに変化が起きた場合においても、最短経路を計算することが可能となるという効果が得られる。また、非特許文献2の方法と同様、すでに計算されている経路情報を用いて最短経路を計算するため、非特許文献1の方法に比べ、最短経路の計算時間を短縮することが可能となるという効果が得られる。
参考例の最短経路計算装置の構成を示すブロック図である。 参考例及び第実施形態における用語「最短経路ツリー」を説明する図である。 参考例及び第実施形態における用語「配下ツリー」を説明する図である。 ネットワークにおけるノードの接続関係の一例を示す図である。 参考例の最短経路計算方法の一例を説明するフローチャートである。 図4に示したステップS1の処理を説明する図である。 図4に示したステップS2,S3の処理を説明する図である。 図4に示したステップS4〜S6の処理を説明する図である。 図4に示したステップS7,S3の処理を説明する図である。 本発明の計算装置の第実施形態を示す図である。 図9に示した計算装置が経路を計算するトポロジの一例を示す図である。 図9に示した計算装置における経路計算方法を説明するためのフローチャートである。 図11のステップS11の処理を模式化した図である。 ノード200−1からの最短経路の一部としてノード200−2を選択した処理を模式化した図である。 すでに計算されている最短経路ツリーSeが存在する場合の処理を模式化した図である。 図11に示したステップS17〜S19の処理を説明するための図である。
参考例
以下に、本発明を実施するための参考例について図面を参照して説明する。
(1)最短経路計算装置の構成
まず、図1を参照して、参考例の最短経路計算装置の構成を説明する。
図1を参照すると、参考例の最短経路計算装置は、外部インタフェース10と、プロセッサ20と、記憶媒体30と、を含む。
外部インタフェース10は、他の装置に計算結果を送信したり、他の装置からトポロジに関するトポロジ情報を受信したりする。
プロセッサ20は、ネットワークにおける2ノード間の最短経路を計算する経路計算部21と、経路計算部21により計算された最短経路の経路情報や他の装置から受信したトポロジに関するトポロジ情報の更新や取得を行う情報管理部22と、を含む。
記憶媒体30には、経路情報とトポロジ情報とが記憶される。
(2)最短経路計算方法
以下、図1に示した最短経路計算装置において、ネットワークにおける2ノード間の最短経路を計算する方法について説明する。本計算方法は、2ノード間を結ぶ最短経路のうち、起点となるノードが同じ複数の最短経路を一度に計算する方法である。
(2−1)用語の定義
まず、以下の参考例の説明中で使用する用語を、以下のように定義する。なお、以下の用語の定義は、第実施形態でも同様である。
・最短経路ツリー
最短経路ツリーは、2ノード間を結ぶ最短経路のうち、起点となるノードが同じ最短経路の集合である最短経路群を表す。
集合に含まれる経路には、共通部分を持つものも存在する。これらの経路の情報を個別に持つのは情報的に冗長であるため、参考例では、経路の集合をツリー構造で表す。
具体的には、経路は、ノードごとに、経路に沿ったときの隣接ノードの情報によって表す。より具体的には、この情報は、各ノードの上流に位置するノードに関する1つの情報と下流に位置するノードに関する複数の情報とからなり、これらの情報における上流下流の関係をたどることで任意のノード間の経路をツリー構造で表現した情報である。そして、2ノード間を結ぶ最短経路を、ツリーのうち2ノード間を結ぶ部分で示すこととする。
例えば、図2Aの例では、ノードs,a間の最短経路、ノードs,b間の最短経路、ノードs,c間の最短経路、およびノードs,d間の最短経路は、起点となるノードsが同じであるため、これら最短経路の集合がノードsを起点とする最短経路ツリーとなる。
・候補経路
候補経路は、最短経路の計算結果の一部となりうる2点間を結ぶ経路を表す。最短経路を確定する際には、後述する手順を経て、候補経路のうち距離が短いものから順に最短経路の計算結果の一部として確定していく。
・親ノード
ノードnの親ノードは、ある経路において、ノードnに隣接(1ホップで到達)し、かつ、経路の上流側に位置するノードのことを指す。
例えば、図2Aの例では、ノードaの親ノードはノードsとなる。
・配下ツリー
ノードnの配下ツリーは、計算する最短経路の一部で、ノードnと、ノードnよりも下流側に位置するノードとを接続する経路ツリーを示す。なお、ノードn自身も配下ツリーに含まれる。
例えば、図2Bの例では、ノードxの配下ツリーは、ノードxをノードyおよびノードzとそれぞれ接続している経路ツリーとなる。
・距離
距離は、ノード間の実際の距離やホップ数ではなく、あらかじめ設定されたノード間の接続の重みづけを示す。
(2−2)計算手順
以下、トポロジ変化後のノードの接続関係が図3のような状態となっているネットワークにおいて、2ノード間の最短経路を計算する計算手順を、図4を参照して説明する。
ここでは、ノードXを親ノードに持つノードYを起点とする最短経路の集合である最短経路ツリーSyを計算することを考える。また、ノードXを起点とするトポロジ変化後に計算された最短経路ツリーSxがすでに存在するとする。
最初に、ステップS1では、経路計算部21は、最短経路ツリーSxの中からノードYを検索し、最短経路ツリーSxにおける、ノードYよりも下流の部分を、ノードYの配下ツリーとする。経路計算部21は、ノードYの配下ツリーを、最短経路ツリーSyの計算結果の一部として扱うと同時に、計算中のツリーとしても扱う。
以降、経路計算部21は、ノードYを起点とし、計算中のツリーには属さないノードまでの最短経路を順次確定していく。
まず、ステップS2では、経路計算部21は、計算中のツリーに属するノードを起点とし、1ホップで到達でき、かつ、計算中のツリーに属さないノードaを終点とするリンクL1を検索する。そして、経路計算部21は、ノードYからノードaまでの経路として、計算中のツリーのうちリンクL1の他方の端点となるノードを通るツリーとリンクL1とを経由する経路R1に着目する。
ステップS3では、ノードYからノードaまでの経路が他に見つかっていない場合、経路計算部21は、経路R1を候補経路の1つとして扱う。もし、ノードYからノードaまでの経路が他に見つかっている場合、見つかっている中で最短の経路の距離よりも経路R1の距離が短ければ、経路R1を候補経路の1つとして扱う。
以下の処理は、候補経路がなくなるまで繰り返される。
次に、ステップS4では、経路計算部21は、候補経路が存在する場合、候補経路のうち、距離が最短なものを選択する。そして、経路計算部21は、ノードYから終点のノードaまでの経路として、上記で候補経路を選択した時点までにわかっている経路と比較して、選択した候補経路の距離が最短であれば、選択した候補経路を、ノードYから終点のノードaまでの最短経路R2、すなわち最短経路ツリーSyの計算結果の一部とする。
次に、ステップS5では、情報管理部22は、最短経路ツリーSyにおけるノードaまでの経路情報を、選択した経路R2に変更する。
次に、ステップS6では、ノードaの配下ツリーが存在するのであれば、ノードYの配下ツリーとノードaの配下ツリーとを計算中のツリーとして扱う。そして、情報管理部22は、ノードYからノードaの配下ツリーに属するノードまでの距離を、ステップS4で選択した経路とノードaの配下ツリーとを経由した経路のものに更新する。
これにより、ノードYからノードaまでの経路の距離と、ノードYからノードaの配下ツリーに属するノードまでの距離が変化したため、いくつかのノードでは、この時点で見つかっている経路よりも、ノードaの配下ツリーに属するノードを経由する経路のほうが距離が短くなる場合が生じる。このような経路を探索するために、ステップS7で次の処理を行う。
ステップS7では、経路計算部21は、ノードaの配下ツリーに属するノードを起点とし、1ホップで到達でき、かつ、ノードaの配下ツリーに属さないノードa’を終点とするリンクL2を検索する。そして、経路計算部21は、ノードYからリンクL2の端点まで到達する経路のうち、ノードaの配下ツリーとリンクL2を通過して到達する経路R4の距離が、配下ツリーのみを経由する経路R3の距離に比べて短くなる場合、経路R4をノードa’の候補経路として扱うという処理を行う。この処理が終了すると、再びステップS3,S4の処理に戻り、ノードYからノードa’までの最短経路を確定する。
(2−3)計算手順の具体例
以上の計算手順の具体例を、図5〜図8を参照して説明する。
まず、図5を参照して、ステップS1について説明する。
トポロジ変化後に計算されたノードXを起点とする最短経路ツリーSxを矢印線で示す。ここでは、計算する経路は、ノードYを起点とする最短経路ツリーSyである。
ステップS1では、経路計算部21は、最短経路ツリーSxの中からノードYとノードYの配下ツリーとを検索する。そして、経路計算部21は、ノードYの配下ツリーを最短経路ツリーSyの計算結果の一部として扱うと同時に、計算中のツリーとしても扱う。
次に、図6を参照して、ステップS2,S3について説明する。
ステップS2では、経路計算部21は、計算中のツリーに属するノードAから1ホップで到達できるノードとして、最初に、ノードCを検索したとする。この場合、経路計算部21は、ノードYからノードCまでの経路として、計算中のツリー(Y→A)と、ノードAとCを結ぶリンクL1と、を経由する経路(Y→A→C)R1に着目する。
このとき、ノードCまでの経路は他に見つかっていないので、ステップS3では、経路計算部21は、経路(Y→A→C)R1を候補経路の1つとして扱う。
次に、図7を参照して、ステップS4〜S6について説明する。
ここでは、ノードCまでの経路として、計算中のツリーに属するノードDを経由する経路(Y→D→C)がすでに候補経路とされている状態で、計算中のツリーに属するノードAを経由する経路(Y→A→C)が候補経路とされたとする。
ステップS4では、経路計算部21は、新たに候補経路とされた経路(Y→A→C)の距離が、すでに候補経路とされている経路(Y→D→C)の距離(コスト)よりも短ければ、経路(Y→A→C)を、ノードYからノードCまでの最短経路R2として扱う。仮に、経路(Y→A→C)の距離が「5」である場合、経路(Y→D→C)の距離が「6」以上であるならば、経路計算部21は、経路(Y→A→C)を最短経路R2として確定する。
ステップS5では、情報管理部22は、ノードYから経路の終点のノードCまでの最短経路の情報を、それまでのものから経路(Y→A→C)の情報に更新する。1つの方法として、ツリーにおけるノード間の接続関係が、自身の親ノード、すなわち1ホップ上流側にあるノードで示される場合、親ノードを選択された経路に沿ったものに変更する方法がある。この例の場合、経路の終点のノードCの親ノードを、それまでのノードDから経路(Y→A→C)R2における親ノードであるノードAに変更する。
ステップS6では、経路の終点のノードCの配下ツリーにノードが存在するならば、ノードYの配下ツリーとノードCの配下ツリーとを計算中のツリーとして扱う。そして、情報管理部22は、ノードYからノードCの配下ツリーに属するノードまでの距離を、経路(Y→A→C)R2とノードCの配下ツリーとを通って到達する経路の距離に変更する。ノードCの配下ツリーの情報が存在するならば、ノードCの配下ツリーに属する各ノードまでの距離は、ノードCの配下ツリーの情報により容易に計算することが可能である。例えば、ノードCからノードCの配下ツリーに属するノードGまでの距離が「2」である場合、経路(Y→A→C)R2の距離が「5」であったならば、情報管理部22は、経路(Y→A→C)R2とノードCの配下ツリーとを経由する経路の距離を「7」と算出する。この距離の値を、ノードYからノードGまでの距離の値とする。
次に、図8を参照して、ステップS7,S3について説明する。
ステップS7では、ノードYから、前ステップにおけるノードCの配下ツリーに属さないノードまで到達する経路において、ノードCの配下ツリーを経由する場合のほうが距離が短くなる場合を探す。具体的には、経路計算部21は、ノードCの配下ツリーに属するノードを起点とし、ノードCの配下ツリーに属さないノードと、そのノードを終点とするリンクL2とを検索する。ここでは、経路計算部21は、ノードKを検索したとする。ただし、ノードKは、ノードYの配下ツリーに属するノードDから1ホップで到達できるノードとして、ステップS2の時点で検索されており、ノードYの配下ツリー、すなわち計算中のツリーを経由する経路(Y→D→K)R3がすでに見つかっているものとする。
そのため、ステップS3では、経路計算部21は、ノードYからリンクL2の終点のノードKまで到達する経路として、計算中のツリー経由の経路(Y→D→K)R3と、計算中のツリーとノードCの配下ツリーを経由する経路(Y→A→C→G→K)R4と、に着目する。両者のうち、経路(Y→A→C→G→K)R4のほうが距離が短ければ、経路計算部21は、経路(Y→A→C→G→K)R4を候補経路の1つとして扱う。
以上の処理を候補経路がなくなるまで繰り返す。
なお、本発明の最短経路計算方法は、コンピュータに実行させるためのプログラムに適用してもよい。また、そのプログラムを記憶媒体に格納することも可能であり、ネットワークを介して外部に提供することも可能である。
参考例の効果)
参考例によれば、非特許文献2の方法では計算できない、リンクが新規に追加もしくは削除されてトポロジが変化した場合にも、最短経路の計算が可能となる。これは、他ノードを起点とするトポロジ変化後の最短経路群がすでに計算されている場合、その結果を利用しているためである。また、新たに発見すべき経路についても、新たに追加されたリンクを経由するような経路も探索対象となるため、リンクの追加が生じたときも最短経路の計算が可能となる。
すなわち、リンクが新規に追加もしくは削除されることでトポロジに変化が起きた場合においても、最短経路を計算することが可能となるという効果が得られる。また、非特許文献2の方法と同様、すでに計算されている経路情報を用いて最短経路を計算するため、非特許文献1の方法に比べ、最短経路の計算時間を短縮することが可能となるという効果が得られる。
(第実施形態)
以下に、本発明の第実施形態について図面を参照して説明する。
図9は、本発明の計算装置の第実施形態を示す図である。
本形態における計算装置100は図9に示すように、外部インタフェース部101と、制御部102と、記憶部103とから構成されている。
外部インタフェース部101は、制御部102からの指示により、計算装置100と接続された他の装置へ計算装置100にて計算した結果を送信する。また、外部インタフェース部101は、計算装置100と接続された他の装置から送信されてきたネットワークのトポロジに関する情報を受信し、受信した情報を制御部102へ出力する。
制御部102は、ネットワークと接続されたノード間の通信経路(以下、経路と称する)を計算する経路計算機能を有する。また、制御部102は、計算した経路の経路情報やトポロジに関する情報の更新・取得を行う情報管理機能を有する。また、制御部102は、それらの情報を他の装置との間で外部インタフェース部101を介してやり取りする。
記憶部103は、制御部102が計算した経路情報や他の装置から外部インタフェース101を介して取得した情報(トポロジ情報等)を記憶する。また、制御部102が実行するプログラムを記憶する。
図10は、図9に示した計算装置100が経路を計算するトポロジの一例を示す図である。
図9に示した計算装置100が経路を計算するトポロジの一例として図10に示すように、ノード200−1〜200−8がそれぞれ接続されている。
ここで、計算装置100は、これらのノード200−1〜200−8の経路情報を取得できる位置に設けられていれば良い。
この計算装置100を用いて図10に示したようなトポロジにおける2つのノード間の最短経路を計算する。本計算方法は、2つのノードを結ぶ最短経路のうち、起点が同じノードである複数の最短経路を一度に計算する方法である。なお、参考例の説明のために定義した用語は、第実施形態でも適用する。
以下に、図9に示した計算装置100における経路計算方法について説明する。
図11は、図9に示した計算装置100における経路計算方法を説明するためのフローチャートである。ここでは、ノードx(図10に示したノード200−1)を起点(起点ノード)とする最短経路集合である最短経路ツリーSxを計算する。また、トポロジ変更後に計算された最短経路ツリーSyが存在する。なお、yは特定のノードを指さず、自身を起点とする最短経路ツリーが計算されているノードすべてを指す。
まず、ノードxに隣接する、つまり、ノードxと直接リンクで接続されているノードを検索する。ノードxに隣接しているノードが1つある場合、当該隣接ノードを選択する。また、ノードxに隣接しているノードが複数ある場合、複数の隣接ノードを選択する。
そして、ノードxから各隣接ノードまでの経路を最短経路の候補として扱う。なお、隣接するノード以外のノードまでの距離は無限大とする。この最短経路の候補があるかどうかを判断する(ステップS11)。
図12は、図11のステップS11の処理を模式化した図である。
図12に示すように、ノード200−1に隣接する隣接ノードが、ノード200−2〜200−4の3つある場合、ノード200−1からノード200−2〜200−4までの経路を最短経路の候補として選択する。
以降の処理を、最短経路の候補が存在する間、続ける。
続いて、選択された複数のノード(ノード200−2〜200−4)のうち、ノードx(ノード200−1)からの距離が最短であるものを選択する(ステップS12)。各ノードは、それまで発見された最短経路の距離を記録している。その距離の初期値は無限大であるが、経路が発見されたことで、暫定的な距離(暫定最短距離)に書き換える。図12に示した例では、ノード200−1からノード200−2までの距離が「2」である。また、ノード200−1からノード200−3までの距離が「5」である。また、ノード200−1からノード200−4までの距離が「5」である。したがって、ノード200−1からの距離が最も短いノード200−2を選択し、ノード200−1からノード200−2への経路を最短経路の候補経路とする。
図13は、ノード200−1からの最短経路の一部としてノード200−2を選択した処理を模式化した図である。
図13に示すように、ノード200−1からの距離が最も短いノード200−2を選択する。
ここで、ノード200−1からノード200−2までの経路が、選択された時点でわかっている経路のうちで距離が最短の経路であれば、当該経路をノード200−2までの最短経路(候補経路)、すなわち計算結果とする。
すると、選択された候補の終点ノード(この場合、ノード200−2)を起点とする最短経路(最短経路ツリーSe)がすでに計算されているかどうかを判断する(ステップS13)。この判断は、記憶部103に当該最短経路ツリーSeが記憶されているかどうかを判断することによる。ここで、この記憶部103に記憶されている最短経路を記憶経路ツリーとする。
最短経路ツリーSeがすでに計算されていると判断した場合、最短経路が計算されていないすべてのノードを終点とする経路のうち、最短経路ツリーSeを経由する距離を計測する(ステップS14)。ここで、図13におけるノード200−3やノード200−4のように、ノード200−1からの最短経路が計算されていないノードまで、ノード200−1からノード200−2までの最短経路とノード200−2から各ノードまでの最短経路を経由する経路に着目する。そして、この経路がそれまでに見つかっている各ノードまでの経路の中で距離が最短であるならば、その経路を各ノードまでの暫定最短経路とする。
図14は、すでに計算されている最短経路ツリーSeが存在する場合の処理を模式化した図である。
例えば、図14に示すように、ノード200−2起点の最短経路ツリーが存在する場合、ノード200−2からノード200−3までの距離を計測する。図14に示した例では、ノード200−2からノード200−3までの距離は「1」と計測される。
続いて、計測した経路の距離と、ノード200−3に記録されている他の経路ツリー経由の暫定最短経路の距離とを比較する(ステップS15)。
計測した距離がノード200−3に記録されている他の経路ツリー経由の暫定最短経路の距離よりも短い場合、ノード200−3への経路として最短経路ツリーSe経由の経路を採用し、ノード200−3への経路の距離を最短経路ツリーSe経由の距離に更新する(ステップS16)。
図14に示した例では、他の経路ツリー経由の暫定最短経路の距離が「5」であり、ノード200−2を経由した最短経路ツリーSe経由の距離が「2+1=3」である。そのため、ノード200−1からノード200−3までの経路の距離は、ノード200−2を経由した方が距離(2+1=3)が短いため、当該距離をノード200−2を経由した経路の距離「3」に更新する。
その後、ステップS11にてさらに最短経路の候補があるかどうかを判断する。
一方、ステップS13にて、最短経路ツリーSeがすでに計算されていないと判断した場合、選択したノードの隣接ノードおよび隣接ノードまでのリンクを検索する(ステップS17)。
続いて、検索されたノードそれぞれを終点とするステップS12で選択された候補の終点ノード(この場合、ノード200−2)経由の距離(検索距離)と、検索されたノードに対応付けられている距離の記録値(検索された時点で見つかっているほかの経路の距離:記録距離)とを比較する(ステップS18)。
選択されたノード経由の距離が、記録された距離よりも短い場合、選択されたノード経由の距離の経路を検索されたノードまでの最短経路の候補として扱う(ステップS19)。
図15は、図11に示したステップS17〜S19までの処理を説明するための図である。
図15に示すように、ノード200−8までの最短経路が計算されると、ノード200−1とノード200−8との間の最短経路を経由し、ノード200−8に隣接するノードまで結ぶ1ホップリンクを経由して隣接するノードに達する経路を検索する。検索した経路の距離が、隣接するノードの暫定最短経路の距離よりも短ければ、検索した経路を経路の終点までの最短経路の候補として扱う。
このように、最短経路の候補として扱う経路をノード200−1からの最短経路の一部として決定する。
以上の処理を最短経路の候補がなくなるまで繰り返す。
なお、上述した計算装置100の処理は、目的に応じて作製された論理回路で行うようにしても良い。また、処理内容を手順として記述したプログラムを計算装置100にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを計算装置100に読み込ませ、実行するものであっても良い。計算装置100にて読取可能な記録媒体とは、フロッピーディスク(登録商標)、光磁気ディスク、DVD、CDなどの移設可能な記録媒体の他、計算装置100に内蔵されたROM、RAM等のメモリやHDD等を指す。この記録媒体に記録されたプログラムは、計算装置100内の制御部102にて読み込まれ、制御部102の制御によって、上述したものと同様の処理が行われる。ここで、制御部102は、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。
(第実施形態の効果)
以上説明したように本実施形態においては、複数のノードがリンクによって接続されたネットワークにおいて、ノードまたはリンクが追加または削除された場合に、複数のノードのうち2つのノード間の最短の通信経路である最短経路を計算する際、複数のノードのうち通信経路の起点となる起点ノードと起点ノードに隣接する隣接ノードとの間の第1の通信経路の距離と、第1の通信経路以外に計算済みである第2の通信経路の距離とを比較し、第1の通信経路の距離が第2の通信経路の距離よりも短い場合、第1の通信経路を最短経路として扱い、第1の通信経路の距離が第2の通信経路の距離よりも短くない場合、第2の通信経路を最短経路として扱い、隣接ノードを起点ノードとして比較をさらに行っていく構成としたため、リンクを新規に追加、もしくは削除することによりトポロジが変化した場合においても、最短経路を計算することができる。
すなわち、本実施形態を用いることによって、リンクを新規に追加、もしくは削除することによりトポロジが変化した場合であっても、最短経路を計算することが可能となる。また、非特許文献2に記載された技術と同様に、すでに計算されている経路情報を用いて最短経路を計算するため、非特許文献1に記載された技術に比べて、経路の計算時間が短縮される。
10 外部インタフェース
20 プロセッサ
21 経路計算部
22 情報管理部
30 記憶媒体
100 計算装置
101 外部インタフェース部
102 制御部
103 記憶部
200−1〜200−8 ノード

Claims (3)

  1. 複数のノードがリンクによって接続されたネットワークにおいて、前記複数のノードのうち2つのノード間の最短の通信経路である最短経路をコンピュータが計算する経路計算方法であって、
    前記コンピュータは、制御部と前記ノード間の最短経路の候補からなる最短経路ツリーを含む情報を記憶する記憶部とを有しており、
    前記制御部は、
    前記複数のノードのうち通信経路の起点となる起点ノードと該起点ノードに隣接する隣接ノードの中から距離が最短な隣接ノードを選択し、前記選択した隣接ノードを起点とし前記選択した隣接ノード以外の他の隣接ノードまでの最短経路ツリーが前記記憶部に記憶されているか否かを判定する判定処理と、
    前記選択した隣接ノードを起点とし前記選択した隣接ノード以外の他の隣接ノードまでの最短経路ツリーが前記記憶部に記憶されている場合に、前記起点ノードから前記選択した隣接ノード以外の他の隣接ノードまでの第1の通信経路の距離と、前記選択した隣接ノードを起点とする最短経路ツリーに示される通信経路を経由した前記起点ノードから前記選択した隣接ノード以外の他の隣接ノードまでの第2の通信経路の距離とを比較する比較処理と、
    前記第1の通信経路の距離が前記第2の通信経路の距離よりも短い場合、前記第1の通信経路を前記最短経路として前記記憶部に記録する記録処理とを実行し、
    該隣接ノードを新たな起点ノードとして前記判定処理をさらに実行することを特徴とする経路計算方法。
  2. 複数のノードがリンクによって接続されたネットワークにおいて、前記複数のノードのうち2つのノード間の最短の通信経路である最短経路の計算をコンピュータに実行させるためのプログラムであって、
    前記コンピュータは、制御部と前記ノード間の最短経路の候補からなる最短経路ツリーを含む情報を記憶する記憶部とを有しており、
    前記コンピュータの前記制御部に、
    前記複数のノードのうち通信経路の起点となる起点ノードと該起点ノードに隣接する隣接ノードの中から距離が最短な隣接ノードを選択し、前記選択した隣接ノードを起点とし前記選択した隣接ノード以外の他の隣接ノードまでの最短経路ツリーが前記記憶部に記憶されているか否かを判定する判定手順と、
    前記選択した隣接ノードを起点とし前記選択した隣接ノード以外の他の隣接ノードまでの最短経路ツリーが前記記憶部に記憶されている場合に、前記起点ノードから前記選択した隣接ノード以外の他の隣接ノードまでの第1の通信経路の距離と、前記選択した隣接ノードを起点とする最短経路ツリーに示される通信経路を経由した前記起点ノードから前記選択した隣接ノード以外の他の隣接ノードまでの第2の通信経路の距離とを比較する比較手順と、
    前記第1の通信経路の距離が前記第2の通信経路の距離よりも短い場合、前記第1の通信経路を前記最短経路として前記記憶部に記録する記録手順とを実行させ、
    該隣接ノードを新たな起点ノードとして前記判定手順をさらに実行させるためのプログラム。
  3. 複数のノードがリンクによって接続されたネットワークにおいて、前記複数のノードのうち2つのノード間の最短の通信経路である最短経路を計算する計算装置であって、
    前記ノード間の最短経路の候補からなる最短経路ツリーを含む情報を記憶する記憶部と、
    前記複数のノードのうち通信経路の起点となる起点ノードと該起点ノードに隣接する隣接ノードの中から距離が最短な隣接ノードを選択し、前記選択した隣接ノードを起点とし前記選択した隣接ノード以外の他の隣接ノードまでの最短経路ツリーが前記記憶部に記憶されているか否かを判定する判定処理部と、前記選択した隣接ノードを起点とし前記選択した隣接ノード以外の他の隣接ノードまでの最短経路ツリーが前記記憶部に記憶されている場合に、前記起点ノードから前記選択した隣接ノード以外の他の隣接ノードまでの第1の通信経路の距離と、前記選択した隣接ノードを起点とする最短経路ツリーに示される通信経路を経由した前記起点ノードから前記選択した隣接ノード以外の他の隣接ノードまでの第2の通信経路の距離とを比較する比較処理部と、前記第1の通信経路の距離が前記第2の通信経路の距離よりも短い場合、前記第1の通信経路を前記最短経路として前記記憶部に記録する記録処理部とを有する制御部とを備え、
    前記判定処理部は、該隣接ノードを新たな起点ノードとしてさらに処理を実行することを特徴とする計算装置。
JP2012217902A 2008-11-19 2012-09-28 経路計算方法、プログラムおよび計算装置 Active JP5391322B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012217902A JP5391322B2 (ja) 2008-11-19 2012-09-28 経路計算方法、プログラムおよび計算装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2008295458 2008-11-19
JP2008295458 2008-11-19
JP2008297983 2008-11-21
JP2008297983 2008-11-21
JP2012217902A JP5391322B2 (ja) 2008-11-19 2012-09-28 経路計算方法、プログラムおよび計算装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010539241A Division JP5140161B2 (ja) 2008-11-19 2009-11-18 計算装置、経路計算方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2012257336A JP2012257336A (ja) 2012-12-27
JP5391322B2 true JP5391322B2 (ja) 2014-01-15

Family

ID=42198236

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010539241A Expired - Fee Related JP5140161B2 (ja) 2008-11-19 2009-11-18 計算装置、経路計算方法、およびプログラム
JP2012217902A Active JP5391322B2 (ja) 2008-11-19 2012-09-28 経路計算方法、プログラムおよび計算装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2010539241A Expired - Fee Related JP5140161B2 (ja) 2008-11-19 2009-11-18 計算装置、経路計算方法、およびプログラム

Country Status (6)

Country Link
US (2) US9215163B2 (ja)
EP (2) EP2352263B1 (ja)
JP (2) JP5140161B2 (ja)
CN (2) CN102210127B (ja)
CA (2) CA2743929C (ja)
WO (1) WO2010058797A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5001996B2 (ja) * 2009-11-12 2012-08-15 日本電信電話株式会社 経路計算装置、経路計算方法およびプログラム
JP5210403B2 (ja) * 2011-02-18 2013-06-12 日本電信電話株式会社 経路決定方法および経路決定装置
CN104641604B (zh) * 2013-04-08 2017-12-15 华为技术有限公司 确定最短路径的方法及装置
CN104753694B (zh) * 2013-12-25 2018-06-26 中国移动通信集团河北有限公司 一种光缆自动化路由选择的方法和装置
CN106933910A (zh) * 2015-12-31 2017-07-07 北京国双科技有限公司 最短路径识别方法及装置
US10069736B2 (en) * 2016-05-02 2018-09-04 Cisco Technology, Inc. Optimized in-network retransmission for information-centric networking protocols
CN108573001B (zh) * 2017-03-14 2021-11-30 华为技术有限公司 用于确定最短路径距离的方法和装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4987536A (en) * 1988-05-12 1991-01-22 Codex Corporation Communication system for sending an identical routing tree to all connected nodes to establish a shortest route and transmitting messages thereafter
EP0423053B1 (en) * 1989-10-13 1996-03-13 International Business Machines Corporation Method of using cached partial trees in computing a path in a data communication network
US5561790A (en) * 1992-03-24 1996-10-01 International Business Machines Corporation Shortest path determination processes for use in modeling systems and communications networks
US6098107A (en) * 1997-10-31 2000-08-01 Lucent Technologies Inc. Dynamic algorithms for shortest path tree computation
US6646989B1 (en) * 1998-06-29 2003-11-11 Lucent Technologies Inc. Hop-by-hop routing with node-dependent topology information
US6704320B1 (en) * 1999-03-24 2004-03-09 Lucent Technologies Inc. Dynamic algorithm for determining a shortest path tree between network nodes
US7158486B2 (en) * 2001-03-12 2007-01-02 Opcoast Llc Method and system for fast computation of routes under multiple network states with communication continuation
JP4451027B2 (ja) * 2001-07-11 2010-04-14 富士通株式会社 複数経路探索方法及びこれを適用するネットワーク装置
JP3997847B2 (ja) * 2002-06-17 2007-10-24 日本電気株式会社 最適経路計算方法、及び最適経路計算プログラム
US7257086B2 (en) * 2002-08-27 2007-08-14 Terabeam Corporation Method and system for effectuating network routing over primary and backup channels
US7280481B2 (en) * 2002-10-10 2007-10-09 Guangyi David Rong Shortest path search method “Midway”
CN1310482C (zh) * 2003-01-27 2007-04-11 华为技术有限公司 一种建立最短路径树的方法
WO2005036839A2 (en) * 2003-10-03 2005-04-21 Avici Systems, Inc. Rapid alternate paths for network destinations
US7554921B2 (en) * 2003-10-14 2009-06-30 Cisco Technology, Inc. Method and apparatus for generating routing information in a data communication network
US7580360B2 (en) * 2003-10-14 2009-08-25 Cisco Technology, Inc. Method and apparatus for generating routing information in a data communications network
JP4128944B2 (ja) * 2003-11-27 2008-07-30 日本電信電話株式会社 マルチキャスト転送経路設定方法、マルチキャスト転送経路計算装置、プログラムおよび記録媒体
JP4180522B2 (ja) * 2004-01-09 2008-11-12 日本電信電話株式会社 マルチキャスト転送経路計算方法および装置
DE102004003547B3 (de) * 2004-01-23 2005-06-30 Siemens Ag Hinsichtlich der Netzauslastung optimiertes Shortest Path Routing
JP2005333238A (ja) * 2004-05-18 2005-12-02 Oki Electric Ind Co Ltd 経路管理装置
JP4536690B2 (ja) * 2006-08-28 2010-09-01 日本電信電話株式会社 経路計算方法及び装置及びプログラム
CN100518382C (zh) * 2007-08-02 2009-07-22 中兴通讯股份有限公司 自动交换光网络中多约束条件下最短路径查找方法及装置
US8243604B2 (en) * 2007-08-16 2012-08-14 Cisco Technology, Inc. Fast computation of alterative packet routes
US8040906B2 (en) * 2009-06-23 2011-10-18 Nortel Networks Limited Utilizing betweenness to determine forwarding state in a routed network

Also Published As

Publication number Publication date
EP2352263A4 (en) 2012-04-25
EP2352263B1 (en) 2013-09-25
CA2743929C (en) 2016-01-19
EP2590373B1 (en) 2014-12-31
EP2352263A1 (en) 2011-08-03
WO2010058797A1 (ja) 2010-05-27
US9215163B2 (en) 2015-12-15
US20110222437A1 (en) 2011-09-15
JP5140161B2 (ja) 2013-02-06
CN102210127B (zh) 2014-12-31
EP2590373A1 (en) 2013-05-08
JP2012257336A (ja) 2012-12-27
CN103647713A (zh) 2014-03-19
CA2857285A1 (en) 2010-05-27
CA2743929A1 (en) 2010-05-27
CN103647713B (zh) 2017-04-12
JPWO2010058797A1 (ja) 2012-04-19
US20140098709A1 (en) 2014-04-10
CN102210127A (zh) 2011-10-05

Similar Documents

Publication Publication Date Title
JP5391322B2 (ja) 経路計算方法、プログラムおよび計算装置
US10404576B2 (en) Constrained shortest path determination in a network
JP2011007713A (ja) 多点対間最短経路探索方法およびシステム
JP5532347B2 (ja) 経路設定サーバ、経路設定方法、及び経路設定プログラム
JP5108956B2 (ja) 経路計算順決定方法、プログラムおよび計算装置
JP5682620B2 (ja) 経路選択方法、情報処理装置、ネットワークシステムおよび経路選択プログラム
JP7322951B2 (ja) 経路制御装置、経路制御方法、プログラム、および、ネットワークシステム
JP2012015837A (ja) 経路計算装置、データ転送装置、経路計算方法、データ転送方法およびプログラム
JP4724219B2 (ja) 最短経路計算装置、最短経路計算方法、およびプログラム
JP2010286978A (ja) 経路探索方法、装置及びプログラム
JP5459791B2 (ja) 配信経路決定装置及び方法
JP5001996B2 (ja) 経路計算装置、経路計算方法およびプログラム
JP5506538B2 (ja) 経路計算方法及び装置及びプログラム
JP6390091B2 (ja) トンネル管理装置、通信制御装置、トンネル管理方法及びトンネル管理プログラム
JP2012015588A (ja) 経路計算装置、データ転送装置、経路計算方法、データ転送方法およびプログラム
JP5210403B2 (ja) 経路決定方法および経路決定装置
JP2011103625A (ja) ネクストホップ検索装置、ネクストホップ検索方法およびプログラム
JP2015165638A (ja) 経路設定方法および経路設定装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120928

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130827

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: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131011

R150 Certificate of patent or registration of utility model

Ref document number: 5391322

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350