(57)【要約】【課題】仮想ネットワークにおいて通信経路を把握するための情報を取得する。【解決手段】仮想ネットワーク装置それぞれが有する物理ポートに接続されている他の仮想ネットワーク装置を示す構成情報を記憶している構成ＤＢと、仮想ネットワーク装置が通信トラフィックを受信した際に該通信トラフィックに対する動作を定めているフローテーブルと、仮想ネットワーク装置と動作情報における物理ポートとの組み合わせをフローテーブルから抽出し、抽出結果を検索キーにして構成ＤＢから該仮想ネットワーク装置の物理ポートに接続されている他の仮想ネットワーク装置を検索し、検索キーと検索結果とに基づいて、接続された２つの仮想ネットワーク装置間の送信元と送信先との組み合わせを示す送信元送信先テーブルを算出するテーブル算出部と、送信元送信先テーブルに基づいて、任意２つの仮想ネットワーク装置間の経路を算出する経路情報算出部とを具備する。【選択図】図２
2014183535.tif 000002
【特許請求の範囲】
【請求項１】
複数の仮想ネットワーク装置と各仮想ネットワーク装置を制御する仮想ネットワーク制御装置とを用いた仮想ネットワークを利用する通信システムにおいて、
前記仮想ネットワーク装置それぞれが有する物理ポートに接続されている他の前記仮想ネットワーク装置を示す構成情報を前記仮想ネットワーク装置ごとに記憶している構成データベースと、
前記仮想ネットワーク装置が通信トラフィックを受信した際に該仮想ネットワーク装置が有するいずれの物理ポートから該通信トラフィックを出力するかを定めた動作情報を前記仮想ネットワーク装置と物理ポートとの組み合わせごとに記憶しているフローテーブルと、
前記仮想ネットワーク装置と動作情報における物理ポートとの組み合わせを前記フローテーブルから抽出し、抽出した前記仮想ネットワーク装置と物理ポートとの組み合わせを検索キーにして前記構成データベースから該仮想ネットワーク装置の物理ポートに接続されている他の前記仮想ネットワーク装置を検索し、該検索キーと検索結果とに基づいて、接続された２つの前記仮想ネットワーク装置間における送信元と送信先との組み合わせを示す送信元送信先テーブルを算出するテーブル算出部と、
前記送信元送信先テーブルに基づいて、任意２つの前記仮想ネットワーク装置間の経路を算出する経路情報算出部と
を具備することを特徴とする通信システム。
【請求項２】
請求項１に記載の通信システムにおいて、
前記仮想ネットワーク装置は、
自装置に対して定められている動作情報に定められた動作を行ってから経過した時間に基づいて、該動作情報がアクティブか否かを示すアクティブフラグを算出し、
前記テーブル算出部は、
前記送信元送信先テーブルにおける送信元と送信先との組み合わせに対して、前記アクティブフラグを付加し、
前記経路情報算出部は、
経路に含まれる前記仮想ネットワーク装置間の接続がすべてアクティブである経路を示す情報を付加して出力する
ことを特徴とする通信システム。
【請求項３】
請求項１又は請求項２のいずれかに記載の通信システムにおいて、
前記テーブル算出部は、
前記仮想ネットワークにおいて予め定められた通信トラフィックの向きに基づいて、前記仮想ネットワーク装置間の接続に対して前記向きと一致するか否かを示す戻りフラグを、前記送信元送信先テーブルにおける送信元と送信先との組み合わせに対して付加し、
前記経路情報算出部は、
前記戻りフラグに基づいて、前記任意２つの前記仮想ネットワーク装置間における前記向きと一致する経路と、前記向きと異なる経路とを算出する
ことを特徴とする通信システム。
【請求項４】
複数の仮想ネットワーク装置と各仮想ネットワーク装置を制御する仮想ネットワーク制御装置とを用いた仮想ネットワークを利用し、前記仮想ネットワーク装置それぞれが有する物理ポートに接続されている他の前記仮想ネットワーク装置を示す構成情報を前記仮想ネットワーク装置ごとに記憶している構成データベースと、前記仮想ネットワーク装置が通信トラフィックを受信した際に該仮想ネットワーク装置が有するいずれの物理ポートから該通信トラフィックを出力するかを定めた動作情報を前記仮想ネットワーク装置と物理ポートとの組み合わせごとに記憶しているフローテーブルとを具備する通信システムにおける経路情報算出方法であって、
前記仮想ネットワーク装置と動作情報における物理ポートとの組み合わせを前記フローテーブルから抽出し、抽出した前記仮想ネットワーク装置と物理ポートとの組み合わせを検索キーにして前記構成データベースから該仮想ネットワーク装置の物理ポートに接続されている他の前記仮想ネットワーク装置を検索し、該検索キーと検索結果とに基づいて、接続された２つの前記仮想ネットワーク装置間における送信元と送信先との組み合わせを示す送信元送信先テーブルを算出するテーブル算出ステップと、
前記送信元送信先テーブルに基づいて、任意２つの前記仮想ネットワーク装置間の経路を算出する経路情報算出ステップと
を有することを特徴とする経路情報算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、及び経路情報算出方法に関する。
【背景技術】
【０００２】
ルータ、スイッチ、ファイアウォールなどの用途に応じたネットワーク機器を接続して構成された物理ネットワーク環境では、ネットワークの保守者が経路情報を取得するコマンド等を用いて、通信経路情報の正常性を把握している（例えば、特許文献１）。物理ネットワーク環境において、ネットワーク機器などに障害が発生した場合には、保守者が通信経路情報を取得することにより、障害が発生した箇所を特定している（例えば、特許文献２）。
【０００３】
近年、ネットワーク構築者がレイヤ１からレイヤ４までの各レイヤを自由に組み合わせて通信経路を制御する仮想ネットワーク環境の普及が進んでいる。物理ネットワーク環境ではネットワークを構成するネットワーク機器が通信経路を決定する制御情報を記憶していた。これに対して、仮想ネットワーク環境では、通信経路を決定する制御情報を一元的に管理する仮想ネットワーク制御装置が用いられる。通信経路の変更などは、保守者が仮想ネットワーク制御装置を操作することにより行われる（例えば、特許文献３）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−０２３１５３号公報
【特許文献２】特開２０１２−１３８７７８号公報
【特許文献３】特開２０１１−１６０３６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、仮想ネットワーク環境では、制御情報の管理の違いなどから、物理ネットワーク環境で利用していた経路情報を取得する技術が利用できない。そのため、通信経路情報や、障害の発生を把握するために、経路情報を取得する仕組み又はその手段が必要とされている。
【０００６】
本発明は、上記の状況を鑑みてなされたものであり、その目的は、仮想ネットワークを利用する通信システムにおいて、通信経路を把握するための情報を取得することができる通信システム、及び経路情報算出方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記問題を解決するために、本発明は、複数の仮想ネットワーク装置と各仮想ネットワーク装置を制御する仮想ネットワーク制御装置とを用いた仮想ネットワークを利用する通信システムにおいて、前記仮想ネットワーク装置それぞれが有する物理ポートに接続されている他の前記仮想ネットワーク装置を示す構成情報を前記仮想ネットワーク装置ごとに記憶している構成データベースと、前記仮想ネットワーク装置が通信トラフィックを受信した際に該仮想ネットワーク装置が有するいずれの物理ポートから該通信トラフィックを出力するかを定めた動作情報を前記仮想ネットワーク装置と物理ポートとの組み合わせごとに記憶しているフローテーブルと、前記仮想ネットワーク装置と動作情報における物理ポートとの組み合わせを前記フローテーブルから抽出し、抽出した前記仮想ネットワーク装置と物理ポートとの組み合わせを検索キーにして前記構成データベースから該仮想ネットワーク装置の物理ポートに接続されている他の前記仮想ネットワーク装置を検索し、該検索キーと検索結果とに基づいて、接続された２つの前記仮想ネットワーク装置間における送信元と送信先との組み合わせを示す送信元送信先テーブルを算出するテーブル算出部と、前記送信元送信先テーブルに基づいて、任意２つの前記仮想ネットワーク装置間の経路を算出する経路情報算出部とを具備することを特徴とする通信システムである。
【０００８】
また、本発明は、上記に記載の発明において、前記仮想ネットワーク装置は、自装置に対して定められている動作情報に定められた動作を行ってから経過した時間に基づいて、該動作情報がアクティブか否かを示すアクティブフラグを算出し、前記テーブル算出部は、前記送信元送信先テーブルにおける送信元と送信先との組み合わせに対して、前記アクティブフラグを付加し、前記経路情報算出部は、経路に含まれる前記仮想ネットワーク装置間の接続がすべてアクティブである経路を示す情報を付加して出力することを特徴とする。
【０００９】
また、本発明は、上記に記載の発明において、前記テーブル算出部は、前記仮想ネットワークにおいて予め定められた通信トラフィックの向きに基づいて、前記仮想ネットワーク装置間の接続に対して前記向きと一致するか否かを示す戻りフラグを、前記送信元送信先テーブルにおける送信元と送信先との組み合わせに対して付加し、前記経路情報算出部は、前記戻りフラグに基づいて、前記任意２つの前記仮想ネットワーク装置間における前記向きと一致する経路と、前記向きと異なる経路とを算出することを特徴とする。
【００１０】
また、本発明は、複数の仮想ネットワーク装置と各仮想ネットワーク装置を制御する仮想ネットワーク制御装置とを用いた仮想ネットワークを利用し、前記仮想ネットワーク装置それぞれが有する物理ポートに接続されている他の前記仮想ネットワーク装置を示す構成情報を前記仮想ネットワーク装置ごとに記憶している構成データベースと、前記仮想ネットワーク装置が通信トラフィックを受信した際に該仮想ネットワーク装置が有するいずれの物理ポートから該通信トラフィックを出力するかを定めた動作情報を前記仮想ネットワーク装置と物理ポートとの組み合わせごとに記憶しているフローテーブルとを具備する通信システムにおける経路情報算出方法であって、前記仮想ネットワーク装置と動作情報における物理ポートとの組み合わせを前記フローテーブルから抽出し、抽出した前記仮想ネットワーク装置と物理ポートとの組み合わせを検索キーにして前記構成データベースから該仮想ネットワーク装置の物理ポートに接続されている他の前記仮想ネットワーク装置を検索し、該検索キーと検索結果とに基づいて、接続された２つの前記仮想ネットワーク装置間における送信元と送信先との組み合わせを示す送信元送信先テーブルを算出するテーブル算出ステップと、前記送信元送信先テーブルに基づいて、任意２つの前記仮想ネットワーク装置間の経路を算出する経路情報算出ステップとを有することを特徴とする経路情報算出方法である。
【発明の効果】
【００１１】
この発明によれば、物理的な接続構成を示す構成データベースと、仮想ネットワークにおいて通信トラフィックの流れを制御するフローテーブルとに基づいて、物理的に接続されている仮想ネットワーク装置のうち、通信トラフィックの流れが定義されている仮想ネットワーク装置の組み合わせを算出し、当該算出結果を利用することにより、任意の仮想ネットワーク装置間の経路を算出することができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態における通信システムの構成例を示すブロック図である。
【図２】同実施形態における仮想ネットワーク制御装置１の構成例を示すブロック図である。
【図３】同実施形態におけるフローテーブル１１に記憶されているフローの構成例を示す図である。
【図４】同実施形態における仮想ネットワーク装置データベース１２に記憶されている構成情報の構成例を示す図である。
【図５】同実施形態における送信元送信先一覧テーブル１３の構成例を示す図である。
【図６】同実施形態におけるフローテーブル１１の一例を示す図である。
【図７】同実施形態における仮想ネットワーク制御装置１が行う経路情報算出処理を示す第１のフローチャートである。
【図８】同実施形態における仮想ネットワーク制御装置１が行う経路情報算出処理を示す第２のフローチャートである。
【図９】同実施形態の通信システムで経路情報算出処理が利用される一例を示すシーケンス図である。
【図１０】同実施形態におけるフローテーブル１１がレイヤ１レベルで定義された例を示す図である。
【図１１】同実施形態におけるフローテーブル１１がレイヤ３レベルで定義された例を示す図である。
【図１２】同実施形態におけるフローテーブル１１がレイヤ４レベルで定義された例を示す図である。
【図１３】実施例における仮想ネットワーク３Ａの構成を示すブロック図である。
【図１４】同実施例における仮想ネットワーク装置データベース１２に記憶されている構成情報を示す図である。
【図１５】同実施例におけるフローテーブル１１に記憶されているフローを示す図である。
【図１６】同実施例において更新された送信元送信先一覧テーブル１３を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明に係る一実施形態における通信システム、及び経路情報算出方法を説明する。図１は、本実施形態における通信システムの構成例を示すブロック図である。本実施形態の通信システムは、仮想ネットワーク３、監視サーバ４、保守端末５、物理ネットワーク装置６Ａ及び６Ｂ、サービス提供サーバ７Ａ及び７Ｂ、ユーザ宅内ルータ８Ａ及び８Ｂ、並びに、ユーザ端末９Ａ及び９Ｂを具備している。仮想ネットワーク３は、仮想ネットワーク制御装置１、及び、４つの仮想ネットワーク装置２Ａ〜２Ｄを備えている。仮想ネットワーク３において、仮想ネットワーク制御装置１による制御に基づいて、互いに接続された仮想ネットワーク装置２Ａ〜２Ｄが通信することによりネットワークを形成している。
【００１４】
この仮想ネットワーク３には、ユーザに対してサービスを提供するサービス提供サーバ７Ａ及び７Ｂが、物理ネットワーク装置６Ｂを介して接続されている。また、仮想ネットワーク３には、ユーザの宅内に位置するユーザ宅内ルータ８Ａ及び８Ｂが、物理ネットワーク装置６Ａを介して接続されている。ユーザ宅内ルータ８Ａには、ユーザが利用するユーザ端末９Ａが接続されている。また、ユーザ宅内ルータ８Ｂには、ユーザが利用するユーザ端末９Ｂが接続されている。
【００１５】
また、仮想ネットワーク３には、仮想ネットワーク３の動作状況等を監視する監視サーバ４が接続されている。監視サーバ４は、ユーザの利用に応じた情報が伝送されるサービス網と異なる保守網を介して、仮想ネットワーク制御装置１と、各仮想ネットワーク装置２Ａ〜２Ｄとに通信可能に接続されている。監視サーバ４には、仮想ネットワーク３の運用や保守を行う保守者が利用する保守端末５も通信可能に接続されている。監視サーバ４は、仮想ネットワーク装置２Ａ〜２Ｄから障害の発生等を通知する障害情報を受信すると、保守端末５に対して障害が発生したことを通知するメッセージを送信する。保守者は保守端末５に表示されたメッセージの内容に基づいて、保守端末５を操作して仮想ネットワーク３の状態を把握するための処理を仮想ネットワーク制御装置１に行わせ、処理結果を取得する。具体的には、仮想ネットワーク制御装置１は、保守端末５から受信する経路情報要求で指定される２つの仮想ネットワーク装置２間における経路と経路の利用状況とを算出する。仮想ネットワーク制御装置１は、経路情報要求に対する応答として算出結果を示す経路情報を保守端末５に送信する。
【００１６】
なお、同図に示す構成例では、仮想ネットワーク装置２Ａは、仮想ネットワーク装置２Ｂ及び２Ｃと通信する。仮想ネットワーク装置２Ｂは、仮想ネットワーク装置２Ａ及び２Ｄと通信する。仮想ネットワーク装置２Ｃは、仮想ネットワーク装置２Ａ及び２Ｄと通信する。仮想ネットワーク装置２Ｄは、仮想ネットワーク装置２Ｂ及び２Ｃと通信する。
【００１７】
仮想ネットワーク制御装置１は、仮想ネットワーク３に備えられている各仮想ネットワーク装置２Ａ〜２Ｄにおける通信トラフィックを制御する制御情報を一元管理し、当該制御情報を各仮想ネットワーク装置２Ａ〜２Ｄに送信する。また、仮想ネットワーク制御装置１は、保守端末５からの要求に応じて、仮想ネットワーク３における経路情報を算出する。仮想ネットワーク装置２Ａ〜２Ｄは、仮想ネットワーク制御装置１から送信された制御情報に基づいて、通信トラフィックを処理する。
【００１８】
図２は、本実施形態における仮想ネットワーク制御装置１の構成例を示すブロック図である。仮想ネットワーク制御装置１は、記憶部１０、制御部２０、及び、通信部３０を有している。記憶部１０は、フローテーブル１１、仮想ネットワーク装置データベース（仮想ネットワーク装置ＤＢ）１２、及び、送信元送信先一覧テーブル１３を記憶している。
フローテーブル１１は、各仮想ネットワーク装置２Ａ〜２Ｄが通信トラフィックを制御するための制御情報を含んでいる。各仮想ネットワーク装置２Ａ〜２Ｄにおいて通信トラフィックはフローと呼ばれる単位で制御されており、フローテーブル１１には各仮想ネットワーク装置２Ａ〜２Ｄそれぞれにおけるフローごとの動作が定められている。以下では、仮想ネットワーク装置２Ａ〜２Ｄそれぞれのホスト名を「ｈｏｓｔＡ」、「ｈｏｓｔＢ」、「ｈｏｓｔＣ」、及び、「ｈｏｓｔＤ」として説明する。
【００１９】
図３は、本実施形態におけるフローテーブル１１に記憶されているフローの構成例を示す図である。同図に示すようにフローテーブル１１は、例えば、２次元の表形式のテーブルである。フローテーブル１１は、仮想ネットワーク装置２Ａ〜２Ｄを識別するためのホスト名、通信トラフィックを識別し特定する条件を示すヘッダフィールド、及び、通信トラフィック（パケット）に対する処理を示すアクションの３つの項目を列として有している。フローテーブル１１における各行（フロー）は、各仮想ネットワーク装置２Ａ〜２Ｄにおける通信トラフィックの処理に対応する。例えば、「ｈｏｓｔＡ」で識別される仮想ネットワーク装置２Ａにおいて、「条件ａ１」を満たす通信トラフィックを受信すると、「処理ａ１」で定められる処理を当該通信トラフィックに対して行われる。
【００２０】
例えば、仮想ネットワーク環境を実現する技術の「ＯｐｅｎＦｌｏｗ」では、「ヘッダフィールド」として１２個のヘッダフィールドのいずれかを用いることが規定されている。１２個のヘッダフィールドは、仮想ネットワーク装置２の物理ポート番号、送信元ＭＡＣアドレス、送信先ＭＡＣアドレス、イーサネット（登録商標）の種別、ＶＬＡＮのＩＤ、ＶＬＡＮのプライオリティ、送信元ＩＰアドレス、送信先ＩＰアドレス、ＩＰプロトコル種別、ＩＰ  ＴＯＳ情報、送信元Ｌ４ポート番号、及び、送信先Ｌ４ポート番号である。
【００２１】
また、「アクション」として３種類の動作「Ｆｏｒｗａｒｄ」（転送）、「Ｄｒｏｐ」（破棄）、及び、「Ｍｏｄｉｆｙ−Ｆｉｅｌｄ」（フィールドの変更）が規定されている。「Ｆｏｒｗａｒｄ」の動作に対しては、ポート番号、「ｎｏｒｍａｌ」、「ｆｌｏｏｄ」、又は、「ｃｏｎｔｒｏｌｌｅｒ」のいずれかが付加される。ポート番号が付加されている場合には、処理対象のフローが仮想ネットワーク装置２の当該ポート番号で示されるポートから出力される。「ｎｏｒｍａｌ」が付加されている場合には、処理対象のフローを仮想ネットワーク３の制御下から通常のＬ２スイッチングやＬ３ルーティングの制御下に移す。「ｆｌｏｏｄ」が付加されている場合には、仮想ネットワーク装置２の受信ポート以外のすべてのポートから処理対象のフローが出力される。「Ｃｏｎｔｒｏｌｌｅｒ」が付加されている場合には、処理対象のフローが仮想ネットワーク制御装置１に出力される。
【００２２】
図４は、本実施形態における仮想ネットワーク装置データベース１２に記憶されている構成情報の構成例を示す図である。仮想ネットワーク装置データベース１２は、仮想ネットワーク装置２Ａ〜２Ｄ間の接続がどのような物理構成になっているかを示す情報である。同図に示すように、仮想ネットワーク装置データベース１２は、例えば、２次元の表形式のテーブルである。仮想ネットワーク装置データベース１２は、仮想ネットワーク装置２Ａ〜２Ｄを識別するためのホスト名、各仮想ネットワーク装置２Ａ〜２Ｄが有する物理ポートを識別するポート番号、及び、各物理ポートに接続されている装置を識別するホスト名又は情報を示す接続先の３つの項目を列として有している。仮想ネットワーク装置データベース１２における各行は、構成情報である。構成情報は、仮想ネットワーク装置２Ａ〜２Ｄが有する物理ポートごとに存在する。例えば、ホスト名「ｈｏｓｔＡ」、ポート番号「ｐ１」、及び、接続先「ｈｏｓｔＢ」が対応付けられた構成情報が仮想ネットワーク装置データベース１２に記憶されている。この構成情報は、ホスト名「ｈｏｓｔＡ」で識別される仮想ネットワーク装置２Ａの物理ポート「ｐ１」は、ホスト名「ｈｏｓｔＢ」で識別される仮想ネットワーク装置２Ｂが接続されていることを示す。仮想ネットワーク装置データベース１２は、例えば、仮想ネットワーク制御装置１がＬＬＤＰ（Link Layer Discovery Protocol）を利用して収集した情報に基づいて作成及び更新する。
【００２３】
図５は、本実施形態における送信元送信先一覧テーブル１３の構成例を示す図である。送信元送信先一覧テーブル１３には、経路情報を算出する際に生成される接続情報が記憶される。接続情報は、フローテーブル１１と仮想ネットワーク装置データベース１２とに記憶されている情報等に基づいて生成される。送信元送信先一覧テーブル１３は、例えば、２次元の表形式のテーブルである。送信元送信先一覧テーブル１３は、仮想ネットワーク３において通信可能な仮想ネットワーク装置２の「送信元」及び「送信先」、並びに、「送信元」から「送信先」への通信に対する「アクティブフラグ」及び「戻りフラグ」の４つの項目を列として有している。送信元送信先一覧テーブル１３における各行は、接続情報である。接続情報は、仮想ネットワーク３において定められている経路ごとに存在する。経路は送信元と送信先とで定められ向きを有する。
【００２４】
「アクティブフラグ」は、対応する経路がアクティブであるか否かを示す情報である。アクティブフラグは、フローテーブル１１において対応する経路の処理を定めている行（フロー）が参照されてから経過した時間に応じて定められる。経過した時間は、例えば、各仮想ネットワーク装置２Ａ〜２Ｄにおいて、対象となる通信トラフィックを受信し、当該通信トラフィックに対するアクションを実行してから経過した時間である。この経過した時間が予め定められた経過時間閾値を超えていない場合には、当該経路がアクティブであると判定する。すなわち、経路に対するフローが参照されてから経過時間閾値を超えている経路は、利用されていないと判断され、非アクティブであると判定される。本実施形態では、「１」がアクティブであることを示し、「０」が非アクティブであることを示す。仮想ネットワーク制御装置１は、予め定められたタイミング又は定期的に各仮想ネットワーク装置２Ａ〜２Ｄの各フローのアクティブフラグを取得し、記憶する。なお、各仮想ネットワーク装置２Ａ〜２Ｄから取得した各フローのアクティブフラグをフローテーブル１１に加えるようにしてもよい。また、経過時間閾値は、仮想ネットワーク装置２Ａ〜２Ｄにおいて同じ値を用いてもよいし、仮想ネットワーク装置２の重要度やトラフィック量などに応じて定めるようにしてもよい。
【００２５】
「戻りフラグ」は、仮想ネットワーク３を構築する際に定められる情報であり、通信の向きを示す情報である。例えば、本実施形態においてはユーザ宅内ルータ８Ａ及び８Ｂからサービス提供サーバ７Ａ及び７Ｂへ向かう方向を「行き」の通信とし、その逆の方向を「戻り」の通信とし、各通信に対して「戻りフラグ」の値を定める。行きの通信に対して「０」を割り当て、戻りの通信に対して「１」を割り当てる。戻りフラグの値は、「送信元」から「送信先」への経路に対する通信の向きに応じて定められる。なお、戻りフラグは、仮想ネットワーク装置データベース１２に付加するようにしてもよい。
図５に示される送信元送信先一覧テーブル１３には、例えば、送信元「ｈｏｓｔＡ」、送信先「ｈｏｓｔＣ」、アクティブフラグ「０」、及び、戻りフラグ「０」を有する接続情報が記憶されている。
【００２６】
制御部２０は、一覧テーブル算出部２１、及び、経路情報算出部２２を有している。一覧テーブル算出部２１は、フローテーブル１１及び仮想ネットワーク装置データベース１２に基づいて、経路情報要求で指定される２つの仮想ネットワーク装置２間の経路を算出するために用いる接続情報を生成し、生成した接続情報を送信元送信先一覧テーブル１３に記憶させる。経路情報算出部２２は、一覧テーブル算出部２１が生成した接続情報に基づいて、経路情報要求で指定される２つの仮想ネットワーク装置２間の経路を算出する。通信部３０は、仮想ネットワーク装置２Ａ〜２Ｄ及び監視サーバ４との通信を行い、受信した情報を制御部２０に出力する。また、通信部３０は、制御部２０から入力される情報を、当該情報の宛先が示す装置に送信する。例えば、通信部３０は、保守端末５から経路情報要求を受信すると、受信した経路情報要求を制御部２０に出力する。また、通信部３０は、制御部２０が算出した経路情報を、監視サーバ４に送信する。
【００２７】
以下、制御部２０が経路情報を算出する経路情報算出処理について説明する。ここでは、フローテーブル１１に図６に示すフローが定義されている場合について説明する。図６は、本実施形態におけるフローテーブル１１の一例を示す図である。ヘッダフィールドには、送信先のＭＡＣアドレスを用いた条件が定められている。また、アクションには通信トラフィックの転送先がポート番号で定められている。このフローテーブル１１には、例えば、「ｈｏｓｔＡ」（仮想ネットワーク装置２Ａ）において、送信先が物理ネットワーク装置６ＢのＭＡＣアドレスである場合、通信トラフィックを物理ポートｐ１から出力するフローが定められている。図６に示すフローでは、仮想ネットワーク装置２Ａと仮想ネットワーク装置２Ｄとの間において、仮想ネットワーク装置２Ｂを経由する経路が通常用いられる経路として定められ、仮想ネットワーク装置２Ｃを経由する経路が迂回経路として定められている。また、仮想ネットワーク装置データベース１２には、図４に示した構成情報が記憶されているものとする。また、仮想ネットワーク制御装置１が受信した経路情報要求には、仮想ネットワーク装置２Ａと仮想ネットワーク装置２Ｄとが指定されているものとする。
【００２８】
図７と図８とは、本実施形態における仮想ネットワーク制御装置１が行う経路情報算出処理を示すフローチャートである。仮想ネットワーク制御装置１において、経路情報要求が受信されると経路情報算出処理が開始される。一覧テーブル算出部２１は、フローテーブル１１に記憶されている各フローから、ホスト名とアクションにおけるポート番号との組み合わせを抽出する（ステップＳ１０１）。
抽出されるホスト名とポート番号との組み合わせは、｛（ｈｏｓｔＡ，ｐ１），（ｈｏｓｔＡ，ｐ２），（ｈｏｓｔＡ，ｐ３），（ｈｏｓｔＢ，ｐ１），（ｈｏｓｔＢ，ｐ２），（ｈｏｓｔＣ，ｐ１），（ｈｏｓｔＣ，ｐ２），（ｈｏｓｔＤ，ｐ１），（ｈｏｓｔＤ，ｐ２），（ｈｏｓｔＤ，ｐ３）｝となる。
【００２９】
一覧テーブル算出部２１は、ステップＳ１０１で抽出した組み合わせを検索キー（ホスト名，ポート番号）にして、仮想ネットワーク装置データベース１２に記憶されている構成情報を検索する（ステップＳ１０２）。
検索結果は、｛（ｈｏｓｔＡ，ｐ２，ｈｏｓｔＢ），（ｈｏｓｔＡ，ｐ２，ｈｏｓｔＣ），（ｈｏｓｔＢ，ｐ１，ｈｏｓｔＤ），（ｈｏｓｔＢ，ｐ２，ｈｏｓｔＡ），（ｈｏｓｔＣ，ｐ１，ｈｏｓｔＤ），（ｈｏｓｔＣ，ｐ２，ｈｏｓｔＡ），（ｈｏｓｔＤ，ｐ１，ｈｏｓｔＢ），（ｈｏｓｔＤ，ｐ２，ｈｏｓｔＣ）｝となる。
【００３０】
一覧テーブル算出部２１は、仮想ネットワーク装置データベース１２において検索キーに該当した構成情報があるか否かを判定し（ステップＳ１０３）、該当する構成情報がなかった場合（ステップＳ１０３：ＮＯ）、経路情報算出処理を終了させる。
一方、該当した構成があった場合（ステップＳ１０３：ＹＥＳ）、一覧テーブル算出部２１は、処理をステップＳ１０４に進める。
【００３１】
一覧テーブル算出部２１は、ステップＳ１０１の抽出結果（検索キー）と、ステップＳ１０２の検索結果とに基づいて、接続情報を生成する（ステップＳ１０４）。具体的には、ステップＳ１０１で抽出したホスト名、ステップＳ１０２で検索された構成情報の接続先のホスト名、抽出したフローに対応するアクティブフラグ、及び、戻りフラグを、接続情報の送信元、送信先、アクティブフラグ、及び、戻りフラグとする。
ステップＳ１０４の処理により、一覧テーブル算出部２１は、８つの接続情報を生成して送信元送信先一覧テーブル１３に記憶させる。これにより、送信元送信先一覧テーブル１３には、図５に示す接続情報が記憶される。
【００３２】
一覧テーブル算出部２１による送信元送信先一覧テーブル１３の更新が完了すると、経路情報算出部２２は、送信元送信先一覧テーブル１３に記憶されている接続情報に戻りフラグが「０」の接続情報があるか否か判定する（ステップＳ１０５）。
戻りフラグが「０」である接続情報がある場合（ステップＳ１０５：ＹＥＳ）、経路情報算出部２２は、処理をステップＳ１０６に進める。
一方、戻りフラグが「０」である接続情報がない場合（ステップＳ１０５：ＮＯ）、経路情報算出部２２は、経路情報算出処理を終了させる。
【００３３】
経路情報算出部２２は、経路情報要求において指定された仮想ネットワーク装置２と戻りフラグ「０」とを（送信元，戻りフラグ）に対する検索キーにして送信元送信先一覧テーブル１３から接続情報を検索する（ステップＳ１０６）。
ここで例示しているケースでは、図５に示す接続情報｛（送信元，送信先，アクティブフラグ，戻りフラグ）｝から｛（ｈｏｓｔＡ，ｈｏｓｔＢ，１，０），（ｈｏｓｔＡ，ｈｏｓｔＣ，０，０）｝の２つの接続情報が検索され、検索結果となる。
【００３４】
経路情報算出部２２は、ステップＳ１０６における検索結果の接続情報の送信元と送信先とで示される接続を経路情報とする（ステップＳ１０７）。また、接続情報においてアクティブフラグが「１」の送信元と送信先との組み合わせに対して当該経路がアクティブであることを示す属性（ＡＣＴＩＶＥ）を付与する。
この段階において経路情報は、例えば、以下のようなテキスト情報として表すことができる。
（経路情報）
・ｈｏｓｔＡ→ｈｏｓｔＢ：ＡＣＴＩＶＥ
・ｈｏｓｔＡ→ｈｏｓｔＣ
【００３５】
経路情報算出部２２は、経路情報に含まれる経路の始点と終点とが、経路情報要求において指定された２つの仮想ネットワーク装置２であるか否かを判定する（ステップＳ１０８）。
経路情報に含まれる経路の始点と終点とが指定された２つの仮想ネットワーク装置２である場合（ステップＳ１０８：ＹＥＳ）、経路情報算出部２２は処理をステップＳ１１１に進める。
一方、経路情報に含まれる経路の始点と終点とが指定された２つの仮想ネットワーク装置２でない場合（ステップＳ１０８：ＮＯ）、経路情報算出部２２は処理をステップＳ１０９に進める。
例示しているケースでは、経路情報に含まれる経路の終点は、「ｈｏｓｔＢ」と「ｈｏｓｔＣ」とであるため、経路情報算出部２２は処理をステップＳ１０９に進める。
【００３６】
経路情報算出部２２は、経路情報に含まれる経路の始点又は終点のうち経路情報要求で指定された仮想ネットワーク装置２と異なる仮想ネットワーク装置２のホスト名及び戻りフラグ「０」とを（送信元，戻りフラグ）に対する検索キーとして送信元送信先一覧テーブル１３から接続情報を検索する（ステップＳ１０９）。
経路情報が｛ｈｏｓｔＡ→ｈｏｓｔＢ，ｈｏｓｔＡ→ｈｏｓｔＣ｝である場合において、ステップＳ１０９では接続情報｛（ｈｏｓｔＢ，ｈｏｓｔＤ，１，０），（ｈｏｓｔＣ，ｈｏｓｔＤ，０，０）｝が検索結果となる。
【００３７】
経路情報算出部２２は、経路情報に含まれる経路に対して、ステップＳ１０９の検索結果を連結して経路情報を更新する（ステップＳ１１０）。検索結果を連結する際には、検索結果として得られた接続情報の送信元と、経路の終点とが一致するものをつなげる。
例示しているケースでは、検索結果の（ｈｏｓｔＢ，ｈｏｓｔＤ，１，０）と、経路（ｈｏｓｔＡ→ｈｏｓｔＢ）の終点とが対応し、検索結果が示すｈｏｓｔＢからｈｏｓｔＤへの接続を経路（ｈｏｓｔＡ→ｈｏｓｔＢ）に連結して経路（ｈｏｓｔＡ→ｈｏｓｔＢ→ｈｏｓｔＤ）に更新する。
同様に、経路（ｈｏｓｔＡ→ｈｏｓｔＣ）を経路（ｈｏｓｔＡ→ｈｏｓｔＣ→ｈｏｓｔＤ）に更新する。また、ステップＳ１０７における処理と同様に、接続情報においてアクティブフラグが「１」の送信元と送信先との組み合わせに対して当該経路がアクティブであることを示す属性（ＡＣＴＩＶＥ）を付与する。ステップＳ１１０の処理により、例示しているケースの経路情報は以下のようになる。
（経路情報）
・ｈｏｓｔＡ→ｈｏｓｔＢ→ｈｏｓｔＤ：ＡＣＴＩＶＥ
・ｈｏｓｔＡ→ｈｏｓｔＣ→ｈｏｓｔＤ
【００３８】
経路情報算出部２２は、ステップＳ１１０の処理を終えると、処理をステップＳ１０８に戻して、再度判定を行う。
例示しているケースでは、経路情報に含まれる経路の始点と終点とが、経路情報要求で指定されている仮想ネットワーク装置２Ａ及び２Ｄと一致している（ステップＳ１０８：ＹＥＳ）ので、経路情報算出部２２は処理をステップＳ１１１に進める。
【００３９】
経路情報算出部２２は、送信元送信先一覧テーブル１３に記憶されている接続情報に戻りフラグが「１」の接続情報があるか否かを判定する（ステップＳ１１１）。
戻りフラグが「１」である接続情報がある場合（ステップＳ１１１：ＹＥＳ）、経路情報算出部２２は、処理をステップＳ１１２に進める。
一方、戻りフラグが「１」である接続情報がない場合（ステップＳ１１１：ＮＯ）、経路情報算出部２２は、処理をステップＳ１１７に進める。
ここで例示しているケースでは、戻りフラグが「１」である接続情報が送信元送信先一覧テーブル１３に存在しているので、経路情報算出部２２は処理をステップＳ１１２に進める。
【００４０】
経路情報算出部２２は、経路情報要求において指定された仮想ネットワーク装置２と戻りフラグ「１」とを（送信元，戻りフラグ）に対する検索キーにして送信元送信先一覧テーブル１３から接続情報を検索する（ステップＳ１１２）。
ここで例示しているケースでは、図５に示す接続情報｛（送信元，送信先，アクティブフラグ，戻りフラグ）｝から｛（ｈｏｓｔＤ，ｈｏｓｔＣ，０，１），（ｈｏｓｔＤ，ｈｏｓｔＢ，１，１）｝の２つの接続情報が検索され、検索結果となる。
【００４１】
経路情報算出部２２は、ステップＳ１１２おける検索結果の接続情報の送信元と送信先とで示される接続を経路情報に追加する（ステップＳ１１３）。また、ステップＳ１０７における処理と同様に、接続情報においてアクティブフラグが「１」の送信元と送信先との組み合わせに対して当該経路がアクティブであることを示す属性（ＡＣＴＩＶＥ）を付与する。
例示しているケースでは、経路情報は以下のようになる。
（経路情報）
・ｈｏｓｔＡ→ｈｏｓｔＢ→ｈｏｓｔＤ：ＡＣＴＩＶＥ
・ｈｏｓｔＡ→ｈｏｓｔＣ→ｈｏｓｔＤ
・ｈｏｓｔＤ→ｈｏｓｔＢ：ＡＣＴＩＶＥ
・ｈｏｓｔＤ→ｈｏｓｔＣ
【００４２】
経路情報算出部２２は、経路情報に含まれる経路の始点と終点とが、経路情報要求において指定された２つの仮想ネットワーク装置２であるか否かを判定する（ステップＳ１１４）。
経路情報に含まれる経路の始点と終点とが指定された２つの仮想ネットワーク装置２である場合（ステップＳ１１４：ＹＥＳ）、経路情報算出部２２は処理をステップＳ１１７に進める。
一方、経路情報に含まれる経路の始点と終点とが指定された２つの仮想ネットワーク装置２でない場合（ステップＳ１１４：ＮＯ）、経路情報算出部２２は処理をステップＳ１１５に進める。
例示しているケースでは、ステップＳ１１３において追加した経路（ｈｏｓｔＤ→ｈｏｓｔＢ，ｈｏｓｔＤ→ｈｏｓｔＣ）の終点が、指定された２つの仮想ネットワーク装置２でないので、経路情報算出部２２は処理をステップＳ１１５に進める。
【００４３】
経路情報算出部２２は、経路情報に含まれる経路の始点又は終点のうち経路情報要求で指定された仮想ネットワーク装置２と異なる仮想ネットワーク装置２のホスト名と「１」とを（送信元、戻りフラグ）に対する検索キーとして送信元送信先一覧テーブル１３から接続情報を検索する（ステップＳ１１５）。
例示しているケースでは、（ｈｏｓｔＢ，１）と（ｈｏｓｔＣ，１）とを検索キーとした検索に対して接続情報｛（ｈｏｓｔＣ，ｈｏｓｔＡ，０，１），（ｈｏｓｔＢ，ｈｏｓｔＡ，１，１）｝が検索結果となる。
【００４４】
経路情報算出部２２は、経路情報に含まれる経路に対して、ステップＳ１１５の検索結果を連結して経路情報を更新する（ステップＳ１１６）。検索結果を連結する際には、検索結果として得られた接続情報の送信元と、経路の終点とが一致するものをつなげる。
例示しているケースでは、検索結果の（ｈｏｓｔＣ，ｈｏｓｔＡ，０，１）と、経路（ｈｏｓｔＤ→ｈｏｓｔＣ）の終点とが対応し、検索結果が示すｈｏｓｔＣからｈｏｓｔＡへの接続を経路（ｈｏｓｔＤ→ｈｏｓｔＣ）に連結して、経路（ｈｏｓｔＤ→ｈｏｓｔＣ→ｈｏｓｔＡ）に更新する。同様に、経路（ｈｏｓｔＤ→ｈｏｓｔＢ）を経路（ｈｏｓｔＤ→ｈｏｓｔＢ→ｈｏｓｔＡ）に更新する。また、ステップＳ１０７における処理と同様に、接続情報においてアクティブフラグが「１」の送信元と送信先との組み合わせに対して当該経路がアクティブであることを示す属性（ＡＣＴＩＶＥ）を付与する。ステップＳ１１６の処理により、例示しているケースの経路情報は以下のようになる。
（経路情報）
・ｈｏｓｔＡ→ｈｏｓｔＢ→ｈｏｓｔＤ：ＡＣＴＩＶＥ
・ｈｏｓｔＡ→ｈｏｓｔＣ→ｈｏｓｔＤ
・ｈｏｓｔＤ→ｈｏｓｔＢ→ｈｏｓｔＡ：ＡＣＴＩＶＥ
・ｈｏｓｔＤ→ｈｏｓｔＣ→ｈｏｓｔＡ
【００４５】
経路情報算出部２２は、ステップＳ１１６の処理を終えると、処理をステップＳ１１４に戻して、再度判定を行う。
例示しているケースでは、経路情報に含まれる経路の始点と終点とが、経路情報要求で指定されている仮想ネットワーク装置２Ａ及び２Ｄと一致している（ステップＳ１１４：ＹＥＳ）ので、経路情報算出部２２は処理をステップＳ１１７に進める。
経路情報算出部２２は、経路情報を監視サーバ４に出力し（ステップＳ１１７）、経路情報算出処理を終了する。
【００４６】
上記の経路情報算出処理を仮想ネットワーク制御装置１が行うことにより、仮想ネットワーク３において指定された２つの仮想ネットワーク装置２間における経路を示す経路情報を得ることができる。経路情報算出処理では、通信トラフィックの流れが定義されているフローに基づいて、仮想ネットワーク装置データベース１２において示されている物理的な接続のうち、仮想ネットワーク３において利用できる接続に絞り込んでから、２つの仮想ネットワーク装置２間の経路を算出する。これにより、仮想ネットワーク３における経路を算出することができる。
例示したケースでは、４つの経路が経路情報として得られる。経路情報算出処理により、仮想ネットワーク３におけるアクティブな経路と非アクティブな経路（冗長化経路）とを算出することができる。
【００４７】
以下、本実施形態の通信システムにおいて、経路情報算出処理が利用されるケースを例示する。図９は、本実施形態の通信システムで経路情報算出処理が利用される一例を示すシーケンス図である。ここでは、仮想ネットワーク３に備えられている仮想ネットワーク装置２Ｂにおいて障害が発生した場合について説明する。
仮想ネットワーク装置２Ｂにおいて障害が発生すると、仮想ネットワーク装置２Ｂは障害が発生したことを示す障害情報を、保守網を通じて監視サーバ４に送信する（ステップＳ２０１）。
【００４８】
監視サーバ４は、障害情報を受信すると、受信した情報を保守者が利用する保守端末５に転送して、仮想ネットワーク３において障害が発生していることを通知する（ステップＳ２０２）。
保守端末５は、障害情報を受信すると、警告メッセージを表示したり、警告音を鳴らしたりして保守者に障害の発生を通知する（ステップＳ２０３）。
保守端末５は、保守者の操作に応じて、仮想ネットワーク３における経路を把握することができる経路情報を仮想ネットワーク制御装置１に要求する（ステップＳ２０４）。
【００４９】
仮想ネットワーク制御装置１は、保守端末５から経路情報要求を受信すると、経路情報算出処理を実行して経路情報を取得する（ステップＳ２０５）。
仮想ネットワーク制御装置１は、取得した経路情報を保守端末５に送信する（ステップＳ２０６）。
【００５０】
このようにして、仮想ネットワーク３において障害が発生した場合には、仮想ネットワーク制御装置１を介して仮想ネットワーク３における経路を把握することができる。これにより、保守者は、障害情報と経路情報とに基づいて、アクティブな経路において障害が発生したのか、非アクティブな経路（冗長化経路）において障害が発生したのかを把握することができるので、障害発生時の切り分け時間を短縮することができる。その結果、高可用性の仮想ネットワーク３を提供することができる。また、障害が発生したときに限らず、経路情報を把握することにより、仮想ネットワーク３における経路の構成や、フローテーブル１１の設定の有効性を確認することができる。
また、サービス提供サーバ７Ａ及び７Ｂを用いて提供されるサービスは、高可用性の仮想ネットワーク３を介して提供されるため、サービスのダウンタイムが極小化され、ユーザに対して高品質なサービスを提供することができる。
【００５１】
なお、障害が発生した際に仮想ネットワーク装置２Ａ〜２Ｄは、仮想ネットワーク制御装置１に障害情報を送信するようにしてもよい。このとき、仮想ネットワーク制御装置１は、障害情報を受信すると経路情報算出処理を実行し、障害情報を送信した仮想ネットワーク装置２がアクティブな経路に含まれているか否かを判定する。仮想ネットワーク制御装置１は、障害情報を送信した仮想ネットワーク装置２がアクティブな経路に含まれている場合、フローテーブル１１において当該仮想ネットワーク装置２に通信トラフィックを転送するフローの利用を停止させるようにしてもよい。これにより、仮想ネットワーク３におけるダウンタイムを減少させることができる。
【００５２】
また、上記の経路情報算出処理の説明においては、図６に示されたようにレイヤ２レベルで定義されたフローテーブル１１を用いる例を示した。しかし、レイヤ２レベルに限らず他のレイヤレベルで定義されていてもよい。例えば、図１０から図１２に示すように、レイヤ１レベル（図１０）や、レイヤ３レベル（図１１）、レイヤ４レベル（図１２）に示すようにフローテーブル１１が定義されていてもよい。
【００５３】
図１０は、本実施形態におけるフローテーブル１１がレイヤ１レベルで定義された例を示す図である。ヘッダフィールドには、通信トラフィックが入力されたポート番号を用いた条件が定められている。また、アクションには、入力された通信トラフィックを出力するポート番号が定められている。図１０に示すフローでは、仮想ネットワーク装置２Ａと仮想ネットワーク装置２Ｄとの間において、仮想ネットワーク装置２Ｂを経由する経路が通常用いられる経路として定められ、仮想ネットワーク装置２Ｃを経由する経路が迂回路（冗長化経路）として定められている。
【００５４】
図１１は、本実施形態におけるフローテーブル１１がレイヤ３レベルで定義された例を示す図である。ヘッダフィールドには、通信トラフィックの送信先のＩＰアドレスを用いた条件が定められている。また、アクションには、通信トラフィックの転送先がポート番号で定められている。図１１に示すフローでは、図１０と同様に、仮想ネットワーク装置２Ａと仮想ネットワーク装置２Ｄとの間において、仮想ネットワーク装置２Ｂを経由する経路が通常用いられる経路として定められ、仮想ネットワーク装置２Ｃを経由する経路が迂回路（冗長化経路）として定められている。
【００５５】
図１２は、本実施形態におけるフローテーブル１１がレイヤ４レベルで定義された例を示す図である。ヘッダフィールドには、通信トラフィックの送信先のＭＡＣアドレスとＴＣＰのポート番号とを用いた条件が定められている。また、アクションには、通信トラフィックの転送先がポート番号で定められている。図１２に示すフローでは、仮想ネットワーク装置２Ａと仮想ネットワーク装置２Ｄとの間において、プロトコルに「ＨＴＴＰ」を用いた通信は仮想ネットワーク装置２Ｂを経由した経路を用いるように定められている。また、プロトコルに「ＨＴＴＰＳ」を用いた通信は仮想ネットワーク装置２Ｃを経由した経路を用いるように定められている。
【００５６】
フローテーブル１１が、図６、図１０から図１２のいずれのように定められていても、仮想ネットワーク制御装置１は経路情報算出処理を行うことにより経路情報を算出できる。具体的には、一覧テーブル算出部２１が、経路情報算出処理のステップＳ１０１において、フローで動作が定義されている仮想ネットワーク装置２（ホスト名）とポート番号との組み合わせを抽出することができるので、経路情報を算出できる。
【００５７】
（実施例）
ここで、上記の説明における仮想ネットワーク３と構成の異なる場合における経路情報算出処理について説明する。
図１３は、実施例における仮想ネットワーク３Ａの構成を示すブロック図である。ここでは、監視サーバ４や、保守端末５、サービス提供サーバ７Ａ及び７Ｂ、ユーザ宅内ルータ８Ａ及び８Ｂ、ユーザ端末９Ａ及び９Ｂを省いて、仮想ネットワーク３Ａの構成と物理ネットワーク装置６Ａ及び６Ｂとを示している。同図に示す仮想ネットワーク３Ａは仮想ネットワーク制御装置１と６個の仮想ネットワーク装置２Ａ〜２Ｆとを備えている。仮想ネットワーク制御装置１による制御に基づいて、互いに接続された仮想ネットワーク装置２Ａ〜２Ｆが通信することによりネットワークを形成している。仮想ネットワーク装置２Ａ〜２Ｆそれぞれのホスト名を「ｈｏｓｔＡ」、「ｈｏｓｔＢ」、「ｈｏｓｔＣ」、「ｈｏｓｔＤ」、「ｈｏｓｔＥ」、及び「ｈｏｓｔＦ」として説明する。また、各仮想ネットワーク装置２Ａ〜２Ｆそれぞれは３つの物理ポートｐ１〜ｐ３を有している。
【００５８】
図１４は、実施例における仮想ネットワーク装置データベース１２に記憶されている構成情報を示す図である。仮想ネットワーク装置データベース１２には、各仮想ネットワーク装置２Ａ〜２Ｆが有する物理ポートｐ１〜ｐ３それぞれごとに接続されている仮想ネットワーク装置２Ａ〜２Ｆ、又は、物理ネットワーク装置６Ａ、６Ｂが示されている。
【００５９】
図１５は、実施例におけるフローテーブル１１に記憶されているフローを示す図である。同図に示すフローでは、仮想ネットワーク装置２Ａと仮想ネットワーク装置２Ｆとの間において、仮想ネットワーク装置２Ｂ及び仮想ネットワーク装置２Ｄを経由する経路が通常使用する経路として設定されている。また、仮想ネットワーク装置２Ａから仮想ネットワーク装置２Ｃを経由する経路や、仮想ネットワーク装置２Ｅを経由して仮想ネットワーク装置２Ｆに向かう経路などは迂回経路（冗長化経路）として設定されている。
【００６０】
なお、本実施例においても、戻りフラグの値は、サービス提供サーバ７Ａ及び７Ｂが接続されている物理ネットワーク装置６Ｂから、ユーザ宅内ルータ８Ａ及び８Ｂが接続されている物理ネットワーク装置６Ａに向かう方向に対して「１」が予め設定され、その逆方向に「０」が予め設定されているものとする。
【００６１】
上記のように設定されている仮想ネットワーク３Ａにおいて、仮想ネットワーク装置２Ａと仮想ネットワーク装置２Ｆとを指定する経路情報要求を仮想ネットワーク制御装置１が受信した際の経路情報算出処理について説明する。
一覧テーブル算出部２１は、経路情報要求が入力されると、フローテーブル１１（図１５）からホスト名とアクションにおけるポート番号との組み合わせを抽出し、抽出したホスト名とポート番号とを検索キーにして仮想ネットワーク装置データベース１２から構成情報を検索する（ステップＳ１０１〜ステップＳ１０２）。
一覧テーブル算出部２１は、抽出結果（検索キー）及び検索結果に基づいて接続情報を生成し、生成した接続情報を送信元送信先一覧テーブル１３に記憶させる（ステップＳ１０４）。図１６は、本実施例において更新された送信元送信先一覧テーブル１３を示す図である。
【００６２】
経路情報算出部２２は、経路情報要求において指定された仮想ネットワーク装置２と戻りフラグ「０」とを（送信元，戻りフラグ）に対する検索キーにして送信元送信先一覧テーブル１３から接続情報を検索し、検索結果を経路情報とする（ステップＳ１０６〜ステップＳ１０７）。この段階における経路情報は以下のようになる。
（経路情報）
・ｈｏｓｔＡ→ｈｏｓｔＢ：ＡＣＴＩＶＥ
・ｈｏｓｔＡ→ｈｏｓｔＣ
【００６３】
経路情報算出部２２は、ホスト名「ｈｏｓｔＢ」と戻りフラグ「０」、及び、ホスト名「ｈｏｓｔＣ」と戻りフラグ「０」を検索キーにして送信元送信先一覧テーブル１３から接続情報を検索し、検索結果を経路情報に連結して更新する（ステップＳ１０９〜ステップＳ１１０）。この段階における経路情報は以下のようになる。
（経路情報）
・ｈｏｓｔＡ→ｈｏｓｔＢ→ｈｏｓｔＤ：ＡＣＴＩＶＥ
・ｈｏｓｔＡ→ｈｏｓｔＢ→ｈｏｓｔＥ
・ｈｏｓｔＡ→ｈｏｓｔＣ→ｈｏｓｔＥ
・ｈｏｓｔＡ→ｈｏｓｔＣ→ｈｏｓｔＤ
【００６４】
経路情報算出部２２は、経路情報に含まれる経路の始点と終点とが、経路情報要求で指定された仮想ネットワーク装置２と一致していないので（ステップＳ１０８：ＮＯ）、経路情報の更新を再度行う（ステップＳ１０９〜ステップＳ１１０）。この段階における経路情報は以下のようになる。
（経路情報）
・ｈｏｓｔＡ→ｈｏｓｔＢ→ｈｏｓｔＤ→ｈｏｓｔＦ：ＡＣＴＩＶＥ
・ｈｏｓｔＡ→ｈｏｓｔＢ→ｈｏｓｔＥ→ｈｏｓｔＦ
・ｈｏｓｔＡ→ｈｏｓｔＣ→ｈｏｓｔＥ→ｈｏｓｔＦ
・ｈｏｓｔＡ→ｈｏｓｔＣ→ｈｏｓｔＤ→ｈｏｓｔＦ
【００６５】
経路情報算出部２２は、経路情報に含まれる経路の始点と終点とが、経路情報要求で指定された仮想ネットワーク装置２と一致しているので（ステップＳ１０８：ＹＥＳ）、戻りフラグが「１」の接続情報に基づいた経路の算出を行う。
経路情報算出部２２は、経路情報要求において指定された仮想ネットワーク装置２と戻りフラグ「１」とを（送信元，戻りフラグ）に対する検索キーにして送信元送信先一覧テーブル１３から接続情報を検索し、検索結果を経路情報に追加する（ステップＳ１１２〜ステップＳ１１３）。この段階における経路情報は以下のようになる。
（経路情報）
・ｈｏｓｔＡ→ｈｏｓｔＢ→ｈｏｓｔＤ→ｈｏｓｔＦ：ＡＣＴＩＶＥ
・ｈｏｓｔＡ→ｈｏｓｔＢ→ｈｏｓｔＥ→ｈｏｓｔＦ
・ｈｏｓｔＡ→ｈｏｓｔＣ→ｈｏｓｔＥ→ｈｏｓｔＦ
・ｈｏｓｔＡ→ｈｏｓｔＣ→ｈｏｓｔＤ→ｈｏｓｔＦ
・ｈｏｓｔＦ→ｈｏｓｔＥ：ＡＣＴＩＶＥ
・ｈｏｓｔＦ→ｈｏｓｔＤ
【００６６】
経路情報算出部２２は、ホスト名「ｈｏｓｔＥ」と戻りフラグ「１」、及び、ホスト名「ｈｏｓｔＤ」と戻りフラグ「１」を検索キーにして送信元送信先一覧テーブル１３から接続情報を検索し、検索結果を経路情報に連結して更新する（ステップＳ１１５〜ステップＳ１１６）。この段階における経路情報は以下のようになる。
（経路情報）
・ｈｏｓｔＡ→ｈｏｓｔＢ→ｈｏｓｔＤ→ｈｏｓｔＦ：ＡＣＴＩＶＥ
・ｈｏｓｔＡ→ｈｏｓｔＢ→ｈｏｓｔＥ→ｈｏｓｔＦ
・ｈｏｓｔＡ→ｈｏｓｔＣ→ｈｏｓｔＥ→ｈｏｓｔＦ
・ｈｏｓｔＡ→ｈｏｓｔＣ→ｈｏｓｔＤ→ｈｏｓｔＦ
・ｈｏｓｔＦ→ｈｏｓｔＤ→ｈｏｓｔＢ：ＡＣＴＩＶＥ
・ｈｏｓｔＦ→ｈｏｓｔＥ→ｈｏｓｔＢ
・ｈｏｓｔＦ→ｈｏｓｔＥ→ｈｏｓｔＣ
・ｈｏｓｔＦ→ｈｏｓｔＤ→ｈｏｓｔＣ
【００６７】
経路情報算出部２２は、経路情報に含まれる経路の始点と終点とが、経路情報要求で指定された仮想ネットワーク装置２と一致していないので（ステップＳ１１４：ＮＯ）、経路情報の更新を再度行う（ステップＳ１１５〜ステップＳ１１６）。この段階における経路情報は以下のようになる。
（経路情報）
・ｈｏｓｔＡ→ｈｏｓｔＢ→ｈｏｓｔＤ→ｈｏｓｔＦ：ＡＣＴＩＶＥ
・ｈｏｓｔＡ→ｈｏｓｔＢ→ｈｏｓｔＥ→ｈｏｓｔＦ
・ｈｏｓｔＡ→ｈｏｓｔＣ→ｈｏｓｔＥ→ｈｏｓｔＦ
・ｈｏｓｔＡ→ｈｏｓｔＣ→ｈｏｓｔＤ→ｈｏｓｔＦ
・ｈｏｓｔＦ→ｈｏｓｔＤ→ｈｏｓｔＢ→ｈｏｓｔＡ：ＡＣＴＩＶＥ
・ｈｏｓｔＦ→ｈｏｓｔＥ→ｈｏｓｔＢ→ｈｏｓｔＡ
・ｈｏｓｔＦ→ｈｏｓｔＥ→ｈｏｓｔＣ→ｈｏｓｔＡ
・ｈｏｓｔＦ→ｈｏｓｔＤ→ｈｏｓｔＣ→ｈｏｓｔＡ
【００６８】
経路情報算出部２２は、経路情報に含まれる経路の始点と終点とが、経路情報要求で指定された仮想ネットワーク装置２と一致しているので（ステップＳ１１４：ＹＥＳ）、算出した経路情報を出力し（ステップＳ１１７）、経路情報算出処理を終了させる。
【００６９】
上記のように、経路情報算出処理により得られる経路情報から、アクティブな経路と、冗長化された経路とを把握することができる。例えば、アクティブな経路における仮想ネットワーク装置２Ｄに障害が発生した場合には、仮想ネットワーク装置２Ｄを経由しない経路を利用するようにフローテーブル１１を変更することにより、発生した障害を回避することができる。
【００７０】
なお、仮想ネットワークの構成として、４個の仮想ネットワーク装置２を有する場合と、６個の仮想ネットワーク装置２を有する場合とを例示したが、５個の仮想ネットワーク装置２、又は、７個以上の仮想ネットワーク装置２を有する構成であってもよい。
また、仮想ネットワーク制御装置１が一覧テーブル算出部２１と経路情報算出部２２とを有する構成について説明したが、通信システムは、一覧テーブル算出部２１と経路情報算出部２２とを備える他の装置を具備していてもよい。また、一覧テーブル算出部２１と経路情報算出部２２とそれぞれを独立した装置として具備していても良い。この場合、これらの装置は、保守網を介して仮想ネットワーク制御装置１と通信を行い、経路情報を算出することになる。
【００７１】
なお、図１における仮想ネットワーク制御装置１の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより経路情報算出処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００７２】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。更に、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００７３】
１…仮想ネットワーク制御装置
２、２Ａ、２Ｂ、２Ｃ、２Ｄ、２Ｅ、２Ｆ…仮想ネットワーク装置
３、３Ａ…仮想ネットワーク
４…監視サーバ
５…保守端末
６Ａ、６Ｂ…物理ネットワーク装置
７Ａ、７Ｂ…サービス提供サーバ
８Ａ、８Ｂ…ユーザ宅内ルータ
９Ａ、９Ｂ…ユーザ端末
１０…記憶部
１１…フローテーブル
１２…仮想ネットワーク装置データベース
１３…送信元送信先一覧テーブル
２０…制御部
２１…一覧テーブル算出部
２２…経路情報算出部
３０…通信部
【図１】
2014183535.tif 000003
【図２】
2014183535.tif 000004
【図３】
2014183535.tif 000005
【図４】
2014183535.tif 000006
【図５】
2014183535.tif 000007
【図６】
2014183535.tif 000008
【図７】
2014183535.tif 000009
【図８】
2014183535.tif 000010
【図９】
2014183535.tif 000011
【図１０】
2014183535.tif 000012
【図１１】
2014183535.tif 000013
【図１２】
2014183535.tif 000014
【図１３】
2014183535.tif 000015
【図１４】
2014183535.tif 000016
【図１５】
2014183535.tif 000017
【図１６】
2014183535.tif 000018