(57)【要約】【課題】仮想マシン（ＶＭ）間通信のサービス品質（ＱｏＳ）を複数の選択肢の中から選べるようにする。【解決手段】ＩａａＳ管理サーバ１８０は、特定のＱｏＳに対応するＬ２トンネルを介して第１と第２のＶＭ間を接続するための命令を受け付ける。第１と第２のＶＭは、それぞれ、第１と第２の物理マシン上で動作し、第１と第２の物理マシンは、それぞれ、第１と第２の物理ネットワークインタフェイス装置を介して複数の物理ネットワークに接続される。第１と第２の物理ネットワークインタフェイス装置の各々には、複数のアドレスが割り当てられている。ＩａａＳ管理サーバは、第１の物理マシンに対し、第１のＶＭが第２のＶＭへ送信しようとするＬ２フレームをＬ３パケットの中にカプセル化する際には、上記アドレスのうち、特定のＱｏＳをサポートする物理ネットワークに対応する第１と第２のアドレスを使うよう、命令する。【選択図】図１
2014230057.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
異なる物理マシン上で動作する仮想マシン同士を、特定のサービス品質に対応するレイヤ２トンネルを介して接続するためのトンネル接続命令であって、各々が１つ以上のサービス品質をサポートする複数の物理ネットワークに第１の物理ネットワークインタフェイス装置を介して接続される第１の物理マシン上で動作する第１の仮想マシンと、前記複数の物理ネットワークに第２の物理ネットワークインタフェイス装置を介して接続される第２の物理マシン上で動作する第２の仮想マシンとを接続するためのトンネル接続命令を受け付け、
前記第１の物理マシンに対して、前記第１の仮想マシンが前記第２の仮想マシンへ送信しようとする第１のレイヤ２フレームを第１のレイヤ３パケットの中にカプセル化する際には、前記第１の物理ネットワークインタフェイス装置に割り当てられている複数のアドレスのうち、前記特定のサービス品質をサポートする特定の物理ネットワークに対応する第１のアドレスと、前記第２の物理ネットワークインタフェイス装置に割り当てられている複数のアドレスのうち、前記特定の物理ネットワークに対応する第２のアドレスとを使うように命令し、
前記第２の物理マシンに対して、前記第２の仮想マシンが前記第１の仮想マシンへ送信しようとする第２のレイヤ２フレームを第２のレイヤ３パケットの中にカプセル化する際には、前記第２のアドレスと前記第１のアドレスとを使うように命令する
ことを含む処理を実行させることを特徴とする管理プログラム。
【請求項２】
前記処理は、前記レイヤ２トンネルを識別するトンネル識別情報を生成または決定して、前記トンネル識別情報を前記第１の物理マシンと前記第２の物理マシンに通知することをさらに含み、
前記第１のレイヤ３パケットは、カプセル化された前記第１のレイヤ２フレームより前に前記トンネル識別情報を含み、
前記第２のレイヤ３パケットは、カプセル化された前記第２のレイヤ２フレームより前に前記トンネル識別情報を含む
ことを特徴とする請求項１に記載の管理プログラム。
【請求項３】
前記第１の物理マシンに対して、前記第１の物理ネットワークインタフェイス装置と前記第１の仮想マシンとの間に前記第１の物理マシンが提供する第１の仮想インタフェイスを、前記第１のアドレスと前記第２のアドレスと前記トンネル識別情報との組み合わせに対応づけるよう命令することで、前記第２のレイヤ３パケットを前記第１の物理ネットワークインタフェイス装置が受信した場合には、前記第１の物理マシンが前記第１の仮想インタフェイスを介して前記第２のレイヤ２フレームを前記第１の仮想マシンに出力するようにさせ、
前記第２の物理マシンに対して、前記第２の物理ネットワークインタフェイス装置と前記第２の仮想マシンとの間に前記第２の物理マシンが提供する第２の仮想インタフェイスを、前記第２のアドレスと前記第１のアドレスと前記トンネル識別情報との組み合わせに対応づけるよう命令することで、前記第１のレイヤ３パケットを前記第２の物理ネットワークインタフェイス装置が受信した場合には、前記第２の物理マシンが前記第２の仮想インタフェイスを介して前記第１のレイヤ２フレームを前記第２の仮想マシンに出力するようにさせる
ことを前記処理がさらに含むことを特徴とする請求項２に記載の管理プログラム。
【請求項４】
前記第１の物理ネットワークインタフェイス装置に割り当てられている前記複数のアドレスの各々は、各物理ネットワークに対応するプレフィックスから始まるＩＰ（Internet Protocol）バージョン６アドレスであり、
前記第２の物理ネットワークインタフェイス装置に割り当てられている前記複数のアドレスの各々は、各物理ネットワークに対応する前記プレフィックスから始まるＩＰバージョン６アドレスである
ことを特徴とする請求項１から３のいずれか１項に記載の管理プログラム。
【請求項５】
前記第１の仮想マシンと前記第２の仮想マシンを含み、かつ、１つの仮想ネットワークに属している複数の仮想マシンのうちの２つの仮想マシンの各ペアについて、当該２つの仮想マシン間を接続するためのレイヤ２トンネルのサービス品質を指定するためのネットワーク設定命令を受け付けることを、前記処理は含んでおり、
前記トンネル接続命令は、前記ネットワーク設定命令の中に含まれており、
前記トンネル接続命令を受け付ける処理は、前記ネットワーク設定命令を受け付ける処理に含まれる
ことを特徴とする請求項１から４のいずれか１項に記載の管理プログラム。
【請求項６】
異なる物理マシン上で動作する仮想マシン同士を、特定のサービス品質に対応するレイヤ２トンネルを介して接続するためのトンネル接続命令であって、各々が１つ以上のサービス品質をサポートする複数の物理ネットワークに第１の物理ネットワークインタフェイス装置を介して接続される第１の物理マシン上で動作する第１の仮想マシンと、前記複数の物理ネットワークに第２の物理ネットワークインタフェイス装置を介して接続される第２の物理マシン上で動作する第２の仮想マシンとを接続するためのトンネル接続命令を受け付ける受け付け手段と、
第１の命令を前記第１の物理マシンに送信するとともに、第２の命令を前記第２の物理マシンに送信する送信手段を備え、
前記第１の命令は、前記第１の物理マシンに対して、前記第１の仮想マシンが前記第２の仮想マシンへ送信しようとする第１のレイヤ２フレームを第１のレイヤ３パケットの中にカプセル化する際には、前記第１の物理ネットワークインタフェイス装置に割り当てられている複数のアドレスのうち、前記特定のサービス品質をサポートする特定の物理ネットワークに対応する第１のアドレスと、前記第２の物理ネットワークインタフェイス装置に割り当てられている複数のアドレスのうち、前記特定の物理ネットワークに対応する第２のアドレスとを使うように命ずる命令であり、
前記第２の命令は、前記第２の物理マシンに対して、前記第２の仮想マシンが前記第１の仮想マシンへ送信しようとする第２のレイヤ２フレームを第２のレイヤ３パケットの中にカプセル化する際には、前記第２のアドレスと前記第１のアドレスとを使うように命ずる命令である
ことを特徴とする管理装置。
【請求項７】
ネットワークシステムであって、
各々が１つ以上のサービス品質をサポートする複数の物理ネットワークに接続された第１の通信装置と、
前記複数の物理ネットワークに接続された第２の通信装置と、
第１の物理マシンであって、
前記複数の物理ネットワークに対応して複数のアドレスが割り当てられており、かつ、前記第１の通信装置に接続される、第１の物理ネットワークインタフェイス装置と、
第１の仮想マシンを実行し、前記第１の仮想マシンが第２の仮想マシンへ送信しようとする第１のレイヤ２フレームを第１のレイヤ３パケットの中にカプセル化し、前記第１のレイヤ３パケットを前記第１の物理ネットワークインタフェイス装置に送信させる第１のプロセッサと、
前記第１のレイヤ２フレームのカプセル化において用いられる第１の送信元アドレスと第１の送信先アドレスを記憶する第１の記憶装置を備える第１の物理マシンと、
第２の物理マシンであって、
前記複数の物理ネットワークに対応して複数のアドレスが割り当てられており、かつ、前記第２の通信装置に接続される、第２の物理ネットワークインタフェイス装置と、
前記第２の仮想マシンを実行し、前記第２の仮想マシンが前記第１の仮想マシンへ送信しようとする第２のレイヤ２フレームを第２のレイヤ３パケットの中にカプセル化し、前記第２のレイヤ３パケットを前記第２の物理ネットワークインタフェイス装置に送信させる第２のプロセッサと、
前記第２のレイヤ２フレームのカプセル化において用いられる第２の送信元アドレスと第２の送信先アドレスを記憶する第２の記憶装置を備える第２の物理マシンと、
前記第１の物理マシンおよび前記第２の物理マシンと通信可能な管理コンピュータであって、
前記第１の仮想マシンと前記第２の仮想マシンを、特定のサービス品質に対応するレイヤ２トンネルを介して互いに接続するためのトンネル接続命令を受け付ける入力装置または受信装置と、
前記第１の物理ネットワークインタフェイス装置の前記複数のアドレスのうち、前記特定のサービス品質をサポートする特定の物理ネットワークに対応する第１のアドレスと、前記第２の物理ネットワークインタフェイス装置の前記複数のアドレスのうち、前記特定の物理ネットワークに対応する第２のアドレスを、前記第１の送信元アドレスと前記第１の送信先アドレスとしてそれぞれ指定する第１の設定情報を、前記第１の物理マシンに送信するとともに、前記第２のアドレスと前記第１のアドレスを前記第２の送信元アドレスと前記第２の送信先アドレスとしてそれぞれ指定する第２の設定情報を、前記第２の物理マシンに送信する送信装置を備える管理コンピュータ
を備えることを特徴とするネットワークシステム。
【請求項８】
前記第１の物理マシンが前記第１のレイヤ３パケットを前記第１の通信装置に送信する際に、前記第１のプロセッサは、前記特定のサービス品質に対応する特定の優先度を示す特定の値を指定した第１のレイヤ２ヘッダを、前記第１のレイヤ３パケットの前に付加し、
前記第２の物理マシンが前記第２のレイヤ３パケットを前記第２の通信装置に送信する際に、前記第２のプロセッサは、前記特定の値を指定した第２のレイヤ２ヘッダを、前記第２のレイヤ３パケットの前に付加する
ことを特徴とする請求項７に記載のネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン間の通信に関する。
【背景技術】
【０００２】
ネットワークを介した通信の分野では、様々な研究が行われている。個々の装置やネットワーク全体など、様々なレベルでの仮想化の研究も、広く行われている。
【０００３】
例えば、各論理ノードで異なるＭＡＣ（Media Access Control）アドレスを設定することを可能とすることを目的とする、ある多論理ノード装置は、以下の構成要素を有する。
【０００４】
・多論理ノード装置で動作するＯＳ（Operating System）。
・ＯＳ上で動作するアプリケーション。
・多論理ノード装置に装着され、ネットワークメディアとの間で通信を行う物理ネットワークデバイス。
・ソフトウェアで構成される仮想ネットワークデバイス。
・ＯＳに実装され、物理ネットワークデバイスを制御する第１のデバイスドライバ。
・ＯＳに実装され、仮想ネットワークデバイスを制御する第２のデバイスドライバ。
【０００５】
上記の多論理ノード装置は、単一の物理ネットワークデバイスを用いて複数の論理ノードを実現することができる。
【０００６】
また、別の例として、ＶＬＡＮ−ＩＤ（Virtual Local Area Network identifier）に依存せずに、ＶＬＡＮを収容するＶＰＮ（Virtual Private Network）を決定することを可能とするために、あるルーティング装置が提案されている。当該ルーティング装置において、Ｌ２（Layer 2）処理部は、ＶＬＡＮフレームの送受信機能を持ち、ＶＬＡＮ−ＶＰＮ管理部は、ポート番号とＶＬＡＮ−ＩＤとから、ＶＰＮ−ＩＤを検索する。また、Ｌ３（Layer 3）処理部は、ＶＰＮ−ＩＤとＩＰ（Internet Protocol）アドレスとから、パケット転送先を決定するルーティング機能を持つ。
【０００７】
上記ＶＬＡＮ−ＶＰＮ管理部は、具体的には、ＶＬＡＮ−ＶＰＮ管理テーブルとＶＬＡＮ−ＶＰＮ検索処理部を有する。ＶＬＡＮ−ＶＰＮ管理テーブルは、ポート番号、ＶＬＡＮ−ＩＤ、ＶＰＮ−ＩＤのそれぞれのデータを保持・管理する。また、ＶＬＡＮ−ＶＰＮ検索処理部は、Ｌ２処理部からポート番号とＶＬＡＮ−ＩＤを受け取り、ＶＬＡＮ−ＶＰＮ管理テーブルを使用してＶＰＮ−ＩＤの検索処理を行い、検索結果をＬ３処理部に通知する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−４７７４号公報
【特許文献２】特開２００６−３３９９２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
近年では、コンピュータシステムの様々な面において、仮想化が広まりつつある。例えば、仮想マシンの利用が広まりつつある。しかし、物理ネットワークを介して接続された２つの異なる物理マシン上で動作する２つの仮想マシン間の通信のサービス品質を保証するための技術は、発展途上である。
【００１０】
本発明は、１つの側面では、２つの仮想マシン間の通信のサービス品質をいくつかの選択肢の中からユーザが選べるようにするための技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
一態様においては、管理プログラムが提供される。
前記管理プログラムがコンピュータに実行させる処理は、異なる物理マシン上で動作する仮想マシン同士を、特定のサービス品質に対応するレイヤ２トンネルを介して接続するためのトンネル接続命令を受け付けることを含む。前記トンネル接続命令は、第１の仮想マシンと第２の仮想マシンを接続するための命令である。
【００１２】
前記第１の仮想マシンは、第１の物理マシン上で動作する。前記第１の物理マシンは、各々が１つ以上のサービス品質をサポートする複数の物理ネットワークに第１の物理ネットワークインタフェイス装置を介して接続される。
【００１３】
一方、前記第２の仮想マシンは、第２の物理マシン上で動作する。前記第２の物理マシンは、前記複数の物理ネットワークに第２の物理ネットワークインタフェイス装置を介して接続される。
【００１４】
前記第１の物理ネットワークインタフェイス装置に割り当てられている複数のアドレスのうち、前記特定のサービス品質をサポートする特定の物理ネットワークに対応するアドレスを、第１のアドレスということにする。また、前記第２の物理ネットワークインタフェイス装置に割り当てられている複数のアドレスのうち、前記特定の物理ネットワークに対応するアドレスを、第２のアドレスということにする。
【００１５】
前記第１の仮想マシンが前記第２の仮想マシンへ送信しようとするレイヤ２フレームを、第１のレイヤ２フレームということにする。また、前記第２の仮想マシンが前記第１の仮想マシンへ送信しようとするレイヤ２フレームを、第２のレイヤ２フレームということにする。
【００１６】
前記管理プログラムが前記コンピュータに実行させる前記処理は、前記第１の物理マシンに対して、前記第１のレイヤ２フレームを第１のレイヤ３パケットの中にカプセル化する際には、前記第１のアドレスと前記第２のアドレスとを使うように命令することを含む。前記管理プログラムが前記コンピュータに実行させる前記処理は、前記第２の物理マシンに対して、前記第２のレイヤ２フレームを第２のレイヤ３パケットの中にカプセル化する際には、前記第２のアドレスと前記第１のアドレスとを使うように命令することも含む。
【発明の効果】
【００１７】
上記管理プログラムによれば、第１と第２の仮想マシンの間の通信のサービス品質が、いくつかの選択肢の中から選べるようになる。
【図面の簡単な説明】
【００１８】
【図１】実施形態のシステム構成図である。
【図２】ＩａａＳ管理サーバのブロック構成図である。
【図３】ハードウェア構成図である。
【図４】第１比較例のシステム構成図である。
【図５】第２比較例のシステム構成図である。
【図６】第２比較例の管理画面と定義情報の例を示す図である。
【図７】第２比較例で作成されるトンネルの例を示す図である。
【図８】実施形態の管理画面と定義情報の例を示す図である。
【図９】実施形態で作成されるトンネルの例を示す図である。
【図１０】仮想システム起動処理のフローチャートである。
【図１１】サービスレベル変更処理のフローチャートである。
【図１２】実施形態におけるトンネルの変更の例を示す図である。
【発明を実施するための形態】
【００１９】
以下、実施形態について、図面を参照しながら詳細に説明する。具体的には、まず、図１〜３を参照して実施形態の概要について説明する。次に、実施形態の利点についての理解を助けるために、図４〜７を参照して２つの比較例について説明する。その後、実施形態の詳細について図８〜１２を参照して説明する。最後に、他の実施形態についても説明する。
【００２０】
図１は、実施形態のシステム構成図である。図１のネットワークシステム１００は、複数の物理マシンと複数の通信装置を含む。各通信装置は、複数の物理ネットワークに接続される。各物理マシンは、いずれか１台の通信装置に接続される（換言すれば、各通信装置には、１台以上の物理マシンが接続される）。
【００２１】
ネットワークシステム１００は、具体的には、ＩａａＳ（Infrastructure as a Service）事業者が運営するＤＣ（Data Center）内に構築されるシステムであってもよい。ネットワークシステム１００の全体は、物理的には、１箇所の建屋内にあってもよいし、２箇所以上の建屋に分散していてもよい。
【００２２】
各物理マシンは、１つ以上の仮想マシン（ＶＭ：Virtual Machine）を実行することができる。ＩａａＳ事業者は、物理マシン上で稼働する（running）ＶＭを、ネットワークを介して顧客に提供する。ＶＭを提供するサービスは、クラウドコンピューティングの普及とともに広まりつつあるサービス形態である。
【００２３】
以下では、ＩａａＳ事業者にとっての顧客のことを単に「ユーザ」ともいう。本実施形態におけるユーザは、換言すれば、テナントである。また、本実施形態では、ユーザへのサービスの提供（具体的にはＶＭの貸与）のために物理マシンが使われるので、物理マシンのことを「物理サーバ」ともいう。
【００２４】
具体的には、図１の例では、ＤＣ内にラック１１０が設置される。ラック１１０内には、ＴｏＲ（Top of Rack）１１１と呼ばれるＬ２（Layer 2）スイッチと、ＴｏＲ１１１に接続される１台以上の物理サーバが設置される。ＴｏＲは、「ＴｏＲスイッチ」とも呼ばれる。
【００２５】
図１では、ラック１１０内に３台の物理サーバ１１２、１１３、および１２０が設置されているが、もちろん、１台のラック内の物理サーバの台数は任意である。図１では、紙幅の都合上、物理サーバ１１２と１１３の詳細は省略されており、物理サーバ１２０のみ、その詳細が示されている（物理サーバ１２０の詳細については後述する）。また、紙幅の都合上、図１では、物理サーバ１１２とＴｏＲ１１１を接続するケーブルと、物理サーバ１１３とＴｏＲ１１１を接続するケーブルも省略されている。
【００２６】
同様に、ＤＣ内には、ラック１３０も設置される。ラック１３０内にはＴｏＲ１３１と、ＴｏＲ１３１に接続される１台以上の物理サーバが設置される。図１では、ラック１３０内に３台の物理サーバ１３２、１３３、および１４０が設置されており、このうち物理サーバ１４０についてのみ詳細が示されている（物理サーバ１４０の詳細も後述する）。また、物理サーバ１３２とＴｏＲ１３１を接続するケーブルと、物理サーバ１３３とＴｏＲ１３１を接続するケーブルは図１では省略されている。
【００２７】
さらに、ＤＣ内には、ラック１５０も設置される。ラック１５０内には、ＴｏＲ１５１と、ＴｏＲ１５１に接続される１台以上の物理サーバが設置される。図１では、ラック１５０内に３台の物理サーバ１５２、１５３、および物理サーバ１６０が設置されており、このうち物理サーバ１６０についてのみ詳細が示されている（物理サーバ１６０の詳細も後述する）。また、物理サーバ１５２とＴｏＲ１５１を接続するケーブルと、物理サーバ１５３とＴｏＲ１５１を接続するケーブルは図１では省略されている。
【００２８】
なお、図１では、ネットワークシステム１００に含まれる複数の通信装置の例として、３台のＴｏＲ１１１、１３１、および１５１が例示されている。しかし、実施形態に応じて、通信装置の台数は２台であってもよいし、４台以上であってもよい。
【００２９】
また、上記のとおり、複数の通信装置の各々（具体的には各ＴｏＲ）は、複数の物理ネットワークに接続される。図１には、複数の物理ネットワークの例として、以下の３つのＬ３ネットワークが例示されている。
【００３０】
・ベストエフォートＩＰルータ網（best-effort Internet Protocol router network）１７０。
・ＭＰＬＳ網（Multi-Protocol Label Switching network）１７１。
・専用回線網（leased line network）１７２。
【００３１】
これらの複数の物理ネットワークの各々は、ＩａａＳ事業者により提供されてもよいし、通信キャリア会社により提供されてもよい。複数の物理ネットワークが、互いに異なる複数の通信キャリア会社により提供されてもよい。また、実施形態に応じて、物理ネットワークの数は２つでもよいし、４つ以上でもよい。複数の物理ネットワークそれぞれの種類も、実施形態に応じて適宜決められる。
【００３２】
ベストエフォートＩＰルータ網１７０は、複数のルータを含むネットワークである。ベストエフォートＩＰルータ網１７０では、ベストエフォート型の通信が行われ、サービス品質（ＱｏＳ：Quality of Service）は保証されない。
【００３３】
ＭＰＬＳ網１７１は、ＭＰＬＳをサポートする複数のルータ（またはスイッチ）を含むネットワークである。ＭＰＬＳ網１７１では、ラベルに応じたＱｏＳ制御が行われる。ＭＰＬＳ網１７１上の通信に先立って、ＲＳＶＰ−ＴＥ（Resource Reservation Protocol - Traffic Engineering）によるシグナリングが行われる。例えば、ＭＰＬＳ網１７１上のトンネル（tunnel over the MPLS network）の両端点（endpoints）が設定されたときに、ＲＳＶＰ−ＴＥによるシグナリングが行われてもよい。すると、ＭＰＬＳ網１７１上のトンネルを介した実際の通信は、ラベルに応じたＱｏＳで行われる。
【００３４】
専用回線網１７２は、例えば、１００Ｇｂｐｓ（ギガビット毎秒）などの所定の帯域幅が保証されるネットワークである。専用回線網１７２は、具体的には、複数のＬ２スイッチを含むネットワークであってもよい。
【００３５】
図１に示すように、ＴｏＲ１１１は、ベストエフォートＩＰルータ網１７０とＭＰＬＳ網１７１と専用回線網１７２に接続される。ＴｏＲ１３１も同様に、ベストエフォートＩＰルータ網１７０とＭＰＬＳ網１７１と専用回線網１７２に接続される。また、ＴｏＲ１５１も同様に、ベストエフォートＩＰルータ網１７０とＭＰＬＳ網１７１と専用回線網１７２に接続される。
【００３６】
以上のような構成によれば、ＴｏＲ１１１に接続された任意の物理サーバ上で稼働する任意のＶＭと、ＴｏＲ１３１に接続された任意の物理サーバ上で稼働する任意のＶＭを、いずれかの物理ネットワーク上のＬ２トンネルを介して接続することが可能である。換言すれば、ＴｏＲ１１１に接続された任意の物理サーバ上で稼働する任意のＶＭと、ＴｏＲ１３１に接続された任意の物理サーバ上で稼働する任意のＶＭは、いずれかの物理ネットワーク上のＬ２トンネルを介してＬ２フレームを送受信することが可能である。
【００３７】
同様に、ＴｏＲ１１１に接続された任意の物理サーバ上で稼働する任意のＶＭと、ＴｏＲ１５１に接続された任意の物理サーバ上で稼働する任意のＶＭを、いずれかの物理ネットワーク上のＬ２トンネルを介して接続することも可能である。さらに、同様に、ＴｏＲ１３１に接続された任意の物理サーバ上で稼働する任意のＶＭと、ＴｏＲ１５１に接続された任意の物理サーバ上で稼働する任意のＶＭを、いずれかの物理ネットワーク上のＬ２トンネルを介して接続することも可能である。
【００３８】
そして、Ｌ３ネットワークたる物理ネットワーク上のＬ２トンネルを利用してＩａａＳ内の２つのＶＭ同士を接続することにより、２つのＶＭ間の通信リンクを実現することができる。よって、Ｔ本（１≦Ｔ）のトンネルによりＴ本の通信リンクを実現することで、ＩａａＳ内の複数のＶＭ間を接続する仮想イーサネットを構築することが可能である（なお、「イーサネット」は登録商標である）。
【００３９】
トンネリング技術を用いてＬ３ネットワーク上に仮想イーサネットを構築する技術は、ＮＶＯ３（Network Virtualization over Layer 3）と呼ばれる。ＮＶＯ３は、ＩＥＴＦ（Internet Engineering Task Force）のＮＶＯ３ワーキンググループにより、標準化の検討がなされている。クラウドコンピューティングの広まりにともなう、いくつかのスケーラビリティの問題は、ＮＶＯ３の利用によって解消することが可能である。
【００４０】
例えば、１つの物理的なＬ２ネットワークセグメント内に収容可能な物理ノードの数には上限がある。また、１台のＬ２スイッチが取り扱うことのできるＭＡＣアドレスの数にも、上限がある。上限の具体的な値は、Ｌ２スイッチの性能にもよる。例えば、最大で約４千個〜約１万個程度のＭＡＣアドレスを取り扱えるＬ２スイッチが使われることも多い。
【００４１】
しかし、クラウドの成長にともなって、ＤＣ内の物理サーバの台数は増加している。例えば、１千台以上の物理サーバを有するＤＣもあり、約１万台もの物理サーバを有するＤＣもある。よって、ＤＣ内の全物理サーバを１つのＬ２ネットワークセグメントでカバーすることは、難しくなりつつある。
【００４２】
そして、上記のとおりＤＣ内の物理サーバの台数は増加傾向にあるから、それにともなってＤＣ内で稼働するＶＭの数も増加している。１台の物理サーバ上で稼働するＶＭの数は様々であるが、例えば、約６０個のＶＭが１台の物理サーバ上で稼動する場合もある。よって、ＤＣ内で数万のＶＭが稼働する可能性もある。
【００４３】
ところが、数万以上にもなり得るＶＭの数と比べると、異なるＶＬＡＮ−ＩＤによって区別可能なＶＬＡＮの個数は遥かに少ない。なぜなら、ＩＥＥＥ（Institute of Electrical and Electronics Engineers）８０２．１Ｑ規格によれば、ＶＬＡＮ−ＩＤは１２ビットの値だからである。つまり、使用可能なＶＬＡＮの数は、不足する傾向にある。
【００４４】
このように、物理的なＬ２ネットワークには、いくつかのスケーラビリティの問題がある。ＮＶＯ３は、大規模ＤＣにおいて、これらのスケーラビリティの問題を解消することのできる技術である。
【００４５】
よって、本実施形態でも、スケーラビリティの問題の解消のため、ＮＶＯ３が利用される。具体的には、上記のとおり、本実施形態では、Ｌ３物理ネットワーク上のＬ２トンネルによって２つのＶＭ間が接続される。なお、ある物理ネットワーク上にＬ２トンネルが作成される場合、当該物理ネットワークは、デリバリ・ネットワーク（delivery network）とも言われる。
【００４６】
また、詳しくは後述するように、本実施形態の利点の１つは、ＶＭのペアごとにデリバリ・ネットワークが選択可能なことである。その結果、本実施形態によれば、ＶＭのペアごとに、トンネルを介した通信のＱｏＳが選択可能となる。なぜなら、異なる物理ネットワークは、異なるＱｏＳを提供し得るからである。以上の利点は、ユーザにとっては、「ＶＭのペアごとに、当該ペアのＶＭ間の通信のサービスレベルが選択可能である」ということを意味する。
【００４７】
ところで、図１には、ネットワークシステム１００中の複数の物理サーバを管理するＩａａＳ管理サーバ１８０も示されている。以下では説明の便宜上、ＩａａＳ管理サーバ１８０がベストエフォートＩＰルータ網１７０に接続されているものとする。
【００４８】
しかし、ＩａａＳ管理サーバ１８０は、ＭＰＬＳ網１７１または専用回線網１７２に接続されていてもよい。あるいは、ＴｏＲ１１１、１３１、１５１の各々は、さらに、図１には不図示の管理用ネットワークに接続されていてもよい。そして、ＩａａＳ管理サーバ１８０が当該管理用ネットワークに接続されていてもよい。
【００４９】
いずれにせよ、ＩａａＳ管理サーバ１８０は、何らかのネットワークを介して各物理サーバと通信することができる。よって、ＩａａＳ管理サーバ１８０は、トンネルの一方の端点のＶＭが稼働している物理サーバと、トンネルの他方の端点のＶＭが稼働している物理サーバに対して、トンネルの設定に関する命令を与えることができる。
【００５０】
さて、図１には、物理サーバ１２０が有するＮＩＣ（Network Interface Card）１２１と、物理サーバ１４０が有するＮＩＣ１４１と、物理サーバ１６０が有するＮＩＣ１６１が示されている。各ＮＩＣは、物理的なネットワークインタフェイス装置の具体例である。
【００５１】
各ＮＩＣは、拡張カード型のＮＩＣでもよいし、オンボード型のＮＩＣでもよい。各ＮＩＣは、具体的には、ケーブルを挿すための物理的なポート、物理層の処理を行うための「ＰＨＹチップ」と呼ばれる回路、ＭＡＣ副層の処理を行うための「ＭＡＣチップ」と呼ばれる回路、などを含む。
【００５２】
本実施形態では、各ＮＩＣに、３つの物理ネットワークに対応する異なる３つのプレフィックスから始まる異なる３つのＩＰアドレスが割り当てられる。以下では説明の便宜上、次のように仮定する。
【００５３】
・ベストエフォートＩＰルータ網１７０に対応するプレフィックスは、２００１：ｄｂ８：１：：／４８である。よって、ＩＰアドレスの４９〜６４ビット目によって、ベストエフォートＩＰルータ網１７０内のＬ２セグメントを識別することができる。
・ＭＰＬＳ網１７１に対応するプレフィックスは、２００１：ｄｂ８：２：：／４８である。よって、ＩＰアドレスの４９〜６４ビット目によって、ＭＰＬＳ網１７１内のＬ２セグメントを識別することができる。
・専用回線網１７２に対応するプレフィックスは、２００１：ｄｂ８：３：：／４８である。よって、ＩＰアドレスの４９〜６４ビット目によって、専用回線網１７２内のＬ２セグメントを識別することができる。
・ＮＩＣ１２１には、３つのＩＰアドレスＩ１（２００１：ｄｂ８：１：１：：１）とＩ２（２００１：ｄｂ８：２：１：：１）とＩ３（２００１：ｄｂ８：３：１：：１）が割り当てられている。
・ＮＩＣ１４１には、３つのＩＰアドレスＩ４（２００１：ｄｂ８：１：９８：：１）とＩ５（２００１：ｄｂ８：２：９８：：１）とＩ６（２００１：ｄｂ８：３：９８：：１）が割り当てられている。
・ＮＩＣ１６１には、３つのＩＰアドレスＩ７（２００１：ｄｂ８：１：９９：：１）とＩ８（２００１：ｄｂ８：２：９９：：１）とＩ９（２００１：ｄｂ８：３：９９：：１）が割り当てられている。
【００５４】
なお、上記の例では、ベストエフォートＩＰルータ網１７０に対応する３つのＩＰアドレスＩ１とＩ４とＩ７の下位６４ビット（least significant 64 bits）の値は、いずれも「０：０：０：１」である。同様に、上記の例では、ＩＰアドレスＩ２とＩ５とＩ８の下位６４ビットの値同士も互いに等しいし、ＩＰアドレスＩ３とＩ６とＩ９の下位６４ビットの値同士も互いに等しい。
【００５５】
また、別の観点から見ると、上記の例では、１枚のＮＩＣ１２１に割り当てられている３つのＩＰアドレスＩ１とＩ２とＩ３の下位６４ビットの値同士も等しい。同様に、上記の例では、ＩＰアドレスＩ４とＩ５とＩ６の下位６４ビットの値同士も等しいし、ＩＰアドレスＩ７とＩ８とＩ９の下位６４ビットの値同士も等しい。
【００５６】
以上のように、同じ物理ネットワークに対応して異なる複数のＮＩＣに割り当てられている複数のＩＰアドレスの下位ビットを同じ値に設定することは、ＩａａＳ事業者が行う管理作業を簡素化するうえで有益である。同様に、１枚のＮＩＣに割り当てられている複数のＩＰアドレスの下位ビットを同じ値に設定することも、管理作業を簡素化するうえで有益である。しかし、もちろん、各物理ネットワークに対応するプレフィックスよりも下位のビットの値は、任意に設定されてもよい。
【００５７】
なお、以上の説明のとおり、本実施形態では、１枚のＮＩＣに複数のＩＰアドレスが割り当てられる。ＩＰｖ６（Internet Protocol version 6）のマルチプレフィックス機能によれば、このように複数のＩＰアドレスを１つの装置に割り当てることが可能となる。換言すれば、マルチプレフィックス機能により、１つの装置の１つのＭＡＣアドレスに複数のＩＰアドレスを対応づけることが可能となる。
【００５８】
また、図１には、物理サーバ１２０上で稼働するＶＭ１２２および１２３、物理サーバ１４０上で稼働するＶＭ１４２、ならびに、物理サーバ１６０上で稼働するＶＭ１６２も例示されている。もちろん、物理サーバ１２０、１４０、および／または１６０上で、不図示の他のＶＭがさらに稼働していてもよい。
【００５９】
なお、本実施形態において、１台の物理サーバ上で１つまたは複数のＶＭを稼働させるための仮想化アーキテクチャの種類は、特に限定されない。例えば、ハイパーバイザが用いられてもよいし、または、ＫＶＭ（Kernel-based Virtual Machine）が用いられてもよい。あるいは、「コンテナ」または「ゾーン」などと呼ばれる複数の環境をＯＳ上で提供するためのＯＳ仮想化技術が用いられてもよい。
【００６０】
いずれの仮想化アーキテクチャが使われるにせよ、ＶＭによるネットワークアクセスは、広義のホストＯＳを介して行われる。ホストＯＳは、物理ＮＩＣなどの物理ハードウェアへのアクセス特権を有する特別なＯＳである。
【００６１】
例えば、Ｘｅｎハイパーバイザが使われる場合、ホストＯＳは、「ドメイン０」（つまり、物理ハードウェアに関する特権を有するドメイン）上で動作するＯＳであり、ＶＭは「ドメインＵ」（特権を持たないドメイン）のことである。また、ＫＶＭが利用される場合、ホストＯＳのカーネルの機能を用いて、各ＶＭ上でゲストＯＳが動作する。ＯＳ仮想化技術が使われる場合は、例えば、ホストＯＳにより提供される大域ゾーン（global zone）内に、各ＶＭに相当するインスタンスである非大域ゾーン（non-global zone）が含まれてもよい。
【００６２】
いずれの仮想化アーキテクチャが使われるにせよ、ＶＭ内には、仮想ＮＩＣが含まれる。ＶＭ内の仮想ＮＩＣは、図１では省略されている。その代わり、図１には、ホストＯＳ内の仮想ＮＩＣが例示されている。
【００６３】
ホストＯＳ内の仮想ＮＩＣは、物理ＮＩＣとＶＭ（より詳しくはＶＭ内の仮想ＮＩＣ）との間に、物理サーバ（より具体的にはホストＯＳ）により提供される、仮想インタフェイスである。紙幅の都合上、図１では、ホストＯＳ内の各仮想ＮＩＣは、「ＶＮＩＣ」と略記されている。
【００６４】
より詳しく説明すると、ホストＯＳ内の仮想ＮＩＣは、ＶＭ側の仮想インタフェイスと、仮想ブリッジを含む。そして、仮想ブリッジは、ＶＭ側の仮想インタフェイスと物理ＮＩＣのインタフェイスとの間をブリッジする。例えば、Ｘｅｎハイパーバイザが使われる場合、ＶＭ側の仮想インタフェイスは「ｖｉｆ１．０」などの名前で識別され、仮想ブリッジは「ｘｅｎｂｒ０」などの名前で識別され、物理ＮＩＣのインタフェイスは「ｐｅｔｈ０」などの名前で識別される。他の仮想化アーキテクチャでも、類似の仮想ＮＩＣがホストＯＳ内に設けられる。つまり、ホストＯＳ内の仮想ＮＩＣは、ＶＭ内の仮想ＮＩＣとペアになった仮想インタフェイスと、物理インタフェイス（すなわち、物理ＮＩＣのインタフェイス）との間をブリッジする仮想ブリッジにより、ＶＭと物理ＮＩＣの間にインタフェイスを提供する。
【００６５】
図１には、具体的には、以下のような仮想ＮＩＣが示されている。
ＶＭ１２２とＶＭ１６２の間が、ベストエフォートＩＰルータ網１７０上のトンネルを介して接続される。この接続のために、物理サーバ１２０のホストＯＳ内には仮想ＮＩＣ１２４が設けられ、物理サーバ１６０のホストＯＳ内には仮想ＮＩＣ１６３が設けられる。
【００６６】
物理サーバ１２０のホストＯＳ内の仮想ＮＩＣ１２４は、ＮＩＣ１２１と、ＶＭ１２２内の不図示の仮想ＮＩＣとの間のインタフェイスを提供する。つまり、仮想ＮＩＣ１２４は、ＶＭ１２２内の不図示の仮想ＮＩＣとペアになっている。より具体的には、仮想ＮＩＣ１２４は、ベストエフォートＩＰルータ網１７０に対応するプレフィックスから始まるＩＰアドレスＩ１（２００１：ｄｂ８：１：１：：１）を用いた通信のためのインタフェイスを、ＶＭ１２２に対して提供する。
【００６７】
同様に、物理サーバ１６０のホストＯＳ内の仮想ＮＩＣ１６３は、ＮＩＣ１６１と、ＶＭ１６２内の不図示の仮想ＮＩＣとの間のインタフェイスを提供する。つまり、仮想ＮＩＣ１６３は、ＶＭ１６２内の不図示の仮想ＮＩＣとペアになっている。より具体的には、仮想ＮＩＣ１６３は、ベストエフォートＩＰルータ網１７０に対応するプレフィックスから始まるＩＰアドレスＩ７（２００１：ｄｂ８：１：９９：：１）を用いた通信のためのインタフェイスを、ＶＭ１６２に対して提供する。
【００６８】
よって、ＶＭ１２２とＶＭ１６２は、仮想ＮＩＣ１２４、ＮＩＣ１２１、ＴｏＲ１１１、ベストエフォートＩＰルータ網１７０、ＴｏＲ１５１、ＮＩＣ１６１、および仮想ＮＩＣ１６３を介して、互いに通信することができる。
【００６９】
より具体的には、トンネル作成時にＩａａＳ管理サーバ１８０から与えられる命令にしたがって、物理サーバ１２０が仮想ＮＩＣ１２４をセットアップする。そして、仮想ＮＩＣ１２４は、ＶＭ１２２から出力されるＬ２フレームを適宜カプセル化する（encapsulate）。カプセル化されたＬ２フレームは、Ｌ３パケットの中に含められる。それにより、Ｌ３パケット内にカプセル化されたＬ２フレームは、ベストエフォートＩＰルータ網１７０上のトンネルを介して、ＶＭ１６２に到達する。
【００７０】
同様に、トンネル作成時にＩａａＳ管理サーバ１８０から与えられる命令にしたがって、物理サーバ１６０が仮想ＮＩＣ１６３をセットアップする。そして、仮想ＮＩＣ１６３は、ＶＭ１６２から出力されるＬ２フレームを適宜カプセル化する。カプセル化されたＬ２フレームは、Ｌ３パケットの中に含められる。それにより、Ｌ３パケット内にカプセル化されたＬ２フレームは、ベストエフォートＩＰルータ網１７０上のトンネルを介して、ＶＭ１２２に到達する。
【００７１】
また、図１の例では、ＶＭ１２３とＶＭ１４２の間が、専用回線網１７２上のトンネルを介して接続される。この接続のために、物理サーバ１２０のホストＯＳ内には仮想ＮＩＣ１２５がさらに設けられ、物理サーバ１４０のホストＯＳ内には仮想ＮＩＣ１４３が設けられる。
【００７２】
物理サーバ１２０のホストＯＳ内の仮想ＮＩＣ１２５は、ＮＩＣ１２１と、ＶＭ１２３内の不図示の仮想ＮＩＣとの間のインタフェイスを提供する。より具体的には、仮想ＮＩＣ１２５は、専用回線網１７２に対応するプレフィックスから始まるＩＰアドレスＩ３（２００１：ｄｂ８：３：１：：１）を用いた通信のための仮想的なインタフェイスを、ＶＭ１２３に対して提供する。
【００７３】
同様に、物理サーバ１４０のホストＯＳ内の仮想ＮＩＣ１４３は、ＮＩＣ１４１と、ＶＭ１４２内の不図示の仮想ＮＩＣとの間のインタフェイスを提供する。より具体的には、仮想ＮＩＣ１４３は、専用回線網１７２に対応するプレフィックスから始まるＩＰアドレスＩ６（２００１：ｄｂ８：３：９８：：１）を用いた通信のための仮想的なインタフェイスを、ＶＭ１４２に対して提供する。
【００７４】
よって、ＶＭ１２３とＶＭ１４２は、仮想ＮＩＣ１２５、ＮＩＣ１２１、ＴｏＲ１１１、専用回線網１７２、ＴｏＲ１３１、ＮＩＣ１４１、および仮想ＮＩＣ１４３を介して、互いに通信することができる。
【００７５】
より具体的には、トンネル作成時にＩａａＳ管理サーバ１８０から与えられる命令にしたがって、物理サーバ１２０が仮想ＮＩＣ１２５をセットアップする。そして、仮想ＮＩＣ１２５は、ＶＭ１２３から出力されるＬ２フレームを適宜カプセル化する。それにより、カプセル化されたＬ２フレームは、専用回線網１７２上のトンネルを介して、ＶＭ１４２に到達する。
【００７６】
同様に、トンネル作成時にＩａａＳ管理サーバ１８０から与えられる命令にしたがって、物理サーバ１４０が仮想ＮＩＣ１４３をセットアップする。そして、仮想ＮＩＣ１４３が、ＶＭ１４２から出力されるＬ２フレームを適宜カプセル化する。それにより、カプセル化されたＬ２フレームは、専用回線網１７２上のトンネルを介して、ＶＭ１２３に到達する。
【００７７】
ところで、ベストエフォートＩＰルータ網１７０の内部では、ベストエフォート型の通信（つまりＱｏＳが保証されない通信）が行われる。ベストエフォートＩＰルータ網１７０により提供されるＱｏＳは、便宜上、ゼロと見なせる。
【００７８】
他方、ＭＰＬＳ網１７１の内部では、ラベルに応じたＱｏＳで通信が行われる。ＭＰＬＳ網１７１は、ある１種類のＱｏＳのみをサポートしてもよいし、２種類以上のＱｏＳをサポートしてもよい。
【００７９】
また、専用回線網１７２の内部では、保証された所定の帯域幅で（換言すれば、所定のＱｏＳで）通信が行われる。換言すれば、専用回線網１７２は、所定のＱｏＳをサポートする。
【００８０】
しかし、ＭＰＬＳ網１７１の外部ではＱｏＳは保証されず、専用回線網１７２の外部でもＱｏＳは保証されない。つまり、物理ネットワークの内部の通信は、当該物理ネットワークの提供するＱｏＳで行われるが、当該物理ネットワークの外部では、ＱｏＳの保証がない。
【００８１】
ところが、２つのＶＭ間の通信に使われるトンネルの両端点は、いずれも、ベストエフォートＩＰルータ網１７０、ＭＰＬＳ網１７１、および専用回線網１７２などの物理ネットワークの外部にある。したがって、物理ネットワークの内部だけでなく以下の２つの区間においても所望のＱｏＳを達成することにより、トンネルの一方の端点から他方の端点までの全体にわたって、所望のＱｏＳが達成される。
【００８２】
・送信元のＶＭが稼働している物理サーバの物理ＮＩＣから、ＴｏＲを介して、デリバリ・ネットワークたる物理ネットワークのエッジルータ（またはエッジスイッチ）に至るまでの区間。
・当該物理ネットワークのもう一つのエッジルータ（またはもう一つのエッジスイッチ）から、ＴｏＲを介して、送信先のＶＭが稼働している物理サーバの物理ＮＩＣに至るまでの区間。
【００８３】
トンネルの一方の端点から他方の端点までの全体にわたって所望のＱｏＳを達成するためには、少なくとも２つの方法がある。本実施形態では、どちらの方法が使われてもよい。また、２つの方法を組み合わせることも好ましい。
【００８４】
１つ目の方法は、十分に大きなスループットを持つＴｏＲを使う方法である。なお、ここでの「十分に大きなスループット」は、以下のような様々な要因に依存する。
【００８５】
・ＴｏＲに接続される物理サーバの数。
・各物理サーバ上で稼働するＶＭの数。
・各ＶＭが送受信するデータの量。
・ＴｏＲが接続される物理ネットワークの数（つまりネットワークシステム１００で使われる物理ネットワークの数）。
・各物理ネットワークが提供するＱｏＳ。
【００８６】
また、ＴｏＲのスループットは、ＴｏＲの仕様に応じて決まる。ＴｏＲの仕様は様々な項目により規定される。例えば、ＴｏＲ内でポートからポートへのフレームのスイッチングを行うためのハードウェア回路および／またはプロセッサの性能や、ＴｏＲ内のバッファの容量や、ＴｏＲがサポートする通信規格などが、仕様項目として挙げられる。
【００８７】
よって、ネットワークシステム１００を設計する設計者（例えばＩａａＳ事業者のネットワーク管理者）は、上記のような様々な要因から、「十分に大きい」と見なせるだけのスループットを見積もる。そして、設計者は、見積もった値以上のスループットを持つＴｏＲを使って、ネットワークシステム１００を構築する。
【００８８】
十分に大きなスループットを持つＴｏＲを使うことにより、上記２つの区間での輻輳を避けることができる。その結果、輻輳に起因する遅延や、輻輳に起因するフレームの廃棄を避けることもできる。つまり、十分に大きなスループットを持つＴｏＲを使うことにより、上記２つの区間での通信ＱｏＳの劣化を防ぐことができる。したがって、十分に大きなスループットを持つＴｏＲを使うことにより、ＶＭ間でエンド・ツー・エンドのＱｏＳ（end-to-end QoS）を達成することができる。
【００８９】
ＶＭ間でエンド・ツー・エンドのＱｏＳを達成するための２つ目の方法は、上記２つの区間でＶＬＡＮタグによるＣｏＳ（Class of Service）制御を行う方法である。
【００９０】
ＩＥＥＥ８０２．１Ｑ規格によれば、ＶＬＡＮタグは、１６ビットのＴＰＩＤ（Tag Protocol Identifier）と、１６ビットのＴＣＩ（Tag Control Information）を含む。そして、ＴＣＩは、３ビットのＰＣＰ（Priority Code Point）と、１ビットのＣＦＩ（Canonical Format Indicator）と、１２ビットのＶＬＡＮ−ＩＤを含む。ＶＬＡＮタグ中のこれらのフィールドのうち、ＰＣＰが優先度を示す。ＰＣＰは、ＣｏＳ制御のために使われる。ＰＣＰフィールドでは、「０」という値が最低の優先度を示し、「７」という値が最高の優先度を示す。
【００９１】
２つ目の方法では、ＱｏＳに応じた値がＶＬＡＮタグ中のＰＣＰとして設定される。よって、設定された優先度にしたがって上記の２つの区間でＣｏＳ制御が行われる。
【００９２】
例えば、図１に例示した３つの物理ネットワークが使われる場合、専用回線網１７２のＱｏＳが最も高く、ＭＰＬＳ網１７１のＱｏＳが２番目に高く、ベストエフォートＩＰルータ網１７０のＱｏＳが最も低い。よって、０から７という８つの値の中から予め適宜選ばれた３つの値のうち、最も大きな値が、専用回線網１７２上のトンネルを介して送信されるデータに対応するＰＣＰとして使われる。また、ＭＰＬＳ網１７１上のトンネルを介して送信されるデータに対応するＰＣＰとしては、上記３つの値のうち、２番目に大きな値が使われる。そして、ベストエフォートＩＰルータ網１７０上のトンネルを介して送信されるデータに対応するＰＣＰとしては、上記３つの値のうち、最も小さな値が使われる。
【００９３】
上記３つの値は、ＩａａＳ事業者が適宜予め決めてよい。説明の便宜上、上記３つの値が、例えば、「０」と「２」と「５」であるとする。
【００９４】
また、上記のように、図１の例では、ＶＭ１２３と１４２は、専用回線網１７２上のトンネルを介してデータを送受信する。よって、ＶＭ１２３と１４２の間で送受信されるデータには、下記２つの区間において、ＰＣＰとして、専用回線網１７２に対応する「５」という値が指定される。
【００９５】
・ＮＩＣ１２１からＴｏＲ１１１を介して専用回線網１７２のエッジルータ（またはエッジスイッチ）に至るまでの区間。
・専用回線網１７２のもう一つのエッジルータ（またはエッジスイッチ）からＴｏＲ１３１を介してＮＩＣ１４１に至るまでの区間。
【００９６】
一方、図１の例では、ＶＭ１２２と１６２は、ベストエフォートＩＰルータ網１７０上のトンネルを介してデータを送受信する。よって、ＶＭ１２２と１６２の間で送受信されるデータには、下記２つの区間において、ＰＣＰとして、ベストエフォートＩＰルータ網１７０に対応する「０」という値が指定される。
【００９７】
・ＮＩＣ１２１からＴｏＲ１１１を介してベストエフォートＩＰルータ網１７０のエッジルータ（またはエッジスイッチ）に至るまでの区間。
・ベストエフォートＩＰルータ網１７０のもう一つのエッジルータ（またはエッジスイッチ）からＴｏＲ１５１を介してＮＩＣ１６１に至るまでの区間。
【００９８】
例えば、仮に、ＶＭ１２３がＶＭ１４２にデータを送ろうとするのとほぼ同時に、ＶＭ１２２がＶＭ１６２にデータを送ろうとしたとする。このような場合でも、ＶＭ１２３がＶＭ１４２に送ろうとするデータの方が、ＶＭ１２２がＶＭ１６２に送ろうとするデータよりも優先的に、ＮＩＣ１２１からＴｏＲ１１１へ送信される。換言すれば、前者のデータと後者のデータがＮＩＣ１２１内で仮に競合したとしても、前者のデータが競合に勝つ。なぜなら、前者のデータには、後者のデータに対して指定される「０」というＰＣＰよりも高い優先度を示す、「５」というＰＣＰが指定されているからである。
【００９９】
また、別の例として、仮に、次の２つの時点がほぼ同時であったとする。
【０１００】
・ＴｏＲ１１１が、ＶＭ１６２からのＶＭ１２２宛のデータを、ベストエフォートＩＰルータ網１７０のエッジルータから受信する時点。
・ＴｏＲ１１１が、ＶＭ１４２からのＶＭ１２３宛のデータを、専用回線網１７２のエッジルータから受信する時点。
【０１０１】
このような場合でも、ＶＭ１４２からのＶＭ１２３宛のデータの方が、ＶＭ１６２からのＶＭ１２２宛のデータよりも優先的に、ＴｏＲ１１１からＮＩＣ１２１へ送信される。換言すれば、前者のデータと後者のデータがＴｏＲ１１１内で（より詳しくは、ＮＩＣ１２１と接続されるポート用の出力キューにおいて）仮に競合したとしても、前者のデータが競合に勝つ。なぜなら、前者のデータには、後者のデータに対して指定される「０」というＰＣＰよりも高い優先度を示す、「５」というＰＣＰが指定されているからである。
【０１０２】
以上のように、２つ目の方法によれば、物理サーバ（より詳しくは、物理サーバの有する物理ＮＩＣ）と、物理ネットワークのエッジルータ（またはエッジスイッチ）の間の区間でＣｏＳ制御が行われる。そして、このＣｏＳ制御により、実質的には、物理サーバとエッジルータ（またはエッジスイッチ）の間で、ＱｏＳに応じて流量を制限することが可能となる。その結果、２つ目の方法では、エンド・ツー・エンドのＱｏＳが達成される。
【０１０３】
以上のように、１つ目の方法、２つ目の方法、または両者の組み合わせにより、ＶＭ間でのエンド・ツー・エンドのＱｏＳが実質的に保証される。
【０１０４】
ところで、ＮＩＣ１２１からＴｏＲ１１１に送信されるＬ２フレームは、以下のフィールドを含む。
【０１０５】
・外側（outer）Ｌ２ヘッダ。
・トンネリング用のヘッダ（以下「トンネルヘッダ」という）。
・内側（inner）Ｌ２ヘッダ。
・内側Ｌ３パケット。
・外側Ｌ２トレイラ。
【０１０６】
ここで、内側Ｌ３パケットは、カプセル化されてトンネルを介して送信される対象の内側Ｌ２フレームの、ペイロードである。内側Ｌ３パケットに使われるＬ３プロトコルは、特に限定されない。例えば、内側Ｌ３パケットは、ＩＰパケット（すなわちＩＰデータグラム）であってもよい。また、内側Ｌ３パケットのペイロードは、任意のプロトコルのＰＤＵ（Protocol Data Unit）であってよい。
【０１０７】
内側Ｌ２フレームは、送信元のＶＭにより生成される。内側Ｌ２フレームは、ＶＭ間で使われるＬ２プロトコル（つまりトンネリングにおけるペイロード・プロトコル）にしたがった形式を有する。ＶＭ間で使われるＬ２プロトコルは、特に限定されない。例えば、内側Ｌ２フレームがイーサネットフレームであってもよい。
【０１０８】
トンネルヘッダの具体的形式は、トンネリングにおけるデリバリ・プロトコルによる。本実施形態では、デリバリ・プロトコルは特に限定されない。例えば、以下に例示するように様々なプロトコルが利用可能である。
【０１０９】
・ＶＸＬＡＮ（Virtual Extensible Local Area Network）が使われる場合、トンネルヘッダは、ＩＰヘッダとＵＤＰ（User Datagram Protocol）ヘッダとＶＸＬＡＮヘッダを含む。
・ＮＶＧＲＥ（Network Virtualization using Generic Routing Encapsulation）が使われる場合、トンネルヘッダは、ＩＰヘッダとＧＲＥ（Generic Routing Encapsulation）ヘッダを含む。
・Ｌ２ＴＰｖ３（Layer 2 Tunneling Protocol version 3）が使われる場合、トンネルヘッダは、ＩＰヘッダとＬ２ＴＰヘッダを含む。実装によっては、トンネルヘッダは、ＩＰヘッダとＵＤＰヘッダとＬ２ＴＰヘッダを含んでもよい。
・ＥｔｈｅｒＩＰが使われる場合、トンネルヘッダは、ＩＰヘッダとＥｔｈｅｒＩＰヘッダを含む。
【０１１０】
このように、トンネルヘッダの具体的形式は、実施形態に応じて様々に異なり得る。しかし、いずれの場合も、トンネルヘッダはＩＰヘッダを含む。トンネルヘッダに含まれるＩＰヘッダは、図１に示す本実施形態では、より詳しくは、ＩＰｖ６ヘッダである。
【０１１１】
そして、トンネルヘッダ内のＩＰｖ６ヘッダ内に指定される送信元ＩＰアドレスは、送信側の物理サーバの物理ＮＩＣに割り当てられている複数のＩＰアドレスのうち、デリバリ・ネットワークたる物理ネットワークのプレフィックスから始まるＩＰアドレスである。また、トンネルヘッダ内のＩＰｖ６ヘッダ内に指定される送信先アドレスは、受信側の物理サーバの物理ＮＩＣに割り当てられている複数のＩＰアドレスのうち、デリバリ・ネットワークたる物理ネットワークのプレフィックスから始まるＩＰアドレスである。
【０１１２】
なお、外側Ｌ２フレームのペイロードは、トンネルヘッダ、内側Ｌ２ヘッダ、および内側Ｌ３パケットを含む。トンネリングが行われる場合、プロトコルによっては、内側Ｌ２フレームのトレイラは省略される。例えば、ＶＸＬＡＮプロトコルが使われる場合、内側Ｌ２フレームのＦＣＳ（Frame Check Sequence）が省略される。一方、本実施形態の外側Ｌ２フレームはイーサネットフレームであり、外側Ｌ２トレイラとして具体的にはＦＣＳが使われる。
【０１１３】
なお、上記の第２の方法が採用される場合は、物理サーバとエッジルータ（またはエッジスイッチ）の間の区間では、外側Ｌ２ヘッダはＶＬＡＮタグを含む。そして、ＶＬＡＮタグ内のＰＣＰの値にしたがって、上記のとおりＣｏＳ制御が行われる。しかし、上記の第２の方法が採用されない場合には、外側Ｌ２ヘッダＶＬＡＮタグを含まない。
【０１１４】
ＶＬＡＮタグが使われるかどうかによらず、本実施形態によれば、いずれかの物理ネットワーク上のトンネルを介して、内側Ｌ２フレームがＶＭからＶＭへと、ユーザの所望のＱｏＳで送信される。つまり、ユーザが希望するサービスレベルを提供することのできるＱｏＳをサポートするような物理ネットワーク上に、トンネルを作成することにより、所望のＱｏＳによるＶＭ間通信が可能となる。
【０１１５】
そして、図１に示すように、複数の異なるＱｏＳをサポートする複数の物理ネットワークが使われる場合、ＱｏＳの選択肢は複数存在する。よって、本実施形態によれば、ユーザの希望に応じて複数の選択肢の中から適宜選ばれたＱｏＳで、ＶＭ同士がデータを送受信することが可能である。
【０１１６】
また、ＶＭ間で所望のＱｏＳを達成するためには、具体的には、２つのＶＭをそれぞれホストする２つの物理サーバが、ＩａａＳ管理サーバ１８０から与えられる命令にしたがって、適宜トンネルをセットアップする。以下に、ＩａａＳ管理サーバ１８０の動作という観点から、本実施形態についてさらに説明する。
【０１１７】
ＩａａＳ管理サーバ１８０は、ネットワークシステム１００を管理する管理装置の一例である。ＩａａＳ管理サーバ１８０は、特定のＱｏＳに対応するトンネル（具体的にはレイヤ２トンネル）を介して、異なる物理マシン上で動作するＶＭ同士を互いに接続するための命令（以下「トンネル接続命令」という）を受け付ける。
【０１１８】
具体的には、ＩａａＳ管理サーバ１８０は、入力装置（例えば後述の図３の入力装置２５４）または通信装置（例えば後述の図３のＮＩＣ２５３）を介して、トンネル接続命令を受け付ける。換言すれば、入力装置は、トンネル接続命令を受け付けるための受け付け手段の１つの例であり、通信装置は受け付け手段の別の例である。
【０１１９】
ここで、物理ネットワークの数がＮ個（Ｎ≧２）であるとする。図１の例ではＮ＝３である。各物理ネットワークは１つ以上のＱｏＳをサポートするので、Ｎ個の物理ネットワークにより、延べＭ通りのＱｏＳがサポートされる（Ｍ≧Ｎ）。
【０１２０】
例えば、ＭＰＬＳ網１７１が１種類のＱｏＳのみをサポートする場合、Ｍ＝Ｎ＝３であり、ＭＰＬＳ網１７１が２種類のＱｏＳをサポートする場合、Ｍ＝４である。上記のようにトンネル接続命令によりトンネルに対して指定される特定のＱｏＳは、Ｍ通りのＱｏＳのうちのいずれかである。また、ここでのトンネルは、具体的には、Ｌ３物理ネットワーク上のＬ２トンネルである。
【０１２１】
説明の便宜上、第１のＶＭと第２のＶＭの間を、ある特定のＱｏＳに対応するトンネルを介して互いに接続するためのトンネル接続命令を、ＩａａＳ管理サーバ１８０が受け付けるものとする。例えば、第１のＶＭがＶＭ１２３であり、第２のＶＭがＶＭ１４２であってもよい。
【０１２２】
また、第１のＶＭ（例えばＶＭ１２３）は、第１の物理マシン（例えば物理サーバ１２０）上で動作するものとする。第１の物理マシンは、第１の物理ネットワークインタフェイス装置（例えばＮＩＣ１２１）を介して、Ｎ個の物理ネットワークに接続される。具体的には、第１の物理マシンは、第１の物理ネットワークインタフェイス装置を介して第１の通信装置（例えばＴｏＲ１１１）に接続され、第１の通信装置が、Ｎ個の物理ネットワークに接続される。
【０１２３】
同様に、第２のＶＭ（例えばＶＭ１４２）は、第２の物理マシン（例えば物理サーバ１４０）上で動作するものとする。第２の物理マシンは、第２の物理ネットワークインタフェイス装置（例えばＮＩＣ１４１）を介して、Ｎ個の物理ネットワークに接続される。具体的には、第２の物理マシンは、第２の物理ネットワークインタフェイス装置を介して第２の通信装置（例えばＴｏＲ１３１）に接続され、第２の通信装置が、Ｎ個の物理ネットワークに接続される。
【０１２４】
さて、第１の物理ネットワークインタフェイス装置には、複数のアドレスが割り当てられている。具体的には、第１の物理ネットワークインタフェイス装置には、Ｎ個の物理ネットワークに対応して、Ｎ個のアドレス（具体的にはＩＰアドレスであり、さらに詳細に言えばＩＰｖ６アドレスである）が割り当てられている。
【０１２５】
これらＮ個のアドレスのうち、Ｎ個の物理ネットワークの中で特定のＱｏＳをサポートする特定の物理ネットワークに対応するアドレスを、便宜上、「第１のアドレス」という。つまり、第１のアドレスは、特定の物理ネットワークに対応して第１の物理ネットワークインタフェイス装置に割り当てられているアドレスである。
【０１２６】
例えば、ＮＩＣ１２１には、Ｎ（＝３）個のＩＰアドレスＩ１〜Ｉ３が割り当てられている。そして、特定の物理ネットワークが例えば専用回線網１７２である場合、第１のアドレスは、ＩＰアドレスＩ１〜Ｉ３のうち、ＩＰアドレスＩ３である。
【０１２７】
同様に、第２の物理ネットワークインタフェイス装置にも、複数のアドレスが割り当てられている。具体的には、第２の物理ネットワークインタフェイス装置にも、Ｎ個の物理ネットワークに対応して、Ｎ個のアドレスが割り当てられている。
【０１２８】
これらＮ個のアドレスのうち、特定の物理ネットワークに対応するアドレスを、便宜上、「第２のアドレス」という。つまり、第２のアドレスは、特定の物理ネットワークに対応して第２の物理ネットワークインタフェイス装置に割り当てられているアドレスである。
【０１２９】
例えば、ＮＩＣ１４１には、Ｎ（＝３）個のＩＰアドレスＩ４〜Ｉ６が割り当てられている。そして、特定の物理ネットワークが例えば専用回線網１７２である場合、第２のアドレスは、ＩＰアドレスＩ４〜Ｉ６のうちＩ６である。
【０１３０】
さて、上記のようなトンネル接続命令を受け付けると、ＩａａＳ管理サーバ１８０は、ＩａａＳ管理サーバ１８０に内蔵または接続された通信装置を介して、第１と第２の物理マシンに対して命令を与える。ＩａａＳ管理サーバ１８０に内蔵または接続された通信装置は、トンネル接続命令を受け付ける受け付け手段として動作し得るだけでなく、さらに、第１と第２の物理マシンに命令を送信するための送信手段としても動作する。
【０１３１】
ＩａａＳ管理サーバ１８０が第１と第２の物理マシンにそれぞれ与える命令は、Ｌ２フレーム（例えばイーサネットフレーム）のカプセル化の際に使われるアドレスに関する命令である。
【０１３２】
第１のＶＭが第２のＶＭへ送信しようとする第１のＬ２フレームを、トンネルを介して送信するために、第１の物理マシンが、第１のＬ２フレームを第１のＬ３パケット（具体的にはＩＰパケット）の中にカプセル化することがある。ＩａａＳ管理サーバ１８０は、そのカプセル化の際には、上記の第１と第２のアドレスを使うように、第１の物理マシンに対して命令する。より具体的には、ＩａａＳ管理サーバ１８０は、第１のＬ３パケットの送信元アドレスとして第１のアドレスを使うように、かつ、第１のＬ３パケットの送信先アドレスとして第２のアドレスを使うように、第１の物理マシンに対して命令する。
【０１３３】
同様に、第２のＶＭが第１のＶＭへ送信しようとする第２のＬ２フレームを、トンネルを介して送信するために、第２の物理マシンが、第２のＬ２フレームを第２のＬ３パケット（具体的にはＩＰパケット）の中にカプセル化することがある。ＩａａＳ管理サーバ１８０は、そのカプセル化の際には、上記の第２と第１のアドレスを使うように、第２の物理マシンに対して命令する。より具体的には、ＩａａＳ管理サーバ１８０は、第２のＬ３パケットの送信元アドレスとして第２のアドレスを使うように、かつ、第２のＬ３パケットの送信先アドレスとして第１のアドレスを使うように、第２の物理マシンに対して命令する。
【０１３４】
以上のような第１の物理マシンに対する命令は、具体的には、第１のアドレスと第２のアドレスを含む情報の通知であってもよい。換言すれば、カプセル化のための送信元アドレスとして第１のアドレスを指定するとともに、カプセル化のための送信先アドレスとして第２のアドレスを指定する設定情報を、ＩａａＳ管理サーバ１８０が第１の物理マシンに送信してもよい。第１の物理マシンは、送信された設定情報にしたがって第１と第２のアドレスを記憶し、第１のＬ２フレームのカプセル化の際には、記憶した第１と第２のアドレスを使用する。第２の物理マシンに対する命令についても同様である。
【０１３５】
また、ＩａａＳ管理サーバ１８０は、トンネル（すなわちＬ２トンネル）を識別するトンネル識別情報を生成または決定し、通信装置を介してトンネル識別情報を第１の物理マシンと第２の物理マシンに通知してもよい。例えば、ＩａａＳ管理サーバ１８０は、第１のアドレスと第２のアドレスとトンネル識別情報を含む情報を、第１の物理マシンに送信してもよい。それによって、ＩａａＳ管理サーバ１８０は、上記の命令を第１の物理マシンに与えるとともに、トンネル識別情報を第１の物理マシンに通知してもよい。同様に、ＩａａＳ管理サーバ１８０は、第２のアドレスと第１のアドレスとトンネル識別情報を含む情報を、第２の物理マシンに送信してもよい。
【０１３６】
第１の物理マシンは、上記カプセル化の際にトンネル識別情報を使ってもよい。具体的には、第１の物理マシンは、第１のＬ３パケットにおいて、カプセル化された第１のＬ２フレームより前にトンネル識別情報を含めてもよい。同様に、第２の物理マシンは、第２のＬ３パケットにおいて、カプセル化された第２のＬ２フレームより前にトンネル識別情報を含めてもよい。
【０１３７】
第１と第２のＬ３パケットは、具体的には、例えば上述したようなトンネルヘッダを含む。例えばＶＸＬＡＮヘッダが使われる場合、トンネル識別情報は、具体的にはＶＮＩ（VXLAN Network Identifier）である。あるいは、ＧＲＥヘッダが使われる場合、トンネル識別情報は、具体的には、ＲＦＣ（Request For Comments）２８９０で定義されるキーの、全部または一部であってもよい。ＧＲＥヘッダ中のキーは「ＧＲＥキー」とも言われ、キーの一部をＴＮＩ（Tenant Network Identifier）として使う技術も知られている。
【０１３８】
ところで、ＩａａＳ管理サーバ１８０が上記のように指定する第１と第２のアドレスは、第１と第２の物理ネットワークインタフェイス装置にそれぞれ割り当てられているアドレスである。一方、第１と第２のＶＭは、物理的な装置に割り当てられたアドレスを直接は認識しない。よって、第１の物理ネットワークインタフェイス装置と第１のＶＭとの間には、第１の物理マシンにより、第１の仮想インタフェイスが提供される。また、第２の物理ネットワークインタフェイス装置と第２のＶＭとの間には、第２の物理マシンにより、第２の仮想インタフェイスが提供される。
【０１３９】
ＩａａＳ管理サーバ１８０は、第１の物理マシンに対して、さらに、第１の仮想インタフェイスを、第１のアドレスと第２のアドレスとトンネル識別情報の組み合わせに対応づけるよう、命令してもよい。つまり、ＩａａＳ管理サーバ１８０は、第１のアドレスと第２のアドレスとトンネル識別情報の組み合わせに対応する第１の仮想インタフェイスを、第１の物理ネットワークインタフェイス装置と第１のＶＭとの間に設けるよう、第１の物理マシンに命令してもよい。この命令により、ＩａａＳ管理サーバ１８０は、第２のＬ３パケットを第１の物理ネットワークインタフェイス装置が受信した場合に第１の物理マシンが第１の仮想インタフェイスを介して第２のＬ２フレームを第１のＶＭに出力するようにさせることができる。
【０１４０】
例えば、第１のＶＭがＶＭ１２３であり、第１の物理マシンが物理サーバ１２０であり、第１のアドレスがＩＰアドレスＩ３だとする。また、第２のＶＭがＶＭ１４２であり、第２の物理マシンが物理サーバ１４０であり、第２のアドレスがＩＰアドレスＩ６だとする。
【０１４１】
以上のような場合、第１の仮想インタフェイスは、物理サーバ１２０のホストＯＳ内に設けられる仮想ＮＩＣ１２５であり、第２の仮想インタフェイスは、物理サーバ１４０のホストＯＳ内に設けられる仮想ＮＩＣ１４３である。ＩａａＳ管理サーバ１８０は、仮想ＮＩＣ１２５をＩＰアドレスＩ３とＩ６とトンネル識別情報の組み合わせに対応づけるよう、物理サーバ１２０に命令する。
【０１４２】
物理サーバ１２０は、命令にしたがって仮想ＮＩＣ１２５をＩＰアドレスＩ３とＩ６とトンネル識別情報の組み合わせに対応づける。
【０１４３】
ここで、ＶＭ１４２からＶＭ１２３に宛てて送信される第２のＬ２フレームがカプセル化されて含まれている第２のＬ３パケットをＮＩＣ１２１が受信した場合、外側Ｌ３ヘッダには、送信先ＩＰアドレスとしてＩＰアドレスＩ３が含まれる。また、外側Ｌ３ヘッダには、送信元ＩＰアドレスとしてＩＰアドレスＩ６も含まれるし、トンネル識別情報も含まれる。
【０１４４】
よって、物理サーバ１２０は、物理サーバ１２０内に２つ以上存在し得る仮想インタフェイスの中から、ＩＰアドレスＩ３とＩ６とトンネル識別情報の組み合わせに対応づけられた仮想ＮＩＣ１２５を選ぶことができる。その結果、物理サーバ１２０は、仮想ＮＩＣ１２５を介して、内側Ｌ２フレームをＶＭ１２３に出力することができる。以上のようにして、内側Ｌ２フレームがＶＭ１２３に適切に到達することが可能となる。
【０１４５】
同様に、ＩａａＳ管理サーバ１８０は、第２の物理マシンに対して、第２の仮想インタフェイスを、第２のアドレスと第１のアドレスとトンネル識別情報の組み合わせに対応づけるよう、命令してもよい。この命令により、ＩａａＳ管理サーバ１８０は、第１のＬ３パケットを第２の物理ネットワークインタフェイス装置が受信した場合に第２の物理マシンが第２の仮想インタフェイスを介して第１のＬ２フレームを第２のＶＭに出力するようにさせることができる。
【０１４６】
ところで、トンネル接続命令は、どのＱｏＳに対応するトンネルもまだ第１のＶＭと第２のＶＭの間に作成されていないときに、特定のＱｏＳに対応するトンネルを新たに作成するための命令であってもよい。逆に、トンネル接続命令は、第１のＶＭと第２のＶＭの間に作成済みの、特定のＱｏＳとは異なる別のＱｏＳに対応する別のトンネルを、特定のＱｏＳに対応するトンネルに置き換えるための命令であってもよい。詳しくは図１１〜１２とともに後述するように、後者の場合、ＩａａＳ管理サーバ１８０は、既存のトンネルを削除するための命令を第１と第２の物理マシンに明示的に与えてもよい。
【０１４７】
例えば、第１のＶＭがＶＭ１２２であり、第２のＶＭがＶＭ１６２であり、図１に示すように、ベストエフォートＩＰルータ網１７０上に既存のトンネルが存在するものとする。この場合、既存のトンネルを新たなトンネルに置き換えるために、既存のトンネルの削除と新たなトンネルの作成が行われてもよい。
【０１４８】
例えば、新たなトンネル用に指定される特定のＱｏＳが、具体的には、ＭＰＬＳ網１７１によりサポートされるＱｏＳであるものとする。ベストエフォートＩＰルータ網１７０上の既存のトンネルを介した通信のためのカプセル化では、ＩＰアドレスＩ１とＩ７（つまりベストエフォートＩＰルータ網１７０に対応するアドレス）が使われる。しかし、ＭＰＬＳ網１７１上の新たなトンネルを介した通信のためのカプセル化では、ＩＰアドレスＩ２とＩ８（つまりＭＰＬＳ網１７１に対応するアドレス）が使われる。
【０１４９】
よって、ＩａａＳ管理サーバ１８０は、既存のトンネルを削除するために、第１のＶＭをホストする第１の物理マシン（この例では物理サーバ１２０）に対して、カプセル化においてＩＰアドレスＩ１とＩ７を使用することをやめるように、命令してもよい。同様に、ＩａａＳ管理サーバ１８０は、第２のＶＭをホストする第２の物理マシン（この例では物理サーバ１６０）に対して、カプセル化においてＩＰアドレスＩ７とＩ１を使用することをやめるように、命令してもよい。
【０１５０】
ところで、詳しくは図８〜１０とともに後述するように、トンネル接続命令は、ある命令（以下、「ネットワーク設定命令」という）の一部としてＩａａＳ管理サーバ１８０に与えられてもよい。
【０１５１】
例えば、ユーザは、複数のＶＭが属する１つの仮想ネットワークを設計する場合がある。トンネル接続命令の対象である第１と第２のＶＭは、これら複数のＶＭの中の２つであってもよい。
【０１５２】
仮想ネットワークは、複数のＶＭのうちの任意の２つのＶＭの各ペアについて、当該２つのＶＭ間のリンクを実現するトンネルを作成することにより、実現される。ネットワーク設定命令は、具体的には、仮想ネットワークに属する２つのＶＭの各ペアについて、当該２つのＶＭ間を接続するためのトンネルのＱｏＳを指定するための命令である。ＩａａＳ管理サーバ１８０は、このようなネットワーク設定命令を受け付けてもよい。
【０１５３】
例えば、４つのＶＭが属する仮想ネットワークは、６（＝４×３／２）本のトンネルにより実現される。よって、４つのＶＭが属する仮想ネットワークに関するネットワーク設定命令は、６つのトンネル接続命令を含んでいてよい。このように、トンネル接続命令は、ネットワーク設定命令の一部であってもよい。ＩａａＳ管理サーバ１８０は、入力装置または通信装置を介してネットワーク設定命令を受け付けることができる。
【０１５４】
以上、ＩａａＳ管理サーバ１８０の動作の観点から本実施形態について説明した。次に、ＶＭをホストする物理マシンの観点からの説明を補足する。
【０１５５】
物理マシン（例えば物理サーバ１２０）は、上記のように、Ｎ個のアドレスが割り当てられた物理ネットワークインタフェイス装置（例えばＮＩＣ１２１）を有する。
【０１５６】
物理マシンはさらにプロセッサを有する。プロセッサは、ＶＭを実行し、ＶＭが他のＶＭへ送信しようとするＬ２フレームをＬ３パケットの中にカプセル化し、Ｌ３パケットを物理ネットワークインタフェイス装置に送信させる。後述の図３のＣＰＵ（Central Processing Unit）２２１はプロセッサの例である。
【０１５７】
また、物理マシンは、Ｌ２フレームのカプセルにおいて用いられる送信元アドレスと送信先アドレスを記憶する記憶装置を有する。記憶装置の例として、後述の図３には、ＲＡＭ（Random Access Memory）２２２と不揮発性の記憶装置２２３が例示されている。
【０１５８】
例えば、第１の物理マシンは、上記のようなＩａａＳ管理サーバ１８０からの命令に応じて、記憶装置に送信元アドレスとして第１のアドレスを記憶し、送信先アドレスとして第２のアドレスを記憶する。ＩａａＳ管理サーバ１８０がトンネル識別情報も第１の物理マシンに通知する場合は、第１の物理マシンは、トンネル識別情報も記憶装置に記憶する。
【０１５９】
同様に、第２の物理マシンも、ＩａａＳ管理サーバ１８０からの命令に応じて、記憶装置に送信元アドレスとして第２のアドレスを記憶し、送信先アドレスとして第１のアドレスを記憶する。ＩａａＳ管理サーバ１８０がトンネル識別情報も第２の物理マシンに通知する場合は、第２の物理マシンは、トンネル識別情報も記憶装置に記憶する。
【０１６０】
つまり、ＩａａＳ管理サーバ１８０からの命令は、換言すれば、送信元アドレスと送信先アドレスを指定する設定情報である。上記の説明から明らかなように、設定情報がトンネル識別情報を含んでいてもよい。
【０１６１】
ところで、図１に関して「第２の方法」として説明したように、物理マシンと、物理ネットワークのエッジルータ（またはエッジスイッチ）との間の区間では、ＣｏＳ制御が行われてもよい。
【０１６２】
上記のとおり、第１の物理マシン（例えば物理サーバ１２０）は、カプセル化された第１のＬ２フレームを含む第１のＬ３パケットを、第１の物理ネットワークインタフェイス装置（例えばＮＩＣ１２１）から第１の通信装置（例えばＴｏＲ１１１）に送信する。この送信の際に、第１の物理マシンの第１のプロセッサは、第１のＬ２ヘッダ（つまり外側Ｌ２ヘッダ）を第１のＬ３パケットの前に付加（prepend）する。
【０１６３】
第２の方法が採用される場合、具体的には、第１のＬ２ヘッダに、優先度に関する情報が含められる。つまり、第１のプロセッサは、トンネルに対して指定されている上記特定のＱｏＳに対応する特定の優先度を示す特定の値を、第１のＬ２ヘッダ内に指定する。同様に、第２の物理マシンが第２のＬ３パケットを第２の物理ネットワークインタフェイス装置から第２の通信装置に送信する際に、第２のプロセッサは、上記特定の値を指定した第２のＬ２ヘッダを、第２のＬ３パケットの前に付加する。
【０１６４】
より具体的には、第１のＬ２ヘッダは、上記特定の値の指定された第１のＶＬＡＮタグを含み、第２のＬ２ヘッダは、上記特定の値の指定された第２のＶＬＡＮタグを含む。また、第１のＶＬＡＮタグは、上記特定のＱｏＳまたは上記特定の物理ネットワークに対応する特定のＶＬＡＮ−ＩＤをさらに含んでいてもよく、第２のＶＬＡＮタグも、当該特定のＶＬＡＮ−ＩＤをさらに含んでいてもよい。なお、上記特定の物理ネットワークが２つ以上のＱｏＳをサポートする場合、ＶＬＡＮ−ＩＤは、特定の物理ネットワークに固有の値であってもよいし、ＱｏＳごとに異なる値であってもよい。
【０１６５】
ところで、上記のようにトンネルは、トンネル接続命令に応じて特定の物理ネットワーク上に作成される。特定の物理ネットワークは、１つのＱｏＳのみをサポートする場合もあり得るし、２つ以上のＱｏＳをサポートする場合もあり得る。
【０１６６】
特定の物理ネットワークが、特定のＱｏＳを含む２つ以上のＱｏＳをサポートしている場合、第１のＬ３パケットに含まれる、ＱｏＳに関わる第１のフィールドが、第１のＬ３パケットの送信中に参照されてもよい。同様に、第２のＬ３パケットに含まれる、ＱｏＳに関わる第２のフィールドが、第２のＬ３パケットの送信中に参照されてもよい。
【０１６７】
具体的には、第１と第２のＬ３パケットは、いずれも、本実施形態ではＩＰｖ６パケットである。ＩＰｖ６パケットのヘッダ中の「トラフィッククラス」フィールドや「フローラベル」フィールドには、ＱｏＳに関わる情報が設定されていてもよい。そして、トラフィッククラスやフローラベルの値が、ＩＰｖ６パケットの送信中に参照されてもよい。つまり、トラフィッククラスやフローラベルの値に応じたＱｏＳ制御が、特定の物理ネットワーク内で行われてもよい。
【０１６８】
また、特定の物理ネットワークが、上記のように特定のＱｏＳを含む２つ以上のＱｏＳをサポートしている場合、実際のパケットの送信に先立って、特定の物理ネットワーク上でシグナリング情報が送信されてもよい。
【０１６９】
具体的には、第１のＬ３パケットの送信の前に、第１の物理マシンから第２の物理マシンへ、特定の物理ネットワークを介して、特定のＱｏＳを指定する第１のシグナリング情報が送信されてもよい。同様に、第２のＬ３パケットの送信の前に、第２の物理マシンから第１の物理マシンへ、特定の物理ネットワークを介して、特定のＱｏＳを指定する第２のシグナリング情報が送信されてもよい。例えば、ＲＳＶＰ−ＴＥにしたがって、ＭＰＬＳ網１７１を介してシグナリング情報が送信されてもよい。
【０１７０】
あるいは、第１と第２の物理マシンの代わりに、ＩａａＳ管理サーバ１８０が、第１のシグナリング情報と第２のシグナリング情報を、特定の物理ネットワークに送信してもよい。この場合、第１のシグナリング情報は、上記と同様に特定のＱｏＳを指定するだけでなく、さらに、パスの両端点として第１と第２のＩＰアドレスも指定する情報である。また、この場合、第２のシグナリング情報は、上記と同様に特定のＱｏＳを指定するだけでなく、さらに、パスの両端点として第２と第１のＩＰアドレスも指定する情報である。
【０１７１】
さて、図２は、ＩａａＳ管理サーバ１８０のブロック構成図である。
図１に関して説明したように、ＩａａＳ管理サーバ１８０は、何らかのネットワークを介して各物理サーバと接続される。紙幅の都合上、図２には、図１中の物理サーバのうち、物理サーバ１１２と１６０のみが例示されている。
【０１７２】
また、ＩａａＳ管理サーバ１８０は、各物理サーバと接続するための上記ネットワークを介して（または、さらに別の不図示のネットワークを介して）、ユーザ端末１９０とも接続される。ユーザ端末１９０は、ユーザ（つまりＩａａＳ事業者にとっての顧客）が使う端末である。
【０１７３】
ＩａａＳ管理サーバ１８０は、ＵＩ（User Interface）処理部１８１とＶＭ管理部１８２と定義記憶部１８３とＶＮＥＴ管理部１８４を有する。なお、「ＶＮＥＴ」は「仮想ネットワーク」の略である。
【０１７４】
ＵＩ処理部１８１は、ユーザ端末１９０に対して、ユーザシステムを定義するためのＵＩを提供する。また、ＵＩ処理部１８１は、ユーザ端末１９０からの入力（つまりユーザシステムを定義する定義情報）を受け付ける。
【０１７５】
なお、ここで「ユーザシステム」とは、ユーザにより設計されるシステムである。ユーザシステムは、ユーザがＩａａＳ事業者から借りる１つ以上のＶＭ（つまりＩａａＳ事業者によりユーザに対してサービスとして提供される１つ以上のＶＭ）を含む。ユーザシステムを定義する定義情報の具体例については、後述する。
【０１７６】
ＵＩ処理部１８１は、ユーザ端末１９０から受信した定義情報を定義記憶部１８３に記憶する。なお、図２には１台のユーザ端末１９０のみが図示されているが、ＵＩ処理部１８１は、複数のユーザに対応する複数のユーザ端末１９０のそれぞれから定義情報を受信し、各定義情報を定義記憶部１８３に記憶する。
【０１７７】
ＶＭ管理部１８２は、ＶＭに関する様々な管理を行う。例えば、ＵＩ処理部１８１が定義情報を受信すると、ＶＭ管理部１８２は、ユーザシステムに含まれる各ＶＭをどの物理サーバに配置する（deploy）かを決定する。また、ＶＭ管理部１８２は、決定に基づいて、適宜の物理サーバに対して、新たなＶＭを起動するよう命令する。
【０１７８】
ＶＮＥＴ管理部１８４は、１つのユーザシステム内に含まれる１つまたは複数の仮想ネットワークを管理する。具体的には、ＶＮＥＴ管理部１８４が管理する各仮想ネットワークは、１つ以上のＬ３物理ネットワーク上の１本以上のＬ２トンネルを用いて実現される、仮想的なＬ２ネットワークである。つまり、この仮想的なＬ２ネットワークは、１種のオーバレイ・ネットワークである。
【０１７９】
より詳しくは、１つの仮想ネットワークにＶ個の仮想ネットワークインタフェイスが接続されている場合、１つの仮想ネットワークは、（Ｖ×（Ｖ−１）／２）本のＬ２トンネルを用いて実現される。そして、（Ｖ×（Ｖ−１）／２）本のＬ２トンネルは、１つの物理ネットワーク上に作成されてもよいし、２つ以上の異なる物理ネットワーク上に作成されてもよい。トンネルごとに、「どの物理ネットワーク上にトンネルを作成するのか」ということが定義情報により指定される。ＶＮＥＴ管理部１８４は、定義情報に基づいて、トンネルの作成のための適宜の命令を適宜の物理サーバに与える。
【０１８０】
例えば、図１のＶＭ１２２とＶＭ１６２を含むユーザシステムを定義する定義情報がユーザ端末１９０から入力されたとする。この場合、ＶＭ管理部１８２は、物理サーバ１２０に対してＶＭ１２２の作成と起動を命令し、物理サーバ１６０に対してＶＭ１６２の作成と起動を命令する。また、この場合、ＶＮＥＴ管理部１８４は、ＶＭ１２２とＶＭ１６２の間のトンネルの設定のための情報を物理サーバ１２０と１６０に送信する。
【０１８１】
すると、物理サーバ１２０は、ＶＭ管理部１８２からの命令に基づいてＶＭ１２２を作成し、ＶＮＥＴ管理部１８４から与えられる情報に基づいてホストＯＳ内に仮想ＮＩＣ１２４を作成し、ＶＭ１２２を仮想ＮＩＣ１２４に関連づけ、ＶＭ１２２を起動する。同様に、物理サーバ１６０は、ＶＭ管理部１８２からの命令に基づいてＶＭ１６２を作成し、ＶＮＥＴ管理部１８４から与えられる情報に基づいてホストＯＳ内に仮想ＮＩＣ１６３を作成し、ＶＭ１６２を仮想ＮＩＣ１６３に関連づけ、ＶＭ１６２を起動する。その結果、ＶＭ１２２とＶＭ１６２の間では、トンネルを介した通信が可能となる。
【０１８２】
続いて、図３のハードウェア構成図を参照して、図１のネットワークシステム１００を実現するためのハードウェアの例を説明する。なお、紙幅の都合上、図３では、図１のラック１５０とラック１５０内の装置が省略されている。
【０１８３】
また、図３では簡単のため、ベストエフォートＩＰルータ網１７０、ＭＰＬＳ網１７１、専用回線網１７２がそれぞれ単に「ネットワーク１７０」、「ネットワーク１７１」、および「ネットワーク１７２」と表記されている。図３には、例として、ベストエフォートＩＰルータ網１７０にＩａａＳ管理サーバ１８０とユーザ端末１９０がともに接続される場合が示されている。
【０１８４】
図３には、ベストエフォートＩＰルータ網１７０内のエッジルータ２０１と２０２、ＭＰＬＳ網１７１内のＬＥＲ（Label Edge Router）２０３と２０４、専用回線網１７２内のエッジスイッチ２０５と２０６も図示されている。エッジルータ２０１とＬＥＲ２０３とエッジスイッチ２０５は、ＴｏＲ１１１と接続される。エッジルータ２０２とＬＥＲ２０４とエッジスイッチ２０６は、ＴｏＲ１３１と接続される。
【０１８５】
ラック１１０内のＴｏＲ１１１は、少なくとも６つの物理的なポート２１１〜２１６を有する。ポート２１１はケーブルを介してエッジルータ２０１と接続され、ポート２１２はケーブルを介してＬＥＲ２０３と接続され、ポート２１３はケーブルを介してエッジスイッチ２０５と接続される。ポート２１４はケーブルを介して物理サーバ１１２と接続され、ポート２１５はケーブルを介して物理サーバ１１３と接続され、ポート２１６はケーブルを介して物理サーバ１２０（より具体的にはＮＩＣ１２１）と接続される。
【０１８６】
物理サーバ１２０はコンピュータである。物理サーバ１２０は、図１に示したようにＮＩＣ１２１を有する。さらに、物理サーバ１２０は、１台以上のＣＰＵ２２１と、ＲＡＭ２２２を有する。図１のＶＭ１２２、ＶＭ１２３、仮想ＮＩＣ１２４、および仮想ＮＩＣ１２５は、ＣＰＵ２２１がプログラムを実行することにより、実現される。ＣＰＵ２２１はプロセッサの一例である。
【０１８７】
また、物理サーバ１２０は、不揮発性の記憶装置２２３も有する。記憶装置２２３は、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid-State Drive）、またはその組み合わせである。記憶装置２２３としてさらにＲＯＭ（Read-Only Memory）が使われてもよい。記憶装置２２３には、ＣＰＵ２２１が実行するプログラムが予め記憶されている。ＮＩＣ１２１、ＣＰＵ２２１、ＲＡＭ２２２、および記憶装置２２３は、互いにバス２２４で接続される。
【０１８８】
また、ラック１３０内のＴｏＲ１３１も、少なくとも６つの物理的なポート２３１〜２３６を有する。ポート２３１はケーブルを介してエッジルータ２０２と接続され、ポート２３２はケーブルを介してＬＥＲ２０４と接続され、ポート２３３はケーブルを介してエッジスイッチ２０６と接続される。ポート２３４はケーブルを介して物理サーバ１３２と接続され、ポート２３５はケーブルを介して物理サーバ１３３と接続され、ポート２３６はケーブルを介して物理サーバ１４０（より具体的にはＮＩＣ１４１）と接続される。
【０１８９】
物理サーバ１４０もコンピュータである。物理サーバ１４０は、図１に示したようにＮＩＣ１４１を有する。さらに、物理サーバ１４０は、１台以上のＣＰＵ２４１と、ＲＡＭ２４２を有する。図１のＶＭ１４２と仮想ＮＩＣ１４３は、ＣＰＵ２４１がプログラムを実行することにより、実現される。ＣＰＵ２４１もプロセッサの一例である。
【０１９０】
また、物理サーバ１４０は、不揮発性の記憶装置２４３も有する。記憶装置２４３は、ＨＤＤ、ＳＳＤ、またはその組み合わせである。記憶装置２４３としてさらにＲＯＭが使われてもよい。記憶装置２４３には、ＣＰＵ２４１が実行するプログラムが予め記憶されている。ＮＩＣ１４１、ＣＰＵ２４１、ＲＡＭ２４２、および記憶装置２４３は、互いにバス２４４で接続される。
【０１９１】
ＩａａＳ管理サーバ１８０もコンピュータである。具体的には、ＩａａＳ管理サーバ１８０は、１台以上のＣＰＵ２５１と、ＲＡＭ２５２を有する。ＣＰＵ２５１はプロセッサの一例である。ＣＰＵ２５１は、プログラムをＲＡＭ２５２にロードし、ＲＡＭ２５２をワーキングエリアとしても利用しながら、プログラムを実行する。
【０１９２】
ＩａａＳ管理サーバ１８０はさらにＮＩＣ２５３を有する。ＮＩＣ２５３は通信装置の例である。ＮＩＣ２５３は、トンネル接続命令を受け付けるための受信装置でもあり、物理サーバに命令を送信するための送信装置でもある。ＮＩＣ２５３は、拡張カード型のＮＩＣでもよいし、オンボード型のＮＩＣでもよい。ＩａａＳ管理サーバ１８０は、ＮＩＣ２５３を介してネットワーク（例えば、図３ではベストエフォートＩＰルータ網１７０）に接続される。
【０１９３】
ＩａａＳ管理サーバ１８０は、さらに入力装置２５４と出力装置２５５を有していてもよい。入力装置２５４は、例えば、キーボード、マウスなどのポインティングデバイス、またはその組み合わせである。ポインティングデバイスとしてタッチスクリーンが使われてもよい。出力装置２５５は、例えば、ディスプレイ、スピーカ、またはその組み合わせである。ディスプレイがタッチスクリーンであってもよい。
【０１９４】
また、ＩａａＳ管理サーバ１８０は不揮発性の記憶装置２５６を有する。記憶装置２５６は、ＨＤＤ、ＳＳＤ、またはその組み合わせである。記憶装置２５６としてさらにＲＯＭが使われてもよい。
【０１９５】
ＩａａＳ管理サーバ１８０は、さらに、記憶媒体２６０の駆動装置２５７を有していてもよい。記憶媒体２６０は、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disk）などの光ディスク、光磁気ディスク、磁気ディスクのいずれであってもよい。または、記憶媒体２６０が半導体メモリカードであってもよく、駆動装置２５７の代わりにメモリカード用のリーダ／ライタが使われてもよい（なお「リーダ／ライタ」は、リーダとライタを兼ねる装置の意味である）。
【０１９６】
以上説明したＩａａＳ管理サーバ１８０内の各コンポーネントは、バス２５８を介して互いに接続される。
【０１９７】
ＣＰＵ２５１が実行するプログラムは、予め記憶装置２５６にインストールされていてもよい。プログラムは、記憶媒体２６０に格納されて提供され、駆動装置２５７により読み取られ、記憶装置２５６にインストールされてもよい。プログラムは、ベストエフォートＩＰルータ網１７０などのネットワークとＮＩＣ２５３とを介してダウンロードされ、記憶装置２５６にインストールされてもよい。
【０１９８】
ＲＡＭ２５２、記憶装置２５６、および記憶媒体２６０は、いずれも、コンピュータ読み取り可能な記憶媒体の例である。これらの記憶媒体は、有形の（tangible）媒体であり、信号搬送波のような一時的な（transitory）媒体ではない。
【０１９９】
なお、図２のＵＩ処理部１８１は、ユーザ端末１９０との間の通信を行うＮＩＣ２５３と、プログラムを実行するＣＰＵ２５１により実現される。または、図３のようにＩａａＳ管理サーバ１８０が入力装置２５４と出力装置２５５を有する場合は、ＵＩ処理部１８１は、入力装置２５４と出力装置２５５とＣＰＵ２５１により実現されてもよい。
【０２００】
例えば、入力画面を表示するための命令を、ＣＰＵ２５１が出力装置２５５に与えてもよい。出力装置２５５に表示された入力画面を見ながら、ユーザは、入力装置２５４を介して定義情報などの情報を入力してもよい。ＣＰＵ２５１は、入力装置２５４を介して入力された情報を適宜記憶装置２５６に記憶したり処理したりしてもよい。
【０２０１】
もちろん、ＣＰＵ２５１は、入力画面をユーザ端末１９０のディスプレイに表示させるための情報を生成してもよく、ＮＩＣ２５３がその情報をユーザ端末１９０に送信してもよい。また、ＮＩＣ２５３は、ユーザがユーザ端末１９０を介して入力した定義情報などの情報を受信してもよく、ＣＰＵ２５１は、受信された情報を適宜記憶装置２５６に記憶したり処理したりしてもよい。
【０２０２】
ＶＭ管理部１８２は、各物理サーバとの間の通信を行うＮＩＣ２５３と、プログラムを実行するＣＰＵ２５１により実現される。同様に、ＶＮＥＴ管理部１８４も、各物理サーバとの間の通信を行うＮＩＣ２５３と、プログラムを実行するＣＰＵ２５１により実現される。定義記憶部１８３は、記憶装置２５６により実現される。
【０２０３】
続いて、図１〜３に示した実施形態の利点の理解を助けるために、サービスレベルとＱｏＳについて説明し、また、図４〜７を参照して２つの比較例について説明する。図１〜３の実施形態と、図４の第１比較例と、図５〜７の第２比較例は、いずれも、２つのＶＭ間の仮想リンクのサービスレベルをユーザが複数の選択肢の中から選べるようにすることを１つの目的とする。しかし、以下の説明から分かるように、図１〜３および後述の図８〜１２に示す実施形態（ならびに、後述するその他の実施形態）は、第１比較例よりも優れており、かつ、第２比較例よりも優れている。
【０２０４】
図２に関して説明したように、ユーザは１つ以上のＶＭをＩａａＳ事業者から借り、借りたＶＭを使ったユーザシステムを管理する。また、１つのユーザシステムは、１つのＶＭを使ったスタンドアロン・システムでない限り、１つまたは複数の仮想ネットワークを含む。
【０２０５】
ところで、ユーザがＩａａＳ事業者から１つ以上のＶＭを借りる目的は様々である。ＤＢ（database）サーバとして利用するためにＶＭを借りるユーザもいるし、ストレージサーバあるいはファイルサーバとして利用するためにＶＭを借りるユーザもいる。また、Ｗｅｂサーバとして利用するためにＶＭを借りるユーザもいるし、アプリケーションサーバとして利用するためにＶＭを借りるユーザもいる。
【０２０６】
よって、ユーザの目的に応じて、ＶＭ間の仮想ネットワークに対してユーザが望む通信性能（換言すればＱｏＳ）は異なり得る。通信性能は、例えば、帯域幅（換言すればビットレート）により表されることもあるし、遅延時間により表されることもあるし、両者の組み合わせにより表されることもある。
【０２０７】
例えば、ユーザシステムが、複数のＤＢサーバを含むように冗長に構成されたＤＢシステムである場合、ユーザシステムには、各々がＤＢサーバとして使われる複数のＶＭを接続する仮想ネットワークが含まれる。ＤＢサーバ間の素早いデータ同期を可能とするために、ユーザは、仮想ネットワークが広帯域であることを望む場合がある。同様に、冗長に構成されたストレージシステム内の複数のストレージサーバ間の素早いデータ同期のために、ユーザは、仮想ネットワークが広帯域であることを望む場合がある。他方、Ｗｅｂサーバとして使われるＶＭや、アプリケーションサーバとして使われるＶＭが接続される仮想ネットワークに関しては、ユーザは、それほど広帯域でなくても構わない、と考える可能性もある。
【０２０８】
以上のように、ユーザの目的に応じて、ＶＭ間の仮想ネットワークに対してユーザが望むＱｏＳは異なり得る。しかし、複数の選択肢の中からユーザが所望のＱｏＳを選べるようにすることには困難がともなう。そのため、従来の多くのＩａａＳ事業者は、ＱｏＳを保証しないで、単にベストエフォート型の仮想ネットワークをユーザに提供してきた。
【０２０９】
例えば、ＩａａＳ事業者は、複数の物理サーバを接続する物理ネットワークを設計し、構築する。しかし、物理ネットワークの適切な容量を予測することは大変難しい。
【０２１０】
なぜなら、ＩａａＳ事業者にとっては、「どのようなユーザが将来ＶＭを利用する可能性があるのか」・「どのようなユーザシステムのためにユーザがＶＭを利用する可能性があるのか」といったことは、事前には分からないことが多いからである。また、仮にユーザシステムの構成が事前に判明しているとしても、「ユーザシステム上でどの程度多くのトラフィックが発生するのか」ということを予測することは、ユーザにとってもＩａａＳ事業者にとっても、非常に難しい。
【０２１１】
よって、「トラフィック予測に基づいて、予測されたトラフィックが滞りなく流れるような十分な容量を持った物理ネットワークを設計する」ということは、ＩａａＳ事業者にとってほとんど非現実的である。そのため、従来の多くのＩａａＳ事業者は、ベストエフォート型の仮想ネットワークをユーザに提供してきた。つまり、従来は、ＳＬＡ（Service Level Agreement）が設けられないことが多かった。
【０２１２】
ＩａａＳ事業者から提供される仮想ネットワークがベストエフォート型である場合、当然、ユーザが望む通信性能が仮想ネットワーク上で得られる保証もない。したがって、ユーザシステム全体としても、ユーザが望む性能が得られる保証はない。例えば、物理サーバを用いて構築されたユーザシステムを現在運用しているユーザは、ユーザシステムの仮想化を検討するかもしれないが、性能保証がないことを理由に、仮想化を諦めるかもしれない。
【０２１３】
一方、大まかな傾向としては、個々のユーザがそれぞれ独立に物理サーバを使うよりも、ＩａａＳ事業者がユーザにＶＭを貸し出す方が、コンピュータ資源が効率よく利用され、無駄も少なく、省エネルギーである。よって、資源の有効活用や省エネルギー化のためには、上記のような性能保証の欠如を克服し、ユーザが仮想化を受け入れやすいようにすることが有益である。また、もちろん、ユーザにとっても、仮想ネットワークの通信性能が保証されることは、喜ばしいことである。
【０２１４】
そこで、発明者は、「ＩａａＳ事業者が、複数のサービスレベルをメニューとしてユーザに対して提示することができるようにする」ということを目的にして、鋭意研究した。研究の結果として発明者が得た知見によれば、第１比較例、第２比較例、図１〜３および後述の図８〜１２に示す実施形態、ならびにその他の実施形態のいずれによっても、複数のサービスレベルの提示は可能である。しかし、図１〜３および後述の図８〜１２に示す実施形態、ならびにその他の実施形態は、第１比較例や第２比較例と比べて優れている。以下では、図４を参照して第１比較例について説明し、図５〜７を参照して第２比較例について説明する。
【０２１５】
さて、図４は、第１比較例のネットワークシステム３００のシステム構成図である。以下の説明から分かるように、ネットワークシステム３００を運用するＩａａＳ事業者は、ユーザに対して少なくとも３つのサービスレベルを提示することが可能である。
【０２１６】
第１比較例では、ＤＣ内にラック３１０が設置され、ラック３１０内には３台のＴｏＲ３１１〜３１３が設置される。ラック３１０内には、さらに、物理サーバ３１４、３１５、および３２０も設置される。図４では紙幅の都合上、物理サーバ３２０のみ、その詳細が示されている。
【０２１７】
物理サーバ３２０は、３枚のＮＩＣ３２１〜３２３を有する。ＮＩＣ３２１はＴｏＲ３１１に接続され、ＮＩＣ３２２はＴｏＲ３１２に接続され、ＮＩＣ３２３はＴｏＲ３１３に接続される。図４では紙幅の都合上省略されているが、物理サーバ３１４も同様に、３台のＴｏＲ３１１〜３１３すべてに接続され、物理サーバ３１５も同様に３台のＴｏＲ３１１〜３１３すべてに接続される。
【０２１８】
また、物理サーバ３２０上では、例えばＶＭ３２４と３２５が稼働する。物理サーバ上で稼働するＶＭは、ホストＯＳ内の仮想ＮＩＣを介して通信を行う。しかし、図３では、図示の簡略化のため、各物理サーバのホストＯＳ内の仮想ＮＩＣは省略されている。
【０２１９】
例えば、ＶＭ３２４内の不図示の仮想ＮＩＣと、物理的なＮＩＣ３２３との間のインタフェイスは、ホストＯＳ内の不図示の仮想ＮＩＣにより提供されるが、図３では、ＶＭ３２４とＮＩＣ３２３が直接的に線で結ばれている。同様に、ＶＭ３２５内の不図示の仮想ＮＩＣと、物理的なＮＩＣ３２１との間のインタフェイスは、ホストＯＳ内の不図示の別の仮想ＮＩＣにより提供されるが、図３では、ＶＭ３２５とＮＩＣ３２１が直接的に線で結ばれている。
【０２２０】
また、ＤＣ内にはラック３３０も設置され、ラック３１０と同様にラック３３０内にも３台のＴｏＲ３３１〜３３３が設置される。ラック３３０内には、さらに、物理サーバ３３４、３３５、および３４０も設置される。紙幅の都合上、図４では、物理サーバ３３４と３３５の詳細と、物理サーバ３３４とＴｏＲ３３１〜３３３を接続するケーブルと、物理サーバ３３５とＴｏＲ３３１〜３３３を接続するケーブルは、省略されている。
【０２２１】
物理サーバ３４０も物理サーバ３２０と同様に、３枚のＮＩＣ３４１〜３４３を有する。ＮＩＣ３４１はＴｏＲ３３１に接続され、ＮＩＣ３４２はＴｏＲ３３２に接続され、ＮＩＣ３４３はＴｏＲ３３３に接続される。
【０２２２】
また、物理サーバ３４０上では、例えばＶＭ３４４が稼働する。ＶＭ３４４と物理的なＮＩＣ３４３との間のインタフェイスは、物理サーバ３４０のホストＯＳ内の不図示の仮想ＮＩＣにより提供される。
【０２２３】
さらに、ＤＣ内にはラック３５０も設置され、ラック３１０と同様にラック３５０内にも３台のＴｏＲ３５１〜３５３が設置される。ラック３５０内には、さらに、物理サーバ３５４、３５５、および３６０も設置される。紙幅の都合上、図４では、物理サーバ３５４と３５５の詳細と、物理サーバ３５４とＴｏＲ３５１〜３５３を接続するケーブルと、物理サーバ３５５とＴｏＲ３５１〜３５３を接続するケーブルは省略されている。
【０２２４】
物理サーバ３６０も物理サーバ３２０と同様に、３枚のＮＩＣ３６１〜３６３を有する。ＮＩＣ３６１はＴｏＲ３５１に接続され、ＮＩＣ３６２はＴｏＲ３５２に接続され、ＮＩＣ３６３はＴｏＲ３５３に接続される。
【０２２５】
また、物理サーバ３６０上では、例えばＶＭ３６４が稼働する。ＶＭ３６４と物理的なＮＩＣ３６１との間のインタフェイスは、物理サーバ３６０のホストＯＳ内の不図示の仮想ＮＩＣにより提供される。
【０２２６】
さて、第１比較例のネットワークシステム３００も、複数の物理ネットワークを利用する。具体的には、図３には、ベストエフォートＩＰルータ網３７０と、ＭＰＬＳ網３７１と、専用回線網３７２が例示されている。これら３つの物理ネットワークは、図１の３つの物理ネットワークと同様である。
【０２２７】
ただし、図１の実施形態では、１台のＴｏＲが３つの物理ネットワークすべてに接続されるのに対し、図３の第１比較例では、各ＴｏＲは、当該ＴｏＲに対応する１つの物理ネットワークにのみ接続される。具体的には、ＴｏＲ３１１と３３１と３５１はベストエフォートＩＰルータ網３７０に接続され、ＴｏＲ３１２と３３２と３５２はＭＰＬＳ網３７１に接続され、ＴｏＲ３１３と３３３と３５３は専用回線網３７２に接続される。
【０２２８】
以上のような図３の第１比較例によれば、例えば、専用回線網３７２上のＬ２トンネルを介して、ＶＭ３２４と３４４が通信しあうことが可能である。また、図３の第１比較例によれば、例えば、ベストエフォートＩＰルータ網３７０上のＬ２トンネルを介して、ＶＭ３２５と３６４が通信しあうことも可能である。
【０２２９】
そして、第１比較例によれば、異なる物理ネットワーク上の異なるトンネルを流れるトラフィック同士は、物理的な通信路を共有しない。よって、これらのトラフィック間での競合は生じない。そのため、「競合のせいで、トンネルの一部においてＱｏＳが達成されない」という事態は回避される。つまり、第１比較例によっても、エンド・ツー・エンドのＱｏＳが達成される。
【０２３０】
例えば、仮に、ＶＭ３２４がＶＭ３４４にデータを送ろうとするのとほぼ同時に、ＶＭ３２５がＶＭ３６４にデータを送ろうとしたとする。このような場合でも、２つのトラフィックが競合することはない。なぜなら、前者のデータは、ＮＩＣ３２３からＴｏＲ３１３を介して専用回線網３７２へ送信され、後者のデータは、ＮＩＣ３２１からＴｏＲ３１１を介してベストエフォートＩＰルータ網３７０へ送信されるからである。
【０２３１】
このように、第１比較例では、前者のデータが送信される物理的な通信路と、後者のデータが送信される物理的な通信路の間には、共通の部分がない。よって、前者のデータと後者のデータの間での競合も生じない。したがって、「物理サーバ３２０からの前者のデータの送信が、物理サーバ３２０からの後者のデータの送信のせいで遅延する」ということもない。
【０２３２】
また、別の例として、仮に、次の２つの時点がほぼ同時であったとする。
【０２３３】
・ＶＭ３４４からのＶＭ３２４宛のデータを、ＴｏＲ３１３が、専用回線網３７２のエッジルータから受信する時点。
・ＶＭ３６４からのＶＭ３２５宛のデータを、ＴｏＲ３１１が、ベストエフォートＩＰルータ網３７０のエッジルータから受信する時点。
【０２３４】
このような場合でも、ＶＭ３４４からのＶＭ３２４宛のデータと、ＶＭ３６４からのＶＭ３２５宛のデータの間での競合は生じない。なぜなら、ＴｏＲ３１３と物理サーバ３２０の間の物理的な通信路と、ＴｏＲ３１１と物理サーバ３２０の間の物理的な通信路の間には共通な部分がないからである。よって、「物理サーバ３２０における前者のデータの受信が、物理サーバ３２０における後者のデータの受信のせいで遅延する」ということもない。
【０２３５】
よって、第１比較例でもエンド・ツー・エンドのＱｏＳが実現される。よって、第１比較例でも、ＩａａＳ事業者は以下の３つのサービスレベルをユーザに提示することができる。
【０２３６】
・ベストエフォートＩＰルータ網３７０上のトンネルを介した通信のＱｏＳに対応する第１のサービスレベル。
・ＭＰＬＳ網３７１上のトンネルを介した通信のＱｏＳに対応する第２のサービスレベル。
・専用回線網３７２上のトンネルを介した通信のＱｏＳに対応する第３のサービスレベル。
【０２３７】
よって、第１比較例でも、ユーザは、トンネルごとにサービスレベルを選択することができる。つまり、ユーザは、トンネルごとに、そのトンネルに対して望むＱｏＳに応じて、提示された３つのサービスレベルの中から１つを選択することができる。なお、ＱｏＳは連続値で表されてもよいし、離散値で表されてもよい。一方、サービスレベルは上記の例のごとく離散的であってよい。
【０２３８】
さて、図１と図４を比較すると分かるように、第１比較例には以下のようないくつかの欠点がある。換言すれば、第１比較例よりも実施形態の方が優れている。
【０２３９】
図１の実施形態では、物理ネットワークの数とは関係なく、各ラックには１台のＴｏＲがあれば十分である。しかし、図４の第１比較例では、１つの物理ネットワークごとに、各ラックに１台のＴｏＲが必要である。
【０２４０】
また、図１の実施形態では、物理ネットワークの数とは関係なく、各物理サーバには１枚の物理ＮＩＣがあれば十分である。しかし、図４の第１比較例では、１つの物理ネットワークごとに、各物理サーバに１枚の物理ＮＩＣが必要である。
【０２４１】
つまり、第１比較例よりも実施形態の方が、ＴｏＲやＮＩＣにかかる金銭的コストが安いし、ＴｏＲの管理（例えば初期設定など）にかかる手間も少ない。大規模ＤＣでは、物理サーバの数も非常に多いので、ＴｏＲや物理ＮＩＣの数の違いに起因する金銭的コストの違いも馬鹿にならない。
【０２４２】
しかも、第１比較例よりも実施形態の方が、ネットワークシステム全体としての故障率も低くなると期待される。なぜなら、第１比較例よりも実施形態の方が、ネットワークシステム全体に含まれるコンポーネントの数（具体的にはＴｏＲの数と物理ＮＩＣの数）が少ないからである。
【０２４３】
また、図１の実施形態と図４の第１比較例では、新たな物理ネットワークを構築することで、ユーザに対してメニューとして提示可能なサービスレベルの数を増やすことも可能である。例えば、ある時点では、ベストエフォートＩＰルータ網１７０に対応する低いサービスレベルと、専用回線網１７２に対応する高いサービスレベルのみがメニューに用意されていてもよい。ＩａａＳ事業者は、これら２つのサービスレベルの間の中間的なサービスレベルを、新たなメニューとしてユーザに提示することを可能とするために、新たにＭＰＬＳ網１７１を構築してもよい。
【０２４４】
例えば以上のようにして、新たなサービスレベルを増やすために新たな物理ネットワークが構築される場合、図１の実施形態ではＴｏＲを増やす必要がないが、図４の第１比較例では、各ラックに１台ずつＴｏＲを増やす必要がある。同様に、新たな物理ネットワークが構築される場合、図１の実施形態ではＮＩＣを増やす必要がないが、図４の第１比較例では、各物理サーバに１枚ずつＮＩＣを増やす必要がある。
【０２４５】
よって、図１の実施形態では、ネットワークシステム１００の運用を止めなくても、新たなサービスレベルの追加が可能である。それに対して、図４の第１比較例では、新たなサービスレベルの追加のためには、ネットワークシステム３００の運用を止める必要がある。
【０２４６】
例えば、図１の実施形態において、上記のように新たに中間的なサービスレベルを追加するために、ＩａａＳ事業者がＭＰＬＳ網１７１を敷設するものとする。ＭＰＬＳ網１７１には、いくつかのＬＥＲ（例えば図３のＬＥＲ２０３と２０４など）と、いくつかのＬＳＲ（Label Switch Router）と、これらのルータ同士を接続する複数のケーブルが含まれる。ＭＰＬＳ網１７１の敷設は、ネットワークシステム１００の運用中に、どの物理サーバも停止させることなく、行うことが可能である。
【０２４７】
ＭＰＬＳ網１７１の敷設が完了したら、ＩａａＳ事業者は、ＭＰＬＳ網１７１の各ＬＥＲを、ケーブルを介して適宜のＴｏＲに接続する。例えば、ＩａａＳ事業者は、ＬＥＲ２０３をＴｏＲ１１１に接続し、ＬＥＲ２０４をＴｏＲ１３１に接続する。ＬＥＲとＴｏＲをケーブルで接続する作業も、ネットワークシステム１００を停止させることなく、行うことが可能である。
【０２４８】
以上のように、図１の実施形態では、新たなサービスレベルの追加のために、物理サーバを停止する必要もないし、物理サーバを再起動する必要もない。なお、物理ＮＩＣへの新たなＩＰアドレス（つまり、ＭＰＬＳ網１７１に対応するプレフィックスから始まるＩＰアドレス）の割り当ては、物理サーバの稼働中に実行することが可能である。例えば、物理サーバ１２０を停止させたり再起動させたりしなくても、ＩＰアドレスＩ２を新たにＮＩＣ１２１に割り当てることが可能である。よって、図１の実施形態では、物理サーバ上で稼働しているＶＭを停止させる必要なしに、新たなサービスレベルの追加が可能である。
【０２４９】
ところが、図４の第１比較例では、新たなサービスレベルの追加のためには物理サーバを停止させる必要がある。そのため、第１比較例では、物理サーバ上で稼働しているＶＭも停止させるか、あるいは、ＶＭのマイグレーションを実行する必要がある。
【０２５０】
例えば、図４の第１比較例において、上記のように新たに中間的なサービスレベルを追加するために、ＩａａＳ事業者がＭＰＬＳ網３７１を敷設するものとする。
【０２５１】
ＭＰＬＳ網３７１には、いくつかのＬＥＲおよびいくつかのＬＳＲと、これらのルータ同士を接続する複数のケーブルが含まれる。ＭＰＬＳ網３７１自体の敷設は、ネットワークシステム３００の運用中に、どの物理サーバも停止させることなく、行うことが可能である。
【０２５２】
また、ＩａａＳ事業者は、ＭＰＬＳ網３７１に対応する新たなＴｏＲ（例えばＴｏＲ３１２、３３２、３５２など）を設置する。そして、ＩａａＳ事業者は、ＭＰＬＳ網３７１の各ＬＥＲを、ケーブルを介して、新たに設置した適宜のＴｏＲに接続する。以上のような新たなＴｏＲの設置と、ＬＥＲと新たなＴｏＲとの接続も、ネットワークシステム３００の運用中に行うことが可能である。
【０２５３】
しかし、第１比較例では、各物理サーバの停止が必要である。例えば、ＩａａＳ事業者は、物理サーバ３２０を停止させ、物理サーバ３２０に新たなＮＩＣ３２２を追加し、ＮＩＣ３２２の物理ポートとＴｏＲ３１２とをケーブルで接続し、その後、物理サーバ３２０を起動する。他の物理サーバについても同様である。物理サーバの台数が多ければ、以上のような物理サーバの停止や物理ＮＩＣの追加などの作業の手間は、大変大きい。
【０２５４】
なお、第１比較例では、ＭＰＬＳ網３７１内のルータがどれも中継用のＬＳＲであってもよい。この場合、ＭＰＬＳ網３７１に接続されるＴｏＲ３１２、３３２、３５２の各々は、具体的には、単なるＬ２スイッチではなく、ＬＥＲである。しかし、たとえそうだとしても、第１比較例では、ＭＰＬＳ網３７１により提供される新たなサービスレベルの追加のために、各物理サーバの停止が必要なことに変わりはない。
【０２５５】
しかも、物理サーバが停止している間はＶＭも停止させるか、または、物理サーバの停止に先立ってＶＭのマイグレーションを実行する必要がある。ＶＭの停止は、ＶＭを使ってユーザが運用しているユーザシステムの可用性を損なう。また、ＶＭのマイグレーションは、どの物理サーバをどういうタイミングで停止させるかに応じて行う必要がある。さらに、マイグレーションにともなって、既存のトンネルの削除と新たなトンネルの作成も必要である。第１比較例では、新たな物理ネットワークの追加にともなって、どの物理サーバも１回は停止されるので、どのＶＭも、停止またはマイグレーションが必要である。
【０２５６】
以上のとおりなので、第１比較例と比べると、図１などに示す実施形態には、以下のように様々な利点がある。
【０２５７】
・ＴｏＲやＮＩＣが少ない。よって、ＴｏＲやＮＩＣにかかる金銭的コストが低いし、ＴｏＲの管理の手間も少ない。また、ネットワークシステム１００全体としての故障率も低いと期待される。
・新たなサービスレベルの追加にともなう手作業も少ない。
・ＶＭの可用性を損なわずに（しかも、ＶＭのマイグレーションなどの余計な処理負荷をネットワークシステム１００に生じさせることもなく）、新たな物理ネットワークを利用する新たなサービスレベルを追加することが可能である。よって、既存の多数のＶＭに与える影響を考慮する必要なしに、任意のスケジュールで、新たなサービスレベルの追加を行うことが可能である。
【０２５８】
続いて、図５〜７を参照して第２比較例について説明する。図５は、第２比較例のネットワークシステム４００のシステム構成図である。
【０２５９】
第２比較例では、ＤＣ内にラック４１０が設置され、ラック４１０内にはＬＥＲ４１１（つまりＭＰＬＳをサポートするエッジルータ）が設置される。ラック４１０内には、さらに、物理サーバ４１２、４１３、および４２０も設置される。
【０２６０】
物理サーバ４２０はＮＩＣ４２１を有し、ＮＩＣ４２１はＬＥＲ４１１に接続される。図５では紙幅の都合上省略されているが、同様に、物理サーバ４１２もＬＥＲ４１１に接続され、物理サーバ４１３もＬＥＲ４１１に接続される。
【０２６１】
また、物理サーバ４２０上では、例えばＶＭ４２２と４２３が稼働する。物理サーバ上で稼働するＶＭは、ホストＯＳ内の仮想ＮＩＣを介して通信を行う。しかし、図５では、図示の簡略化のため、各物理サーバのホストＯＳ内の仮想ＮＩＣは省略されている。
【０２６２】
例えば、ＶＭ４２２内の不図示の仮想ＮＩＣと、物理的なＮＩＣ４２１との間のインタフェイスは、ホストＯＳ内の不図示の仮想ＮＩＣにより提供されるが、図５ではＶＭ４２２とＮＩＣ４２１が直接的に線で結ばれている。同様に、ＶＭ４２３とＮＩＣ４２１も、図示の簡略化のために直接的に線で結ばれている。
【０２６３】
また、ＤＣ内にはラック４３０も設置され、ラック４３０内にはＬＥＲ４３１が設置される。ラック４３０内にはさらに、物理サーバ４３２、４３３、および４４０も設置される。
【０２６４】
物理サーバ４４０はＮＩＣ４４１を有し、ＮＩＣ４４１はＬＥＲ４３１に接続される。また、物理サーバ４４０上では、例えばＶＭ４４２が稼働する。ＶＭ４４２と物理的なＮＩＣ４４１との間のインタフェイスは、物理サーバ４４０のホストＯＳ内の不図示のＮＩＣにより提供される。
【０２６５】
なお、図５では、物理サーバ４３２と４３３の詳細と、物理サーバ４３２とＬＥＲ４３１を接続するケーブルと、物理サーバ４３３とＬＥＲ４３１を接続するケーブルは省略されている。
【０２６６】
さらに、ＤＣ内にはラック４５０も設置され、ラック４５０内にはＬＥＲ４５１が設置される。ラック４５０内にはさらに、物理サーバ４５２、４５３、および４６０も設置される。
【０２６７】
物理サーバ４６０はＮＩＣ４６１を有し、ＮＩＣ４６１はＬＥＲ４５１に接続される。また、物理サーバ４６０上では、例えばＶＭ４６２が稼働する。ＶＭ４６２と物理的なＮＩＣ４６１との間のインタフェイスは、物理サーバ４６０のホストＯＳ内の不図示のＮＩＣにより提供される。
【０２６８】
なお、図５では、物理サーバ４５２と４５３の詳細と、物理サーバ４５２とＬＥＲ４５１を接続するケーブルと、物理サーバ４５３とＬＥＲ４５１を接続するケーブルは省略されている。
【０２６９】
さて、第２比較例で使われる物理ネットワークは１つだけである。具体的には、第２比較例では、ＭＰＬＳ・ＲＳＶＰ−ＴＥ網４７０が使われる。ＭＰＬＳ・ＲＳＶＰ−ＴＥ網４７０では、シグナリング・プロトコルとしてＲＳＶＰ−ＴＥが使われる。より具体的には、ラベルの配布（label distribution）にＲＳＶＰ−ＴＥが使われる。そして、ＲＳＶＰ−ＴＥにしたがって確立され、かつ、帯域幅が確保（reserve）されたＬＳＰ（Label Switched Path）に沿って、データが送信される。ＭＰＬＳ・ＲＳＶＰ−ＴＥ網４７０は、異なる複数のＱｏＳを提供することができる。
【０２７０】
以上のような図５の第２比較例によれば、例えば、ＭＰＬＳ・ＲＳＶＰ−ＴＥ網４７０上で広い帯域幅が確保された第１のＬＳＰ（すなわち、高いＱｏＳのＬＳＰ）上のＬ２トンネルを介して、ＶＭ４２２と４６２が通信しあうことが可能である。また、第２比較例によれば、第１のＬＳＰよりも狭い帯域幅が確保された第２のＬＳＰ上のＬ２トンネルを介して、ＶＭ４２３とＶＭ４４２が通信しあうことも可能である。
【０２７１】
このように、第２比較例によれば、ＭＰＬＳとＲＳＶＰ−ＴＥの機能を使うことにより、単一の物理ネットワーク（つまりＭＰＬＳ・ＲＳＶＰ−ＴＥ網４７０）上で複数のＱｏＳを提供することができる。換言すれば、第２比較例によれば、ＭＰＬＳとＲＳＶＰ−ＴＥの機能を使うことにより、ＩａａＳ事業者は、複数のＱｏＳに対応する複数のサービスレベルを、ユーザに対してメニューとして提示することができる。
【０２７２】
なお、ＭＰＬＳ・ＲＳＶＰ−ＴＥ網４７０は、フローごとに異なるＱｏＳを設定することの可能なネットワークの一例である。ＭＰＬＳとＲＳＶＰ−ＴＥの代わりに他のプロトコルが使われてもよい。例えば、ＡＴＭ（Asynchronous Transfer Mode）網やフレームリレー網がＭＰＬＳ・ＲＳＶＰ−ＴＥ網４７０の代わりに使われてもよい。
【０２７３】
図６は、第２比較例の管理画面と定義情報の例を示す図である。図５では省略されているが、第２比較例でも、ある種のＩａａＳ管理サーバとユーザ端末が使われる。ＩａａＳ管理サーバは、ＭＰＬＳ・ＲＳＶＰ−ＴＥ網４７０または他のネットワークを介して各物理サーバと接続される。ユーザ端末は、ＭＰＬＳ・ＲＳＶＰ−ＴＥ網４７０または他のネットワークを介してＩａａＳ管理サーバと接続される。
【０２７４】
図６には、ユーザ端末のディスプレイに表示される管理画面５００が例示されている。ユーザ端末がネットワークを介してＩａａＳ管理サーバにアクセスすると、ＩａａＳ管理サーバは、管理画面５００を表示するための情報をユーザ端末に与える。ユーザ端末は、与えられた情報に基づいてディスプレイ上に管理画面５００を表示する。管理画面５００は、ユーザシステム５１０を定義するためのＧＵＩ（Graphical User Interface）の例である。ユーザは、キーボードやポインティングデバイスなどの入力装置を用いて、ユーザシステム５１０の定義を編集することができる。
【０２７５】
図６のユーザシステム５１０は、２つの仮想ネットワークと６つのＶＭを含む。
具体的には、ユーザシステム５１０は、ネットワーク５１１と５１２を含む。ネットワーク５１１は、ＭＰＬＳ・ＲＳＶＰ−ＴＥ網４７０上の複数のＬ２トンネルにより実現される仮想ネットワークである。ネットワーク５１２も、ＭＰＬＳ・ＲＳＶＰ−ＴＥ網４７０上の複数のＬ２トンネルにより実現される仮想ネットワークである。
【０２７６】
具体的には、ネットワーク５１１には、ＧＷ（gateway）５１３、第１Ｗｅｂサーバ５１４、第２Ｗｅｂサーバ５１５、およびＦＷ（firewall）５１６が接続される。ＧＷ５１３、第１Ｗｅｂサーバ５１４、第２Ｗｅｂサーバ５１５、およびＦＷ５１６は、いずれも、ＶＭである。
【０２７７】
また、ＦＷ５１６はネットワーク５１２にも接続される。よって、管理画面５００には、ネットワーク５１１にＦＷ５１６を接続するための第１ＮＩＣ５１７と、ネットワーク５１２にＦＷ５１６を接続するための第２ＮＩＣ５１８も示されている。第１ＮＩＣ５１７は、より具体的には、ＶＭであるＦＷ５１６を実行する物理サーバのホストＯＳ内の仮想ＮＩＣである。同様に、第２ＮＩＣ５１８は、ＦＷ５１６を実行する物理サーバのホストＯＳ内の別の仮想ＮＩＣである。
【０２７８】
しかし、管理画面５００を見ながらユーザシステム５１０を設計するユーザは、第１ＮＩＣ５１７と第２ＮＩＣ５１８がどのように実装されるかを知る必要はない。ユーザは、単に、ＦＷ５１６とネットワーク５１１のインタフェイスとして第１ＮＩＣ５１７を管理画面５００上で定義し、ＦＷ５１６とネットワーク５１２のインタフェイスとして第２ＮＩＣ５１８を管理画面５００上で定義する。
【０２７９】
さて、ネットワーク５１２には、ＦＷ５１６に加えて、第１ＤＢサーバ５１９と第２ＤＢサーバ５２０も接続される。第１ＤＢサーバ５１９と第２ＤＢサーバ５２０の各々も、ＶＭである。
【０２８０】
なお、図６では、図の簡略化のため、ＧＷ５１３用の仮想ＮＩＣ（つまり、ＶＭであるＧＷ５１３を実行する物理サーバのホストＯＳ内の仮想ＮＩＣ）は省略されている。同様に、図６では、第１Ｗｅｂサーバ５１４と第２Ｗｅｂサーバ５１５と第１ＤＢサーバ５１９と第２ＤＢサーバ５２０用の仮想ＮＩＣも省略されている。図６で省略されているこれらの仮想ＮＩＣは、図７に仮想ＮＩＣ５２１〜５２５として示されている。
【０２８１】
ユーザシステム５１０は、不図示の外部ネットワーク（例えばインターネット）を介してクライアントから要求を受け付け、クライアントに応答を返すシステムである。ＧＷ５１３は上記外部ネットワークとユーザシステム５１０の境界にある。ＧＷ５１３はロードバランサを兼ねていてもよい。
【０２８２】
クライアントからの要求は、ＧＷ５１３によって第１Ｗｅｂサーバ５１４または第２Ｗｅｂサーバ５１５に転送（forward）される。第１Ｗｅｂサーバ５１４と第２Ｗｅｂサーバ５１５の各々は、要求を受け取ると、要求に応じた適宜の処理を行い、応答を返す。応答は、ＧＷ５１３と上記の外部ネットワークを介してクライアントに送信される。
【０２８３】
また、第１Ｗｅｂサーバ５１４と第２Ｗｅｂサーバ５１５の各々が行う処理は、ＤＢアクセスをともなう処理であってもよい。ユーザシステム５１０で使われるＤＢは冗長化されており、具体的には、第１ＤＢサーバ５１９に保持されるＤＢの複製が、第２ＤＢサーバ５２０に保持される。ＦＷ５１６は、第１ＤＢサーバ５１９と第２ＤＢサーバ５２０を保護するために、ネットワーク５１１と５１２の境界に設けられる。
【０２８４】
ユーザは、管理画面５００のようなＧＵＩを介して、以上説明したようなネットワーク構成を有するユーザシステム５１０を定義することができる。そして、ユーザシステム５１０を定義する定義情報は、ユーザ端末によって編集され、ＩａａＳ管理サーバに送信される。ＩａａＳ管理サーバは、ユーザ端末から定義情報を受信し、定義情報を格納する。
【０２８５】
図６には、ＩａａＳ管理サーバに格納される定義情報も例示されている。具体的には、ユーザシステム５１０に対応する定義情報５３０が、テーブル形式で図６に示されている。定義情報５３０は以下の２つのフィールドを含む。
【０２８６】
・仮想システムであるユーザシステム５１０の名前が「ＶＳＹＳ−００１」であることを示す「ＶＳＹＳ名」フィールド。
・ユーザシステム５１０に含まれる仮想ネットワークを定義する「ＶＮＥＴ」フィールド。
【０２８７】
図６に示すように、定義情報５３０の「ＶＮＥＴ」フィールドには、以下のことが記録される。
【０２８８】
・ユーザシステム５１０は、第１ＶＮＥＴ（すなわちネットワーク５１１）と第２ＶＮＥＴ（すなわちネットワーク５１２）を含む。
・第１ＶＮＥＴには、ＧＷ５１３と、第１Ｗｅｂサーバ５１４と、第２Ｗｅｂサーバ５１５と、ＦＷ５１６の第１ＮＩＣ５１７が接続される。
・第２ＶＮＥＴには、ＦＷ５１６の第２ＮＩＣ５１８と、第１ＤＢサーバ５１９と、第２ＤＢサーバ５２０が接続される。
【０２８９】
さて、第２比較例のＩａａＳ管理サーバは、定義情報５３０に基づいて以下のような処理を行う。以下のような処理の結果として、第２比較例では、例えば図７に示すように９本のトンネルが作成される。
【０２９０】
・ユーザシステム５１０内の６つのＶＭを適宜の物理サーバに配置する処理。
・ネットワーク５１１を実現するための複数のトンネルを作成するための命令を、ネットワーク５１１に属するＶＭが配置された物理サーバのそれぞれに対して与える処理。
・ネットワーク５１２を実現するための複数のトンネルを作成するための命令を、ネットワーク５１２に属するＶＭが配置された物理サーバのそれぞれに対して与える処理。
【０２９１】
図７の例では、ＧＷ５１３が物理サーバ５４１上に配置され、第１Ｗｅｂサーバ５１４と第１ＤＢサーバ５１９が物理サーバ５４２上に配置される。また、第２Ｗｅｂサーバ５１５と第２ＤＢサーバ５２０が物理サーバ５４３上に配置され、ＦＷ５１６が物理サーバ５４４上に配置される。
【０２９２】
なお、物理サーバ５４１〜５４４の各々は、図５のネットワークシステム４００に含まれる複数の物理サーバのうちのいずれかである。また、図５には紙幅の都合上、３台のラックに搭載された９台の物理サーバのみが描かれているが、もちろん、ネットワークシステム４００は、４台以上のラックに搭載された１０台以上の物理サーバを含んでいてよい。
【０２９３】
ところで、図６の第１ＮＩＣ５１７と第２ＮＩＣ５１８は、上記のとおり、ＦＷ５１６に対応してホストＯＳ内に作成される仮想ＮＩＣである。よって、図７では、第１ＮＩＣ５１７と第２ＮＩＣ５１８のいずれも、「仮想ＮＩＣ」と表記されている。
【０２９４】
同様に、物理サーバ５４１のホストＯＳ内には、ＧＷ５１３に対応して仮想ＮＩＣ５２１が作成される。また、物理サーバ５４２のホストＯＳ内には、第１Ｗｅｂサーバ５１４に対応して仮想ＮＩＣ５２２が作成され、第１ＤＢサーバ５１９に対応して仮想ＮＩＣ５２３が作成される。そして、物理サーバ５４３のホストＯＳ内には、第２Ｗｅｂサーバ５１５に対応して仮想ＮＩＣ５２４が作成され、第２ＤＢサーバ５２０に対応して仮想ＮＩＣ５２５が作成される。
【０２９５】
ここで、図６に示すように、ネットワーク５１１には、ＧＷ５１３と第１Ｗｅｂサーバ５１４と第２Ｗｅｂサーバ５１５とＦＷ５１６が属する。よって、図７では、ＧＷ５１３用の仮想ＮＩＣ５２１と、第１Ｗｅｂサーバ５１４用の仮想ＮＩＣ５２２と、第２Ｗｅｂサーバ５１５用の仮想ＮＩＣ５２４と、ＦＷ５１６用の仮想ＮＩＣ５１７が、ネットワーク５１１のブロック内に描かれている。
【０２９６】
また、図６に示すように、ネットワーク５１２には、ＦＷ５１６と第１ＤＢサーバ５１９と第２ＤＢサーバ５２０が属する。よって、図７では、ＦＷ５１６用の仮想ＮＩＣ５１８と、第１ＤＢサーバ５１９用の仮想ＮＩＣ５２３と、第２ＤＢサーバ５２０用の仮想ＮＩＣ５２５が、ネットワーク５１２のブロック内に描かれている。
【０２９７】
ところで、定義情報において、ある仮想ネットワーク（具体的には仮想的なＬ２ネットワーク）への接続のための仮想ＮＩＣが、Ｖ個定義されているとする。この場合、当該仮想ネットワークは、物理ネットワーク上の（Ｖ×（Ｖ−１）／２）本のＬ２トンネルにより実現される。
【０２９８】
図５〜７に示す第２比較例では、ネットワーク５１１への接続のために４つの仮想ＮＩＣ（つまり仮想ＮＩＣ５２１、５２２、５２４、および５１７）が定義されている。よって、ネットワーク５１１は、ＭＰＬＳ・ＲＳＶＰ−ＴＥ網４７０上の６（＝４×３／２）本のトンネルにより実現される。これら６本のトンネルは、図７では、１点鎖線により示されている。これら６本のトンネルにより、ネットワーク５１１に属する４つのＶＭのうちの任意の２つの間での通信（具体的にはＬ２通信）が可能となる。
【０２９９】
また、図５〜７に示す第２比較例では、ネットワーク５１２への接続のために３つの仮想ＮＩＣ（つまり仮想ＮＩＣ５２３、５２５、および５１８）が定義されている。よって、ネットワーク５１２は、ＭＰＬＳ・ＲＳＶＰ−ＴＥ網４７０上の３（＝３×２／２）本のトンネルにより実現される。これら３本のトンネルは、図７では、破線により示されている。これら３本のトンネルにより、ネットワーク５１２に属する３つのＶＭのうちの任意の２つの間でのＬ２通信が可能となる。
【０３００】
なお、図７から明らかなように、ネットワーク５１１に属する仮想ＮＩＣとネットワーク５１２に属する仮想ＮＩＣの間には、トンネルが作成されない。また、各トンネルは、ＩａａＳ管理サーバから物理サーバに与えられる命令に基づいて作成される。
【０３０１】
さて、以上のように図５〜７を参照して説明した第２比較例を、図１〜３（および後述の図８〜１２）に示す実施形態と比較してみると、実施形態の方が優れている。具体的には以下のとおりである。
【０３０２】
第２比較例では、単一の物理ネットワークにより、複数のサービスレベルに対応する複数のＱｏＳが提供される。よって、ネットワークシステム４００を提供するＩａａＳ事業者は、ネットワークシステム４００を設計する際に、サービスレベルのメニューを予め決定する必要がある。
【０３０３】
ＩａａＳ事業者は、決定したメニューに含まれるどのサービスレベルに対応するＱｏＳでもサポートする機能を持ったネットワーク装置（例えばルータやスイッチ）を使って、物理ネットワークを構築する。こうして構築される物理ネットワークは、図５のＭＰＬＳ・ＲＳＶＰ−ＴＥ網４７０であってもよいし、上記のように、フローごとのＱｏＳ制御が可能な他の種類のネットワーク（例えばＡＴＭ網またはフレームリレー網）であってもよい。
【０３０４】
このように、第２比較例では、単一の物理ネットワークがサポートするＱｏＳ制御機能によって、ＩａａＳ事業者が提供可能なサービスレベルのメニューが決まってしまう。つまり、第２比較例では、一旦構築された物理ネットワークがサポートしないようなＱｏＳに対応する新規サービスレベルを、後から追加することはできない。換言すれば、第２比較例では、メニューが硬直的であり、メニューの拡張性がほとんど（あるいは、まったく）ない。
【０３０５】
第２比較例における上記のような拡張性のなさは、図１などの実施形態における柔軟な拡張性（つまり、「随時、物理ネットワークの追加によって、新たなサービスレベルを追加することが可能である」という特徴）とは対照的である。
【０３０６】
拡張性のなさは、新たなネットワーク技術が開発されても、その新たなネットワーク技術をネットワークシステム４００に取り入れられないことを意味する。よって、同じメニューを提供し続けるだけの第２比較例のネットワークシステム４００は、年月の経過とともに、時代遅れのサービスしかユーザに提供することができない不便なシステムに成り下がるおそれさえある。つまり、拡張性のなさは、長期的にはユーザビリティの低下を招く可能性がある。
【０３０７】
また、拡張性のなさは、初期投資の増大を招き得るので、ＩａａＳ事業者にとっても不都合である。例えば、ＩａａＳ事業者は、拡張性のなさを考慮に入れて、ネットワークシステム４００を最初に設計するときに、「できるだけ豊富なサービスレベルの選択肢を最初から用意しておこう」と考えるかもしれない。しかし、多くのサービスレベルを提供するには、物理ネットワーク内のルータ等のネットワーク装置が、多くのレベルのＱｏＳをきめ細かに制御する機能を有していなくてはならない。そのような高機能のネットワーク装置は、高価であることが多い。高価なネットワーク装置を使った物理ネットワークを敷設するための初期投資は、当然、高額になってしまう。よって、拡張性のなさは、初期投資の増大を招く要因となり得るのである。
【０３０８】
他方、図１などの実施形態によれば、初期投資を抑えることが可能である。例えば、ＩａａＳ事業者は、最初は、１つのベストエフォートＩＰルータ網１７０のみを利用したネットワークシステム１００から始めてもよい。そうすれば、初期投資額は比較的低くて済むであろう。
【０３０９】
ＩａａＳ事業者は、その後、ユーザからの要求や経営環境などに応じて、適宜、新規サービスレベルを追加することができる。例えば、ＩａａＳ事業者は、あるとき専用回線網１７２により実現されるサービスレベルをメニューに追加してもよく、その後でさらに、ＭＰＬＳ網１７１により実現されるサービスレベルをメニューに追加してもよい。
【０３１０】
もちろん、新たなネットワーク技術が開発されたら、ＩａａＳ事業者は、その新たなネットワーク技術を使った新たな物理ネットワークにより実現されるサービスレベルをメニューに追加してもよい。それにより、ＩａａＳ事業者は、技術開発の恩恵を受けた新たなサービスレベルをユーザに提供することが可能となる。
【０３１１】
逆に、ネットワークシステム１００で使われている物理ネットワークのうちの１つが、技術的に陳腐化してしまう可能性も、ゼロではない。そのような場合、ＩａａＳ事業者は、陳腐化した物理ネットワークに対応するサービスレベルをメニューから削除し、陳腐化した物理ネットワークを撤去してもよい。つまり、図１などに示す実施形態によれば、技術的な新陳代謝をネットワークシステム１００に反映させることが可能である。
【０３１２】
以上、図４〜７を参照して説明したように、図１などに示す実施形態は、第１比較例と比べても優れており、第２比較例と比べても優れている。以下では、そのような優れた特徴を持つ実施形態について、図８〜１２を参照しながら、より詳しく説明する。
【０３１３】
図８は、実施形態の管理画面と定義情報の例を示す図である。図８には、ユーザに対して提示されるサービスレベルメニュー６００が例示されている。また、図８には、ユーザ端末１９０のディスプレイに表示される管理画面６１０と、管理画面６１０を介して定義される定義情報６４０も例示されている。定義情報６４０は、ユーザ端末１９０からＩａａＳ管理サーバ１８０に送信されて、定義記憶部１８３に記憶される。
【０３１４】
サービスレベルメニュー６００は、例えば、管理画面６１０とともにユーザ端末１９０のディスプレイに表示されてもよい。ユーザとＩａａＳ事業者の間で取り交わされるＳＬＡの中に、サービスレベルメニュー６００が記載されていてもよい。
【０３１５】
図８の例では、サービスレベルメニュー６００により「レベルＡ」、「レベルＢ」、および「レベルＣ」という３つのサービスレベルが提示されている。サービスレベルメニュー６００は、ユーザへの課金についても定めている。
【０３１６】
サービスレベルメニュー６００によれば、レベルＡはベストエフォート型のレベルである。具体的には、レベルＡの通信は、ベストエフォートＩＰルータ網１７０上のトンネルにより実現される。サービスレベルメニュー６００によれば、レベルＡのトンネルは、追加料金なしに利用可能である。
【０３１７】
また、レベルＢは、１Ｇｂｐｓの帯域幅を最大８つのＶＭで共有するレベルである。具体的には、レベルＢの通信は、ＭＰＬＳ網１７１上のトンネルにより実現される。サービスレベルメニュー６００によれば、ＩａａＳ事業者は、レベルＢのトンネルを利用するユーザに対して課金する。具体的には、レベルＢの１本のトンネルに対しては、１時間あたり０．１円がユーザに課金される。
【０３１８】
なお、レベルＢの通信を実現するために、ＶＭ管理部１８２は、複数のＶＭを複数の物理サーバに適切に分配するものとする。ＶＭの物理サーバへの適切な分配のために、例えば公知のアルゴリズムが利用されてもよい。また、上記の最大８つのＶＭを公平に扱うための公知のアルゴリズムが利用されてもよい。
【０３１９】
レベルＣは、専用スイッチ網型（つまり専用回線網型）のレベルである。具体的には、レベルＣの通信は、専用回線網１７２上のトンネルにより実現される。サービスレベルメニュー６００によれば、ＩａａＳ事業者は、レベルＣのトンネルを利用するユーザに対して課金する。具体的には、レベルＣの１本のトンネルに対しては、１時間あたり０．９円がユーザに課金される。
【０３２０】
もちろん、実施形態に応じて、提供されるサービスレベルの数は任意である。また、各サービスレベルのトンネルの利用に対する課金の額も、実施形態に応じて適宜決められてよい。
【０３２１】
さて、ユーザ端末１９０がネットワークを介してＩａａＳ管理サーバ１８０にアクセスすると、ＩａａＳ管理サーバ１８０のＵＩ処理部１８１が、管理画面６１０を表示するための情報を、ネットワークを介してユーザ端末１９０に与える。ユーザ端末１９０は、与えられた情報に基づいて、ディスプレイ上に管理画面６１０を表示する。管理画面６１０は、ユーザシステム６２０を定義するためのＧＵＩの例である。ユーザシステム６２０の定義は、ユーザ端末１９０の入力装置を介してユーザから与えられる入力にしたがって、編集され得る。
【０３２２】
より具体的には、管理画面６１０は、ユーザシステム６２０のネットワークトポロジを視覚的に表示する領域と、いくつかのＧＵＩを含む。図６には、ＧＵＩの例として、「起動」ボタン６１１と「変更」ボタン６１２も例示されている。
【０３２３】
「起動」ボタン６１１は、管理画面６１０を介したユーザシステム６２０の定義が完了したときに、クリックまたはタップされる。「起動」ボタン６１１は、ユーザシステム６２０を起動するようＩａａＳ管理サーバ１８０に要求するためのＧＵＩである。
【０３２４】
他方、「変更」ボタン６１２は、起動済みの（つまり運用中の）ユーザシステム６２０に関して、管理画面６１０を介して定義情報６４０が編集される場合に使われる。変更のための編集が完了すると、ユーザは「変更」ボタン６１２をクリックまたはタップする。「変更」ボタン６１２は、ユーザシステム６２０の定義情報６４０を変更するよう（つまり、ユーザシステム６２０の設定（configuration）を変更するよう）、ＩａａＳ管理サーバ１８０に要求するためのＧＵＩである。
【０３２５】
ところで、ＩａａＳ管理サーバ１８０の定義記憶部１８３には、ユーザシステムのテンプレートが１つ以上記憶されていてもよい。各テンプレートは、ＩａａＳ事業者により予め作成され、定義記憶部１８３に予め記憶される。管理画面６１０には、１つ以上のテンプレートの中からユーザが１つのテンプレートを選択するための不図示のＧＵＩがさらに含まれていてもよい。
【０３２６】
ユーザは、適宜のテンプレートを選択し、選択したテンプレートを編集せずに「起動」ボタン６１１をクリックまたはタップしてもよい。ユーザは、選択したテンプレートを編集してから、「起動」ボタン６１１をクリックまたはタップしてもよい。もちろん、ユーザは、テンプレートを使わずにユーザシステムを定義し、ユーザシステムを定義し終えてから、「起動」ボタン６１１をクリックまたはタップしてもよい。いずれの場合も、ユーザは、管理画面６１０を介して、所望のユーザシステム６２０を指定することができる。
【０３２７】
図８のユーザシステム６２０のトポロジは、図６のユーザシステム５１０のトポロジと同様である。つまり、ユーザシステム６２０は、２つの仮想ネットワーク（すなわちネットワーク６２１と６２２）と、６つのＶＭを含む。
【０３２８】
ネットワーク６２１には、ＧＷ６２３、第１Ｗｅｂサーバ６２４、第２Ｗｅｂサーバ６２５、およびＦＷ６２６が接続される。ＧＷ６２３、第１Ｗｅｂサーバ６２４、第２Ｗｅｂサーバ６２５、およびＦＷ６２６は、いずれもＶＭである。
【０３２９】
また、ＦＷ６２６はネットワーク６２２にも接続される。よって、管理画面６１０には、ネットワーク６２１にＦＷ６２６を接続するための第１ＮＩＣ６２７と、ネットワーク６２２にＦＷ６２６を接続するための第２ＮＩＣ６２８も示されている。第１ＮＩＣ６２７は、具体的には、ＶＭであるＦＷ６２６を実行する物理サーバのホストＯＳ内の仮想ＮＩＣである。同様に、第２ＮＩＣ６２８は、ＦＷ６２６を実行する物理サーバのホストＯＳ内の別の仮想ＮＩＣである。
【０３３０】
しかし、ユーザは、第１ＮＩＣ６２７と第２ＮＩＣ６２８がどのように実装されるかを知る必要はない。ユーザは、単に、ＦＷ６２６とネットワーク６２１のインタフェイスとして第１ＮＩＣ６２７を管理画面６１０上で定義し、ＦＷ６２６とネットワーク６２２のインタフェイスとして第２ＮＩＣ６２８を管理画面６１０上で定義する。
【０３３１】
さて、ネットワーク６２２には、ＦＷ６２６に加えて、第１ＤＢサーバ６２９と第２ＤＢサーバ６３０も接続される。第１ＤＢサーバ６２９と第２ＤＢサーバ６３０の各々もＶＭである。
【０３３２】
なお、図８では、図の簡略化のため、ＧＷ６２３用の仮想ＮＩＣ（つまり、ＶＭであるＧＷ６２３実行する物理サーバのホストＯＳ内の仮想ＮＩＣ）は省略されている。同様に、図８では、第１Ｗｅｂサーバ６２４と第２Ｗｅｂサーバ６２５と第１ＤＢサーバ６２９と第２ＤＢサーバ６３０用の仮想ＮＩＣも省略されている。図８で省略されているこれらの仮想ＮＩＣは、図９と１２に仮想ＮＩＣ６３４〜６３８として示されている。
【０３３３】
以上の説明から明らかなように、ネットワーク６２１は、６（＝４×３／２）本のトンネルにより実現され、ネットワーク６２２は３（＝３×２／２）本のトンネルにより実現される。本実施形態では、これら９（＝６＋３）本のトンネルのそれぞれについて、ユーザは、サービスレベルをレベルＡ、Ｂ、Ｃの中から任意に選ぶことができる。換言すれば、ユーザは、２つのＶＭ間のリンクのＱｏＳを規定するサービスレベルを、レベルＡ、Ｂ、Ｃの中から任意に選ぶことができる。
【０３３４】
ここで、ユーザシステム６２０の用途や、ユーザシステム６２０内の各ＶＭの動作は、図６のユーザシステム５１０と同様なので、詳しい説明を省略するが、ユーザは、例えば各ＶＭの役割に基づいて、以下のように判断してもよい。
【０３３５】
・第１Ｗｅｂサーバ６２４がクライアントに返す応答は、画像ファイル、動画ファイル、音声ファイルなど、比較的大きなサイズのファイルを含む場合がある。つまり、比較的大きなサイズのファイルが第１Ｗｅｂサーバ６２４からＧＷ６２３へ送信されることがある。よって、第１Ｗｅｂサーバ６２４とＧＷ６２３の間のリンク６３１の帯域幅は広い方が好ましい。
・同様の理由から、第２Ｗｅｂサーバ６２５とＧＷ６２３の間のリンク６３２の帯域幅も広い方が好ましい。
・第１ＤＢサーバ６２９上のＤＢが更新されると、第２ＤＢサーバ６３０上の複製を更新するよう、第１ＤＢサーバ６２９が第２ＤＢサーバ６３０に命令する。第１ＤＢサーバ６２９上のＤＢと、第２ＤＢサーバ６３０上のＤＢ（すなわち複製）との同期にかかる時間は短い方が好ましい。よって、第１ＤＢサーバ６２９と第２ＤＢサーバ６３０の間のリンク６３３の帯域幅は、広い方が好ましい。
【０３３６】
例えば以上のような判断に基づいて、ユーザが、ユーザ端末１９０の入力装置を介して、以下のようにサービスレベルを指定したとする。
【０３３７】
・ユーザシステム６２０内のリンクのデフォルトのサービスレベルは、レベルＡである。つまり、個別に別途指定されない限り、ユーザシステム６２０内のどのリンクのサービスレベルも、レベルＡである。
・リンク６３１と６３２のサービスレベルは、レベルＢである。
・リンク６３３のサービスレベルは、レベルＣである。
【０３３８】
なお、管理画面６１０は、サービスレベルの指定のためのＧＵＩをさらに含むものとする。ユーザ端末１９０は、上記のようなサービスレベルの指定のための入力を、管理画面６１０中のＧＵＩを介してユーザから受け取ることができる。
【０３３９】
以上説明したように、本実施形態では、ユーザは、管理画面６１０のようなＧＵＩを介して、ユーザシステム６２０の構成を任意に定義することができる。また、本実施形態では、ユーザは、任意の２つのＶＭ間のリンク（すなわち物理ネットワーク上のトンネルにより実装される仮想的なリンク）に対してサービスレベルを指定することにより、リンクのＱｏＳを指定することができる。
【０３４０】
そして、ユーザシステム６２０の構成と各リンクのサービスレベルを定義する定義情報６４０は、「起動」ボタン６１１がクリックまたはタップされると、ユーザ端末１９０からＩａａＳ管理サーバ１８０に送信される。ＩａａＳ管理サーバ１８０のＵＩ処理部１８１は、ユーザ端末１９０から受信した定義情報６４０を定義記憶部１８３に記憶する。
【０３４１】
図８に例示されている定義情報６４０は、ユーザシステム６２０を定義している。図８には定義情報６４０がテーブル形式で示されているが、テーブル形式以外のデータ形式が使われてもよい。定義情報６４０は以下の３つのフィールドを含む。
【０３４２】
・仮想システムであるユーザシステム６２０の名前が「ＶＳＹＳ−００２」であることを示す「ＶＳＹＳ名」フィールド。
・ユーザシステム６２０内のリンクのデフォルトのサービスレベルが、上記のようにレベルＡであることを示す「デフォルト・サービスレベル」フィールド。
・ユーザシステム６２０に含まれる仮想ネットワークを定義する「ＶＮＥＴ」フィールド。
【０３４３】
図８に示すように、定義情報６４０の「ＶＮＥＴ」フィールドには、以下のことが記録される。なお、紙幅の都合上、図８では、「サービスレベル」が「ＳＬ」と略されている箇所がある。
【０３４４】
・ユーザシステム６２０は、第１ＶＮＥＴ（すなわちネットワーク６２１）と第２ＶＮＥＴ（すなわちネットワーク６２２）を含む。
・第１ＶＮＥＴには、ＧＷ６２３と、第１Ｗｅｂサーバ６２４と、第２Ｗｅｂサーバ６２５と、ＦＷ６２６が接続される。より詳しくは、ＦＷ６２６は、２つの仮想ＮＩＣのうち、第１ＮＩＣ６２７を介して第１ＶＮＥＴに接続される。
・第１ＶＮＥＴに接続されるＶＭ間のリンクのうち、ＧＷ６２３と第１Ｗｅｂサーバ６２４の間のリンク６３１と、ＧＷ６２３と第２Ｗｅｂサーバ６２５の間のリンク６３２のサービスレベルは、レベルＢである。
・第２ＶＮＥＴには、ＦＷ６２６と、第１ＤＢサーバ６２９と、第２ＤＢサーバ６３０が接続される。より詳しくは、ＦＷ６２６は、２つの仮想ＮＩＣのうち、第２ＮＩＣ６２８を介して第２ＶＮＥＴに接続される。
・第２ＶＮＥＴに接続されるＶＭ間のリンクのうち、第１ＤＢサーバ６２９と第２ＤＢサーバ６３０の間のリンク６３３のサービスレベルは、レベルＣである。
【０３４５】
さて、新たにユーザがユーザ端末１９０を用いて管理画面６１０を介してユーザシステム６２０を定義し、「起動」ボタン６１１をクリックまたはタップすると、ユーザ端末１９０は、定義情報６４０をＩａａＳ管理サーバ１８０に送信する。すると、ＩａａＳ管理サーバ１８０は後述の図１０に示す処理を実行する。その結果、ユーザシステム６２０が稼働し始める。後述の図９には、図１０の処理の結果の一例が示されている。
【０３４６】
なお、ユーザシステム６２０が稼働し始めた後にユーザが定義情報６４０を編集することも可能である。つまり、ユーザ端末１９０からの要求に応じて、ＵＩ処理部１８１は、定義記憶部１８３内の定義情報６４０をユーザ端末１９０に送信してもよい。定義情報６４０は、ユーザ端末１９０において、管理画面６１０を介して編集される。
【０３４７】
定義情報６４０が編集された後、「変更」ボタン６１２がクリックまたはタップされると、ユーザ端末１９０は、編集後の定義情報６４０をＩａａＳ管理サーバ１８０に送信する。ＩａａＳ管理サーバ１８０のＵＩ処理部１８１は、ユーザ端末１９０から定義情報６４０を受信し、受信した定義情報６４０を定義記憶部１８３に記憶する。
【０３４８】
以上のように定義情報６４０が編集される場合、ＩａａＳ管理サーバ１８０は、変更の内容に応じた処理を実行する。例えば、ある２つのＶＭ間のリンクのサービスレベルが変更された場合、ＩａａＳ管理サーバ１８０は、後述の図１１の処理を実行する。後述の図１２には、図１１の処理の結果の一例が示されている。
【０３４９】
さて、図９は、本実施形態で作成されるトンネルの例を示す。ユーザシステム６２０が新たに図８のように定義され、「起動」ボタン６１１がクリックまたはタップされると、後述の図１０の処理の結果として、例えば図９のように６つのＶＭがいくつかの物理サーバに配置され、９本のトンネルが新たに作成される。
【０３５０】
図９の例では、ＧＷ６２３が物理サーバ６５１上に配置され、第１Ｗｅｂサーバ６２４と第１ＤＢサーバ６２９が物理サーバ６５２上に配置される。また、第２Ｗｅｂサーバ６２５と第２ＤＢサーバ６３０が物理サーバ６５３上に配置され、ＦＷ６２６が物理サーバ６５４上に配置される。
【０３５１】
なお、物理サーバ６５１〜６５４の各々は、図１のネットワークシステム１００に含まれる複数の物理サーバのうちのいずれかである。また、図１には紙幅の都合上、３台のラックに搭載された９台の物理サーバのみが描かれているが、もちろん、ネットワークシステム１００は、４台以上のラックに搭載された１０台以上の物理サーバを含んでいてよい。
【０３５２】
ところで、図８の第１ＮＩＣ６２７と第２ＮＩＣ６２８は、上記のとおり、ＶＭであるＦＷ６２６に対応してホストＯＳ内に作成される仮想ＮＩＣである。よって、図９では、第１ＮＩＣ６２７と第２ＮＩＣ６２８のいずれも、「仮想ＮＩＣ」と表記されている。
【０３５３】
同様に、物理サーバ６５１のホストＯＳ内には、ＧＷ６２３に対応して仮想ＮＩＣ６３４が作成される。また、物理サーバ６５２のホストＯＳ内には、第１Ｗｅｂサーバ６２４に対応して仮想ＮＩＣ６３５が作成され、第１ＤＢサーバ６２９に対応して仮想ＮＩＣ６３６が作成される。そして、物理サーバ６５３のホストＯＳ内には、第２Ｗｅｂサーバ６２５に対応して仮想ＮＩＣ６３７が作成され、第２ＤＢサーバ６３０に対応して仮想ＮＩＣ６３８が作成される。
【０３５４】
ここで、図８に示すように、ネットワーク６２１には、ＧＷ６２３と第１Ｗｅｂサーバ６２４と第２Ｗｅｂサーバ６２５とＦＷ６２６が属する。よって、図９では、ＧＷ６２３用の仮想ＮＩＣ６３４と、第１Ｗｅｂサーバ６２４用の仮想ＮＩＣ６３５と、第２Ｗｅｂサーバ６２５用の仮想ＮＩＣ６３７と、ＦＷ６２６用の仮想ＮＩＣ６２７が、ネットワーク６２１のブロック内に描かれている。
【０３５５】
また、図８に示すように、ネットワーク６２２には、ＦＷ６２６と第１ＤＢサーバ６２９と第２ＤＢサーバ６３０が属する。よって、図９では、ＦＷ６２６用の仮想ＮＩＣ６２８と、第１ＤＢサーバ６２９用の仮想ＮＩＣ６３６と、第２ＤＢサーバ６３０用の仮想ＮＩＣ６３８が、ネットワーク６２２のブロック内に描かれている。
【０３５６】
なお、図８の定義情報６４０では、図示の便宜上、単純に「ＧＷ」などとＶＭの名前（つまりＶＭを識別する識別情報）を用いて、各仮想ネットワークに接続されるＶＭや、個別にサービスレベルが設定されるリンクが指定されている。しかし、仮想Ｌ２ネットワーク（つまりネットワーク６２１または６２２）に接続される端点は、正確には、ＶＭ自体ではなく、図９に示すように、ＶＭに対応してホストＯＳ内に作成される仮想的なインタフェイス（すなわち仮想ＮＩＣ）である。
【０３５７】
換言すれば、トンネルの端点は、正確にはホストＯＳ内の仮想ＮＩＣである。例えば、トンネリング用のプロトコルとしてＶＸＬＡＮプロトコルが使われる場合、トンネルの端点は、ＶＴＥＰ（VXLAN Tunnel End Point）とも呼ばれる。ＶＴＥＰは、正確には、ＶＭではなく、ホストＯＳ内の仮想ＮＩＣである。しかし、説明の簡単化のため、単純に「トンネルの両端のＶＭ」や「トンネルの両端の物理サーバ」などの表現を用いることもある。
【０３５８】
なお、図８の定義情報６４０で「ＧＷ」などのＶＭの名前が使われているのは、例えば、ＧＷ６２３に関しては、ＧＷ６２３と仮想ネットワークとの接続のために作成されるインタフェイスが１つだけ（つまり仮想ＮＩＣ６３４だけ）だからである。この場合、「ＧＷ」というＶＭの名前によって、仮想ＮＩＣ６３４を特定することが可能である。
【０３５９】
他方、２つの仮想ＮＩＣ６２７と６２８に対応づけられているＦＷ６２６に関しては、「ＦＷ」という単なるＶＭの名前だけでは、１つの仮想ＮＩＣを特定することができない。そのため、定義情報６４０でも、「ＦＷ（第１ＮＩＣ）」や「ＦＷ（第２ＮＩＣ）」などの表記が使われている。
【０３６０】
もちろん、図８に例示したような定義情報６４０での表記法は、説明の便宜上の例示に過ぎない。定義情報６４０において、ネットワーク６２１に接続される４つの端点が、仮想ＮＩＣ６３４を識別する識別情報と、仮想ＮＩＣ６３５を識別する識別情報と、仮想ＮＩＣ６３７を識別する識別情報と、仮想ＮＩＣ６２７を識別する識別情報により示されてもよい。同様に、個別にサービスレベルが設定されるリンク６３１も、仮想ＮＩＣ６３４を識別する識別情報と、仮想ＮＩＣ６３５を識別する識別情報とのペアにより示されてもよい。また、リンク６３２も、仮想ＮＩＣ６３４を識別する識別情報と、仮想ＮＩＣ６３７を識別する識別情報とのペアにより示されてもよい。
【０３６１】
同様に、定義情報６４０において、ネットワーク６２２に接続される３つの端点が、仮想ＮＩＣ６３６を識別する識別情報と、仮想ＮＩＣ６３８を識別する識別情報と、仮想ＮＩＣ６２８を識別する識別情報により示されてもよい。そして、個別にサービスレベルが設定されるリンク６３３も、仮想ＮＩＣ６３６を識別する識別情報と、仮想ＮＩＣ６３８を識別する識別情報とのペアにより示されてもよい。
【０３６２】
以上のように、定義情報６４０における具体的な表記法は、実施形態に応じて適宜定められてよい。具体的にどのような表記法が採用されるにせよ、ネットワーク６２１への接続のために定義される仮想ＮＩＣは４つであり、ネットワーク６２２への接続のために定義される仮想ＮＩＣは３つである。
【０３６３】
４つの仮想ＮＩＣのうちの任意の２つの組み合わせは、６（＝４×３／２）通りある。よって、ネットワーク６２１は、６本のトンネル６６１〜６６６により実現される。これら６本のトンネル６６１〜６６６は、図９では１点鎖線により示されている。
【０３６４】
また、３つの仮想ＮＩＣのうちの任意の２つの組み合わせは３（＝３×２／２）通りある。よって、ネットワーク６２２は、３本のトンネル６６７〜６６９により実現される。これら３本のトンネル６６７〜６６９は、図９では破線により示されている。
【０３６５】
なお、図９から明らかなように、ネットワーク６２１に属する仮想ＮＩＣとネットワーク６２２に属する仮想ＮＩＣの間には、トンネルが作成されない。よって、ユーザシステム６２０内のＶＭ間の通信は、全部で９（＝６＋３）本のトンネル６６１〜６６９により実現される。
【０３６６】
また、図８の定義情報６４０に示すように、９本のトンネルにより実現される９本のリンクのうち３本には、個別にサービスレベルが設定されている。そして、サービスレベルメニュー６００に関して説明したように、レベルＡの通信はベストエフォートＩＰルータ網１７０上のトンネルにより実現される。また、レベルＢの通信はＭＰＬＳ網１７１上のトンネルにより実現され、レベルＣの通信は専用回線網１７２上のトンネルにより実現される。
【０３６７】
よって、９本のトンネル６６１〜６６９の詳細は、具体的には以下のとおりである。
【０３６８】
・レベルＢが指定されたリンク６３１を実現するために、仮想ＮＩＣ６３４と６３５の間に、ＭＰＬＳ網１７１上のトンネル６６１が作成される。また、トンネル６６１の作成にともなって、ＭＰＬＳ網１７１上でＲＳＶＰ−ＴＥによるシグナリングが行われ、その結果、ＭＰＬＳ網１７１を介して物理サーバ６５１と６５２を結ぶ物理的な経路が確立される。
・レベルＢが指定されたリンク６３２を実現するために、仮想ＮＩＣ６３４と６３７の間に、ＭＰＬＳ網１７１上のトンネル６６２が作成される。また、トンネル６６２の作成にともなって、ＭＰＬＳ網１７１上でＲＳＶＰ−ＴＥによるシグナリングが行われ、その結果、ＭＰＬＳ網１７１を介して物理サーバ６５１と６５３を結ぶ物理的な経路が確立される。
・ＧＷ６２３とＦＷ６２６の間のリンクにはデフォルトのサービスレベルが適用される。このリンクを実現するために、仮想ＮＩＣ６３４と６２７の間に、ベストエフォートＩＰルータ網１７０上のトンネル６６３が作成される。
・第１Ｗｅｂサーバ６２４とＦＷ６２６の間のリンクにもデフォルトのサービスレベルが適用される。このリンクを実現するために、仮想ＮＩＣ６３５と６２７の間に、ベストエフォートＩＰルータ網１７０上のトンネル６６４が作成される。
・第２Ｗｅｂサーバ６２５とＦＷ６２６の間のリンクにもデフォルトのサービスレベルが適用される。このリンクを実現するために、仮想ＮＩＣ６３７と６２７の間に、ベストエフォートＩＰルータ網１７０上のトンネル６６５が作成される。
・第１Ｗｅｂサーバ６２４と第２Ｗｅｂサーバ６２５のリンクにもデフォルトのサービスレベルが適用される。このリンクを実現するために、仮想ＮＩＣ６３５と６３７の間に、ベストエフォートＩＰルータ網１７０上のトンネル６６６が作成される。
・レベルＣが指定されたリンク６３３を実現するために、仮想ＮＩＣ６３６と６３８の間に、専用回線網１７２上のトンネル６６７が作成される。
・ＦＷ６２６と第１ＤＢサーバ６２９の間のリンクにはデフォルトのサービスレベルが適用される。このリンクを実現するために、仮想ＮＩＣ６２８と６３６の間に、ベストエフォートＩＰルータ網１７０上のトンネル６６８が作成される。
・ＦＷ６２６と第２ＤＢサーバ６３０の間のリンクにはデフォルトのサービスレベルが適用される。このリンクを実現するために、仮想ＮＩＣ６２８と６３８の間に、ベストエフォートＩＰルータ網１７０上のトンネル６６９が作成される。
【０３６９】
ところで、図１に関して「第２の方法」として説明したように、物理サーバと物理ネットワークのエッジルータ（またはエッジスイッチ）との間の区間では、ＶＬＡＮタグ中のＰＣＰの値にしたがって、ＣｏＳ制御が行われてもよい。そして、ＰＣＰの値は、トンネルにより実現されるリンクに対してユーザにより指定されたサービスレベルに応じた値である。換言すれば、ユーザにより指定されたサービスレベルに対応してＩａａＳ事業者が提供するＱｏＳに応じた値が、ＰＣＰフィールドに設定される。よって、「第２の方法」が採用される場合、図９のように９本のトンネルが作成されると、ユーザシステム６２０内のＶＭ間の通信は、送信元のＶＭから送信先のＶＭまでエンド・ツー・エンドで、指定されたサービスレベルのＱｏＳを保って、行われるようになる。
【０３７０】
もちろん、「第２の方法」ではなく「第１の方法」（つまり十分に高性能なＴｏＲを利用する方法）によって、エンド・ツー・エンドのＱｏＳが達成されてもよい。
【０３７１】
続いて、「起動」ボタン６１１がクリックまたはタップされたときのＩａａＳ管理サーバ１８０の動作について、図１０を参照して説明する。また、図１０の処理が完了した後の物理サーバの動作については、図１０の説明の後に述べる。
【０３７２】
図８の管理画面６１０を介してユーザシステム６２０が定義され、「起動」ボタン６１１がクリックまたはタップされると、ユーザ端末１９０は、ＩａａＳ管理サーバ１８０に定義情報６４０を送信する。すると、ＵＩ処理部１８１は、定義情報６４０を受信し、新たな名前を生成し、定義情報６４０の「ＶＳＹＳ名」フィールドに生成した名前を設定し、定義情報６４０を定義記憶部１８３に記憶する。
【０３７３】
あるいは、定義情報６４０の代わりに、単に、予め定義記憶部１８３に記憶されているテンプレートのうちの１つを指定するためのテンプレート識別情報が、ユーザ端末１９０からＩａａＳ管理サーバ１８０に送信されてもよい。この場合、ＵＩ処理部１８１は、指定されたテンプレートをコピーすることで、定義情報６４０の新たなインスタンスを生成する。そして、ＵＩ処理部１８１は、新たな名前を生成し、生成したインスタンスの「ＶＳＹＳ名」フィールドに生成した名前を設定し、以上のようにして名前をつけたインスタンスを定義記憶部１８３に記憶する。
【０３７４】
なお、ＵＩ処理部１８１が定義情報６４０を受信する処理は、図１に関して説明したネットワーク設定命令をＩａａＳ管理サーバ１８０が受け付ける処理の一例である。また、ＵＩ処理部１８１がテンプレート識別情報を受信する処理も、ネットワーク設定命令をＩａａＳ管理サーバ１８０が受け付ける処理の一例である。具体的には、図８の例では、「起動」ボタン６１１がクリックまたはタップされると、ＵＩ処理部１８１が以下の２つのネットワーク設定命令を受け付ける。
【０３７５】
・ネットワーク６２１に関するネットワーク設定命令（６本のトンネルについての６つのトンネル接続命令を含む）。
・ネットワーク６２２に関するネットワーク設定命令（３本のトンネルについての３つのトンネル接続命令を含む）。
【０３７６】
いずれにせよ、「起動」ボタン６１１がクリックまたはタップされると、定義記憶部１８３には、新たなユーザシステム６２０を定義する新たな定義情報６４０が記憶される。そこで、ステップＳ１０１でＶＭ管理部１８２は、新たに記憶された定義情報６４０に基づいて、ユーザシステム６２０内の各ＶＭをどの物理サーバに配置するかを決める。つまり、ＶＭ管理部１８２は、ＶＭの物理サーバへの割り当てを決める。
【０３７７】
ステップＳ１０１での割り当てアルゴリズムは任意である。例えば、図８の定義情報６４０に基づいて、ＶＭ管理部１８２は、図９のような割り当てをステップＳ１０１で決めてもよい。また、ＶＭ管理部１８２は、決定した配置をＶＮＥＴ管理部１８４に通知する。
【０３７８】
次に、ステップＳ１０２でＶＮＥＴ管理部１８４は、定義情報６４０で定義されている１つ以上の仮想ネットワークのうちの１つを選択する。以下では説明の便宜上、ステップＳ１０２で選択された仮想ネットワークを「選択ＶＮＥＴ」という。例えば、ＶＮＥＴ管理部１８４は、定義情報６４０で定義されている第１ＶＮＥＴ（すなわちネットワーク６２１）と第２ＶＮＥＴ（すなわちネットワーク６２２）のうち、第１ＶＮＥＴを先にステップＳ１０２で選択してもよい。
【０３７９】
次に、ステップＳ１０３でＶＮＥＴ管理部１８４は、選択ＶＮＥＴに接続される各ＶＭに関して、当該ＶＭが配置される物理サーバに対して、当該ＶＭに対応する仮想ＮＩＣをホストＯＳ内に作成するよう、当該物理サーバに命令する。
【０３８０】
例えば、選択ＶＮＥＴがネットワーク６２１であるとする。この場合、選択ＶＮＥＴには、ＧＷ６２３と、第１Ｗｅｂサーバ６２４と、第２Ｗｅｂサーバ６２５と、ＦＷ６２６という、４つのＶＭが接続される。また、ステップＳ１０１でのＶＭ管理部１８２による決定によれば、これら４つのＶＭが図９のように物理サーバ６５１〜６５４に配置されるものとする。この場合、ステップＳ１０３でＶＮＥＴ管理部１８４は以下のように動作する。
【０３８１】
・ＶＮＥＴ管理部１８４は、ＧＷ６２３が配置される物理サーバ６５１に対して、ＧＷ６２３に対応する仮想ＮＩＣ６３４をホストＯＳ内に作成するよう、命令する。より詳しくは、ネットワーク６２１への接続用にＧＷ６２３内にこれから作成される仮想ＮＩＣに対応して、ホストＯＳ内に仮想ＮＩＣ６３４を作成するよう、ＶＮＥＴ管理部１８４は物理サーバ６５１に命令する。
・ＶＮＥＴ管理部１８４は、第１Ｗｅｂサーバ６２４が配置される物理サーバ６５２に対して、第１Ｗｅｂサーバ６２４に対応する仮想ＮＩＣ６３５をホストＯＳ内に作成するよう、命令する。より詳しくは、ネットワーク６２１への接続用に第１Ｗｅｂサーバ６２４内にこれから作成される仮想ＮＩＣに対応して、ホストＯＳ内に仮想ＮＩＣ６３５を作成するよう、ＶＮＥＴ管理部１８４は物理サーバ６５２に命令する。
・ＶＮＥＴ管理部１８４は、第２Ｗｅｂサーバ６２５が配置される物理サーバ６５３に対して、第２Ｗｅｂサーバ６２５に対応する仮想ＮＩＣ６３７をホストＯＳ内に作成するよう、命令する。より詳しくは、ネットワーク６２１への接続用に第２Ｗｅｂサーバ６２５内にこれから作成される仮想ＮＩＣに対応して、ホストＯＳ内に仮想ＮＩＣ６３７を作成するよう、ＶＮＥＴ管理部１８４は物理サーバ６５３に命令する。
・ＶＮＥＴ管理部１８４は、ＦＷ６２６が配置される物理サーバ６５４に対して、ＦＷ６２６に対応する仮想ＮＩＣ６２７をホストＯＳ内に作成するよう、命令する。より詳しくは、ネットワーク６２１への接続用にＦＷ６２６内にこれから作成される仮想ＮＩＣに対応して、ホストＯＳ内に仮想ＮＩＣ６２７を作成するよう、ＶＮＥＴ管理部１８４は物理サーバ６５４に命令する。
【０３８２】
なお、ステップＳ１０３の命令を受けた各物理サーバは、命令にしたがってホストＯＳ内に新たな仮想ＮＩＣを作成する。例えば、図９のような配置がステップＳ１０１で決められ、ステップＳ１０２でネットワーク６２１が選択された場合、図９の仮想ＮＩＣ６３４、６３５、６３７、および６２７が作成される。あるいは、ステップＳ１０２でネットワーク６２２が選択された場合、図９の仮想ＮＩＣ６３６、６３８、および６２８が作成される。
【０３８３】
ＶＮＥＴ管理部１８４は、ステップＳ１０３においてさらに、上記の命令を与えた各物理サーバから、仮想ＮＩＣの作成が完了したことを示す報告を受信してもよい。報告には、作成された仮想ＮＩＣを識別する識別情報が含まれていてもよい。識別情報は仮想ＮＩＣの名前であってもよい。なお、仮想ＮＩＣの識別情報は、ステップＳ１０３でＶＮＥＴ管理部１８４により物理サーバに対して明示的に指定されてもよい。
【０３８４】
続いて、ステップＳ１０４でＶＮＥＴ管理部１８４は、選択ＶＮＥＴ内の仮想ＮＩＣ同士のペアのうち、未選択のペアを１つ選択する。以下では説明の便宜上、ステップＳ１０４で選択されたペアを「選択ペア」という。
【０３８５】
例えば、図９のような配置がステップＳ１０１で決められ、ステップＳ１０２でネットワーク６２１が選択されたとする。この場合、選択ＶＮＥＴ内には、仮想ＮＩＣ６３４、６３５、６３７、および６２７が含まれる。よって、ステップＳ１０４でＶＮＥＴ管理部１８４は、以下の６つのペアのうちの１つを選択する。
【０３８６】
・仮想ＮＩＣ６３４と６３５のペア。
・仮想ＮＩＣ６３４と６３７のペア。
・仮想ＮＩＣ６３４と６２７のペア。
・仮想ＮＩＣ６３５と６３７のペア。
・仮想ＮＩＣ６３５と６２７のペア。
・仮想ＮＩＣ６３７と６２７のペア。
【０３８７】
次に、ステップＳ１０５でＶＮＥＴ管理部１８４は、定義記憶部１８３に記憶された定義情報６４０を参照して、選択ペアに対して個別にサービスレベルが指定されているか否かを判断する。そして、選択ペアに対して個別にサービスレベルが指定されている場合、ＶＮＥＴ管理部１８４は次にステップＳ１０６を実行する。逆に、選択ペアに対して個別にサービスレベルが指定されていない場合（つまり、選択ペアに対してデフォルトのサービスレベルが適用される場合）、ＶＮＥＴ管理部１８４は次にステップＳ１０７を実行する。
【０３８８】
なお、図８に示した定義情報６４０では、理解を容易にするために（また、表現を簡素化するために）、仮想ＮＩＣを識別する情報ではなく、ＶＭを識別する名前が使われている。しかし、これは、上記のとおりＶＭの名前から仮想ＮＩＣが一意に特定可能だからである。また、定義情報６４０において、ＶＭの名前の代わりに仮想ＮＩＣの識別情報が使われてもよいことも、上述したとおりである。よって、ステップＳ１０５でＶＮＥＴ管理部１８４は、定義情報６４０を参照することにより、選択ペアに対して個別にサービスレベルが指定されているか否かを判断することができる。
【０３８９】
例えば、ステップＳ１０５に関して例示した６つのペアのうち、仮想ＮＩＣ６３４と６３５のペアが選択されたとする。この場合、図８の定義情報６４０によれば、選択ペアに対してレベルＢが個別に指定されている。よって、ＶＮＥＴ管理部１８４は次にステップＳ１０６を実行する。
【０３９０】
あるいは、ステップＳ１０５に関して例示した６つのペアのうち、仮想ＮＩＣ６３５と６２７のペアが選択されたとする。この場合、図８の定義情報６４０によれば、選択ペアにはデフォルトのサービスレベル（すなわちレベルＡ）が適用される。よって、ＶＮＥＴ管理部１８４は次にステップＳ１０７を実行する。
【０３９１】
さて、ステップＳ１０６でＶＮＥＴ管理部１８４は、個別に設定されたサービスレベルに対応する物理ネットワーク用のＩＰアドレスを使用してＬ２トンネルを設定するための命令を、トンネルの両端の物理サーバに与える。
【０３９２】
例えば、説明の便宜上、ステップＳ１０５で仮想ＮＩＣ６３４と６３５のペアが選択されたものとする。この場合、ＶＮＥＴ管理部１８４は、ＶＭ管理部１８２がステップＳ１０１で決めた配置から、以下のことを認識している。
【０３９３】
・ＧＷ６２３は物理サーバ６５１に配置され、したがって、仮想ＮＩＣ６３４も物理サーバ６５１にある。
・第１Ｗｅｂサーバ６２４は物理サーバ６５２に配置され、したがって、仮想ＮＩＣ６３５も物理サーバ６５２にある。
【０３９４】
また、ＩａａＳ管理サーバ１８０の記憶装置２５６には、予め、ネットワークシステム１００内の各物理サーバの物理ＮＩＣのＩＰアドレスが登録されている。したがって、ＶＮＥＴ管理部１８４は、ベストエフォートＩＰルータ網１７０とＭＰＬＳ網１７１と専用回線網１７２に対応して物理サーバ６５１の物理ＮＩＣに割り当てられている３つのＩＰアドレスを記憶装置２５６から読み出すことができる。ＶＮＥＴ管理部１８４は、同様に、物理サーバ６５２の物理ＮＩＣに割り当てられている３つのＩＰアドレスも記憶装置２５６から読み出すことができる。
【０３９５】
ここで、上記の仮定によれば、選択ペアに対して個別に設定されたサービスレベルは、レベルＢである。そして、レベルＢを実現するＱｏＳをサポートする物理ネットワークはＭＰＬＳ網１７１である。よって、ＶＮＥＴ管理部１８４は、具体的には、ＭＰＬＳ網１７１に対応して物理サーバ６５１の物理ＮＩＣに割り当てられているＩＰアドレスと、ＭＰＬＳ網１７１に対応して物理サーバ６５２の物理ＮＩＣに割り当てられているＩＰアドレスを読み出す。以下では説明の便宜上、前者のＩＰアドレスが「２００１：ｄｂ８：２：３：：１」であり、後者のＩＰアドレスが「２００１：ｄｂ８：２：６：：１」であるものとする。
【０３９６】
また、ＶＮＥＴ管理部１８４は、選択ペアの２つの仮想ＮＩＣ間のトンネルを識別するトンネル識別情報を決定する。例えば、トンネリングのためにＧＲＥが使われる場合、トンネル識別情報としてＧＲＥキーが使われてもよい。あるいは、ＶＸＬＡＮが使われる場合、トンネル識別情報としてＶＮＩが使われてもよい。
【０３９７】
例えば、ＶＭ管理部１８２が決める配置によっては、ある２台の物理サーバ間に複数のトンネルが存在し、しかもそれら複数のトンネルが、同じ１つの物理ネットワーク上の複数のトンネルであるような場合もあり得る。つまり、トンネリング用に使われる外側ＩＰヘッダ内の送信先ＩＰアドレスと送信元ＩＰアドレスのペアが、複数のトンネルの間で共通している場合があり得る。
【０３９８】
このような場合であっても、トンネル識別情報を利用することにより、２台の物理サーバそれぞれのホストＯＳは、トンネル同士を区別することができる。つまり、トンネル識別情報の利用により、カプセル化された内側Ｌ２フレームを適切な仮想ＮＩＣを介して適切なＶＭへ出力することが可能となる。
【０３９９】
そのため、ＶＮＥＴ管理部１８４は、ステップＳ１０６で上記のとおり、トンネル識別情報を決定する。例えば、ＩａａＳ管理サーバ１８０の記憶装置２５６には、不図示のＤＢ（以下「トンネル管理ＤＢ」という）が記憶されていてもよい。
【０４００】
トンネル管理ＤＢには、既存のトンネルに関する情報（例えば、トンネルの両端の仮想ＮＩＣを識別する情報、トンネリングに使われる２つのＩＰアドレス、トンネル識別情報など）が記憶されていてもよい。この場合、ＶＮＥＴ管理部１８４は、トンネル識別情報の候補を生成し、生成した候補がトンネル管理ＤＢに既存のトンネル識別情報として登録されていなければ、生成した候補を新たなトンネル用のトンネル識別情報として決定してもよい。ＶＮＥＴ管理部１８４は、未使用のトンネル識別情報が見つかるまで、候補の生成を繰り返してもよい。
【０４０１】
もちろん、トンネル識別情報として単純なシーケンス番号が利用可能であれば、ＶＮＥＴ管理部１８４は単純にカウンタを使ってトンネル識別情報を生成してもよい。いずれにせよ、ＶＮＥＴ管理部１８４は、新たなトンネル用に、未使用のトンネル識別情報を決定することができる。
【０４０２】
例えば、上記の仮定のように、選択ペアが仮想ＮＩＣ６３４と６３５のペアである場合、ＶＮＥＴ管理部１８４は、具体的には、以下のように物理サーバ６５１と６５２に命令を与える。
【０４０３】
すなわち、ＶＮＥＴ管理部１８４は、物理サーバ６５１に、「２００１：ｄｂ８：２：３：：１」と「２００１：ｄｂ８：２：６：：１」という２つのＩＰアドレスと、上記のように決めた未使用のトンネル識別情報と、仮想ＮＩＣ６３４の識別情報を通知する。つまり、ＶＮＥＴ管理部１８４は、物理サーバ６５１のホストＯＳに、トンネルヘッダで使う情報を通知するとともに、上記トンネル識別情報で識別されるトンネルの、物理サーバ６５１上の端点が、仮想ＮＩＣ６３４であることを通知する。換言すれば、ＶＮＥＴ管理部１８４は、物理サーバ６５１（具体的には物理サーバ６５１のホストＯＳ）に対して、以下のように命令する。
【０４０４】
・上記トンネル識別情報で識別されるトンネルを介した通信のために内側Ｌ２フレーム（つまりＧＷ６２３から仮想ＮＩＣ６３４に出力されるＬ２フレーム）をカプセル化する際には、以下のように動作しなさい。すなわち、送信元ＩＰアドレスとして「２００１：ｄｂ８：２：３：：１」を使い、送信先ＩＰアドレスとして「２００１：ｄｂ８：２：６：：１」を使い、トンネルヘッダ内には上記トンネル識別情報を指定しなさい。
・送信元ＩＰアドレスが「２００１：ｄｂ８：２：６：：１」で、送信先ＩＰアドレスが「２００１：ｄｂ８：２：３：：１」で、トンネルヘッダ内に上記トンネル識別情報が指定された外側Ｌ３パケットを物理ＮＩＣが受信したら、以下のように動作しなさい。すなわち、受信した外側Ｌ３パケットを仮想ＮＩＣ６３４に出力しなさい。
【０４０５】
同様に、ＶＮＥＴ管理部１８４は、物理サーバ６５２に、「２００１：ｄｂ８：２：６：：１」と「２００１：ｄｂ８：２：３：：１」という２つのＩＰアドレスと、上記トンネル識別情報と、仮想ＮＩＣ６３５の識別情報を通知する。つまり、ＶＮＥＴ管理部１８４は、物理サーバ６５２のホストＯＳに、トンネルヘッダで使う情報を通知するとともに、上記トンネル識別情報で識別されるトンネルの、物理サーバ６５２上の端点が、仮想ＮＩＣ６３５であることを通知する。換言すれば、ＶＮＥＴ管理部１８４は、物理サーバ６５２のホストＯＳに対して、以下のように命令する。
【０４０６】
・上記トンネル識別情報で識別されるトンネルを介した通信のために内側Ｌ２フレーム（つまり第１Ｗｅｂサーバ６２４から仮想ＮＩＣ６３５に出力されるＬ２フレーム）をカプセル化する際には、以下のように動作しなさい。すなわち、送信元ＩＰアドレスとして「２００１：ｄｂ８：２：６：：１」を使い、送信先ＩＰアドレスとして「２００１：ｄｂ８：２：３：：１」を使い、トンネルヘッダ内には上記トンネル識別情報を指定しなさい。
・送信元ＩＰアドレスが「２００１：ｄｂ８：２：３：：１」で、送信先ＩＰアドレスが「２００１：ｄｂ８：２：６：：１」で、トンネルヘッダ内に上記トンネル識別情報が指定された外側Ｌ３パケットを物理ＮＩＣが受信したら、以下のように動作しなさい。すなわち、受信した外側Ｌ３パケットを仮想ＮＩＣ６３５に出力しなさい。
【０４０７】
なお、以上のようにして与えられる命令にしたがい、物理サーバ６５１のホストＯＳは、通知された２つのＩＰアドレスとトンネル識別情報と仮想ＮＩＣ６３４の識別情報を対応づけるエントリを、記憶装置（例えばＲＡＭ）に記憶する。このエントリは、物理サーバ６５１のホストＯＳ内から参照可能である。つまり、ホストＯＳ内の仮想ＮＩＣ６３４は、このエントリを参照することで、トンネルヘッダに設定する送信先ＩＰアドレス、送信元ＩＰアドレス、およびトンネル識別情報を認識することができる。
【０４０８】
同様に、ＶＮＥＴ管理部１８４から与えられる命令にしたがい、物理サーバ６５２のホストＯＳも、通知された２つのＩＰアドレスとトンネル識別情報と仮想ＮＩＣ６３５の識別情報を対応づけるエントリを、記憶装置（例えばＲＡＭ）に記憶する。
【０４０９】
なお、各物理サーバの記憶装置には、物理サーバがＶＮＥＴ管理部１８４からの命令を受けるたびに上記のごときエントリが追加される。よって、記憶装置には複数のエントリが存在し得る。以下では説明の便宜上、これらのエントリの集合のことも「トンネル管理ＤＢ」という。しかし、各物理サーバのトンネル管理ＤＢと、ＶＮＥＴ管理部１８４が管理するトンネル管理ＤＢの形式は、違っていてよい。
【０４１０】
実施形態によっては、ステップＳ１０６でＶＮＥＴ管理部１８４がさらに、以下の２つの値の一方または両方を物理サーバ６５１と６５２に通知してもよい。
【０４１１】
・選択ペアに対して指定されているサービスレベルに対応して予め決められている優先度の値（具体的にはＶＬＡＮタグのＰＣＰフィールドに設定される値）。
・選択ペアに対して指定されているサービスレベルに対応して予め決められているＶＬＡＮ−ＩＤ。
【０４１２】
ＰＣＰの値が通知される場合、物理サーバ６５１のホストＯＳは、通知されたＰＣＰの値も、トンネル管理ＤＢのエントリに含める。ＶＬＡＮ−ＩＤが通知される場合、物理サーバ６５１のホストＯＳは、通知されたＶＬＡＮ−ＩＤの値も、トンネル管理ＤＢのエントリに含める。物理サーバ６５２のホストＯＳも同様に動作する。
【０４１３】
しかし、たとえ物理ネットワークのエッジルータ（またはエッジスイッチ）と物理サーバとの間の区間でＶＬＡＮタグが使われる場合であっても、ＰＣＰの値やＶＬＡＮ−ＩＤの通知は省略可能である。理由は以下のとおりである。
【０４１４】
例えば、物理サーバのホストＯＳに含まれる、物理ＮＩＣ用のドライバ（例えばイーサネットドライバ）に、物理サーバの起動時に予めＶＬＡＮに関するパラメタが設定されてもよい。例えば、ＩＰｖ６アドレスのプレフィックスと、ＶＬＡＮ−ＩＤと、ＰＣＰの値とを対応づける情報が、上記ドライバに設定されていてもよい。
【０４１５】
すると、物理サーバのホストＯＳは、トンネルヘッダ（具体的にはその中のＩＰヘッダ）内の送信元ＩＰアドレスと送信先ＩＰアドレスに共通のプレフィックスから、当該プレフィックスに対応するＶＬＡＮ−ＩＤとＰＣＰの値をルックアップすることができる。よって、ホストＯＳは、トンネルが通る物理ネットワークがサポートするＱｏＳに応じた適宜のＶＬＡＮ−ＩＤとＰＣＰの値を指定したＶＬＡＮタグを、外側Ｌ２ヘッダに含めることができる。
【０４１６】
もちろん、上記のようにＰＣＰの値がＶＮＥＴ管理部１８４から物理サーバに明示的に通知されてもよい。その場合、物理サーバのホストＯＳは、トンネル管理ＤＢのエントリ中に記憶したＰＣＰの値を参照することで、ＶＮＥＴ管理部１８４から通知されたＰＣＰの値を指定したＶＬＡＮタグを、外側Ｌ２ヘッダに含めることができる。
【０４１７】
また、ＶＬＡＮ−ＩＤの値だけがＶＮＥＴ管理部１８４から物理サーバに明示的に通知されてもよい。その場合、物理サーバのホストＯＳに含まれる、物理ＮＩＣ用のドライバには、予め、各ＶＬＡＮ−ＩＤにＰＣＰの値を対応づける情報が設定されているものとする。具体的には、物理ネットワークにより提供されるＱｏＳごとに、以下の２つの値を対応づける情報が、上記ドライバに設定されているものとする。
【０４１８】
・当該ＱｏＳに対応して予め決められたＶＬＡＮ−ＩＤ。
・当該ＱｏＳに対応して予め決められたＰＣＰの値。
【０４１９】
すると、物理サーバのホストＯＳ（上記ドライバを含む）は、トンネル管理ＤＢのエントリからＶＬＡＮ−ＩＤを読み出し、読み出したＶＬＡＮ−ＩＤと対応づけられているＰＣＰの値を得ることができる。したがって、ホストＯＳは、トンネルが通る物理ネットワークがサポートするＱｏＳに応じた適宜のＶＬＡＮ−ＩＤとＰＣＰの値が指定されたＶＬＡＮタグを、外側Ｌ２ヘッダに含めることができる。
【０４２０】
以上のようにして、ステップＳ１０６では、Ｌ２トンネルの作成のための命令が、ＶＮＥＴ管理部１８４からトンネル両端の物理サーバに対して与えられる。
【０４２１】
さて一方、ステップＳ１０７では、ＶＮＥＴ管理部１８４は、デフォルトで指定されたサービスレベルに対応する物理ネットワーク用のＩＰアドレスを使用してＬ２トンネルを設定するための命令を、トンネルの両端の物理サーバに与える。
【０４２２】
ステップＳ１０７とＳ１０６の違いは、ＶＮＥＴ管理部１８４が指定する２つのＩＰアドレスである。また、ＶＮＥＴ管理部１８４がＰＣＰの値および／またはＶＬＡＮ−ＩＤを明示的に物理サーバに通知する場合は、通知されるＰＣＰの値および／またはＶＬＡＮ−ＩＤも、ステップＳ１０６とＳ１０７で異なる。
【０４２３】
しかし、それ以外の点においては、ステップＳ１０６とＳ１０７は同様である。よって、ステップＳ１０７についての詳しい説明は省略するが、ステップＳ１０７で指定されるＩＰアドレスの例について説明すれば以下のとおりである。
【０４２４】
例えば、選択ペアが仮想ＮＩＣ６３５と６２７のペアであるものとする。また、デフォルトのサービスレベルに対応する物理ネットワーク（つまり、ベストエフォートＩＰルータ網１７０）に対応して、物理サーバ６５２の物理ＮＩＣに割り当てられているＩＰアドレスが「２００１：ｄｂ８：１：６：：１」であるものとする。そして、ベストエフォートＩＰルータ網１７０に対応して、物理サーバ６５４の物理ＮＩＣに割り当てられているＩＰアドレスは、「２００１：ｄｂ８：１：１５：：１」であるものとする。
【０４２５】
この場合、ステップＳ１０７でＶＮＥＴ管理部１８４は、「２００１：ｄｂ８：１：６：：１」と「２００１：ｄｂ８：１：１５：：１」という２つのＩＰアドレスを、送信元ＩＰアドレスと送信先ＩＰアドレスとして、物理サーバ６５２に通知する。また、ＶＮＥＴ管理部１８４は、「２００１：ｄｂ８：１：１５：：１」と「２００１：ｄｂ８：１：６：：１」という２つのＩＰアドレスを、送信元ＩＰアドレスと送信先ＩＰアドレスとして、物理サーバ６５４に通知する。
【０４２６】
ステップＳ１０６またはＳ１０７の実行後、ステップＳ１０８が実行される。ステップＳ１０８でＶＮＥＴ管理部１８４は、選択ＶＮＥＴ内の仮想ＮＩＣ同士のペアのうち、未選択のペアがあるか否かを判断する。未選択のペアが１つ以上残っていれば、ＶＮＥＴ管理部１８４は次にステップＳ１０４を再び実行する。逆に、選択ＶＮＥＴ内の仮想ＮＩＣ同士のペアがすべて選択済みならば、次にステップＳ１０９が実行される。
【０４２７】
ステップＳ１０９でＶＮＥＴ管理部１８４は、定義情報６４０で定義されている１つまたは複数の仮想ネットワークのうち、未選択の仮想ネットワークがあるか否かを判断する。未選択の仮想ネットワークが１つ以上残っていれば、ＶＮＥＴ管理部１８４は次にステップＳ１０２を再び実行する。逆に、定義情報６４０で定義されている１つまたは複数の仮想ネットワークがすべて選択済みならば、次にステップＳ１１０が実行される。
【０４２８】
ステップＳ１１０では、ＶＭ管理部１８２が、ユーザシステム６２０に属するすべてのＶＭを起動させるための処理を行う。具体的には、ユーザシステム６２０に属する各ＶＭについて、ＶＭ管理部１８２は、当該ＶＭに対応してステップＳ１０１で決めた物理サーバに対して、当該ＶＭを起動するよう命令する。より具体的には、ＶＭ管理部１８２は、ＶＭを起動するためのコマンドのオプション・パラメタに設定する値として、当該ＶＭに対応してステップＳ１０３で当該物理サーバに作成させた仮想ＮＩＣの識別情報を、当該物理サーバに指定する。例えば、図９の例では、ＶＭ管理部１８２は以下のように物理サーバ６５１〜６５４に命令を与える。
【０４２９】
・ＶＭ管理部１８２は、仮想ＮＩＣ６３４の識別情報をオプションに指定してＧＷ６２３を起動するように、物理サーバ６５１（より具体的には物理サーバ６５１のホストＯＳ）に命令する。
・ＶＭ管理部１８２は、仮想ＮＩＣ６３５の識別情報をオプションに指定して第１Ｗｅｂサーバ６２４を起動するように、かつ、仮想ＮＩＣ６３６の識別情報をオプションに指定して第１ＤＢサーバ６２９を起動するように、物理サーバ６５２に命令する。
・ＶＭ管理部１８２は、仮想ＮＩＣ６３７の識別情報をオプションに指定して第２Ｗｅｂサーバ６２５を起動するように、かつ、仮想ＮＩＣ６３８の識別情報をオプションに指定して第２ＤＢサーバ６３０を起動するように、物理サーバ６５３に命令する。
・ＶＭ管理部１８２は、仮想ＮＩＣ６２７の識別情報と仮想ＮＩＣ６２８の識別情報をオプションに指定してＦＷ６２６を起動するように、物理サーバ６５４に命令する。
【０４３０】
以上のようなステップＳ１１０の処理が完了すると、図１０の仮想システム起動処理も完了する。また、ステップＳ１１０の命令を受け取った各物理サーバは、命令にしたがって適宜ＶＭを起動する。
【０４３１】
続いて、図１０の仮想システム起動処理が完了した後の通信の具体例について説明する。説明の便宜上、図１０の処理の結果として、図９のようにユーザシステム６２０の６つのＶＭが４台の物理サーバ６５１〜６５４に配置され、９本のトンネル６６１〜６６９が作成されたものとする。また、以下では、例として、第１Ｗｅｂサーバ６２４がＧＷ６２３にデータを送信する場合について説明する。
【０４３２】
第１Ｗｅｂサーバ６２４は、ＧＷ６２３に送信する内側Ｌ３パケットを作成する。内側Ｌ３パケットは、どのＬ３プロトコルの形式でもよい。
【０４３３】
例えば、内側Ｌ３パケットはＩＰｖ４パケットでもよい。その場合、内側Ｌ３パケットのＩＰヘッダ（つまり内側Ｌ３ヘッダ）には、送信元ＩＰアドレスとして、第１Ｗｅｂサーバ６２４のＩＰｖ４アドレス（例えば「１９２．１６８．２．２」）が指定される。また、内側Ｌ３パケットのＩＰヘッダには、送信先ＩＰアドレスとして、ＧＷ６２３のＩＰｖ４アドレス（例えば「１９２．１６８．２．１」）が指定される。なお、ユーザは、ユーザシステム６２０内のどのＶＭのＩＰアドレスも、任意に決定することが可能である。
【０４３４】
そして、第１Ｗｅｂサーバ６２４は、内側Ｌ３パケットの前に内側Ｌ２ヘッダを付加することで、内側Ｌ２フレームを作成する。内側Ｌ２フレームは、どのＬ２プロトコルの形式でもよい。
【０４３５】
例えば、内側Ｌ２フレームはイーサネットフレームでもよい。その場合、内側Ｌ２ヘッダ（つまり内側Ｌ２フレームのイーサネットヘッダ）には、送信元ＭＡＣアドレスとして、第１Ｗｅｂサーバ６２４のＭＡＣアドレス（より詳細には第１Ｗｅｂサーバ６２４内の不図示の仮想ＮＩＣのＭＡＣアドレス）が指定される。また、内側Ｌ２ヘッダには、送信先ＭＡＣアドレスとして、ＧＷ６２３のＭＡＣアドレス（より詳細にはＧＷ６２３内の不図示の仮想ＮＩＣのＭＡＣアドレス）が指定される。
【０４３６】
なお、ＶＭ内の仮想ＮＩＣのＭＡＣアドレスは、物理ＮＩＣのＭＡＣアドレスとは無関係の値であってよい。例えば、仮想化のためにハイパーバイザが使われる場合は、ハイパーバイザがＶＭの起動時に自動的にＶＭ内の仮想ＮＩＣのＭＡＣアドレスを決定してもよい。あるいは、ユーザが明示的にＶＭ内の仮想ＮＩＣのＭＡＣアドレスを指定してもよい。
【０４３７】
なお、第１Ｗｅｂサーバ６２４は、第１Ｗｅｂサーバ６２４内のＡＲＰ（Address Resolution Protocol）テーブルを参照することで、ＧＷ６２３のＭＡＣアドレスを認識してもよい。ＡＲＰテーブルにＧＷ６２３のＭＡＣアドレスが既に学習されていれば、第１Ｗｅｂサーバ６２４は、学習済みのＭＡＣアドレスを上記のように内側Ｌ２ヘッダの送信先ＭＡＣアドレスとして指定することができる。
【０４３８】
しかし、ユーザシステム６２０が起動した直後には、ＡＲＰテーブルにはまだＧＷ６２３のＭＡＣアドレスが学習されていない。この場合、第１Ｗｅｂサーバ６２４は、まずネットワーク６２１（つまり仮想的なＬ２ネットワークセグメント）でのアドレス解決を行う。
【０４３９】
具体的には、第１Ｗｅｂサーバ６２４は、ＴＰＡ（Target Protocol Address）としてＧＷ６２３のＩＰｖ４アドレス（例えば「１９２．１６８．２．１」）を指定したＡＲＰ要求（ARP request）パケットを内側Ｌ３パケットとして生成する。そして、第１Ｗｅｂサーバ６２４は、送信先ＭＡＣアドレスとしてブロードキャストアドレスを指定した内側Ｌ２ヘッダを内側Ｌ３パケットの前に付加することで、内側Ｌ２フレームを作成する。第１Ｗｅｂサーバ６２４は、作成した内側Ｌ２フレームを仮想ＮＩＣ６３５に出力する。なお、内側Ｌ２ヘッダ内の送信元ＭＡＣアドレスは、第１Ｗｅｂサーバ６２４内の不図示の仮想ＮＩＣのＭＡＣアドレスである。
【０４４０】
内側Ｌ２ヘッダ内の送信先ＭＡＣアドレスがブロードキャストアドレスの場合、物理サーバ６５２のホストＯＳは、以下のように動作する。すなわち、ホストＯＳは、内側Ｌ２フレームを第１Ｗｅｂサーバ６２４から受け取った仮想ＮＩＣ６３５を端点とする各トンネルを介して、カプセル化された内側Ｌ２フレームを含む外側Ｌ３パケットを送信する。
【０４４１】
つまり、この例では、トンネル６６１、６６４、および６６６のそれぞれを介して、ＡＲＰ要求パケットを内側Ｌ３パケットとして含む外側Ｌ３パケットが送信される。それにより、ネットワーク６２１上のブロードキャスト送信が実現される。より詳しく説明すると、以下のとおりである。
【０４４２】
物理サーバ６５２内においては、ホストＯＳ内の仮想ＮＩＣ６３５が、ＡＲＰ要求パケットを含む内側Ｌ２フレームを、第１Ｗｅｂサーバ６２４から受け取る。よって、仮想ＮＩＣ６３５は、内側Ｌ２フレームの送信元ＭＡＣアドレスが、（トンネルを介して接続される通信相手のアドレスではなく）物理サーバ６５２内で仮想ＮＩＣ６３５とペアになったＶＭである第１Ｗｅｂサーバ６２４のアドレスであることを学習する。
【０４４３】
ここで、ステップＳ１０６とＳ１０７に関する説明から分かるとおり、物理サーバ６５２のトンネル管理ＤＢには、トンネル６６１、６６４、および６６６に対応する３つのエントリが存在する。したがって、仮想ＮＩＣ６３５は、仮想ＮＩＣ６３５の識別情報を含むエントリをトンネル管理ＤＢ内で検索することにより、３つのエントリを見つける。
【０４４４】
仮想ＮＩＣ６３５は、見つけた各エントリについて、当該エントリから送信先ＩＰアドレス、送信元ＩＰアドレス、およびトンネル識別情報を読み出し、読み出した送信先ＩＰアドレス、送信元ＩＰアドレス、およびトンネル識別情報をトンネルヘッダに設定する。仮想ＮＩＣ６３５は、第１Ｗｅｂサーバ６２４から出力された内側Ｌ２フレーム（つまりＡＲＰ要求パケットを含むフレーム）の前にトンネルヘッダを付加することで、外側Ｌ３パケットを生成する。
【０４４５】
以上のようにして生成される３つの外側Ｌ３パケットの各々には、物理サーバ６５２のホストＯＳにより、それぞれ適宜の外側Ｌ２ヘッダが付加される。そして、物理サーバ６５２の物理ＮＩＣから３つの外側Ｌ２フレームが送信される。外側Ｌ２ヘッダに指定される送信先ＭＡＣアドレスは、具体的には以下のようにして決められる。なお、以下に述べる近隣探索（neighbor discovery）や近隣キャッシュ（neighbor cache）等は、例えばＲＦＣ（Request for Comments）４８６１などに記載されているとおり、ＩＰｖ６に関して使われる技術である。
【０４４６】
トンネルヘッダ内の送信先ＩＰアドレスで示される物理サーバが、送信元たる物理サーバ６５２と同一のネットワークセグメント内にある場合、物理サーバ６５２のホストＯＳは、近隣キャッシュを参照する。そして、送信先ＩＰアドレスに対応するＭＡＣアドレスが近隣キャッシュ中に見つかれば、ホストＯＳは、見つかったＭＡＣアドレスを、外側Ｌ２ヘッダ内の送信先ＭＡＣアドレスとして指定する。
【０４４７】
送信先ＩＰアドレスに対応するＭＡＣアドレスが近隣キャッシュ中に見つからない場合、ホストＯＳは、近隣探索を実行する。より具体的には、ホストＯＳは、近隣要請（neighbor solicitation）を実行する。
【０４４８】
送信先ＩＰアドレスで示される物理サーバが、送信元たる物理サーバ６５２と同一のネットワークセグメント内にある場合、近隣要請の結果として、ホストＯＳは、近隣通知（neighbor advertisement）パケットを受信することができる。ホストＯＳは、送信先ＩＰアドレスに対応するＭＡＣアドレスを、近隣通知パケットから学習することができる。よって、ホストＯＳは、学習結果を近隣キャッシュに記憶し、学習したＭＡＣアドレスを、外側Ｌ２ヘッダ内の送信先ＭＡＣアドレスとして指定する。
【０４４９】
逆に、送信先ＩＰアドレスで示される物理サーバが、送信元たる物理サーバ６５２とは異なるネットワークセグメントにある場合、物理サーバ６５２のホストＯＳは、近隣キャッシュを参照して、ルータのＭＡＣアドレスを読み出す。そして、ホストＯＳは、ルータのＭＡＣアドレスを、外側Ｌ２ヘッダ内の送信先ＭＡＣアドレスとして指定する。
【０４５０】
なお、図１や図３から分かるように、送信元たる物理サーバ６５２には、１台のＴｏＲを介して、複数の物理ネットワークそれぞれのエッジルータ（またはエッジスイッチ）が接続される。よって、近隣キャッシュには、これらの複数のエッジルータ（またはエッジスイッチ）についての複数のエントリが含まれる。
【０４５１】
しかし、ここでは、これらの複数のエッジルータ（またはエッジスイッチ）のうち、送信先ＩＰアドレスのプレフィックスを持つ物理ネットワークのエッジルータ（またはエッジスイッチ）のＭＡＣアドレスを、ホストＯＳが近隣キャッシュから読み出す。換言すれば、送信元ＩＰアドレスと送信先ＩＰアドレスに共通するプレフィックスから始まるルータＩＰアドレスに対応するＭＡＣアドレスを、ホストＯＳが近隣キャッシュから読み出す。
【０４５２】
なお、ＩＰｖ６ネットワークにおけるルータは、定期的にルータ通知（router advertisement）パケットを送信する。また、ルータ通知パケットは、プレフィックスに関する情報を含む。また、各物理サーバは、起動したときに、ルータ要請（router solicitation）パケットを送信してもよく、ルータ要請パケットに対する返信としてルータ通知パケットを受信してもよい。
【０４５３】
よって、各物理サーバは、ルータ通知を受信することで、プレフィックス長を認識することができる。また、各物理サーバは、ルータ通知を受信することで、ルータのＭＡＣアドレスを学習することができる。
【０４５４】
したがって、物理サーバ６５２は、認識したプレフィックス長に基づいて、「送信先ＩＰアドレスで示される物理サーバが、送信元たる物理サーバ６５２と同一のネットワークセグメント内にあるか否か」を判断することができる。また、物理サーバ６５２は、上記のようにルータのＭＡＣアドレスを近隣キャッシュから読み出すこともできる。
【０４５５】
以上のように、外側Ｌ２ヘッダには適宜の送信先ＭＡＣアドレスが指定される。なお、外側Ｌ２ヘッダ内の送信元ＭＡＣアドレスは、物理サーバ６５２の物理ＮＩＣのＭＡＣアドレスである。また、外側Ｌ２ヘッダが、ＰＣＰ（またはＰＣＰとＶＬＡＮ−ＩＤ）の指定されたＶＬＡＮタグを含んでもよいことは、前述したとおりである。上記のとおり、例えば、ホストＯＳのイーサネットドライバが、予め設定された情報にしたがって適宜のＶＬＡＮタグを挿入してもよい。
【０４５６】
以上のようにして、同じＡＲＰ要求パケットを内側Ｌ３パケットとして含む３つの外側Ｌ３パケットが、トンネル６６１、６６４、および６６６を介して送信される。
【０４５７】
その結果、仮想ＮＩＣ６３４が、ＡＲＰ要求パケットを内側Ｌ３パケットとして含む外側Ｌ３パケットを、トンネル６６１を介して受信する。
【０４５８】
具体的には、まず、物理サーバ６５１の物理ＮＩＣで外側Ｌ３パケットが受信される。物理サーバ６５１のホストＯＳは、外側Ｌ３パケットの外側Ｌ３ヘッダ（具体的には外側ＩＰヘッダ）内の「次ヘッダ（next header）」フィールドの値を参照することで、外側ＩＰヘッダの次のヘッダのプロトコルを判断する。次ヘッダフィールドに指定されているプロトコルが、トンネリングに使われるプロトコルでなければ、ホストＯＳはプロトコルに応じた適宜の処理を行う。
【０４５９】
逆に、次ヘッダフィールドに指定されているプロトコルが、トンネリングに使われるプロトコル（例えばＧＲＥ）であれば、ホストＯＳは、外側Ｌ３パケットを適宜の仮想ＮＩＣに出力する。
【０４６０】
具体的には、ホストＯＳは、外側ＩＰヘッダに続く次ヘッダ（例えばＧＲＥヘッダ）からトンネル識別情報（例えばＧＲＥキー）を読み出し、読み出したトンネル識別情報を含むエントリを、トンネル管理ＤＢにおいて探す。なお、実施形態によっては、ホストＯＳは、トンネル識別情報だけでなく、外側ＩＰヘッダに指定されている２つのＩＰアドレスも検索キーとして用いてもよい。
【０４６１】
予期せぬエラーや不正な送信がなければ、検索の結果、トンネル６６１に対応する１つのエントリ（つまり、トンネル６６１の作成のためにＶＮＥＴ管理部１８４から与えられた命令に応じて、かつてホストＯＳが作成したエントリ）が見つかる。ホストＯＳは、見つかったエントリから仮想ＮＩＣの識別情報を読み出し、読み出した識別情報により識別される仮想ＮＩＣ（すなわち、この例においては仮想ＮＩＣ６３４）に、外側Ｌ３パケットを受け渡す。
【０４６２】
以上のようにして、仮想ＮＩＣ６３４は、トンネル６６１を介して外側Ｌ３パケットを受信することができる。また、この受信の際、仮想ＮＩＣ６３４は、内側Ｌ２ヘッダの送信元ＭＡＣアドレスが、（物理サーバ６５１内のＶＭのアドレスなのではなく）トンネル６６１を介して接続された通信相手のアドレスであることを学習する。換言すれば、仮想ＮＩＣ６３４は、内側Ｌ２ヘッダの送信元ＭＡＣアドレスと、受信した外側Ｌ３パケットのトンネルヘッダ中のトンネル識別情報（つまりトンネル６６１の識別情報）との対応づけを学習する。具体的には、仮想ＮＩＣ６３４は、学習テーブルに、内側Ｌ２ヘッダの送信元ＭＡＣアドレスと、外側Ｌ３パケット内のトンネル識別情報とを対応づけるエントリを追加する。
【０４６３】
仮想ＮＩＣ６３４は、外側Ｌ３パケットのトンネルヘッダ（例えばＩＰヘッダとＧＲＥヘッダを含む）を取り除く。そして、仮想ＮＩＣ６３４は、仮想ＮＩＣ６３４とペアになったＶＭであるＧＷ６２３に、内側Ｌ２フレームを出力する。
【０４６４】
ここで、ＧＷ６２３が受信した内側Ｌ２フレームに含まれるＡＲＰ要求パケットのＴＰＡは、ＧＷ６２３のＩＰｖ４アドレスである。よって、ＧＷ６２３は、ＡＲＰ要求パケットのＳＰＡ（Sender Protocol Address）とＳＨＡ（Sender Hardware Address）のペア（つまり第１Ｗｅｂサーバ６２４のＩＰアドレスとＭＡＣアドレスのペア）を学習する。つまり、ＧＷ６２３は、ＳＰＡとＳＨＡのペアをＡＲＰテーブルに記憶する。
【０４６５】
また、ＧＷ６２３は、ＡＲＰ応答（ARP reply）パケットを内側Ｌ３パケットとして含む内側Ｌ２フレームを作成する。ＡＲＰ応答パケットにおいて、ＳＰＡはＧＷ６２３のＩＰアドレスであり、ＳＨＡはＧＷ６２３のＭＡＣアドレスである。また、この内側Ｌ２フレームには、送信元ＭＡＣアドレスとしてＧＷ６２３のＭＡＣアドレスが設定され、送信先ＭＡＣアドレスとして第１Ｗｅｂサーバ６２４のＭＡＣアドレスが設定される。
【０４６６】
ＧＷ６２３は、作成した内側Ｌ２フレームを仮想ＮＩＣ６３４に出力する。よって、仮想ＮＩＣ６３４は、内側Ｌ２フレームの送信元ＭＡＣアドレスが、（トンネルを介して接続される通信相手のアドレスではなく）物理サーバ６５１内で仮想ＮＩＣ６３４とペアになっているＶＭ（つまりＧＷ６２３）のアドレスであることを学習する。
【０４６７】
また、「第１Ｗｅｂサーバ６２４のＭＡＣアドレスが、トンネル６６１を介して接続された通信相手のアドレスである」ということは、上記のとおり、ＡＲＰ要求パケットを含む外側Ｌ３パケットの受信の際に、既に学習されている。つまり、仮想ＮＩＣ６３４は、第１Ｗｅｂサーバ６２４のＭＡＣアドレスとトンネル６６１のトンネル識別情報の対応づけを学習済みである。よって、この学習結果と内側Ｌ２ヘッダ内の送信先ＭＡＣアドレスに基づいて、仮想ＮＩＣ６３４は、トンネル６６１のトンネル識別情報を認識する。
【０４６８】
そして、仮想ＮＩＣ６３４は、カプセル化に使う情報を得るために、仮想ＮＩＣ６３４自身の識別情報と、認識したトンネル識別情報を含むエントリを、トンネル管理ＤＢにおいて検索する。検索の結果、トンネル６６１に対応するエントリ（つまり、トンネル６６１の作成のためにＶＮＥＴ管理部１８４から与えられた命令に応じて、かつてホストＯＳが作成したエントリ）が見つかる。
【０４６９】
よって、仮想ＮＩＣ６３４は、見つかったエントリに含まれる送信先ＩＰアドレスと送信元ＩＰアドレスを、トンネリング用の外側ＩＰヘッダ内に指定する。また、仮想ＮＩＣ６３４は、認識したトンネル識別情報をトンネルヘッダ内に指定する。例えば、仮想ＮＩＣ６３４は、内側Ｌ２ヘッダ内の送信先ＭＡＣアドレスに基づいて認識したＧＲＥキーを、ＧＲＥヘッダ内の「キー」フィールドに指定してもよい。
【０４７０】
こうして仮想ＮＩＣ６３４が生成した外側Ｌ３パケットには、物理サーバ６５１のホストＯＳによって、外側Ｌ２ヘッダが付加される。そして、外側Ｌ２フレームは物理サーバ６５１の物理ＮＩＣから送信される。なお、外側Ｌ２ヘッダに指定される送信先ＭＡＣアドレスの決定においては、近隣キャッシュが参照される。
【０４７１】
ところで、仮想ＮＩＣ６２７は、ＡＲＰ要求パケットを内側Ｌ３パケットとして含む外側Ｌ３パケットを、トンネル６６４を介して受信する。この受信の際、仮想ＮＩＣ６２７は、内側Ｌ２ヘッダの送信元ＭＡＣアドレス（つまり第１Ｗｅｂサーバ６２４のＭＡＣアドレス）と、トンネル６６４のトンネル識別情報の対応づけを学習する。
【０４７２】
また、仮想ＮＩＣ６２７は、内側Ｌ２フレームを、仮想ＮＩＣ６２７とペアになったＶＭであるＦＷ６２６に出力する。もし既にＡＲＰテーブル内に第１Ｗｅｂサーバ６２４のＩＰアドレス用のエントリがあれば、ＦＷ６２６は、当該エントリのＭＡＣアドレスをＡＲＰ要求パケットのＳＨＡに更新する。
【０４７３】
同様に、仮想ＮＩＣ６３７も、ＡＲＰ要求パケットを内側Ｌ３パケットとして含む外側Ｌ３パケットを、トンネル６６６を介して受信する。この受信の際、仮想ＮＩＣ６３７は、内側Ｌ２ヘッダの送信元ＭＡＣアドレス（つまり第１Ｗｅｂサーバ６２４のＭＡＣアドレス）と、トンネル６６６のトンネル識別情報の対応づけを学習する。
【０４７４】
また、仮想ＮＩＣ６３７は、内側Ｌ２フレームを、仮想ＮＩＣ６３７とペアになったＶＭである第２Ｗｅｂサーバ６２５に出力する。もし既にＡＲＰテーブル内に第１Ｗｅｂサーバ６２４のＩＰアドレス用のエントリがあれば、第２Ｗｅｂサーバ６２５は、当該エントリのＭＡＣアドレスをＡＲＰ要求パケットのＳＨＡに更新する。
【０４７５】
なお、第２Ｗｅｂサーバ６２５とＦＷ６２６は、どちらも、ＡＲＰ応答パケットを生成しない。一方、上記のように、ＡＲＰ応答パケットを内側Ｌ３パケットとして含む外側Ｌ３パケットが、トンネル６６１を介して仮想ＮＩＣ６３４から送信される。この外側Ｌ３パケットは、物理サーバ６５２内の仮想ＮＩＣ６３５により受信される。
【０４７６】
具体的には、物理サーバ６５２のホストＯＳは、受信された外側Ｌ３パケットの外側ＩＰヘッダの「次ヘッダ」フィールドを参照する。「次ヘッダ」フィールドには、トンネリング用のプロトコルが指定されているので、ホストＯＳは、次に、トンネル識別情報を参照する。
【０４７７】
そして、ホストＯＳは、トンネル識別情報で識別されるトンネルを表すエントリを、トンネル管理ＤＢにおいて検索する。検索の結果、トンネル６６１を表すエントリが見つかる。このエントリには仮想ＮＩＣ６３５５の識別情報が含まれるので、ホストＯＳは、外側Ｌ３パケットを仮想ＮＩＣ６３５に受け渡す。
【０４７８】
なお、こうして外側Ｌ３パケットを受信する際、仮想ＮＩＣ６３５は、内側Ｌ２ヘッダの送信元ＭＡＣアドレスと、受信した外側Ｌ３パケットのトンネルヘッダ中のトンネル識別情報との対応づけを学習する。つまり、仮想ＮＩＣ６３５は、ＧＷ６２３のＭＡＣアドレスとトンネル６６１のトンネル識別情報との対応づけを学習する。
【０４７９】
仮想ＮＩＣ６３５は、外側Ｌ３パケットのトンネルヘッダ（例えばＩＰヘッダとＧＲＥヘッダを含む）を取り除く。そして、仮想ＮＩＣ６３５は、仮想ＮＩＣ６３５とペアになったＶＭである第１Ｗｅｂサーバ６２４に、内側Ｌ２フレームを出力する。
【０４８０】
その結果、第１Ｗｅｂサーバ６２４は、内側Ｌ３パケットとして内側Ｌ２フレームに含まれるＡＲＰ応答パケットを受信する。したがって、第１Ｗｅｂサーバ６２４は、ＡＲＰ応答パケットのＳＰＡとＳＨＡのペア（つまりＧＷ６２３のＩＰアドレスとＭＡＣアドレスのペア）を学習する。つまり、第１Ｗｅｂサーバ６２４は、ＳＰＡとＳＨＡのペアをＡＲＰテーブルに記憶する。
【０４８１】
以上のようにして、Ｌ３物理ネットワーク上のＬ２トンネルにより実現されるネットワーク６２１上での、ＡＲＰによるアドレス解決が実現される。したがって、ＡＲＰ要求パケットの送信とＡＲＰ応答パケットの受信により、または、ＡＲＰテーブル中の学習済みのエントリにより、第１Ｗｅｂサーバ６２４は、ＧＷ６２３のＭＡＣアドレスを認識することができる。
【０４８２】
よって、上記のように第１Ｗｅｂサーバ６２４が、ＧＷ６２３に送信するための内側Ｌ３パケットを作成する場合において、第１Ｗｅｂサーバ６２４は、内側Ｌ２ヘッダに指定する送信先ＭＡＣアドレスを決定することができる。
【０４８３】
つまり、第１Ｗｅｂサーバ６２４は、ＧＷ６２３に送信しようとする内側Ｌ３パケットを含む内側Ｌ２フレームを生成することができる。この内側Ｌ２フレームには、送信先ＭＡＣアドレスとしてＧＷ６２３のＭＡＣアドレスが指定され、送信元ＭＡＣアドレスとして第１Ｗｅｂサーバ６２４のＭＡＣアドレスが指定される。
【０４８４】
第１Ｗｅｂサーバ６２４は、作成した内側Ｌ２フレームを仮想ＮＩＣ６３５に出力する。ここで、仮想ＮＩＣ６３５は、上記のとおり、ＡＲＰ応答パケットを内側Ｌ３パケットとして含む外側Ｌ３パケットを受信した際に、ＧＷ６２３のＭＡＣアドレスとトンネル６６１のトンネル識別情報との対応づけを学習済みである。よって、この学習結果と内側Ｌ２ヘッダ内の送信先ＭＡＣアドレスに基づいて、仮想ＮＩＣ６３５は、トンネル６６１のトンネル識別情報を認識する。
【０４８５】
そして、仮想ＮＩＣ６３５は、仮想ＮＩＣ６３５自身の識別情報と、認識したトンネル識別情報を含むエントリを、トンネル管理ＤＢにおいて検索する。検索の結果、トンネル６６１に対応するエントリ（つまり、トンネル６６１の作成のためにＶＮＥＴ管理部１８４から与えられた命令に応じて、かつてホストＯＳが作成したエントリ）が見つかる。
【０４８６】
よって、仮想ＮＩＣ６３５は、見つかったエントリに含まれる送信先ＩＰアドレスと送信元ＩＰアドレスを、トンネリング用の外側ＩＰヘッダ内に指定する。つまり、仮想ＮＩＣ６３５は、ＭＰＬＳ網１７１に対応して物理サーバ６５１の物理ＮＩＣに割り当てられているＩＰアドレスを送信先ＩＰアドレスとして指定する。また、仮想ＮＩＣ６３５は、ＭＰＬＳ網１７１に対応して物理サーバ６５２の物理ＮＩＣに割り当てられているＩＰアドレスを送信元ＩＰアドレスとして指定する。
【０４８７】
さらに、仮想ＮＩＣ６３５は、上記のようにして認識した、トンネル６６１のトンネル識別情報を、トンネルヘッダ内に指定する。例えば、仮想ＮＩＣ６３５は、内側Ｌ２ヘッダ内の送信先ＭＡＣアドレスに基づいて認識したＧＲＥキーを、ＧＲＥヘッダ内の「キー」フィールドに指定してもよい。
【０４８８】
こうして仮想ＮＩＣ６３５が生成した外側Ｌ３パケットには、物理サーバ６５２のホストＯＳによって、外側Ｌ２ヘッダが付加される。そして、外側Ｌ２フレームは物理サーバ６５２の物理ＮＩＣから送信される。なお、外側Ｌ２ヘッダに指定される送信先ＭＡＣアドレスの決定においては、近隣キャッシュが参照される。
【０４８９】
そして、外側Ｌ３パケットは、ＭＰＬＳ網１７１上のトンネル６６１を介して、物理サーバ６５１に到達する。物理サーバ６５１のホストＯＳは、物理ＮＩＣで受信された外側Ｌ３パケットの外側ＩＰヘッダの「次ヘッダ」フィールドを参照する。「次ヘッダ」フィールドには、トンネリング用のプロトコルが指定されているので、ホストＯＳは、次に、トンネル識別情報を参照する。
【０４９０】
そして、ホストＯＳは、トンネル識別情報で識別されるトンネルを表すエントリを、トンネル管理ＤＢにおいて検索する。検索の結果、トンネル６６１を表すエントリが見つかる。このエントリには仮想ＮＩＣ６３４の識別情報が含まれるので、ホストＯＳは、外側Ｌ３パケットを仮想ＮＩＣ６３４に受け渡す。
【０４９１】
なお、こうして外側Ｌ３パケットを受信する際、仮想ＮＩＣ６３４は、内側Ｌ２ヘッダの送信元ＭＡＣアドレスと、外側Ｌ３パケット中のトンネル識別情報との対応づけを確認する。この対応づけは、上述のようにＡＲＰ要求パケットを内側Ｌ３パケットとして含む外側Ｌ３パケットが受信されたときに既に学習されている。よって、仮想ＮＩＣ６３４は、今回は、学習テーブルにエントリを追加する必要はない。
【０４９２】
さて、仮想ＮＩＣ６３４は、以上のようにして受信した外側Ｌ３パケットのトンネルヘッダ（例えばＩＰヘッダとＧＲＥヘッダを含む）を取り除く。そして、仮想ＮＩＣ６３４は、仮想ＮＩＣ６３４とペアになったＶＭであるＧＷ６２３に、内側Ｌ２フレームを出力する。
【０４９３】
その結果、ＧＷ６２３は、内側Ｌ２フレームに含まれる内側Ｌ３パケットを受信する。ＧＷ６２３は、内側Ｌ３パケットのペイロードに応じて、適宜の処理を実行する。
【０４９４】
例えば以上のようにして、第１Ｗｅｂサーバ６２４は、ネットワーク６２１に属するＧＷ６２３に内側Ｌ３パケットのデータを送信することができる。トンネルを介して接続されている他の任意の２つのＶＭ間の通信も、同様にして実現される。
【０４９５】
以上の説明から分かるように、ＶＮＥＴ管理部１８４がステップＳ１０６またはＳ１０７で物理サーバに与える命令にしたがって物理サーバのホストＯＳが動作することにより、トンネルに応じて指定されるＱｏＳでのＶＭ間通信が実現される。換言すれば、ＶＮＥＴ管理部１８４からの命令にしたがって各物理サーバのホストＯＳが動作することで、仮想ネットワーク内のリンク（例えばネットワーク６２１内のリンク６３１）に応じて指定されるサービスレベルでのＶＭ間通信が実現される。
【０４９６】
さて、図１１は、サービスレベル変更処理のフローチャートである。例えば、運用中のユーザシステム６２０に関して、ユーザが、図８の管理画面６１０を介して、ユーザシステム６２０内のいずれかのリンクのサービスレベルを指定しなおす場合がある。この場合、ユーザが「変更」ボタン６１２をクリックまたはタップすると、サービスレベルの変更された新たな定義情報６４０が、ユーザ端末１９０からＩａａＳ管理サーバ１８０に送信され、ＵＩ処理部１８１において受信される。すると、ＵＩ処理部１８１は新たな定義情報６４０を定義記憶部１８３に記憶する。そして、図１１のサービスレベル変更処理が開始される。
【０４９７】
ステップＳ２０１でＶＮＥＴ管理部１８４は、サービスレベルを変更するようユーザから指定されたトンネルを切断（つまり削除）するための命令を、トンネルの両端の物理サーバに与える。なお、図８に関して説明したとおり、トンネルは、定義情報６４０においては、トンネルの両端点たる仮想ＮＩＣのペアにより指定される。
【０４９８】
次に、ステップＳ２０２でＶＮＥＴ管理部１８４は、新たに指定されたサービスレベルに対応する物理ネットワーク上のトンネルを、トンネルの両端の仮想ＮＩＣ間に開設するための命令を、トンネルの両端の物理サーバに与える。ステップＳ２０２が完了すると、サービスレベル変更処理も完了する。
【０４９９】
なお、トンネルの両端の物理サーバは、ステップＳ２０１とＳ２０２で与えられる命令にしたがって動作する。その結果、既存のトンネルは削除され、新たなトンネルが作成される。
【０５００】
例えば、図８の定義情報６４０によれば、第１ＤＢサーバ６２９と第２ＤＢサーバ６３０の間のリンク６３３のサービスレベルは、ユーザにより、レベルＣと指定されている。しかし、あるとき、ユーザが、管理画面６１０を介して、リンク６３３のサービスレベルをレベルＢに指定しなおし、「変更」ボタン６１２をクリックまたはタップしたとする。この場合、ステップＳ２０１でＶＮＥＴ管理部１８４は、図９のトンネル６６７（つまりリンク６３３を実現するためのトンネル）を削除するための命令を、物理サーバ６５２と６５３に与える。
【０５０１】
ここで説明の便宜上、以下のように仮定する。
【０５０２】
・専用回線網１７２に対応して、物理サーバ６５２の物理ＮＩＣに割り当てられているＩＰアドレスは、「２００１：ｄｂ８：３：６：：１」である。
・ＭＰＬＳ網１７１に対応して、物理サーバ６５２の物理ＮＩＣに割り当てられているＩＰアドレスは、「２００１：ｄｂ８：２：６：：１」である。
・専用回線網１７２に対応して、物理サーバ６５３の物理ＮＩＣに割り当てられているＩＰアドレスは、「２００１：ｄｂ８：３：１ｃ：：１」である。
・ＭＰＬＳ網１７１に対応して、物理サーバ６５３の物理ＮＩＣに割り当てられているＩＰアドレスは、「２００１：ｄｂ８：２：１ｃ：：１」である。
【０５０３】
以上のような仮定のもとでは、ステップＳ２０１でＶＮＥＴ管理部１８４は、具体的には、物理サーバ６５２と６５３に以下のような命令を与える。
【０５０４】
すなわち、ＶＮＥＴ管理部１８４は、「２００１：ｄｂ８：３：６：：１」というＩＰアドレスと仮想ＮＩＣ６３６との対応づけを解消するよう、物理サーバ６５２に命令する。換言すれば、ＶＮＥＴ管理部１８４は、第１ＤＢサーバ６２９から出力されるＬ２フレームをカプセル化する際に「２００１：ｄｂ８：３：６：：１」と「２００１：ｄｂ８：３：１ｃ：：１」というＩＰアドレスを使うのをやめるよう物理サーバ６５２に命令する。
【０５０５】
同様に、ＶＮＥＴ管理部１８４は、「２００１：ｄｂ８：３：１ｃ：：１」というＩＰアドレスと仮想ＮＩＣ６３８との対応づけを解消するよう、物理サーバ６５３に命令する。換言すれば、ＶＮＥＴ管理部１８４は、第２ＤＢサーバ６３０から出力されるＬ２フレームをカプセル化する際に「２００１：ｄｂ８：３：１ｃ：：１」と「２００１：ｄｂ８：３：６：：１」というＩＰアドレスを使うのをやめるよう物理サーバ６５３に命令する。
【０５０６】
なお、上記の命令にしたがい、物理サーバ６５２のホストＯＳは、上記２つのＩＰアドレスとトンネル６６７の識別情報と仮想ＮＩＣ６３６の識別情報とを対応づけるエントリをトンネル管理ＤＢから削除する。同様に、物理サーバ６５３のホストＯＳも、上記２つのＩＰアドレスとトンネル６６７の識別情報と仮想ＮＩＣ６３８の識別情報とを対応づけるエントリをトンネル管理ＤＢから削除する。
【０５０７】
また、ステップＳ２０２は、ステップＳ１０６やＳ１０７と類似である。ただし、ステップＳ２０２でＶＮＥＴ管理部１８４は、ステップＳ２０１で削除を命令したトンネル６６７用のトンネル識別情報を、レベルＢでリンク６３３を実現するための新たなトンネル用のトンネル識別情報として使ってもよい。あるいは、ＶＮＥＴ管理部１８４は、未使用のトンネル識別情報を、新たなトンネル用のトンネル識別情報として使ってもよい。
【０５０８】
いずれにせよ、ＶＮＥＴ管理部１８４は、物理サーバ６５２に、送信元ＩＰアドレスと送信先ＩＰアドレスとして「２００１：ｄｂ８：２：６：：１」と「２００１：ｄｂ８：２：１ｃ：：１」をそれぞれ通知する。また、ＶＮＥＴ管理部１８４は、上記のように決めたトンネル識別情報と、物理サーバ６５２上のトンネル端点である仮想ＮＩＣ６３６の識別情報も、物理サーバ６５２に通知する。
【０５０９】
同様に、ＶＮＥＴ管理部１８４は、物理サーバ６５３に、送信元ＩＰアドレスと送信先ＩＰアドレスとして「２００１：ｄｂ８：２：１ｃ：：１」と「２００１：ｄｂ８：２：６：：１」をそれぞれ通知する。また、ＶＮＥＴ管理部１８４は、上記のように決めたトンネル識別情報と、物理サーバ６５３上のトンネル端点である仮想ＮＩＣ６３８の識別情報も、物理サーバ６５３に通知する。
【０５１０】
なお、上記の命令にしたがい、物理サーバ６５２のホストＯＳは、上記２つのＩＰアドレスとトンネル識別情報と仮想ＮＩＣ６３６の識別情報とを対応づけるエントリをトンネル管理ＤＢに追加する。同様に、物理サーバ６５３のホストＯＳも、上記２つのＩＰアドレスとトンネル識別情報と仮想ＮＩＣ６３８の識別情報とを対応づけるエントリをトンネル管理ＤＢに追加する。その結果、ステップＳ１０６またはＳ１０７の場合と同様にして、新たなトンネルが作成される。
【０５１１】
なお、仮想Ｌ２ネットワーク（例えばネットワーク６２２）の１本のリンク（例えばリンク６３３）を実現するためのトンネルが同時に２つ存在する状態を避けるためには、上記のように、既存トンネルの削除を新規トンネルの作成より先に実行することが好ましい。
【０５１２】
さて、図１２は、実施形態におけるトンネルの変更の例を示す図である。図１２は、具体的には、図９における専用回線網１７２上のトンネル６６７が削除されて、新たにＭＰＬＳ網１７１上のトンネル６７０が作成される例を示している。この例は、図１１に関して上述した具体例に相当する。
【０５１３】
つまり、図１２は、第１ＤＢサーバ６２９と第２ＤＢサーバ６３０の間のリンク６３３のサービスレベルが、レベルＣからレベルＢに変更される例を示す。このような変更は、具体的には、上述の図１１の処理の結果として実現される。トンネル６６７がトンネル６７０に置き換えられた後の、第１ＤＢサーバ６２９と第２ＤＢサーバ６３０の間の通信は、ＭＰＬＳ網１７１上のトンネル６７０を介して行われる。
【０５１４】
ところで、本発明は上記実施形態に限られるものではない。上記の説明においてもいくつかの変形について説明したが、上記実施形態は、さらに例えば下記の観点から様々に変形することもできる。上記および下記の変形は、相互に矛盾しない限り、任意に組み合わせることが可能である。
【０５１５】
物理ネットワークの数と種類は実施形態に応じて適宜決められてよい。例えば、ＡＴＭ網および／またはフレームリレー網が使われてもよいし、２つ以上の専用回線網が使われてもよい。
【０５１６】
図１に例示されている物理サーバは、ラックマウント型サーバ（rack-mount server）である。しかし、もちろん、ブレード型サーバ（blade server）が使われてもよい。例えば、１つのシャーシの中に、１つのスイッチブレードと、スイッチブレードに接続される複数のＣＰＵブレードが含まれていてもよい。この場合、スイッチブレードが図１におけるＴｏＲに相当する。
【０５１７】
１台のラック内には、上記のようなシャーシが複数あってもよい。この場合、各物理ネットワークのエッジスイッチには、１台のラック内の複数のスイッチブレードが接続されていてもよい。このようなエッジスイッチは、集約スイッチ（aggregation switch）とも呼ばれる。
【０５１８】
ところで、場合によっては、２台の物理サーバ間は、同一の物理ネットワーク上の複数のトンネルで接続され得る。これら複数のトンネルは、トンネル識別情報により互いに区別されてもよい。しかし、トンネル識別情報を使わない実施形態も可能である。そのような実施形態では、最下位の（least significant）いくつかのビットのみが異なるいくつかのＩＰアドレスが、１つの物理ネットワークに対応して１枚の物理ＮＩＣに割り当てられてもよい。
【０５１９】
例えば、図９では、第１Ｗｅｂサーバ６２４と第２Ｗｅｂサーバ６２５が異なる物理サーバ上に配置されている。しかし、第１Ｗｅｂサーバ６２４と第２Ｗｅｂサーバ６２５がともに物理サーバ６５２に配置されてもよい。
【０５２０】
この場合、ＧＷ６２３と第１Ｗｅｂサーバ６２４の間のリンクが物理サーバ６５１と６５２の間のトンネルにより実現され、ＧＷ６２３と第２Ｗｅｂサーバ６２５のリンクも、物理サーバ６５１と６５２の間の別のトンネルにより実現される。よって、この場合、物理サーバ６５１から送信されてきたデータを物理サーバ６５２が受信したときに、第１Ｗｅｂサーバ６２４と第２Ｗｅｂサーバ６２５のどちらに内側Ｌ２フレームを出力するかを適切に決めるための、何らかの仕組みが使われる。その仕組みの一例は、上記のとおりトンネル識別情報を含むトンネル管理ＤＢである。しかし、トンネル識別情報の代わりに、１つの物理ネットワークに対応する複数のＩＰアドレスが利用されてもよい。
【０５２１】
例えば、物理サーバ６５２の物理ＮＩＣには、ＭＰＬＳ網１７１のプレフィックスから始まる少なくとも２つのＩＰアドレスが割り当てられていてもよい。もちろん、物理サーバ６５２の物理ＮＩＣには、ベストエフォートＩＰルータ網１７０のプレフィックスから始まる１つ以上のＩＰアドレスと、専用回線網１７２のプレフィックスから始まる１つ以上のＩＰアドレスも割り当てられる。
【０５２２】
第１Ｗｅｂサーバ６２４に対応して物理サーバ６５２のホストＯＳ内に作られる仮想ＮＩＣ６３５は、ＭＰＬＳ網１７１のプレフィックスから始まる上記の少なくとも２つのＩＰアドレスのうちの１つに対応づけられてもよい。また、第２Ｗｅｂサーバ６２５に対応して物理サーバ６５２のホストＯＳ内に作られる仮想ＮＩＣは、上記の少なくとも２つのＩＰアドレスのうちの別の１つに、対応づけられてもよい。
【０５２３】
このように、１つの物理ネットワークに対応して２つ以上のＩＰアドレスが物理ＮＩＣに割り当てられる場合、物理サーバのトンネル管理ＤＢ内の各エントリは、ＩＰアドレスのペアと、ホストＯＳ内の仮想ＮＩＣの識別情報とを含むだけでも十分である。つまり、トンネル識別情報は必須ではない。なぜなら、トンネル識別情報がなくても、ＩＰアドレスによってトンネル同士を区別することが可能だからである。
【０５２４】
また、このようにトンネル識別情報を使わない実施形態の場合、ＶＮＥＴ管理部１８４が、トンネルごとに、上記の少なくとも２つのＩＰアドレスの中から適宜のＩＰアドレスを１つ選んで、選んだＩＰアドレスを物理サーバに対して通知する。例えば、上記の例の場合、ＶＮＥＴ管理部１８４は、以下の２つのＩＰアドレスが異なるように、ステップＳ１０６またはＳ１０７で、トンネルごとにＩＰアドレスを適宜選ぶ。
【０５２５】
・ＧＷ６２３と第１Ｗｅｂサーバ６２４の間の、ＭＰＬＳ網１７１上のトンネル用に使う、物理サーバ６５２の物理ＮＩＣのＩＰアドレス。
・ＧＷ６２３と第２Ｗｅｂサーバ６２５の間の、ＭＰＬＳ網１７１上のトンネル用に使う、物理サーバ６５２の物理ＮＩＣのＩＰアドレス。
【０５２６】
以上のように、トンネル識別情報が使われるか否かは、実施形態による。
ところで、ＩａａＳ管理サーバ１８０は、ＶＭのマイグレーション（例えば、ライブ・マイグレーション）に応じて、トンネルを削除および再作成するための命令を適宜の物理サーバに与える。ＶＭのマイグレーションは、ＶＭ管理部１８２により制御される。
【０５２７】
例えば、第１の物理サーバ上の第１のＶＭと、第２の物理サーバ上の第２のＶＭとの間にトンネルが存在する場合に、ＶＭ管理部１８２が第１のＶＭを第３の物理サーバに移動させる（migrate）ことに決めたとする。この場合、ＶＮＥＴ管理部１８４は、第１と第２の物理サーバに命令を与えることにより、既存のトンネルを削除し、第２と第３の物理サーバに命令を与えることにより、新たなトンネルを作成する。既存のトンネルの削除のための処理はステップＳ２０１と類似であり、新たなトンネルの作成のための処理は、ステップＳ２０２と類似である。
【０５２８】
以上説明した種々の実施形態によれば、ＶＭ間でエンド・ツー・エンドにＱｏＳを保てる。また、ユーザにとっては、いくつかの選択肢の中から、所望のサービスレベルを選択することが可能である。しかも、ある２つのＶＭ間のリンクに対してユーザが望むサービスレベルが変化した場合にも、図１１〜１２に示すように、その変化に応じて柔軟にトンネルの削除と再作成が行われる。
【０５２９】
さらに、上記のとおり、第１比較例や第２比較例と比べて、実施形態は、様々な点で優れている。例えば、実施形態には、金銭的コスト、システムの可用性および拡張性、管理の手間、初期投資などの様々な面で利点がある。そのため、ＩａａＳ事業者は、サービスレベルのメニューに、柔軟に選択肢を増やすことが可能である。その結果、ユーザは、増えた選択肢の中から希望に応じて適宜のサービスレベルを選択することができるから、ユーザの満足度も向上すると期待される。
【０５３０】
最後に、上記の種々の実施形態に関して、さらに下記の付記を開示する。
（付記１）
コンピュータに、
異なる物理マシン上で動作する仮想マシン同士を、特定のサービス品質に対応するレイヤ２トンネルを介して接続するためのトンネル接続命令であって、各々が１つ以上のサービス品質をサポートする複数の物理ネットワークに第１の物理ネットワークインタフェイス装置を介して接続される第１の物理マシン上で動作する第１の仮想マシンと、前記複数の物理ネットワークに第２の物理ネットワークインタフェイス装置を介して接続される第２の物理マシン上で動作する第２の仮想マシンとを接続するためのトンネル接続命令を受け付け、
前記第１の物理マシンに対して、前記第１の仮想マシンが前記第２の仮想マシンへ送信しようとする第１のレイヤ２フレームを第１のレイヤ３パケットの中にカプセル化する際には、前記第１の物理ネットワークインタフェイス装置に割り当てられている複数のアドレスのうち、前記特定のサービス品質をサポートする特定の物理ネットワークに対応する第１のアドレスと、前記第２の物理ネットワークインタフェイス装置に割り当てられている複数のアドレスのうち、前記特定の物理ネットワークに対応する第２のアドレスとを使うように命令し、
前記第２の物理マシンに対して、前記第２の仮想マシンが前記第１の仮想マシンへ送信しようとする第２のレイヤ２フレームを第２のレイヤ３パケットの中にカプセル化する際には、前記第２のアドレスと前記第１のアドレスとを使うように命令する
ことを含む処理を実行させることを特徴とする管理プログラム。
（付記２）
前記処理は、前記レイヤ２トンネルを識別するトンネル識別情報を生成または決定して、前記トンネル識別情報を前記第１の物理マシンと前記第２の物理マシンに通知することをさらに含み、
前記第１のレイヤ３パケットは、カプセル化された前記第１のレイヤ２フレームより前に前記トンネル識別情報を含み、
前記第２のレイヤ３パケットは、カプセル化された前記第２のレイヤ２フレームより前に前記トンネル識別情報を含む
ことを特徴とする付記１に記載の管理プログラム。
（付記３）
前記第１の物理マシンに対して、前記第１の物理ネットワークインタフェイス装置と前記第１の仮想マシンとの間に前記第１の物理マシンが提供する第１の仮想インタフェイスを、前記第１のアドレスと前記第２のアドレスと前記トンネル識別情報との組み合わせに対応づけるよう命令することで、前記第２のレイヤ３パケットを前記第１の物理ネットワークインタフェイス装置が受信した場合には、前記第１の物理マシンが前記第１の仮想インタフェイスを介して前記第２のレイヤ２フレームを前記第１の仮想マシンに出力するようにさせ、
前記第２の物理マシンに対して、前記第２の物理ネットワークインタフェイス装置と前記第２の仮想マシンとの間に前記第２の物理マシンが提供する第２の仮想インタフェイスを、前記第２のアドレスと前記第１のアドレスと前記トンネル識別情報との組み合わせに対応づけるよう命令することで、前記第１のレイヤ３パケットを前記第２の物理ネットワークインタフェイス装置が受信した場合には、前記第２の物理マシンが前記第２の仮想インタフェイスを介して前記第１のレイヤ２フレームを前記第２の仮想マシンに出力するようにさせる
ことを前記処理がさらに含むことを特徴とする付記２に記載の管理プログラム。
（付記４）
前記第１の物理ネットワークインタフェイス装置に割り当てられている前記複数のアドレスの各々は、各物理ネットワークに対応するプレフィックスから始まるＩＰ（Internet Protocol）バージョン６アドレスであり、
前記第２の物理ネットワークインタフェイス装置に割り当てられている前記複数のアドレスの各々は、各物理ネットワークに対応する前記プレフィックスから始まるＩＰバージョン６アドレスである
ことを特徴とする付記１から３のいずれか１項に記載の管理プログラム。
（付記５）
前記トンネル接続命令は、どのサービス品質に対応するレイヤ２トンネルもまだ前記第１の仮想マシンと前記第２の仮想マシンの間に作成されていないときに、前記特定のサービス品質に対応する前記レイヤ２トンネルを新たに作成するための命令である
ことを特徴とする付記１から４のいずれか１項に記載の管理プログラム。
（付記６）
前記トンネル接続命令は、前記第１の仮想マシンと前記第２の仮想マシンの間に作成済みの、前記特定のサービス品質とは異なる別のサービス品質に対応する別のレイヤ２トンネルを、前記特定のサービス品質に対応する前記レイヤ２トンネルに置き換えるための命令である
ことを特徴とする付記１から４のいずれか１項に記載の管理プログラム。
（付記７）
前記複数の物理ネットワークの中で前記別のサービス品質をサポートしており前記特定の物理ネットワークとは異なる別の物理ネットワークに対応して前記第１の物理ネットワークインタフェイス装置に割り当てられている第３のアドレスと、前記別の物理ネットワークに対応して前記第２の物理ネットワークインタフェイス装置に割り当てられている第４のアドレスを、前記第１の仮想マシンが前記第２の仮想マシンへ送信しようとするレイヤ２フレームのカプセル化において使用することをやめるように、前記第１の物理マシンに命令するとともに、
前記第２の仮想マシンが前記第１の仮想マシンへ送信しようとするレイヤ２フレームのカプセル化において、前記第４のアドレスと前記第３のアドレスを使用することをやめるように、前記第２の物理マシンに命令する
ことを前記処理がさらに含むことを特徴とする付記６に記載の管理プログラム。
（付記８）
前記第１の仮想マシンと前記第２の仮想マシンを含み、かつ、１つの仮想ネットワークに属している複数の仮想マシンのうちの２つの仮想マシンの各ペアについて、当該２つの仮想マシン間を接続するためのレイヤ２トンネルのサービス品質を指定するためのネットワーク設定命令を受け付けることを、前記処理は含んでおり、
前記トンネル接続命令は、前記ネットワーク設定命令の中に含まれており、
前記トンネル接続命令を受け付ける処理は、前記ネットワーク設定命令を受け付ける処理に含まれる
ことを特徴とする付記１から７のいずれか１項に記載の管理プログラム。
（付記９）
異なる物理マシン上で動作する仮想マシン同士を、特定のサービス品質に対応するレイヤ２トンネルを介して接続するためのトンネル接続命令であって、各々が１つ以上のサービス品質をサポートする複数の物理ネットワークに第１の物理ネットワークインタフェイス装置を介して接続される第１の物理マシン上で動作する第１の仮想マシンと、前記複数の物理ネットワークに第２の物理ネットワークインタフェイス装置を介して接続される第２の物理マシン上で動作する第２の仮想マシンとを接続するためのトンネル接続命令を受け付ける受け付け手段と、
第１の命令を前記第１の物理マシンに送信するとともに、第２の命令を前記第２の物理マシンに送信する送信手段を備え、
前記第１の命令は、前記第１の物理マシンに対して、前記第１の仮想マシンが前記第２の仮想マシンへ送信しようとする第１のレイヤ２フレームを第１のレイヤ３パケットの中にカプセル化する際には、前記第１の物理ネットワークインタフェイス装置に割り当てられている複数のアドレスのうち、前記特定のサービス品質をサポートする特定の物理ネットワークに対応する第１のアドレスと、前記第２の物理ネットワークインタフェイス装置に割り当てられている複数のアドレスのうち、前記特定の物理ネットワークに対応する第２のアドレスとを使うように命ずる命令であり、
前記第２の命令は、前記第２の物理マシンに対して、前記第２の仮想マシンが前記第１の仮想マシンへ送信しようとする第２のレイヤ２フレームを第２のレイヤ３パケットの中にカプセル化する際には、前記第２のアドレスと前記第１のアドレスとを使うように命ずる命令である
ことを特徴とする管理装置。
（付記１０）
ネットワークシステムであって、
各々が１つ以上のサービス品質をサポートする複数の物理ネットワークに接続された第１の通信装置と、
前記複数の物理ネットワークに接続された第２の通信装置と、
第１の物理マシンであって、
前記複数の物理ネットワークに対応して複数のアドレスが割り当てられており、かつ、前記第１の通信装置に接続される、第１の物理ネットワークインタフェイス装置と、
第１の仮想マシンを実行し、前記第１の仮想マシンが第２の仮想マシンへ送信しようとする第１のレイヤ２フレームを第１のレイヤ３パケットの中にカプセル化し、前記第１のレイヤ３パケットを前記第１の物理ネットワークインタフェイス装置に送信させる第１のプロセッサと、
前記第１のレイヤ２フレームのカプセル化において用いられる第１の送信元アドレスと第１の送信先アドレスを記憶する第１の記憶装置を備える第１の物理マシンと、
第２の物理マシンであって、
前記複数の物理ネットワークに対応して複数のアドレスが割り当てられており、かつ、前記第２の通信装置に接続される、第２の物理ネットワークインタフェイス装置と、
前記第２の仮想マシンを実行し、前記第２の仮想マシンが前記第１の仮想マシンへ送信しようとする第２のレイヤ２フレームを第２のレイヤ３パケットの中にカプセル化し、前記第２のレイヤ３パケットを前記第２の物理ネットワークインタフェイス装置に送信させる第２のプロセッサと、
前記第２のレイヤ２フレームのカプセル化において用いられる第２の送信元アドレスと第２の送信先アドレスを記憶する第２の記憶装置を備える第２の物理マシンと、
前記第１の物理マシンおよび前記第２の物理マシンと通信可能な管理コンピュータであって、
前記第１の仮想マシンと前記第２の仮想マシンを、特定のサービス品質に対応するレイヤ２トンネルを介して互いに接続するためのトンネル接続命令を受け付ける入力装置または受信装置と、
前記第１の物理ネットワークインタフェイス装置の前記複数のアドレスのうち、前記特定のサービス品質をサポートする特定の物理ネットワークに対応する第１のアドレスと、前記第２の物理ネットワークインタフェイス装置の前記複数のアドレスのうち、前記特定の物理ネットワークに対応する第２のアドレスを、前記第１の送信元アドレスと前記第１の送信先アドレスとしてそれぞれ指定する第１の設定情報を、前記第１の物理マシンに送信するとともに、前記第２のアドレスと前記第１のアドレスを前記第２の送信元アドレスと前記第２の送信先アドレスとしてそれぞれ指定する第２の設定情報を、前記第２の物理マシンに送信する送信装置を備える管理コンピュータ
を備えることを特徴とするネットワークシステム。
（付記１１）
前記第１の物理マシンが前記第１のレイヤ３パケットを前記第１の通信装置に送信する際に、前記第１のプロセッサは、前記特定のサービス品質に対応する特定の優先度を示す特定の値を指定した第１のレイヤ２ヘッダを、前記第１のレイヤ３パケットの前に付加し、
前記第２の物理マシンが前記第２のレイヤ３パケットを前記第２の通信装置に送信する際に、前記第２のプロセッサは、前記特定の値を指定した第２のレイヤ２ヘッダを、前記第２のレイヤ３パケットの前に付加する
ことを特徴とする付記１０に記載のネットワークシステム。
（付記１２）
前記第１のレイヤ２ヘッダは、前記特定の値の指定された第１のＶＬＡＮ（Virtual Local Area Network）タグを含み、
前記第２のレイヤ２ヘッダは、前記特定の値の指定された第２のＶＬＡＮタグを含む
ことを特徴とする付記１１に記載のネットワークシステム。
（付記１３）
前記第１のＶＬＡＮタグは、前記特定のサービス品質または前記特定の物理ネットワークに対応する特定のＶＬＡＮ識別子をさらに含み、
前記第２のＶＬＡＮタグも、前記特定のＶＬＡＮ識別子をさらに含む
ことを特徴とする付記１２に記載のネットワークシステム。
（付記１４）
前記特定の物理ネットワークが、前記特定のサービス品質を含む２つ以上のサービス品質をサポートしている場合、前記第１のレイヤ３パケットに含まれる、サービス品質に関わる第１のフィールドが、前記第１のレイヤ３パケットの送信中に参照されるか、または、前記第１のレイヤ３パケットの送信の前に、前記特定の物理ネットワークを介して、前記特定のサービス品質を指定する第１のシグナリング情報が送信され、
前記特定の物理ネットワークが、前記特定のサービス品質を含む前記２つ以上のサービス品質をサポートしている場合、前記第２のレイヤ３パケットに含まれる、サービス品質に関わる第２のフィールドが、前記第２のレイヤ３パケットの送信中に参照されるか、または、前記第２のレイヤ３パケットの送信の前に、前記特定の物理ネットワークを介して、前記特定のサービス品質を指定する第２のシグナリング情報が送信される
ことを特徴とする付記１０から１３のいずれか１項に記載のネットワークシステム。
【符号の説明】
【０５３１】
１００、３００、４００  ネットワークシステム
１１０、１３０、１５０、３１０、３３０、３５０、４１０、４３０、４５０  ラック
１１１、１３１、１５１、３１１〜３１３、３３１〜３３３、３５１〜３５３  ＴｏＲ
１１２、１１３、１２０、１３２、１３３、１４０、１５２、１５３、１６０、３１４、３１５、３２０、３３４、３３５、３４０、３５４、３５５、３６０、４１２、４１３、４２０、４３２、４３３、４４０、４５２、４５３、４６０、５４１〜５４４、６５１〜６５４  物理サーバ
１２１、１４１、１６１、２５３、３２１〜３２３、３４１〜３４３、３６１〜３６３、４２１、４４１、４６１  ＮＩＣ
１２２、１２３、１４２、１６２、３２４、３２５、３４４、３６４、４２２、４２３、４４２、４６２  ＶＭ
１２４、１２５、１４３、１６３、５１７、５１８、５２１〜５２５、６２７、６２８、６３４〜６３８  仮想ＮＩＣ
１７０、３７０  ベストエフォートＩＰルータ網
１７１、３７１  ＭＰＬＳ網
１７２、３７２  専用回線網
１８０  ＩａａＳ管理サーバ
１８１  ＵＩ処理部
１８２  ＶＭ管理部
１８３  定義記憶部
１８４  ＶＮＥＴ管理部
１９０  ユーザ端末
２０１、２０２  エッジルータ
２０３、２０４、４１１、４３１、４５１  ＬＥＲ
２０５、２０６  エッジスイッチ
２１１〜２１６、２３１〜２３６  ポート
２２１、２４１、２５１  ＣＰＵ
２２２、２４２、２５２  ＲＡＭ
２２３、２４３、２５６  記憶装置
２２４、２４４、２５８  バス
２５４  入力装置
２５５  出力装置
２５７  駆動装置
２６０  記憶媒体
４７０  ＭＰＬＳ・ＲＳＶＰ−ＴＥ網
５００、６１０  管理画面
５１０、６２０  ユーザシステム
５１１、５１２、６２１、６２２  ネットワーク
５１３、６２３  ＧＷ
５１４、６２４  第１Ｗｅｂサーバ
５１５、６２５  第２Ｗｅｂサーバ
５１６、６２６  ＦＷ
５１９、６２９  第１ＤＢサーバ
５２０、６３０  第２ＤＢサーバ
５３０、６４０  定義情報
６００  サービスレベルメニュー
６１１  「起動」ボタン
６１２  「変更」ボタン
６３１〜６３３  リンク
６６１〜６６９  トンネル
【図１】
2014230057.tif 000003
【図２】
2014230057.tif 000004
【図３】
2014230057.tif 000005
【図４】
2014230057.tif 000006
【図５】
2014230057.tif 000007
【図６】
2014230057.tif 000008
【図７】
2014230057.tif 000009
【図８】
2014230057.tif 000010
【図９】
2014230057.tif 000011
【図１０】
2014230057.tif 000012
【図１１】
2014230057.tif 000013
【図１２】
2014230057.tif 000014