(57)【要約】【課題】ネットワークシステム及びルーティング方法を開示する。【解決手段】コントローラが識別情報を受信してネットワークトポロジーを構築して、接続ポートの支援速度を受信し、コントローラが接続ポートの流量を監視・制御し、コントローラがルーティング計画要求を受信し、ルーティング計画要求を受信した後、コントローラが接続ポートの流量及び接続ポートの支援速度に基づいて、それぞれリンクのリンクコストを算出し、コントローラが前記ルーティング計画要求及びネットワークトポロジーに基づいて、送信元・宛先ペアの複数の予備伝送経路を見つけ出し、コントローラが予備伝送経路の経由するリンクのリンクコストを合計して、それぞれ予備伝送経路のリンクコストの総和を算出し、送信元・宛先ペアのパケット伝送経路として、コントローラが予備伝送経路におけるリンクコストの総和最小となるものを選択する。【選択図】図２
2014103656.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードと、コントローラと、を備え、前記複数のノードのいずれも少なくとも１つの接続ポートを含み、前記複数のノードにおける隣接する両者が前記複数のノードの前記少なくとも１つの接続ポートを介して複数のリンクを形成するネットワークシステムに適用されるルーティング方法であって、
前記複数のノードが識別情報及び前記複数のノードの前記少なくとも１つの接続ポートの支援速度を前記コントローラに伝送するステップと、
前記コントローラが前記識別情報を受信してネットワークトポロジーを構築し、また、前記複数のノードの前記少なくとも１つの接続ポートの支援速度を受信するステップと、
前記コントローラが前記複数のノードの前記少なくとも１つの接続ポートの流量を監視・制御するステップと、
前記コントローラがルーティング計画要求を受信するステップと、
前記ルーティング計画要求を受信した後、前記コントローラが前記複数のノードの前記少なくとも１つの接続ポートの前記流量及び前記複数のノードの前記少なくとも１つの接続ポートの前記支援速度に基づいて、前記複数のリンクの各々のリンクコストを算出するステップと、
前記コントローラが前記ルーティング計画要求及び前記ネットワークトポロジーに基づいて、送信元・宛先ペアの複数の予備伝送経路を見つけ出すステップと、
前記コントローラが前記複数の予備伝送経路の経由するリンクのリンクコストを合計して、前記複数の予備伝送経路の各々のリンクコストの総和を算出するステップと、
前記送信元・宛先ペアのパケット伝送経路として、前記コントローラが前記複数の予備伝送経路におけるリンクコストの総和最小となるものを選択するステップと、
を備えるルーティング方法。
【請求項２】
前記複数のノードの前記少なくとも１つの接続ポートの前記流量を監視・制御するステップは、
前記コントローラが第１時点で前記複数のノードの前記少なくとも１つの接続ポートの第１累計流量を受信するステップと、
前記コントローラが第２時点で前記複数のノードの前記少なくとも１つの接続ポートの第２累計流量を受信するステップと、
を含む請求項１に記載のルーティング方法。
【請求項３】
前記複数のリンクの各々の前記リンクコストを算出するステップは、
前記コントローラがそれぞれ前記第１、第２累計流量の差を前記第１、第２時点の差で除算して、前記複数のノードの前記少なくとも１つの接続ポートの平均流量を求めるステップと、
前記コントローラがそれぞれ前記複数のノードの前記少なくとも１つの接続ポートの前記支援速度から前記複数のノードの前記少なくとも１つの接続ポートの前記平均流量を減算して、前記複数のノードの前記少なくとも１つの接続ポートの残留流量を求めるステップと、
前記コントローラがそれぞれ前記複数のノードの前記少なくとも１つの接続ポートの前記残留流量を前記複数のノードの前記少なくとも１つの接続ポートの前記支援速度で除算して、前記複数のノードの前記少なくとも１つのノードの接続ポートに対応するリンクのリンクコストを求めるステップと、
を含む請求項２に記載のルーティング方法。
【請求項４】
前記送信元・宛先ペアの前記パケット伝送経路として、前記コントローラが前記複数の予備伝送経路におけるリンクコストの総和最小となるものを選択するステップは、
前記コントローラが前記複数の予備伝送経路におけるリンクコストの総和が最も小さいものに基づいて、少なくとも１つのパケット転送ルールを、前記複数の予備伝送経路の各々におけるリンクコストの総和最小となるものの経由するノードの転送表に書き込むステップ、
を更に含む請求項１に記載のルーティング方法。
【請求項５】
前記コントローラが前記少なくとも１つのパケット転送ルールの失効時間を設定して、前記送信元・宛先ペアの前記パケット伝送経路を時間に伴って更新するステップ、
を更に備える請求項４に記載のルーティング方法。
【請求項６】
いずれも少なくとも１つの接続ポートを含む複数のノードであって、前記複数のノード中の隣接する両者がその前記少なくとも１つの接続ポートを介して複数のリンクを形成しており、それぞれ識別情報及び前記複数のノードの前記少なくとも１つの接続ポートの支援速度をコントローラに出力することに用いられる前記複数のノードと、
前記識別情報を受信してネットワークトポロジーを構築し、また、前記複数のノードの前記少なくとも１つの接続ポートの前記支援速度を受信し、前記接続ポートの一流量を監視・制御し、ルーティング計画要求を受信し、前記ルーティング計画要求を受信した後、前記複数のノードの前記少なくとも１つの接続ポートの前記流量及び前記複数のノードの前記少なくとも１つの接続ポートの前記支援速度に基づいて、前記複数のリンクの各々のリンクコストを算出し、前記ルーティング計画要求及び前記ネットワークトポロジーに基づいて、送信元・宛先ペアの複数の予備伝送経路を見つけ出し、前記複数の予備伝送経路の経由するリンクのリンクコストを合計して、前記複数の予備伝送経路の各々のリンクコストの総和を算出し、また前記送信元・宛先ペアのパケット伝送経路として、前記複数の予備伝送経路におけるリンクコストの総和最小となるものを選択することに用いられる前記コントローラと、
を備えるネットワークシステム。
【請求項７】
前記コントローラは、更に、第１時点で前記複数のノードの前記少なくとも１つの接続ポートの第１累計流量を受信し、第２時点で前記複数のノードの前記少なくとも１つの接続ポートの第２累計流量を受信し、それぞれ前記第１、第２累計流量の差を前記第１、第２時点の差で除算して、前記複数のノードの前記少なくとも１つの接続ポートの平均流量を求めることに用いられる請求項６に記載のネットワークシステム。
【請求項８】
前記コントローラは、更に、それぞれ前記複数のノードの前記少なくとも１つの接続ポートの前記支援速度から前記複数のノードの前記少なくとも１つの接続ポートの前記平均流量を減算して、前記接続ポートの残留流量を求め、それぞれ前記複数のノードの前記少なくとも１つの接続ポートの前記残留流量を前記複数のノードの前記少なくとも１つの接続ポートの前記支援速度で除算して、前記複数のノードの前記少なくとも１つの接続ポートに対応するリンクのリンクコストを求めることに用いられる請求項７に記載のネットワークシステム。
【請求項９】
前記コントローラは、更に、前記複数の予備伝送経路におけるリンクコストの総和が最も小さいものに基づいて、少なくとも１つのパケット転送ルールを、前記複数の予備伝送経路の各々におけるリンクコストの総和最小となるものの経由するノードの転送表に書き込むことに用いられる請求項６に記載のネットワークシステム。
【請求項１０】
前記コントローラは、更に、前記少なくとも１つのパケット転送ルールの失効時間を設定して、前記送信元・宛先ペアの前記パケット伝送経路を時間に伴って更新することに用いられる請求項９に記載のネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、電子システム及びルーティング方法に関し、特に、ネットワークシステム及びルーティング方法に関する。
【背景技術】
【０００２】
情報科学技術の急速な進展につれて、例えば、ローカルエリアネットワーク、インターネット、データセンターネットワーク等のような様々な形態のネットワークが、人間の生活に広く適用されていた。
【０００３】
一般的には、ネットワークは、例えば、スイッチ又はルータのような複数のノードを備える。これらのノードは、一般に、転送表を有し、それぞれの転送表により、パケットを受信する際にパケットのヘッダを照合して、他のノードに転送する。転送表は、ネットワーク管理者によって手動で設置されてもよいし、所定のアルゴリズムを実行することで設置されてもよい。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従って、如何にルーティング計画方法を設計して、ネットワークにおけるノードの転送表を適切に設置することで、ネットワークの渋滞を避け、またネットワークの信頼性が向上するかは、昔からネットワーク技術における重要な議題とされている。
【課題を解決するための手段】
【０００５】
本発明の一態様は、ルーティング方法である。このルーティング方法は、コントローラによって、ネットワークにおける各ノード（例えば、スイッチ又はルータ）の接続ポートの流量及び支援速度を収集し、これらの接続ポートの流量及び支援速度に基づいて、送信元・宛先ペア（ｓｏｕｒｃｅ−ｄｅｓｔｉｎａｔｉｏｎ  ｐａｉｒ）の伝送経路を計画する。
【０００６】
本発明の一実施例によると、ルーティング方法は、複数のノードと、コントローラと、を備え、前記複数のノードのいずれも少なくとも１つの接続ポートを含み、前記ノードにおける近隣の両者が前記接続ポートを介して複数のリンクを形成するネットワークシステムに適用されるルーティング方法であって、前記ノードが識別情報及び前記ノードの前記接続ポートの支援速度を前記コントローラに伝送するステップと、前記コントローラが前記識別情報を受信してネットワークトポロジーを構築し、また、前記ノードの前記接続ポートの支援速度を受信するステップと、前記コントローラが前記ノードの前記接続ポートの流量を監視・制御するステップと、前記コントローラがルーティング計画要求を受信するステップと、前記ルーティング計画要求を受信した後、前記コントローラが前記ノードの前記接続ポートの前記流量及び前記ノードの前記接続ポートの前記支援速度に基づいて、それぞれ前記リンクのリンクコストを算出するステップと、前記コントローラが前記ルーティング計画要求及び前記ネットワークトポロジーに基づいて、送信元・宛先ペアの複数の予備伝送経路を見つけ出すステップと、前記コントローラが前記予備伝送経路の経由する前記リンクの前記リンクコストを合計して、それぞれ前記予備伝送経路のリンクコストの総和を算出するステップと、前記送信元・宛先ペアのパケット伝送経路として、前記コントローラが前記予備伝送経路におけるリンクコストの総和最小となるものを選択するステップと、を備える。
【０００７】
本発明の一実施例によると、前記ノードの前記接続ポートの前記流量を監視・制御するステップは、前記コントローラが第１時点で前記ノードの前記接続ポートの第１累計流量を受信するステップと、前記コントローラが第２時点で前記ノードの前記接続ポートの第２累計流量を受信するステップと、を含む。
【０００８】
本発明の一実施例によると、それぞれ前記リンクの前記リンクコストを算出するステップは、前記コントローラがそれぞれ前記第１、第２累計流量の差を前記第１、第２時点の差で割って、前記ノードの前記接続ポートの平均流量を求めるステップと、前記コントローラがそれぞれ前記ノードの前記接続ポートの前記支援速度から前記ノードの前記接続ポートの前記平均流量を引いて、前記ノードの前記接続ポートの残留流量を求めるステップと、前記コントローラがそれぞれ前記ノードの前記接続ポートの前記残留流量を前記ノードの前記接続ポートの前記支援速度で割って、前記ノードの前記接続ポートに対応する前記リンクの前記リンクコストを求めるステップと、を含む。
【０００９】
本発明の一実施例によると、前記送信元・宛先ペアの前記パケット伝送経路として、前記コントローラが前記予備伝送経路におけるリンクコストの総和最小となるものを選択するステップは、前記コントローラが前記予備伝送経路におけるリンクコストの総和が最も小さいものに基づいて、少なくとも１つのパケット転送ルールを、それぞれ前記予備伝送経路におけるリンクコストの総和最小となるものの経由するノードの転送表に書き込むステップを更に含む。
【００１０】
本発明の一実施例によると、ルーティング方法は、前記コントローラが前記少なくとも１つのパケット転送ルールの失効時間を設定して、前記送信元・宛先ペアの前記パケット伝送経路を時間に伴って更新するステップを更に備える。
【００１１】
本発明の一態様は、コントローラによりネットワークシステムにおける各ノードの接続ポートの流量及び支援速度を収集し、これらの接続ポートの流量及び支援速度に基づいて、送信元・宛先ペアの伝送経路を計画することができるネットワークシステムである。
【００１２】
本発明の一実施例によると、前記ネットワークシステムは、複数のノードと、コントローラと、を備える。前記複数のノードのいずれも、少なくとも１つの接続ポートを含み、前記ノードにおける近隣の両者が前記接続ポートを介して複数のリンクを形成する。前記ノードは、それぞれ識別情報及び前記ノードの前記接続ポートの支援速度を前記コントローラに出力することに用いられる。前記コントローラは、前記識別情報を受信してネットワークトポロジーを構築し、また、前記ノードの前記接続ポートの前記支援速度を受信し、前記接続ポートの流量を監視・制御し、ルーティング計画要求を受信することに用いられる。前記ルーティング計画要求を受信した後、前記コントローラは、前記ノードの前記接続ポートの前記流量及び前記ノードの前記接続ポートの前記支援速度に基づいて、それぞれ前記リンクのリンクコストを算出し、前記ルーティング計画要求及び前記ネットワークトポロジーに基づいて、送信元・宛先ペアの複数の予備伝送経路を見つけ出し、前記予備伝送経路の経由する前記リンクの前記リンクコストを合計して、それぞれ前記予備伝送経路のリンクコストの総和を算出して、前記送信元・宛先ペアのパケット伝送経路として、前記予備伝送経路におけるリンクコストの総和最小となるものを選択する。
【００１３】
本発明の一実施例によると、前記コントローラは、更に、第１時点で前記ノードの前記接続ポートの第１累計流量を受信し、第２時点で前記ノードの前記接続ポートの第２累計流量を受信し、それぞれ前記第１、第２累計流量の差を前記第１、第２時点の差で割って、前記ノードの前記接続ポートの平均流量を求めることに用いられる。
【００１４】
本発明の一実施例によると、前記コントローラは、更に、それぞれ前記ノードの前記接続ポートの前記支援速度から前記ノードの前記接続ポートの前記平均流量を引いて、前記接続ポートの残留流量を求め、それぞれ前記ノードの前記残留流量を前記ノードの前記接続ポートの前記接続ポートの前記支援速度で割って、これらのノードの接続ポートに対応する前記リンクの前記リンクコストを求めることに用いられる。
【００１５】
本発明の一実施例によると、前記コントローラは、更に、前記予備伝送経路におけるリンクコストの総和が最も小さいものに基づいて、少なくとも１つのパケット転送ルールを、それぞれ前記予備伝送経路におけるリンクコストの総和最小となるものの経由するノードの転送表に書き込むこと用いられる。
【００１６】
本発明の一実施例によると、前記コントローラは、更に、前記少なくとも１つのパケット転送ルールの失効時間を設定して、前記送信元・宛先ペアの前記パケット伝送経路を時間に伴って更新することに用いられる。
【発明の効果】
【００１７】
以上をまとめると、上記実施例を適用することで、コントローラは、ネットワークにおいて各ノードの間のリンクの流量及び各接続ポートの支援速度に基づいて、各リンクのリンクコストを算出し、各リンクのリンクコストに基づいて送信元・宛先ペアの伝送経路を計画して、この送信元・宛先ペアのパケットをリンクコストの総和最小となる予備伝送経路を介して伝送して、ネットワークにおける流量負荷を均衡させ、ネットワークの渋滞を避け、ネットワークの信頼性を向上させることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施例によるネットワークシステムを示す模式図である。
【図２】本発明の一実施例によるルーティング方法を示すフロー図である。
【発明を実施するための形態】
【００１９】
以下、図面及び詳細な記述によって、本開示内容の精神を明らかに説明するが、当業者であれば、本開示内容の好適な実施例を理解する上で、本開示内容の教示した技術によって、本発明の精神と範囲から逸脱せずに、変更や修正を加えることができる。
【００２０】
本文で使用する「第１」、「第２」等については、特に順番や順位を指す意味ではなく、本願を限定するためのものでもなく、ただ同じ技術用語で叙述された素子や操作を区別するためのものである。
【００２１】
本発明の一実施態様は、ネットワークシステムである。このネットワークシステムは、コントローラによりネットワークシステムにおける各ノード（例えば、スイッチ又はルータ）の接続ポートの流量及び支援速度を収集し、これらの接続ポートの流量及び支援速度に基づいて、送信元・宛先ペア（ｓｏｕｒｃｅ−ｄｅｓｔｉｎａｔｉｏｎ  ｐａｉｒ）の伝送経路を計画することができる。
【００２２】
図１は、本発明の一実施例によるネットワークシステム１０を示す模式図である。ネットワークシステム１０は、コントローラ１００と、Ｎ１−Ｎ５のような複数のノードと、を備える。各ノードＮ１−Ｎ５は、少なくとも１つの接続ポートを含む。例えば、ノードＮ１が接続ポートＰ１１、Ｐ１２を含み、ノードＮ２が接続ポートＰ２１、Ｐ２２を含む等である。コントローラ１００は、それぞれ各ノードＮ１−Ｎ５に接続される。ノードＮ１−Ｎ５における近隣の両者同士は、対応する接続ポートを介してリンクを形成する。例えば、ノードＮ１及びノードＮ３が接続ポートＰ１１及びＰ３１を介してリンクＬ１を形成し、ノードＮ１及びノードＮ４が接続ポートＰ１２及びＰ４１を介してリンクＬ２を形成する等である。ここで、近隣のノードとは、単一のリンクを介して互いに接続可能な２つのノードを指す。また、上記ノードＮ１−Ｎ５は、オープンフロー（ＯｐｅｎＦｌｏｗ）レイヤー２（ｌａｙｅｒ  ２）の通信プロトコルに従う。例えば、オープンフロースイッチ又はルータであってよく、上記コントローラは、オープンフローコントローラであってよい。
【００２３】
注意すべきなのは、本実施例は、図１に示した連結方式を例として説明するが、実際にノード、ノードの接続ポートの数及び各ノードの間の接続関係は、これに限定されない。
【００２４】
本実施例において、コントローラ１００は、例えば、コンピュータである。コントローラ１００は、命令を出して、ノードＮ１−Ｎ５にそれぞれ識別情報及びノードＮ１−Ｎ５の接続ポートＰ１１−Ｐ５２の支援速度をコントローラ１００に出力させることができる。次に、コントローラ１００は、これらの識別情報を受信してネットワークシステム１０に対応するネットワークトポロジーを構築し、また、各ノードＮ１−Ｎ５の接続ポートＰ１１−Ｐ５２の支援速度を受信することができる。ネットワークトポロジーとは、ノードＮ１−Ｎ５の間の接続関係を意味してよい。実施上、コントローラ１００は、ノードＮ１−Ｎ５にその近隣のノードＮ１−Ｎ５へリンクレイヤ検出プロトコル（ｌｉｎｋ  ｌａｙｅｒ  ｄｉｓｃｏｖｅｒｙ  ｐｒｏｔｏｃｏｌ；ＬＬＤＰ）パケットを伝送させ、近隣のノードＮ１−Ｎ５同士に識別情報を交換させることができ、その後、またノードＮ１−Ｎ５に命令を送信して近隣のノードＮ１−Ｎ５の識別情報を返送させることができる。これにより、コントローラ１００は、これらの識別情報によって、ネットワークシステム１０に対応するネットワークトポロジーを得ることができる。一方、コントローラ１００は、ノードＮ１−Ｎ５に命令を送信することで、ノードＮ１−Ｎ５にそれぞれの接続ポートＰ１１−Ｐ５２の支援速度を返送させることもできる。
【００２５】
また、コントローラ１００は、接続ポートＰ１１−Ｐ５２の流量を監視・制御することに用いられることができ、例えば、ノードＮ１−Ｎ５に定期的に命令を送信して、ノードＮ１−Ｎ５にその接続ポートＰ１１−Ｐ５２の流量をコントローラ１００に伝送させることができる。
【００２６】
上記した接続ポートＰ１１−Ｐ５２の支援速度の受信、及び接続ポートＰ１１−Ｐ５２の流量の定期的な収集によって、１つのルーティング計画要求を受信した後、コントローラ１００は、接続ポートＰ１１−Ｐ５２の支援速度及びその流量に基づいて、それぞれリンクＬ１−Ｌ６のリンクコストを算出することができる。例えば、コントローラ１００は、接続ポートＰ１１−Ｐ５２の支援速度及びその流量に基づいて、対応するリンクＬ１−Ｌ６の渋滞程度を判断し、また、これによりリンクコストを算出することができる。
【００２７】
リンクＬ１−Ｌ６のリンクコストを算出した後、コントローラ１００は、前記ルーティング計画要求及びネットワークシステム１０に対応するネットワークトポロジーに基づいて、送信元・宛先ペア（ｓｏｕｒｃｅ−ｄｅｓｔｉｎａｔｉｏｎ  ｐａｉｒ）の複数の予備伝送経路を見つけ出し、予備伝送経路の経由するリンクＬ１−Ｌ６のリンクコストを合計して、それぞれ予備伝送経路のリンクコストの総和を算出して、前記送信元・宛先ペアのパケット伝送経路として、予備伝送経路におけるリンクコストの総和最小となるものを選択するとができる。送信元・宛先ペアは、前記ルーティング計画要求に対応する。
【００２８】
例としては、送信元・宛先ペアの送信元ノードがＮ１で、目的ノードがＮ２である場合、コントローラ１００は、ネットワークシステム１０に対応するネットワークトポロジーから、Ｎ１→Ｎ３→Ｎ２、Ｎ１→Ｎ４→Ｎ２の２本の予備伝送経路をそれぞれ見つけ出し、そのリンクコストの総和を算出することができる。予備伝送経路Ｎ１→Ｎ３→Ｎ２のリンクコストの総和が予備伝送経路Ｎ１→Ｎ４→Ｎ２のより小さいと、コントローラ１００は、前記送信元・宛先ペアのパケット伝送経路として、予備伝送経路Ｎ１→Ｎ４→Ｎ２を選択する。
【００２９】
上記設置によって、コントローラ１００は、前記送信元・宛先ペアの伝送経路を計画する場合、ネットワークにおける流量負荷を均衡させ、ネットワークの渋滞を避け、ネットワークの信頼性を向上させるために、パケット伝送経路として、リンクコストの総和最小となる１本の予備伝送経路を選択することができる。
【００３０】
下記の段落で、前記流量の監視・制御及びリンクコストの算出について、更に説明する。
【００３１】
本発明の一実施例において、ノードＮ１−Ｎ５は、それぞれ統計データを保存することができる。統計データは、各ノードＮ１−Ｎ５上の各接続ポートＰ１１−Ｐ５２の累計流量（例えば、累計伝送バイト）を含むことができる。コントローラ１００は、各ノードＮ１−Ｎ５上の各接続ポートＰ１１−Ｐ５２の累計流量を定期的に受信し、指示（例えば、ルーティング計画要求）を受信する際に各リンクＬ１−Ｌ６のリンクコストを算出することができる。つまり、コントローラ１００は、指示を受信する際に、最新に受信した累計流量と前回受信した累計流量との差を、２回受信した累計流量の時間間隔で割って、平均流量を求める。
【００３２】
接続ポートＰ１１を例にして、コントローラ１００は、第１時点（例えば、０秒目）でノードＮ１の接続ポートＰ１１的の第１累計流量を受信することができ、次に、所定の時間（例えば、３０秒）の後、第２時点（例えば、３０秒目）で再度ノードＮ１の接続ポートＰ１１の第２累計流量を受信することができる。この場合、コントローラ１００は、各リンクＬ１−Ｌ６のリンクコストを算出しようとするルーティング計画要求を受信すると、第１、第２累計流量の差を、第１、第２時点の差で割って、接続ポートＰ１１の平均流量を求めることができる。次に、コントローラ１００は、接続ポートＰ１１の支援速度から接続ポートＰ１１の平均流量を引いて、接続ポートＰ１１の残留流量を求め、また、接続ポートＰ１１の残留流量を接続ポートＰ１１の支援速度で割って、接続ポートＰ１１のリンクＬ１に対応するリンクコストを求めることができる。
【００３３】
このように、接続ポートＰ１１の支援速度が接続ポートＰ１１の平均流量よりはるかに大きい場合、リンクＬ１のリンクコストは小さいが、接続ポートＰ１１の支援速度がただ接続ポートＰ１１の平均流量よりやや大きい場合、リンクＬ１は、既に渋滞状態となり、そのリンクコストが高い。
【００３４】
同様にして、コントローラ１００は、リンクＬ１−Ｌ６のリンクコストを求めることができる。注意すべきなのは、コントローラ１００は、各ノードＮ１−Ｎ５上の各接続ポートＰ１１−Ｐ５２の累計流量の定期的な受信を続け、最新に受信した累計流量及び前回受信した累計流量に基づいて平均流量を算出するため、リンクＬ１−Ｌ６のリンクコストは、時間に伴って動的に変化することができる。
【００３５】
一方、本発明の一実施例において、ノードＮ１−Ｎ５は、それぞれゼロから複数のパケット転送ルールを保存するための１つの転送表を含むことができ、これらのパケット転送ルールによって、パケットを転送することができる。１つのパケットがノードＮ１−Ｎ５の何れかに入る場合、このノードＮ１−Ｎ５は、前記パケットに対応するパケット転送ルールを有しなければ、ルーティング計画要求をコントローラ１００に送信することができる。ある実施例において、このルーティング計画要求は、送信元・宛先ペアの情報を含むことができる。送信元・宛先ペアの送信元ノードは、例えば、ルーティング計画要求を伝送するノードＮ１−Ｎ５であり、目的ノードは、例えば、上記パケットが到達しようとするノードＮ１−Ｎ５である。
【００３６】
コントローラ１００は、ルーティング計画要求を受信した後、接続ポートＰ１１−Ｐ５２の流量及び接続ポートＰ１１−Ｐ５２の支援速度に基づいて、それぞれリンクのリンクコストＬ１−Ｌ６を算出し、また、ルーティング計画要求、ネットワークシステム１０に対応するネットワークトポロジー及びリンクＬ１−Ｌ６のリンクコストに基づいて、前記送信元・宛先ペアに対して最短経路アルゴリズムを行って、この送信元・宛先ペアのパケット伝送経路として、リンクコストの総和最小となる予備伝送経路を見つけ出すことができる。コントローラ１００は、例えば、リンクコストを重み値（ｗｅｉｇｈｔ）として、前記送信元・宛先ペアに対して、最短経路アルゴリズム（例えば、Ｄｉｊｋｓｔｒａアルゴリズム）を行う。
【００３７】
次に、コントローラ１００は、このパケット伝送経路に沿って、このパケット伝送経路に対応する少なくとも１つのパケット転送ルールを、それぞれこのパケット伝送経路の経由する全てのノードの転送表に書き込んで、前記送信元・宛先ペアのパケットがこのパケット伝送経路を介して伝送されることができるようにすることができる。
【００３８】
例としては、ある場合に、ノードＮ１は、ルーティング計画要求をコントローラ１００に伝送する。このルーティング計画要求の送信元・宛先ペアは、送信元ノードがノードＮ１で、目的ノードがノードＮ２である。コントローラ１００は、ノードＮ１の伝送ルーティング計画要求を受信する場合、各リンクＬ１−Ｌ６のリンクコストを算出し、ネットワークシステム１０に対応するネットワークトポロジー及びリンクＬ１−Ｌ６のリンクコストに基づいて、ノードＮ１からノードＮ２までの間のパケット伝送経路として、リンクコストの総和最小となる予備伝送経路を見つけ出し、例えば、Ｎ１→Ｎ４→Ｎ２を見つけ出すことができる。次に、コントローラ１００は、このパケット伝送経路Ｎ１→Ｎ４→Ｎ２に沿って、パケット転送ルールをそれぞれノードＮ１、Ｎ４に書き込み、例えば、ノードＮ１の転送表において、コントローラ１００は、１本のパケット転送ルールを追加して、前記送信元・宛先ペアのパケットを接続ポートＰ１２から送信することができるが、ノードＮ４の転送表においても、コントローラ１００は、１本のパケット転送ルールを追加して、前記送信元・宛先ペアのパケットを接続ポートＰ４２から送信することができる。このように、前記送信元・宛先ペアのパケットは、最小リンクコスト経路を介して伝送されることができる。
【００３９】
また、一実施例において、コントローラ１００は、パケット転送ルールの失効時間を設定することができる。パケット転送ルールがその失効時間を超えると、ノードＮ１−Ｎ５は、パケット転送ルールを取り除くことができる。このように、パケット転送ルールが取り除かれた後、前記送信元・宛先ペアのパケットが再度ノードＮ１−Ｎ５に入る場合、ノードＮ１−Ｎ５は、対応するパケット転送ルールに照合することができないため、再度ルーティング計画要求をコントローラ１００に送信して、コントローラ１００に再度前記送信元・宛先ペアのパケット伝送経路を計画させて、前記送信元・宛先ペアのパケット伝送経路を時間に伴って更新することができる。
【００４０】
本発明の別の実施態様は、ルーティング方法である。このルーティング方法は、前記図１と同一又は類似の構造であるネットワークシステムに用いることができる。分かりやすい説明をするために、下記操作方法については、図１に示した実施例を例にして叙述を行うが、これに限定されない。
【００４１】
注意すべきなのは、下記の操作方法中のステップにおいて、特にはっきり述べない限り、所定の順序はない。また、下記のステップは、同時に実行され、又は実行時間で重なる可能性もある。
【００４２】
図２は、本発明の一実施例によるルーティング方法２００を示す。ルーティング方法２００は、ステップＳ０−Ｓ７を備えることができる。
【００４３】
ステップＳ０において、ノードＮ１−Ｎ５は、識別情報及びノードＮ１−Ｎ５の接続ポートＰ１１−Ｐ５２の支援速度をコントローラ１００に伝送することができる。ステップＳ１において、コントローラ１００は、ノードＮ１−Ｎ５から伝送された識別情報を受信してネットワーク１０に対応するネットワークトポロジーを構築し、また、ノードＮ１−Ｎ５から伝送された接続ポートＰ１１−Ｐ５２の支援速度を受信することができる。例としては、コントローラ１００は、ノードＮ１−Ｎ５にその近隣のノードＮ１−Ｎ５へリンクレイヤ検出プロトコルパケットを伝送させ、近隣のノードＮ１−Ｎ５同士に識別情報を交換させることができ、その後、またノードＮ１−Ｎ５に命令を送信して近隣のノードＮ１−Ｎ５の識別情報を返送させることができる。これにより、コントローラ１００は、これらの識別情報によって、ネットワーク１０に対応するネットワークトポロジーを得ることができる。また、コントローラ１００は、ノードＮ１−Ｎ５に命令を送信することで、ノードＮ１−Ｎ５にそれぞれその接続ポートＰ１１−Ｐ５２の支援速度を返送させることもできる。
【００４４】
ステップＳ２において、コントローラ１００は、接続ポートＰ１１−Ｐ５２の流量を監視・制御することができる。例えば、コントローラ１００は、定期的に（例えば、所定の期間おきに）ノードＮ１−Ｎ５に命令を送信して、ノードＮ１−Ｎ５にその接続ポートＰ１１−Ｐ５２の流量をコントローラ１００に伝送させることができる。
【００４５】
次に、ステップＳ３において、コントローラ１００は、何れかのノードＮ１−Ｎ５から伝送されたルーティング計画要求を受信したかどうかを判断することができる。「否」である場合、コントローラ１００は、接続ポートＰ１１−Ｐ５２の流量を監視・制御し続けるが、「是」である場合、コントローラ１００は、接続ポートＰ１１−Ｐ５２の流量及び接続ポートＰ１１−Ｐ５２の支援速度に基づいて、それぞれリンクＬ１−Ｌ６のリンクコストを算出することができる（ステップＳ４）。例えば、コントローラ１００は、接続ポートＰ１１−Ｐ５２の支援速度及び接続ポートＰ１１−Ｐ５２の現在の流量に基づいて、対応するリンクＬ１−Ｌ６の渋滞程度を判断し、これによりリンクコストを算出することができる。
【００４６】
その後、ステップＳ５において、コントローラ１００は、前記ルーティング計画要求及びネットワークシステム１０に対応するネットワークトポロジーに基づいて、送信元・宛先ペア（ｓｏｕｒｃｅ−ｄｅｓｔｉｎａｔｉｏｎ  ｐａｉｒ）の複数の予備伝送経路を見つけ出し、予備伝送経路の経由するリンクＬ１−Ｌ６のリンクコストを合計して、それぞれ予備伝送経路のリンクコストの総和を算出して（ステップＳ６）、前記送信元・宛先ペアのパケット伝送経路として、予備伝送経路におけるリンクコストの総和最小となるものを選択することができる（ステップＳ７）。送信元・宛先ペアは、前記ルーティング計画要求に対応する。
【００４７】
例としては、送信元・宛先ペアの送信元ノードがＮ１で、目的ノードがＮ２であると、コントローラ１００は、ネットワークシステム１０に対応するネットワークトポロジーから、Ｎ１→Ｎ３→Ｎ２、Ｎ１→Ｎ４→Ｎ２の２本の予備伝送経路をそれぞれ見つけ出し、そのリンクコストの総和を算出することができる。予備伝送経路Ｎ１→Ｎ３→Ｎ２のリンクコストの総和が予備伝送経路Ｎ１→Ｎ４→Ｎ２のより小さいと、コントローラ１００は、前記送信元・宛先ペアのパケット伝送経路として、予備伝送経路Ｎ１→Ｎ４→Ｎ２を選択する。
【００４８】
上記ステップによって、コントローラ１００は、送信元・宛先ペアの伝送経路を計画する場合、ネットワークにおける流量負荷を均衡させ、ネットワークの渋滞を避け、ネットワークの信頼性を向上させるために、パケット伝送経路として、リンクコストの総和最小となる１本の予備伝送経路を選択することができる。
【００４９】
本発明の一実施例において、ステップＳ２で、コントローラ１００は、各ノードＮ１−Ｎ５上の各接続ポートＰ１１−Ｐ５２の累計流量を定期的に受信することができる。接続ポートＰ１１を例にして、コントローラ１００は、第１時点（例えば、０秒目）でノードＮ１の接続ポートＰ１１の第１累計流量を受信することができ、次に、所定の時間（例えば、３０秒）の後、第２時点（例えば、３０秒目）で再度ノードＮ１の接続ポートＰ１１の第２累計流量を受信することができる。
【００５０】
この場合、コントローラ１００は、ノードＮ１−Ｎ５から伝送されたルーティング計画要求を受信する（ステップＳ３）と、第１、第２累計流量の差を、第１、第２時点の差で割って、接続ポートＰ１１の平均流量を求めることができる。次に、コントローラ１００は、接続ポートＰ１１の支援速度から接続ポートＰ１１の平均流量を引いて、接続ポートＰ１１の残留流量を求め、また、接続ポートＰ１１の残留流量を接続ポートＰ１１の支援速度で割って、接続ポートＰ１１のリンクＬ１に対応するリンクコストを求めることができる（ステップＳ４）。つまり、コントローラ１００は、最新に受信した累計流量と前回受信した累計流量との差を、２回受信した累計流量の時間間隔で割って、接続ポートＰ１１の平均流量を求めて、また、接続ポートＰ１１の平均流量によってリンクＬ１のリンクコストを算出する。
【００５１】
上記ステップによってリンクコストを算出し、接続ポートＰ１１の支援速度が接続ポートＰ１１の平均流量よりはるかに大きい場合、リンクＬ１のリンクコストは小さいが、接続ポートＰ１１の支援速度がただ接続ポートＰ１１の平均流量よりやや大きい場合、リンクＬ１は、既に渋滞状態となり、そのリンクコストが高い。
【００５２】
同様に、コントローラ１００により、リンクＬ１−Ｌ６のリンクコストを求めることができる。注意すべきなのは、コントローラ１００は、各ノードＮ１−Ｎ５上の各接続ポートＰ１１−Ｐ５２の累計流量の定期的な受信を続け、最新に受信した累計流量及び前回受信した累計流量に基づいて平均流量を算出するため、リンクＬ１−Ｌ６のリンクコストは、時間に伴って動的に変化することができる。
【００５３】
本発明の一実施例によると、ステップＳ５において、コントローラ１００は、ルーティング計画要求を受信した後、ルーティング計画要求、ネットワークシステム１０に対応するネットワークトポロジー及びリンクＬ１−Ｌ６のリンクコストに基づいて、ルーティング計画要求に対応する送信元・宛先ペアに対して、最短経路アルゴリズムを行い、リンクコストの総和最小となる予備伝送経路をこの送信元・宛先ペアのパケット伝送経路とすることができる。例えば、コントローラ１００は、リンクＬ１−Ｌ６のリンクコストを重み値とし、前記送信元・宛先ペアに対して最短経路アルゴリズム（例えば、Ｄｉｊｋｓｔｒａアルゴリズム）を行って、この送信元・宛先ペアのパケット伝送経路として、リンクコストの総和最小となる予備伝送経路を見つけ出すことができる。
【００５４】
次に、ステップＳ６において、コントローラ１００は、パケット伝送経路により、少なくとも１つのパケット転送ルールを、それぞれパケット伝送経路の経由するノードの転送表に書き込むことができる。ここで、転送表及びパケット転送ルールの細部については、前の実施態様を参照することができるが、ここで繰り返して説明しない。
【００５５】
また、一実施例において、ルーティング方法２００は、コントローラ１００によりパケット転送ルールの失効時間を設定し、パケット転送ルールがその失効時間を超えると、ノードＮ１−Ｎ５がパケット転送ルールを取り除くことができるようにするステップを更に備えることができる。このように、パケット転送ルールが取り除かれた後、前記送信元・宛先ペアのパケットが再度ノードＮ１−Ｎ５に入る場合、ノードＮ１−Ｎ５は、対応するパケット転送ルールに照合することができないため、再度ルーティング計画要求をコントローラ１００に送信して、コントローラ１００に再度前記送信元・宛先ペアのパケット伝送経路を計画させて、前記送信元・宛先ペアのパケット伝送経経路を時間に伴って更新することができる。
【００５６】
本願では、実施例を前述の通りに開示したが、これは本願を限定するものではなく、当業者なら誰でも、本願の精神と領域から逸脱しない限り、多様の変更や修正を加えることができる。従って、本願の保護範囲は、後の特許請求の範囲で指定した内容を基準とする。
【符号の説明】
【００５７】
１０  ネットワークシステム
１００  コントローラ
２００  ルーティング方法
Ｌ１−Ｌ６  リンク
Ｎ１−Ｎ５  ノード
Ｐ１１−Ｐ５２  接続ポート
Ｓ０−Ｓ７  ステップ
【図１】
2014103656.tif 000003
【図２】
2014103656.tif 000004