(57)【特許請求の範囲】
【請求項１】
複数の通信装置が接続された通信ネットワークを構成して、直接に、または間接的に互いに接続されて前記複数の通信装置間で送受信されるパケットを転送して中継する複数の通信転送装置から、それぞれの前記通信転送装置の運用状況を示す運用状況情報を取得する運用状況情報取得手段と、
前記パケットを送受信する前記複数の通信装置の組み合わせに応じて、前記運用状況情報取得手段が取得した運用状況情報に基づいて、前記複数の通信転送装置からハブとなる通信転送装置を選出するハブ選出手段と、
前記組み合わせにおける一の前記通信装置が送信したパケットが、前記組み合わせにおける他の前記通信装置へ、前記ハブとして選出された前記通信転送装置を経由して送信されるように、各通信転送装置に設定する転送規則をそれぞれ決定する転送規則決定手段と、
前記転送規則決定手段がそれぞれ決定した前記転送規則を各通信転送装置に送信する転送規則送信手段とを備えた
ことを特徴とする通信管理装置。
【請求項２】
前記転送規則決定手段は、それぞれの前記組み合わせに応じて、
前記ハブとして選出されなかった通信転送装置のそれぞれについて、前記通信装置に接続された各通信転送装置から前記ハブとして選出された通信転送装置にパケットが転送されるように転送規則を決定する上り転送規則決定手段と、
前記通信装置に接続されていない通信転送装置のそれぞれについて、前記ハブとして選出された通信転送装置から、前記通信装置に接続された通信転送装置にパケットが転送されるように転送規則を決定する下り転送規則決定手段とを含む
請求項１に記載の通信管理装置。
【請求項３】
前記下り転送規則決定手段は、一の前記組み合わせにおける前記通信装置にネットワークアドレスが追加された場合に、前記通信装置を介して前記ネットワークアドレスを含むＩＰアドレス宛にパケットを転送するために、前記組み合わせに応じて前記ハブとして選出された通信転送装置に設定する転送規則を決定する
請求項２に記載の通信管理装置。
【請求項４】
前記ハブ選出手段は、前記転送規則決定手段が決定した転送規則の設定数が少ない通信転送装置を前記ハブに選出する
請求項１から請求項３のうちいずれかに記載の通信管理装置。
【請求項５】
前記ハブ選出手段は、パケットを転送する能力の余裕が多い通信転送装置を前記ハブに選出する
請求項１から請求項３のうちいずれかに記載の通信管理装置。
【請求項６】
前記転送規則決定手段は、リンクのコストに基づいて、最短路でパケットが転送されるように転送規則を決定する
請求項１から請求項５のうちいずれかに記載の通信管理装置。
【請求項７】
請求項１から請求項６のうちいずれかに記載の通信管理装置と、
前記通信転送装置とを備えた
ことを特徴とする通信転送システム。
【請求項８】
複数の通信装置が接続された通信ネットワークを構成して、直接に、または間接的に互いに接続されて前記複数の通信装置間で送受信されるパケットを転送して中継する複数の通信転送装置から、それぞれの前記通信転送装置の運用状況を示す運用状況情報を取得し、
取得した前記運用状況情報に基づいて、前記パケットを送受信する前記複数の通信装置の組み合わせに応じて、前記複数の通信転送装置からハブとなる通信転送装置を選出し、
前記組み合わせにおける一の前記通信装置が送信したパケットが、前記組み合わせにおける他の前記通信装置へ、前記ハブとして選出された前記通信転送装置を経由して送信されるように、各通信転送装置に設定する転送規則をそれぞれ決定し、
それぞれ決定された前記転送規則を各通信転送装置に送信する
ことを特徴とする通信管理方法。
【請求項９】
コンピュータに、
複数の通信装置が接続された通信ネットワークを構成して、直接に、または間接的に互いに接続されて前記複数の通信装置間で送受信されるパケットを転送して中継する複数の通信転送装置から、それぞれの前記通信転送装置の運用状況を示す運用状況情報を取得する運用状況情報取得処理と、
前記パケットを送受信する前記複数の通信装置の組み合わせに応じて、前記運用状況情報取得処理で取得した運用状況情報に基づいて、前記複数の通信転送装置からハブとなる通信転送装置を選出するハブ選出処理と、
前記組み合わせにおける一の前記通信装置が送信したパケットが、前記組み合わせにおける他の前記通信装置へ、前記ハブとして選出された前記通信転送装置を経由して送信されるように、各通信転送装置に設定する転送規則をそれぞれ決定する転送規則決定処理と、
前記転送規則決定処理でそれぞれ決定した前記転送規則を各通信転送装置に送信する転送規則送信処理とを実行させる
ための通信管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットを転送する通信転送装置の動作を制御する通信管理装置、通信転送システム、通信管理方法、および通信管理プログラムが記憶された記憶媒体に関する。
【背景技術】
【０００２】
広域に亘る複数拠点の通信端末を互いに接続するための通信サービスの一つとして、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ−Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）サービスがある。通信キャリア事業者は、顧客(以下、ＶＰＮユーザという)ごとに、自身の閉域網（キャリア網ともいう）内に仮想的なプライベートネットワーク（ＶＰＮ）を構築する。そして、通信キャリア事業者は、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルのレイヤ３における広域拠点間接続サービスを、構築したＶＰＮによってＶＰＮユーザに提供する。【０００３】
ＶＰＮユーザによって、ＩＰ−ＶＰＮ（以下、単にＶＰＮともいう。）との接続を希望する拠点ごとに、ＣＥ（Ｃｕｓｔｏｍｅｒ  Ｅｄｇｅ）ルータが設置される。そして、各拠点のＣＥルータが、ＶＰＮのエッジに配置されたＰＥ（Ｐｒｏｖｉｄｅｒ  Ｅｄｇｅ）ルータに、ＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）のアドバタイズメッセージなどを用いてＩＰアドレスを含む経路情報を広報する。そうすると、ＶＰＮユーザは、各拠点のＣＥルータを介して、各拠点間で相互接続可能な通信ネットワークを利用することができるようになる。【０００４】
ＶＰＮでは、複数のＶＰＮユーザが１つの物理ネットワークを共有する。したがって、ＶＰＮサービスを提供するために、通信キャリア事業者は、ＩＰアドレスが重複しないようにしたり、トラフィックを分離したりする対応を行う必要がある。【０００５】
これらの対応を行ってＶＰＮサービスを提供するために、非特許文献１に、ラベルスイッチングネットワークであるＭＰＬＳ（Ｍｕｌｔｉ  Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）を用いたＭＰＬＳ−ＶＰＮを用いた方法が記載されている。また、非特許文献２には、Ｃ／Ｕ（Ｃｏｎｔｒｏｌ  Ｐｌａｎｅ／Ｕｓｅｒ  Ｐｌａｎｅ）分離ネットワークであるＯｐｅｎＦｌｏｗ（登録商標）が用いられた方法が示されている。【０００６】
なお、特許文献１には、データ転送経路をハブ・アンド・スポーク型に形成して、エッジ装置にハブとなる転送装置への通信経路を設定し、通信量に応じて通信経路をカットスルーする方法が記載されている。【０００７】
また、特許文献２には、ネットワークトポロジやネットワークリソース等に基づいて、ハブおよびハブまでの経路を決定して、データ転送経路をハブ・アンド・スポーク型に形成する方法が記載されている。そして、特許文献２には、データ転送経路をハブ・アンド・スポーク型とし、ハブ及びハブまでの経路をネットワークトポロジや、ネットワークリソース等に基づいて決定する方法が記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第３８２２５９５号公報
【特許文献２】特開２０１３−１６８９９８号公報
【非特許文献】
【０００９】
【非特許文献１】ＲＦＣ（Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔｓ）  ２４７２、［ｏｎｌｉｎｅ］、ＩＥＴＦ（Ｔｈｅ  Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）、［平成２６年９月１１日検索］、インターネット（ＵＲＬ：http://tools.ietf.org/html/rfc2472）
【非特許文献２】鈴木一哉，金子紘也、”運用省力化を実現するＩＰ−ＶＰＮ向けＯｐｅｎＦｌｏｗコントローラ”、［ｏｎｌｉｎｅ］、日本電気株式会社、［平成２６年９月１１日検索］、インターネット（ＵＲＬ：http://jpn.nec.com/techrep/journal/g13/n02/pdf/130212.pdf）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
非特許文献１，２に記載されている、ＶＰＮを構成するためのどちらの方法においても、経路情報とデータ転送経路との対応付けがキャリア網のエッジに配置された全てのＰＥルータで行われる。そのため、ＶＰＮのユーザが新規の経路情報を広報した場合に、当該ユーザに対応する全てのＰＥルータに、経路情報とデータ転送経路とを対応付けるための情報である経路エントリを追加する必要がある。【００１１】
そうすると、ＶＰＮを構成するエッジ装置において、経路エントリの受け入れ可能数が上限に達したエッジ装置が１つでもある場合、他のエッジ装置に余裕がある場合であっても、拠点を新たに追加したＶＰＮを構成できないという問題がある。【００１２】
特許文献１に記載されている方法では、全ての非カットスルーパスの転送経路において、ハブとなる転送装置が静的に決定されるので、構成可能なＶＰＮの数が、ハブに決定した転送装置の性能に応じて制約されてしまうという問題がある。【００１３】
また、特許文献２に記載されている方法では、ハブに決定することができる装置はネットワークのエッジ装置に限定され、構成可能なＶＰＮの数は各エッジ装置の性能の合計に応じて制約される。したがって、ネットワークのコア装置の性能に余力がある場合であっても、当該エッジ装置の性能の合計に制約されて、新たにＶＰＮを追加して構成することができない場合がある。加えて、エッジ装置をハブに決定し、ハブ・アンド・スポーク型にＶＰＮを構成した場合に、各ＰＥルータからコア装置までの経路長がスポークに対応する。すると、コア装置をハブに決定した場合と比較して、スポークに対応する経路長の合計が長くなってしまう。また、各スポークの長さに大きな偏りが生じてしまう。そうすると、ＶＰＮのデータ通信性能が低くなってしまうという問題がある。【００１４】
そこで、本発明は、ネットワークリソースを有効に活用することができる通信管理装置、通信転送システム、通信管理方法、および通信管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明による通信管理装置は、複数の通信装置が接続された通信ネットワークを構成して、直接に、または間接的に互いに接続されて複数の通信装置間で送受信されるパケットを転送して中継する複数の通信転送装置から、それぞれの通信転送装置の運用状況を示す運用状況情報を取得する運用状況情報取得手段と、パケットを送受信する複数の通信装置の組み合わせに応じて、運用状況情報取得手段が取得した運用状況情報に基づいて、複数の通信転送装置からハブとなる通信転送装置を選出するハブ選出手段と、組み合わせにおける一の通信装置が送信したパケットが、組み合わせにおける他の通信装置へ、ハブとして選出された通信転送装置を経由して送信されるように、各通信転送装置に設定する転送規則をそれぞれ決定する転送規則決定手段と、転送規則決定手段がそれぞれ決定した転送規則を各通信転送装置に送信する転送規則送信手段とを備えたことを特徴とする。【００１６】
本発明による通信転送システムは、いずれかの態様の通信管理装置と、通信転送装置とを備えたことを特徴とする。【００１７】
本発明による通信管理方法は、複数の通信装置が接続された通信ネットワークを構成して、直接に、または間接的に互いに接続されて複数の通信装置間で送受信されるパケットを転送して中継する複数の通信転送装置から、それぞれの通信転送装置の運用状況を示す運用状況情報を取得する運用状況情報取得ステップと、パケットを送受信する複数の通信装置の組み合わせに応じて、運用状況情報取得ステップで取得した運用状況情報に基づいて、複数の通信転送装置からハブとなる通信転送装置を選出するハブ選出ステップと、組み合わせにおける一の通信装置が送信したパケットが、組み合わせにおける他の通信装置へ、ハブとして選出された通信転送装置を経由して送信されるように、各通信転送装置に設定する転送規則をそれぞれ決定する転送規則決定ステップと、転送規則決定ステップでそれぞれ決定した転送規則を各通信転送装置に送信する転送規則送信ステップとを備えたことを特徴とする。【００１８】
本発明による通信管理プログラムが記憶された記憶媒体は、コンピュータに、複数の通信装置が接続された通信ネットワークを構成して、直接に、または間接的に互いに接続されて複数の通信装置間で送受信されるパケットを転送して中継する複数の通信転送装置から、それぞれの通信転送装置の運用状況を示す運用状況情報を取得する運用状況情報取得処理と、パケットを送受信する複数の通信装置の組み合わせに応じて、運用状況情報取得処理で取得した運用状況情報に基づいて、複数の通信転送装置からハブとなる通信転送装置を選出するハブ選出処理と、組み合わせにおける一の通信装置が送信したパケットが、組み合わせにおける他の通信装置へ、ハブとして選出された通信転送装置を経由して送信されるように、各通信転送装置に設定する転送規則をそれぞれ決定する転送規則決定処理と、転送規則決定処理でそれぞれ決定した転送規則を各通信転送装置に送信する転送規則送信処理とを実行させることを特徴とする通信管理プログラムが記憶されている。
【発明の効果】
【００１９】
本発明によれば、ネットワークリソースを有効に活用することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施形態のＶＰＮコントローラの接続例を示すブロック図である。
【図２】本発明の第１の実施形態のＶＰＮコントローラの構成例を示すブロック図である。
【図３】転送装置リソース使用状況ＤＢの構成例を示す説明図である。
【図４】トポロジＤＢの構成例を示す説明図である。
【図５】ＶＰＮ情報ＤＢの構成例を示す説明図である。
【図６】経路情報ＤＢの構成例を示す説明図である。
【図７】ＶＰＮコントローラが通信ネットワークにおいてＶＰＮを構築する処理を示すフローチャートである。
【図８】ＶＰＮコントローラが、選択したＶＰＮ−ＩＤのＶＰＮを構築する処理を示すフローチャートである。
【図９】ＶＰＮコントローラが、交換転送装置へパケットを転送するための転送規則を各スイッチに設定する設定処理を示すフローチャートである。
【図１０】上り転送規則設定部が生成した転送規則の例を示す説明図である。
【図１１】ＶＰＮコントローラが、ＶＰＮサービスのユーザへパケットを転送するための転送規則を各スイッチに設定する設定処理を示すフローチャートである。
【図１２】下り転送規則設定部が生成した転送規則の例を示す説明図である。
【図１３】本発明の第２の実施形態のＶＰＮコントローラの構成例を示すブロック図である。
【図１４】第２の実施形態における転送装置リソース使用状況ＤＢの構成例を示す説明図である。
【図１５】第２の実施形態におけるトポロジＤＢの構成例を示す説明図である。
【図１６】第２の実施形態のＶＰＮコントローラが、選択したＶＰＮ−ＩＤのＶＰＮを構築する処理を示すフローチャートである。
【図１７】本発明の第３の実施形態のＶＰＮコントローラの構成例を示すブロック図である。
【図１８】第３の実施形態のＶＰＮコントローラが、選択したＶＰＮ−ＩＤのＶＰＮを構築する処理を示すフローチャートである。
【図１９】図１８に示すステップＳ２３１の処理を示すフローチャートである。
【図２０】本発明の第４の実施形態のＶＰＮコントローラの構成例を示すブロック図である。
【図２１】第４の実施形態のＶＰＮコントローラが、選択したＶＰＮ−ＩＤのＶＰＮを構築する処理を示すフローチャートである。
【図２２】図２１に示すステップＳ２４１の処理を示すフローチャートである。
【図２３】本発明の第５の実施形態のＶＰＮコントローラの構成例を示すブロック図である。
【図２４】第５の実施形態のＶＰＮコントローラが、選択したＶＰＮ−ＩＤのＶＰＮを更新する処理を示すフローチャートである。
【図２５】ステップＳ２８４の処理で交換転送装置対応ＤＢに記憶されたエントリの例を示す説明図である。
【図２６】経路情報更新部の動作を示すフローチャートである。
【図２７】第５の実施形態の経路情報ＤＢの登録内容の例を示す説明図である。
【図２８】経路情報更新部が生成した転送規則の例を示す説明図である。
【図２９】第５の実施形態のＶＰＮコントローラが、選択したＶＰＮ−ＩＤのＶＰＮを構築する処理を示すフローチャートである。
【図３０】本発明の第７の実施形態の通信管理装置の構成例を示すブロック図である。
【発明を実施するための形態】
【００２１】
実施形態１．
本発明の第１の実施形態のＶＰＮコントローラ１００について、図面を参照して説明する。図１は、本発明の第１の実施形態のＶＰＮコントローラ１００の接続例を示すブロック図である。図１に示すように、本発明の第１の実施形態のＶＰＮコントローラ１００は、通信ネットワーク４００を構成するスイッチ２０１〜２０６にそれぞれ接続されている。
【００２２】
各スイッチ２０１〜２０６は、例えば、ＯｐｅｎＦｌｏｗスイッチである。そして、各スイッチ２０１〜２０６とＶＰＮコントローラ１００とは、例えば、ＯｐｅｎＦｌｏｗセキュアチャネルで互いに接続されている。
【００２３】
そして、各スイッチ２０１〜２０６は、直接に、または間接的に互いに接続されている。具体的には、図１に示す例では、スイッチ２０１は、スイッチ２０２，２０４と互いに接続されている。また、図１に示す例では、スイッチ２０３は、スイッチ２０２，２０６と互いに接続されている。そして、図１に示す例では、スイッチ２０５は、スイッチ２０２，２０４，２０６と互いに接続されている。
【００２４】
より具体的には、スイッチ２０１の３番ポート２０１−３とスイッチ２０２の１番ポート２０２−１とが互いに接続されている。また、スイッチ２０１の４番ポート２０１−４とスイッチ２０４の４番ポート２０４−４とが互いに接続されている。スイッチ２０３の３番ポート２０３−３とスイッチ２０２の２番ポート２０２−２とが互いに接続されている。また、スイッチ２０３の４番ポート２０３−４とスイッチ２０６の４番ポート２０６−４とが互いに接続されている。スイッチ２０５の１番ポート２０５−１とスイッチ２０４の３番ポート２０４−３とが互いに接続されている。また、スイッチ２０５の２番ポート２０５−２とスイッチ２０６の３番ポート２０６−３とが互いに接続されている。スイッチ２０５の３番ポート２０５−３とスイッチ２０２の３番ポート２０２−３とが互いに接続されている。
【００２５】
また、図１に示すように、スイッチ２０１において、１番ポート２０１−１にはＣＥルータ３０１が接続され、２番ポート２０１−２にはＣＥルータ３０２が接続されている。スイッチ２０３において、１番ポート２０３−１にはＣＥルータ３０５が接続され、２番ポート２０３−２にはＣＥルータ３０６が接続されている。また、スイッチ２０４において、１番ポート２０４−１にはＣＥルータ３０３が接続され、２番ポート２０４−２にはＣＥルータ３０４が接続されている。スイッチ２０６において、１番ポート２０６−１にはＣＥルータ３０７が接続され、２番ポート２０６−２にはＣＥルータ３０８が接続されている。
【００２６】
したがって、図１に示すように、スイッチ２０１，２０３，２０４，２０６が通信ネットワーク４００のエッジに配置された、通信ネットワーク４００のエッジ装置である。以下、エッジ装置をユーザ接続スイッチともいう。
【００２７】
なお、各ＣＥルータ３０１〜３０８は、ＶＰＮサービスの提供を受けるＶＰＮユーザの各拠点（後述する拠点ＩＤが１〜８に設定されている拠点）にそれぞれ配置されている。
【００２８】
図２は、本発明の第１の実施形態のＶＰＮコントローラ１００の構成例を示すブロック図である。図２に示すように、本発明の第１の実施形態のＶＰＮコントローラ１００は、転送装置インタフェース部１０２、転送装置性能情報取得部１０３、ＮＷ（ネットワーク）トポロジ同定部１０４、交換転送装置位置計算部１０５、転送経路計算部１０６、上り転送規則設定部１０７、下り転送規則設定部１０８、転送装置リソース使用状況ＤＢ（データベース）１０９、トポロジＤＢ１１０、ＶＰＮ情報ＤＢ１１１、および経路情報ＤＢ１１２を含む。
【００２９】
転送装置インタフェース部１０２は、ＯｐｅｎＦｌｏｗプロトコルに基づいて、通信ネットワーク４００における各スイッチ２０１〜２０６と通信し、パケットの転送規則を設定、削除、および更新したり、スイッチ２０１〜２０６から情報を取得したりする。
【００３０】
転送装置性能情報取得部１０３は、転送装置インタフェース部１０２を介して、通信ネットワーク４００におけるスイッチ２０１〜２０６から各スイッチ２０１〜２０６の性能を示す使用状況情報を収集する。そして、転送装置性能情報取得部１０３は、収集した使用状況情報を転送装置リソース使用状況ＤＢ１０９に登録する。
【００３１】
ＮＷトポロジ同定部１０４は、転送装置インタフェース部１０２を介して通信ネットワーク４００のネットワークトポロジを検出する。そして、ＮＷトポロジ同定部１０４は、検出したネットワークトポロジを示すネットワークトポロジ情報をトポロジＤＢ１１０に登録する。ＮＷトポロジ同定部１０４は、例えば、隣接転送装置間でＬＬＤＰ（Ｌｉｎｋ  Ｌａｙｅｒ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）に基づいて送受信されるパケットや、通信ネットワーク４００における各装置を管理するＮＭＳ（Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）などからネットワークトポロジ情報を取得する。なお、ＮＷトポロジ同定部１０４は、予め静的に記述されたネットワークトポロジ情報を取得してもよいし、他の方法でネットワークトポロジ情報を取得してもよい。
【００３２】
交換転送装置位置計算部１０５は、転送装置リソース使用状況ＤＢ１０９に登録されている情報に基づいて交換転送装置を選出する。なお、交換転送装置は、ハブ・アンド・スポーク型に形成されたデータ転送経路においてハブに相当する位置に配置されるスイッチをいう。交換転送装置位置計算部１０５は、選出した交換転送装置を一意に識別する識別子を転送経路計算部１０６に送る。
【００３３】
転送経路計算部１０６は、トポロジＤＢ１１０に登録されているネットワークトポロジ情報と、ＶＰＮ情報ＤＢ１１１に登録されているＶＰＮ情報とに基づいて、以下の処理を行う。すなわち、転送経路計算部１０６は、交換転送装置とＶＰＮユーザの拠点に配置された各ＣＥルータ３０１〜３０８との間を繋ぐパスを決定するための計算を行う。そして、転送経路計算部１０６は、計算結果に基づいて決定したパスの経路上の各スイッチ２０１〜２０６と当該各スイッチ２０１〜２０６のポート番号とを示すパス情報を上り転送規則設定部１０７および下り転送規則設定部１０８にそれぞれ入力する。
【００３４】
上り転送規則設定部１０７は、転送経路計算部１０６が入力したパス情報に基づいて、エッジに配置されたスイッチ２０１，２０３，２０４，２０６から交換転送装置に向かう上り側トラフィックに関する転送規則を生成する。そして、上り転送規則設定部１０７は、生成した転送規則を示す情報を転送装置インタフェース部１０２に入力する。
【００３５】
下り転送規則設定部１０８は、転送経路計算部１０６が入力したパス情報に基づいて、交換転送装置からエッジに配置されたスイッチ２０１，２０３，２０４，２０６に向かう下り側トラフィックに関する転送規則を生成する。そして、下り転送規則設定部１０８は、生成した転送規則を示す情報を転送装置インタフェース部１０２に入力する。
【００３６】
転送装置リソース使用状況ＤＢ１０９には、セキュアチャネルなどの管理用通信プロトコルに基づいて、以下のような情報が登録されている。すなわち、転送装置リソース使用状況ＤＢ１０９には、通信ネットワーク４００においてコントローラ１００と接続された各スイッチ２０１〜２０６における通信リソースの使用状況を示す使用状況情報が登録されている。
【００３７】
使用状況情報は、転送装置リソース使用状況ＤＢ１０９に、例えば、転送装置性能情報取得部１０３や下り転送規則設定部１０８によって登録されたり、その他の方法で登録されたりする。
【００３８】
図３は、転送装置リソース使用状況ＤＢ１０９の構成例を示す説明図である。図３に示すように、使用状況情報は、スイッチＩＤの項目、フローエントリの登録上限数の項目、およびフローエントリの現在の使用量の項目を含むテーブル形式で転送装置リソース使用状況ＤＢ１０９に登録されている。なお、フローエントリは、ＯｐｅｎＦｌｏｗの規格に基づく所定の情報であり、例えば、宛先等の条件が合致したパケットに対する処理内容を示す情報である。
【００３９】
図３に示す例では、転送装置リソース使用状況ＤＢ１０９の１番目のエントリに、スイッチＩＤが０ｘ０１であるスイッチ（本例ではスイッチ２０１）の、フローエントリの登録上限数が１００であり、フローエントリの現在の使用量（登録数）が０であることが登録されている。また、図３に示す例では、転送装置リソース使用状況ＤＢ１０９の２番目のエントリに、スイッチＩＤが０ｘ０２であるスイッチ（本例ではスイッチ２０２）の、フローエントリの登録上限数が２００であり、フローエントリの現在の使用量が０であることが登録されている。図３に示す例では、転送装置リソース使用状況ＤＢ１０９の３番目のエントリに、スイッチＩＤが０ｘ０３であるスイッチ（本例ではスイッチ２０３）の、フローエントリの登録上限数が１００であり、フローエントリの現在の使用量が０であることが登録されている。また、図３に示す例では、転送装置リソース使用状況ＤＢ１０９の４番目のエントリに、スイッチＩＤが０ｘ０４であるスイッチ（本例ではスイッチ２０４）の、フローエントリの登録上限数が１００であり、フローエントリの現在の使用量が０であることが登録されている。図３に示す例では、転送装置リソース使用状況ＤＢ１０９の５番目のエントリに、スイッチＩＤが０ｘ０５であるスイッチ（本例ではスイッチ２０５）の、フローエントリの登録上限数が２００であり、フローエントリの現在の使用量が０であることが登録されている。また、図３に示す例では、転送装置リソース使用状況ＤＢ１０９の６番目のエントリに、スイッチＩＤが０ｘ０６であるスイッチ（本例ではスイッチ２０６）の、フローエントリの登録上限数が１００であり、フローエントリの現在の使用量が０であることが登録されている。
【００４０】
トポロジＤＢ１１０には、コントローラ１００が管理する通信ネットワーク４００における各スイッチ２０１〜２０６の接続関係を示すネットワークトポロジ情報が登録されている。
【００４１】
ネットワークトポロジ情報は、トポロジＤＢ１１０に、例えば、ＮＷトポロジ同定部１０４によって登録されたり、その他の方法で登録されたりする。
【００４２】
図４は、トポロジＤＢ１１０の構成例を示す説明図である。図４に示すように、ネットワークトポロジ情報は、上流スイッチＩＤの項目、上流スイッチ側ポートの項目、下流スイッチＩＤの項目、および下流スイッチ側ポートの項目を含むテーブル形式でトポロジＤＢ１１０に登録されている。
【００４３】
図４に示す例では、トポロジＤＢ１１０の１番目のエントリに、スイッチＩＤが０ｘ０１であるスイッチ（本例ではスイッチ２０１）の３番ポート２０１−３と、スイッチＩＤが０ｘ０２であるスイッチ（本例ではスイッチ２０２）の１番ポート２０２−１とがリンクされていることが登録されている。また、図４に示す例では、トポロジＤＢ１１０の２番目のエントリに、スイッチＩＤが０ｘ０１であるスイッチ（本例ではスイッチ２０１）の４番ポート２０１−４と、スイッチＩＤが０ｘ０４であるスイッチ（本例ではスイッチ２０４）の４番ポート２０４−４とがリンクされていることが登録されている。トポロジＤＢ１１０の３番目のエントリに、スイッチＩＤが０ｘ０２であるスイッチ（本例ではスイッチ２０２）の２番ポート２０２−２と、スイッチＩＤが０ｘ０３であるスイッチ（本例ではスイッチ２０３）の３番ポート２０３−３とがリンクされていることが登録されている。また、トポロジＤＢ１１０の４番目のエントリに、スイッチＩＤが０ｘ０２であるスイッチ（本例ではスイッチ２０２）の３番ポート２０２−３と、スイッチＩＤが０ｘ０５であるスイッチ（本例ではスイッチ２０５）の３番ポート２０５−３とがリンクされていることが登録されている。
【００４４】
ＶＰＮ情報ＤＢ１１１には、ＶＰＮの構成を示す構成情報が登録されている。図５は、ＶＰＮ情報ＤＢ１１１の構成例を示す説明図である。図５に示すように、構成情報は、ＶＰＮ−ＩＤの項目、拠点ＩＤの項目、ユーザ接続スイッチの項目、ユーザ接続ポートの項目、および処理済みフラグの項目を含むテーブル形式でＶＰＮ情報ＤＢ１１１に登録されている。
【００４５】
図５に示す例では、ＶＰＮ−ＩＤが１であるＶＰＮにおいて、拠点ＩＤが１である拠点に配置されたＣＥルータ（本例ではＣＥルータ３０１）と、スイッチＩＤが０ｘ０１であるスイッチ（本例ではスイッチ２０１）の１番ポート２０１−１とが接続されていることが登録されている。また、図５に示す例では、ＶＰＮ−ＩＤが１であるＶＰＮにおいて、拠点ＩＤが５である拠点に配置されたＣＥルータ（本例ではＣＥルータ３０５）と、スイッチＩＤが０ｘ０３であるスイッチ（本例ではスイッチ２０３）の１番ポート２０３−１とが接続されていることが登録されている。図５に示す例では、ＶＰＮ−ＩＤが１であるＶＰＮにおいて、拠点ＩＤが３である拠点に配置されたＣＥルータ（本例ではＣＥルータ３０１）と、スイッチＩＤが０ｘ０４であるスイッチ（本例ではスイッチ２０４）の１番ポート２０４−１とが接続されていることが登録されている。また、図５に示す例では、ＶＰＮ−ＩＤが１であるＶＰＮにおいて、拠点ＩＤが７である拠点に配置されたＣＥルータ（本例ではＣＥルータ３０７）と、スイッチＩＤが０ｘ０６であるスイッチ（本例ではスイッチ２０６）の１番ポート２０６−１とが接続されていることが登録されている。図５に示す例では、ＶＰＮ−ＩＤが２であるＶＰＮにおいて、拠点ＩＤが２である拠点に配置されたＣＥルータ（本例ではＣＥルータ３０２）と、スイッチＩＤが０ｘ０１であるスイッチ（本例ではスイッチ２０１）の２番ポート２０１−２とが接続されていることが登録されている。また、図５に示す例では、ＶＰＮ−ＩＤが２であるＶＰＮにおいて、拠点ＩＤが６である拠点に配置されたＣＥルータ（本例ではＣＥルータ３０６）と、スイッチＩＤが０ｘ０３であるスイッチ（本例ではスイッチ２０３）の２番ポート２０３−２とが接続されていることが登録されている。図５に示す例では、ＶＰＮ−ＩＤが２であるＶＰＮにおいて、拠点ＩＤが４である拠点に配置されたＣＥルータ（本例ではＣＥルータ３０４）と、スイッチＩＤが０ｘ０４であるスイッチ（本例ではスイッチ２０４）の２番ポート２０４−２とが接続されていることが登録されている。また、図５に示す例では、ＶＰＮ−ＩＤが２であるＶＰＮにおいて、拠点ＩＤが８である拠点に配置されたＣＥルータ（本例ではＣＥルータ３０８）と、スイッチＩＤが０ｘ０６であるスイッチ（本例ではスイッチ２０６）の２番ポート２０６−２とが接続されていることが登録されている。
【００４６】
また、図５に示す例では、処理済みフラグの項目は、全てＮに設定されている。したがって、当該項目によって、各拠点に配置されたＣＥルータ３０１〜３０８においてＶＰＮサービスを提供するための処理が行われていないことが示されている。
【００４７】
そして、ＶＰＮ−ＩＤの項目がそれぞれ「１」で互いに同じである拠点ＩＤ１，５，３，７のＣＥルータ３０１，３０５，３０３，３０７は、ＶＰＮサービスが提供されると互いに通信を行うことが可能である。また、ＶＰＮ−ＩＤの項目がそれぞれ「２」で互いに同じである拠点ＩＤ２，６，４，８のＣＥルータ３０２，３０６，３０４，３０８は、ＶＰＮサービスが提供されると互いに通信を行うことが可能である。
【００４８】
経路情報ＤＢ１１２には、ＩＰに基づいてパケットの送受信経路を示す経路情報が登録される。図６は、経路情報ＤＢ１１２の構成例を示す説明図である。図６に示すように、経路情報は、拠点ＩＤの項目、拠点アドレスの項目、および処理済みフラグの項目を含むテーブル形式で経路情報ＤＢ１１２に登録されている。なお、例えば、各拠点に配置された通信装置のＩＰアドレスが拠点アドレスの項目に設定される。そして、例えば、各拠点アドレスの通信装置が、各拠点のＣＥルータ、通信ネットワーク４００、および同じＶＰＮ−ＩＤの他の拠点のＣＥルータを介して、他の拠点の通信装置と通信を行う。
【００４９】
図６に示す例では、拠点ＩＤが１である拠点に配置されたＣＥルータ（本例ではＣＥルータ３０１）に接続された通信装置の拠点アドレスが、１９２．１６８．１．０／２４であることが登録されている。また、図６に示す例では、拠点ＩＤが２である拠点に配置されたＣＥルータ（本例ではＣＥルータ３０２）に接続された通信装置の拠点アドレスが、１９２．１６８．２．０／２４であることが登録されている。図６に示す例では、拠点ＩＤが３である拠点に配置されたＣＥルータ（本例ではＣＥルータ３０３）に接続された通信装置の拠点アドレスが、１９２．１６８．３．０／２４であることが登録されている。また、図６に示す例では、拠点ＩＤが４である拠点に配置されたＣＥルータ（本例ではＣＥルータ３０４）に接続された通信装置の拠点アドレスが、１９２．１６８．４．０／２４であることが登録されている。図６に示す例では、拠点ＩＤが５である拠点に配置されたＣＥルータ（本例ではＣＥルータ３０５）に接続された通信装置の拠点アドレスが、１９２．１６８．５．０／２４であることが登録されている。また、図６に示す例では、拠点ＩＤが６である拠点に配置されたＣＥルータ（本例ではＣＥルータ３０６）に接続された通信装置の拠点アドレスが、１９２．１６８．６．０／２４であることが登録されている。図６に示す例では、拠点ＩＤが７である拠点に配置されたＣＥルータ（本例ではＣＥルータ３０７）に接続された通信装置の拠点アドレスが、１９２．１６８．７．０／２４であることが登録されている。また、図６に示す例では、拠点ＩＤが８である拠点に配置されたＣＥルータ（本例ではＣＥルータ３０８）に接続された通信装置の拠点アドレスが、１９２．１６８．８．０／２４であることが登録されている。
【００５０】
また、図６に示す例では、処理済みフラグの項目は、全てＮに設定されている。したがって、当該項目によって、各拠点に配置されたＣＥルータ３０１〜３０８においてＶＰＮサービスを提供するための処理が行われていないことが示されている。
【００５１】
次に、本発明の第１の実施形態のＶＰＮコントローラ１００の動作について説明する。図７は、ＶＰＮコントローラ１００が通信ネットワーク４００においてＶＰＮを構築する処理を示すフローチャートである。
【００５２】
ＶＰＮコントローラ１００の転送装置性能情報取得部１０３は、転送装置インタフェース部１０２にＯｐｅｎＦｌｏｗの規格に基づくＦｅａｔｕｒｅｓ  Ｒｅｑｕｅｓｔの送信を要求する。転送装置インタフェース部１０２は、転送装置性能情報取得部１０３の要求に応じて、Ｆｅａｔｕｒｅｓ  Ｒｅｑｕｅｓｔを各スイッチ２０１〜２０８に送信する。そして、転送装置インタフェース部１０２は、送信したＦｅａｔｕｒｅｓ  Ｒｅｑｕｅｓｔに応じて各スイッチ２０１〜２０８から返信された使用状況情報を受信して転送装置性能情報取得部１０３に入力する。転送装置性能情報取得部１０３は、入力された使用状況情報に含まれるＦｌｏｗｔａｂｌｅの値を、図３に示す転送装置リソース使用状況ＤＢ１０９のフローエントリの登録上限数の項目において各スイッチ２０１〜２０８に応じた欄に登録する。なお、転送装置性能情報取得部１０３は、フローエントリの登録上限数の項目に値を登録する場合に、フローエントリの現在の使用量の項目に０を登録する。すると、図３に示すように、使用状況情報が転送装置リソース使用状況ＤＢ１０９に登録されることになる（ステップＳ１０１）。
【００５３】
また、ＮＷトポロジ同定部１０４は、転送装置インタフェース部１０２に、例えば、ＬＬＤＰに基づくメッセージの送信を要求する。転送装置インタフェース部１０２は、転送装置性能情報取得部１０３の要求に応じて、ＬＬＤＰに基づくメッセージを、例えば、マルチキャストで送信する。そして、転送装置インタフェース部１０２は、送信したＬＬＤＰに基づくメッセージに応じて各スイッチ２０１〜２０８から返信された情報を受信してＮＷトポロジ同定部１０４に入力する。ＮＷトポロジ同定部１０４は、入力された情報に基づいて通信ネットワーク４００のトポロジを同定して、同定結果のトポロジを示すネットワークトポロジ情報を生成する。したがって、ネットワークトポロジ情報によって、各スイッチ２０１〜２０６の接続関係が示される。なお、ＬＬＤＰに基づくメッセージに対して返信された情報に基づいてネットワークトポロジ情報を生成する方法には、例えば、既知の方法が用いられる。すると、ネットワークトポロジ情報が図４に示すようにＮＷトポロジ同定部１０４に登録されることになる（ステップＳ１０２）。
【００５４】
ＶＰＮコントローラ１００（具体的には、例えば、転送経路計算部１０６）は、ＶＰＮ情報ＤＢ１１１の処理済みフラグの項目においてＮに設定されているエントリがあるか否かを判定する（ステップＳ１０３）。Ｎに設定されているエントリがない場合に（ステップＳ１０３のＮ）、全ての拠点に配置されたＣＥルータ３０１〜３０８においてＶＰＮサービスを提供するための処理が既に行われたことが示されているので、ＶＰＮコントローラ１００は、処理を終了する。また、Ｎに設定されているエントリがある場合に（ステップＳ１０３のＹ）、ＶＰＮコントローラ１００は、処理済みフラグの項目がＮに設定されているエントリにおいてＶＰＮ−ＩＤの項目に設定されているＶＰＮ−ＩＤを１つ選択する（ステップＳ１０４）。そして、ＶＰＮコントローラ１００は、選択したＶＰＮ−ＩＤのＶＰＮを構築する処理を行う（ステップＳ１０５）。
【００５５】
図８は、ＶＰＮコントローラ１００が、選択したＶＰＮ−ＩＤのＶＰＮを構築する処理を示すフローチャートである。ＶＰＮを構築する処理（ステップＳ１０５）において、ＶＰＮコントローラ１００の交換転送装置位置計算部１０５は、転送装置リソース使用状況ＤＢ１０９を参照して、以下の処理を行う。すなわち、交換転送装置位置計算部１０５は、フローエントリの登録可能残数が最も多いエントリを１つ抽出し、抽出したエントリのスイッチＩＤの項目で示されるスイッチを交換転送装置に選出する（ステップＳ２０１）。
【００５６】
なお、交換転送装置位置計算部１０５は、転送装置リソース使用状況ＤＢ１０９において、フローエントリの登録上限数の項目の値からフローエントリの現在の使用量の項目の値を減算してフローエントリの登録可能残数を算出することができる。図３に示す例では、スイッチＩＤの項目が０ｘ０２であるスイッチ２０２およびスイッチＩＤの項目が０ｘ０５のスイッチ２０５のフローエントリの登録可能残数が最大値の２００である。そこで、交換転送装置位置計算部１０５は、例えば、各スイッチの性能等に応じて予め設定された優先度に基づいて、スイッチ２０２およびスイッチ２０５のうちいずれか一方を交換転送装置に選出する。なお、交換転送装置位置計算部１０５は、他の方法で交換転送装置を選出してもよい。本例では、スイッチ２０２を交換転送装置に選出したとする。
【００５７】
交換転送装置位置計算部１０５は、ステップＳ２０１の処理で選出したスイッチを他のスイッチから識別する識別子を転送経路計算部１０６に入力する（ステップＳ２０２）。なお、ステップＳ２０１の処理で選出したスイッチを他のスイッチから識別する識別子は、例えば、スイッチＩＤの項目に登録されているスイッチＩＤである。
【００５８】
そして、転送経路計算部１０６は、図５に例示したＶＰＮ情報ＤＢ１１１を参照して、図７に示すステップＳ１０４の処理で選択されたＶＰＮ−ＩＤであって、かつ、処理済みフラグがＮに設定されているエントリを１つ抽出する（ステップＳ２０３のＹ，Ｓ２０４）。なお、転送経路計算部１０６は、図５に例示したＶＰＮ情報ＤＢ１１１を参照して、図７に示すステップＳ１０４の処理で選択されたＶＰＮ−ＩＤであって、かつ、処理済みフラグがＮに設定されているエントリがなければ（ステップＳ２０３のＮ）、処理を終了する。
【００５９】
転送経路計算部１０６は、ステップＳ２０４の処理で抽出したエントリに含まれるユーザ接続スイッチを始点とし、ステップＳ２０１の処理で選出したスイッチである交換転送装置を終点とするパスを決定するための計算を行う（ステップＳ２０５）。なお、転送経路計算部１０６は、ステップＳ２０５の処理における計算を、例えば、トポロジＤＢ１１０に登録されているネットワークトポロジ情報に基づいて行う。
【００６０】
そして、転送経路計算部１０６は、ステップＳ２０５の処理における計算結果に基づいて当該パスを決定する。さらに、転送経路計算部１０６は、決定した当該パスの経路上のスイッチのリストとポート番号とを示すパス情報とステップＳ２０４の処理で抽出したエントリとを上り転送規則設定部１０７に入力する（ステップＳ２０６）。
【００６１】
なお、転送経路計算部１０６は、当該パスを、例えば、ダイクストラ法に基づいて決定する。ダイクストラ法は、トポロジに基づいて最短パスを算出するアルゴリズムである。例えば、ステップＳ２０４の処理で、ＶＰＮ情報ＤＢ１１１から図５に示すエントリの３行目が抽出された場合に、ユーザ接続スイッチのスイッチＩＤが０ｘ０４であり、ユーザ接続ポートは１である。そして、ステップＳ２０１の処理で選出された交換転送装置であるスイッチのスイッチＩＤが０ｘ０２であるから、ダイクストラ法で求められるパスは、０ｘ０４（３番ポート２０４−３）→０ｘ０５（３番ポート２０５−３）→０ｘ０２になる。つまり、ステップＳ２０６の処理で上り転送規則設定部１０７に入力されるパス情報によって、当該パスが示される。
【００６２】
ダイクストラ法を用いたパスの決定方法として、コストに、リンクの帯域が用いられてもよいし、リンクの使用率が用いられてもよいし、テーブルに設定されている転送規則の数が用いられてもよい。
【００６３】
なお、ダイクストラ法を用いたパスの決定方法について説明したが、ダイクストラ法の使用は一例であり、ダイクストラ法以外のパス計算アルゴリズムが用いられてもよい。
【００６４】
上り転送規則設定部１０７は、ステップＳ２０６の処理で入力されたパス情報に基づいて、各スイッチに設定する転送規則をそれぞれ生成する。そして、上り転送規則設定部１０７は、転送装置インタフェース部１０２に、生成した転送規則を各スイッチ２０１〜２０６に設定する設定処理を行わせる（ステップＳ２０７）。
【００６５】
図９は、ＶＰＮコントローラ１００が、交換転送装置へパケットを転送するための転送規則を各スイッチ２０１〜２０６に設定する設定処理（ステップＳ２０７の処理）を示すフローチャートである。設定処理（ステップＳ２０７）において、上り転送規則設定部１０７は、まず、ステップＳ２０６の処理で入力されたパス情報によって示されるパスの始点を抽出する（ステップＳ３０１）。ステップＳ２０６の処理で入力されたパス情報によって示されるパスが、０ｘ０４（３番ポート２０４−３）→０ｘ０５（３番ポート２０５−３）→０ｘ０２である場合には、始点として０ｘ０４（スイッチ２０４）が抽出される。
【００６６】
そして、上り転送規則設定部１０７は、ステップＳ３０１の処理で抽出した始点（本例ではスイッチＩＤが０ｘ０４のスイッチ２０４）に適用する、パケットの照合と転送とに関するルール（転送規則）を生成する（ステップＳ３０２）。具体的には、上り転送規則設定部１０７は、図８に示すステップＳ２０６の処理で入力されたパス情報と、ステップＳ２０４の処理で抽出されたエントリとに基づいて、転送規則を生成する。なお、上り転送規則設定部１０７は、各拠点に配置されたＣＥルータ３０１〜３０８に接続されたスイッチ２０１〜２０６から交換転送装置に向けてパケットが送信されるように各スイッチ２０１〜２０６に設定する転送規則をそれぞれ生成する。当該転送規則は、ＶＰＮサービスのユーザの拠点に配置されたＣＥルータ３０１〜３０８から送信されたパケットを他のトラフィックから分離して交換転送装置まで転送するための規則である。
【００６７】
そのようなパケットの転送を実現するために、当該転送規則は、ステップＳ２０４の処理で抽出されたエントリにおけるユーザ接続ポートの項目に設定されているポートを入力ポートに指定した照合ルールを含む。また、当該転送規則は、照合ルールの設定内容に合致したパケットにステップＳ２０４の処理で抽出されたエントリにおける拠点ＩＤをラベルに付与して、次ホップのスイッチが接続されたポートから送信する転送規則を含む。
【００６８】
具体的には、例えば、図８に示すステップＳ２０４の処理で図５に示すＶＰＮ情報ＤＢ１１１におけるエントリの３行目が抽出され、ステップＳ２０６の処理で入力されたパス情報によって示されるパスが、０ｘ０４（３番ポート２０４−３）→０ｘ０５（３番ポート２０５−３）→０ｘ０２である場合に、上り転送規則設定部１０７は、ステップＳ３０１で以下の処理を行う。すなわち、上り転送規則設定部１０７は、抽出されたエントリにおけるユーザ接続ポートの項目（「１」）に基づいて、照合ルールにおいてスイッチＩＤが０ｘ０４であるエントリの入力ポートの項目に、ポート１を設定する。また、上り転送規則設定部１０７は、パス情報に基づいて、０ｘ０４のスイッチ２０４の次ホップである０ｘ０５のスイッチ２０５に接続される３番ポートを出力ポートに設定する。さらに、上り転送規則設定部１０７は、抽出されたエントリの拠点ＩＤに基づいて、パケットのラベルを３に設定する。上り転送規則設定部１０７は、以上のような処理に応じた設定内容の転送規則を生成する。
【００６９】
図１０は、上り転送規則設定部１０７が生成した転送規則の例を示す説明図である。本例におけるステップＳ３０２の処理で生成された転送規則が、図１０におけるエントリの３行目に示されている。
【００７０】
上り転送規則設定部１０７は、ステップＳ３０２の処理で生成した転送規則を、転送装置インタフェース部１０２を介してステップＳ３０１の処理で抽出した始点のスイッチ（本例ではスイッチ２０４）に送信する（ステップＳ３０３）。
【００７１】
そして、上り転送規則設定部１０７は、パス情報から始点のスイッチを消去する消去処理を行い、消去処理後のパス情報に、終点のスイッチ以外のスイッチが含まれているか否かを判定する（ステップＳ３０４）。上り転送規則設定部１０７は、消去処理後のパス情報に、終点のスイッチ以外のスイッチが含まれていないと判定した場合に（ステップＳ３０４のＮ）、処理を終了して、図８に示すステップＳ２０８の処理に移行する。
【００７２】
また、上り転送規則設定部１０７は、消去処理後のパス情報に、終点のスイッチ以外のスイッチが含まれていると判定した場合に（ステップＳ３０４のＹ）、以下の処理を行う。すなわち、上り転送規則設定部１０７は、消去処理後のパス情報に基づいて、終点のスイッチ以外のスイッチを１つ抽出する（ステップＳ３０５）。
【００７３】
そして、上り転送規則設定部１０７は、ステップＳ３０５の処理で抽出したスイッチ（本例ではスイッチＩＤが０ｘ０５のスイッチ２０５を抽出したとする）に適用する、パケットの照合と転送とに関するルール（転送規則）を生成する（ステップＳ３０６）。
【００７４】
具体的には、上り転送規則設定部１０７は、本例では、消去処理後のパス情報に基づいて、ステップＳ３０６の処理で抽出した０ｘ０５のスイッチ２０５の次ホップである０ｘ０２のスイッチ２０２に接続される３番ポートを出力ポートに設定する。さらに、上り転送規則設定部１０７は、ステップＳ２０４の処理で抽出されたエントリの拠点ＩＤに基づいて、パケットのラベルが３であることを照合ルールに設定する。上り転送規則設定部１０７は、以上のような処理における設定内容の転送規則を生成する。本例の処理で生成された転送規則が、図１０におけるエントリの４行目に示されている。
【００７５】
そして、上り転送規則設定部１０７は、ステップＳ３０６の処理で生成した転送規則を、転送装置インタフェース部１０２を介してステップＳ３０５の処理で抽出したスイッチ（本例ではスイッチ２０５）に送信する（ステップＳ３０７）。
【００７６】
そして、上り転送規則設定部１０７は、ステップＳ３０５の処理で抽出したスイッチをパス情報から消去する消去処理を行って、ステップＳ３０４の処理に移行する。
【００７７】
パス情報によって示されるスイッチが終点のスイッチのみになるまで、すなわちステップＳ３０４の処理でＮと判定されるまで、ステップＳ３０５〜Ｓ３０７の処理が繰り返されて、当初のパス情報によって示される各スイッチに転送規則が送信されて設定される。すると、ＶＰＮサービスのユーザの拠点に配置されたＣＥルータ３０１〜３０８から送信されたパケットを他のトラフィックと分離して交換転送装置まで転送するための転送経路が設定される。
【００７８】
したがって、ＶＰＮサービスのユーザの拠点に配置されたＣＥルータ３０１〜３０８から交換転送装置までの転送経路が設定されて、図９に示す各ステップの処理が終了すると、図８に示すステップＳ２０８の処理に移行する。
【００７９】
転送経路計算部１０６は、ステップＳ２０８の処理で、ステップＳ２０１の処理で交換転送装置に選出したスイッチを始点とし、ステップＳ２０４の処理で抽出したエントリに含まれるユーザ接続スイッチを終点とするパスを決定するための計算を行う（ステップＳ２０８）。なお、転送経路計算部１０６は、ステップＳ２０８の処理における計算を、例えば、トポロジＤＢ１１０に登録されているネットワークトポロジ情報に基づいて行う。
【００８０】
そして、転送経路計算部１０６は、ステップＳ２０８の処理における計算結果に基づいて当該パスを決定する。さらに、転送経路計算部１０６は、決定した当該パスの経路上のスイッチのリストとポート番号とを示すパス情報とステップＳ２０４の処理で抽出したエントリとを下り転送規則設定部１０８に入力する（ステップＳ２０９）。
【００８１】
なお、転送経路計算部１０６は、当該パスを、例えば、ステップＳ２０５における処理と同様に、ダイクストラ法に基づいて決定してもよいし、他の方法に基づいて決定してもよい。
【００８２】
例えば、ステップＳ２０４の処理で、ＶＰＮ情報ＤＢ１１１から図５に示すエントリの３行目が抽出された場合に、ユーザ接続スイッチのスイッチＩＤが０ｘ０４であり、ユーザ接続ポートは１である。そして、ステップＳ２０１の処理で選出された交換転送装置であるスイッチのスイッチＩＤが０ｘ０２であるとすると、ダイクストラ法で求められるパスは、０ｘ０２（３番ポート２０２−３）→０ｘ０５（１番ポート２０５−３）→０ｘ０４になる。つまり、ステップＳ２０９の処理で下り転送規則設定部１０８に入力されるパス情報によって、当該パスが示される。
【００８３】
下り転送規則設定部１０８は、ステップＳ２０９の処理で入力されたパス情報に基づいて、各スイッチに設定する転送規則をそれぞれ生成する。そして、下り転送規則設定部１０８は、転送装置インタフェース部１０２に、生成した転送規則を各スイッチ２０１〜２０６に設定する設定処理を行わせる（ステップＳ２１０）。
【００８４】
図１１は、ＶＰＮコントローラ１００が、ＶＰＮサービスのユーザへパケットを転送するための転送規則を各スイッチ２０１〜２０６に設定する設定処理を示すフローチャートである。設定処理（ステップＳ２１０）において、下り転送規則設定部１０８は、以下の処理を行う。すなわち、下り転送規則設定部１０８は、ＶＰＮ情報ＤＢ１１１において図８に示すステップＳ２０４の処理で抽出されたエントリに含まれる拠点ＩＤと同じ拠点ＩＤが設定された拠点のうち、図６に示す経路情報ＤＢ１１２において処理済みフラグの項目がＮに設定されている拠点ＩＤを抽出する（ステップＳ４０１のＹ，Ｓ４０２）。なお、下り転送規則設定部１０８は、ＶＰＮ情報ＤＢ１１１において図８に示すステップＳ２０４の処理で選択された拠点ＩＤと同じ拠点ＩＤが設定された拠点のうち、図６に示す経路情報ＤＢ１１２において処理済みフラグの項目がＮに設定されている拠点ＩＤがない場合に、ステップＳ４０７の処理に移行する。
【００８５】
下り転送規則設定部１０８は、ステップＳ４０２の処理で拠点ＩＤを抽出した場合に、経路情報ＤＢ１１２における当該拠点ＩＤの処理済みフラグの項目をＹに設定する（ステップＳ４０３）。また、下り転送規則設定部１０８は、図３に示す転送装置リソース使用状況ＤＢ１０９において、ステップＳ２０１の処理で交換転送装置に選出したスイッチのフローエントリの現在の使用量を１増加させる（ステップＳ４０４）。
【００８６】
また、下り転送規則設定部１０８は、ステップＳ４０２の処理で抽出した拠点ＩＤと、図８に示すステップＳ２０９の処理で入力されたパス情報とに基づいて、パケットに付与されたラベルの付け替え等の規則を含む転送規則を生成する（ステップＳ４０５）。具体的には、ステップＳ２０８の処理と同様に、ステップＳ２０４の処理で抽出したエントリが図５に示すＶＰＮ情報ＤＢ１１１におけるエントリの第３行目であり、ステップＳ２０９の処理で入力されたパス情報によって示されるパスが、０ｘ０２（３番ポート２０２−３）→０ｘ０５（１番ポート２０５−１）→０ｘ０４である場合に、下り転送規則設定部１０８は、以下の処理を行う。すなわち、下り転送規則設定部１０８は、ステップＳ２０４の処理で抽出された図５に示すＶＰＮ情報ＤＢ１１１のエントリの３行目に設定されている拠点ＩＤ（本例では、３）に図６に示す経路情報ＤＢ１１２において設定されている拠点アドレス１９２．１６８．３．０／２４を、照合ルールに設定する。
【００８７】
そして、下り転送規則設定部１０８は、当該照合ルールと、当該照合ルールに合致するアドレスを送信先ＩＰアドレスとするパケットのラベルを付け替える付け替えルールと、次ホップへのパケットの転送を行う転送ルールとを含んだ転送規則を生成する。本例の付け替えルールでは、例えば、既にパケットに付与されているラベルを取り外し、経路情報ＤＢ１１２において設定されているアドレス１９２．１６８．３．０／２４の拠点ＩＤである３に１００を加えた１０３を、新たに当該パケットのラベルに設定することが規定される。また、本例の転送ルールでは、次ホップのスイッチである０ｘ０５スイッチが接続されたポートである３番ポートに出力することが規定される。
【００８８】
図１２は、下り転送規則設定部１０８が生成した転送規則の例を示す説明図である。本例におけるステップＳ４０５の処理で生成された転送規則が、図１２におけるエントリの３行目に示されている。
【００８９】
下り転送規則設定部１０８は、ステップＳ４０５の処理で生成した転送規則を、転送装置インタフェース部１０２を介して、図８に示すステップＳ２０１の処理で交換転送装置に選出したスイッチ（本例ではスイッチ２０２）に送信し（ステップＳ４０６）、ステップＳ４０１の処理に移行する。
【００９０】
下り転送規則設定部１０８は、ステップＳ４０７の処理で（ステップＳ４０１のＮ）、ステップＳ２０９の処理で入力されたパス情報から、図８に示すステップＳ２０１の処理で交換転送装置に選出したスイッチ２０２を消去する消去処理を行う（ステップＳ４０７）。そして、下り転送規則設定部１０８は、消去処理後のパス情報に、終点のスイッチ以外のスイッチが含まれていないと判定した場合に（ステップＳ４０８のＮ）、ステップＳ４１２の処理に移行する。
【００９１】
下り転送規則設定部１０８は、消去処理後のパス情報に、終点のスイッチ以外のスイッチが含まれていると判定した場合に（ステップＳ４０８のＹ）、以下の処理を行う。すなわち、下り転送規則設定部１０８は、消去処理後のパス情報に基づいて、終点のスイッチ以外のスイッチを１つ抽出する（ステップＳ４０９）。
【００９２】
そして、下り転送規則設定部１０８は、ステップＳ４０９の処理で抽出したスイッチ（本例ではスイッチＩＤが０ｘ０５のスイッチ２０５を抽出したとする）に適用する、パケットの照合と転送とに関するルール（転送規則）を生成する（ステップＳ４１０）。
【００９３】
具体的には、下り転送規則設定部１０８は、本例では、消去処理後のパス情報に基づいて、ステップＳ４０９の処理で抽出した０ｘ０５のスイッチ２０５の次ホップである０ｘ０４のスイッチ２０４に接続される１番ポートを出力ポートに設定する。さらに、下り転送規則設定部１０８は、ステップＳ４０５の処理で生成された転送規則に基づいて、パケットのラベルが１０３であることを照合ルールに設定する。下り転送規則設定部１０８は、以上のような処理における設定内容の転送規則を生成する。本例の処理で生成された転送規則が、図１２におけるエントリの４行目に示されている。
【００９４】
そして、下り転送規則設定部１０８は、ステップＳ４１０の処理で生成した転送規則を、転送装置インタフェース部１０２を介してステップＳ４０９の処理で抽出したスイッチ（本例ではスイッチ２０５）に送信する（ステップＳ４１１）。
【００９５】
下り転送規則設定部１０８は、ステップＳ４０９の処理で抽出したスイッチをパス情報から消去する消去処理を行って、ステップＳ４０８の処理に移行する。
【００９６】
パス情報によって示されるスイッチが終点のスイッチのみになるまで、すなわちステップＳ４０８の処理でＮと判定されるまで、ステップＳ４０９〜Ｓ４１１の処理が繰り返されて、当初のパス情報によって示される各スイッチに転送規則が送信されて設定される。すると、交換転送装置から送信されたパケットを他のトラフィックと分離してＶＰＮサービスのユーザの拠点に配置されたＣＥルータ３０１〜３０８まで転送するための転送経路が設定される。
【００９７】
そして、下り転送規則設定部１０８は、図８に示すステップＳ２０９の処理で入力されたパス情報によって示されるパスにおける終点のスイッチ（本例ではスイッチ２０４）に送信するための転送規則を生成して（ステップＳ４１２）、ステップＳ２１１の処理に移行する。本例では、具体的には、ステップＳ４０５の処理で生成された転送規則に基づいてパケットに設定されたラベルを消去し、ステップＳ２０４の処理で抽出された図５に示すＶＰＮ情報ＤＢ１１１のエントリの３行目を参照して１番ポートからパケットを出力することが規定された転送規則が生成される。
【００９８】
下り転送規則設定部１０８は、ステップＳ４１２の処理で生成した転送規則を、転送装置インタフェース部１０２を介して、図８に示すステップＳ２０９の処理で入力されたパス情報によって示されるパスにおける終点のスイッチ２０４に送信し、図１１に示す各ステップの処理が終了すると、図８に示すステップＳ２１１の処理に移行する。
【００９９】
ＶＰＮコントローラ１００は、ステップＳ２１１の処理で、ＶＰＮ情報ＤＢ１１１において、ステップＳ２０４の処理で抽出したエントリの処理済みフラグをＹに設定する（ステップＳ２１１）。つまり、ステップＳ２０４の処理で抽出したエントリを処理済みに設定する。そして、ステップＳ２０３の処理に移行する。
【０１００】
本実施形態によれば、以上に述べた各処理を反復して実行することによって、ＶＰＮ情報ＤＢ１１１において処理済みフラグがＮに設定されていた各ＶＰＮ−ＩＤのＶＰＮをそれぞれ構築することができる。そして、ＶＰＮサービスを提供開始することができる。
【０１０１】
具体的には、図８に示すステップＳ２０３〜Ｓ２１１の処理を反復して実行することによって、一のＶＰＮ−ＩＤが設定されたＶＰＮを構築することができる。さらに、図７にしめすステップＳ１０３〜Ｓ１０５の処理を反復して実行することによって、ＶＰＮ情報ＤＢ１１１において処理済みフラグがＮに設定されていた各ＶＰＮ−ＩＤのＶＰＮをそれぞれ構築することができる。
【０１０２】
そして、本実施形態によれば、各ＶＰＮをハブ・アンド・スポーク型に構成するのであるが、ハブに相当するスイッチである交換転送装置を、フローエントリの登録上限数およびそのときの使用量に応じて、分散して選出することができる。したがって、スイッチ２０１〜２０６によって構成された通信ネットワーク４００の通信リソースを有効に活用することができる。そして、通信ネットワーク４００にＶＰＮをより多く構築することができる。
【０１０３】
実施形態２．
本発明の第２の実施形態のＶＰＮコントローラ５００について、図面を参照して説明する。図１３は、本発明の第２の実施形態のＶＰＮコントローラ５００の構成例を示すブロック図である。図１３に示す本発明の第２の実施形態のＶＰＮコントローラ５００は、転送装置性能情報取得部５０３、ＮＷトポロジ同定部５０４、交換転送装置位置計算部５０５、転送装置リソース使用状況ＤＢ５０９、およびトポロジＤＢ５１０の構成および動作が、図２に示す本発明の第１の実施形態のＶＰＮコントローラ１００における構成および動作と異なる。その他の構成要素の構成および動作は、図２に示す本発明の第１の実施形態のＶＰＮコントローラ１００における構成および動作と同様なため、図２と同じ符号を付して説明を省略する。
【０１０４】
本実施形態における転送装置性能情報取得部５０３は、各スイッチ２０１〜２０６からパケット転送能力を示す情報を含む使用状況情報を収集する。そして、転送装置使用状況情報取得部５０３は、収集した使用状況情報を転送装置リソース使用状況ＤＢ５０９に登録する。
【０１０５】
図１４は、本実施形態における転送装置リソース使用状況ＤＢ５０９の構成例を示す説明図である。図１４に示すように、本実施形態における使用状況情報は、スイッチＩＤの項目、フローエントリの登録上限数の項目、フローエントリの現在の使用量の項目、およびパケット転送能力の項目を含むテーブル形式で転送装置リソース使用状況ＤＢ５０９に登録されている。
【０１０６】
ＮＷトポロジ同定部５０４は、転送装置インタフェース部１０２を介して通信ネットワーク４００のネットワークトポロジを検出する。そして、ＮＷトポロジ同定部５０４は、検出したネットワークトポロジを示し、各スイッチ２０１〜２０６間のリンク帯域およびリンク使用率を示す情報を含むネットワークトポロジ情報をトポロジＤＢ５１０に登録する。
【０１０７】
図１５は、本実施形態におけるトポロジＤＢ５１０の構成例を示す説明図である。図１５に示すように、本実施形態におけるネットワークトポロジ情報は、上流スイッチＩＤの項目、上流スイッチ側ポートの項目、下流スイッチＩＤの項目、下流スイッチ側ポートの項目、各スイッチ間のリンク帯域の項目、およびリンク使用率の項目を含むテーブル形式でトポロジＤＢ５１０に登録されている。
【０１０８】
交換転送装置位置計算部５０５は、転送装置リソース使用状況ＤＢ５０９に登録されている使用状況情報、およびトポロジＤＢ５１０に登録されているネットワークトポロジ情報に基づいて、交換転送装置を選出する。そして、交換転送装置位置計算部５０５は、選出した交換転送装置を一意に識別する識別子を転送経路計算部１０６に出力する。
【０１０９】
次に、本発明の第２の実施形態のＶＰＮコントローラ５００の動作において、第１の実施形態におけるＶＰＮコントローラ１００の動作と異なる動作について説明する。図１６は、第２の実施形態のＶＰＮコントローラ５００が、選択したＶＰＮ−ＩＤのＶＰＮを構築する処理を示すフローチャートである。図１６に示す動作例では、図８に示す動作例におけるステップＳ２０１の処理に代えて、ステップＳ２２１の処理が行われる。すなわち、ステップＳ２２１の処理では、ＶＰＮコントローラ５００の交換転送装置位置計算部５０５は、転送装置リソース使用状況ＤＢ５０９、およびトポロジＤＢ５１０を参照して、最もパケット転送能力の残量が多いスイッチを交換転送装置に選出する。交換転送装置位置計算部５０５は、パケット転送能力の残量を、各スイッチのパケット転送能力から、現在の各リンクの使用帯域を減算することで求めることができる。そこで、交換転送装置位置計算部５０５は、図１４に示す転送装置リソース使用状況ＤＢ５０９におけるパケット転送能力の項目から、各スイッチのパケット転送能力を示す情報を取得する。また、交換転送装置位置計算部５０５は、図１５に示すトポロジＤＢ５１０におけるリンク帯域の項目の値とリンク使用率の値とを乗算することによって、各リンクの使用帯域を示す情報を取得する。
【０１１０】
そして、交換転送装置位置計算部５０５は、各スイッチごとに、取得したパケット転送能力を示す情報が示す値から当該スイッチに接続された各リンクの使用帯域を示す情報が示す値を減算する。すると、交換転送装置位置計算部５０５は、当該各スイッチのパケット転送能力の残量をそれぞれ求めることができる。
【０１１１】
具体的には、例えば、スイッチＩＤが０ｘ０１であるスイッチ２０１のパケット転送能力の残量は、図１４，１５を参照すると、
２０Ｇｂｐｓ−１Ｇｂｐｓ×（０．１＋０．２）＝１９．７Ｇｂｐｓ
である。
【０１１２】
また、スイッチＩＤが０ｘ０２であるスイッチ２０２のパケット転送能力の残量は、図１４，１５を参照すると、
４８Ｇｂｐｓ−１Ｇｂｐｓ×（０．０５）＝４７．９５Ｇｂｐｓ
である。
【０１１３】
したがって、スイッチＩＤが０ｘ０２であるスイッチ２０２のパケット転送能力の残量は、スイッチＩＤが０ｘ０１であるスイッチ２０１のパケット転送能力の残量よりも多い。よって、交換転送装置位置計算部５０５は、スイッチＩＤが０ｘ０２であるスイッチ２０２を交換転送装置に選出する。
【０１１４】
本実施形態によれば、交換転送装置位置計算部５０５が、各スイッチのパケット転送能力の残量をそれぞれ算出する。そして、交換転送装置位置計算部５０５は、パケット転送能力に余裕があるスイッチを交換転送装置に選出する。したがって、各スイッチの稼働状況に応じて交換転送装置が選出される。よって、稼働状況の変化に応じて、交換転送装置を柔軟に選出することができる。
【０１１５】
実施形態３．
本発明の第３の実施形態のＶＰＮコントローラ６００について、図面を参照して説明する。図１７は、本発明の第３の実施形態のＶＰＮコントローラ６００の構成例を示すブロック図である。図１７に示す本発明の第３の実施形態のＶＰＮコントローラ６００は、交換転送装置位置計算部６０５の動作が、図１３に示す本発明の第２の実施形態のＶＰＮコントローラ５００における動作と異なる。その他の構成要素の構成および動作は、図１３に示す本発明の第２の実施形態のＶＰＮコントローラ５００における構成および動作と同様なため、図１３と同じ符号を付して説明を省略する。
【０１１６】
本発明の第３の実施形態のＶＰＮコントローラ６００の動作において、第２の実施形態におけるＶＰＮコントローラ５００の動作と異なる動作について説明する。図１８は、第３の実施形態のＶＰＮコントローラ６００が、選択したＶＰＮ−ＩＤのＶＰＮを構築する処理を示すフローチャートである。図１８に示す動作例では、図１６に示す動作例におけるステップＳ２２１の処理に代えて、ステップＳ２３１の処理が行われる。すなわち、ステップＳ２３１の処理では、ＶＰＮコントローラ６００の交換転送装置位置計算部６０５は、転送装置リソース使用状況ＤＢ５０９、およびトポロジＤＢ５１０を参照して、高い効率でパケットを転送可能なスイッチを交換転送装置に選出する。
【０１１７】
図１９は、図１８に示すステップＳ２３１の処理を示すフローチャートである。図１９に示すように、交換転送装置位置計算部６０５は、トポロジＤＢ５１０を参照して、通信ネットワーク４００を構成するスイッチ２０１〜２０６のうち２つのスイッチで構成される組み合わせを全て抽出する（ステップＳ６０１）。
【０１１８】
そして、交換転送装置位置計算部６０５は、ステップＳ６０１の処理で抽出したスイッチ２０１〜２０６の組み合わせの全てについて、スイッチ間の最短路を、例えば、ダイクストラ法で決定する（ステップＳ６０２）。
【０１１９】
ここで、最短路の算出する際に必要となるリンクおよびノードのコストには、トポロジＤＢ５１０から得られるリンク帯域や、リンク使用率、転送装置リソース使用状況ＤＢ５０９から得られるフローエントリの登録上限数、フローエントリの現在の使用量等のコストを適宜設定することができる。
【０１２０】
交換転送装置位置計算部６０５は、スイッチ２０１〜２０６について、ステップＳ６０２の処理で決定した各最短路に含まれる数を計数する（ステップＳ６０３）。そして、交換転送装置位置計算部６０５は、ステップＳ６０３の処理における計数結果の値が最も大きいスイッチを交換転送装置に選出する（ステップＳ６０４）。
【０１２１】
なお、本例の交換転送装置位置計算部６０５は、ステップＳ６０３の処理における計数結果の値が最も大きいスイッチを交換転送装置に選出したが、交換転送装置に選出するスイッチを他の基準に基づいて決定してもよい。
【０１２２】
本実施形態によれば、交換転送装置位置計算部６０５が、各スイッチ間でパケットが最短路で送受信された場合に最も多くのパケットが転送されるスイッチを交換転送装置に選出する。したがって、より多くのパケットを最短路で転送するようにパスを構成することができる。よって、パケットをより高い効率で転送するようにパスを構成することができる。
【０１２３】
実施形態４．
次に、本発明の第４の実施形態について、図面を参照して説明する。図２０は、本発明の第４の実施形態のＶＰＮコントローラ７００の構成例を示すブロック図である。図２０に示す本発明の第４の実施形態のＶＰＮコントローラ７００は、交換転送装置位置計算部７０５および転送経路計算部７０６の動作が、図１７に示す本発明の第３の実施形態のＶＰＮコントローラ６００における動作と異なる。その他の構成要素の構成および動作は、図１７に示す本発明の第３の実施形態のＶＰＮコントローラ６００における構成および動作と同様なため、図１７と同じ符号を付して説明を省略する。
【０１２４】
本発明の第４の実施形態のＶＰＮコントローラ７００の動作について、第３の実施形態におけるＶＰＮコントローラ６００の動作と異なる動作について説明する。図２１は、第４の実施形態のＶＰＮコントローラ７００が、選択したＶＰＮ−ＩＤのＶＰＮを構築する処理を示すフローチャートである。図２１に示す動作例では、図１８に示す動作例におけるステップＳ２３１，Ｓ２０２，Ｓ２０５，Ｓ２０６，Ｓ２０８，Ｓ２０９の処理に代えて、ステップＳ２４１，Ｓ２４２，Ｓ２４５，Ｓ２４６，Ｓ２４８，Ｓ２４９の処理がそれぞれ行われる。
【０１２５】
ステップＳ２４１の処理では、ＶＰＮコントローラ７００の交換転送装置位置計算部７０５は、ＶＰＮ情報ＤＢ１１１、転送装置リソース使用状況ＤＢ５０９、およびトポロジＤＢ５１０を参照して、各ＶＰＮに応じて、スイッチを交換転送装置に選出する。
【０１２６】
図２２は、図２１に示すステップＳ２４１の処理を示すフローチャートである。図２２に示すように、交換転送装置位置計算部７０５は、ＶＰＮ情報ＤＢ１１１およびトポロジＤＢ５１０を参照して、各スイッチ２０１〜２０６と各ユーザ接続スイッチとの間の最短路を算出する（ステップＳ７０１）。
【０１２７】
そして、交換転送装置位置計算部７０５は、各スイッチごとに、同じＶＰＮ−ＩＤが設定された各ユーザ接続スイッチに至る最短路のコストの合計値を算出する（ステップＳ７０２）。
【０１２８】
交換転送装置位置計算部７０５は、同じＶＰＮ−ＩＤが設定されたＶＰＮごとに、ステップＳ７０２の処理で算出した合計値が最も小さいスイッチをそれぞれのＶＰＮごとの交換転送装置に選出する（ステップＳ７０３）。
【０１２９】
なお、本例の交換転送装置位置計算部７０５は、ステップＳ７０２の処理における合計値が最も小さいスイッチを交換転送装置に選出したが、交換転送装置に選出するスイッチを他の基準に基づいて決定してもよい。
【０１３０】
交換転送装置位置計算部７０５は、ステップＳ２４２の処理で、ステップＳ７０３の処理で選出した交換転送装置と各ユーザ接続スイッチとの間のパスを示すパス情報を転送経路計算部７０６に入力する（ステップＳ２４２）
転送経路計算部７０６は、ステップＳ２４５の処理で、ステップＳ２４２の処理で入力されたパス情報によって示されるパスを、始点がユーザ接続スイッチになり、終点が交換転送装置になるように並べ替える（ステップＳ２４５）。そして、転送経路計算部７０６は、並べ替えたパスを示すパス情報とステップＳ２０４の処理で抽出したエントリとを上り転送規則設定部１０７に入力する（ステップＳ２４６）。したがって、コストが最も小さくなるパスに基づくパス情報が上り転送規則設定部１０７に入力されて、転送規則が生成される。
【０１３１】
転送経路計算部７０６は、ステップＳ２４８の処理で、ステップＳ２４２の処理で入力されたパス情報によって示されるパスを、始点が交換転送装置になり、終点がユーザ接続スイッチになるように並べ替える（ステップＳ２４８）。そして、転送経路計算部７０６は、並べ替えたパスを示すパス情報とステップＳ２０４の処理で抽出したエントリとを下り転送規則設定部１０８に入力する（ステップＳ２４９）。したがって、コストが最も小さくなるパスに基づくパス情報が下り転送規則設定部１０８に入力されて、転送規則が生成される。
【０１３２】
本実施形態によれば、交換転送装置位置計算部７０５が、ＶＰＮごとに、最短路のコストの合計値が最も小さくなるように交換転送装置を選出する。したがって、パケットをより高い効率で転送するように交換転送装置を選出することができる。また、上り転送規則設定部１０７と下り転送規則設定部１０８とが、交換転送装置の選出のために用いたパス情報に基づいて、最短路のパスに応じた転送規則を生成する。したがって、パケットの転送効率をより向上させることができる。
【０１３３】
実施形態５．
次に、本発明の第５の実施形態について説明する。図２３は、本発明の第５の実施形態のＶＰＮコントローラ８００の構成例を示すブロック図である。図２３に示す本発明の第５の実施形態のＶＰＮコントローラ８００は、交換転送装置対応ＤＢ８１３および経路情報更新部８１４を含み、交換転送装置位置計算部８０５の動作が、図２に示す本発明の第１の実施形態のＶＰＮコントローラ１００における動作と異なる。その他の構成要素の構成および動作は、図２に示す本発明の第１の実施形態のＶＰＮコントローラ１００における構成および動作と同様なため、図２と同じ符号を付して説明を省略する。
【０１３４】
交換転送装置対応ＤＢ８１３には、ＶＰＮと、交換転送装置位置計算部８０５が選出した交換転送装置を示すスイッチＩＤとを対応付けるための対応情報が記憶されている。
【０１３５】
経路情報更新部８１４は、追加された経路情報に基づいて、既に設定されたＶＰＮを実現するスイッチに新たに適用する、パケットの新たな送受信経路に応じた転送規則を生成する。
【０１３６】
次に、一のＶＰＮ−ＩＤのＶＰＮについて、経路情報ＤＢ１１２に新たな経路情報が追加された場合における本発明の第５の実施形態のＶＰＮコントローラ８００の動作について説明する。本例では、図８に示す第１の実施形態におけるＶＰＮコントローラ１００がＶＰＮを構築する場合の動作と異なる動作について説明する。図２４は、第５の実施形態のＶＰＮコントローラ８００が、選択したＶＰＮ−ＩＤのＶＰＮを更新する処理を示すフローチャートである。図２４に示す動作例では、図８に示す動作例におけるステップＳ２０４の処理に代えて、ステップＳ２８４の処理が行われる。すなわち、ステップＳ２８４の処理で、交換転送装置位置計算部８０５は、ＶＰＮ情報ＤＢ１１１から、一のＶＰＮ−ＩＤを含み処理済みフラグが設定されていないエントリを抽出する。そして、交換転送装置位置計算部８０５は、当該一のＶＰＮ−ＩＤと、当該一のＶＰＮ−ＩＤのＶＰＮに用いられている交換転送装置を識別する識別子である交換転送装置ＩＤとを対応付けて交換転送装置対応ＤＢ８１３に記憶させる（ステップＳ２８４）。
【０１３７】
図２５は、ステップＳ２８４の処理で交換転送装置対応ＤＢ８１３に記憶されたエントリの例を示す説明図である。図２５には、交換転送装置対応ＤＢ８１３に、「１」であるＶＰＮ−ＩＤに「０ｘ０２」である交換転送装置ＩＤが対応付けられて記憶されていることが示されている。また、図２５には、交換転送装置対応ＤＢ８１３に、「２」であるＶＰＮ−ＩＤに「０ｘ０４」である交換転送装置ＩＤが対応付けられて記憶されていることが示されている。なお、交換転送装置ＩＤは、例えば、交換転送装置に選出されたスイッチを示すスイッチＩＤである。
【０１３８】
経路情報更新部８１４の動作について説明する。図２６は、経路情報更新部８１４の動作を示すフローチャートである。図２６に示すように、経路情報更新部８１４は、まず、経路情報ＤＢ１１２から、新たに登録されたエントリ、すなわち処理済みフラグにＹが設定されていないエントリを抽出して、処理済みフラグを設定する（ステップＳ８０１）。
【０１３９】
図２７は、経路情報ＤＢ１１２の登録内容の例を示す説明図である。図２７において、最下段に示されているエントリは、処理済みフラグにＹが設定されていない。そこで、本例では、経路情報更新部８１４は、ステップＳ８０１の処理で、図２７において最下段に示されているエントリを抽出する。なお、図２７に示すように、当該エントリの拠点ＩＤは「１」であり、拠点アドレスは、１９２．１６８．１０．０／２４である。
【０１４０】
そして、経路情報更新部８１４は、ステップＳ８０１の処理で抽出したエントリに含まれる拠点ＩＤと拠点アドレスとに基づいて、新たな転送規則を生成する（ステップＳ８０２）。具体的には、経路情報更新部８１４は、例えば、経路情報ＤＢ１１２において、ステップＳ８０１の処理で抽出したエントリに含まれる拠点ＩＤと同じ拠点ＩＤのエントリと同様な転送規則を生成する。すなわち、経路情報更新部８１４は、本例では、ステップＳ８０１の処理で抽出した図２７に示す経路情報ＤＢ１１２における最下段のエントリの拠点ＩＤである「１」に１００を加えた「１０１」をラベルとして貼付して、パケットを１番ポートから出力する転送規則を生成する。図２８は、経路情報更新部８１４が生成した転送規則の例を示す説明図である。図２８において、経路情報更新部８１４が生成した転送規則は、最下段に示されている。
【０１４１】
また、経路情報更新部８１４は、ＶＰＮ情報ＤＢ１１１から、ステップＳ８０１の処理で抽出したエントリに含まれる拠点ＩＤと同じ拠点ＩＤのエントリを抽出する。そして、経路情報更新部８１４は、交換転送装置対応ＤＢ８１３から、ＶＰＮ情報ＤＢ１１１から抽出したエントリに含まれるＶＰＮ−ＩＤと同じＶＰＮ−ＩＤのエントリを抽出する（ステップＳ８０３）。本例では、ステップＳ８０１の処理で抽出されたエントリに含まれる拠点ＩＤは、「１」であるので、経路情報更新部８１４は、図５に示すＶＰＮ情報ＤＢ１１１から、最上段に示されているエントリを抽出する。なお、図５において、最上段に示されているエントリのＶＰＮ−ＩＤは、「１」である。そこで、経路情報更新部８１４は、交換転送装置対応ＤＢ８１３から、ＶＰＮ−ＩＤが「１」であるエントリを抽出する。図２５に示す例では、交換転送装置対応ＤＢ８１３において、ＶＰＮ−ＩＤが「１」であるエントリは最上段に示され、当該エントリの交換転送装置ＩＤは０ｘ０２である。
【０１４２】
そして、経路情報更新部８１４は、ステップＳ８０３の処理で抽出したエントリに含まれる交換転送装置ＩＤによって示される交換転送装置であるスイッチに、ステップＳ８０２の処理で生成した転送規則を送信する（ステップＳ８０４）。本例では、交換転送装置対応ＤＢ８１３においてＶＰＮ−ＩＤが「１」である最上段のエントリに、交換転送装置ＩＤ「０ｘ０２」が含まれている。そこで、経路情報更新部８１４は、スイッチＩＤが０ｘ０２であるスイッチ２０２に、ステップＳ８０２の処理で生成した転送規則を送信する。
【０１４３】
本実施形態によれば、ＣＥルータ３０１〜３０８を介して通信ネットワーク４００に接続される各拠点に新たに端末装置等が設置等された場合に、経路情報ＤＢ１１２に新たな経路情報を登録することができる。
【０１４４】
そして、新たな経路情報に基づく転送規則を、当該端末装置等が設置等された拠点に設定されたＶＰＮに応じた交換転送装置であるスイッチだけに送信することによって、当該端末装置等が当該ＶＰＮを介して通信を行うことができるようにすることができる。
【０１４５】
したがって、新たな経路情報に対応するＶＰＮにおいてパケットの転送経路上の全ての転送装置にｈｏｐ−ｂｙ−ｈｏｐで転送する方法に比べて、より迅速に新たな経路情報の内容を反映させることができる。
【０１４６】
実施形態６．
次に、本発明の第６の実施形態について説明する。以上に述べた各実施形態のＶＰＮコントローラの制御対象の通信ネットワーク４００は、ＯｐｅｎＦｌｏｗに対応したスイッチ２０１〜２０６によって構成されている。それに対して、本実施形態のＶＰＮコントローラの制御対象の通信ネットワークの各スイッチは、ＭＰＬＳ−ＴＰ（Ｍｕｌｔｉ  Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ−Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｆｉｌｅ）に対応している。
【０１４７】
次に、本発明の第６の実施形態のＶＰＮコントローラの動作において、第１の実施形態におけるＶＰＮコントローラ１００の動作と異なる動作について説明する。図２９は、第５の実施形態のＶＰＮコントローラが、選択したＶＰＮ−ＩＤのＶＰＮを構築する処理を示すフローチャートである。図２９に示す動作例では、図８に示す動作例におけるステップＳ２０７，Ｓ２１０の処理に代えて、ステップＳ２５７，Ｓ２６０の処理がそれぞれ行われる。
【０１４８】
第６の実施形態のＶＰＮコントローラの上り転送規則設定部は、ステップＳ２５７の処理で、転送装置インタフェース部に、ＬＳＰ（Ｌａｂｅｌ  Ｓｗｉｔｃｈｅｄ  Ｐａｔｈ）の開通を要求する。そして、転送装置インタフェース部は、当該要求に応じて、通信ネットワークに含まれるＭＰＬＳ−ＴＰルータのＣＬＩ（Ｃｏｍｍａｎｄ  Ｌｉｎｅ  Ｉｎｔｅｒｆａｃｅ）などを介してＬＳＰを開通させる処理を行う（ステップＳ２５７）。
【０１４９】
第６の実施形態のＶＰＮコントローラの下り転送規則設定部は、ステップＳ２６０の処理で、転送装置インタフェース部に、ＬＳＰの開通を要求する。そして、転送装置インタフェース部は、当該要求に応じて、通信ネットワークに含まれるＭＰＬＳ−ＴＰルータのＣＬＩなどを介してＬＳＰを開通させる処理を行う（ステップＳ２６０）。
【０１５０】
本実施形態によれば、上り転送規則設定部、下り転送規則設定部、および転送装置インタフェース部が、ＭＰＬＳ−ＴＰに基づいてＬＳＰを開通させる。したがって、制御対象の通信ネットワークの各スイッチは、ＭＰＬＳ−ＴＰに対応している場合であっても、本発明を適用して、以上に述べた各実施形態と同様な効果を奏することができる。
【０１５１】
実施形態７．
次に本発明の第７の実施形態の通信管理装置について、図面を参照して説明する。図３０は、本発明の第７の実施形態の通信管理装置１０の構成例を示すブロック図である。
【０１５２】
図３０に示すように、本発明の第７の実施形態の通信管理装置１０は、運用状況情報取得部１３、ハブ選出部１５、転送規則決定部１７、および転送規則送信部１２を含む。
【０１５３】
運用状況情報取得部１３は、図２に示す本発明の第１の実施形態の転送装置性能情報取得部１０３に相当する。ハブ選出部１５は、図２に示す本発明の第１の実施形態の交換転送装置位置計算部１０５に相当する。転送規則決定部１７は、図２に示す本発明の第１の実施形態の上り転送規則設定部１０７および下り転送規則設定部１０８に相当する。転送規則送信部１２は、図２に示す本発明の第１の実施形態の転送装置インタフェース部１０２に相当する。
【０１５４】
運用状況情報取得部１３は、複数の通信装置が接続された通信ネットワークを構成して、直接に、または間接的に互いに接続されて複数の通信装置間で送受信されるパケットを転送して中継する複数の通信転送装置から、それぞれの通信転送装置の運用状況を示す運用状況情報を取得する。なお、通信装置は、図１に示すＣＥルータ３０１〜３０８に相当する。また、通信転送装置は、図１に示すスイッチ２０１〜２０６に相当する。
【０１５５】
ハブ選出部１５は、パケットを送受信する複数の通信装置の組み合わせに応じて、運用状況情報取得手段が取得した運用状況情報に基づいて、複数の通信転送装置からハブとなる通信転送装置を選出する。
【０１５６】
転送規則決定部１７は、組み合わせにおける一の通信装置が送信したパケットが、組み合わせにおける他の通信装置へ、ハブとして選出された通信転送装置を経由して送信されるように、各通信転送装置に設定する転送規則をそれぞれ決定する。
【０１５７】
そして、転送規則送信部１２は、転送規則決定部１７がそれぞれ決定した転送規則を各通信転送装置に送信する。
【０１５８】
本実施形態によれば、ネットワークリソースを有効に活用することができる。
【０１５９】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１６０】
また、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【０１６１】
この出願は、２０１４年１１月１１日に出願された日本出願特願２０１４−２２９００９を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１６２】
１０    通信管理装置
１２    転送規則送信部
１３    運用状況情報取得部
１５    ハブ選出部
１７    転送規則決定部
１００    ＶＰＮコントローラ
１０２    転送装置インタフェース部
１０３、５０３    転送装置性能情報取得部
１０４、５０４    ＮＷトポロジ同定部
１０５、５０５、６０５、７０５、８０５    交換転送装置位置計算部
１０６    転送経路計算部
１０７    上り転送規則設定部
１０８    下り転送規則設定部
１０９、５０９    転送装置リソース使用状況ＤＢ
１１０、５１０    トポロジＤＢ
１１１    ＶＰＮ情報ＤＢ
１１２    経路情報ＤＢ
２０１〜２０６    スイッチ
２０１−１〜２０６−４    ポート
３０１〜３０８    ＣＥルータ
４００    通信ネットワーク
８１３    交換転送装置対応ＤＢ
８１４    経路情報更新部
【図１】
0006575527.tif 000002
【図２】
0006575527.tif 000003
【図３】
0006575527.tif 000004
【図４】
0006575527.tif 000005
【図５】
0006575527.tif 000006
【図６】
0006575527.tif 000007
【図７】
0006575527.tif 000008
【図８】
0006575527.tif 000009
【図９】
0006575527.tif 000010
【図１０】
0006575527.tif 000011
【図１１】
0006575527.tif 000012
【図１２】
0006575527.tif 000013
【図１３】
0006575527.tif 000014
【図１４】
0006575527.tif 000015
【図１５】
0006575527.tif 000016
【図１６】
0006575527.tif 000017
【図１７】
0006575527.tif 000018
【図１８】
0006575527.tif 000019
【図１９】
0006575527.tif 000020
【図２０】
0006575527.tif 000021
【図２１】
0006575527.tif 000022
【図２２】
0006575527.tif 000023
【図２３】
0006575527.tif 000024
【図２４】
0006575527.tif 000025
【図２５】
0006575527.tif 000026
【図２６】
0006575527.tif 000027
【図２７】
0006575527.tif 000028
【図２８】
0006575527.tif 000029
【図２９】
0006575527.tif 000030
【図３０】
0006575527.tif 000031