(57)【特許請求の範囲】
【請求項１】
受信側の仮想サーバに対して、受信側の仮想マシンＩＤ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  ｉｄｅｎｔｉｆｉｅｒ）を割り当てる受信側の物理サーバと、
送信側の仮想サーバに対して、送信側の仮想マシンＩＤを割り当て、前記送信側の仮想サーバから前記受信側の仮想サーバへの送信パケットを生成する場合、ＴＣＰ／ＩＰパケット（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｐａｃｋｅｔ）の形式で、前記送信パケットのデータ以外のビット空間のうち少なくとも一部に、前記受信側の仮想マシンＩＤと前記送信側の仮想マシンＩＤとを割り当て、前記送信パケットを送信する送信側の物理サーバと、
前記送信側の物理サーバと前記受信側の物理サーバとを接続するネットワーク上に存在し、前記送信側の物理サーバと前記受信側の物理サーバとの間で前記送信パケットを中継する場合、前記送信パケットのデータ以外のビット空間に含まれる、前記受信側の仮想マシンＩＤと、前記送信側の仮想マシンＩＤと、に基づいて、前記送信パケットを識別し、ネットワーク状態を示す情報を収集する物理スイッチと
を含む
仮想サーバ間通信識別システム。
【請求項２】
請求項１に記載の仮想サーバ間通信識別システムであって、
前記送信側の物理サーバは、
前記送信パケットに、前記受信側の仮想マシンＩＤと前記送信側の仮想マシンＩＤとを含むＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）タグ領域を挿入するＶＬＡＮタグ挿入部
を具備し、
前記受信側の物理サーバは、
前記送信パケットを受信した場合、前記送信パケットから前記ＶＬＡＮタグ領域を削除するＶＬＡＮタグ削除部
を具備する
仮想サーバ間通信識別システム。
【請求項３】
請求項１又は２に記載の仮想サーバ間通信識別システムであって、
前記送信側の物理サーバは、
前記送信パケットのヘッダー領域において、受信側のアドレス領域の少なくとも一部を前記受信側の仮想マシンＩＤに変換し、送信側のアドレス領域の少なくとも一部を前記送信側の仮想マシンＩＤに変換するヘッダー変換部
を具備する
仮想サーバ間通信識別システム。
【請求項４】
請求項１乃至３のいずれか一項に記載の仮想サーバ間通信識別システムであって、
前記受信側の物理サーバは、
受信側のＭＡＣアドレス及び受信側のＩＰアドレスの少なくとも一方に前記受信側の仮想マシンＩＤを組み込み、前記受信側の仮想サーバに対して、前記受信側のＭＡＣアドレスと、前記受信側のＩＰアドレスと、を割り当てる受信側アドレス割り当て部
を具備し、
前記送信側の物理サーバは、
送信側のＭＡＣアドレス及び送信側のＩＰアドレスの少なくとも一方に前記送信側の仮想マシンＩＤを組み込み、前記送信側の仮想サーバに対して、前記送信側のＭＡＣアドレスと、前記送信側のＩＰアドレスと、を割り当てる送信側アドレス割り当て部
を具備し、
前記送信側の仮想サーバは、前記送信パケットを生成する際、前記送信パケットのＭＡＣアドレス領域に、前記受信側のＭＡＣアドレスと、前記送信側のＭＡＣアドレスと、を割り当て、前記送信パケットのＩＰアドレス領域に、前記受信側のＩＰアドレスと、前記送信側のＩＰアドレスと、を割り当てる
仮想サーバ間通信識別システム。
【請求項５】
請求項４に記載の仮想サーバ間通信識別システムであって、
前記受信側の物理サーバは、
前記受信側の仮想サーバに対して、前記受信側の仮想マシンＩＤを割り当てる仮想マシンＩＤ割り当て部
を更に具備し、
前記送信側の物理サーバは、
前記送信側の仮想サーバに対して、前記送信側の仮想マシンＩＤを割り当てる仮想マシンＩＤ割り当て部
を更に具備し、
前記送信側の仮想サーバは、前記送信パケットを生成する際、前記送信パケットのＶＬＡＮタグ領域に、前記受信側の仮想マシンＩＤと、前記送信側の仮想マシンＩＤと、を割り当てる
仮想サーバ間通信識別システム。
【請求項６】
請求項１乃至５のいずれか一項に記載の仮想サーバ間通信識別システムであって、
前記送信側の物理サーバと前記受信側の物理サーバとを接続するネットワーク上に存在し、前記送信パケットを受け取り、前記送信パケットのＭＡＣアドレス領域と、ＶＬＡＮタグ領域と、ＩＰアドレス領域との全体のビット空間に基づいて、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）  ＩＤを判断し、前記送信パケットの転送先を変更し、前記送信パケットに前記ＶＰＮ  ＩＤを付与したカプセル化パケットを生成して送信するＶＰＮルータ
を更に含む
仮想サーバ間通信識別システム。
【請求項７】
請求項１乃至６のいずれか一項に記載の仮想サーバ間通信識別システムであって、
前記受信側の物理サーバは、
前記受信側の仮想サーバに対して、グループＩＤとしてＶＬＡＮ  ＩＤを割り当てる受信側グループ割り当て部
を具備し、
前記送信側の物理サーバは、
前記送信側の仮想サーバに対して、グループＩＤとしてＶＬＡＮ  ＩＤを割り当てる送信側グループ割り当て部
を具備し、
前記送信側の仮想サーバは、前記送信側の仮想サーバと前記受信側の仮想サーバとにグループＩＤとして割り当てられたＶＬＡＮ  ＩＤが同じである場合、前記送信パケットのＶＬＡＮタグ領域に当該ＶＬＡＮ  ＩＤを割り当てる
仮想サーバ間通信識別システム。
【請求項８】
請求項１乃至７のいずれか一項に記載の仮想サーバ間通信識別システムで、受信側の物理サーバ及び送信側の物理サーバのいずれかとして使用されるコンピュータ。
【請求項９】
仮想マシンＩＤ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  ｉｄｅｎｔｉｆｉｅｒ）が割り当てられた仮想サーバと、
前記仮想サーバの通信を制御し、前記仮想サーバと他の仮想サーバとの間のネットワークを介した通信の際、ＴＣＰ／ＩＰパケット（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｐａｃｋｅｔ）の形式で、送信パケットを出力する仮想スイッチと、
前記送信パケットに対し、データ以外のビット空間のうち少なくとも一部に、前記仮想マシンＩＤを割り当てる通信フロー監視部と、
前記送信パケットをネットワーク上に送信するＮＩＣと
を具備する
物理サーバ。
【請求項１０】
請求項９に記載の物理サーバであって、
前記通信フロー監視部は、
前記送信パケットをネットワーク上に送信する際、前記送信パケットに前記仮想マシンＩＤを含むＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）タグ領域を挿入するＶＬＡＮタグ挿入部と、
ネットワーク上からの受信パケットのＶＬＡＮタグ領域を削除して前記仮想サーバに送信するＶＬＡＮタグ削除部と
を具備する
物理サーバ。
【請求項１１】
請求項９又は１０に記載の物理サーバであって、
前記通信フロー監視部は、
前記送信パケットをネットワーク上に送信する際、前記送信パケットのヘッダー領域において、アドレス領域の少なくとも一部を前記仮想マシンＩＤに変換するヘッダー変換部
を具備する
物理サーバ。
【請求項１２】
請求項９乃至１１のいずれか一項に記載の物理サーバであって、
前記仮想スイッチは、
ＭＡＣアドレス及びＩＰアドレスの少なくとも一方に前記受信側の仮想マシンＩＤを組み込み、前記仮想サーバに対して、前記ＭＡＣアドレスと、前記ＩＰアドレスと、を割り当てるアドレス割り当て部
を具備し、
前記仮想サーバは、前記送信パケットを生成する際、前記送信パケットのＭＡＣアドレス領域に前記ＭＡＣアドレスを割り当て、前記送信パケットのＩＰアドレス領域に前記ＩＰアドレスを割り当てる
物理サーバ。
【請求項１３】
請求項１２に記載の物理サーバであって、
前記仮想スイッチは、
前記仮想サーバに対して、前記仮想マシンＩＤを割り当てる仮想マシンＩＤ割り当て部
を更に具備し、
前記仮想サーバは、前記送信パケットを生成する際、前記送信パケットのＶＬＡＮタグ領域に前記仮想マシンＩＤを割り当てる
物理サーバ。
【請求項１４】
請求項９乃至１３のいずれか一項に記載の物理サーバであって、
前記仮想サーバに対して、グループＩＤとしてＶＬＡＮ  ＩＤを割り当てるグループ割り当て部
を具備し、
前記仮想サーバは、前記仮想サーバに対してグループＩＤとして割り当てられたＶＬＡＮ  ＩＤが、受信側の仮想サーバに対してグループＩＤとして割り当てられたＶＬＡＮ  ＩＤと同じである場合、前記送信パケットのＶＬＡＮタグ領域に当該ＶＬＡＮ  ＩＤを割り当てる
物理サーバ。
【請求項１５】
受信側の物理サーバで、受信側の仮想サーバに対して、受信側の仮想マシンＩＤ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  ｉｄｅｎｔｉｆｉｅｒ）を割り当てることと、
送信側の物理サーバで、送信側の仮想サーバに対して、送信側の仮想マシンＩＤを割り当てることと、
前記送信側の仮想サーバから前記受信側の仮想サーバへの送信パケットを生成する場合、ＴＣＰ／ＩＰパケット（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｐａｃｋｅｔ）の形式で、前記送信パケットのデータ以外のビット空間のうち少なくとも一部に、前記受信側の仮想マシンＩＤと前記送信側の仮想マシンＩＤとを割り当て、前記送信パケットを送信することと、
前記送信側の物理サーバと前記受信側の物理サーバとを接続するネットワーク上に存在する物理スイッチで、前記送信側の物理サーバと前記受信側の物理サーバとの間で前記送信パケットを中継する場合、前記送信パケットのデータ以外のビット空間に含まれる、前記受信側の仮想マシンＩＤと、前記送信側の仮想マシンＩＤと、に基づいて、前記送信パケットを識別し、ネットワーク状態を示す情報を収集することと
を含む
仮想サーバ間通信識別方法。
【請求項１６】
請求項１５に記載の仮想サーバ間通信識別方法であって、
前記送信側の物理サーバで、前記送信パケットに、前記受信側の仮想マシンＩＤと前記送信側の仮想マシンＩＤとを含むＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）タグ領域を挿入することと、
前記受信側の物理サーバで、前記送信パケットを受信した場合、前記送信パケットから前記ＶＬＡＮタグ領域を削除することと
を更に含む
仮想サーバ間通信識別方法。
【請求項１７】
請求項１５又は１６に記載の仮想サーバ間通信識別方法であって、
前記送信側の物理サーバで、前記送信パケットのヘッダー領域において、受信側のアドレス領域の少なくとも一部を前記受信側の仮想マシンＩＤに変換し、送信側のアドレス領域の少なくとも一部を前記送信側の仮想マシンＩＤに変換すること
を更に含む
仮想サーバ間通信識別方法。
【請求項１８】
請求項１５乃至１７のいずれか一項に記載の仮想サーバ間通信識別方法であって、
前記受信側の物理サーバで、受信側のＭＡＣアドレス及び受信側のＩＰアドレスの少なくとも一方に前記受信側の仮想マシンＩＤを組み込み、前記受信側の仮想サーバに対して、前記受信側のＭＡＣアドレスと、前記受信側のＩＰアドレスと、を割り当てることと、
前記送信側の物理サーバで、送信側のＭＡＣアドレス及び送信側のＩＰアドレスの少なくとも一方に前記送信側の仮想マシンＩＤを組み込み、前記送信側の仮想サーバに対して、前記送信側のＭＡＣアドレスと、前記送信側のＩＰアドレスと、を割り当てることと、
前記送信側の仮想サーバで、前記送信パケットを生成する際、前記送信パケットのＭＡＣアドレス領域に、前記受信側のＭＡＣアドレスと、前記送信側のＭＡＣアドレスと、を割り当て、前記送信パケットのＩＰアドレス領域に、前記受信側のＩＰアドレスと、前記送信側のＩＰアドレスと、を割り当てることと
を更に含む
仮想サーバ間通信識別方法。
【請求項１９】
請求項１８に記載の仮想サーバ間通信識別方法であって、
前記受信側の物理サーバで、前記受信側の仮想サーバに対して、前記受信側の仮想マシンＩＤを割り当てることと、
前記送信側の物理サーバで、前記送信側の仮想サーバに対して、前記送信側の仮想マシンＩＤを割り当てることと、
前記送信側の仮想サーバで、前記送信パケットを生成する際、前記送信パケットのＶＬＡＮタグ領域に、前記受信側の仮想マシンＩＤと、前記送信側の仮想マシンＩＤと、を割り当てることと
を更に含む
仮想サーバ間通信識別方法。
【請求項２０】
請求項１５乃至１９のいずれか一項に記載の仮想サーバ間通信識別方法であって、
前記送信側の物理サーバと前記受信側の物理サーバとを接続するネットワーク上に存在するＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）ルータで、前記送信パケットを受け取り、前記送信パケットのＭＡＣアドレス領域と、ＶＬＡＮタグ領域と、ＩＰアドレス領域との全体のビット空間に基づいて、ＶＰＮ  ＩＤを判断し、前記送信パケットの転送先を変更し、前記送信パケットに前記ＶＰＮ  ＩＤを付与したカプセル化パケットを生成して送信すること
を更に含む
仮想サーバ間通信識別方法。
【請求項２１】
請求項１５乃至２０のいずれか一項に記載の仮想サーバ間通信識別方法であって、
前記受信側の物理サーバで、前記受信側の仮想サーバに対して、グループＩＤとしてＶＬＡＮ  ＩＤを割り当てることと、
前記送信側の物理サーバで、前記送信側の仮想サーバに対して、グループＩＤとしてＶＬＡＮ  ＩＤを割り当てることと、
前記送信側の仮想サーバで、前記送信側の仮想サーバと前記受信側の仮想サーバとにグループＩＤとして割り当てられたＶＬＡＮ  ＩＤが同じである場合、前記送信パケットのＶＬＡＮタグ領域に当該ＶＬＡＮ  ＩＤを割り当てることと
を更に含む
仮想サーバ間通信識別方法。
【請求項２２】
請求項１５乃至２１のいずれか一項に記載の仮想サーバ間通信識別方法を、コンピュータに実行させるためのプログラムを格納する記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想サーバ間通信識別システムに関し、特に物理サーバ上で複数動作する論理サーバ間の通信における仮想サーバ間通信識別システムに関する。
【背景技術】
【０００２】
通常、物理サーバ上で複数動作する論理サーバは、仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）等で構成されていることが多い。従来より、物理サーバ上で動作する各論理サーバ間の通信において以下の２つの問題があった。【０００３】
（１）第１の問題
第１の問題については、以下の通りである。
どの論理サーバ間の通信がどのような状態になっているかについて、既存のルータやスイッチでは、既存のトラヒックに新たな識別子としてのプロトコルヘッダを追加することが無い。そのため、論理サーバに割り当てられたＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  ａｄｄｒｅｓｓ）、ＩＰアドレス（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ａｄｄｒｅｓｓ）、ＶＬＡＮ  ＩＤ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ  −  ｉｄｅｎｔｉｆｉｅｒ）等で通信を行ったとしても、それらの通信がどの経路を通っているのか、通信性能がどうなのか、通信障害が起こったときにその通信障害がどこで起こっているのか、といった状況をリアルタイムにネットワーク管理者が把握することが困難であった。【０００４】
（２）第２の問題
第２の問題については、以下の通りである。
データセンター等でのマルチテナントでの運用形態の場合に、マルチテナント間での仮想マシンの通信を行う際に、ＩＰアドレスが重複する場合がある。その場合には、ＩＰアドレスの再割り当て（Ｒｅｎｕｍｂｅｒｉｎｇ）か、あるいはＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）によるアドレス変換か、をしない限り、通信を実施することが不可能であった。しかし、ＩＰアドレスの再割り当ては、サービスを止める必要があり、大きな負荷がかかる。なお、ＮＡＴには、ＩＰマスカレード等のＮＡＰＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｐｏｒｔ  Ｔｒａｎｓｌａｔｉｏｎ）も含むものとする。また、ＮＡＴは、アプリケーション依存性があるため、アプリケーションの整合を確認しない限り利用できなかった。そのため、マルチテナント環境での仮想マシン間の通信で問題を起こすケースがあった。【０００５】
（１）については、既存のトラヒックに新たな識別子としてのプロトコルヘッダを追加しない状態では、中継のルータやスイッチは、各仮想マシン間の通信フロー状態を把握する機能を有さないという問題である。そのため、通信経路、通信性能、通信障害状況のリアルタイムの把握が困難であった。【０００６】
（１）に対して、既存のトラヒックに新たな識別子としてのプロトコルヘッダを追加することによって解決するＣｉｓｃｏ（登録商標）社のＶＮ−Ｔａｇ技術がある（非特許文献１、２参照）。当該ＶＮ−Ｔａｇ技術は、既存のパケットに新規ヘッダを挿入する特別なルータやスイッチを導入することにより、当該新規ヘッダを活用することで、通信状態を把握する機能が提案されている。しかしながら、ＶＮ−Ｔａｇを把握できない既存のルータやスイッチにおいては、当該新規ヘッダを把握できないため、既存ネットワークと共存する一般の環境では各仮想マシン間の通信フロー状態を把握することができないという課題がある。【０００７】
したがって、既存のインターネット網でも上位互換性（Ｂａｃｋｗａｒｄ  ｃｏｍｐａｔｉｂｉｌｉｔｙ）を保ちつつ、仮想マシン間の通信フロー状態をリアルタイムにネットワーク管理者が把握できるようにすることが求められている。【０００８】
（２）については、データセンター等で、複数の企業にサーバ、ストレージ、ネットワーク環境を提供するマルチテナント環境において、仮想マシンに割り当てるアドレスが重複する場合があるという問題である。各企業においては、イントラネットのアドレス割り当ては、典型的にはＩＰアドレスのプライベートＩＰアドレス（Ｐｒｉｖａｔｅ  ＩＰ  ａｄｄｒｅｓｓ）空間を用いてアドレス割り当てを実施している。【０００９】
なお、プライベートＩＰアドレスは、外部（インターネット）との接続がない完全に閉じられたネットワークや、外部（インターネット）に接続しているがルータを介して間接的に接続しているネットワーク等、直接インターネットに接続していないネットワーク（例えば、企業内のネットワーク）で使用されるＩＰアドレスである。プライベートＩＰアドレスは、プライベートアドレスと呼ばれることもある。【００１０】
企業内ではユニークにアドレスを割り当てているとしても、企業間ではアドレスが重複するケースがある。そのため、データセンターにアウトソースされたサーバ上の仮想マシンに割り当てるＩＰアドレスが重複してしまう場合には、企業間（マルチテナント間）の仮想マシンの通信を行う場合、アドレス再割り当て、ＮＡＴをしない限り、従来はできなかった。しかしながら、アドレス再割り当て、ＮＡＴのいずれも運用上課題があった。【００１１】
したがって、データセンターのマルチテナント網において、例え仮想マシンのＩＰアドレスが重複するような環境下でも、マルチテナント間での仮想マシンの通信を実行でき、更にその通信フロー状態をリアルタイムにネットワーク管理者が把握できるようにすることが求められている。【００１２】
関連する技術として、特開２００８−２７８４７８号公報（特許文献１）に計算機システム及び通信制御方法が開示されている。この関連技術では、仮想マシンと、その仮想マシンが稼動する実マシンの対情報を関連させて、仮想マシンと、仮想マシン環境制御機能の共有メモリ区画に記録する。また、上記の記録された情報より、通信相手の仮想マシンが、通信元の仮想マシンと同一の実マシンに存在するか判断する。また、その判断によって多重度の変更を行う。更に、仮想マシンが別の実マシンに移動した時に、上記の記録された情報を書き換える。【００１３】
特開２００７−１５８８７０号公報（特許文献２）に仮想計算機システム及びそのネットワーク通信方法が開示されている。この関連技術では、仮想ネットワーク・インターフェイス・カード（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ：ＮＩＣ）に対し、ＶＬＡＮ  ＩＤを設定するか否かにより、仮想ネットワーク・インターフェイス・カードに設定されたＶＬＡＮ  ＩＤに応じたＶＬＡＮ通信を行うか、仮想ネットワーク・インターフェイス・カードを使用する仮想計算機上のＯＳが設定したＶＬＡＮ  ＩＤに応じたＶＬＡＮ通信を行うかを切り替え可能にする。【００１４】
なお、この関連技術では、ＩＥＥＥ  ８０２．１Ｑによって標準化されているタグＶＬＡＮを用いてＶＬＡＮを実現する。ＩＥＥＥ  ８０２．１Ｑで規定される通信パケットでは、ＶＬＡＮタグ（ＶＬＡＮ  Ｔａｇ）を含まない通信パケットに対し、ＶＬＡＮタグフィールドが追加されている。ＶＬＡＮタグフィールドは、タグタイプとタグ制御情報とから構成され、タグ制御情報のうちの１２ビット（ｂｉｔ）がＶＬＡＮ  ＩＤ用に割り当てられている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００８−２７８４７８号公報
【特許文献２】特開２００７−１５８８７０号公報
【非特許文献】
【００１６】
【非特許文献１】Ｃｉｓｃｏ（登録商標）  ＶＮ−Ｌｉｎｋ：仮想化対応ネットワーキング  ＜ｈｔｔｐ：／／ｗｗｗ．ｃｉｓｃｏ．ｃｏｍ／ｗｅｂ／ＪＰ／ｓｏｌｕｔｉｏｎ／ｐｌａｃｅｓ／ｄａｔａｃｅｎｔｅｒ／ｌｉｔｅｒａｔｕｒｅ／ｗｈｉｔｅ＿ｐａｐｅｒ＿ｃ１１−５２５３０７．ｈｔｍｌ＞
【非特許文献２】仮想マシンを個別に認識し、仮想マシンごとにケアできるネットワークを実現  ＜ｈｔｔｐ：／／ｗｗｗ．ｃｉｓｃｏ．ｃｏｍ／ｗｅｂ／ＪＰ／ｎｅｗｓ／ｃｉｓｃｏ＿ｎｅｗｓ＿ｌｅｔｔｅｒ／ｔｅｃｈ／ｖｎｌｉｎｋ／ｉｎｄｅｘ．ｈｔｍｌ＞
【発明の概要】
【００１７】
本発明の第１の目的は、既存のインターネット網でも上位互換性（Ｂａｃｋｗａｒｄ  ｃｏｍｐａｔｉｂｉｌｉｔｙ）を保ちつつ、仮想マシン間の通信フロー状態をリアルタイムにネットワーク管理者が把握できるようにすることである。
【００１８】
本発明の第２の目的は、データセンターのマルチテナント網において、例え仮想マシンのＩＰアドレスが重複するような環境下でも、マルチテナント間での仮想マシンの通信を実行でき、更にその通信フロー状態をリアルタイムにネットワーク管理者が把握できるようにすることである。
【００１９】
本発明の仮想サーバ間通信識別システムは、受信側の物理サーバと、送信側の物理サーバと、物理スイッチとを含む。受信側の物理サーバは、受信側の仮想サーバに対して、受信側の仮想マシンＩＤ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  ｉｄｅｎｔｉｆｉｅｒ：ＶＭｉｄ）を割り当てる。送信側の物理サーバは、送信側の仮想サーバに対して、送信側の仮想マシンＩＤを割り当てる。また、送信側の物理サーバは、送信側の仮想サーバから受信側の仮想サーバへの送信パケットを生成する場合、ＴＣＰ／ＩＰパケット（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｐａｃｋｅｔ）の形式で、送信パケットのデータ以外のビット空間のうち少なくとも一部に、受信側の仮想マシンＩＤと送信側の仮想マシンＩＤとを割り当て、送信パケットを送信する。物理スイッチは、送信側の物理サーバと受信側の物理サーバとを接続するネットワーク上に存在する。物理スイッチは、送信側の物理サーバと受信側の物理サーバとの間で送信パケットを中継する場合、送信パケットのデータ以外のビット空間に含まれる、受信側の仮想マシンＩＤと、送信側の仮想マシンＩＤと、に基づいて、送信パケットを識別し、ネットワーク状態を把握する。
【００２０】
本発明の物理サーバは、仮想サーバと、仮想スイッチと、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）とを具備する。仮想サーバには、仮想マシンＩＤが割り当てられている。仮想スイッチは、仮想サーバの通信を制御し、仮想サーバと他の仮想サーバとの間のネットワークを介した通信の際、ＴＣＰ／ＩＰパケットの形式で、データ以外のビット空間のうち少なくとも一部に仮想マシンＩＤが割り当てられている送信パケットを出力する。ＮＩＣは、送信パケットをネットワーク上に送信する。
【００２１】
本発明の仮想サーバ間通信識別方法では、受信側の物理サーバで、受信側の仮想サーバに対して、受信側の仮想マシンＩＤを割り当てる。また、送信側の物理サーバで、送信側の仮想サーバに対して、送信側の仮想マシンＩＤを割り当てる。また、送信側の仮想サーバから受信側の仮想サーバへの送信パケットを生成する場合、ＴＣＰ／ＩＰパケットの形式で、送信パケットのデータ以外のビット空間のうち少なくとも一部に、受信側の仮想マシンＩＤと送信側の仮想マシンＩＤとを割り当て、送信パケットを送信する。また、送信側の物理サーバと受信側の物理サーバとを接続するネットワーク上に存在する物理スイッチで、送信側の物理サーバと受信側の物理サーバとの間で送信パケットを中継する場合、送信パケットのデータ以外のビット空間に含まれる、受信側の仮想マシンＩＤと、送信側の仮想マシンＩＤと、に基づいて、送信パケットを識別し、ネットワーク状態を把握する。
【００２２】
本発明のプログラムは、仮想マシンＩＤが割り当てられた仮想サーバの通信を制御するステップと、仮想サーバと他の仮想サーバとの間のネットワークを介した通信の際、ＴＣＰ／ＩＰパケットの形式で、データ以外のビット空間のうち少なくとも一部に仮想マシンＩＤが割り当てられている送信パケットをネットワーク上に送信するステップとをコンピュータに実行させるためのプログラムである。なお、本発明のプログラムは、記憶装置や記憶媒体に格納することが可能である。
【００２３】
既存のルータやスイッチが把握できるフィールド（領域）でもって、仮想マシン間の通信フロー状態をネットワーク内で把握できるようになる。
【図面の簡単な説明】
【００２４】
【図１】本発明の仮想サーバ間通信識別システムの構成例を示す図である。
【図２】本発明の第１実施形態を説明するための図である。
【図３】本発明の第１実施形態における通信フロー制御のシーケンス図である。
【図４】本発明の第２実施形態を説明するための図である。
【図５】本発明の第２実施形態における通信フロー制御のシーケンス図である。
【図６】本発明の第３実施形態を説明するための図である。
【図７】本発明の第３実施形態における通信フロー制御のシーケンス図である。
【図８】本発明の第４実施形態を説明するための図である。
【図９】本発明の第４実施形態における通信フロー制御のシーケンス図である。
【図１０】マルチテナント環境のデータセンターの構成例を示す図である。
【図１１】本発明の第５実施形態を説明するための図である。
【図１２Ａ】本発明の第５実施形態における通信フロー制御のシーケンス図である。
【図１２Ｂ】本発明の第５実施形態における通信フロー制御のシーケンス図である。
【図１３】本発明の仮想サーバ間通信識別システムの構成例を示す図である。
【図１４】本発明の第６実施形態を説明するための図である。
【発明を実施するための形態】
【００２５】
以下に、本発明の実施形態について添付図面を参照して説明する。
図１に示すように、本発明の仮想サーバ間通信識別システムは、第１物理サーバ１０と、第２物理サーバ２０と、ネットワーク３０を含む。
【００２６】
ここでは、第１物理サーバ１０及び第２物理サーバ２０の例として、ＰＣ（パソコン）、シンクライアントサーバ、ワークステーション、メインフレーム、スーパーコンピュータ等のコンピュータを想定している。なお、第１物理サーバ１０及び第２物理サーバ２０は、ネットワークに接続可能で仮想マシンが動作可能な環境を実現するサーバであれば良い。そのため、第１物理サーバ１０及び第２物理サーバ２０の他の例として、携帯端末、カーナビ（カーナビゲーションシステム）、家庭用ゲーム機、双方向テレビ、デジタルチューナー、デジタルレコーダー、情報家電（ｉｎｆｏｒｍａｔｉｏｎ  ｈｏｍｅ  ａｐｐｌｉａｎｃｅ）、ＯＡ（Ｏｆｆｉｃｅ  Ａｕｔｏｍａｔｉｏｎ）機器等も考えられる。また、第１物理サーバ１０及び第２物理サーバ２０は、車両や船舶、航空機等の移動体に搭載されていても良い。但し、実際には、これらの例に限定されない。
【００２７】
また、ネットワーク３０の例として、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、無線ＬＡＮ（Ｗｉｒｅｌｅｓｓ  ＬＡＮ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、バックボーン（Ｂａｃｋｂｏｎｅ）、固定電話網、携帯電話網、ＷｉＭＡＸ（ＩＥＥＥ  ８０２．１６ａ）、３Ｇ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ）、専用線（ｌｅａｓｅ  ｌｉｎｅ）、ケーブルテレビ（ＣＡＴＶ）回線、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、シリアル通信回線等を想定している。但し、実際には、これらの例に限定されない。
【００２８】
第１物理サーバ１０は、仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ：ｎは任意）と、仮想スイッチ１２と、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１３と、通信フロー監視部１４を備える。同様に、第２物理サーバ２０は、仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）と、仮想スイッチ２２と、ＮＩＣ２３と、通信フロー監視部２４を備える。ネットワーク３０は、物理スイッチ３１と、物理スイッチ３２を含む。
【００２９】
仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）は、第１物理サーバ１０上で動作している仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）である。同様に、仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）は、第２物理サーバ２０上で動作している仮想マシンである。ここでは、仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）の例として、仮想サーバ「Ａ」１１−１、仮想サーバ「Ｂ」１１−２、仮想サーバ「Ｃ」１１−３を示す。また、仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）の例として、仮想サーバ「Ｄ」２１−１と、仮想サーバ「Ｅ」２１−２と、仮想サーバ「Ｆ」２１−３を示す。なお、実際には、仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）と仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）の数は、同数でなくても良い。
【００３０】
仮想スイッチ１２は、第１物理サーバ１０上で各仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）の通信制御を行う。同様に、仮想スイッチ２２は、第２物理サーバ２０上で各仮想サーバ２１（２１−ｉ、ｉ＝２〜ｎ）の通信制御を行う。仮想スイッチ１２及び仮想スイッチ２２の例として、ハイパーバイザ（Ｈｙｐｅｒｖｉｓｏｒ）や、仮想マシンモニタ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒ：ＶＭＭ）等が考えられる。ここでは、仮想スイッチ１２及び仮想スイッチ２２が、仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）及び仮想サーバ２１（２１−ｉ、ｉ＝２〜ｎ）の生成・稼動・移動・停止・削除を制御することを想定している。但し、実際には、これらの例に限定されない。
【００３１】
仮想スイッチ１２は、仮想マシンＩＤ割り当て部１２１と、ＭＡＣアドレス割り当て部１２２と、ＩＰアドレス割り当て部１２３を備える。同様に、仮想スイッチ２２は、仮想マシンＩＤ割り当て部２２１と、ＭＡＣアドレス割り当て部２２２と、ＩＰアドレス割り当て部２２３を備える。
【００３２】
仮想マシンＩＤ割り当て部１２１及び仮想マシンＩＤ割り当て部２２１は、既存のルータやスイッチが把握・識別できるＶＬＡＮ  ＩＤを、新規に、各仮想サーバに対応する仮想マシンＩＤ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  ｉｄｅｎｔｉｆｉｅｒ：ＶＭｉｄ）として割り当てる。仮想マシンＩＤは、ＭＡＣアドレスやＩＰアドレスとは異なり、既存の通信プロトコルに依存しない識別情報である。
【００３３】
ＭＡＣアドレス割り当て部１２２及びＭＡＣアドレス割り当て部２２２は、各仮想サーバにＭＡＣアドレスを割り当てる。このＭＡＣアドレスは、プライベートＭＡＣアドレスである。プライベートＭＡＣアドレスは、基本的に自由に設定することができる。
【００３４】
ＩＰアドレス割り当て部１２３及びＩＰアドレス割り当て部２２３は、各仮想サーバにＩＰアドレスを割り当てる。このＩＰアドレスは、プライベートＩＰアドレスである。第１物理サーバ１０及び第２物理サーバ２０は、相手側の仮想サーバのＩＰアドレスが判明すれば、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）のコマンドやテーブルにより、当該仮想サーバのＭＡＣアドレスを知ることができる。
【００３５】
なお、実際には、複数の物理サーバの各々が、同じプライベートＩＰアドレスを使用していることが考えられる。また、物理サーバ内での各仮想サーバの宛先情報として、各仮想サーバのＭＡＣアドレスや仮想マシンＩＤを使用し、各仮想サーバのＩＰアドレスとして、物理サーバ内のＮＩＣに割り当てられたＩＰアドレス等、ホストのＩＰアドレスを共有して使用することも考えられる。そのため、各仮想サーバのＩＰアドレスは、重複する場合がある。
【００３６】
ＮＩＣ１３及びＮＩＣ２３は、コンピュータをＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に接続するための拡張カードである。なお、ＮＩＣ１３及びＮＩＣ２３は、無線通信のためのアンテナや、ＬＡＮ以外のネットワークに接続するための通信用インターフェイスでも良い。但し、実際には、これらの例に限定されない。
【００３７】
ここでは、ＮＩＣ１３は、ネットワーク３０内の物理スイッチ３１に接続している。ネットワーク３０内の物理スイッチ３１は、ネットワーク３０内の物理スイッチ３２と接続している。ネットワーク３０内の物理スイッチ３２は、ＮＩＣ２３と接続している。ここでは、中継の物理スイッチとして、物理スイッチ３１及び物理スイッチ３２の２台を例示しているが、実際には、物理スイッチの数は１台又は３台以上でも良い。
【００３８】
なお、物理スイッチ３１及び物理スイッチ３２の例として、オープンフロースイッチ（Ｏｐｅｎ  Ｆｌｏｗ  Ｓｗｉｔｃｈ）を想定している。この場合、図示しないが、オープンフロースイッチと共に、これらの通信フロー処理を制御するサーバであるオープンフローコントローラ（Ｏｐｅｎ  Ｆｌｏｗ  Ｃｏｎｔｒｏｌｌｅｒ）が存在している。ネットワーク３０には、上記のオープンフローコントローラも含まれるものとする。他にも、物理スイッチ３１及び物理スイッチ３２の例として、ルータやスイッチングハブ等も考えられる。但し、実際には、これらの例に限定されない。
【００３９】
オープンフロースイッチの詳細については、以下の文献に記載されている。“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  ０．９．０（Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ９８）  Ｊｕｌｙ  ２０，  ２００９  Ｃｕｒｒｅｎｔ  Ｍａｉｎｔａｉｎｅｒ：  Ｂｒａｎｄｏｎ  Ｈｅｌｌｅｒ（ｂｒａｎｄｏｎｈ＠ｓｔａｎｆｏｒｄ．ｅｄｕ）”  ＜ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｓｐｅｃ−ｖ０．９．０．ｐｄｆ＞
【００４０】
通信フロー監視部１４及び通信フロー監視部２４は、受信時に、受信パケットに含まれる仮想マシンＩＤ（ＶＭｉｄ）を確認する。
【００４１】
通信フロー監視部１４は、ＶＬＡＮタグ挿入・削除部１４１と、ＭＡＣヘッダー変換部１４２のうち少なくとも１つを備える。同様に、通信フロー監視部２４は、ＶＬＡＮタグ挿入・削除部２４１と、ＭＡＣヘッダー変換部２４２のうち少なくとも１つを備える。
【００４２】
ＶＬＡＮタグ挿入・削除部１４１及びＶＬＡＮタグ挿入・削除部２４１は、送信時には送信パケットにＶＬＡＮタグとして仮想マシンＩＤ（ＶＭｉｄ）を挿入し、受信時には受信パケットの仮想マシンＩＤ（ＶＭｉｄ）を削除する。
【００４３】
ＭＡＣヘッダー変換部１４２及びＭＡＣヘッダー変換部２４２は、ＭＡＣヘッダー領域であるＭＡＣ−ＤＡ／ＳＡ領域（ＭＡＣ−ＤＡ／ＳＡ  ｆｉｅｌｄ）に含まれる「ＭＡＣ  ＤＡ（Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ：送信先アドレス）」及び「ＭＡＣ  ＳＡ（Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓ：送信元アドレス）」のそれぞれの一部又は全部の領域を仮想サーバの仮想マシンＩＤ（ＶＭｉｄ）に変換する。ここでは、ＭＡＣヘッダー変換部１４２及びＭＡＣヘッダー変換部２４２は、送信時には「ＭＡＣ  ＤＡ」の一部又は全部の領域を送信先（宛先）の仮想サーバの仮想マシンＩＤ（ＶＭｉｄ）に変換し、更に、「ＭＡＣ  ＳＡ」の一部又は全部の領域を送信元の仮想サーバの仮想マシンＩＤ（ＶＭｉｄ）に変換する。
【００４４】
なお、通信フロー監視部１４は、仮想スイッチ１２又はＮＩＣ１３のいずれかに含まれていても良い。同様に、通信フロー監視部２４は、仮想スイッチ２２又はＮＩＣ２３のいずれかに含まれていても良い。
【００４５】
また、通信フロー監視部１４を、ＮＩＣ１３と物理スイッチ３１の間に設け、通信フロー監視部２４を、ＮＩＣ２３と物理スイッチ３２の間に設けることも考えられる。あるいは、通信フロー監視部１４を、ＮＩＣ１３に直接接続されている物理スイッチ３１（第１コンピュータ１０の直近の物理スイッチ）に持たせ、通信フロー監視部２４を、ＮＩＣ２３に直接接続されている物理スイッチ３２（第２コンピュータ２０の直近の物理スイッチ）に持たせることも考えられる。
【００４６】
ここでは、仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）、仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）、仮想スイッチ１２、仮想スイッチ２２、通信フロー監視部１４、及び通信フロー監視部２４のそれぞれは、ソフトウェア・プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリとによって実現されるものとする。
【００４７】
上記のプロセッサの例として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、マイクロプロセッサ（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）、マイクロコントローラ、或いは、同様の機能を有する半導体集積回路（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（ＩＣ））等が考えられる。
【００４８】
上記のメモリの例として、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ等の半導体記憶装置、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の補助記憶装置、又は、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）やメモリカード等の記憶媒体（メディア）等が考えられる。
【００４９】
また、上記のメモリは、コンピュータ本体に内蔵された記憶装置に限らず、周辺機器（外付けＨＤＤ等）やネットワーク内のサーバ（Ｗｅｂサーバやファイルサーバ等）に設置された記憶装置でも良い。或いは、上記のメモリは、ＤＡＳ（Ｄｉｒｅｃｔ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＦＣ−ＳＡＮ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  −  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＩＰ−ＳＡＮ（ＩＰ  −  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等を用いたストレージ装置でも良い。
【００５０】
但し、実際には、これらの例に限定されない。
【００５１】
＜第１実施形態＞
［仮想マシンＩＤ（ＶＭｉｄ）のＶＬＡＮ  Ｔａｇ  ｓｔａｃｋ利用］
図２を参照して、仮想マシンＩＤ（ＶＭｉｄ）をＶＬＡＮタグ（ＶＬＡＮ  Ｔａｇ）としてスタック（ｓｔａｃｋ）して利用する場合について説明する。
【００５２】
本発明の第１実施形態では、仮想マシンＩＤ割り当て部によって、既存のルータやスイッチが把握・識別できるＶＬＡＮ  ＩＤを、新規に各仮想マシンのＩＤ（ＶＭｉｄ）として割り当てる。仮想サーバ「Ａ」から仮想サーバ「Ｄ」への通信の際には、「ＶＭｉｄ−Ａ」と、「ＶＭｉｄ−Ｄ」との２段タグをパケットに挿入することで通信する。すなわち、この２段タグは、ＶＬＡＮタグとしてスタックされた２つの仮想マシンＩＤ（ＶＭｉｄ）である。
【００５３】
具体的には、次の通りである。例えば、送信側の物理サーバでは、仮想サーバ「Ａ」から仮想サーバ「Ｄ」への通信の際には、図２の（１）のような「ＭＡＣ  ＤＡ」  −  「ＭＡＣ  ＳＡ」  −  「Ｕｓｅｒ  Ｄａｔａ（Ｄａｔａパケット）」を含むパケットを、ＴＣＰ／ＩＰパケット（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｐａｃｋｅｔ）として送信する。その際に、図１内の仮想スイッチ、又はＮＩＣのいずれかにＶＬＡＮタグ挿入・削除部を持たせ、送信時にはＶＬＡＮタグ挿入・削除部によって、送信パケットに図２の（２）のような２段タグを挿入（ＶＬＡＮタグ２段挿入）して、ネットワーク内の物理スイッチへ送信する。
【００５４】
中継の物理スイッチでは、ＴＣＰ／ＩＰパケットのうち、ＶＬＡＮタグ領域（ＶＬＡＮ  Ｔａｇ  ｆｉｅｌｄ）だけをモニター（監視）することで、ネットワーク状態を把握する。すなわち、中継の物理スイッチは、ＴＣＰ／ＩＰパケットのＶＬＡＮタグ領域をモニター（監視）して、ネットワーク状態に関する情報を収集する。
【００５５】
例えば、オープンフロースイッチでは、ＴＣＰ／ＩＰパケットのうち、ＭＡＣアドレス領域、ＶＬＡＮタグ領域、ＩＰアドレス領域、ポート番号領域の任意の組み合わせを一組の識別情報として、同一の識別情報を持つパケットを「フロー」という概念で捉えている。
【００５６】
この場合、中継の物理スイッチは、ＴＣＰ／ＩＰパケットのうち、ＶＬＡＮタグ領域（ＶＬＡＮ  Ｔａｇ  ｆｉｅｌｄ）だけをモニターして、ＶＬＡＮタグ領域に含まれる仮想マシンＩＤの組が共通するパケットを同一のフローとして捉え、このフローの流れや宛先からネットワーク状態に関する情報を収集し、オープンフローコントローラに送信する。オープンフローコントローラは、必要に応じて、収集されたネットワーク状態に関する情報を解析したり、管理画面に表示したりする。
【００５７】
受信側の物理サーバでは、ＮＩＣ、又は仮想スイッチにおいて、ＶＬＡＮタグ挿入・削除部によって受信パケットの２段タグを削除した後、受信側の仮想サーバ「Ｄ」へ送信する。
【００５８】
図３に、本発明の第１実施形態における通信フロー制御のシーケンス図を示す。
【００５９】
（１）ステップＳ１０１
図１に示す第１物理サーバ１０において、仮想スイッチ１２の仮想マシンＩＤ割り当て部１２１は、各仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）に仮想マシンＩＤを割り当てる。
【００６０】
（２）ステップＳ１０２
また、仮想スイッチ１２のＭＡＣアドレス割り当て部１２２は、各仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）にＭＡＣアドレスを割り当てる。
【００６１】
（３）ステップＳ１０３
また、仮想スイッチ１２のＩＰアドレス割り当て部１２２は、各仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）にＩＰアドレスを割り当てる。
【００６２】
（４）ステップＳ１０４
同様に、第２物理サーバ２０において、仮想スイッチ２２の仮想マシンＩＤ割り当て部２２１は、各仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）に仮想マシンＩＤを割り当てる。
【００６３】
（５）ステップＳ１０５
また、仮想スイッチ２２のＭＡＣアドレス割り当て部２２２は、各仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）にＭＡＣアドレスを割り当てる。
【００６４】
（６）ステップＳ１０６
また、仮想スイッチ２２のＩＰアドレス割り当て部２２２は、各仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）にＩＰアドレスを割り当てる。
【００６５】
（７）ステップＳ１０７
第１物理サーバ１０において、仮想サーバ「Ａ」１１−１から仮想サーバ「Ｄ」２１−１への通信の際に、送信側の仮想サーバ「Ａ」１１−１は、「ＭＡＣ  ＤＡ」  −  「ＭＡＣ  ＳＡ」  −  「Ｕｓｅｒ  Ｄａｔａ」を含むＴＣＰ／ＩＰパケットを生成し、送信パケットとして仮想スイッチ１２に出力する。なお、実際には、送信側の仮想サーバ１１からのデータ送信要求に応じて、仮想スイッチ１２が、要求元の仮想サーバ１１毎にＴＣＰ／ＩＰパケットを生成するようにしても良い。
【００６６】
（８）ステップＳ１０８
通信フロー監視部１４は、仮想スイッチ１２からの送信パケットを確認する。通信フロー監視部１４のＶＬＡＮタグ挿入・削除部１４１は、送信パケットに２段タグを挿入して、ＮＩＣ１３に出力する。
【００６７】
（９）ステップＳ１０９
ＮＩＣ１３は、送信パケットをネットワーク内の物理スイッチ３１へ送信する。
【００６８】
（１０）ステップＳ１１０
物理スイッチ３１は、送信パケットを物理スイッチ３２へ送信する。物理スイッチ３２は、送信パケットを受信側の第２物理サーバ２０に送信する。このとき、物理スイッチ３１及び物理スイッチ３２は、送信パケットのうち、ＶＬＡＮタグ領域（ＶＬＡＮ  Ｔａｇ  ｆｉｅｌｄ）をモニターすることで、ネットワーク状態を把握する。すなわち、物理スイッチ３１及び物理スイッチ３２は、ＴＣＰ／ＩＰパケットのＶＬＡＮタグ領域をモニター（監視）して、ネットワーク状態に関する情報を収集する。
【００６９】
（１１）ステップＳ１１１
受信側の第２物理サーバ２０において、ＮＩＣ２３は、送信パケットを受信し、受信パケットとして通信フロー監視部２４に出力する。
【００７０】
（１２）ステップＳ１１２
通信フロー監視部２４は、ＮＩＣ２３に到着した受信パケットを確認する。通信フロー監視部２４のＶＬＡＮタグ挿入・削除部２４１は、受信パケットの２段タグを削除し、受信パケットを仮想スイッチ１２に出力する。仮想スイッチ１２は、受信パケットを受信側の仮想サーバ「Ｄ」２１−１へ送信する。
【００７１】
上記動作により、既存のルータやスイッチが把握できるフィールド（領域）でもって、仮想マシン間の通信フロー状態をネットワーク内で把握できるようになる。
【００７２】
＜第２実施形態＞
［仮想マシンＩＤ（ＶＭｉｄ）のＭＡＣ  Ｈｅａｄｅｒ変換形態］
図４を参照して、ＭＡＣヘッダー（ＭＡＣ  Ｈｅａｄｅｒ）の一部又は全部を仮想マシンＩＤ（ＶＭｉｄ）に変換する場合について説明する。ここでは、ＭＡＣヘッダーを例に説明するが、ＩＰヘッダーの場合も基本的に同様である。なお、ＭＡＣヘッダーは、ＴＣＰ／ＩＰパケットのＭＡＣアドレス領域を示し、ＩＰヘッダーは、ＴＣＰ／ＩＰパケットのＩＰアドレス領域を示すものとする。
【００７３】
本発明の第２実施形態では、仮想マシンＩＤ割り当て部によって、既存のルータやスイッチが把握・識別できるＭＡＣアドレス領域の一部又は全部に、各仮想マシンのＩＤ（ＶＭｉｄ）を割り当てる。仮想サーバ「Ａ」から仮想サーバ「Ｄ」への通信の際には、パケットの「ＭＡＣ  ＤＡ」、「ＭＡＣ  ＳＡ」の部分を途中で変換することで通信する。
【００７４】
具体的には、次の通りである。例えば、送信側の物理サーバでは、仮想サーバ「Ａ」から仮想サーバ「Ｄ」への通信の際には、図４の（１）のような「ＭＡＣ  ＤＡ」  −  「ＭＡＣ  ＳＡ」  −  「Ｕｓｅｒ  Ｄａｔａ」を含むパケットを、ＴＣＰ／ＩＰパケットとして送信する。その際に、仮想スイッチ、又はＮＩＣのいずれかにＭＡＣヘッダー変換部を持たせ、送信時には、ＭＡＣヘッダー変換部によって、図４の（２）のように、「ＭＡＣ  ＤＡ」の一部又は全部の領域を仮想サーバ「Ｄ」の仮想マシンＩＤ「ＶＭｉｄ−Ｄ」に変換し、更に、「ＭＡＣ  ＳＡ」の一部又は全部の領域を仮想サーバ「Ａ」の仮想マシンＩＤ「ＶＭｉｄ−Ａ」に変換して、ネットワーク内の物理スイッチへ送信する。
【００７５】
中継の物理スイッチでは、ＴＣＰ／ＩＰパケットのうち、ＭＡＣヘッダー領域であるＭＡＣ−ＤＡ／ＳＡ領域（ＭＡＣ−ＤＡ／ＳＡ  ｆｉｅｌｄ）だけをモニターすることで、ネットワーク状態を把握する。すなわち、中継の物理スイッチは、ＴＣＰ／ＩＰパケットのＭＡＣヘッダー領域をモニター（監視）して、ネットワーク状態に関する情報を収集する。
【００７６】
受信側の物理サーバでは、ＮＩＣ、又は仮想スイッチにおいて、ＭＡＣヘッダー変換部によって受信パケットのＭＡＣ−ＤＡ／ＳＡ（「ＭＡＣ  ＤＡ」、「ＭＡＣ  ＳＡ」部分）を元のアドレスに変換した後、受信側の仮想サーバ「Ｄ」へ送信する。
【００７７】
図５に、本発明の第２実施形態における通信フロー制御のシーケンス図を示す。
【００７８】
（１）ステップＳ２０１
図１に示す第１物理サーバ１０において、仮想スイッチ１２の仮想マシンＩＤ割り当て部１２１は、各仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）に仮想マシンＩＤを割り当てる。
【００７９】
（２）ステップＳ２０２
また、仮想スイッチ１２のＭＡＣアドレス割り当て部１２２は、各仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）にＭＡＣアドレスを割り当てる。
【００８０】
（３）ステップＳ２０３
また、仮想スイッチ１２のＩＰアドレス割り当て部１２２は、各仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）にＩＰアドレスを割り当てる。
【００８１】
（４）ステップＳ２０４
同様に、第２物理サーバ２０において、仮想スイッチ２２の仮想マシンＩＤ割り当て部２２１は、各仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）に仮想マシンＩＤを割り当てる。
【００８２】
（５）ステップＳ２０５
また、仮想スイッチ２２のＭＡＣアドレス割り当て部２２２は、各仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）にＭＡＣアドレスを割り当てる。
【００８３】
（６）ステップＳ２０６
また、仮想スイッチ２２のＩＰアドレス割り当て部２２２は、各仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）にＩＰアドレスを割り当てる。
【００８４】
（７）ステップＳ２０７
図１に示す第１物理サーバ１０において、仮想サーバ「Ａ」１１−１から仮想サーバ「Ｄ」２１−１への通信の際に、送信側の仮想サーバ「Ａ」１１−１は、「ＭＡＣ  ＤＡ」  −  「ＭＡＣ  ＳＡ」  −  「Ｕｓｅｒ  Ｄａｔａ」を含むＴＣＰ／ＩＰパケットを生成し、送信パケットとして仮想スイッチ１２に出力する。なお、実際には、送信側の仮想サーバ１１からのデータ送信要求に応じて、仮想スイッチ１２が、要求元の仮想サーバ１１毎にＴＣＰ／ＩＰパケットを生成するようにしても良い。
【００８５】
（８）ステップＳ２０８
通信フロー監視部１４は、仮想スイッチ１２からの送信パケットを確認する。通信フロー監視部１４のＭＡＣヘッダー変換部１４２は、「ＭＡＣ  ＤＡ」の一部又は全部の領域を仮想サーバ「Ｄ」２１−１の仮想マシンＩＤ「ＶＭｉｄ−Ｄ」に変換し、更に、「ＭＡＣ  ＳＡ」の一部又は全部の領域を仮想サーバ「Ａ」１１−１の仮想マシンＩＤ「ＶＭｉｄ−Ａ」に変換して、変換後の送信パケットをＮＩＣ１３に出力する。
【００８６】
（９）ステップＳ２０９
ＮＩＣ１３は、送信パケットをネットワーク内の物理スイッチ３１へ送信する。
【００８７】
（１０）ステップＳ２１０
物理スイッチ３１は、送信パケットを物理スイッチ３２へ送信する。物理スイッチ３２は、送信パケットを受信側の第２物理サーバ２０に送信する。このとき、物理スイッチ３１及び物理スイッチ３２は、ＭＡＣヘッダー領域であるＭＡＣ−ＤＡ／ＳＡ領域（ＭＡＣ−ＤＡ／ＳＡ  ｆｉｅｌｄ）をモニターすることで、ネットワーク状態を把握する。すなわち、物理スイッチ３１及び物理スイッチ３２は、ＴＣＰ／ＩＰパケットのＭＡＣ−ＤＡ／ＳＡ領域をモニター（監視）して、ネットワーク状態に関する情報を収集する。
【００８８】
（１１）ステップＳ２１１
受信側の第２物理サーバ２０において、ＮＩＣ２３は、送信パケットを受信し、受信パケットとして通信フロー監視部２４に出力する。
【００８９】
（１２）ステップＳ２１２
通信フロー監視部２４は、ＮＩＣ２３に到着した受信パケットを確認する。通信フロー監視部２４のＭＡＣヘッダー変換部１４２は、受信パケットのＭＡＣ−ＤＡ／ＳＡ（「ＭＡＣ  ＤＡ」、「ＭＡＣ  ＳＡ」部分）を元のアドレスに変換し、受信パケットを仮想スイッチ１２に出力する。仮想スイッチ１２は、受信パケットを受信側の仮想サーバ「Ｄ」２１−１へ送信する。
【００９０】
上記動作により、ＭＡＣ−ＤＡ／ＳＡと呼ばれる、既存のルータやスイッチが把握できるフィールドを利用して、仮想マシン間の通信フロー状態を、ネットワーク内で把握できるようになる。
【００９１】
なお、本実施形態では、ＭＡＣヘッダー（ＭＡＣ  Ｈｅａｄｅｒ）の一部又は全部を仮想マシンＩＤ（ＶＭｉｄ）に変換する場合について説明したが、実際には、ＩＰヘッダー（ＩＰ  Ｈｅａｄｅｒ）の一部又は全部を仮想マシンＩＤ（ＶＭｉｄ）に変換することも可能である。すなわち、ＭＡＣヘッダー及びＩＰヘッダーの少なくとも一方（両方でも可）について、その一部又は全部を仮想マシンＩＤ（ＶＭｉｄ）に変換することが可能である。
【００９２】
このとき、例えば、送信側のＭＡＣアドレス領域の一部又は全部を送信側の仮想マシンＩＤ（ＶＭｉｄ）に変換し、受信側のＩＰアドレス領域の一部又は全部を受信側の仮想マシンＩＤ（ＶＭｉｄ）に変換することも技術的には可能である。反対に、送信側のＩＰアドレス領域の一部又は全部を送信側の仮想マシンＩＤ（ＶＭｉｄ）に変換し、受信側のＭＡＣアドレス領域の一部又は全部を受信側の仮想マシンＩＤ（ＶＭｉｄ）に変換することも可能である。
【００９３】
＜第３実施形態＞
［仮想マシンＩＤ（ＶＭｉｄ）のＭＡＣアドレス割り当て形態］
図６を参照して、予めＭＡＣアドレスに仮想マシンＩＤ（ＶＭｉｄ）を割り当てる場合について説明する。ここでは、ＭＡＣアドレスに仮想マシンＩＤ（ＶＭｉｄ）を割り当てる場合について説明するが、ＩＰアドレスに仮想マシンＩＤ（ＶＭｉｄ）を割り当てる場合も基本的に同様である。
【００９４】
本発明の第３実施形態では、仮想マシンＩＤ割り当て部によって、既存のルータやスイッチが把握・識別できるＭＡＣアドレス領域の一部又は全部に、各仮想マシンのＩＤ（ＶＭｉｄ）を割り当てる。仮想サーバ「Ａ」から仮想サーバ「Ｄ」への通信の際には、各仮想マシンＩＤ（ＶＭｉｄ）が割り当てられたＭＡＣアドレスである「ＭＡＣ  ＤＡ」、「ＭＡＣ  ＳＡ」付きのパケットでそのまま通信する。
【００９５】
具体的には、次の通りである。例えば、送信側の物理サーバでは、各仮想サーバにＭＡＣアドレスを割り当てる際、仮想スイッチにＭＡＣアドレス割り当て部を持たせ、ＭＡＣアドレス割り当て部によって、図６の（１）のように、各仮想サーバに割り当てられるＭＡＣアドレスの一部又は全部の領域に、当該仮想サーバの仮想マシンＩＤを割り当てる。
【００９６】
ここでは、ＭＡＣアドレス割り当て部によって、仮想サーバ「Ａ」と仮想サーバ「Ｄ」のそれぞれに割り当てられた仮想マシンＩＤに対応するＭＡＣアドレスを作成し、作成されたＭＡＣアドレスを、仮想サーバ「Ａ」と仮想サーバ「Ｄ」のそれぞれに割り当てる。
【００９７】
なお、作成されたＭＡＣアドレスは、ＭＡＣアドレス領域の一部が仮想マシンＩＤに対応する場合と、ＭＡＣアドレス領域の全部が仮想マシンＩＤに対応する場合とがある。仮想サーバ「Ａ」から仮想サーバ「Ｄ」への通信の際には、送信側の仮想サーバ「Ａ」が、ＭＡＣ−ＤＡ／ＳＡ（「ＭＡＣ  ＤＡ」、「ＭＡＣ  ＳＡ」部分）に仮想マシンＩＤを含むＴＣＰ／ＩＰパケットを出力する。
【００９８】
中継の物理スイッチでは、ＴＣＰ／ＩＰパケットのうち、ＭＡＣアドレス領域に含まれるＭＡＣ−ＤＡ／ＳＡ領域（ＭＡＣ−ＤＡ／ＳＡ  ｆｉｅｌｄ）だけをモニターすることで、ネットワーク状態を把握する。すなわち、中継の物理スイッチは、ＴＣＰ／ＩＰパケットのＭＡＣ−ＤＡ／ＳＡ領域をモニター（監視）して、ネットワーク状態に関する情報を収集する。
【００９９】
受信側の物理サーバでは、受信側の仮想サーバ「Ｄ」へ送信する。
【０１００】
第２実施形態では、送信時に送信パケットのＭＡＣアドレス領域の一部又は全部を仮想マシンＩＤに変換しているのに対し、第３実施形態では、予め各仮想サーバに割り当てられるＭＡＣアドレス自体に仮想マシンＩＤを組み込んでおく点で異なる。
【０１０１】
各仮想サーバに割り当てられるＭＡＣアドレスは、プライベートＭＡＣアドレスであり、基本的に自由に設定することができるため、ＭＡＣアドレス領域の一部又は全部に仮想マシンＩＤを使用することができる。
【０１０２】
例えば、通常、ＭＡＣアドレスは、上位３オクテット（２４ビット：１オクテット＝８ビット）のベンダーＩＤと、下位３オクテット（２４ビット）のハードウェアＩＤにより構成されている。
【０１０３】
そこで、このハードウェアＩＤの一部又は全部に仮想マシンＩＤを使用することが考えられる。或いは、単純に、ＭＡＣアドレスの先頭又は末尾から数ビットに仮想マシンＩＤを使用することが考えられる。
【０１０４】
但し、実際には、これらの例に限定されない。
【０１０５】
図７に、本発明の第３実施形態における通信フロー制御のシーケンス図を示す。
【０１０６】
（１）ステップＳ３０１
図１に示す第１物理サーバ１０において、仮想スイッチ１２の仮想マシンＩＤ割り当て部１２１は、各仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）に仮想マシンＩＤを割り当てる。
【０１０７】
（２）ステップＳ３０２
また、仮想スイッチ１２のＭＡＣアドレス割り当て部１２２は、各仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）にＭＡＣアドレスを割り当てる際、仮想サーバ「Ａ」１１−１のＭＡＣアドレス領域の一部又は全部の領域に仮想サーバ「Ａ」１１−１の仮想マシンＩＤ「ＶＭｉｄ−Ａ」を使用したＭＡＣアドレスを割り当てる。
【０１０８】
（３）ステップＳ３０３
また、仮想スイッチ１２のＩＰアドレス割り当て部１２２は、各仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）にＩＰアドレスを割り当てる。
【０１０９】
（４）ステップＳ３０４
同様に、第２物理サーバ２０において、仮想スイッチ２２の仮想マシンＩＤ割り当て部２２１は、各仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）に仮想マシンＩＤを割り当てる。
【０１１０】
（５）ステップＳ３０５
また、仮想スイッチ２２のＭＡＣアドレス割り当て部２２２は、各仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）にＭＡＣアドレスを割り当てる際、仮想サーバ「Ｄ」２１−１のＭＡＣアドレス領域の一部又は全部の領域に仮想サーバ「Ｄ」２１−１の仮想マシンＩＤ「ＶＭｉｄ−Ｄ」を使用したＭＡＣアドレスを割り当てる。
【０１１１】
（６）ステップＳ３０６
また、仮想スイッチ２２のＩＰアドレス割り当て部２２２は、各仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）にＩＰアドレスを割り当てる。
【０１１２】
（７）ステップＳ３０７
第１物理サーバ１０において、仮想サーバ「Ａ」１１−１から仮想サーバ「Ｄ」２１−１への通信の際に、送信側の仮想サーバ「Ａ」１１−１は、「ＭＡＣ  ＤＡ」  −  「ＭＡＣ  ＳＡ」  −  「Ｕｓｅｒ  Ｄａｔａ」を含むＴＣＰ／ＩＰパケットを生成し、送信パケットとして仮想スイッチ１２に出力する。
【０１１３】
なお、実際には、送信側の仮想サーバ１１からのデータ送信要求に応じて、仮想スイッチ１２が、要求元の仮想サーバ１１毎にＴＣＰ／ＩＰパケットを生成するようにしても良い。仮想スイッチ１２は、送信パケットをＮＩＣ１３に出力する。ここでは、通信フロー監視部１４は使用しない。
【０１１４】
（８）ステップＳ３０８
ＮＩＣ１３は、送信パケットをネットワーク内の物理スイッチ３１へ送信する。
【０１１５】
（９）ステップＳ３０９
物理スイッチ３１は、送信パケットを物理スイッチ３２へ送信する。物理スイッチ３２は、送信パケットを受信側の第２物理サーバ２０に送信する。
【０１１６】
このとき、物理スイッチ３１及び物理スイッチ３２は、送信パケットのうち、ＭＡＣヘッダー領域であるＭＡＣ−ＤＡ／ＳＡ領域をモニターすることで、ネットワーク状態を把握する。すなわち、物理スイッチ３１及び物理スイッチ３２は、ＴＣＰ／ＩＰパケットのＭＡＣ−ＤＡ／ＳＡ領域をモニター（監視）して、ネットワーク状態に関する情報を収集する。
【０１１７】
（１０）ステップＳ３１０
受信側の第２物理サーバ２０において、ＮＩＣ２３は、送信パケットを受信し、受信パケットとして仮想スイッチ１２に出力する。仮想スイッチ１２は、受信パケットを受信側の仮想サーバ「Ｄ」２１−１へ送信する。
【０１１８】
上記動作により、ＭＡＣ−ＤＡ／ＳＡと呼ばれる、既存のルータやスイッチが把握できるフィールドでもって、仮想マシン間の通信フロー状態をネットワーク内で把握できるようになる。
【０１１９】
なお、本実施形態では、ＭＡＣアドレスに仮想マシンＩＤ（ＶＭｉｄ）を割り当てる場合について説明したが、実際には、ＩＰアドレスに仮想マシンＩＤ（ＶＭｉｄ）を割り当てることも可能である。すなわち、ＭＡＣヘッダー及びＩＰヘッダーの少なくとも一方（両方でも可）に、仮想マシンＩＤ（ＶＭｉｄ）を割り当てることが可能である。
【０１２０】
このとき、例えば、送信側のＭＡＣアドレス領域に送信側の仮想マシンＩＤ（ＶＭｉｄ）を割り当て、受信側のＩＰアドレス領域に受信側の仮想マシンＩＤ（ＶＭｉｄ）を割り当てることも技術的には可能である。反対に、送信側のＩＰアドレス領域に送信側の仮想マシンＩＤ（ＶＭｉｄ）を割り当て、受信側のＭＡＣアドレス領域に受信側の仮想マシンＩＤ（ＶＭｉｄ）を割り当てることも可能である。
【０１２１】
＜第４実施形態＞
［仮想マシンＩＤ（ＶＭｉｄ）のＩＰ＋ＭＡＣ  ａｄｄｒ割り当て形態］
図８を参照して、仮想マシンＩＤ（ＶＭｉｄ）をＭＡＣアドレス領域、ＶＬＡＮタグ領域、及びＩＰアドレス領域のそれぞれに割り当てる場合について説明する。
【０１２２】
本発明の第４実施形態では、仮想マシンＩＤ割り当て部によって、図８の（１）のように、既存のルータやスイッチが把握・識別できるＭＡＣアドレス領域の一部又は全部と、ＶＬＡＮタグ領域の一部又は全部と、ＩＰアドレス領域の一部又は全部の全体のビット（ｂｉｔ）空間に、各仮想マシンのＩＤ（ＶＭｉｄ）を割り当てる。
【０１２３】
但し、実際には、ＶＬＡＮタグ領域自体がない場合もあり得る。仮想サーバ「Ａ」から仮想サーバ「Ｄ」への通信の際には、割り当てられたパケットの「ＭＡＣ  ＤＡ」、「ＭＡＣ  ＳＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＤＡ」、「ＩＰ  ＳＡ」付きのパケットを送信する。
【０１２４】
すなわち、本実施形態では、フローのヘッダ領域のうち、送信先識別情報（「ＭＡＣ  ＤＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＤＡ」）のフィールドが仮想サーバ「Ｄ」の仮想マシンＩＤを表し、送信元識別情報（「ＭＡＣ  ＳＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＳＡ」）のフィールドが仮想サーバ「Ａ」の仮想マシンＩＤを表すような複数ヘッダフィールドをグループ分け（Ｇｒｏｕｐｉｎｇ）する。
【０１２５】
具体的には、次の通りである。例えば、送信側の物理サーバでは、仮想サーバ「Ａ」から仮想サーバ「Ｄ」への通信の際には、仮想サーバ「Ａ」と仮想サーバ「Ｄ」のそれぞれに割り当てられた仮想マシンＩＤに対応する上記ＭＡＣアドレス領域の一部又は全部、ＶＬＡＮタグ領域の一部又は全部、ＩＰアドレス領域の一部又は全部を含むパケットを、ＴＣＰ／ＩＰパケットとしてへ送信する。
【０１２６】
中継の物理スイッチでは、ＴＣＰ／ＩＰパケットのうち、フローのヘッダ領域である送信先識別情報（「ＭＡＣ  ＤＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＤＡ」）  −  送信元識別情報（「ＭＡＣ  ＳＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＳＡ」）のフィールド、すなわちＭＡＣアドレス領域、ＶＬＡＮタグ領域、及びＩＰアドレス領域の組をモニターすることで、ネットワーク状態を把握する。
【０１２７】
すなわち、中継の物理スイッチは、ＴＣＰ／ＩＰパケットのＭＡＣアドレス領域、ＶＬＡＮタグ領域、及びＩＰアドレス領域の組をモニター（監視）して、ネットワーク状態に関する情報を収集する。
【０１２８】
受信側の物理サーバにおいては受信側の仮想サーバ「Ｄ」へ送信する。
【０１２９】
第３実施形態では、予め各仮想サーバに割り当てられるＭＡＣアドレスのみに仮想マシンＩＤを組み込んでおくのに対し、第４実施形態では、予め各仮想サーバに割り当てられるＭＡＣアドレス及びＩＰアドレスに仮想マシンＩＤを組み込んでおき、送信時に当該ＭＡＣアドレスと、ＶＬＡＮタグと、当該ＩＰアドレスを用いた送信パケットを作成する点で異なる。なお、送信パケットにＶＬＡＮタグを設けないようにすることも可能である。
【０１３０】
図９に、本発明の第４実施形態における通信フロー制御のシーケンス図を示す。
【０１３１】
（１）ステップＳ４０１
図１に示す第１物理サーバ１０において、仮想スイッチ１２の仮想マシンＩＤ割り当て部１２１は、各仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）に仮想マシンＩＤを割り当てる。
【０１３２】
（２）ステップＳ４０２
また、仮想スイッチ１２のＭＡＣアドレス割り当て部１２２は、各仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）にＭＡＣアドレスを割り当てる際、仮想サーバ「Ａ」１１−１のＭＡＣアドレス領域の一部又は全部の領域に仮想サーバ「Ａ」１１−１の仮想マシンＩＤ「ＶＭｉｄ−Ａ」を使用したＭＡＣアドレスを割り当てる。
【０１３３】
（３）ステップＳ４０３
また、仮想スイッチ１２のＩＰアドレス割り当て部１２２は、各仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）にＩＰアドレスを割り当てる際、仮想サーバ「Ａ」１１−１のＩＰアドレス領域の一部又は全部の領域に仮想サーバ「Ａ」１１−１の仮想マシンＩＤ「ＶＭｉｄ−Ａ」を使用したＩＰアドレスを割り当てる。
【０１３４】
（４）ステップＳ４０４
同様に、第２物理サーバ２０において、仮想スイッチ２２の仮想マシンＩＤ割り当て部２２１は、各仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）に仮想マシンＩＤを割り当てる。
【０１３５】
（５）ステップＳ４０５
また、仮想スイッチ２２のＭＡＣアドレス割り当て部２２２は、各仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）にＭＡＣアドレスを割り当てる際、仮想サーバ「Ｄ」２１−１のＭＡＣアドレス領域の一部又は全部の領域に仮想サーバ「Ｄ」２１−１の仮想マシンＩＤ「ＶＭｉｄ−Ｄ」を使用したＭＡＣアドレスを割り当てる。
【０１３６】
（６）ステップＳ４０６
また、仮想スイッチ２２のＩＰアドレス割り当て部２２２は、各仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）にＩＰアドレスを割り当てる際、仮想サーバ「Ｄ」２１−１のＩＰアドレス領域の一部又は全部の領域に仮想サーバ「Ｄ」２１−１の仮想マシンＩＤ「ＶＭｉｄ−Ｄ」を使用したＩＰアドレスを割り当てる。
【０１３７】
（７）ステップＳ４０７
第１物理サーバ１０において、仮想サーバ「Ａ」１１−１から仮想サーバ「Ｄ」２１−１への通信の際に、送信側の仮想サーバ「Ａ」１１−１は、「ＭＡＣ  ＤＡ」  −  「ＭＡＣ  ＳＡ」  −  「ＶＬＡＮ  Ｔａｇ」  −  「ＶＬＡＮ  Ｔａｇ」  −  「ＩＰ  ＤＡ」  −  「ＩＰ  ＳＡ」  −  「Ｕｓｅｒ  Ｄａｔａ」を含むＴＣＰ／ＩＰパケットを生成し、送信パケットとして仮想スイッチ１２に出力する。
【０１３８】
なお、実際には、送信側の仮想サーバ１１からのデータ送信要求に応じて、仮想スイッチ１２が、要求元の仮想サーバ１１毎にＴＣＰ／ＩＰパケットを生成するようにしても良い。また、実際には、ＶＬＡＮタグ領域「ＶＬＡＮ  Ｔａｇ」がない場合もあり得る。仮想スイッチ１２は、送信パケットをＮＩＣ１３に出力する。ここでは、通信フロー監視部１４は使用しない。
【０１３９】
（８）ステップＳ４０８
ＮＩＣ１３は、送信パケットをネットワーク内の物理スイッチ３１へ送信する。
【０１４０】
（９）ステップＳ４０９
物理スイッチ３１は、送信パケットを物理スイッチ３２へ送信する。物理スイッチ３２は、送信パケットを受信側の第２物理サーバ２０に送信する。
【０１４１】
このとき、物理スイッチ３１及び物理スイッチ３２は、送信パケットのＭＡＣアドレス領域、ＶＬＡＮタグ領域、及びＩＰアドレス領域の組をモニターすることで、ネットワーク状態を把握する。すなわち、物理スイッチ３１及び物理スイッチ３２は、ＴＣＰ／ＩＰパケットのＭＡＣアドレス領域、ＶＬＡＮタグ領域、及びＩＰアドレス領域の組をモニター（監視）して、ネットワーク状態に関する情報を収集する。
【０１４２】
（１０）ステップＳ４１０
受信側の第２物理サーバ２０において、ＮＩＣ２３は、送信パケットを受信し、受信パケットとして仮想スイッチ１２に出力する。仮想スイッチ１２は、受信パケットを受信側の仮想サーバ「Ｄ」２１−１へ送信する。
【０１４３】
上記動作により、フローのヘッダ領域である送信先識別情報（「ＭＡＣ  ＤＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＤＡ」）  −  送信元識別情報（「ＭＡＣ  ＳＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＳＡ」）のフィールド、すなわち既存のルータやスイッチが把握できるフィールドでもって、仮想マシン間の通信フロー状態をネットワーク内で把握できるようになる。
【０１４４】
＜第５実施形態＞
［仮想ＮＷ（ネットワーク）ＩＤ利用］
図１０、図１１を参照して、仮想ＮＷのＩＤとして、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）  ＩＤや、ＶＬＡＮ  ＩＤを利用する事例について説明する。ここでは、ＶＰＮ  ＩＤ（ＶＰＮｉｄ）を例に説明する。
【０１４５】
図１０では、仮想サーバ間通信識別システムの使用環境の例として、マルチテナント環境のデータセンターで、複数のＶＰＮからＶＰＮルータを介してデータセンターに接続している環境について記載している。
【０１４６】
図１０に示すように、本発明の仮想サーバ間通信識別システムは、第１物理サーバ１０と、第２物理サーバ２０と、ネットワーク３０と、仮想ネットワーク４０を含む。
【０１４７】
第１物理サーバ１０、第２物理サーバ２０、及びネットワーク３０については、基本的に、図１に示すものと同様である。ここでは、第２物理サーバ２０は、マルチテナント環境のデータセンター内のサーバである。また、仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）の例として、仮想サーバ「Ｄ１」２１−４と、仮想サーバ「Ｄ２」２１−５と、仮想サーバ「Ｄ３」２１−６を示す。仮想サーバ「Ｄ１」２１−４、仮想サーバ「Ｄ２」２１−５、及び仮想サーバ「Ｄ３」２１−６は、それぞれ、図１に示す仮想サーバ「Ｄ」２１−１に相当する。
【０１４８】
仮想ネットワーク４０は、ＶＰＮルータ４１と、ＶＰＮルータ４２と、ＶＰＮルータ４３と、ＶＰＮルータ４４を含む。
【０１４９】
ＶＰＮルータ４１は、物理スイッチ３２と接続されている。ＶＰＮルータ４２は、マルチテナント環境のデータセンター内のサーバのうち、図１に示す仮想サーバ「Ｄ」２１−１に相当するサーバと接続されている。ここでは、ＶＰＮルータ４２は、第２物理サーバ２０に接続されている。ＶＰＮルータ４３は、マルチテナント環境のデータセンター内のサーバのうち、図１に示す仮想サーバ「Ｅ」２１−２に相当するサーバと接続されている。ＶＰＮルータ４４は、マルチテナント環境のデータセンター内のサーバのうち、図１に示す仮想サーバ「Ｆ」２１−３に相当するサーバと接続されている。
【０１５０】
本発明の第５実施形態では、仮想マシンＩＤ割り当て部、ＭＡＣアドレス割り当て部、及びＩＰアドレス割り当て部によって、事前に、ＭＡＣアドレスやＩＰアドレスに仮想マシンＩＤを割り当てる。
【０１５１】
これにより、既存のルータやスイッチが把握・識別できるＭＡＣアドレス領域の一部又は全部、ＶＬＡＮタグ領域の一部又は全部、ＩＰアドレス領域の一部又は全部の全体のビット空間に、各仮想マシンのＩＤを割り当てることができる。
【０１５２】
仮想サーバ「Ａ」から仮想サーバ「Ｄ」への通信の際には、割り当てられたパケットの「ＭＡＣ  ＤＡ」、「ＭＡＣ  ＳＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＤＡ」、「ＩＰ  ＳＡ」付きのパケットを送信する。
【０１５３】
つまり、本実施形態では、送信先識別情報（「ＭＡＣ  ＤＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＤＡ」）が仮想サーバ「Ｄ」の仮想マシンＩＤを表し、送信元識別情報（「ＭＡＣ  ＤＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＤＡ」）が仮想サーバ「Ａ」の仮想マシンＩＤを表すものとして、複数ヘッダフィールドをグループ分け（Ｇｒｏｕｐｉｎｇ）する。但し、実際には、ＶＬＡＮタグ領域「ＶＬＡＮ  Ｔａｇ」がない場合もあり得る。
【０１５４】
マルチテナント環境下で、同一サーバ内の仮想サーバである仮想サーバ「Ａ」（ＶＭｉｄ−Ａ）、仮想サーバ「Ｂ」（ＶＭｉｄ−Ｂ）とが異なるテナントに属している場合に、例え仮想サーバ「Ａ」（ＶＭｉｄ−Ａ）、仮想サーバ「Ｂ」（ＶＭｉｄ−Ｂ）とが同じプライベートＩＰアドレス（Ｐｒｉｖａｔｅ  ＩＰ  ａｄｄｒｅｓｓ）が割り当てられるような状況下でも、上記複数のヘッダから構成されるアドレス空間で通信するため、アドレスがぶつかることがなく通信が可能となる。
【０１５５】
具体的には、次の通りである。例えば、送信側の物理サーバでは、仮想サーバ「Ａ」から仮想サーバ「Ｄ」への通信の際には、図１１の（１）のような、仮想サーバ「Ａ」と仮想サーバ「Ｄ」のそれぞれに割り当てられた仮想マシンＩＤに対応する上記の送信先識別情報（「ＭＡＣ  ＤＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＤＡ」）、送信元識別情報（「ＭＡＣ  ＳＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＳＡ」）を含むパケットを、ＴＣＰ／ＩＰパケットとして送信する。この際に、ＭＡＣアドレス領域の一部又は全部、ＶＬＡＮタグ領域の一部又は全部、ＩＰアドレス領域の一部又は全部を適宜使ってエンコード（Ｅｎｃｏｄｉｎｇ）する。
【０１５６】
中継の物理スイッチでは、ＴＣＰ／ＩＰパケットのうち、フローのヘッダ領域である送信先識別情報（「ＭＡＣ  ＤＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＤＡ」）  −  送信元識別情報（「ＭＡＣ  ＳＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＳＡ」）のフィールドをモニターすることで、ネットワーク状態を把握する。すなわち、中継の物理スイッチは、ＴＣＰ／ＩＰパケットの送信先識別情報と送信元識別情報領域との組をモニター（監視）して、ネットワーク状態に関する情報を収集する。
【０１５７】
更に、複数のＶＰＮを収容するＶＰＮルータでは、どのパケットをどのＶＰＮ先のユーザへ届けるかを識別する必要がある。その識別のために、（「ＭＡＣ  ＤＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＤＡ」）全体のＩＤ空間から、どのＶＰＮ  ＩＤ（ＶＰＮｉｄ）かを認識し、ＶＰＮルータにおいてパケットの転送先を変更する。ＶＰＮルータでの送信方法には、複数のやり方があるが、基本的にはＶＰＮｉｄを含んだ、カプセル化パケットである。パケットの転送方法として、「レイヤー２カプセル化方式」や、「レイヤー３カプセル化方式」等がある。
【０１５８】
「レイヤー２カプセル化方式」では、受信したパケットのうちレイヤー２パケット（Ｌａｙｅｒ  ２  ｐａｃｋｅｔ）領域（「ＭＡＣ  ＤＡ」、「ＭＡＣ  ＳＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＤＡ」、「ＩＰ  ＳＡ」、「Ｕｓｅｒ  Ｄａｔａ」）をそのままカプセル化し、ＶＰＮｉｄ付きで転送する。
【０１５９】
「レイヤー３カプセル化方式」では、受信したパケットのうちＩＰレイヤー（ＩＰ  ｌａｙｅｒ）領域（「ＩＰ  ＤＡ」、「ＩＰ  ＳＡ」、「Ｕｓｅｒ  Ｄａｔａ」）のみをカプセル化して、ＶＰＮｉｄ付きで転送する。
【０１６０】
それぞれの方式について、Ｅｎｄ−ｔｏ−Ｅｎｄで、ＶＭｉｄが保存できるようにするための留意点を以下に説明する。
【０１６１】
（ａ）レイヤー２カプセル化方式の場合は、（「ＭＡＣ  ＤＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＤＡ」）  −  （「ＭＡＣ  ＳＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＳＡ」）のフィールドがすべて保存された上に、ＶＰＮｉｄがあるので、特に問題はない。
【０１６２】
（ｂ）レイヤー３カプセル化方式の場合は、（「ＭＡＣ  ＤＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＤＡ」）  −  （「ＭＡＣ  ＳＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＳＡ」）のフィールドのうち、（「ＭＡＣ  ＤＡ」、「ＶＬＡＮ  Ｔａｇ」、又は「ＭＡＣ  ＳＡ」、「ＶＬＡＮ  Ｔａｇ」）のフィールドの情報がＶＰＮｉｄに縮退される。レイヤー３カプセル化方式の場合には、「ＩＰ  ＤＡ」、「ＩＰ  ＳＡ」のフィールドのみでＥｎｄ−ｔｏ−Ｅｎｄの対応をさせることになる。
【０１６３】
受信側の物理サーバでは、受信パケットを受信側の仮想サーバ「Ｄ」へ送信する。
【０１６４】
図１２Ａ、図１２Ｂに、本発明の第５実施形態における通信フロー制御のシーケンス図を示す。
【０１６５】
（１）ステップＳ５０１
図１に示す第１物理サーバ１０において、仮想スイッチ１２の仮想マシンＩＤ割り当て部１２１は、各仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）に仮想マシンＩＤを割り当てる。
【０１６６】
（２）ステップＳ５０２
また、仮想スイッチ１２のＭＡＣアドレス割り当て部１２２は、各仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）にＭＡＣアドレスを割り当てる際、仮想サーバ「Ａ」１１−１のＭＡＣアドレス領域の一部又は全部の領域に仮想サーバ「Ａ」１１−１の仮想マシンＩＤ「ＶＭｉｄ−Ａ」を使用したＭＡＣアドレスを割り当てる。
【０１６７】
（３）ステップＳ５０３
また、仮想スイッチ１２のＩＰアドレス割り当て部１２２は、各仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）にＩＰアドレスを割り当てる際、仮想サーバ「Ａ」１１−１のＩＰアドレス領域の一部又は全部の領域に仮想サーバ「Ａ」１１−１の仮想マシンＩＤ「ＶＭｉｄ−Ａ」を使用したＩＰアドレスを割り当てる。
【０１６８】
（４）ステップＳ５０４
同様に、第２物理サーバ２０において、仮想スイッチ２２の仮想マシンＩＤ割り当て部２２１は、各仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）に仮想マシンＩＤを割り当てる。
【０１６９】
（５）ステップＳ５０５
また、仮想スイッチ２２のＭＡＣアドレス割り当て部２２２は、各仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）にＭＡＣアドレスを割り当てる際、仮想サーバ「Ｄ」２１−１のＭＡＣアドレス領域の一部又は全部の領域に仮想サーバ「Ｄ」２１−１の仮想マシンＩＤ「ＶＭｉｄ−Ｄ」を使用したＭＡＣアドレスを割り当てる。
【０１７０】
（６）ステップＳ５０６
また、仮想スイッチ２２のＩＰアドレス割り当て部２２２は、各仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）にＩＰアドレスを割り当てる際、仮想サーバ「Ｄ」２１−１のＩＰアドレス領域の一部又は全部の領域に仮想サーバ「Ｄ」２１−１の仮想マシンＩＤ「ＶＭｉｄ−Ｄ」を使用したＩＰアドレスを割り当てる。
【０１７１】
（７）ステップＳ５０７
第１物理サーバ１０において、仮想サーバ「Ａ」１１−１から仮想サーバ「Ｄ」２１−１への通信の際に、送信側の仮想サーバ「Ａ」１１−１は、「ＭＡＣ  ＤＡ」  −  「ＭＡＣ  ＳＡ」  −  「ＶＬＡＮ  Ｔａｇ」  −  「ＶＬＡＮ  Ｔａｇ」  −  「ＩＰ  ＤＡ」  −  「ＩＰ  ＳＡ」  −  「Ｕｓｅｒ  Ｄａｔａ」を含むＴＣＰ／ＩＰパケットを生成し、送信パケットとして仮想スイッチ１２に出力する。
【０１７２】
なお、実際には、送信側の仮想サーバ１１からのデータ送信要求に応じて、仮想スイッチ１２が、要求元の仮想サーバ１１毎にＴＣＰ／ＩＰパケットを生成するようにしても良い。また、実際には、ＶＬＡＮタグ領域「ＶＬＡＮ  Ｔａｇ」がない場合もあり得る。仮想スイッチ１２は、送信パケットをＮＩＣ１３に出力する。ここでは、通信フロー監視部１４は使用しない。
【０１７３】
（８）ステップＳ５０８
ＮＩＣ１３は、送信パケットをネットワーク内の物理スイッチ３１へ送信する。
【０１７４】
（９）ステップＳ５０９
物理スイッチ３１は、送信パケットを物理スイッチ３２へ送信する。物理スイッチ３２は、送信パケットをＶＰＮルータ４１に送信する。
【０１７５】
このとき、物理スイッチ３１及び物理スイッチ３２は、送信パケットのうち、送信先識別情報（「ＭＡＣ  ＤＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＤＡ」）  −  送信元識別情報（「ＭＡＣ  ＳＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＳＡ」）のフィールドをモニターすることで、ネットワーク状態を把握する。すなわち、物理スイッチ３１及び物理スイッチ３２は、ＴＣＰ／ＩＰパケットの送信先識別情報と送信元識別情報領域との組をモニター（監視）して、ネットワーク状態に関する情報を収集する。
【０１７６】
（１０）ステップＳ５１０
ＶＰＮルータ４１は、物理スイッチ３２から送信パケットを受け取ると、送信パケットのうち、ＭＡＣアドレス領域の一部又は全部、ＶＬＡＮタグ領域の一部又は全部、ＩＰアドレス領域の一部又は全部を適宜使ってエンコードし、カプセル化パケットを生成する。また、ＶＰＮルータ４１は、上記の領域のＩＤ空間から、どのＶＰＮｉｄかを認識し、カプセル化パケットの転送先を決定する。ここでは、上記の領域のＩＤ空間が、「ＶＰＮｉｄ−Ｄ」に対応するものとする。
【０１７７】
すなわち、ＶＰＮルータ４１は、カプセル化パケットに「ＶＰＮｉｄ−Ｄ」を付加してＶＰＮルータ４２に転送する。パケットの転送方法である「レイヤー２カプセル化方式」や「レイヤー３カプセル化方式」については、先に説明した通りである。ＶＰＮルータ４２は、カプセル化パケットをデコード（ｄｅｃｏｄｉｎｇ）して送信パケットの形に戻し、送信パケットを第２物理サーバ２０に送信する。
【０１７８】
（１１）ステップＳ５１１
受信側の第２物理サーバ２０において、ＮＩＣ２３は、送信パケットを受信し、受信パケットとして仮想スイッチ１２に出力する。仮想スイッチ１２は、第２物理サーバ２０内の各仮想サーバの混雑度や、受信パケットで指定されているポート番号等に応じて、受信パケットの送信先となる仮想サーバを決定する。ここでは、仮想スイッチ１２は、受信パケットを仮想サーバ「Ｄ１」２１−４へ送信する。
【０１７９】
上記動作により、（「ＭＡＣ  ＤＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＤＡ」）  −  （「ＭＡＣ  ＳＡ」、「ＶＬＡＮ  Ｔａｇ」、「ＩＰ  ＳＡ」）のｆｉｅｌｄと呼ぶ、既存のルータやスイッチが把握できるフィールドでもって、仮想マシン間の通信フロー状態をネットワーク内で把握できるようになる。また、ＶＰＮルータにおいて、適宜変換された後、Ｅｎｄ−ｔｏ−Ｅｎｄで仮想マシンの通信関係を保持することが可能になる。
【０１８０】
＜第６実施形態＞
［グループＩＤ利用］
図１３を参照して、各仮想サーバについて、ＶＬＡＮ等の仮想的なグループ分けを行い、同一グループの仮想サーバ間でのみ通信可能とする事例について説明する。
について説明する。
【０１８１】
図１３に示すように、本発明の仮想サーバ間通信識別システムは、第１物理サーバ１０と、第２物理サーバ２０と、ネットワーク３０と、仮想ネットワーク４０を含む。
【０１８２】
第１物理サーバ１０、第２物理サーバ２０、及びネットワーク３０については、基本的に、図１に示すものと同様である。
【０１８３】
本実施形態では、仮想スイッチ１２は、仮想マシンＩＤ割り当て部１２１と、ＭＡＣアドレス割り当て部１２２と、ＩＰアドレス割り当て部１２３に加えて、更に、グループ割り当て部１２４を備える。同様に、仮想スイッチ２２は、仮想マシンＩＤ割り当て部２２１と、ＭＡＣアドレス割り当て部２２２と、ＩＰアドレス割り当て部２２３に加えて、更に、グループ割り当て部２２４を備える。
【０１８４】
仮想マシンＩＤ割り当て部１２１と、ＭＡＣアドレス割り当て部１２２と、ＩＰアドレス割り当て部１２３、仮想マシンＩＤ割り当て部２２１と、ＭＡＣアドレス割り当て部２２２と、ＩＰアドレス割り当て部２２３については、基本的に、図１に示すものと同様である。
【０１８５】
グループ割り当て部１２４は、仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）の各々に対して、当該仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）が属しているＶＬＡＮのグループを示すグループＩＤを割り当てる。同様に、グループ割り当て部２２４は、仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）の各々に対して、当該仮想サーバ２１（２１−ｉ、ｉ＝１〜ｎ）が属しているＶＬＡＮのグループを示すグループＩＤを割り当てる。ここでは、グループＩＤとして、ＶＬＡＮ  ＩＤを想定している。
【０１８６】
なお、仮想サーバ１１（１１−ｉ、ｉ＝１〜ｎ）の各々に対しては、事前に、ＭＡＣアドレス、ＩＰアドレス、グループＩＤが割り当てられるものとする。他の実施形態においても、同様にすることができる。
【０１８７】
図１３において、第１のＶＬＡＮグループのグループＩＤを「ＧＰ−１」とする。また、第２のＶＬＡＮグループのグループＩＤを「ＧＰ−２」とする。
【０１８８】
仮想サーバ「Ａ」１１−１、仮想サーバ「Ｂ」１１−２、仮想サーバ「Ｄ」２１−１、仮想サーバ「Ｅ」２１−２が、第１のＶＬＡＮグループ「ＧＰ−１」に属するものとする。
【０１８９】
また、仮想サーバ「Ｃ」１１−３、仮想サーバ「Ｆ」２１−３が、第２のＶＬＡＮグループ「ＧＰ−２」に属するものとする。
【０１９０】
このとき、仮想サーバ「Ａ」１１−１、仮想サーバ「Ｂ」１１−２、仮想サーバ「Ｄ」２１−１、及び仮想サーバ「Ｅ」２１−２は、互いに通信可能であるが、仮想サーバ「Ｃ」１１−３及び仮想サーバ「Ｆ」２１−３は、ＶＬＡＮのグループが異なるため通信できない。
【０１９１】
図１４を参照して、パケットにグループＩＤ（ＶＬＡＮ  ＩＤ）が含まれる場合について説明する。
【０１９２】
グループＩＤは、送信パケットがネットワーク上に送信される際、仮想サーバにより、ＶＬＡＮタグ領域に割り当てられる。
【０１９３】
送信パケットに対する仮想マシンＩＤの割り当てについては、他の実施形態に従うものとする。ここでは、ＭＡＣアドレス領域、ＶＬＡＮタグ領域、ＩＰアドレス領域、これら３つの領域のうち少なくとも１つの領域（全領域でも良い）に、送信先の仮想サーバの仮想マシンＩＤ（Ｄｅｓｔ  ＩＤ）と、送信元の仮想サーバの仮想マシンＩＤ（Ｓｏｕｒｃｅ  ＩＤ）が割り当てられるものとする。なお、これらの仮想マシンＩＤは、同一の領域に割り当てられていると好適であるが、実際には、それぞれ異なる領域に割り当てられていても良い。
【０１９４】
＜各実施形態の関係＞
なお、上記の各実施形態は、組み合わせて実施することも可能である。
【０１９５】
＜総括＞
以上のように、本発明は、物理サーバ上で複数動作する論理サーバ間の仮想サーバ間通信識別システムにおいて、論理サーバ間のＥｎｄ−ｔｏ−Ｅｎｄでの通信設定、通信識別、性能監視、Ｅｎｄ−ｔｏ−Ｅｎｄ障害診断等の状況を把握する機構を設けたことを特徴としている。
【０１９６】
本発明においては、以下に記載するような効果を奏する。
【０１９７】
第１の効果は、既存のパケットのヘッダ領域を使い、仮想マシンのＩＤ空間をエンコード（Ｅｎｃｏｄｉｎｇ）しているので、既存のスイッチ、ルータ環境を含めた環境で仮想マシン間の通信状態を把握できることである。
【０１９８】
第２の効果は、既存のパケットヘッダの複数の領域全体を、仮想マシンのＩＤ空間として認識しているので、既存のスイッチ、ルータ環境を含めた環境で仮想マシン間の通信状態を把握できることである。
【０１９９】
第３の効果は、既存のパケットヘッダの複数の領域全体を、仮想マシンのＩＤ空間として認識しているので、マルチテナント環境で仮想マシンに割り当てられたＩＰアドレスが例え同じだとしても通信ができることである。
【０２００】
＜付記＞
上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
【０２０１】
（付記１）
仮想マシンＩＤ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  ｉｄｅｎｔｉｆｉｅｒ）が割り当てられた仮想サーバの通信を制御するステップと、
前記仮想サーバと他の仮想サーバとの間のネットワークを介した通信の際、ＴＣＰ／ＩＰパケット（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｐａｃｋｅｔ）の形式で、データ以外のビット空間のうち少なくとも一部に前記仮想マシンＩＤが割り当てられている送信パケットをネットワーク上に送信するステップと
をコンピュータに実行させるためのプログラムを格納した
記憶媒体。
【０２０２】
（付記２）
付記１に記載の記憶媒体であって、
前記送信パケットをネットワーク上に送信する際、前記送信パケットに前記仮想マシンＩＤを含むＶＬＡＮタグ領域を挿入するステップと、
ネットワーク上からの受信パケットのＶＬＡＮタグ領域を削除して前記仮想サーバに送信するステップと
を更にコンピュータに実行させるためのプログラムを格納した
記憶媒体。
【０２０３】
（付記３）
付記１又は２に記載の記憶媒体であって、
前記送信パケットをネットワーク上に送信する際、前記送信パケットのヘッダー領域において、アドレス領域の少なくとも一部を前記仮想マシンＩＤに変換するステップを更にコンピュータに実行させるためのプログラムを格納した
記憶媒体。
【０２０４】
（付記４）
付記１乃至３のいずれかに記載の記憶媒体であって、
ＭＡＣアドレス或いはＩＰアドレスの少なくとも一方に前記受信側の仮想マシンＩＤを組み込み、前記仮想サーバに対して、前記ＭＡＣアドレスと、前記ＩＰアドレスと、を割り当てるステップと、
前記送信パケットを生成する際、前記送信パケットのＭＡＣアドレス領域に前記ＭＡＣアドレスを割り当て、前記送信パケットのＩＰアドレス領域に前記ＩＰアドレスを割り当てるステップと
を更にコンピュータに実行させるためのプログラムを格納した
記憶媒体。
【０２０５】
（付記５）
付記４に記載の記憶媒体であって、
前記仮想サーバに対して、前記仮想マシンＩＤを割り当てるステップと、
前記送信パケットを生成する際、更に、前記送信パケットのＶＬＡＮタグ領域に前記仮想マシンＩＤを割り当てるステップと
を更にコンピュータに実行させるためのプログラムを格納した
記憶媒体。
【０２０６】
（付記６）
付記１乃至５のいずれかに記載の記憶媒体であって、
前記仮想サーバに対して、グループＩＤとしてＶＬＡＮ
ＩＤを割り当てるステップと、
前記仮想サーバに対してグループＩＤとして割り当てられたＶＬＡＮ
ＩＤが、受信側の仮想サーバに対してグループＩＤとして割り当てられたＶＬＡＮ
ＩＤと同じである場合、前記送信パケットのＶＬＡＮタグ領域に当該ＶＬＡＮ
ＩＤを割り当てるステップと
を更にコンピュータに実行させるためのプログラムを格納した
記憶媒体。
【０２０７】
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【０２０８】
なお、本出願は、日本出願番号２００９−２１８６９３に基づく優先権を主張するものであり、日本出願番号２００９−２１８６９３における開示内容は引用により本出願に組み込まれる。
【図１】
0005403061.tif 000002
【図２】
0005403061.tif 000003
【図３】
0005403061.tif 000004
【図４】
0005403061.tif 000005
【図５】
0005403061.tif 000006
【図６】
0005403061.tif 000007
【図７】
0005403061.tif 000008
【図８】
0005403061.tif 000009
【図９】
0005403061.tif 000010
【図１０】
0005403061.tif 000011
【図１１】
0005403061.tif 000012
【図１２Ａ】
0005403061.tif 000013
【図１２Ｂ】
0005403061.tif 000014
【図１３】
0005403061.tif 000015
【図１４】
0005403061.tif 000016