(57)【要約】      （修正有）【課題】制約環境外から制約環境にネットワークを延伸すること。【解決手段】ネットワーク延伸システムは、第１のゲートウェイと第１のホストコンピュータと通信可能な第１のネットワークシステムと、第２のゲートウェイと第２のホストコンピュータとが通信可能な第２のネットワークシステムと、を含む。第２のネットワークシステムは、外部からの第１のデータの送信元ネットワークアドレス情報が、第２のゲートウェイのインターフェース群のうち第２のホストコンピュータと接続されるインターフェースにない場合、第１のデータを廃棄し、第２のホストコンピュータからの第２のデータの宛先のネットワークアドレス情報が前記インターフェースにない場合、第２のデータを廃棄する管理装置を有する。管理装置を制御する制御装置は第１のホストコンピュータのネットワークアドレス情報を取得して前記インターフェースに割り当てる。【選択図】図１Ａ
2016048811.tif 000002
【特許請求の範囲】
【請求項１】
第１のゲートウェイと第１のホストコンピュータと通信可能な第１のネットワークシステムと、第２のゲートウェイと第２のホストコンピュータとが通信可能な第２のネットワークシステムと、を接続するネットワーク延伸システムであって、
前記第２のネットワークシステムは、前記第２のネットワークシステム外からの第１のデータの送信元のネットワークアドレス情報が、前記第２のゲートウェイのインターフェース群のうち前記第２のホストコンピュータと接続されるインターフェースに設定されていない場合に、前記第１のデータを廃棄し、前記第２のホストコンピュータからの第２のデータの宛先のネットワークアドレス情報が前記第２のゲートウェイのインターフェース群のうち前記第２のホストコンピュータと接続されるインターフェースに設定されていない場合に、前記第２のデータを廃棄する管理装置を有し、
前記ネットワーク延伸システムは、前記管理装置を制御する制御装置を有し、
前記制御装置は、
前記第１のホストコンピュータのネットワークアドレス情報を取得する取得処理と、
前記管理装置を制御して、前記取得処理によって取得された前記第１のホストコンピュータのネットワークアドレス情報を、前記第２のゲートウェイのインターフェース群のうち前記第２のホストコンピュータと接続されるインターフェースに割り当てる割当処理と、
を実行することを特徴とするネットワーク延伸システム。
【請求項２】
前記制御装置は、
前記取得処理では、前記第１のホストコンピュータのＩＰアドレスを取得し、
前記割当処理では、前記取得処理によって取得された前記第１のホストコンピュータのＩＰアドレスと特定のＭＡＣアドレスとの組み合わせを、前記第２のゲートウェイのインターフェース群のうち前記第２のホストコンピュータと接続されるインターフェースに割り当て、
前記第２のネットワークシステム外からのデータの送信元ＩＰアドレスが前記第１のホストコンピュータのＩＰアドレスである場合に、前記データの送信元ＭＡＣアドレスを前記第１のホストコンピュータのＭＡＣアドレスから前記特定のＭＡＣアドレスに変換する変換ルールを前記第２のゲートウェイに設定する設定処理を実行することを特徴とする請求項１に記載のネットワーク延伸システム。
【請求項３】
前記制御装置は、
前記取得処理では、前記第１のホストコンピュータのＩＰアドレスを取得し、
前記割当処理では、前記取得処理によって取得された前記第１のホストコンピュータのＩＰアドレスと特定のＭＡＣアドレスとの組み合わせを、前記第２のゲートウェイのインターフェース群のうち前記第２のホストコンピュータと接続されるインターフェースに割り当て、
前記第２のホストコンピュータからのデータの宛先ＩＰアドレスが前記第１のホストコンピュータのＩＰアドレスである場合に、前記データの宛先ＭＡＣアドレスを前記特定のＭＡＣアドレスから前記第１のホストコンピュータのＭＡＣアドレスに変換する変換ルールを、前記第２のゲートウェイに設定する設定処理を実行することを特徴とする請求項１に記載のネットワーク延伸システム。
【請求項４】
前記制御装置は、
前記第２のゲートウェイが前記第２のネットワークシステムに存在しない場合、前記管理装置内に前記第２のゲートウェイの仮想マシンを構築することを特徴とする請求項１に記載のネットワーク延伸システム。
【請求項５】
前記制御装置は、
前記第１のネットワークシステムからの要求に応じて、前記割当処理を実行することを特徴とすることを特徴とする請求項１に記載のネットワーク延伸システム。
【請求項６】
前記第１のネットワークシステムは、
前記第２のネットワークシステムを利用する利用者のネットワークシステムであることを特徴とする請求項１に記載のネットワーク延伸システム。
【請求項７】
前記第１のネットワークシステムは、
前記第２のネットワークシステムを利用する利用者に利用されるネットワークシステムであることを特徴とする請求項１に記載のネットワーク延伸システム。
【請求項８】
第１のゲートウェイと第１のホストコンピュータと通信可能な第１のネットワークシステムと、第２のゲートウェイと第２のホストコンピュータとが通信可能な第２のネットワークシステムと、を接続するネットワーク延伸システムに接続される制御装置であって、
前記制御装置は、
前記第２のネットワークシステムに設けられ、前記第２のネットワークシステム外からの第１のデータの送信元のネットワークアドレス情報が、前記第２のゲートウェイのインターフェース群のうち前記第２のホストコンピュータと接続されるインターフェースに設定されていない場合に、前記第１のデータを廃棄し、前記第２のホストコンピュータからの第２のデータの宛先のネットワークアドレス情報が前記第２のゲートウェイのインターフェース群のうち前記第２のホストコンピュータと接続されるインターフェースに設定されていない場合に、前記第２のデータを廃棄する管理装置を制御し、
前記制御装置は、
前記第１のホストコンピュータのネットワークアドレス情報を取得する取得処理と、
前記管理装置を制御して、前記取得処理によって取得された前記第１のホストコンピュータのネットワークアドレス情報を、前記第２のゲートウェイのインターフェース群のうち前記第２のホストコンピュータと接続されるインターフェースに割り当てる割当処理と、
を実行することを特徴とする制御装置。
【請求項９】
第１のゲートウェイと第１のホストコンピュータと通信可能な第１のネットワークシステムと、第２のゲートウェイと第２のホストコンピュータとが通信可能な第２のネットワークシステムと、を接続するネットワーク延伸システムによるネットワーク延伸方法であって、
前記第２のネットワークシステムは、前記第２のネットワークシステム外からの第１のデータの送信元のネットワークアドレス情報が、前記第２のゲートウェイのインターフェース群のうち前記第２のホストコンピュータと接続されるインターフェースに設定されていない場合に、前記第１のデータを廃棄し、前記第２のホストコンピュータからの第２のデータの宛先のネットワークアドレス情報が前記第２のゲートウェイのインターフェース群のうち前記第２のホストコンピュータと接続されるインターフェースに設定されていない場合に、前記第２のデータを廃棄する管理装置を有し、
前記ネットワーク延伸システムは、前記管理装置を制御する制御装置を有し、
前記制御装置は、
前記第１のホストコンピュータのネットワークアドレス情報を取得する取得処理と、
前記管理装置を制御して、前記取得処理によって取得された前記第１のホストコンピュータのネットワークアドレス情報を、前記第２のゲートウェイのインターフェース群のうち前記第２のホストコンピュータと接続されるインターフェースに割り当てる割当処理と、
を実行することを特徴とするネットワーク延伸方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを他のネットワークへ延伸するネットワーク延伸システム、制御装置、およびネットワーク延伸方法に関する。
【背景技術】
【０００２】
近年、システム構築の迅速化や計算機資源の維持管理費削減等のために、クラウドサービス等の用途でのデータセンタ利用が進んでいる。さらに、企業や組織等のクラウド利用者が保有するデータセンタ環境（以下：クラウド利用者環境）やサービスプロバイダが提供するクラウド環境（以下：クラウド環境）等の複数環境を用途に応じて適材適所に組み合わせるハイブリッドクラウドが進展している。
【０００３】
このようなハイブリッドクラウドにおいて、例えばクラウド利用者環境からクラウド環境にクラウド利用者の業務システムを拡張または移行する上で、クラウド利用者の通信が流れるネットワーク（以下：サイトネットワーク）の構成変更をする場合がある。
【０００４】
当該構成変更では、個々の環境のサイトネットワークを仮想的に一つのネットワークとしてみなせる仮想ネットワークが用いられる。例えば、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークにおいては、例えばＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）やＶＸＬＡＮ（Ｖｉｒｔｕａｌ  ｅＸｔｅｎｓｉｂｌｅ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の仮想ネットワーク技術が用いられる。これにより、クラウド利用者はクラウド利用者環境のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を、ＩＰアドレス体系を維持したまま、クラウド環境等のＬＡＮに延伸してシームレスに業務システムの拡張や移行を行うことができる。このような、ハイブリッドクラウドを実現する仮想ネットワーク技術として、たとえば、下記特許文献１および特許文献２の方法がある。
【０００５】
特許文献１には、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネット等の外部ネットワークとサイトネットワーク間の通信転送処理を行う仮想スイッチを個々の環境に配備することで、クラウド利用者環境とクラウド環境に跨った仮想ネットワークを実現する技術が記載されている。
【０００６】
また、特許文献２には、個々の環境に仮想スイッチを含むエッジを配備し、個々のエッジがエッジ配下にあるホストコンピュータのネットワークを一意に識別するためのネットワーク識別情報（以下：ネットワークアドレス情報）を自律学習し、かつ、エッジ間でネットワークアドレス情報を自律共有することで、二つ以上のデータセンタ間に跨った仮想ネットワークを実現する技術が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許８３４５６９２号公報（図１、図４、明細書第２欄、第３欄、第５欄〜第７欄）
【特許文献２】米国特許８１６６２０５号公報（図１、図２、明細書第４欄〜第７欄）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した特許文献１および特許文献２で開示されている手法のいずれか、または全てを組み合わせても、様々なクラウド環境に対して、クラウド利用者環境のサイトネットワークを延伸することができない。例えば、クラウド環境のサービス仕様によっては、サイトネットワーク延伸が拒絶される。具体的には、当該クラウド環境において、クラウド基盤が当該クラウド環境内のサイトネットワークやホストコンピュータのネットワークアドレス情報を管理し、当該サイトネットワークや当該ホストコンピュータによる通信のみを許可している場合、クラウド利用者環境から当該クラウド環境にサイトネットワークを延伸すると、クラウド利用者環境側のホストコンピュータのネットワークアドレスがクラウド基盤に登録されていないため、当該通信は遮断される。特許文献１、２で開示されている技術は、このようなクラウド環境に対応できず、通信が遮断されたままである。
【０００９】
以下では、前記のように通信が遮断されるクラウド環境を制約環境、その他のクラウド環境を非制約環境とする。このように、従来技術においては、制約環境にサイトネットワークを延伸してハイブリッドクラウドを実現できないという問題がある。本発明は、制約環境外から制約環境にネットワークを延伸することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一つの側面であるネットワーク延伸システムは、第１のゲートウェイと第１のホストコンピュータと通信可能な第１のネットワークシステムと、第２のゲートウェイと第２のホストコンピュータとが通信可能な第２のネットワークシステムと、を接続するネットワーク延伸システムであって、前記第２のネットワークシステムは、前記第２のネットワークシステム外からの第１のデータの送信元のネットワークアドレス情報が、前記第２のゲートウェイのインターフェース群のうち前記第２のホストコンピュータと接続されるインターフェースに設定されていない場合に、前記第１のデータを廃棄し、前記第２のホストコンピュータからの第２のデータの宛先のネットワークアドレス情報が前記第２のゲートウェイのインターフェース群のうち前記第２のホストコンピュータと接続されるインターフェースに設定されていない場合に、前記第２のデータを廃棄する管理装置を有し、前記ネットワーク延伸システムは、前記管理装置を制御する制御装置を有し、前記制御装置は、前記第１のホストコンピュータのネットワークアドレス情報を取得する取得処理と、前記管理装置を制御して、前記取得処理によって取得された前記第１のホストコンピュータのネットワークアドレス情報を、前記第２のゲートウェイのインターフェース群のうち前記第２のホストコンピュータと接続されるインターフェースに割り当てる割当処理と、を実行することを特徴とする。
【発明の効果】
【００１１】
本発明の代表的な実施の形態によれば、制約環境外から制約環境にネットワークを延伸することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１Ａ】実施例１にかかるネットワーク延伸例を示す説明図である。
【図１Ｂ】図１Ａに示したハイブリッドクラウドにおけるネットワークアドレスの収集例を示す説明図である。
【図２】ハイブリッドクラウドのシステム構成例を示す説明図である。
【図３】仮想ネットワークの概念を示す説明図である。
【図４】ゲートウェイのハードウェアとソフトウェアの構成例を示すブロック図である。
【図５】ゲートウェイコントローラのハードウェアとソフトウェアの構成例を示すブロック図である。
【図６】クラウド基盤のハードウェアとソフトウェアの構成例を示すブロック図である。
【図７】仮想ネットワーク管理テーブルの一例を示す説明図である。
【図８】サイトネットワーク管理テーブルの一例を示す説明図である。
【図９】仮想ネットワーク−サイトネットワーク関連付け管理テーブルの一例を示す説明図である。
【図１０】サイトネットワーク−サイト関連付け管理テーブルの一例を示す説明図である。
【図１１】サイトネットワーク−ゲートウェイ関連付け管理テーブルの一例を示す説明図である。
【図１２】サイトネットワーク−ホストコンピュータ関連付け管理テーブルの一例を示す説明図である。
【図１３】クラウドネットワーク情報管理テーブルの一例を示す説明図である。
【図１４】カプセル化される前のデータおよびカプセル化後のデータのデータ構造の一例を示す説明図である。
【図１５】ゲートウェイとゲートウェイコントローラとの間のメッセージ例１を示す説明図である。
【図１６】ゲートウェイとゲートウェイコントローラとの間のメッセージ例２を示す説明図である。
【図１７】ネットワーク延伸シーケンスの一例を示すシーケンス図１である。
【図１８】ネットワーク延伸シーケンスの一例を示すシーケンス図２である。
【図１９】図１８に示したネットワーク延伸処理（ステップＳ１８０６）の一例を示すフローチャートである。
【図２０Ａ】実施例２にかかるネットワーク延伸例１を示す説明図である。
【図２０Ｂ】実施例２にかかるネットワーク延伸例２を示す説明図である。
【図２１】実施例２におけるクラウドネットワーク情報管理テーブルの一例を示す説明図である。
【図２２】実施例２における通信アドレス変換される前後のデータの構造例を示す説明図である。
【図２３】実施例２におけるネットワーク延伸フローの一例を示す説明図である。
【発明を実施するための形態】
【００１３】
以下、実施例を図面を用いて説明する。なお、これにより本発明が限定されるものではない。  
【実施例１】
【００１４】
＜ネットワーク延伸例＞
図１Ａは、実施例１にかかるネットワーク延伸例を示す説明図である。図１Ａにおいて、表Ｔ１は、各種環境下でのユニキャストおよびブロードキャストの通信可否を示す表であり、表Ｔ２は、送信元と宛先との環境の組み合わせを示す表である。表Ｔ２において、制約環境は、たとえば、ブロードキャスト禁止およびスプーフィング禁止という制約条件があるクラウド環境である。スプーフィングとは、送信元ネットワークアドレスに偽のネットワークアドレスを割り当て、パケットを送り込む攻撃手法である。たとえば、（III）は、送信元に制約条件があり、宛先に制約条件がないケースを示す。
【００１５】
表Ｔ１において、「Ａ」は通信可能を示し、「Ｄ」はアクセス制御機能によるパケットの廃棄を示す。また、「Ｒ」は、アクセス制御機能が代理応答する場合を示す。また、「Ｄ→Ａ」は、背景技術の項で示した従来技術ではアクセス制御機能によるパケットの廃棄となるが、実施例１により通信可能な場合を示す。
【００１６】
図１Ａに示すハイブリッドクラウド１００は、プライベートクラウドであるクラウド利用者環境１０１と、パブリッククラウドであるクラウド環境１０２Ａと、パブリッククラウドであるクラウド環境１０２Ｂとが、ＷＡＮやインターネット等の外部ネットワーク１０３を介して接続される。ハイブリッドクラウド１００は、ネットワーク延伸を実行可能なシステムである。図１Ａの例では、クラウド利用者環境１０１およびクラウド環境１０２Ａを非制約環境とし、クラウド環境１０２Ｂを制約環境として説明する。
【００１７】
クラウド利用者環境１０１は、ゲートウェイＧ１と、ノードＮ１、Ｎ２と、を有するサイトを示すネットワークシステムである。例として、ノードＮ１のＩＰアドレスを「Ａ」、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを「α」とする。
【００１８】
クラウド環境１０２Ａは、ゲートウェイＧ２Ａと、クラウド基盤１２０と、ノードＮ３、Ｎ４と、を有するサイトを示すネットワークシステムである。クラウド基盤１２０は、ネットワーク延伸を実行する機能を有する。
【００１９】
クラウド環境１０２Ｂは、ゲートウェイＧ２Ｂと、クラウド基盤１３０と、ノードＮ５、Ｎ６と、を有するサイトを示すネットワークシステムである。ゲートウェイＧ１、Ｇ２Ａ、Ｇ２Ｂ（総称して、ゲートウェイＧ）は、外部ネットワーク１０３を介してデータを送受信する。ノードＮ１〜Ｎ６は、自サイト内の他のノードまたは他サイトのノードにデータを送信したり、自サイト内の他のノードまたは他サイトのノードからのデータを受信したりする。
【００２０】
クラウド基盤１３０は、アクセス制御機能を有し、上述した制約条件によりデータを廃棄する管理装置である。具体的には、たとえば、クラウド基盤１３０は、ＩＰアドレスとＭＡＣアドレスとを関連付けたネットワークアドレス情報テーブル１３１を有する。ネットワークアドレス情報テーブル１３１は、ノードＮまたはゲートウェイＧを特定するＩＰアドレスとＭＡＣアドレスの組に、ゲートウェイＧまたはホストコンピュータＨのネットワークインターフェースを割り当てたテーブルである。クラウド基盤１３０は、データの宛先ＩＰアドレスと宛先ＭＡＣアドレスの組み合わせがネットワークアドレス情報テーブル１３１に存在しない場合は、当該データを廃棄する。
【００２１】
ここで、表Ｔ１の各ケースについて説明する。（I）は、送信元および宛先が非制約環境であるケースである。たとえば、ノードＮ１からノードＮ３にデータを送信するケースが該当する。この場合、ノードＮ１からのデータ（ユニキャストでもブロードキャストでもよい）は、ゲートウェイＧ１、外部ネットワーク１０３、ゲートウェイＧ２Ａ、クラウド基盤１２０を経由して、ノードＮ３に到達する。
【００２２】
（II)は、送信元が非制約環境であり、宛先が制約環境であるケースである。たとえば、ノードＮ１からノードＮ５にパケットを送信するケースが該当する。たとえば、ノードＮ１（送信元ＩＰアドレス：Ａ，送信元ＭＡＣアドレス：α）からノードＮ５（宛先ＩＰアドレス：Ｃ、宛先ＭＡＣアドレス：γ）にデータＦをユニキャスト送信する場合を説明する。データＦは、ゲートウェイＧ１でカプセル化されてデータＰとなり、データＰは外部ネットワーク１０３を経由し、ゲートウェイＧ２Ｂでデカプセル化されてデータＦにもどり、データＦはクラウド基盤１３０に到達する。
【００２３】
クラウド基盤１３０は、ネットワークアドレス情報テーブル１３１を参照し、データＦに含まれる送信元ＩＰアドレス：Ａ，送信元ＭＡＣアドレス：αの組み合わせが、ネットワークアドレス情報テーブル１３１に存在するか否かを判断する。本例の場合、存在するため、データＦは、ノードＮ５に受信される。このように、制約環境のゲートウェイＧ２Ｂのネットワークインターフェース（ＩＦ２）に、制約環境以外のノードのネットワークアドレス情報（ＩＰアドレス：Ａ，ＭＡＣアドレス：α）を割り当てることで、ネットワーク延伸を実現することができる。
【００２４】
なお、ノードＮ５が存在するクラウド環境１０２Ｂは制約環境であるため、ノードＮ１からのデータがブロードキャストされる場合は、クラウド基盤１３０は廃棄することになる。また、ノードＮ１からノードＮ５への送信例を説明したが、送信元はノードＮ２〜Ｎ４のいずれかでもよく、宛先はノードＮ６でもよい。
【００２５】
（III）は、送信元が制約環境であり、宛先が非制約環境である。たとえば、ノードＮ５からノードＮ１にデータを送信するケースが該当する。たとえば、ノードＮ５（宛先ＩＰアドレス：Ｃ、宛先ＭＡＣアドレス：γ）からノードＮ１（送信元ＩＰアドレス：Ａ，送信元ＭＡＣアドレス：α）にデータをユニキャストする場合を説明する。クラウド基盤１３０は、ネットワークアドレス情報テーブル１３１を参照し、ノードＮ５からのデータに含まれる送信元ＩＰアドレス：Ａ，送信元ＭＡＣアドレス：αの組み合わせが、ネットワークアドレス情報テーブル１３１に存在するか否かを判断する。本例の場合、存在するため、クラウド基盤１３０は、ノードＮ５からのデータを廃棄せずに、ゲートウェイＧ２Ｂに転送する。ゲートウェイＧ２Ｂは、受信したデータをカプセル化する。カプセル化されたデータは、外部ネットワーク１０３を経由し、ゲートウェイＧ１でデカプセル化され、ノードＮ１に到達する。
【００２６】
このように、制約環境のゲートウェイＧ２Ｂのネットワークインターフェース（ＩＦ２）に制約環境以外のノードのネットワークアドレス情報（ＩＰアドレス：Ａ，ＭＡＣアドレス：α）を割り当てることで、ネットワーク延伸を実現することができる。
【００２７】
なお、ノードＮ５が存在するクラウド環境１０２Ｂは制約環境であるため、ノードＮ５からのデータがブロードキャストされる場合は、クラウド基盤１３０は廃棄することになる。また、ノードＮ５からノードＮ１への送信例を説明したが、送信元はノードＮ６でもよく、宛先はノードＮ２〜Ｎ４のいずれかでもよい。
【００２８】
（IV)は、送信元および宛先が制約環境であり、送信元の制約環境と宛先の制約環境が異なる場合である。たとえば、図示しない制約環境下にあるノードからノードＮ５にパケットを送信するケースや、ノードＮ５から図示しない制約環境下にあるノードにパケットを送信するケースが該当する。
【００２９】
図示しない制約環境下にあるノードからノードＮ５にパケットを送信するケースについては、送信側である図示しない制約環境における処理は、（III）と同様であり、受信側であるクラウド環境１０２Ｂにおける処理は、（II）と同様である。
【００３０】
また、ノードＮ５から図示しない制約環境下にあるノードにデータを送信するケースについては、送信側であるクラウド環境１０２Ｂにおける処理は、（III）と同様であり、受信側である図示しない制約環境における処理は、（II）と同様である。すなわち、図示しない制約環境下にあるノードのネットワークアドレス情報（ＩＰアドレスとＭＡＣアドレス）がネットワークアドレス情報テーブル１３１に存在すれば、ノードＮ５は、図示しない制約環境下にあるノードにユニキャスト送信でき、図示しない制約環境下にあるノードからユニキャストされたデータを受信できる。
【００３１】
このように、制約環境のゲートウェイのネットワークインターフェースに制約環境以外のノードのネットワークアドレス情報を割り当てることで、ネットワーク延伸を実現することができる。
【００３２】
なお、ノードＮ５が存在するクラウド環境１０２Ｂは制約環境であるため、ノードＮ５からのデータがブロードキャストされる場合は、クラウド基盤１３０は廃棄し、また、図示しない制約環境下にあるノードからのデータがブロードキャストされる場合もクラウド基盤１３０は廃棄することになる。また、ノードＮ５を例にあげて説明したがノードＮ６でもよい。
【００３３】
（IV'）は、送信元および宛先が制約環境であり、送信元の制約環境と宛先の制約環境が同一の場合である。たとえば、ノードＮ５からノードＮ６にデータを送信するケースが該当する。ノードＮ５からのデータがユニキャストされる場合、（III）で説明したように、ノードＮ５からのデータはゲートウェイＧ２Ｂに到達するが、ノードＮ５からのデータはゲートウェイＧ２Ｂで折り返して、クラウド基盤１３０を経由してノードＮ６に到達する。なお、ノードＮ５からのデータがブロードキャストされる場合、クラウド基盤１３０が代理応答によりノードＮ６に送信するが、それ以外のノードＮ１〜Ｎ４には送信せずにクラウド基盤１３０が廃棄する。
【００３４】
＜ネットワークアドレスの収集例＞
図１Ｂは、図１Ａに示したハイブリッドクラウドにおけるネットワークアドレスの収集例を示す説明図である。あるサイト（たとえば、クラウド環境１０２Ａ，１０２Ｂ）のネットワークアドレスを他のサイト（たとえば、クラウド利用者環境１０１）のゲートウェイＧに割り当てるためには、事前にゲートウェイコントローラ１４０が、各サイトのネットワークアドレスを収集しておく必要がある。
【００３５】
クラウド利用者環境１０１には、クラウド基盤がないため、ゲートウェイＧ１がクラウド利用者環境１０１内のサイトネットワークＳ１１、Ｓ１２およびノードＮ１、Ｎ２、Ｎ１０、Ｎ２０のネットワークアドレスを自律的に収集する。具体的には、たとえば、ゲートウェイＧ１は、ＡＲＰを利用してネットワークアドレスを学習する学習機能（たとえば、Ｏｐｅｎ  Ｆｌｏｗ（登録商標）コントローラ）を有し、ノードＮ１，Ｎ２，Ｎ１０，Ｎ２０からのデータの送信元ＭＡＣアドレスおよび送信元ＩＰアドレス（ノードネットワークアドレス）を収集する。また、ゲートウェイＧ１は、収集した送信元ＩＰアドレスを元にして、サイトネットワークＳ１１、Ｓ１２のネットワークアドレス（サイトネットワークアドレス）を特定する。
【００３６】
また、あるノードＮ１が他サイト（たとえば、クラウド環境１０２Ａ，１０２Ｂ）のノードにデータを送信する場合、他サイトのノードのＭＡＣアドレスが不明な場合がある。この場合、ゲートウェイＧ１の学習機能が保持するＡＲＰテーブルに、他サイトのノードのＭＡＣアドレスとＩＰアドレスの組み合わせを示すエントリが存在すれば、ゲートウェイＧ１の学習機能が当該エントリを参照して、データの送信元のノードＮ１に通知する。これにより、ノードＮ１は、他サイトのノードのＭＡＣアドレスとＩＰアドレスの組み合わせを特定することができる。
【００３７】
クラウド環境１０２Ａのクラウド基盤１２０は、あらかじめサイトネットワークＳ２Ａ、ゲートウェイＧ２Ａ、ノードＮ３、ノードＮ４のネットワークアドレスを保持しているものとする。サイトネットワークとは、自サイト内のネットワークであり、たとえば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ），ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。クラウド利用者環境１０１のゲートウェイＧ１のように、ゲートウェイＧ２がサイトネットワークＳ２Ａ、ノードＮ３、ノードＮ４のネットワークアドレスを自律学習して、クラウド基盤１２０に登録してもよい。なお、クラウド基盤１３０についても、クラウド基盤１２０と同様である。
【００３８】
ゲートウェイコントローラ１４０は、クラウド利用者環境１０１のゲートウェイＧ１、クラウド環境１０２Ａ，１０２Ｂのクラウド基盤１２０，１３０から、ネットワークアドレス情報（サイトネットワークアドレス、ノードネットワークアドレス、ゲートウェイネットワークアドレス）を収集し、ネットワークアドレス管理ＤＢ１４１に格納する。すなわち、ゲートウェイコントローラ１４０は、ネットワークアドレス情報を一元管理する。
【００３９】
そして、各ゲートウェイＧは、他サイトのネットワークアドレス情報をゲートウェイコントローラ１４０から収集することにより、図１Ａに示したように、自サイトのノードから他サイトのノードにユニキャスト送信することができる。
【００４０】
なお、図１Ｂでは、ゲートウェイコントローラ１４０が各サイトのネットワークアドレス情報を収集したが、各ゲートウェイＧが他サイトのゲートウェイＧから当該他サイトで取得された他サイトにおけるネットワークアドレス情報を収集してもよい。このように、ゲートウェイＧ間で自律共有機能を用いる場合、いずれかのゲートウェイＧがゲートウェイコントローラ１４０として機能することになる。これにより、サイトネットワークＳ１１、Ｓ１２、Ｓ２Ａ，Ｓ２ＢやノードＮ１〜Ｎ６，Ｎ１０，Ｎ２０のネットワークアドレス情報をゲートウェイＧ間による自律共有によって管理することにより、ネットワーク延伸を実現することができる。
【００４１】
＜システム構成例＞
図２は、ハイブリッドクラウドのシステム構成例を示す説明図である。ハイブリッドクラウド２００は、クラウド利用者環境２０１Ａ，２０１Ｂとクラウド環境２０１Ｃ，２０１Ｄ（以下、総称してサイト２０１とする）とゲートウェイコントローラ２０２とを有する。サイト２０１とゲートウェイコントローラ２０２とは、外部ネットワーク２０３を介して通信線２０４により接続される。図２では、クラウド利用者環境２０１Ａ，２０１Ｂがプライベートクラウドに該当し、クラウド環境２０１Ｃ，２０１Ｄがパブリッククラウドに該当する。また、サイト２０１の少なくとも１つは、上述した制約環境である。また、サイト２０１の内部の構成の各々は、１つでも複数でもよい。また、ゲートウェイコントローラ２０２および外部ネットワーク２０３も１つに限らず２以上でもよい。
【００４２】
ゲートウェイＧＡ〜ＧＤ（以下、総称してゲートウェイＧとする）は、外部ネットワーク２０３とサイトネットワークＳＡ１，ＮＡ２，ＮＢ，ＮＣ，ＮＤ（以下、総称してサイトネットワークＳとする）間の接続を中継するネットワーク機器であり、物理装置でも仮想装置でもよい。ゲートウェイＧは、公知の仮想ネットワーク技術を用いてサイトネットワークの通信をカプセル化して外部ネットワーク２０３に転送する。公知の仮想ネットワーク技術には、例えばＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）やＧＲＥ（Ｇｅｎｅｒｉｃ  Ｒｏｕｔｉｎｇ  Ｅｎｃａｐｓｕｌａｔｉｏｎ）、ＶＸＬＡＮ（Ｖｉｒｔｕａｌ  ｅＸｔｅｎｓｉｂｌｅ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）がある。
【００４３】
また、ゲートウェイＧは、仮想スイッチ（不図示）を有し、外部ネットワーク２０３とサイトネットワークＳとの間の通信転送処理、通信アドレス変換処理、通信学習処理を行う。ゲートウェイＧは、ゲートウェイコントローラ２０２からの要求に応じて、通信転送処理を行う。また、ゲートウェイＧは、ゲートウェイコントローラ２０２からの要求に応じて、パケットの送信先ネットワークアドレスや送信元ネットワークアドレスの変換を行う。通信学習処理は、ゲートウェイＧ配下のホストコンピュータＨＡ１〜ＨＡ４，ＨＢ１，ＨＢ２，ＨＣ１，ＨＣ２，ＨＤ１，ＨＤ２（以下、総称してホストコンピュータＨとする）のネットワークアドレスを収集する処理である。
【００４４】
通信学習処理は、ソフトウェアによってネットワークの構成や機能をプログラミングする技術により実現可能である。ソフトウェアによってネットワークの構成や機能をプログラミングする技術には、例えば、ホストコンピュータＨのＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）要求の送信元ネットワークアドレスを利用して学習するＯｐｅｎＦｌｏｗ（登録商標）等のその他の公知の手法、プロプライエタリな手法がある。
【００４５】
ゲートウェイコントローラ２０２は、ゲートウェイＧの集中制御及びハイブリッドクラウド２００全体の集中管理を行う制御装置であり、例えば、外部ネットワーク２０３またはサイトネットワークＳを介して一つ以上のゲートウェイＧを集中制御し、かつ、ゲートウェイＧまたはクラウド基盤３Ｃ、３Ｄ（以下、総称してクラウド基盤３とする）を介してサイトネットワークＳやホストコンピュータＨのネットワークアドレス情報を集中管理する。また、ゲートウェイコントローラ２０２は、ゲートウェイＧと通信できる環境であれば、サイト２０１のいずれかに配備してもよい。
【００４６】
ゲートウェイコントローラ２０２は物理マシンでも仮想マシンでもよい。ゲートウェイコントローラ２０２が仮想マシンである場合、ゲートウェイコントローラ２０２は、たとえば、いずれかのゲートウェイＧまたはいずれかのクラウド基盤３に構築される。すなわち、ゲートウェイＧに構築される場合には、実質的に、ゲートウェイＧがゲートウェイコントローラ２０２としても機能し、クラウド基盤３に構築される場合には、実質的に、クラウド基盤３がゲートウェイコントローラ２０２としても機能する。
【００４７】
クラウド基盤３は、クラウド環境２０１Ｃ、２０１ＤのサイトネットワークＳやホストコンピュータＨを管理する機器であり、サイトネットワークＳやホストコンピュータＨの情報提供や設定を行うための管理インターフェース（不図示）を有し得る。管理インターフェースは、たとえば、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）により実現される。管理インターフェースを有する場合、例えば、クラウド利用者やゲートウェイコントローラ２０２等の外部からの要求に応じて、クラウド基盤３は、サイトネットワークＳやホストコンピュータＨの情報提供、ゲートウェイＧの作成やネットワークアドレスの設定を行うことができる。
【００４８】
ホストコンピュータＨは、自サイト２０１の他のホストコンピュータＨや他サイト２０１のホストコンピュータＨと通信するコンピュータである。ホストコンピュータＨは、図１Ａおよび図１Ｂに示したノードである。ホストコンピュータＨは、物理マシンでも仮想マシンでもよい。
【００４９】
外部ネットワーク２０３は、２以上のサイト２０１間に跨いだ通信が流れるネットワークであり、例えばＷＡＮやインターネットである。サイトネットワークＳは、ホストコンピュータＨからのパケットが流れるネットワークである。サイトネットワークＳは、例えばＬＡＮやＷＡＮであり、複数のデータセンタに跨り得る。
【００５０】
クラウド利用者環境２０１Ａ，２０１Ｂは、クラウド利用者が保有するデータセンタ環境であり、本実施例では、一例として同一クラウド利用者のデータセンタ環境とする。クラウド環境２０１Ｃは、非制約環境であり、例えば、公知の技術を用いてサイトネットワークＳを延伸できるクラウド環境である。クラウド環境２０１Ｄは、制約環境であり、例えば、公知の技術を用いたサイトネットワーク延伸が拒絶されるクラウド環境である。データＦは、サイトネットワークＳで流れるカプセル化される前のデータである。データＰは、データＦからカプセル化された後のデータである。
【００５１】
＜仮想ネットワークの概念＞
図３は、仮想ネットワークの概念を示す説明図である。仮想ネットワーク３００とは、個々のサイト２０１のサイトネットワークＳを仮想的に一つのネットワークとしてみなす概念である。物理構成と比較すると、仮想ネットワーク３００は、ゲートウェイＧとサイトネットワークＳとを集約したネットワークである。例えば、ＴＣＰ／ＩＰネットワークにおいては、クラウド利用者は、クラウド利用者環境２０１Ａ，２０１ＢのＬＡＮを、ＩＰアドレス体系を維持したまま、クラウド環境２０１Ｃ，２０１ＤのＬＡＮに延伸する。これにより、シームレスに業務システムの拡張や移行を行うことができる。なお、本例に限らず、仮想ネットワーク３００は、いずれか１以上のサイトネットワークＳを集約したネットワークでもよい。また、ゲートウェイＧからのネットワーク延伸先の選択は、仮想ネットワーク単位でもよくサイト単位でもよい。また、本実施例は、ＴＣＰ／ＩＰネットワークを例としているが、ＴＣＰ／ＩＰネットワークに限定されない。
【００５２】
＜ゲートウェイＧの構成例＞
図４は、ゲートウェイＧのハードウェアとソフトウェアの構成例を示すブロック図である。ゲートウェイＧは、記憶部４００、入力部４０１、ＣＲＴディスプレイや液晶ディスプレイ等の表示部４０２、プロセッサである制御部４０３、外部ネットワーク２０３やサイトネットワークＳに接続するための通信インタフェース４０４、これらを接続するデータバス４０６によって構成できる。
【００５３】
記憶部４００は、仮想ネットワーク管理テーブル４１０、サイトネットワーク管理テーブル４１１、仮想ネットワーク−サイトネットワーク関連付け管理テーブル４１２、サイトネットワーク−サイト関連付け管理テーブル４１３、サイトネットワーク−ゲートウェイ関連付け管理テーブル４１４、サイトネットワーク−ホストコンピュータ関連付け管理テーブル４１５を格納する。また、記憶部４００は、ネットワーク情報登録プログラム４１６、ネットワーク情報取得プログラム４１７、通信転送処理プログラム４１８、通信学習処理プログラム４１９、ネットワーク接続プログラム４２０、制御プログラム４２１を格納する。
【００５４】
なお、以下では「プログラム」を主語（動作主体）として説明を行う場合があるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート（通信制御装置）を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムの一部または全ては専用ハードウェアで実現してもよく、また、モジュール化されていても良い。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【００５５】
仮想ネットワーク管理テーブル４１０は、仮想ネットワーク３００を一意に特定する情報を格納するテーブルである。仮想ネットワーク管理テーブル４１０は、クラウド利用者が作成するテーブルである。したがって、クラウド環境２０１Ｃ、２０１ＤのゲートウェイＧＣ、ＧＤには存在しない。
【００５６】
サイトネットワーク管理テーブル４１１は、サイトネットワークＳの情報を格納するテーブルである。ゲートウェイＧは、自サイトのサイトネットワークＳの情報を収集することで、サイトネットワーク管理テーブル４１１を作成する。
【００５７】
仮想ネットワーク−サイトネットワーク関連付け管理テーブル４１２は、仮想ネットワーク３００の情報とサイトネットワークの情報とを関連付けたテーブルである。仮想ネットワーク−サイトネットワーク関連付け管理テーブル４１２は、仮想ネットワーク管理テーブル４１０と、サイトネットワーク管理テーブル４１１とを関連付ける。これにより、ゲートウェイＧは、ネットワーク延伸先として選択した仮想ネットワーク３００に属するサイトネットワークＳとの接続状態を管理する。
【００５８】
サイトネットワーク−サイト関連付け管理テーブル４１３は、サイトネットワークＳの情報とサイト２０１との情報との関連付けたテーブルである。これにより、どのサイト２０１がどのサイトネットワークＳを有するかを特定することができる。
【００５９】
サイトネットワーク−ゲートウェイ関連付け管理テーブル４１４は、サイトネットワークＳの情報とゲートウェイＧの情報とを関連付けたテーブルである。サイトネットワーク−ゲートウェイ関連付け管理テーブル４１４は、たとえば、図１Ｂに示したように、ゲートウェイコントローラ２０２が、各サイト２０１のネットワーク情報を収集した場合に作成するテーブルである。
【００６０】
サイトネットワーク−ホストコンピュータ関連付け管理テーブル４１５は、サイトネットワークの情報とホストコンピュータの情報とを関連付けたテーブルである。これにより、どのサイトネットワークＳがどのホストコンピュータＨに接続されているかを特定することができる。
【００６１】
ネットワーク情報登録プログラム４１６は、サイトネットワークＳやホストコンピュータＨのネットワークアドレス情報をゲートウェイコントローラ２０２に対して登録を行うプログラムである。ネットワーク情報取得プログラム４１７は、ゲートウェイＧがゲートウェイコントローラ２０２に、仮想ネットワーク３００の情報や、サイトネットワークＳ、ホストコンピュータＨのネットワークアドレスを要求するプログラムである。
【００６２】
通信転送処理プログラム４１８は、ゲートウェイＧがゲートウェイコントローラ２０２からの要求に応じて、通信転送処理を行うプログラムである。通信学習処理プログラム４１９は、ホストコンピュータＨのネットワークアドレス情報を収集するためのプログラムである。例えば、ホストコンピュータＨからのＡＲＰ要求をゲートウェイＧが受信すると、送信元ネットワークアドレス情報により、ホストコンピュータＨのネットワークアドレス情報を収集する。
【００６３】
また、通信転送処理プログラム４１８は、サイトネットワーク−ホストコンピュータ関連付け管理テーブル４１５のＩＰアドレス列を参照し、当該ＡＲＰ要求の送信先ＩＰアドレスに対応するＭＡＣアドレスを特定し、ＡＲＰ応答としてホストコンピュータＨに当該ＭＡＣアドレスを通知する。当該処理は一例であり、ゲートウェイＧがホストコンピュータＨのネットワークアドレス情報を収集さえできれば、プロトコルに限定されない。
【００６４】
ネットワーク接続プログラム４２０は、クラウド利用者が要求するサイトネットワークに対して、接続または切断をゲートウェイコントローラ２０２に要求するプログラムである。制御プログラム４２１は、ゲートウェイコントローラ２０２からの要求に応じて、ＶＰＮやＶＸＬＡＮ等の通信のカプセル化を行うプログラムである。また、制御プログラム４２１は、ゲートウェイコントローラ２０２からの要求に応じて、ゲートウェイＧは接続または切断を行う。
【００６５】
なお、ゲートウェイＧが仮想マシンとして配備される場合、当該仮想マシンの配備先（たとえば、クラウド基盤３）が、ゲートウェイコントローラ２０２から、上記のプログラム４１６〜４２１を取得する。後述するように、ゲートウェイコントローラ２０２は、プログラム４１６〜４２１を有する。これにより、ゲートウェイＧがないサイト２０１にゲートウェイを構築することができる。
【００６６】
＜ゲートウェイコントローラ２０２の構成例＞
図５は、ゲートウェイコントローラ２０２のハードウェアとソフトウェアの構成例を示すブロック図である。図４と同じ構成には同一符号を付し、説明を省略する。ネットワーク情報収集プログラム５３０は、クラウド基盤３に対して、サイトネットワークＳやホストコンピュータＨのネットワークアドレス情報を要求するためのプログラムである。
【００６７】
ゲートウェイ配備プログラム５３１は、ゲートウェイＧの要求に応じ、クラウド基盤３に対して、クラウド環境２０１Ｃ、２０１ＤのサイトネットワークＳへゲートウェイＧの配備要求や配備済みのゲートウェイＧへネットワークアドレスの設定要求を行うプログラムである。ゲートウェイ制御プログラム５３２は、ゲートウェイＧが収集したサイトネットワークＳやホストコンピュータＨのネットワークアドレス情報の収集、ゲートウェイＧに接続または切断等の命令、ゲートウェイＧに通信転送処理のためのルールの追加及び削除を行うためのプログラムである。なお、管理テーブル４１１、４１３〜４１５が、図１Ｂに示したネットワークアドレス管理ＤＢ１４１に対応する。
【００６８】
＜クラウド基盤３の構成例＞
図６は、クラウド基盤３のハードウェアとソフトウェアの構成例を示すブロック図である。図４と同じ構成には同一符号を付し、その説明を省略する。クラウド管理プログラム６４０は、ゲートウェイコントローラ２０２からの要求に応じて、クラウドネットワーク情報管理テーブル６４１を参照し、サイトネットワークＳやホストコンピュータＨのネットワークアドレスの通知を行うためのプログラムである。また、クラウド管理プログラム６４０は、ゲートウェイコントローラ２０２等の外部機器からの要求に応じて、ゲートウェイＧの配備を行うためのプログラムである。
【００６９】
クラウドネットワーク情報管理テーブル６４１は、クラウド環境２０１Ｃ、２０１Ｄにおける仮想マシンであるゲートウェイＧやホストコンピュータＨのネットワークアドレスを格納するテーブルである。クラウドネットワーク情報管理テーブル６４１は、図１Ａに示したネットワークアドレス情報テーブル１３１に対応する。また、制約環境であるクラウド環境２０１Ｄのクラウド基盤３Ｄは、クラウドネットワーク情報管理テーブル６４１の情報に基づいて、データの転送または遮断を行う。
【００７０】
＜仮想ネットワーク管理テーブル４１０＞
図７は、仮想ネットワーク管理テーブル４１０の一例を示す説明図である。仮想ネットワーク管理テーブル４１０は、仮想ネットワークＩＤ７０１と仮想ネットワーク名７０２とを関連付けた情報である。仮想ネットワークＩＤ２０２は、仮想ネットワーク３００を一意に識別する情報である。仮想ネットワーク名７０２は、仮想ネットワーク３００の名称であり、クラウド利用者が認識し得る情報である。仮想ネットワーク管理テーブル４１０の一行目のエントリは、たとえば、仮想ネットワークＩＤ７０１が「ＶＮ１」である仮想ネットワークＶＮ１の仮想ネットワーク名７０２が、「Ｎ（ＶＮ１）」であることを示す。
【００７１】
＜サイトネットワーク管理テーブル４１１＞
図８は、サイトネットワーク管理テーブル４１１の一例を示す説明図である。サイトネットワーク管理テーブル４１１は、サイトネットワークＩＤ８０３と、サイトネットワーク名８０４と、サイトネットワークアドレス８０５と、を関連付けた情報である。サイトネットワークＩＤ８０３は、サイトネットワークＳを一意に識別する情報である。サイトネットワーク名８０４は、サイトネットワークＳの名称であり、クラウド利用者が認識し得る情報である。サイトネットワークアドレス８０５は、サイトネットワークＳのネットワークアドレスである。サイトネットワーク管理テーブル４１１の一行目のエントリは、たとえば、サイトネットワークＩＤ８０３が「ＳＡ１」であるサイトネットワークＳＡ１のサイトネットワーク名８０４が「Ｎ（ＳＡ１）」、サイトネットワークアドレス８０５が「Ａ（ＳＡ１）」であることを示す。
【００７２】
ゲートウェイＧは、自サイト２０１のサイトネットワークＳのエントリについては自律学習し、他サイト２０１のサイトネットワークＳのエントリについてはゲートウェイコントローラ２０２から取得する。また、ゲートウェイコントローラ２０２は、図１Ｂに示したように、各サイト２０１から収集したサイトネットワーク−サイト関連付け管理テーブル４１３のエントリをマージして、ゲートウェイコントローラ２０２のサイトネットワーク−サイト関連付け管理テーブル４１３に登録する。
【００７３】
＜仮想ネットワーク−サイトネットワーク関連付け管理テーブル４１２＞
図９は、仮想ネットワーク−サイトネットワーク関連付け管理テーブル４１２の一例を示す説明図である。仮想ネットワーク−サイトネットワーク関連付け管理テーブル４１２は、仮想ネットワーク３００とサイトネットワークＳとを関連付けた情報であり、具体的には、たとえば、仮想ネットワークＩＤ７０１とサイトネットワークＩＤ８０３とステータス９０６とを関連付けた情報である。
【００７４】
ステータス９０６は、サイトネットワークＩＤ８０３により特定されるサイトネットワークＳの接続状況を格納する。具体的には、仮想ネットワークＩＤ７０１の値が同一であり、かつ、ステータス９０６が「接続中」であるエントリのサイトネットワークＩＤ８０３の値の集合が、仮想ネットワーク３００として接続されているサイトネットワークＳである。たとえば、仮想ネットワークＩＤが「ＶＮ１」のエントリ群のサイトネットワークは「ＳＡ１」、「ＳＣ」、および「ＳＤ」であるが、そのうちステータスが「接続中」であるサイトネットワークＳは、「ＳＡ１」と「ＳＣ」である。したがって、サイトネットワークＳＡ１、ＳＣが、仮想ネットワークＶＮ１として接続されている仮想ネットワーク３００である。
【００７５】
ゲートウェイＧは、ステータス９０６の値を参照して、通信の接続また切断をおこなう。ステータス９０６の値は、デフォルトでは「未接続」であるが、ネットワーク延伸先として接続要求された仮想ネットワークＶＮについては「接続中」に更新され、切断要求されると、「未接続」となる。なお、ネットワーク延伸先の接続要求や切断要求は、仮想ネットワークＶＮ単位だけでなくサイトネットワークＳ単位でもされるため、図９では、仮想ネットワークＶＮ１では、サイトネットワークＳＡ１、ＳＣが「接続中」であり、サイトネットワークＳＤが「未接続」となっている。
【００７６】
＜サイトネットワーク−サイト関連付け管理テーブル４１３＞
図１０は、サイトネットワーク−サイト関連付け管理テーブル４１３の一例を示す説明図である。サイトネットワーク−サイト関連付け管理テーブル４１３は、サイトネットワークＳとサイト２０１とを関連付けた情報であり、具体的には、たとえば、サイトＩＤ１００７とサイト名１００８とサイト種別１００９とを関連付けた情報である。
【００７７】
サイトＩＤ１００７は、サイト２０１を一意に識別する情報である。サイト名１００８は、サイト２０１の名称であり、クラウド利用者が認識し得る情報である。サイト種別１００９は、サイト２０１が、制約環境であるか非制約環境であるかを識別する情報である。サイトネットワーク−サイト関連付け管理テーブル４１３の一行目のエントリは、たとえば、サイトネットワークＩＤ８０３が「ＳＡ１」であるサイトネットワークＳＡ１が、サイトＩＤが「２０１Ａ」、サイト名１００８が「クラウド利用者環境Ａ」で、かつ、サイト種別１００９が「クラウド利用者環境」であるクラウド利用者環境２０１Ａ内のネットワークであることを示す。
【００７８】
ゲートウェイＧは、自サイト２０１のサイトネットワークＳおよびサイト２０１のエントリについては自律学習して関連付け、他サイト２０１のサイトネットワークＳおよび他サイト２０１のエントリについてはゲートウェイコントローラ２０２から取得する。
【００７９】
また、ゲートウェイコントローラ２０２は、図１Ｂに示したように、各サイト２０１から収集したサイトネットワーク−サイト関連付け管理テーブル４１３のエントリをマージして、ゲートウェイコントローラ２０２のサイトネットワーク−サイト関連付け管理テーブル４１３に登録する。
【００８０】
＜サイトネットワーク−ゲートウェイ関連付け管理テーブル４１４＞
図１１は、サイトネットワーク−ゲートウェイ関連付け管理テーブル４１４の一例を示す説明図である。サイトネットワーク−ゲートウェイ関連付け管理テーブル４１４は、サイトネットワークＳとゲートウェイＧとを関連付けた情報であり、具体的には、たとえば、サイトネットワークＩＤ８０３とゲートウェイＩＤ１１１０とゲートウェイ名１１１１とを関連付けた情報である。ゲートウェイＩＤ１１１０は、ゲートウェイＧを一意に識別する情報である。ゲートウェイ名１１１１はゲートウェイＧの名称であり、クラウド利用者が認識し得る情報である。
【００８１】
サイトネットワーク−ゲートウェイ関連付け管理テーブル４１４の一行目のエントリは、たとえば、サイトネットワークＩＤ８０３が「ＳＡ１」であるサイトネットワークＳＡ１に、ゲートウェイＩＤ１１１０が「ＧＡ」で、かつ、ゲートウェイ名１１１１が「Ｎ（ＧＡ）」であるゲートウェイＧＡが接続されていることを示す。
【００８２】
ゲートウェイＧは、自サイト２０１のサイトネットワークＩＤ８０３、ゲートウェイＩＤ１１１０およびゲートウェイ名１１１１のエントリについては自律学習して関連付け、他サイト２０１のサイトネットワークＩＤ８０３、ゲートウェイＩＤ１１１０およびゲートウェイ名１１１１のエントリについてはゲートウェイコントローラ２０２から取得する。
【００８３】
また、ゲートウェイコントローラ２０２は、図１Ｂに示したように、各サイト２０１から収集したサイトネットワーク−ゲートウェイ関連付け管理テーブル４１４のエントリをマージして、ゲートウェイコントローラ２０２のサイトネットワーク−ゲートウェイ関連付け管理テーブル４１４に登録する。
【００８４】
＜サイトネットワーク−ホストコンピュータ関連付け管理テーブル４１５＞
図１２は、サイトネットワーク−ホストコンピュータ関連付け管理テーブル４１５の一例を示す説明図である。サイトネットワーク−ホストコンピュータ関連付け管理テーブル４１５は、サイトネットワークＳとホストコンピュータＨとを関連付けた情報であり、具体的には、たとえば、サイトネットワークＩＤ８０３とホストコンピュータＩＤ１２１２とホストコンピュータ名１２１３とＭＡＣアドレス１２１４とＩＰアドレス１２１５とを関連付けた情報である。
【００８５】
ホストコンピュータＩＤ１２１２は、ホストコンピュータＨを一意に識別する情報である。ホストコンピュータ名１２１３は、ホストコンピュータＨの名称であり、クラウド利用者が認識し得る情報である。ＭＡＣアドレス１２１４とＩＰアドレス１２１５はホストコンピュータＨのネットワークアドレス情報である。
【００８６】
サイトネットワーク−ホストコンピュータ関連付け管理テーブル４１５の一行目のエントリは、たとえば、サイトネットワークＩＤ８０３が「ＳＡ１」であるサイトネットワークＳＡ１に、ホストコンピュータＩＤ１２１２が「ＨＡ１」、ホストコンピュータ名１２１３が「Ｎ（ＨＡ１）」、ＭＡＣアドレス１２１４が「ＭＡＣ（ＨＡ１）」で、かつ、ＩＰアドレス１２１５が「ＩＰ（ＨＡ１）」であるホストコンピュータＨＡ１が接続されていることを示す。
【００８７】
ゲートウェイＧは、自サイト２０１のサイトネットワークＳおよびホストコンピュータＨのエントリについては自律学習して関連付け、他サイト２０１のサイトネットワークＳおよびホストコンピュータＨのエントリについてはゲートウェイコントローラ２０２から取得する。
【００８８】
また、ゲートウェイコントローラ２０２は、図１Ｂに示したように、各サイト２０１から収集したサイトネットワーク−ホストコンピュータ関連付け管理テーブル４１５のエントリをマージして、ゲートウェイコントローラ２０２のサイトネットワーク−ホストコンピュータ関連付け管理テーブル４１５に登録する。
【００８９】
＜クラウドネットワーク情報管理テーブル６４１＞
図１３は、クラウドネットワーク情報管理テーブル６４１の一例を示す説明図である。クラウドネットワーク情報管理テーブル６４１は、クラウド基盤３上に構築された仮想マシンのネットワークアドレス情報を管理する情報であり、具体的には、たとえば、インスタンスＩＤ１３１６とインターフェースＩＤ１３１７とＭＡＣアドレス１３１８とＩＰアドレス１３１９とを関連付けた情報である。インスタンスＩＤ１３１６は、クラウド基盤３がインスタンスとなるゲートウェイＧまたはホストコンピュータＨを一意に識別する情報であり、一つのインスタンスに一つ以上のインターフェースが割り当てられる。インターフェースＩＤ１３１７は、クラウド基盤３がインスタンスＩＤ１３１６のインターフェースを一意に識別する情報であり、一つのインターフェースに一つのＭＡＣアドレスと一つ以上のＩＰアドレスを有し得る。ＭＡＣアドレス１３１８およびＩＰアドレス１３１９は、インターフェースＩＤ１３１７に割り当てたアドレスである。
【００９０】
図１３において、インスタンスＩＤ１３１６がゲートウェイＩＤであるエントリは、そのクラウド基盤３が属するクラウド環境に構築された仮想マシンとしてのゲートウェイＧを示し、インスタンスＩＤ１３１６がホストコンピュータＩＤであるエントリは、そのクラウド基盤３が属するクラウド環境に構築された仮想マシンとしてのホストコンピュータＨを示す。インスタンスＩＤ１３１６が、ゲートウェイＩＤであるエントリは、後述するように、ゲートウェイコントローラ２０２からのゲートウェイの配備要求があった場合に設定される。
【００９１】
そして、クラウド基盤３は、仮想マシンであるゲートウェイＧが配備された場合に、ゲートウェイＧのネットワークアドレス情報（インターフェースＩＤ１３１７、ＭＡＣアドレス１３１８、ＩＰアドレス１３１９）を、そのゲートウェイＧのエントリに設定する。また、自サイト２０１のホストコンピュータＨのネットワークアドレス情報（インターフェースＩＤ１３１７、ＭＡＣアドレス１３１８、ＩＰアドレス１３１９）については、クラウド基盤３は、ゲートウェイＧがＡＲＰを利用して学習したホストコンピュータＨのネットワークアドレス情報を、ゲートウェイＧから取得する。また、他サイト２０１のゲートウェイＧおよびホストコンピュータＨのネットワークアドレス情報については、当該情報を収集したゲートウェイコントローラから取得する。
【００９２】
なお、クラウドネットワーク情報管理テーブル６４１は、仮想マシンであるゲートウェイＧおよびホストコンピュータＨのネットワークアドレス情報を管理しており、物理マシンであるゲートウェイＧおよびホストコンピュータＨのネットワークアドレス情報を管理していない。
【００９３】
物理マシンであるゲートウェイＧおよびホストコンピュータＨのネットワークアドレス情報については、物理マシンであるゲートウェイＧが、クラウドネットワーク情報管理テーブル６４１と同様のテーブルで管理する。すなわち、物理マシンの場合でも、自サイト２０１のホストコンピュータＨのネットワークアドレス情報（インターフェースＩＤ１３１７、ＭＡＣアドレス１３１８、ＩＰアドレス１３１９）については、ゲートウェイＧは、ＡＲＰを利用して学習したホストコンピュータＨのネットワークアドレス情報を取得する。また、他サイト２０１のゲートウェイＧおよびホストコンピュータＨのネットワークアドレス情報については、当該情報を収集したゲートウェイコントローラ２０２から取得する。
【００９４】
なお、物理マシンであるゲートウェイＧおよびホストコンピュータＨのネットワークアドレス情報についても、クラウド基盤３が、自サイト２０１のゲートウェイＧから取得して、クラウドネットワーク情報管理テーブル６４１に格納して管理してもよい。
【００９５】
図１４は、ＶＰＮやＶＸＬＡＮ、ＧＲＥ等のカプセル化される前のデータＦおよびカプセル化後のデータＰのデータ構造の一例を示す説明図である。データＦは、カプセル化される前の一般的なイーサネット通信フレームであり、データＰは、当該フレームがＩＰ通信パケットによってカプセル化された後のパケットの例を示している。
【００９６】
送信先ＭＡＣアドレス１４００と送信先ＩＰアドレス１４０２は、通信相手をネットワーク上で一意に識別するためのネットワーク識別情報を格納するフィールドである。送信元ＭＡＣアドレス１４０１と送信元ＩＰアドレス１４０３は、通信元をネットワーク上で一意に識別するためのネットワーク識別情報を格納するフィールドである。データ１４０４は通信相手とやり取りする任意のデータを格納するフィールドである。送信先ＭＡＣアドレス１４０５と送信先ＩＰアドレス１４０７は、カプセル化された後の、通信相手をネットワーク上で一意に識別するためのネットワーク識別情報を格納するフィールドである。送信元ＭＡＣアドレス１４０６と送信元ＩＰアドレス１４０８は、カプセル化された後の、通信元をネットワーク上で一意に識別するためのネットワーク識別情報を格納するフィールドである。
【００９７】
図１５は、ゲートウェイＧとゲートウェイコントローラ２０２との間のメッセージ例１を示す説明図である。図１５では、ゲートウェイＧが、ゲートウェイコントローラ２０２に対して構成一覧の要求と応答とを示す。構成一覧とは、たとえば、仮想ネットワーク３００の一覧、サイトネットワークＳの一覧、ホストコンピュータＨの一覧である。
【００９８】
リクエストメッセージ１５０１は、ゲートウェイＧがゲートウェイコントローラ２０２に対してサイトネットワーク一覧の要求を示すメッセージである。メッセージ１５０１は、ＣＬＩ（Ｃｏｍｍａｎｄ  Ｌｉｎｅ  Ｉｎｔｅｒｆａｃｅ）やＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）、ＡＰＩ等を介して送信される。送信時のプロトコルはＳＳＨ（Ｓｅｃｕｒｅ  Ｓｈｅｌｌ）、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等の公知のものでもプロプライエタリなものでもよい。
【００９９】
リプライメッセージ１５０２は、メッセージ１５０１に対する応答を示すメッセージである。メッセージ１５０２のフォーマットは、ＪＳＯＮ等の公知のものでもプロプライエタリなものでもよい。図１５においては、ＨＴＴＰやＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）を例として示しているが、本実施例はプロトコルやフォーマットに限定されない。
【０１００】
図１６は、ゲートウェイＧとゲートウェイコントローラ２０２との間のメッセージ例２を示す説明図である。図１６では、ゲートウェイＧがゲートウェイコントローラ２０２に対して、任意のサイトネットワークＳへの接続を要求する際の要求と応答とを示す。リクエストメッセージ１６０１は、ＣＬＩやＧＵＩ、ＡＰＩ等を介して送信される。送信時のプロトコルはＳＳＨ、ＨＴＴＰ等の公知のものでもプロプライエタリなものでもよい。リプライメッセージ１６０２は、リクエストメッセージ１６０１に対する応答を示すメッセージである。メッセージ１６０２のフォーマットは、ＪＳＯＮ等の公知のものでもプロプライエタリなものでもよい。図１６においては、ＨＴＴＰやＪＳＯＮを例として示しているが、本実施例はプロトコルやフォーマットに限定されるものではない。
【０１０１】
＜ネットワーク延伸シーケンス＞
図１７および図１８は、ネットワーク延伸シーケンスの一例を示すシーケンス図である。図１７では、クラウド利用者１７がゲートウェイＧを介してサイトネットワーク一覧情報やホストコンピュータ一覧情報の取得、サイトネットワーク延伸先の選択を行う全体シーケンスの一例を示す。図１７においては、クラウド利用者環境２０１Ａは、サイトネットワーク一覧情報やホストコンピュータ一覧情報を通知するためのＡＰＩなどの管理インターフェースを提供しておらず、かつ、クラウド環境２０１Ｃやクラウド環境２０１Ｄは、ＡＰＩなどの管理インターフェースを提供しているものとする。また、本例では、クラウド環境２０１ＣにはゲートウェイＧＣが未配備とする。
【０１０２】
また、図７に示した仮想ネットワーク管理テーブル４１０は、本シーケンスに先立って、クラウド利用者１７がゲートウェイＧＡの入力部４０１を操作して、作成する。ゲートウェイＧＡは、作成した仮想ネットワーク管理テーブル４１０をゲートウェイコントローラ２０２に送信する。これにより、ゲートウェイＧＡとゲートウェイコントローラ２０２で、仮想ネットワーク管理テーブル４１０を共有することができる。
【０１０３】
ステップＳ１７０１において、クラウド利用者１７は、ゲートウェイＧＡの入力部４０１を操作して、クラウド利用者環境２０１Ａのサイトネットワーク情報の登録をゲートウェイＧに要求し、ゲートウェイＧは当該サイトネットワーク情報をキャッシュする。サイトネットワーク情報は、たとえば、クラウド利用者環境２０１ＡのサイトネットワークＩＤ８０３と、サイトネットワーク名８０４と、サイトネットワークアドレス８０５と、サイトＩＤ１００７と、サイト名１００８と、サイト種別１００９と、を含む情報である。クラウド利用者環境２０１Ａの場合、たとえば、サイトネットワークＩＤ８０３が「ＮＡ１」、サイトネットワーク名８０４が「Ｎ（ＮＡ１）」、サイトネットワークアドレス８０５が「Ａ（ＮＡ１）」、サイトＩＤ１００７が「２０１Ａ」、サイト名１００８が「クラウド利用者環境Ａ」、サイト種別１００９が「クラウド利用者環境」である。
【０１０４】
ステップＳ１７０２において、ホストコンピュータＨＡ１は、ホストコンピュータＨＡ１のネットワークアドレス情報の登録をゲートウェイＧに要求する。具体的には、たとえば、ホストコンピュータＨＡ１の利用者が、ホストコンピュータＨＡ１の入力部４０１を操作することで要求する。ネットワークアドレス情報とは、ホストコンピュータＩＤ１２１２と、ホストコンピュータ名１２１３と、ＭＡＣアドレス１２１４と、ＩＰアドレス１２１５と、を含む情報である。ホストコンピュータＨＡ１の場合、たとえば、ホストコンピュータＩＤ１２１２が「ＨＡ１」、ホストコンピュータ名１２１３が「Ｎ（ＨＡ１）」、ＭＡＣアドレス１２１４が「ＭＡＣ（ＮＡ１）」、ＩＰアドレス１２１５が「ＩＰ（ＮＡ１）」である。そして、ゲートウェイＧは当該ネットワークアドレス情報をキャッシュする。ステップＳ１７０２は、ゲートウェイＧからホストコンピュータＨＡ１にネットワークアドレス情報を要求するものでもよい。
【０１０５】
ステップＳ１７０３において、ゲートウェイＧは、キャッシュしたサイトネットワーク情報およびネットワークアドレス情報の登録をゲートウェイコントローラ２０２に要求する。ゲートウェイコントローラ２０２は、当該サイトネットワーク情報およびネットワークアドレス情報を、ゲートウェイコントローラ２０２のサイトネットワーク管理テーブル４１１、サイトネットワーク−サイト関連付け管理テーブル４１３、サイトネットワーク−ゲートウェイ関連付け管理テーブル４１４、サイトネットワーク−ホストコンピュータ関連付け管理テーブル４１５に格納する。
【０１０６】
具体的には、たとえば、ゲートウェイコントローラ２０２は、クラウド利用者環境２０１Ａのサイトネットワーク情報のうち、サイトネットワークＩＤ８０３と、サイトネットワーク名８０４と、サイトネットワークアドレス８０５と、を関連づけて、サイトネットワーク管理テーブル４１１に格納する。
【０１０７】
また、ゲートウェイコントローラ２０２は、クラウド利用者環境２０１Ａのサイトネットワーク情報のうち、サイトネットワークＩＤ８０３と、サイトＩＤ１００７と、サイト名１００８と、サイト種別１００９と、を関連付けて、サイトネットワーク−サイト関連付け管理テーブル４１３に格納する。
【０１０８】
また、ゲートウェイコントローラ２０２は、クラウド利用者環境２０１Ａのサイトネットワーク情報に含まれるサイトネットワークＩＤ８０３と、要求元であるゲートウェイＧＡのゲートウェイＩＤ１１１０である「ＧＡ１」と、ゲートウェイＧＡのゲートウェイ名１１１１である「Ｎ（ＧＡ）」と、を関連付けて、サイトネットワーク−ゲートウェイ関連付け管理テーブル４１４に格納する。なお、ゲートウェイＧＡのゲートウェイＩＤ１１１０およびゲートウェイ名１１１１は、事前にゲートウェイＧＡから取得してもよく、また、ステップＳ１７０３において、ゲートウェイＧＡから取得してもよい。また、ステップＳ１７０３は、定期的に、または、ゲートウェイコントローラ２０２からの要求に応じて実施される。
【０１０９】
このように、クラウド利用者環境２０１Ａは、サイトネットワーク一覧とホストコンピュータの一覧を通知するためのＡＰＩなどの管理インターフェースを提供していないため、クラウド利用者１７がゲートウェイＧＡを操作することにより、クラウド利用者環境２０１Ａのサイトネットワーク情報をゲートウェイコントローラ２０２に登録することができる。また、ホストコンピュータＨＡ１からネットワークアドレス情報がゲートウェイＧＡを介してゲートウェイコントローラ２０２に送られるため、ゲートウェイコントローラ２０２は、クラウド利用者環境２０１Ａのサイトネットワーク情報のホストコンピュータＨＡ１からネットワークアドレス情報とを関連付けることができる。
【０１１０】
ステップＳ１７０４において、クラウド利用者１７は、ゲートウェイＧを操作して、ゲートウェイコントローラ２０２に、サイトネットワークＳの一覧情報とゲートウェイＧおよびホストコンピュータＨの一覧情報とをゲートウェイコントローラ２０２に要求する。サイトネットワークＳの一覧情報とは、ゲートウェイコントローラ２０２が保有する各サイト２０１から収集した情報であるサイトネットワーク管理テーブル４１１のエントリである。
【０１１１】
また、ゲートウェイＧおよびホストコンピュータＨの一覧情報とは、ゲートウェイＧおよびホストコンピュータＨのネットワークアドレス情報（割当先インターフェースＩＤ、ＭＡＣアドレス、ＩＰアドレス）である。たとえば、仮想マシンであるゲートウェイＧおよびホストコンピュータＨについては、図１３に示したクラウドネットワーク情報管理テーブル６４１のエントリである。また、物理マシンであるゲートウェイＧおよびホストコンピュータＨについては、ゲートウェイコントローラ２０２が、物理マシンであるゲートウェイＧから、当該ゲートウェイＧが自サイト２０１のホストコンピュータＨから取得したゲートウェイＧおよびホストコンピュータＨのネットワークアドレス情報（割当先インターフェースＩＤ、ＭＡＣアドレス、ＩＰアドレス）である。
【０１１２】
ステップＳ１７０５において、ゲートウェイコントローラ２０２は、ゲートウェイＧからの要求に応じて、クラウド基盤３Ｃとクラウド基盤３Ｄに、ゲートウェイＧおよびホストコンピュータＨの一覧情報を要求する。
【０１１３】
ステップＳ１７０６において、ゲートウェイコントローラ２０２は、クラウド基盤３Ｃが保有するゲートウェイＧおよびホストコンピュータＨの一覧情報とクラウド基盤３Ｄが保有するゲートウェイＧおよびホストコンピュータＨの一覧情報を取得する。なお、物理マシンであるゲートウェイＧおよびホストコンピュータＨの一覧情報については、図１Ｂで示したように、ゲートウェイコントローラ２０２はすでに収集済みであるため、ステップＳ１７０６は不要である。また、サイトネットワークＳの一覧情報についても、図１Ｂで示したように、ゲートウェイコントローラ２０２はすでに収集済みであるため、ステップＳ１７０６は不要である。
【０１１４】
ステップＳ１７０７において、ゲートウェイコントローラ２０２は、ゲートウェイＧおよびホストコンピュータＨの一覧情報をクラウド基盤３Ｃとクラウド基盤３Ｄとから取得する（ステップＳ１７０６）と、該当する管理テーブルを更新する。具体的には、たとえば、ゲートウェイコントローラ２０２は、サイトネットワークアドレス８０５とホストコンピュータＨのＩＰアドレス１３１９とを比較して、ホストコンピュータＨと接続されるサイトネットワークＳのサイトネットワークＩＤ８０３を特定する。これにより、ゲートウェイコントローラ２０２は、サイトネットワーク−ホストコンピュータ関連付け管理テーブル４１５に、特定したサイトネットワークＩＤ８０３、ホストコンピュータＨのインスタンスＩＤ１３１６、ＩＰアドレス１３１９、ホストコンピュータＨのＭＡＣアドレス１３１８を含むエントリを、新規エントリとして追加する。
【０１１５】
また、ゲートウェイコントローラ２０２は、サイトネットワークアドレス８０５とゲートウェイＧのインスタンスＩＤ１３１６に対応するＩＰアドレス１３１９とを比較して、ゲートウェイＧと接続されるサイトネットワークＳのサイトネットワークＩＤ８０３を特定する。これにより、ゲートウェイコントローラ２０２は、サイトネットワーク−ゲートウェイ関連付け管理テーブル４１４に、特定したサイトネットワークＩＤ８０３、ゲートウェイＧのインスタンスＩＤ１３１６を含むエントリを、新規エントリとして追加する。
【０１１６】
ステップＳ１７０８において、ゲートウェイコントローラ２０２は、ゲートウェイコントローラ２０２のサイトネットワーク管理テーブル４１１から、一覧情報の要求元であるゲートウェイＧＡに接続されるサイトネットワークＳ以外のエントリを一覧情報として抽出して、ゲートウェイＧＡに送信する。また、ゲートウェイコントローラ２０２は、ゲートウェイコントローラ２０２のサイトネットワーク−サイト関連付け管理テーブル４１３から、一覧情報の要求元であるゲートウェイＧＡに接続されるサイトネットワークＳ以外のエントリを一覧情報として抽出して、ゲートウェイＧＡに送信する。
【０１１７】
また、ゲートウェイコントローラ２０２は、ゲートウェイコントローラ２０２のサイトネットワーク−ゲートウェイ関連付け管理テーブル４１４から、一覧情報の要求元であるゲートウェイＧＡに接続されるサイトネットワークＳ以外のエントリを一覧情報として抽出して、ゲートウェイＧＡに送信する。また、ゲートウェイコントローラ２０２は、ゲートウェイコントローラ２０２のサイトネットワーク−ホストコンピュータ関連付け管理テーブル４１５から、一覧情報の要求元であるゲートウェイＧＡに接続されるサイトネットワークＳ以外のエントリを一覧情報として抽出して、ゲートウェイＧＡに送信する。
【０１１８】
ゲートウェイＧＡは、ゲートウェイコントローラ２０２から送信されてきた一覧情報を、ゲートウェイＧＡのサイトネットワーク管理テーブル４１１、サイトネットワーク−サイト関連付け管理テーブル４１３、サイトネットワーク−ゲートウェイ関連付け管理テーブル４１４、およびサイトネットワーク−ホストコンピュータ関連付け管理テーブル４１５に格納するとともに、表示部４０２に表示させ、クラウド利用者１７に通知する。これにより、ゲートウェイＧＡは、他サイト２０１のネットワークアドレス情報を得ることができる。
【０１１９】
ステップＳ１７０９において、クラウド利用者１７は、サイトネットワーク関連付け管理テーブル４１２を作成する。具体的には、たとえば、クラウド利用者１７は、ゲートウェイＧＡの入力部４０１を操作して、仮想ネットワーク管理テーブル４１０とサイトネットワーク−サイト関連付け管理テーブル４１３を記憶部４００から呼び出し、表示部４０２に表示させる。そして、クラウド利用者１７は、仮想ネットワークＩＤ７０１とサイトネットワークＩＤ８０３とを関連付けて、仮想ネットワーク−サイトネットワーク関連付け管理テーブル４１２を作成し、記憶部４００に格納する。これにより、どのサイトネットワークＳがどの仮想ネットワーク３００に属するかを規定することができる。なお、仮想ネットワーク−サイトネットワーク関連付け管理テーブル４１２のステータス９０６は、デフォルトでは「未接続」となる。
【０１２０】
ステップＳ１７１０において、ゲートウェイＧＡは、作成された仮想ネットワーク−サイトネットワーク関連付け管理テーブル４１２を、ゲートウェイコントローラ２０２に送信する。ゲートウェイコントローラ２０２は、ゲートウェイＧＡからの仮想ネットワーク−サイトネットワーク関連付け管理テーブル４１２を記憶部４００に格納する。
【０１２１】
つぎに、図１８に移る。図１８では、ネットワーク延伸による接続とその切断についてのシーケンスを示す。
【０１２２】
ステップＳ１８０１において、クラウド利用者１７は、ネットワーク延伸先を選択する。具体的には、たとえば、クラウド利用者１７は、ゲートウェイＧの入力部４０１を操作して、仮想ネットワーク管理テーブル４１０を参照して、仮想ネットワーク名の一覧を表示部４０２に表示させる。そして、クラウド利用者１７は、ゲートウェイＧの入力部４０１を操作して、仮想ネットワーク名の一覧の中からネットワーク延伸先を選択する。たとえば、各仮想ネットワーク名に対応してチェックボックスがある場合は、クラウド利用者１７は、ゲートウェイＧの入力部４０１を操作して、ネットワーク延伸先の仮想ネットワーク名のチェックボックスにチェックを入れる。仮想ネットワーク名は１または複数選択が可能である。
【０１２３】
ステップＳ１８０２において、ゲートウェイＧＡは、ネットワーク延伸先となる仮想ネットワーク名が選択されると、仮想ネットワーク管理テーブル４１０により、対応する仮想ネットワークＩＤ７０１を特定する。また、ゲートウェイＧＡは、仮想ネットワーク−サイトネットワーク関連付け管理テーブル４１２を参照して、特定した仮想ネットワークＩＤ７０１に関連付けられており、かつ、ステータス９０３が「未接続」であるサイトネットワークＩＤ８０３を特定する。具体的には、たとえば、仮想ネットワークＩＤ７０１として「ＶＮ１」がネットワーク延伸先に選択された場合、図９において、ステータス９０６が「未接続」のサイトネットワークＩＤ８０３である「ＮＤ」が特定される。そして、ゲートウェイＧＡは、特定した仮想ネットワークＩＤ７０１とサイトネットワークＩＤ８０３の組み合わせを含む接続要求を、ゲートウェイコントローラ２０２に通知する。
【０１２４】
ステップＳ１８０３において、ゲートウェイコントローラ２０２は、接続要求の通知を受けた場合、サイトネットワーク−サイト関連付け管理テーブル４１３のサイトネットワークＩＤ８０３を参照して、接続要求に含まれるサイトネットワークＩＤ８０３に対応するサイトＩＤ１００７を取得する。たとえば、接続要求に含まれるサイトネットワークＩＤ８０３が「ＮＡ１」の場合、サイトＩＤ１００７として「２０１Ａ」が取得される。
【０１２５】
また、ゲートウェイコントローラ２０２は、サイトネットワーク−ゲートウェイ関連付け管理テーブル４１４を参照して、接続要求に含まれるサイトネットワークＩＤ８０３に関連付けられているゲートウェイＩＤ１１１０を取得する。
【０１２６】
ステップＳ１８０４において、ゲートウェイＩＤ１１１０が取得できなかった場合、ゲートウェイコントローラ２０２は、取得したサイトＩＤ１００７のサイト２０１に属するクラウド基盤３に、サイトネットワークＩＤ８０３へのゲートウェイＧの配備を要求し、クラウド基盤３に仮想マシンとしてのゲートウェイＧを構築する。たとえば、クラウド基盤３ＣがゲートウェイＧＣを構築する。また、クラウド基盤３ＤのゲートウェイＧＤが未配備であれば、同様に仮想マシンとして構築する。これにより、クラウド基盤３は、クラウドネットワーク情報管理テーブル６４１にゲートウェイＧのエントリを生成する。なお、当該エントリのインターフェースＩＤ１３１７、ＭＡＣアドレス１３１８、およびＩＰアドレス１３１９は未確定である。これにより、ゲートウェイコントローラ２０２は、配備されたゲートウェイＧからインスタンスＩＤ１３１６であるゲートウェイＩＤを取得する。
【０１２７】
ステップＳ１８０５において、ゲートウェイコントローラ２０２は、ステップＳ１８０３で取得したサイトＩＤ１００７のサイト種別１００９を判断する。サイト種別１００９が「制約環境」（ステップＳ１８０６：制約）であるサイトＩＤ１００７については、ステップＳ１８０６において、ネットワーク延伸処理を実行する。サイト種別１００９が「制約環境」以外である（ステップＳ１８０６：制約以外）サイトＩＤ１００７（非制約環境またはクラウド利用者環境）については、延伸できないため、その旨をゲートウェイＧＡに通知する。ネットワーク延伸処理（ステップＳ１８０６）については後述する。
【０１２８】
このあと、ステップＳ１８０７において、ゲートウェイコントローラ２０２は、ステップＳ１８０６でネットワーク延伸されたため、接続要求元であるゲートウェイＧＡに接続開始要求を送信する。そして、ゲートウェイコントローラ２０２およびゲートウェイＧＡは、各々の仮想ネットワーク−サイトネットワーク関連付け管理テーブル４１２において、ネットワーク延伸先として選択されたエントリのステータス９０６を「未接続」から「接続中」に更新する。これにより、図１Ａに示したように、クラウド利用者環境と制約環境であるクラウド環境との間でデータの送受信が可能となる。
【０１２９】
つぎに、ネットワーク延伸先を切断する場合について説明する。切断の場合も接続の場合と同様、ステップＳ１８０８において、クラウド利用者１７は、切断対象となるネットワーク延伸先を選択する。具体的には、たとえば、クラウド利用者１７は、ゲートウェイＧＡの入力部４０１を操作して、仮想ネットワーク管理テーブル４１０を参照し、仮想ネットワーク名の一覧を表示部４０２に表示させる。そして、クラウド利用者１７は、ゲートウェイＧＡの入力部４０１を操作して、仮想ネットワーク名の一覧の中から切断対象となるネットワーク延伸先を選択する。たとえば、各仮想ネットワーク名に対応してチェックボックスがある場合は、クラウド利用者１７は、ゲートウェイＧＡの入力部４０１を操作して、切断対象となるネットワーク延伸先の仮想ネットワーク名のチェックボックスにチェックを入れる。仮想ネットワーク名は１または複数選択が可能である。
【０１３０】
ステップＳ１８０９において、ゲートウェイＧＡは、切断対象となるネットワーク延伸先となる仮想ネットワーク名が選択されると、仮想ネットワーク管理テーブル４１０により、対応する仮想ネットワークＩＤ７０１を特定する。また、ゲートウェイＧＡは、仮想ネットワーク−サイトネットワーク関連付け管理テーブル４１２を参照して、特定した仮想ネットワークＩＤ７０１に関連付けられており、かつ、ステータス９０３が「接続中」であるサイトネットワークＩＤ８０３を特定する。
【０１３１】
具体的には、たとえば、仮想ネットワークＩＤ７０１として「ＶＮ１」がネットワーク延伸先に選択された場合、図９において、ステータス９０６が「接続中」のサイトネットワークＩＤ８０３である「ＳＡ１」および「ＳＣ」が特定される。そして、ゲートウェイＧＡは、特定した仮想ネットワークＩＤ７０１とサイトネットワークＩＤ８０３の組み合わせを含む切断要求を、ゲートウェイコントローラ２０２に通知する。
【０１３２】
ステップＳ１８１０において、ゲートウェイコントローラ２０２は、切断要求に含まれるサイトネットワークＩＤ８０３のサイトネットワークＳに対応するゲートウェイＧに、接続開始要求を送信する。たとえば、サイトネットワークＩＤ８０３である「ＮＣ」が特定された場合、ゲートウェイコントローラ２０２は、サイトネットワークＳＣに対応するゲートウェイＩＤ１１１０である「ＧＣ」を、サイトネットワーク−ゲートウェイ関連付け管理テーブル４１４から特定する。
【０１３３】
そして、ゲートウェイコントローラ２０２は、特定したゲートウェイＩＤ１１１０である「ＧＣ」により特定されるゲートウェイＧＣに、サイトネットワークＳＣの切断開始要求を送信する。切断開始要求を受けたゲートウェイＧＣは、サイトネットワークＳＣを切断する。具体的には、ゲートウェイＧＣおよびゲートウェイコントローラ２０２は、仮想ネットワーク−サイトネットワーク関連付け管理テーブル４１２の切断対象のエントリのステータス９０６を「接続中」から「未接続」に更新する。
【０１３４】
＜ネットワーク延伸処理（ステップＳ１８０６）＞
図１９は、図１８に示したネットワーク延伸処理（ステップＳ１８０６）の一例を示すフローチャートである。ステップＳ１９００において、ゲートウェイコントローラ２０２は、接続要求に含まれるサイトネットワークＩＤ８０３に対応するホストコンピュータＩＤ１２１２とＭＡＣアドレス１２１４とＩＰアドレス１２１５を、サイトネットワーク−ホストコンピュータ関連付け管理テーブル４１５から取得する。取得される情報のサイト種別１００９は、非制約環境またはクラウド利用者環境となる。
【０１３５】
ステップＳ１９０１において、ゲートウェイコントローラ２０２は、ステップＳ１９００で取得したホストコンピュータＩＤ群から一つを選択する。
【０１３６】
ステップＳ１９０２において、ゲートウェイコントローラ２０２は、クラウド基盤３の管理インターフェースを介して、当該クラウド基盤３のゲートウェイＧにネットワークインターフェースを追加する。
【０１３７】
ステップＳ１９０３において、ゲートウェイコントローラ２０２は、クラウド基盤３の管理インターフェースを介して、クラウド基盤３のゲートウェイに追加されたネットワークインターフェースに、接続要求に含まれるサイトネットワークＩＤ８０３に対応するホストコンピュータＩＤ１２１２に関連付けられたＭＡＣアドレス１２１４とＩＰアドレス１２１５を設定する。具体的には、ゲートウェイコントローラ２０２は、クラウド基盤３のＡＰＩを介して、クラウドネットワーク情報管理テーブル６４１のエントリに、サイトネットワークＩＤ８０３に対応するホストコンピュータＩＤ１２１２に関連付けられたＭＡＣアドレス１２１４とＩＰアドレス１２１５と、当該ＭＡＣアドレス１２１４とＩＰアドレス１２１５の割当先のネットワークインターフェースＩＤ１３１７を設定する。
【０１３８】
例えば、図１３の場合、ゲートウェイＧＤのエントリにおいて、ホストコンピュータＨＡ１のＭＡＣアドレスおよびＩＰアドレスが、クラウド基盤３ＤのインターフェースＩＦＤ１−２に割り当てられ、ホストコンピュータＨＡ２のＭＡＣアドレスおよびＩＰアドレスが、クラウド基盤３ＤのインターフェースＩＦＤ１−３に割り当てられる。なお、インターフェースＩＦＤ１−１には、パブリック用ＭＡＣアドレスとパブリック用ＩＰアドレスが割り当てられる。
【０１３９】
ステップＳ１９０３において、ステップＳ１９０１で選択したホストコンピュータＩＤが最後のホストコンピュータＩＤであると判定された場合は本フローを終了してステップＳ１８０７を実行し、最後のホストコンピュータＩＤではないと判定された場合はステップＳ１９０１に戻る。
【０１４０】
これにより、制約環境であるクラウド環境２０１ＤのゲートウェイＧＤに、クラウド利用者環境２０１Ａ内のホストコンピュータＨＡ１，ＨＡ２のＭＡＣアドレスおよびＩＰアドレスが設定される。
【０１４１】
このように、実施例１によれば、クラウド利用者環境と制約環境との間に跨ったネットワーク延伸を提供することができる。また、ネットワーク延伸先にゲートウェイＧが配備されていなくても、ゲートウェイコントローラ２０２がクラウド基盤３の管理インターフェースを介して当該延伸先のサイトネットワークＳにゲートウェイＧを自動的に配備する。
【０１４２】
配備されたゲートウェイＧは、自律学習により自サイト２０１のホストコンピュータＨやサイトネットワークＳのネットワークアドレス情報やゲートウェイＧ自身のネットワークアドレス情報を取得するため、ゲートウェイコントローラ２０２は、取得されたネットワークアドレス情報を収集することができる。これにより、クラウド利用者環境とゲートウェイＧの配備後の制約環境との間に跨ったネットワーク延伸を提供することができる。
【実施例２】
【０１４３】
実施例１では、制約環境であるクラウド環境に配備したゲートウェイのネットワークインターフェースにホストコンピュータＨのＭＡＣアドレスとＩＰアドレスを設定するため、当該制約環境以外のホストコンピュータ群からネットワーク延伸できるホストコンピュータの上限数は、制約環境におけるゲートウェイが有するインターフェースの上限数と同数になる。
【０１４４】
実施例２では、当該ゲートウェイのインターフェース数を超える数のホストコンピュータＨを延伸する例を説明する。システム全体構成、ゲートウェイコントローラ、クラウド基盤は実施例１と同じであるため、説明を省略する。
【０１４５】
ゲートウェイは実施例１の機能に加えて、通信アドレス変換処理プログラムを有し、ゲートウェイコントローラから要求される変換ルールに基づいて、通信の送信先ネットワークアドレスや送信元ネットワークアドレスのアドレス変換処理を行う。当該処理は一例であり、ネットワークアドレスの変換処理機能であれば、通信アドレス変換プログラムは、ＯｐｅｎＦｌｏｗ等のその他の公知の手法、プロプライエタリな手法で実現してよい。
【０１４６】
なお、実施例１では、ゲートウェイコントローラが各サイトのネットワークアドレス情報を収集したが、各ゲートウェイが他サイトのゲートウェイから当該他サイトで取得された他サイトにおけるネットワークアドレス情報を収集してもよい。このように、ゲートウェイ間で自律共有機能を用いる場合、いずれかのゲートウェイがゲートウェイコントローラとして機能することになる。また、いずれかのクラウド基盤において、ゲートウェイコントローラの仮想マシンを構築してもよい。
【０１４７】
＜ネットワーク延伸例＞
図２０Ａは、実施例２にかかるネットワーク延伸例１を示す説明図である。図２０Ａでは、クラウド利用者環境下のノードから制約環境下のノードにユニキャストする場合を例に挙げて説明する。図１Ａと同一構成には同一符号を付し、説明を省略する。クラウド利用者環境１０１のノードＮ１から送信されたデータＦは、ゲートウェイＧ１でカプセル化されてデータＰとなり、データＰは外部ネットワーク１０３を経由して、ゲートウェイＧ３に到達し、でカプセル化されてデータＦとなる。ゲートウェイＧ３では、上述した変換ルールが設定される。当該変換ルールは、たとえば、外部ネットワーク１０３から受信したデータＦの送信元ＩＰアドレスが特定のＩＰアドレス（本例では、ＩＰアドレス：Ａ）である場合、外部ネットワーク１０３から受信したデータの送信元ＭＡＣアドレスを特定のＭＡＣアドレス（本例では、ＭＡＣアドレス：δ）に変換する。変換されたデータＦは、ノードＮ５に到達する。
【０１４８】
なお、事前設定として、クラウド基盤１３０は、図１Ｂに示したネットワークアドレス情報の収集により、ゲートウェイコントローラ１４０から、特定のＩＰアドレスと特定のＭＡＣアドレスの組（Ａ，δ）を取得して、ネットワークアドレス情報テーブル１３１に保持し、ゲートウェイＧ２ＢのインターフェースＩＦ２に割り当てる。これにより、制約環境下のノードＮ５は、非制約環境下のノードＮ１からのデータを受信することができる。
【０１４９】
図２０Ｂは、実施例２にかかるネットワーク延伸例２を示す説明図である。図２０Ｂは、図２０Ａにおいて、制約環境のノードＮ５からクラウド利用者環境のノードＮ１にユニキャストする例である。図２０Ａと同一構成には同一符号を付し、説明を省略する。
【０１５０】
クラウド基盤１３０のネットワークアドレス情報テーブルは、図２０Ａと同じであるが、ゲートウェイＧ２Ｂの変換ルールが異なる。変換ルールは、たとえば、自サイト内で受信したデータの送信先ＩＰアドレスが特定のＩＰアドレス（本例では、ＩＰアドレス：Ａ）である場合、自サイト内で受信したデータの送信先ＭＡＣアドレスを特定のＭＡＣアドレス（本例では、ＭＡＣアドレス：α）に変換する。
【０１５１】
たとえば、ノードＮ５から送信されたデータの送信先ＩＰアドレスは「Ａ」であり、送信先ＭＡＣアドレスは「δ」であるため、当該アドレスの組は、ネットワークアドレス情報テーブルに存在する。したがって、ノードＮ５から送信されたデータは、クラウド基盤１３０を通過してゲートウェイＧ２ＢのインターフェースＩＦ２に到達する。ゲートウェイＧ２Ｂは、変換ルールにより、ノードＮ５からインターフェースＩＦ２で受信されたデータの送信先ＩＰアドレスが特定のＩＰアドレス「Ａ」に該当するため、送信先ＭＡＣアドレスを「δ」から「α」に変換する。
【０１５２】
当該変換されたデータはカプセル化されて外部ネットワーク、ゲートウェイＧ１を経由し、デカプセル化されて、ノードＮ１に到達する。これにより、クラウド利用者環境のノードＮ１は、制約環境のノードＮ５からのデータを受信することができる。以下、実施例２の内容について、実施例１の相違点を詳細に説明する。
【０１５３】
＜クラウドネットワーク情報管理テーブル６４１＞
図２１は、実施例２におけるクラウドネットワーク情報管理テーブル６４１の一例を示す説明図である。図２１のうち、実施例１の図１３と同一符号については説明を省略する。実施例２では、クラウド基盤３は、ゲートウェイＧの自サイトのサイトネットワークＳ側のネットワークインターフェースに当該クラウド環境以外の一つ以上のホストコンピュータＨのＩＰアドレスを登録する。また、ＭＡＣアドレスはホストコンピュータのＭＡＣアドレスでもその他の任意のＭＡＣアドレスでもよい。
【０１５４】
たとえば、図２１のエントリ２１１，２１２において、インターフェースＩＤ１３１７が「ＩＦＤ１−３」であるゲートウェイＧのネットワークインターフェースが、自サイトのサイトネットワークＳに接続されるインターフェースである。そして、エントリ２１１，２１２のＭＡＣアドレス１３１８には、プライベート用ＭＡＣアドレスが登録される。
【０１５５】
インスタンスＩＤ１３１６であるゲートウェイＩＤ：ＧＤのゲートウェイＧＤが、図１９のゲートウェイＧ２Ｂである場合、エントリ２１１，２１２のＭＡＣアドレス１３１８は、「δ」である。また、エントリ２１１のＩＰアドレス１３１９であるホストコンピュータＨＡ３のＩＰアドレス「ＩＰ（ＨＡ３）」は、図１９のノードＮ１のＩＰアドレス「Ａ」である。同様に、エントリ２１２のＩＰアドレス１３１９であるホストコンピュータＨＢ１のＩＰアドレス「ＩＰ（ＨＢ１）」は、図１９のノードＮ３のＩＰアドレス「Ｂ」である。
【０１５６】
図２２は、実施例２における通信アドレス変換される前後のデータの構造例を示す説明図である。図２２のうち既に説明した図１４に示された同一の符号を付された部分については、説明を省略する。クラウド利用者環境２０１ＡのホストコンピュータＨＡ４から制約環境であるクラウド環境２０１ＤのホストコンピュータＨＤ１へ通信する場合、データＦＡが変換前のデータで、データＦＢが変換後のデータである。一方、制約環境であるクラウド環境２０１ＤのホストコンピュータＨＤ１からクラウド利用者環境２０１ＡのホストコンピュータＨＡ４へ通信する場合、データＦＢが変換前のデータで、データＦＡが変換後のデータである。
【０１５７】
実施例２では、例えば、クラウド利用者環境２０１ＡのホストコンピュータＨＡ４から制約環境であるクラウド環境２０１ＤのホストコンピュータＨＤ１へ通信する場合、カプセル化される前のデータＦＡの送信元ＭＡＣアドレス１４０１は、クラウド利用者環境２０１ＡのホストコンピュータＨＡ４のＭＡＣアドレスである。
【０１５８】
制約環境であるクラウド環境２０１Ｄにおいて、デカプセル化された後の送信元ＭＡＣアドレスがホストコンピュータＨＡ４のＭＡＣアドレスの場合、当該ＭＡＣアドレスはクラウドネットワーク情報管理テーブル６４１に登録されていないため、当該データＦＡは廃棄される。送信元ＩＰアドレス１４０３がホストコンピュータＨＡ４のＩＰアドレスの場合、ゲートウェイＧＤが、送信元ＭＡＣアドレス１４０１をホストコンピュータＡ４のＭＡＣアドレスからゲートウェイＧＤのＭＡＣアドレスにアドレス変換処理を行うことで、当該データＦＢを転送させることができる。
【０１５９】
また、制約環境であるクラウド環境２０１ＤのホストコンピュータＨＤ１からクラウド利用者環境２０１ＡのホストコンピュータＨＡ４への通信時は、送信先ＩＰアドレスがホストコンピュータＨＡ４の場合、制約環境であるクラウド環境２０１ＤのゲートウェイＧＤが、ホストコンピュータＨＤ１からのデータＦＢの送信先ＭＡＣアドレス１４００を、ゲートウェイＧＤのＭＡＣアドレスからクラウド利用者環境２０１ＡのホストコンピュータＨＡ４のＭＡＣアドレスにアドレス変換処理を行う。図２２においては、クラウド利用者環境と制約クラウド環境との通信を例として示しているが、クラウド利用者環境ではなく、非制約環境のクラウド環境でもよい。
【０１６０】
図２３は、実施例２におけるネットワーク延伸フローの一例を示す説明図である。図２３は、図１８のネットワーク延伸処理（Ｓ１８０６）について実施例２の詳細な処理を示す。
【０１６１】
ステップＳ２３００において、ゲートウェイコントローラ２０２が、サイトネットワーク−ホストコンピュータ関連付け管理テーブル４１５（図１２参照）のサイトネットワークＩＤ８０３の列を参照し、ステップＳ１８０２の接続要求に含まれるサイトネットワークＩＤで、かつ、当該制約環境以外の環境（非制約環境またはクラウド利用者環境）に対応するホストコンピュータＩＤ１２１２およびＩＰアドレス１２１５を取得する。
【０１６２】
ステップＳ２３０１において、ゲートウェイコントローラ２０２は、ステップ２３００で取得したホストコンピュータＩＤ群から一つを選択する。
【０１６３】
ステップＳ２３０２において、ゲートウェイコントローラ２０２は、クラウド基盤３を介して、当該ゲートウェイＧのサイトネットワークＳ側のネットワークインターフェースに、ステップ２３０１で選択したホストコンピュータＩＤに対応するＩＰアドレスを設定する。なお、当該ＩＰアドレスに対応するＭＡＣアドレスについては、当該ゲートウェイのＭＡＣアドレス（たとえば、プライベート用ＭＡＣアドレス）が設定される。
【０１６４】
ステップＳ２３０３において、ゲートウェイコントローラ２０２は、『データの送信元ＩＰアドレスがクラウド利用者環境２０１Ａ（２０１Ｂでもよい）のホストコンピュータＨの場合は（条件）、当該データの送信元ＭＡＣアドレスをゲートウェイＧのＭＡＣアドレスに変換する（アクション）』という通信アドレス変換ルールをゲートウェイＧＤに設定する。具体的には、たとえば、図１９に示したように、変換ルールが追加される。
【０１６５】
ステップＳ２１０４において、ゲートウェイコントローラ２０２は、『データの送信先ＩＰアドレスがクラウド利用者環境２０１Ａ（２０１Ｂでもよい）のホストコンピュータＨの場合は（条件）、送信先ＭＡＣアドレスを当該ホストコンピュータＨのＭＡＣアドレスに変換する（アクション）』という通信アドレス変換ルールをゲートウェイＧＤに設定する。
【０１６６】
ステップＳ２１０５において、ステップＳ２３０１で選択したホストコンピュータＩＤが最後のホストコンピュータＩＤであると判定された場合は本フローを終了してステップＳ１８０７を実行し、最後のホストコンピュータＩＤではないと判定された場合はステップＳ２３０１に戻る。
【０１６７】
このように、実施例２によれば、制約環境のゲートウェイＧが受信したデータの送信元アドレスまたは送信先アドレスに対して、通信アドレス変換処理を行うことで、ゲートウェイＧのインターフェース数を超える数のホストコンピュータＨについて延伸することができる。したがって、ネットワーク延伸の拡大化を図ることができる。
【０１６８】
以上説明したように、本実施例によれば、クラウド利用者環境と制約環境との間に跨ったネットワーク延伸を提供することができる。すなわち、クラウド利用環境からのデータは、本来ならば制約環境であるクラウド環境内のクラウド基盤のアクセス制御機能により廃棄されたが、ゲートウェイコントローラの管理下の元で、ゲートウェイコントローラが、クラウド利用者環境とクラウド環境との間を流れるデータを、クラウド基盤のアクセス制御機能で廃棄されないように設定する。これにより、クラウド利用者は、自身のクラウド利用者環境のサイトネットワークから制約環境であるクラウド環境内のサイトネットワークに延伸することができる。制約環境であるクラウド環境の通信相手が非制約環境である他のクラウド環境である場合も同様に、ネットワーク延伸を実現することができる。
【０１６９】
また、ネットワーク延伸先にゲートウェイが配備されていなくても、ゲートウェイコントローラがクラウド基盤の管理インターフェースを介して当該延伸先のサイトネットワークにゲートウェイを自動的に配備することにより、ゲートウェイコントローラは、当該ゲートウェイが取得したネットワークアドレス情報を収集することができる。これにより、クラウド利用者環境とゲートウェイの配備後の制約環境との間に跨ったネットワーク延伸を提供することができる。
【０１７０】
また、制約環境のゲートウェイが受信したデータの送信元アドレスまたは送信先アドレスに対して、通信アドレス変換処理を行うことで、ゲートウェイのインターフェース数を超える数のホストコンピュータについてネットワーク延伸を実現することができ、ネットワーク延伸の拡大化を図ることができる。
【０１７１】
また、各サイト内のネットワークアドレス情報の収集は、ゲートウェイコントローラによる集中管理型による収集でもよく、また、ゲートウェイ間による自律共有による収集でもよい。また、上述したサイトネットワークは、Ｌ（Ｌａｙｅｒ）２網やＬ３網に適用することができる。
【０１７２】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【０１７３】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【０１７４】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【０１７５】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【０１７６】
３、１２０、１３０  クラウド基盤
１７、２００  クラウド利用者
１００  ハイブリッドクラウド
１０１、２０１Ａ、２０１Ｂ  クラウド利用者環境
１０２Ａ、１０２Ｂ、２０１Ｃ，２０１Ｄ  クラウド環境
１０３、２０３  外部ネットワーク
１４０、２０２  ゲートウェイコントローラ
３００  仮想ネットワーク
Ｇ  ゲートウェイ
Ｓ  サイトネットワーク
【図１Ａ】
2016048811.tif 000003
【図１Ｂ】
2016048811.tif 000004
【図２】
2016048811.tif 000005
【図３】
2016048811.tif 000006
【図４】
2016048811.tif 000007
【図５】
2016048811.tif 000008
【図６】
2016048811.tif 000009
【図７】
2016048811.tif 000010
【図８】
2016048811.tif 000011
【図９】
2016048811.tif 000012
【図１０】
2016048811.tif 000013
【図１１】
2016048811.tif 000014
【図１２】
2016048811.tif 000015
【図１３】
2016048811.tif 000016
【図１４】
2016048811.tif 000017
【図１５】
2016048811.tif 000018
【図１６】
2016048811.tif 000019
【図１７】
2016048811.tif 000020
【図１８】
2016048811.tif 000021
【図１９】
2016048811.tif 000022
【図２０Ａ】
2016048811.tif 000023
【図２０Ｂ】
2016048811.tif 000024
【図２１】
2016048811.tif 000025
【図２２】
2016048811.tif 000026
【図２３】
2016048811.tif 000027