(57)【特許請求の範囲】
【請求項１】
第１情報処理装置と、
前記第１情報処理装置と、複数のスイッチ装置を介して接続された第２情報処理装置と、
前記第１情報処理装置と、前記複数のスイッチ装置を介して接続された第３情報処理装置と、
前記第１情報処理装置、前記第２情報処理装置及び前記第３情報処理装置を管理する管理装置と
を含み、前記第１情報処理装置、前記第２情報処理装置及び前記第３情報処理装置の間の通信経路が、前記管理装置の制御に基づいて、前記複数のスイッチ装置によって確立されるネットワークシステムにおいて、
前記第１情報処理装置に設けられた第１仮想マシンから、前記第２情報処理装置に設けられた第２仮想マシンへ至る第１通信経路を、前記スイッチ装置によって確立し、
前記第２仮想マシンを前記第２情報処理装置から前記第３情報処理装置に移動させる前に、前記第１通信経路とは異なり、前記第１情報処理装置から前記第３情報処理装置へ至る第２通信経路を、前記管理装置及び前記スイッチ装置によって確立し、
前記第２仮想マシンを前記第２情報処理装置から前記第３情報処理装置へ移動させた後、前記第２通信経路が確立されている時に、前記第１仮想マシンから、前記第３情報処理装置に移動された第２仮想マシンへ至る第３通信経路を、前記管理装置及び前記スイッチ装置によって確立する
ことを特徴とする通信制御方法。
【請求項２】
前記第１仮想マシンは第１アドレスを有し、
前記第２仮想マシンは第２アドレスを有し、
前記ネットワークシステムにおいて、
前記管理装置によって、前記第３情報処理装置に、前記第１アドレス及び前記第２アドレスとは異なる第３アドレスを割り当て、
前記第２仮想マシンを前記第２情報処理装置から前記第３情報処理装置へ移動させる前に、前記割り当てられた第３アドレスに基づいて、前記第２通信経路を確立する
ことを特徴とする請求項１記載の通信制御方法。
【請求項３】
前記ネットワークシステムにおいて、
前記第３アドレスを前記第２アドレスに変換する第１アドレス変換処理を、前記第３情報処理装置によって有効にし、
前記第２仮想マシンを前記第２情報処理装置から前記第３情報処理装置へ移動させた後で、前記第２アドレスを前記第３アドレスに変換する第２アドレス変換処理を、前記第１情報処理装置によって有効にし、
前記確立された第２通信経路と、前記有効にされた第１アドレス変換処理及び第２アドレス変換処理に基づいて、前記第１仮想マシンから前記第２仮想マシンへ至る通信経路を確立する
ことを特徴とする請求項２記載の通信制御方法。
【請求項４】
前記ネットワークシステムにおいて、
前記第２仮想マシンを前記第２情報処理装置から前記第３情報処理装置へ移動させた後で、前記第１アドレス変換処理及び前記第２アドレス変換処理を無効にし、前記第２通信経路を削除することにより、前記管理装置によって、前記第３アドレスを回収する
ことを特徴する請求項３記載の通信制御方法。
【請求項５】
前記第３情報処理装置は、第１仮想スイッチを含み、
前記第３アドレスは、前記第１仮想スイッチに割り当てられる
ことを特徴とする請求項２記載の通信制御方法。
【請求項６】
前記第３情報処理装置は、第１仮想スイッチを含み、
前記第１情報処理装置は、第２仮想スイッチを含み、
前記第１アドレス変換処理は、前記第１仮想スイッチにおいて行われ、
前記第２アドレス変換処理は、前記第２仮想スイッチにおいて行われる
ことを特徴とする請求項３記載の通信制御方法。
【請求項７】
前記第２通信経路は、前記第１仮想スイッチと前記第２仮想スイッチの間に確立されることを特徴とする請求項６記載の通信制御方法。
【請求項８】
第１仮想マシンを含む第１情報処理装置と、
前記第１情報処理装置と、複数のスイッチ装置を介して接続された第２情報処理装置と、
前記第１情報処理装置と、前記複数のスイッチ装置を介して接続された第３情報処理装置と、
前記第１情報処理装置、前記第２情報処理装置及び前記第３情報処理装置を管理する管理装置と
を含み、前記第１情報処理装置、前記第２情報処理装置及び前記第３情報処理装置の間の通信経路を、前記管理装置の制御に基づいて、前記複数のスイッチ装置によって確立するネットワークシステムであって、
前記スイッチ装置は、前記第１情報処理装置に設けられ第１仮想マシンから、前記第２情報処理装置に設けられた第２仮想マシンへ至る第１通信経路を確立し、
前記管理装置及び前記スイッチ装置は、前記第２仮想マシンを前記第２情報処理装置から前記第３情報処理装置に移動させる前に、前記第１通信経路とは異なり、前記第１情報処理装置から前記第３情報処理装置へ至る第２通信経路を確立し、
前記管理装置及び前記スイッチ装置は、前記第２仮想マシンを前記第２情報処理装置から前記第３情報処理装置へ移動させた後、前記第２通信経路が確立されている時に、前記第１仮想マシンから、前記第３情報処理装置に移動された第２仮想マシンへ至る第３通信経路を、前記管理装置及び前記スイッチ装置によって確立する
ことを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例の一側面において開示する技術は、ネットワークシステム及び通信制御方法に関する。
【背景技術】
【０００２】
データセンタネットワークなどのネットワークシステムは、仮想マシン（Virtual Machine、以下ＶＭとも称する）が設けられた複数のサーバと、複数のスイッチ装置を含む。そのネットワークシステムにおいて、あるＶＭがライブマイグレーション（Live Migration）によって、現在そのＶＭが属しているサーバから別のサーバへ移動したとき、ネットワークを構成する各々のサーバ及びスイッチ装置は、移動後のＶＭに対する通信経路を新たに確立する必要がある。
【０００３】
そのため、各々のサーバ及びスイッチ装置は、移動されたＶＭに対して、ＡＲＰ（Address Resolution Protocol）要求を送信する。このＡＲＰ要求は、移動後のＶＭが属するサーバが属するネットワーク全体に対して、ブロードキャストにより送信される。移動後のＶＭが属するサーバは、ＡＲＰ要求を受信すると、そのＶＭのＭＡＣ（Media Access Control）アドレスに基づいて、ＡＲＰ応答を送信する。
【０００４】
各々のサーバ及びスイッチ装置は、ＡＲＰ応答を受信することにより、ＡＲＰ応答に含まれるＭＡＣアドレスと、自装置の出力インターフェースとの間の対応関係を自律分散的に学習し、移動後のＶＭに関する設定情報（フォワーディング情報）を取得する。以下、ＶＭ等のノード装置に関して、そのＭＡＣアドレスと、自装置の出力インターフェースとの間の対応関係を学習することを単に、ＭＡＣアドレス学習と称する場合がある。各々のサーバ及びスイッチ装置は、移動されたＶＭに関して、ＭＡＣアドレス学習を行うことにより、トラフィックデータのフォワーディング情報（設定情報）が格納されたフォワーディング情報テーブルを更新する。
【０００５】
また、ライブマイグレーションによってＶＭが移動したとき、スイッチ装置における設定情報を更新するための手法として、ＡＭＰＰ（Automatic Migration of Port Profile）と呼ばれる手法が知られている。ＡＭＰＰは、ＩＥＥＥによって策定されたプロトコルである（IEEE 802.1Qbg）。ＡＭＰＰによれば、ライブマイグレーションによるＶＭの移動に応答して、ＶＭの移動元のサーバと接続された最下段のスイッチ装置内のポートプロファイル（設定情報）が、移動先のサーバと接続された最下段のサーバに移動される。
【０００６】
図１は、ＡＭＰＰの動作を説明するための図である。
【０００７】
図１に示したように、Ｌ２（レイヤ２）ネットワークシステム１００においては、サーバ１０２−１、２が、対応するスイッチ装置１０４−１、２を介して、Ｌ２スイッチネットワーク１０６に接続されている。サーバ１０２−１、２はそれぞれ、対応するＶＭ１１２−１〜３と、対応する仮想スイッチ１１４−１、２を含む。各々のＶＭ１１２−１〜３は、対応する仮想スイッチ１１４−１、２を介して、対応するスイッチ装置１０４−１、２に接続される。
【０００８】
スイッチ装置１０４−１、２は、ネットワークシステム１００を構成する多段構成のスイッチ装置の中で、サーバ１０２−１、２と、他のスイッチ装置を介することなく接続可能な、最下段に位置する物理スイッチである。スイッチ装置１０４−１、２はそれぞれ、ポートプロファイル（設定情報）を内部に保持する。ポートプロファイルは、各々のＶＭに割り当てられたＭＡＣアドレスと、自装置の出力ポート（出力インターフェース）との間の対応関係を示すものである。
【０００９】
図１に示したように、サーバ１０２−１に属していたＶＭ１１２−１がライブマイグレーションにより、別のサーバ１０２−２に移動した例では、ＶＭ１１２−１がサーバ１０２−１からサーバ１０２−２に移動したことに応答して、サーバ１０２−１と接続された最下段のスイッチ装置１０４−１内のポートプロファイル１１６が、サーバ１０２−２と接続された最下段のスイッチ装置１０４−２に移動される。
【００１０】
最下段のスイッチ装置１０４−１、２は、ＡＭＰＰによるポートプロファイル（設定情報）の移動により、移動後のＶＭに関して、ＭＡＣアドレス学習を行い、トラフィックデータのフォワーディング情報（設定情報）が格納されたフォワーディング情報テーブルを更新する。
【００１１】
一方、最下段以外のスイッチ装置（Ｌ２スイッチネットワークを構成する複数のスイッチ装置）は、上述のように、ＡＲＰ応答の受信により、移動されたＶＭに関するＭＡＣアドレス学習を実行することで、フォワーディング情報テーブルを更新する。
【００１２】
尚、ＶＭを移動させる場合に、移動先のサーバの物理インターフェースに、移動対象のＶＭのＭＡＣアドレスを割り当て、ＶＭの移動に先立ってネットワークを構成する各スイッチに、割り当てられたＭＡＣアドレスを学習させる技術が、下記特許文献１に記載されている。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２０１０−１２４１２９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
上述のように、ライブマイグレーションによるＶＭの移動に際して、ＡＲＰ応答の受信により、ＭＡＣアドレス学習を行い、フォワーディング情報テーブルを更新する方法では、ＶＭの移動が完了してから、ネットワークを構成する全てのスイッチ装置がＭＡＣアドレス学習を完了するまでの期間は、移動されたＶＭに対する通信経路を確立することができず、そのＶＭに対する通信が途絶した状態となる。
【００１５】
また、ライブマイグレーションによるＶＭの移動に際して、ＡＭＰＰに従って、ＭＡＣアドレス学習を行い、フォワーディング情報テーブルを更新する方法においても、ポートプロファイル（設定情報）の移動が完了するまでの期間は、移動されたＶＭに対する通信経路を確立することができず、そのＶＭに対する通信が途絶した状態となる。
【００１６】
さらに、最下段以外のスイッチ装置はＡＲＰ応答の受信により、ＭＡＣアドレス学習を行うため、同様に、ＶＭの移動が完了してから、最下段以外のスイッチ装置がＭＡＣアドレス学習を完了するまでの期間は、移動されたＶＭに対する通信経路を確立することができず、そのＶＭに対する通信が途絶した状態となる。
【００１７】
従って、本実施例の一側面においては、データセンタネットワークなどのネットワークシステムにおいて、ＶＭの移動に際して、移動されたＶＭに対する通信経路を、通信の途絶無しに、新たに確立された通信経路に切り替えることが可能な通信制御方法及びネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
本実施例の一側面における通信制御方法は、第１情報処理装置と、前記第１情報処理装置と、複数のスイッチ装置を介して接続された第２情報処理装置と、前記第１情報処理装置と、複数のスイッチ装置を介して接続された第３情報処理装置と、を含み、前記第１情報処理装置、前記第２情報処理装置及び前記第３情報処理装置の間の通信経路が確立されるネットワークシステムにおいて、前記第１情報処理装置に設けられた第１仮想マシンから、前記第２情報処理装置に設けられた第２仮想マシンへ至る第１通信経路を確立し、前記第２仮想マシンを前記第２情報処理装置から前記第３情報処理装置に移動させる前に、前記第１通信経路とは異なり、前記第１情報処理装置から前記第３情報処理装置へ至る第２通信経路を確立するものである。
【発明の効果】
【００１９】
本実施例の一側面における通信制御方法によれば、データセンタネットワークなどのネットワークシステムにおいて、ＶＭの移動に際して、移動されたＶＭに対する通信経路を、通信の途絶無しに、新たに確立された通信経路に切り替えることができる。
【図面の簡単な説明】
【００２０】
【図１】ＡＭＰＰの動作を説明するための図である。
【図２】第１実施例に係るデータセンタネットワークシステム２００の構成を示す図である。
【図３】ＶＭ移動の前後において行われる、仮ＭＡＣアドレスによる通信経路の設定処理を説明するためのシステム構成図である。
【図４】ＶＭ移動の前後において行われる、仮ＭＡＣアドレスによる通信経路の設定処理を示すシーケンスチャートである。
【図５】ＶＭ移動後において行われる、仮ＭＡＣアドレスの回収処理を説明するためのシステム構成図である。
【図６】ＶＭ移動後において行われる、仮ＭＡＣアドレスの回収処理を示すシーケンスチャートである。
【図７】第１実施例に係るサーバ２０２の内部構成を示す機能ブロック図である。
【図８】フォワーディング情報テーブル７１２の一例を示す図である。
【図９】アドレス変換テーブル７１４の一例を示す図である。
【図１０】サーバ２０２の内部構成を示すハードウェア構成図である。
【図１１】第１実施例に係るスイッチ装置２０４（２０４−１〜５）の内部構成を示す機能ブロック図である。
【図１２】フォワーディング情報テーブル１１１２の一例を示す図である。
【図１３】第２実施例に係るデータセンタネットワークシステム１３００における通信制御処理を説明するためのシステム構成図である。
【図１４】第２実施例に係るデータセンタネットワークシステム１３００における通信制御処理を示すシーケンスチャートである。
【図１５】第３実施例に係るデータセンタネットワークシステム１５００における通信制御処理を説明するためのシステム構成図である。
【図１６】第３実施例に係るデータセンタネットワークシステム１５００における通信制御処理を示すシーケンスチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施例について説明する。
【００２２】
尚、以下の実施例及び応用例においては、本発明が適用されるシステムとして、データセンタネットワークシステムを例にとって説明するが、この例には限定されず、本発明は、サーバとスイッチ装置等を含むネットワークシステムに広く適用されるものである。
【実施例】
【００２３】
［１．第１実施例］
以下、第１実施例に係るネットワークシステム及び通信制御方法について説明する。
【００２４】
［１−１．データセンタネットワークシステム２００の構成］
図２は、第１実施例に係るデータセンタネットワークシステム２００の構成を示す図である。以下、データセンタネットワークシステム２００の概略的な構成について説明する。
【００２５】
図２に示したように、データセンタネットワークシステム２００は、管理装置２０８の制御に基づく集中管理型のネットワークシステムであり、サーバ２０２−１〜３及びスイッチ装置２０４−１〜５を含む複数のノード装置と、管理装置２０８を有する。サーバ２０２−１〜３と、スイッチ装置２０４−１〜３は、図２において実線で示した、データ通信用のネットワーク回線を介して接続されている。
【００２６】
スイッチ装置２０４−１〜５は、ネットワーク中継器として機能する物理スイッチであり、レイヤ２スイッチ（Ｌ２スイッチ）である。スイッチ装置２０４−１〜５はそれぞれ、トラフィックデータのフォワーディング情報が格納されたフォワーディング情報テーブルを有する。フォワーディング情報テーブルは、トラフィックデータの宛先を示すＭＡＣアドレスと、そのフォワーディング情報テーブルを有するスイッチ装置の出力インターフェースとの間の対応関係を示す情報を格納するテーブルである。ＭＡＣアドレスは、ＶＭに割り当てられた物理アドレスの一例である。スイッチ装置２０４−１〜５はＭＡＣアドレス学習を行わず、管理装置２０８がスイッチ装置２０４−１〜５の各々に、集中管理的に、フォワーディング情報を書き込む。
【００２７】
スイッチ装置２０４−１〜５は、サーバ又は他のスイッチ装置からトラフィックデータを受けとる。スイッチ装置２０４−１〜５は、フォワーディング情報テーブルを参照することにより、レイヤ２（データリンク層）の通信プロトコルに基づいて周知のスイッチング制御を行い、受けとったトラフィックデータを出力する出力インターフェースを決定する。
【００２８】
サーバ２０２−１〜３の各々は、少なくとも１つの仮想スイッチと、複数の仮想マシン（ＶＭ）を含む。例えば、サーバ２０２−１は、１つの仮想スイッチ２１４−１と２つのＶＭ２１２−１、２を含む。ＶＭ２１２−１、２はそれぞれ、仮想スイッチ２１４−１を介して、対応するスイッチ装置２０４−１に接続される。サーバ２０２−２及びサーバ２０２−３においても同様である。
【００２９】
サーバ２０２−１〜３の各々は、後述するように、管理装置２０８からの指示情報に基づいて、管理装置２０８によって移動の対象とされたＶＭを、ライブマイグレーションにより、別のサーバに移動させる。ライブマイグレーションによるＶＭ移動の詳細については、後で説明する。
【００３０】
仮想スイッチ２１４−１〜３は、対応するサーバにおいてプロセッサが所定のプログラムを実行することによって実現される、仮想的に設けられたネットワーク中継器であり、レイヤ２（Ｌ２）スイッチである。仮想スイッチ２１４−１〜３はそれぞれ、スイッチ装置２０４−１〜５と同様に、トラフィックデータのフォワーディング情報が格納されたフォワーディング情報テーブルを有する。仮想スイッチ２１４−１〜３は、ＶＭ又はスイッチ装置からトラフィックデータを受けとる。仮想スイッチ２１４−１〜３は、フォワーディング情報テーブルを参照することにより、レイヤ２（データリンク層）の通信プロトコルに基づいてスイッチング制御を行い、受けとったトラフィックデータを出力する出力インターフェースを決定する。
【００３１】
さらに、仮想スイッチ２１４−１〜３はそれぞれ、アドレス変換部２２２〜２２６を有する。サーバ２０２−１〜３は、後述するように、移動対象のＶＭの移動先のサーバである場合には、管理装置２０８から、自装置に割り当てた仮ＭＡＣアドレスの情報を受けとり、対応するアドレス変換部２２２〜２２６を活性化させる。活性化されたアドレス変換部２２２〜２２６はそれぞれ、管理装置２０８によって割り当てられた仮ＭＡＣアドレスに基づいて、対応する仮想スイッチ２１４−１〜３が受けとったトラフィックデータに含まれるＭＡＣアドレスの変換処理を行う。
【００３２】
アドレス変換部２２２〜２２６はそれぞれ、対応する仮想スイッチ２１４−１〜３がＶＭ２１２−１〜６からトラフィックデータを受けとった場合、そのトラフィックデータにおいて、その宛先となるＶＭを示すＭＡＣアドレス（宛先ＭＡＣアドレス）を、管理装置２０８によって指定された仮ＭＡＣアドレスに変換する。どのＶＭに対応する宛先ＭＡＣアドレスを変換対象とするかは、後述するように、管理装置２０８によって指定される。
【００３３】
また、アドレス変換部２２２〜２２６はそれぞれ、対応する仮想スイッチ２１４−１〜３がスイッチ装置２０４−１〜３からトラフィックデータを受けとった場合、そのトラフィックデータにおいて、その宛先ＭＡＣアドレスが、管理装置２０８によって指定された仮ＭＡＣアドレスであった場合、その仮ＭＡＣアドレスを、対応する仮想スイッチ２１４−１〜３と接続されたＶＭ２１２−１〜６の中の１つのＶＭに対応するＭＡＣアドレスに変換する。どのＶＭに対応するＭＡＣアドレスに変換するかは、後述するように、管理装置２０８によって指定される。
【００３４】
ＶＭ２１２−１〜６の各々は、他のＶＭとの間にコネクションを確立し、コネクションを確立したＶＭとの間でトラフィックデータの通信を行う。２つのＶＭとの間でコネクションが確立されると、その２つのＶＭの間には、仮想スイッチ２１４−１〜３、及び、スイッチ装置２０４−１〜５の少なくとも１つを経由する通信経路が確立される。各通信経路は、その通信経路上に位置するスイッチ装置及び仮想スイッチの各々において、上述したスイッチング制御が実行された結果として、確立されるものである。
【００３５】
管理装置２０８は、サーバ２０２−１〜３、及びスイッチ装置２０４−１〜５と、図２において一点鎖線で示した、管理用のネットワーク回線を介して接続されている。一点鎖線で示した管理用ネットワーク回線は、実線で示したデータ通信用ネットワーク回線とは独立した回線である。
【００３６】
管理装置２０８は、管理用ネットワーク回線を介して、サーバ２０２−１〜３から管理情報を受けとる。管理情報は例えば、サーバ２０２−１〜３に属するＶＭ２１２−１〜６の間で行われている通信の内容を示す情報であり、通信の宛先となるＶＭに割り当てられたＭＡＣアドレスや、送信元となるＶＭに割り当てられたＭＡＣアドレス等の情報を含む。管理装置２０８は、受けとった管理情報に基づいて、データセンタネットワーク２００において、どのＶＭの間で通信が行われているかを監視する。
【００３７】
管理装置２０８は、データセンタネットワークシステム２００を構成するサーバ２０２−１〜３に属する複数のＶＭについて、その生成、消滅及び移動を管理する。管理装置２０８は、移動対象とするＶＭを決定するとともに、その移動対象ＶＭの移動先となるサーバを決定することにより、ＶＭのライブマイグレーションの実行を制御する。管理装置２０８は、管理用ネットワーク回線を介して、移動対象ＶＭの移動元サーバと移動先サーバに対して、移動対象ＶＭをライブマイグレーションにより移動させることを示す指示情報を送信する。
【００３８】
さらに、管理装置２０８は、上述の仮ＭＡＣアドレスを生成し、サーバ２０２−１〜３に対して、生成した仮ＭＡＣアドレスを、管理用ネットワーク回線を介して通知する。仮ＭＡＣアドレスは、ライブマイグレーションによるＶＭの移動が発生したときに、一時的に用いられるＭＡＣアドレスである。管理装置２０８は、ライブマイグレーションによる移動対象のＶＭの移動先サーバに対して、仮ＭＡＣアドレスを割り当てる。管理装置２０８は、管理用ネットワーク回線を介して、割り当てた仮ＭＡＣアドレスの情報を、移動対象ＶＭの移動先サーバに送信する。また、管理装置２０８は、管理用ネットワーク回線を介して、移動対象ＶＭの移動先サーバに対して、対応する仮想スイッチに含まれるアドレス変換部を活性化させることを示す指示情報を送信する。
【００３９】
［１−２．データセンタネットワークシステム２００の通信制御方法］
次に、ライブマイグレーションによるＶＭの移動に際して、データセンタネットワークシステム２００において行われる通信制御方法を説明する。
【００４０】
以下の説明では、データセンタネットワークシステム２００において、サーバ２０２−１〜３に属する複数のＶＭ２１２−１〜６のうち、２つのＶＭの間で通信経路が確立されている状態の下で、宛先となるＶＭ（宛先ＶＭ）が移動した場合を例にとって説明するが、送信元となるＶＭ（送信元ＶＭ）が移動した場合も、同様の通信制御方法が実行される。
【００４１】
［１−２−１．仮ＭＡＣアドレスによる通信経路の設定］
ライブマイグレーションによりＶＭが移動する前後において、データセンタネットワークシステム２００において行われる通信制御方法を、図３及び図４を用いて説明する。
【００４２】
図３は、ＶＭ移動の前後において行われる、仮ＭＡＣアドレスによる通信経路の設定処理を説明するためのシステム構成図である。図４は、ＶＭ移動の前後において行われる、仮ＭＡＣアドレスによる通信経路の設定処理を示すシーケンスチャートである。
【００４３】
まず、ＶＭの移動が起こる前における、データセンタネットワークシステム２００の状態について説明する。
【００４４】
図３に示した例では、ＶＭの移動前において、太幅の一点鎖線で示したように、サーバ２０２−１に属するＶＭ２１２−１とサーバ２０２−３に属するＶＭ２１２−４の間に通信経路が確立され、ＶＭ２１２−４からＶＭ２１２−１への通信が行われている。宛先となるＶＭ２１２−１にはＭＡＣアドレス“A0”が割り当てられ、送信元となるＶＭ２１２−４にはＭＡＣアドレス“A1”が割り当てられている。
【００４５】
各々のスイッチ装置２０４−１〜５は、内部のフォワーディング情報テーブルにおいて、宛先ＶＭ２１２−１のＭＡＣアドレス“A0”と、その宛先ＭＡＣアドレス“A0”に対応する出力インターフェースの対応関係を示す情報を格納している。例えば、図３に示したように、スイッチ装置２０４−３は、内部のフォワーディング情報テーブルにおいて、宛先ＶＭ２１２−１のＭＡＣアドレス“A0”に対応する出力インターフェースとして、インターフェースｉｆ＿０を対応づける。フォワーディング情報テーブルの詳細については、後述する。
【００４６】
管理装置２０８は、管理用ネットワーク回線を介して、サーバ２０２−１及びサーバ２０２−３より、ＶＭ２１２−１とＶＭ２１２−４の間の通信の内容を示す管理情報を受信する。管理装置２０８は、受信した管理情報に基づいて、ＶＭ２１２−４からＶＭ２１２−１への通信が行われていることを認識する。
【００４７】
尚、ＶＭの移動前の段階では、各々のサーバ２０２−１〜３において、アドレス変換部２２２〜２２６は活性化されておらず、上述のＭＡＣアドレス変換処理は実行されていない。
【００４８】
以上の状態の下において、図４に示したように、ステップＳ４０２において、管理装置２０８は、ＶＭ２１２−１をサーバ２０２−１からサーバ２０２−２に移動することを決定する。すなわち、管理装置２０８は、移動対象ＶＭ２１２−１について、サーバ２０２−１からサーバ２０２−２へのライブマイグレーションの実行を決定する。管理装置２０８は例えば、サーバ２０２−１における演算処理の負荷や、サーバ２０２−１に対する通信経路の負荷等の種々の要因を考慮して、ライブマイグレーションによるＶＭ２１２−１の移動を決定する。管理装置２０８は、管理用ネットワーク回線と介して、サーバ２０２−１及びサーバ２０２−２に対して、ライブマイグレーションによりＶＭ２１２−１をサーバ２０２−１からサーバ２０２−２に移動させるように指示する。
【００４９】
次に、ステップＳ４０４において、管理装置２０８は、ステップＳ４０２において移動対象ＶＭに決定したＶＭ２１２−１が、ＶＭ２１２−１とＶＭ２１２−４の間の現在実行中の通信において、宛先ＶＭとなっていることを認識する。
【００５０】
そして、管理装置２０８は、移動対象ＶＭ２１２−１の移動先サーバ２０２−２に対して、仮ＭＡＣアドレスを割り当てる。図３に示した例では、管理装置２０８は、移動対象のＶＭ２１２−１が、ＶＭ２１２−４とＶＭ２１２−１の間の通信において、宛先ＶＭとなっており、移動対象のＶＭ２１２−１の移動先のサーバであるサーバ２０２−２に対して、仮ＭＡＣアドレス“M0”を割り当てる。管理装置２０８は、管理用ネットワーク回線を介して、割り当てた仮ＭＡＣアドレス“M0”の情報を移動先サーバ２０２−２に送信する。
【００５１】
移動先サーバ２０２−２は、管理装置２０８から、自装置に割り当てられた仮ＭＡＣアドレス“M0”の情報を受けとる。移動先サーバ２０２−２は、受けとった仮ＭＡＣアドレス“M0”を、内部の仮想スイッチ２１４−２に割り当てる。
【００５２】
次に、ステップＳ４０６において、管理装置２０８は、管理用ネットワーク回線を介して、データネットワークシステム２００に含まれる各々のスイッチ装置２０４−１〜５に対して、ステップＳ４０４において仮想スイッチ２１４−２に割り当てられた仮ＭＡＣアドレス“M0”に対して、通信経路を設定するように指示する指示メッセージを送信する。管理装置２０８からの指示メッセージには、仮ＭＡＣアドレス“M0”とともに、対応する出力インターフェースの情報が含まれる。
【００５３】
各々のスイッチ装置２０４−１〜５は、管理要ネットワーク回線を介して、管理装置２０８から、仮ＭＡＣアドレス“M0”に対して通信経路を設定するように指示する指示メッセージを受信する。各々のスイッチ装置２０４−１〜５は、受信した指示メッセージに基づいて、内部のフォワーディング情報テーブルにおいて、仮ＭＡＣアドレス“M0”と、その仮ＭＡＣアドレス“M0”に対応する出力インターフェースの対応関係を示す情報を追加する。
【００５４】
例えば、図３に示したように、スイッチ装置２０４−３は、内部のフォワーディング情報テーブルにおいて、仮ＭＡＣアドレス“M0”に対応する出力インターフェースとして、インターフェースｉｆ＿１を対応づける。フォワーディング情報テーブルの詳細については、後述する。
【００５５】
各々のスイッチ装置２０４−１〜５においてフォワーディング情報テーブルの更新が完了すると、図３に示した例では、スイッチ装置２０４−２、３、５と仮想スイッチ２１４−２、３の間においては、太幅の実線で示したように、仮ＭＡＣアドレス“M0”を有する仮想スイッチ２１４−２に対する通信経路が確立される。すなわち、宛先ＭＡＣアドレスとして仮ＭＡＣアドレス“M0”を有するトラフィックデータは、太幅の実線で示した通信経路を介して、サーバ２０２−3からサーバ２０２−２に送信されることになる。
【００５６】
次に、ステップＳ４０８において、管理装置２０８は、ステップＳ４０４において割り当てられた仮アドレス“M0”と、移動対象ＶＭ２１２−１に割り当てられたＭＡＣアドレス“A0”の情報を、管理用ネットワーク回線を介して、移動対象ＶＭ２１２−１に対応する送信元ＶＭ２１２−４が属するサーバ（送信元サーバ）２０２−３に送信する。
【００５７】
管理装置２０８はさらに、管理用ネットワーク回線を介して、送信元サーバ２０２−３に対して、仮ＭＡＣアドレス“M0”に基づくＭＡＣアドレスの変換処理を設定するように指示する。送信元サーバ２０２−３は、管理装置２０８からの指示に基づいて、内部のアドレス変換部２２６において、仮ＭＡＣアドレス“M0”に基づくＭＡＣアドレス変換処理を設定する。すなわち、アドレス変換部２２６は、アドレス変換テーブルを生成し、生成されたアドレス変換テーブルに基づいて、仮想スイッチ２１４−３が、対応するＶＭ２１２−４、５から、移動対象ＶＭ２１２−１宛てのトラフィックデータを受けとったとき、受けとったトラフィックデータにおいて、宛先ＭＡＣアドレス“A0”を、仮ＭＡＣアドレス“M0”に変換する。
【００５８】
図３に示した例では、アドレス変換部２２６は、ＶＭ２１２−４からＶＭ２１２−１宛てのトラフィックデータにおいて、送信元ＶＭを示すＭＡＣアドレス（送信元ＭＡＣアドレス）“A1”と宛先ＭＡＣアドレス“A0”の組み合わせを、送信元ＭＡＣアドレス“A1”と宛先ＭＡＣアドレス“M0”の組み合わせに変換する。
【００５９】
尚、このステップでは、アドレス変換部２２６は活性化されておらず、ＶＭ２１２−４から受信されたトラフィックデータに対して、設定したＭＡＣアドレス変換処理は実行されない。
【００６０】
次に、ステップＳ４１０において、管理装置２０８は、管理用ネットワーク回線を介して、移動先サーバ２０２−２に対して、仮ＭＡＣアドレス“M0”に基づくＭＡＣアドレスの変換処理を設定するように指示する。移動先サーバ２０２−２は、管理装置２０８からの指示に基づいて、内部のアドレス変換部２２４において、仮ＭＡＣアドレス“M0”に基づくＭＡＣアドレス変換処理を設定する。すなわち、アドレス変換部２２４は、アドレス変換テーブルを生成し、生成されたアドレス変換テーブルに基づいて、仮想スイッチ２１４−２が、対応するスイッチ装置２０４−２からトラフィックデータを受けとったとき、受けとったトラフィックデータにおいて、仮想スイッチ２１４−２に割り当てられた宛先ＭＡＣアドレス“M0”を、本来の宛先であるＶＭ２１２−１のＭＡＣアドレス“A0”に変換する。
【００６１】
図３に示した例では、アドレス変換部２２４は、ＶＭ２１２−４からＶＭ２１２−１宛てのトラフィックデータにおいて、送信元ＭＡＣアドレス“A1”と宛先ＭＡＣアドレス“M0”の組み合わせを、送信元ＭＡＣアドレス“A1”と宛先ＭＡＣアドレス“A0”の組み合わせに変換する。
【００６２】
さらに、管理装置２０８は、管理用ネットワーク回線を介して、移動先サーバ２０２−２に対して、対応する仮想スイッチ２１４−２に含まれるアドレス変換部２２４を活性化させるように指示する。
【００６３】
移動先サーバ２０２−２は、管理装置２０８からの指示に基づいて、内部に設けられたアドレス変換部２２４を活性化させる。これにより、仮想スイッチ２１４−２においては、設定した上述のＭＡＣアドレス変換処理が有効になり、対応するスイッチ装置２０４−２から受信されるトラフィックデータに対して、上述のＭＡＣアドレス変換処理が実行されるようになる。
【００６４】
次に、ステップＳ４１２において、管理装置２０８は、管理用ネットワーク回線を介して、移動元サーバ２０２−１に対して、ステップＳ４０２において移動対象に決定したＶＭ２１２−１を、ライブマイグレーションによりサーバ２０２−１からサーバ２０２−２へ移動させるように指示する。
【００６５】
次に、ステップＳ４１４において、移動元サーバ２０２−１は、管理装置２０８からの指示に基づいて、移動対象ＶＭ２１２−１に対して周知のライブマイグレーションを実行することにより、ＶＭ２１２−１をサーバ２０２−１からサーバ２０２−２へ移動させる。ライブマイグレーションにおいては、例えば、移動元サーバ２０２−１は移動先サーバ２０２−２に対して、移動対象ＶＭ２１２−１に関する種々の設定情報を、管理用ネットワーク回線を介して転送する。
【００６６】
次に、ステップＳ４１６において、移動元サーバ２０２−１は、ライブマイグレーションによる、移動対象ＶＭ２１２−１の移動が完了したとき、管理用ネットワーク回線を介して、管理装置２０８に対して、ＶＭ２１２−１の移動完了通知を送信する。移動元サーバ２０２−１は例えば、移動対象ＶＭ２１２−１に関する種々の設定情報の移動先サーバ２０２−２への転送が正常に完了したときに、管理装置２０８に対して、ＶＭ２１２−１の移動完了通知を送信する。
【００６７】
次に、ステップＳ４１８において、管理装置２０８は、移動元サーバ２０２−１から移動対象ＶＭ２１２−１の移動完了通知を受信したとき、管理用ネットワーク回線を介して、移動対象ＶＭ２１２−１に対応する送信元サーバ２０２−３に対して、対応する仮想スイッチ２１４−３に含まれるアドレス変換部２２６を活性化させるように指示する。
【００６８】
送信元サーバ２０２−３は、管理装置２０８からの指示に基づいて、内部に設けられたアドレス変換部２２６を活性化させる。これにより、仮想スイッチ２１４−３においては、ステップＳ４０８において設定したＭＡＣアドレス変換処理が有効になり、対応するＶＭ２１２−４から受信されるトラフィックデータに対して、上述のMＡＣアドレス変換処理が実行されるようになる。
【００６９】
以上説明したステップＳ４０２からＳ４１８までの処理によって、図３に示した例では、移動先サーバ２０２−２へのＶＭ２１２−１の移動が完了した時点で、送信元ＶＭ２１２−４と宛先ＶＭ２１２−１の間においては、太幅の実線で示したように、アドレス変換部２２４とアドレス変換部２２６を介した一時的な通信経路がすでに確立されている。
【００７０】
これにより、送信元ＶＭ２１２−４と宛先ＶＭ２１２−１の間においては、通信の実行中にＶＭの移動が起こった場合であっても、ＶＭ２１２−１の移動が完了した時点で、すでに確立された一時的な通信経路に、通信経路を切り替えることができるので、通信を途絶させることなく、送信元ＶＭ２１２−４と宛先ＶＭ２１２−１の間の通信を継続させることができる。
【００７１】
また、図３の太幅実線で示した通信経路においては、確立された通信経路のうち、アドレス変換部２２４とアドレス変換部２２６の間の部分は、管理装置２０８によって割り当てられた仮ＭＡＣアドレス“M0”を有する仮想スイッチ２１４−２に対して確立された通信経路である。
【００７２】
通信経路の切り替えに、仮ＭＡＣアドレス“M0”を有する仮想スイッチ２１４−２に対して確立された一時的な通信経路を利用することによって、通信の実行中に宛先ＶＭ２１２−１の移動が起こった場合であっても、ＶＭ２１２−１の移動が完了した時点で、即座に通信経路を、仮ＭＡＣアドレス“M0”を用いて一時的に確立された通信経路に切り替えることができるので、通信を途絶させることなく、送信元ＶＭ２１２−４と宛先ＶＭ２１２−１の間の通信を継続させることができる。
【００７３】
アドレス変換部２２４、２２６によるＭＡＣアドレス変換処理によって、送信元ＶＭ２１２−４と宛先ＶＭ２１２−１は、通信を行うに際して仮ＭＡＣアドレス“M0”の情報を一切考慮する必要がないので、ＶＭの移動の前後においてトラフィックデータの内容を変更することなく通信を行うことができる。これにより、通信が途絶することなく、送信元ＶＭ２１２−４と宛先ＶＭ２１２−１の間の通信を継続することができる。
【００７４】
［１−２−２．ＶＭ移動後における仮ＭＡＣアドレスの回収］
ライブマイグレーションによりＶＭが移動した後において、データセンタネットワークシステム２００において行われる通信制御方法を、図５及び図６を用いて説明する。
【００７５】
図５は、ＶＭ移動後において行われる、仮ＭＡＣアドレスの回収処理を説明するためのシステム構成図である。図６は、ＶＭ移動後において行われる、仮ＭＡＣアドレスの回収処理を示すシーケンスチャートである。
【００７６】
まず、ＶＭの移動が完了した後における、データセンタネットワークシステム２００の状態について説明する。
【００７７】
図５に示した例では、ＶＭの移動後において、太幅の実線で示したように、ライブマイグレーションによる移動によってサーバ２０２−２に属することとなったＶＭ２１２−１と、サーバ２０２−３に属するＶＭ２１２−４の間に通信経路が確立され、ＶＭ２１２−４からＶＭ２１２−１への通信が行われている。図５に示した状態は、図４のステップＳ４１８の処理が終了した後におけるデータセンタネットワーク２００の状態に対応するものである。
【００７８】
ＶＭの移動後の段階では、送信元ＶＭ２１２−４及び宛先ＶＭ２１２−１が属するサーバ２０２−２、３においては、対応するアドレス変換部２２４、２２６が活性化されており、各アドレス変換部２２４、２２６において上述のＭＡＣアドレス変換処理が実行されている。すなわち、送信元ＶＭ２１２−４と宛先ＶＭ２１２−１の間においては、アドレス変換部２２４とアドレス変換部２２６を介した通信経路が確立されており、確立された通信経路のうち、アドレス変換部２２４とアドレス変換部２２６の間の部分は、仮ＭＡＣアドレス“M0”を有する仮想スイッチ２１４−２に対して確立された通信経路である。
【００７９】
以上の状態の下において、図６に示したように、ステップＳ６０２において、管理装置２０８は、管理用ネットワーク回線を介して、データネットワークシステム２００に含まれる各々のスイッチ装置２０４−１〜５及びサーバ２０２−１、３に対して、移動されたＶＭ２１２−１のＭＡＣアドレス“A0”に対して移動前に設定された通信経路を削除するように指示する。
【００８０】
各々のスイッチ装置２０４−１〜５及びサーバ２０２−１、３は、管理装置２０８からの指示に基づいて、内部のフォワーディング情報テーブルを更新する。すなわち、各々のスイッチ装置２０４−１〜５及びサーバ２０２−１、３は、内部のフォワーディング情報テーブルから、移動されたＶＭ２１２−１のＭＡＣアドレス“A0”と、そのＭＡＣアドレス“A0”に対応する出力インターフェースの対応関係を示す情報を削除する。
【００８１】
尚、図５に示した例では、ＶＭ２１２−１の移動先サーバであるサーバ２０２−２に対しては、上述の通信経路の削除指示は行われないが、他のサーバ２０２−１、３と同様に、通信経路の削除指示を行うようにしてもよい。
【００８２】
次に、ステップＳ６０４において、管理装置２０８は、管理用ネットワーク回線を介して、各々のスイッチ装置２０４−１〜５及びサーバ２０２−２、３に対して、移動されたＶＭ２１２−１のＭＡＣアドレス“A0”に対して、新たに通信経路を設定するように指示する指示メッセージを送信する。管理装置２０８からの指示メッセージには、仮ＭＡＣアドレス“M0”とともに、対応する出力インターフェースの情報が含まれる。
【００８３】
各々のスイッチ装置２０４−１〜５及び及びサーバ２０２−２、３は、管理要ネットワーク回線を介して、管理装置２０８から、移動されたＶＭ２１２−１のＭＡＣアドレス“A0”に対して通信経路を設定するように指示する指示メッセージを受信する。各々のスイッチ装置２０４−１〜５及びサーバ２０２−３は、受信した指示メッセージに基づいて、内部のフォワーディング情報テーブルにおいて、ＭＡＣアドレス“A0”と、そのＭＡＣアドレス“A0”に対応する出力インターフェースの対応関係を示す情報を追加する。
【００８４】
例えば、図５に示したように、スイッチ装置２０４−３は、内部のフォワーディング情報テーブルにおいて、宛先ＶＭ２１２−１のＭＡＣアドレス“A0”に対応する出力インターフェースとして、インターフェースｉｆ＿１を対応づける。フォワーディング情報テーブルの詳細については、後述する。
【００８５】
各々のスイッチ装置２０４−１〜５及びサーバ２０２−３においてフォワーディング情報テーブルの更新が完了すると、図５に示した例では、スイッチ装置２０４−２、３、５、仮想スイッチ２１４−２、３及びＶＭ２１２−１、４の間においては、太幅の破線で示したように、ＭＡＣアドレス“A0”を有する移動されたＶＭ２１２−１に対する通信経路が確立される。すなわち、宛先ＭＡＣアドレスとして、移動されたＶＭ２１２−１のＭＡＣアドレス“A0”を有するトラフィックデータは、太幅の破線で示した通信経路を介して、サーバ２０２−３からサーバ２０２−２に送信されることになる。
【００８６】
尚、図５に示した例では、ＶＭ２１２−１の移動元サーバであるサーバ２０２−１に対しては、上述の通信経路の設定指示は行われないが、他のサーバ２０２−３と同様に、通信経路の設定指示を行うようにしてもよい。
【００８７】
次に、ステップＳ６０６において、管理装置２０８は、送信元ＶＭ２１２−４が属するサーバ２０２−３に対して、対応するアドレス変換部２２６を不活性化するように指示する。
【００８８】
送信元サーバ２０２−３は、管理装置２０８からの指示に基づいて、内部に設けられたアドレス変換部２２６を不活性化する。これにより、仮想スイッチ２１４−３においては、図４のステップＳ４０８において設定したＭＡＣアドレス変換処理が無効化され、対応するＶＭ２１２−４から受信されるトラフィックデータに対して、上述のＭＡＣアドレス変換処理が実行されなくなる。
【００８９】
尚、仮想スイッチ２１４−３においては、ＭＡＣアドレス変換処理を無効化する代わりに、ＭＡＣアドレス変換処理を行う際に用いられるアドレス変換テーブルを削除するようにしてもよい。
【００９０】
次に、ステップＳ６０８において、管理装置２０８は、移動されたＶＭ２１２−１が属するサーバ２０２−２に対して、対応するアドレス変換部２２４を不活性化するように指示する。
【００９１】
移動先サーバ２０２−２は、管理装置２０８からの指示に基づいて、内部に設けられたアドレス変換部２２４を不活性化する。これにより、仮想スイッチ２１４−２においては、図４のステップＳ４１０において設定したＭＡＣアドレス変換処理が無効化され、対応するスイッチ装置２０４−２から受信されるトラフィックデータに対して、上述のＭＡＣアドレス変換処理が実行されなくなる。
【００９２】
尚、仮想スイッチ２１４−２においては、ＭＡＣアドレス変換処理を無効化する代わりに、ＭＡＣアドレス変換処理を行う際に用いられるアドレス変換テーブルを削除するようにしてもよい。
【００９３】
次に、ステップＳ６１０において、管理装置２０８は、管理用ネットワーク回線を介して、各々のスイッチ装置２０４−１〜５に対して、仮想スイッチ２１４−２に割り当てられた仮ＭＡＣアドレス“M0”に対して移動前に設定された通信経路を削除するように指示する。
【００９４】
各々のスイッチ装置２０４−１〜５は、管理装置２０８からの指示に基づいて、内部のフォワーディング情報テーブルを更新する。すなわち、各々のスイッチ装置２０４−１〜５は、内部のフォワーディング情報テーブルから、仮ＭＡＣアドレス“M0”と、その仮ＭＡＣアドレス“M0”に対応する出力インターフェースの対応関係を示す情報を削除する。
【００９５】
各々のスイッチ装置２０４−１〜５においてフォワーディング情報テーブルの更新が完了すると、図５に示した例では、スイッチ装置２０４−２、３、５と仮想スイッチ２１４−２、３の間においては、太幅の実線で示した、仮ＭＡＣアドレス“M0”を有する仮想スイッチ２１４−２に対する通信経路が削除される。
【００９６】
以上説明したステップＳ６０２からＳ６１０までの処理によって、図５に示した例では、移動先サーバ２０２−２へのＶＭ２１２−１の移動が完了した後に、送信元ＶＭ２１２−４と宛先ＶＭ２１２−１の間において、太幅の実線で示した、アドレス変換部２２４とアドレス変換部２２６を介した通信経路が確立された状態で、太幅の破線で示したように、アドレス変換部２２４とアドレス変換部２２６を介さない通信経路が新たに確立される。
【００９７】
そして、送信元ＶＭ２１２−４と宛先ＶＭ２１２−１の間において、太幅の破線で示した、アドレス変換部２２４とアドレス変換部２２６を介さない通信経路が確立された状態で、太幅の実線で示した、アドレス変換部２２４とアドレス変換部２２６を介した通信経路が削除される。それによって、送信元ＶＭ２１２−４から宛先ＶＭ２１２−１への通信経路が、仮ＭＡＣアドレス“M0”を用いて設定された一時的な通信経路（実線で示された通信経路）から、移動されたＶＭ２１２−１に対する本来の通信経路（破線で示された通信経路）に切り替えられる。
【００９８】
よって、送信元ＶＭ２１２−４から宛先ＶＭ２１２−１への通信を途絶させることなく、その通信経路を一時的な通信経路から、ＶＭの移動後の位置に応じて新たに確立された通信経路に切り替えることができる。
【００９９】
また、移動されたＶＭ２１２−１に対する本来の通信経路（破線で示された通信経路）が確立された後に、仮ＭＡＣアドレス“M0”を用いて設定された一時的な通信経路（実線で示された通信経路）が削除されることにより、管理装置２０８は、移動先サーバ２０２−２に割り当てた仮ＭＡＣアドレス“M0”を回収することができる。
【０１００】
よって、管理装置２０８はその後、他のＶＭについてライブマイグレーションによる移動が起こった場合でも、仮アドレスＭＡＣアドレスとして同一のアドレス“M0”を割り当てることができる。これにより、管理装置２０８においては、ＶＭの移動が起こった際に仮ＭＡＣアドレスを割り当てることに起因して、管理装置２０８が管理するＭＡＣアドレスの数が増加するのを防止することができる。
【０１０１】
［１−２．サーバ２０２の構成］
［１−２−１．サーバ２０２の内部構成］
図７は、第１実施例に係るサーバ２０２（２０２−１〜３）の内部構成を示す機能ブロック図である。図８は、フォワーディング情報テーブル７１２の一例を示す図である。図９は、アドレス変換テーブル７１４の一例を示す図である。
【０１０２】
図７に示したように、データセンタネットワークシステム２００に含まれるサーバ２０２は、ＶＭ７０２−１〜ｎ、仮想スイッチ７０４、ネットワークインターフェース７０６−１〜ｍ、ハイパーバイザ７０８、アドレス変換部７１０、フォワーディング情報テーブル７１２、アドレス変換テーブル７１４及びネットワークインターフェース７１６を含む。
【０１０３】
ハイパーバイザ７０８は、サーバ２０２全体の管理及び動作制御を行う。ハイパーバイザ７０８は、ＶＭ７０２−１〜ｎ、仮想スイッチ７０４、及びネットワークインターフェース７０６−１〜ｍ、７１６の動作を制御する。ハイパーバイザ７０８は、ＶＭ７０２−１〜ｎ及びネットワークインターフェース７０６−１〜ｍ、７１６の各々に対して、仮想スイッチ７０４において、複数の仮想インターフェース（仮想インターフェースａ〜ｅ、ｚ等）の中から、対応する１つの仮想インターフェースを割り当てる。
【０１０４】
ＶＭ７０２−１〜ｎ（ｎは正の整数）は、サーバ２０２に設けられた仮想マシンであり、コンピュータの動作をエミュレートするソフトウェアである。ＶＭ７０２−１〜ｎは、自装置で生成したトラフィックデータを仮想スイッチ７０４に出力し、また、仮想スイッチ７０４から、他のサーバに設けられたＶＭで生成されたトラフィックデータを受け取る。図７に示した例では、ＶＭ７０２−１、２及びｎはそれぞれ、仮想スイッチ７０４の仮想インターフェースｃ、ｄ及びｅに接続されている。
【０１０５】
ネットワークインターフェース７０６−１〜ｍ（ｍは正の整数）は、サーバ２０２に設けられた送受信インターフェースである。ネットワークインターフェース７０６−１〜ｍは、図２に示したデータセンタネットワークシステム２００において、データ通信用ネットワーク回線を介して、他のスイッチ装置やサーバとの間でトラフィックデータの送受信を行う。図７に示した例では、ネットワークインターフェース７０６−１及びｍはそれぞれ、仮想スイッチ７０４の仮想インターフェースａ及びｂに接続されている。
【０１０６】
また、ネットワークインターフェース７１６は、サーバ２０２に設けられた送受信インターフェースである。ネットワークインターフェース７１６は、図２に示したデータセンタネットワークシステム２００において、管理用ネットワーク回線を介して、管理装置２０８との間で管理情報の送受信を行う。図７に示した例では、ネットワークインターフェース７１６は、仮想スイッチ７０４の仮想インターフェースｚに接続されている。
【０１０７】
仮想スイッチ７０４は、仮想インターフェースａ〜ｅ、ｚ等の複数の仮想インターフェースを含む。仮想スイッチ７０４は、複数の仮想インターフェース（仮想インターフェースａ〜ｅ等）を介して、ＶＭ７０２−１〜ｎ及びネットワークインターフェース７０６−１〜ｍから、トラフィックデータを受けとる。仮想スイッチ７０４は、受けとったトラフィックデータについて、ＶＭ７０２−１〜ｎとネットワークインターフェース７０６−１〜ｍの間の通信を制御する。仮想スイッチ７０４は、図３及び図５に示した仮想スイッチ２１４−１〜３に対応するものである。
【０１０８】
仮想スイッチ７０４は、ＶＭ７０２−１〜ｎからトラフィックデータを受けとったとき、フォワーディング情報テーブル７１２を参照することによりスイッチング制御を行う。図８に示したように、フォワーディング情報テーブル７１２は、トラフィックデータの宛先を示すＭＡＣアドレス（宛先ＭＡＣアドレス）と、トラフィックデータの出力インターフェースとなる、仮想スイッチ７０４の仮想インターフェースとの間の対応関係を示す情報を格納している。
【０１０９】
仮想スイッチ７０４は、フォワーディング情報テーブル７１２を参照することにより、受けとったトラフィックデータに含まれる宛先ＭＡＣアドレスに基づいて、複数の仮想インターフェースの中から、受けとったトラフィックデータを出力する仮想インターフェースを決定する。仮想スイッチ７０４は、決定された仮想インターフェース（出力インターフェース）を介して、受けとったトラフィックデータを、複数のネットワークインターフェース７０６−１〜ｍの中の、対応するネットワークインターフェースに出力する。
【０１１０】
尚、仮想スイッチ７０４は、アドレス変換部７１０が活性化され、アドレス変換部７１０によるＭＡＣアドレス変換処理が有効となっている場合には、アドレス変換部７１０によるアドレス変換処理後の宛先ＭＡＣアドレスに基づいて、出力インターフェースを決定する。
【０１１１】
また、仮想スイッチ７０４は、仮想インターフェース（仮想インターフェースｚ等）を介して、ネットワークインターフェース７１６から、管理装置２０８から送信された種々の情報を受けとる。仮想スイッチ７０４は、管理装置２０８から、移動対象ＶＭの移動先サーバに割り当てられた仮ＭＡＣアドレスの情報を受けとったとき、内部に設けられたアドレス変換部７１０において実行されるアドレス変換処理を用いるアドレス変換テーブル７１４を生成する。アドレス変換部７１０は、図３及び図５に示したアドレス変換部２２２〜２２６に対応するものである。
【０１１２】
仮想スイッチ７０４は、管理装置２０８から、対応するアドレス変換部を活性化させることを示す指示を受けとったとき、アドレス変換部７１０を活性化させる。活性化されたアドレス変換部７１０は、生成されたアドレス変換テーブルを参照することにより、対応する仮想スイッチ７０４が受けとったトラフィックデータに含まれる宛先ＭＡＣアドレスの変換処理を行う。
【０１１３】
図９（Ａ）に示したように、仮想スイッチ７０４は、移動対象ＶＭ（宛先ＶＭ）に対応する送信元ＶＭが属するサーバ（送信元サーバ）に含まれるものであるとき、アドレス変換テーブル７１４において、アドレス変換前の宛先ＭＡＣアドレスとして、移動対象ＶＭに割り当てられたＭＡＣアドレスを設定し、アドレス変換後の宛先ＭＡＣアドレスとして、管理装置２０８から受け取った仮ＭＡＣアドレスを設定する。
【０１１４】
送信元サーバに含まれる仮想スイッチ７０４において、アドレス変換部７１０は、図９（Ａ）に示したアドレス変換テーブル７１４を参照することにより、対応する仮想スイッチ７０４が受けとったトラフィックデータに含まれる宛先ＭＡＣアドレスを、移動対象ＶＭ（宛先ＶＭ）に割り当てられたＭＡＣアドレスから、仮ＭＡＣアドレスに変換する。
【０１１５】
一方、図９（Ｂ）に示したように、仮想スイッチ７０４は、移動対象ＶＭ（宛先ＶＭ）の移動先サーバに含まれるものであるとき、アドレス変換テーブル７１４において、アドレス変換前の宛先ＭＡＣアドレスとして、管理装置２０８から受け取った仮ＭＡＣアドレスを設定し、アドレス変換後の宛先ＭＡＣアドレスとして、移動対象ＶＭに割り当てられたＭＡＣアドレスを設定する。
【０１１６】
移動先サーバに含まれる仮想スイッチ７０４において、アドレス変換部７１０は、図９（Ｂ）に示したアドレス変換テーブル７１４を参照することにより、対応する仮想スイッチ７０４が受けとったトラフィックデータに含まれる宛先ＭＡＣアドレスを、仮ＭＡＣアドレスから、移動対象ＶＭ（宛先ＶＭ）に割り当てられたＭＡＣアドレスに変換する。
【０１１７】
アドレス変換部７１０によるＭＡＣアドレス変換処理によって、各ＶＭ７０２−１〜ｎは、通信を行うに際して仮ＭＡＣアドレスの情報を一切考慮する必要がないので、ライブマイグレーションによる移動の前後においてトラフィックデータの内容を変更することなく通信を行うことができる。これにより、通信が途絶することなく、ＶＭ間の通信を継続することができる。
【０１１８】
［１−２−２．サーバ２０２のハードウェア構成］
図１０は、サーバ２０２の内部構成を示すハードウェア構成図である。
【０１１９】
図１０に示したように、サーバ２０２は、プロセッサ１００２、メモリ１００４、記憶装置１００６、データ通信用の送受信インターフェース１００８、管理用の送受信インターフェース１０１０、及びバス１０１２を含む。プロセッサ１００２、メモリ１００４、記憶装置１００６及び送受信インターフェース１００８、１０１０はそれぞれバス１０１２に接続されている。
【０１２０】
図７に示したサーバ２０２の各機能ブロックの機能は、図１０に示したハードウェア構成によって実現することができる。ここで、メモリ１００４は例えば、ＲＡＭである。記憶装置１００６は例えば、ＲＯＭやフラッシュメモリ等の不揮発性メモリ、あるいは、ＨＤＤ（Hard Disk Drive）等の磁気ディスク装置である。
【０１２１】
図７に示したＶＭ７０２−１〜ｎ、仮想スイッチ７０４、ハイパーバイザ７０８、アドレス変換部７１０の機能及び処理は、対応する機能及び処理を記述した処理プログラムを、プロセッサ１００２が実行することにより実現することができる。
【０１２２】
上述の処理プログラムは記憶装置１００６に格納されており、プロセッサ１００２が、記憶装置１００６に格納された処理プログラムをメモリ１００４に展開し、処理プログラムに記述された各処理を実行することにより、上述の各機能ブロックが実現される。
【０１２３】
図７に示したフォワーディング情報テーブル７１２及びアドレス変換テーブル７１４は、メモリ１００４又は記憶装置１００６によって実現される。プロセッサ１００２が、上述の処理プラグラムに記述された処理に基づいて、メモリ１００４又は記憶装置１００６に対して所望のアクセスを行うことにより、対応する記憶領域に対するデータが参照される。
【０１２４】
図７に示したネットワークインターフェース７０６−１〜ｍ、７１６の機能及び処理は、プロセッサ１００２が、対応する機能及び処理を記述した処理プログラムを実行し、さらに、データ通信用ネットワーク回線及び管理用ネットワーク回線に接続可能な送受信インターフェース１００８、１０１０を制御することによって実現することができる。送受信インターフェース１００８、１０１０は、例えば、周知のＩ／Ｏ（Input/Output）インターフェース回路である。
【０１２５】
尚、図７に示した上述の各機能ブロックは、図１０に示したハードウェア構成のほかに、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）等のＬＳＩによって実現するようにしてもよい。
【０１２６】
［１−３．スイッチ装置２０４の構成］
図１１は、第１実施例に係るスイッチ装置２０４（２０４−１〜５）の内部構成を示す機能ブロック図である。図１２は、フォワーディング情報テーブル１１１２の一例を示す図である。
【０１２７】
図１１に示したように、データセンタネットワークシステム２００に含まれるスイッチ装置２０４は、ネットワークインターフェース１１０２−１〜ｋ、１１０６−１〜ｊ、１１１６、スイッチング部１１０４、及びフォワーディング情報テーブル１１１２を含む。
【０１２８】
ネットワークインターフェース１１０２−１〜ｋ、１１０６−１〜ｊ（ｋ、ｊは正の整数）は、スイッチ装置２０４に設けられた送受信インターフェースである。ネットワークインターフェース１１０２−１〜ｋ、１１０６−１〜ｊは、図２に示したデータセンタネットワークシステム２００において、データ通信用ネットワーク回線を介して、他のスイッチ装置やサーバとの間でトラフィックデータの送受信を行う。図１１に示した例では、ネットワークインターフェース１１０２−１及びｋはそれぞれ、スイッチング部１１０４のインターフェースｉｆ＿３及びｉｆ＿４に接続され、ネットワークインターフェース１１０６−１及びｊはそれぞれ、スイッチング部１１０４のインターフェースｉｆ＿１及びｉｆ＿２に接続されている
また、ネットワークインターフェース１１１６は、スイッチ装置２０４に設けられた送受信インターフェースである。ネットワークインターフェース１１１６は、図２に示したデータセンタネットワークシステム２００において、管理用ネットワーク回線を介して、管理装置２０８との間で管理情報の送受信を行う。図１１に示した例では、ネットワークインターフェース１１１６は、スイッチング１１０４のインターフェースｉｆ＿５に接続されている。
【０１２９】
スイッチング部１１０４は、インターフェースｉｆ＿０〜５等の複数のインターフェースを含む。スイッチング部１１０４は、複数のインターフェースを介して、ネットワークインターフェース１１０２−１〜ｋ及び１１０６−１〜ｊから、トラフィックデータを受けとる。スイッチング部１１０４は、受けとったトラフィックデータについて、ネットワークインターフェース１１０２−１〜ｋ及び１１０６−１〜ｊの間の通信を制御する。
【０１３０】
スイッチング部１１０４は、ネットワークインターフェース１１０２−１〜ｋ、１１０６−１〜ｊからトラフィックデータを受けとったとき、フォワーディング情報テーブル１１１２を参照することによりスイッチング制御を行う。図１２に示したように、フォワーディング情報テーブル１１１２は、トラフィックデータの宛先を示すＭＡＣアドレス（宛先ＭＡＣアドレス）と、トラフィックデータの出力インターフェースとなる、スイッチング部１１０４のインターフェースとの間の対応関係を示す情報を格納している。
【０１３１】
尚、図１２（Ａ）に示したフォワーディング情報テーブル１１１２は、図４のステップＳ４０６において、移動先サーバ２０２−２に割り当てられた仮ＭＡＣアドレス“M0”に対する通信経路の設定が行われた後の状態を示すものである。図１２（Ｂ）に示したフォワーディング情報テーブル１１１２は、図６のステップＳ６０４において、移動されたＶＭ２１２−１に割り当てられたＭＡＣアドレス“A0”に対する通信経路の設定が行われた後の状態を示すものである。詳細については、後述する。
【０１３２】
スイッチング部１１０４は、フォワーディング情報テーブル１１１２を参照することにより、複数のインターフェースの中から、受けとったトラフィックデータを出力するインターフェースを決定する。スイッチング部１１０４は、決定されたインターフェース（出力インターフェース）を介して、受けとったトラフィックデータを、複数のネットワークインターフェース１１０２−１〜ｋ、１１０６−１〜ｊの中の、対応するネットワークインターフェースに出力する。
【０１３３】
また、スイッチング部１１０４は、インターフェース（インターフェースｉｆ＿５等）を介して、ネットワークインターフェース１１１６から、管理装置２０８から送信された種々の情報を受けとる。
【０１３４】
スイッチング部１１０４は、管理用ネットワーク回線を介して、管理装置２０８から、移動対象ＶＭの移動先サーバに割り当てられた仮ＭＡＣアドレスに対して通信経路を設定するように指示する指示メッセージを受けとったとき、受けとった指示メッセージに基づいて、スイッチ装置２０４内のフォワーディング情報テーブル１１１２を更新する。管理装置２０８からの指示メッセージには、仮ＭＡＣアドレスとともに、対応する出力インターフェースの情報が含まれている。
【０１３５】
図１２（Ａ）に示した例では、フォワーディング情報テーブル１１１２は、識別情報“1”で示されるエントリとして、移動対象ＶＭのＭＡＣアドレス“A0”に対する出力インターフェースとして、インターフェースｉｆ＿０を対応づける情報を格納している。識別情報“1”のエントリは、移動対象ＶＭ２１２−１の移動前の通信経路（図３において太幅の一点鎖線で示した通信経路）に対応する情報である。
【０１３６】
ここで、スイッチング部１１０４は、管理装置２０８から、仮ＭＡＣアドレス“M0”に対する通信経路を設定するように指示する指示メッセージを受けとったとき、フォワーディング情報テーブル１１１２において、識別情報“2”で示されるエントリとして、仮ＭＡＣアドレス“M0”に対応するインターフェースとして、インターフェースｉｆ＿１を対応づける情報を追加する。識別情報“2”のエントリは、仮ＭＡＣアドレス“M0”に対して設定された通信経路（図３において太幅の実線で示した通信経路）に対応する情報である。
【０１３７】
一方、スイッチング部１１０４は、管理用ネットワーク回線を介して、管理装置２０８から、移動されたＶＭのＭＡＣアドレスに対して通信経路を設定するように指示する指示メッセージを受けとったとき、受けとった指示メッセージに基づいて、スイッチ装置２０４内のフォワーディング情報テーブル１１１２を更新する。管理装置２０８からの指示メッセージには、移動されたＶＭのＭＡＣアドレスとともに、対応する出力インターフェースの情報が含まれている。
【０１３８】
図１２（Ｂ）に示した例では、フォワーディング情報テーブル１１１２は、識別情報“2”で示されるエントリとして仮ＭＡＣアドレス“M0”に対応するインターフェースとして、インターフェースｉｆ＿１を対応づける情報を格納している。識別情報“2”のエントリは、仮ＭＡＣアドレス“M0”に対して設定された通信経路（図５において太幅の実線で示した通信経路）に対応する情報である。尚、図１２（Ａ）における識別情報“1”のエントリは、管理装置２０８からの指示に基づいて、すでに削除されている。
【０１３９】
ここで、スイッチング部１１０４は、管理装置２０８から、移動されたＶＭ２１２−１のＭＡＣアドレス“A0”に対して通信経路を設定するように指示する指示メッセージを受けとったとき、フォワーディング情報テーブル１１１２において、識別情報“3”で示されるエントリとして、ＶＭ２１２−１のＭＡＣアドレス“A0”に対応するインターフェースとして、インターフェースｉｆ＿１を対応づける情報を追加する。識別情報“3”のエントリは、移動対象ＶＭ２１２−１の移動前の通信経路（図５において太幅の破線で示した通信経路）に対応する情報である。
【０１４０】
尚、スイッチ装置２０４のハードウェア構成は、図１０に示したサーバ２０２のハードウェア構成と同様である。スイッチ装置２０４の各機能ブロックの機能は、サーバ２０２と同様に、図１０に示したサーバ２０２のハードウェア構成と同様のハードウェア構成によって実現することができる。よって、詳細な説明は省略する。
【０１４１】
［２．第２実施例］
以下、第２実施例に係るネットワークシステム及び通信制御方法について説明する。第２実施例に係るネットワークシステム及び通信制御方法は、第１実施例において説明した、各サーバ２０２−１〜３の仮想スイッチ２１４−１〜３におけるアドレス変換部２２２〜２２６の機能を用いた応用例である。
【０１４２】
データセンタネットワークシステムにおいて、２つのサーバが複数のスイッチ装置によって構成されるネットワークを介して通信を行うとき、その２つのサーバの間には複数の通信経路が形成され得るが、それらの通信経路の品質には、ばらつきがあることが一般的である。通信経路の品質のばらつきは例えば、隣接するスイッチ装置間のリンク回線に割り当てられた通信帯域の大小によって生じる。一般的に、より大きい通信帯域を有するリンク回線によって構成された通信経路は高品質であり、トラフィックデータのロスや再送といった現象が起こる頻度は少なくなる。
【０１４３】
一方、データセンタネットワークシステムにおいて、２つのサーバが通信を行うとき、各サーバにおいて通信を実行するアプリケーションプログラム（以下、アプリと略称する）の種類によって、通信の優先度が異なることが一般的である。通信を実行するアプリの種類によって、通信において許容される、トラフィックデータのロス率や再送回数等の程度が異なるためである。例えば、異なるサーバに属する複数のＶＭが連携して所望の業務処理を実行する業務アプリが実行する通信は、Ｗｅｂブラウザ等のＷｅｂアプリが実行する通信よりも、優先度が高い。
【０１４４】
以上のことから、データネットワークシステムにおいては、２つのサーバの間で複数の通信が行われる場合に、その通信に用いられる通信経路として、その通信の優先度に応じた品質を有する通信経路を選択することにより、より優先度の高い通信を、より品質の高い通信経路を用いて行うことが望まれる。
【０１４５】
［２−１．データセンタネットワークシステム１３００の構成］
図１３は、第２実施例に係るデータセンタネットワークシステム１３００における通信制御処理を説明するためのシステム構成図である。まず、図１３を用いて、データセンタネットワークシステム１３００の概略的な構成について説明する。
【０１４６】
図１３に示したように、第２実施例に係るデータセンタネットワークシステム１３００は、サーバ１３０２、１３０４、Ｌ２スイッチネットワーク１３０６、及び管理装置１３３２を含む。サーバ１３０２、１３０４と、Ｌ２スイッチネットワーク１３０６は、データ通信用のネットワーク回線（不図示）を介して接続されている。
【０１４７】
Ｌ２スイッチネットワーク１３０６は、図２に示したスイッチ装置２０４−１〜５のような複数のスイッチ装置によって構成されたネットワークである。Ｌ２スイッチネットワーク１３０６上には、品質の異なる複数の通信経路が確立されている。例えば、サーバ１３０２とサーバ１３０４の間には、太幅の実線で示された、相対的に高い品質を有する通信経路と、太幅の破線で示された、相対的に低い品質を有する通信経路が確立されている。
【０１４８】
サーバ１３０２、１３０４に含まれる仮想スイッチ１３１６、１３２６はそれぞれ、図２に示した仮想スイッチ２１４−１〜３と同様の、仮想的に設けられたレイヤ２（Ｌ２）スイッチである。仮想スイッチ１３１６、１３２６は、アドレス変換１３１８、１３２８を有する。後述するように、サーバ１３０２、１３０４はそれぞれ、管理装置１３３２から、Ｌ２スイッチネットワーク１３０６上に確立された複数の通信経路に対応する、複数の仮ＭＡＣアドレスの情報を受けとり、対応するアドレス変換部１３１８、１３２８を活性化させる。活性化されたアドレス変換部１３１８、１３２８はそれぞれ、複数の仮ＭＡＣアドレスに基づいて、対応する仮想スイッチ１３１６、１３２６が受けとったトラフィックデータに含まれるＭＡＣアドレスの変換処理を行う。ＭＡＣアドレス変換処理については、後述する。
【０１４９】
管理装置１３３２は、サーバ１３０２、１３０４及びＬ２スイッチネットワーク１３０６と、図１３において一点鎖線で示した、管理用のネットワーク回線を介して接続されている。管理装置１３３２は、図２に示した管理装置２０８と同様に、管理用ネットワーク回線を介してサーバ１３０２、１３０４から受けとった管理情報に基づいて、データセンタネットワーク１３００において、どのＶＭの間で通信が行われているかを監視する。また、管理装置１３３２は、管理用ネットワーク回線を介して、Ｌ２スイッチネットワーク１３０６を構成する各スイッチ装置から管理情報を受けとり、受けとった管理情報に基づいて、Ｌ２スイッチネットワーク１３０６において、どのような品質を有する通信経路が確立されているかを監視する。
【０１５０】
さらに、管理装置１３３２は、上述の複数の仮ＭＡＣアドレスを生成し、サーバ１３０２、１３０４に対して、生成した仮ＭＡＣアドレスを、管理用ネットワーク回線を介して通知する。仮ＭＡＣアドレスは、サーバ１３０２、１３０４において、Ｌ２スイッチネットワーク１３０６上に確立された複数の通信経路の中から、通信に用いられる通信経路を指定するために一時的に割り当てられるＭＡＣアドレスである。
【０１５１】
［２−２．データセンタネットワークシステム１３００の通信制御方法］
図１４は、第２実施例に係るデータセンタネットワークシステム１３００における通信制御処理を示すシーケンスチャートである。次に、図１３及び図１４を用いて、データセンタネットワークシステム１３００において行われる通信制御方法を説明する。
【０１５２】
図１３では、サーバ１３０２に属する２つのＶＭ１３１２、１３１４から、サーバ１３０４に属する１つのＶＭ１３２２に対して、異なるアプリ１３３６、１３３８によって、異なる２つの通信が実行される場合を例にとって説明する。
【０１５３】
図１３に示した例では、アドレス“A0”を有するＶＭ１３１２から、アドレス“A2”を有するＶＭ１３２２への通信は、ＶＭ１３１２及び１３２２において連携して実行されるアプリ１３３６によって行われ、アドレス“A1”を有するＶＭ１３１４からＶＭ１３２２への通信は、ＶＭ１３１４及びＶＭ１３２２において連携して実行されるアプリ１３３８によって行われる。
【０１５４】
図１４に示したように、ステップＳ１４０２において、管理装置１３３２は、各サーバ１３０２、１３０４からの管理情報に基づいて、サーバ１３０２に属するＶＭからサーバ１３０４に属するＶＭへの通信が開始されることを認識する。管理装置１３３２は、認識した通信において宛先となるＶＭ１３２２が属するサーバ（宛先サーバ）１３０４に対して、複数の仮アドレスを割り当てる。割り当てられる複数の仮アドレスは、Ｌ２スイッチネットワーク１３０６上においてサーバ１３０２とサーバ１３０４の間に形成された複数の通信経路の中から、通信に用いる通信経路を指定するものである。
【０１５５】
図１３に示した例では、管理装置１３３２は、宛先サーバ１３０４に対して、２つの仮ＭＡＣアドレス“M0”及び“M1”を割り当てる。仮ＭＡＣアドレス“M0”はＬ２スイッチネットワーク１３０６において、太幅の実線で示した相対的に品質の高い通信経路を指定するものである。宛先ＭＡＣアドレスとして仮ＭＡＣアドレス“M0”を有するトラフィックデータは、太幅の実線で示した相対的に品質の高い通信経路を介して、サーバ１３０２からサーバ１３０４に送信される。一方、仮ＭＡＣアドレス“M1”は、太幅の破線で示した相対的に品質の低い通信経路を指定するものである。宛先ＭＡＣアドレスとして仮ＭＡＣアドレス“M1”を有するトラフィックデータは、太幅の破線で示した相対的に品質の低い通信経路を介して、サーバ１３０２からサーバ１３０４に送信される。管理装置１３３２は、管理用ネットワーク回線を介して、割り当てた仮ＭＡＣアドレス“M0”及び“M1”の情報を宛先サーバ１３０４に送信する。
【０１５６】
宛先サーバ１３０４は、管理装置１３３２から、割り当てられた複数の仮ＭＡＣアドレス“M0”及び“M1”の情報を受けとる。宛先サーバ１３０４は、受けとった仮ＭＡＣアドレス“M0”及び“M1”を、内部の仮想スイッチ１３２６に割り当てる。
【０１５７】
次に、ステップＳ１４０４において、管理装置１３３２は、管理用ネットワーク回線を介して、Ｌ２スイッチネットワーク１３０６に含まれる各々のスイッチ装置に対して、ステップＳ１４０２において仮想スイッチ１３２６に割り当てられた仮ＭＡＣアドレス“M0”に対して、通信経路を設定するように指示する指示メッセージを送信する。管理装置１３３２からの指示メッセージには、仮ＭＡＣアドレス“M0”とともに、対応する出力インターフェースの情報が含まれている。
【０１５８】
Ｌ２スイッチネットワーク１３０６に含まれる各々のスイッチ装置は、管理装置１３３２からの指示メッセージに基づいて、集中管理的に、仮ＭＡＣアドレス“M0”について、フォワーディング情報テーブルを更新する。各々のスイッチ装置は、フォワーディング情報テーブルにおいて、仮ＭＡＣアドレス“M0”と、その仮ＭＡＣアドレス“M0”に対応する出力インターフェースの対応関係を示す情報を追加する。
【０１５９】
Ｌ２スイッチネットワーク１３０６に含まれる各々のスイッチ装置においてフォワーディング情報テーブルの更新が完了すると、図１３に示した例では、Ｌ２スイッチネットワーク１３０６において、太幅の実線で示したように、仮ＭＡＣアドレス“M0”を有する仮想スイッチ１３２６に対する通信経路が確立される。
【０１６０】
次に、ステップＳ１４０６において、管理装置１３３２は、管理用ネットワーク回線を介して、Ｌ２スイッチネットワーク１３０６に含まれる各々のスイッチ装置に対して、ステップＳ１４０２において仮想スイッチ１３２６に割り当てられた仮ＭＡＣアドレス“M1”に対して、通信経路を設定するように指示する指示メッセージを送信する。管理装置１３３２からの指示メッセージには、仮ＭＡＣアドレス“M1”とともに、対応する出力インターフェースの情報が含まれている。
【０１６１】
Ｌ２スイッチネットワーク１３０６に含まれる各々のスイッチ装置は、管理装置１３３２からの指示メッセージに基づいて、集中管理的に、仮ＭＡＣアドレス“M1”について、フォワーディング情報テーブルを更新する。各々のスイッチ装置は、フォワーディング情報テーブルにおいて、仮ＭＡＣアドレス“M1”と、その仮ＭＡＣアドレス“M1”に対応する出力インターフェースの対応関係を示す情報を追加する。
【０１６２】
Ｌ２スイッチネットワーク１３０６に含まれる各々のスイッチ装置においてフォワーディング情報テーブルの更新が完了すると、図１３に示した例では、Ｌ２スイッチネットワーク１３０６において、太幅の破線で示したように、仮ＭＡＣアドレス“M1”を有する仮想スイッチ１３２６に対する通信経路が確立される。
【０１６３】
次に、ステップＳ１４０８において、管理装置１３３２は、管理用ネットワーク回線を介して、宛先サーバ１３０４に対して、仮ＭＡＣアドレス“M0”及び“M1”に基づくＭＡＣアドレスの変換処理を設定するように指示する。宛先サーバ１３０４は、管理装置１３３２からの指示に基づいて、内部のアドレス変換部１３２８において、仮ＭＡＣアドレス“M0”及び“M1”に基づくＭＡＣアドレス変換処理を設定する。すなわち、アドレス変換部１３２８は、アドレス変換テーブルを生成し、生成されたアドレス変換テーブルに基づいて、仮想スイッチ１３２６が、Ｌ２スイッチネットワーク１３０６からトラフィックデータを受けとったとき、受けとったトラフィックデータにおいて、仮想スイッチ１３２６に割り当てられた宛先ＭＡＣアドレス“M0”及び“M1”を、本来の宛先であるＶＭ１３２２のＭＡＣアドレス“A2”に変換する。
【０１６４】
図１３に示した例では、アドレス変換部１３２８は、ＶＭ１３１２からＶＭ１３２２宛てのトラフィックデータにおいて、送信元となるＶＭのＭＡＣアドレス（送信元ＭＡＣアドレス）“A0”と宛先ＭＡＣアドレス“M0”の組み合わせを、送信元ＭＡＣアドレス“A0”と宛先ＭＡＣアドレス“A2”の組み合わせに変換する。また、アドレス変換部１３２８は、ＶＭ１３１４からＶＭ１３３２宛てのトラフィックデータにおいて、送信元ＭＡＣアドレス“A1”と宛先ＭＡＣアドレス“M1”の組み合わせを、送信元ＭＡＣアドレス“A1”と宛先ＭＡＣアドレス“A2”の組み合わせに変換する。
【０１６５】
さらに、管理装置１３３２は、管理用ネットワーク回線を介して、宛先サーバ１３０４に対して、対応する仮想スイッチ１３２６に含まれるアドレス変換部１３２８を活性化させるように指示する。
【０１６６】
宛先サーバ１３０４は、管理装置１３３２からの指示に基づいて、内部に設けられたアドレス変換部１３２８を活性化させる。これにより、仮想スイッチ１３２６においては、設定した上述のＭＡＣアドレス変換処理が有効になり、Ｌ２スイッチネットワーク１３０６から受信されるトラフィックデータに対して、上述のＭＡＣアドレス変換処理が実行されるようになる。
【０１６７】
次に、ステップＳ１４１０において、管理装置１３３２は、ステップＳ１４０２において割り当てられた仮アドレス“M0”及び“M1”と、宛先ＶＭ１３２２のＭＡＣアドレス“A2”の情報を、管理用ネットワーク回線を介して、送信元ＶＭ１３１２、１３１４が属するサーバ（送信元サーバ）１３０２に送信する。
【０１６８】
管理装置１３３２はさらに、管理用ネットワーク回線を介して、送信元サーバ１３０２に対して、仮ＭＡＣアドレス“M0”及び“M1”に基づくＭＡＣアドレスの変換処理を設定するように指示する。送信元サーバ１３０２は、管理装置１３３２からの指示に基づいて、内部のアドレス変換部１３１８において、仮ＭＡＣアドレス“M0”及び“M1”に基づくＭＡＣアドレス変換処理を設定する。
【０１６９】
すなわち、アドレス変換部１３１８は、アドレス変換テーブルを生成し、生成されたアドレス変換テーブルに基づいて、仮想スイッチ１３１６が、対応するＶＭ１３１２、１３１４からトラフィックデータを受けとったとき、受けとったトラフィックデータに付与された優先度情報に基づいて、そのトラフィックデータにおいて、宛先ＭＡＣアドレス“A2”を、仮ＭＡＣアドレス“M0”又は“M1”のいずれか１つに変換する。アドレス変換部１３１８は、受けとったトラフィックデータに付与された優先度情報ｐの値が予め定められた閾値ｐ＿ｔｈよりも小さいとき、そのトラフィックデータにおいて、宛先ＭＡＣアドレス“A2”を、仮ＭＡＣアドレス“M0”に変換する。アドレス変換部１３１８は、受けとったトラフィックデータに付与された優先度情報ｐの値が上述の閾値ｐ＿ｔｈ以上であるとき、そのトラフィックデータにおいて、宛先ＭＡＣアドレス“A2”を、仮ＭＡＣアドレス“M1”に変換する。
【０１７０】
優先度情報は、トラフィックデータの通信の優先度を示す情報であり、例えば、その値が小さいほど優先度が高いことを意味するものである。優先度情報は、トラフィックデータを生成するアプリの種類に応じて予め定められるものであり、異なるサーバに属する複数のＶＭが連携して所望の業務処理を実行する業務アプリが行う通信には、Ｗｅｂブラウザ等のＷｅｂアプリが行う通信よりも、高い優先度が付与される。優先度情報は、トラフィックデータを生成する際に、ＶＭにおいて実行されるアプリによって、各トラフィックデータに対して付与される。
【０１７１】
図１３に示した例では、ＶＭ１３１２及び１３２２において、アプリ１３３６が連携して実行されており、アプリ１３３６は、ＶＭ１３１２からＶＭ１３２２宛てのトラフィックデータに対して、値“0”を有する優先度情報ｐを付与する（ｐ＝０）。一方、ＶＭ１３１４及び１３２２において、アプリ１３３８が連携して実行されており、アプリ１３３８は、ＶＭ１３１４からＶＭ１３２２宛てのトラフィックデータに対して、値“7”を有する優先度情報ｐを付与する（ｐ＝７）。アプリ１３３６は例えば、上述の業務アプリであり、アプリ１３３８は例えば、上述のＷｅｂアプリである。
【０１７２】
図１３に示した例では、アドレス変換部１３１８は、ＶＭ１３１２からＶＭ１３２２宛てのトラフィックデータにおいて、付与された優先度情報の値ｐと、優先度情報の閾値ｐ＿ｔｈを比較し、優先度情報の値ｐ＝０が閾値ｐ＿ｔｈ＝３よりも小さいことに応答して、送信元ＭＡＣアドレス“A0”と宛先ＭＡＣアドレス“A2”の組み合わせを、送信元ＭＡＣアドレス“A0”と宛先ＭＡＣアドレス“M0”の組み合わせに変換する。
【０１７３】
一方、アドレス変換部１３１８は、ＶＭ１３１４からＶＭ１３２２宛てのトラフィックデータにおいて、付与された優先度情報の値ｐと、優先度情報の閾値ｐ＿ｔｈを比較し、優先度情報の値ｐ＝７が閾値ｐ＿ｔｈ＝３よりも大きことに応答して、送信元ＭＡＣアドレス“A1”と宛先ＭＡＣアドレス“A2”の組み合わせを、送信元ＭＡＣアドレス“A1”と宛先ＭＡＣアドレス“M1”の組み合わせに変換する。
【０１７４】
さらに、管理装置１３３２は、管理用ネットワーク回線を介して、送信元サーバ１３０２に対して、対応する仮想スイッチ１３１６に含まれるアドレス変換部１３１８を活性化させるように指示する。
【０１７５】
送信元サーバ１３０２は、管理装置１３３２からの指示に基づいて、内部に設けられたアドレス変換部１３１８を活性化させる。これにより、仮想スイッチ１３１６においては、設定した上述のＭＡＣアドレス変換処理が有効になり、Ｌ２スイッチネットワーク１３０６に送信されるトラフィックデータに対して、上述のＭＡＣアドレス変換処理が実行されるようになる。
【０１７６】
次に、ステップＳ１４１２において、送信元サーバ１３０２及び宛先サーバ１３０４は、トラフィックデータの通信を開始する。ここで、送信元サーバ１３０２及び宛先サーバ１３０４は、アプリ１３３６が実行するＶＭ１３１２からＶＭ１３２２への通信に対して、仮ＭＡＣアドレス“M0”によって指定された通信経路（図１３の太幅実線で示された通信経路）を用いる。一方、送信元サーバ１３０２及び宛先サーバ１３０４は、アプリ１３３８が実行するＶＭ１３１４からＶＭ１３２２への通信に対しては、仮ＭＡＣアドレス“M1”によって指定された通信経路（図１３の太幅破線で示された通信経路）を用いる。
【０１７７】
以上説明したステップＳ１４０２からＳ１４１２までの処理によって、図１３に示した例では、サーバ１３０２及び１３０４の間において、優先度が異なる２つのアプリ１３３６、１３３８によって通信が行われる場合、相対的に通信の優先度の高いアプリ１３３６による通信を、相対的に通信の優先度の低いアプリ１３３８による通信よりも、より品質の高い通信経路を用いて行うことができる。
【０１７８】
よって、データネットワークシステム１３００においては、２つのサーバの間で複数の通信が行われる場合に、その通信に用いられる通信経路として、その通信の優先度に応じた品質を有する通信経路を選択することができ、より優先度の高い通信を、より品質の高い通信経路を用いて行うことが可能となる。
【０１７９】
尚、上述の実施例においては、管理装置１３３２によって、２つの仮ＭＡＣアドレスを割り当て、優先度情報に対して１つの閾値を設定したが、優先度情報に対して複数の閾値を設定し、設定した閾値の数に応じて、管理装置１３３２が割り当てる仮ＭＡＣアドレスを増加させてもよい。
【０１８０】
［３．第３実施例］
以下、第３実施例に係るネットワークシステム及び通信制御方法について説明する。第３実施例に係るネットワークシステム及び通信制御方法は、第１実施例において説明した、各サーバ２０２−１〜３の仮想スイッチ２１４−１〜３におけるアドレス変換部２２２〜２２６の機能を用いた応用例である。
【０１８１】
データセンタネットワークシステムにおいて、２つのサーバが複数のスイッチ装置によって構成されるネットワークを介して通信を行うとき、その２つのサーバの間には複数のスイッチ装置を経由する通信経路が確立されるが、その通信経路上に位置する複数のスイッチ装置の中の１つに障害が発生した場合、その２つのサーバ間の通信は途絶する。この場合、その２つのサーバの間には、障害が発生したスイッチ装置を回避した代替の通信経路が確立され、その２つのサーバの間の通信は、確立された代替の通信経路によって再開される。
【０１８２】
しかしながら、スイッチ装置に障害が発生してから、障害が発生したスイッチ装置を回避した代替の通信経路が確立され、２つのサーバ間の通信経路が代替の通信経路に切り替わるまでの期間は、２つのサーバ間の通信は途絶することになる。
【０１８３】
このため、データセンタネットワークシステムにおいては、２つのサーバ間に確立された通信経路上のスイッチ装置において障害が発生した場合であっても、２つのサーバ間の通信経路を、迅速に代替の通信経路に切り替えることが望まれている。
【０１８４】
［３−１．データセンタネットワークシステム１５００の構成］
図１５は、第３実施例に係るデータセンタネットワークシステム１５００における通信制御処理を説明するためのシステム構成図である。まず、図１５を用いて、データセンタネットワークシステム１５００の概略的な構成について説明する。
【０１８５】
図１５に示したように、第３実施例に係るデータセンタネットワークシステム１５００は、サーバ１５０２、１５０４、スイッチ装置１５０６−１〜８、及び管理装置１５３２を含む。サーバ１５０２、１５０４と、スイッチ装置１５０６−１、４は、データ通信用のネットワーク回線（不図示）を介して接続されている。
【０１８６】
スイッチ装置１５０６−１〜８は、図２に示したスイッチ装置２０４−１〜５と同様のスイッチ装置である。スイッチ装置１５０６−１〜８の動作及び機能は、スイッチ装置２０４−１〜５の機能や動作と同様であり、第１実施例において説明したとおりであるので、説明は省略する。
【０１８７】
サーバ１５０２、１５０４に含まれる仮想スイッチ１５１６、１５２６はそれぞれ、図２に示した仮想スイッチ２１４−１〜３と同様の、仮想的に設けられたレイヤ２（Ｌ２）スイッチである。仮想スイッチ１５１６、１５２６は、アドレス変換１５１８、１５２８を有する。後述するように、サーバ１５０２、１５０４はそれぞれ、管理装置１５３２から、通信に用いられる複数の候補経路に対応する、複数の仮ＭＡＣアドレスの情報を受けとり、対応するアドレス変換部１５１８、１５２８を活性化させる。活性化されたアドレス変換部１５１８、１５２８はそれぞれ、複数の仮ＭＡＣアドレスに基づいて、対応する仮想スイッチ１５１６、１５２６が受けとったトラフィックデータに含まれるＭＡＣアドレスの変換処理を行う。ＭＡＣアドレス変換処理については、後述する。
【０１８８】
管理装置１５３２は、サーバ１５０２、１５０４及びスイッチ装置１５０６−１〜８と、図１５において一点鎖線で示した、管理用のネットワーク回線を介して接続されている。管理装置１５３２は、図２に示した管理装置２０８と同様に、管理用ネットワーク回線を介してサーバ１５０２、１５０４から受けとった管理情報に基づいて、データセンタネットワーク１５００において、どのＶＭの間で通信が行われているかを監視する。また、管理装置１５３２は、管理用ネットワーク回線を介して、各スイッチ装置１５０６−１〜８から管理情報を受けとり、受けとった管理情報に基づいて、各スイッチ装置１５０６−１〜８を介して、どのような通信経路が形成されているかを監視するとともに、各スイッチ装置１５０６−１〜８の状態（障害発生の有無等）を監視する。
【０１８９】
さらに、管理装置１５３２は、上述の複数の仮ＭＡＣアドレスを生成し、サーバ１５０２、１５０４に対して、生成した仮ＭＡＣアドレスを、管理用ネットワーク回線を介して通知する。仮ＭＡＣアドレスは、サーバ１５０２、１５０４において、各スイッチ装置１５０６−１〜８を経由する複数の通信経路の中から、通信に用いられる複数の候補経路を指定するために一時的に割り当てられるＭＡＣアドレスである。
【０１９０】
［３−２．データセンタネットワークシステム１５００の通信制御方法］
図１６は、第３実施例に係るデータセンタネットワークシステム１５００における通信制御処理を示すシーケンスチャートである。次に、図１５及び図１６を用いて、データセンタネットワークシステム１５００において行われる通信制御方法を説明する。
【０１９１】
図１５では、サーバ１５０２に属するＶＭ１５１２から、サーバ１５０４に属するＶＭ１５２２に対して通信が行われる場合を例にとって説明する。
【０１９２】
図１５に示した例では、アドレス“A0”を有するＶＭ１５１２から、アドレス“A1”を有するＶＭ１５２２への通信に対して、４つの候補経路が存在する。ＶＭ１５０２、１５０４間の４つの候補経路はいずれも、スイッチ装置１５０６−１及び１５０６−４を経由するが、スイッチ装置１５０６−５〜８のいずれのスイッチ装置を経由するかが異なる。すなわち、４つの候補経路は、スイッチ装置１５０６−６を経由する経路１（図１５において太幅実線で示した通信経路）、スイッチ装置１５０６−５を経由する経路２（図１５において太幅実線で示した通信経路）、スイッチ装置１５０６−７を経由する経路３（図１５において太幅の一点鎖線で示した通信経路）、及びスイッチ装置１５０６−８を経由する通信４（図１５において太幅点線で示した通信経路）である。各々の候補経路１〜４はそれぞれ、管理装置１５３２によって割り当てられる仮ＭＡＣアドレス“m1”〜“m4”によって指定される。宛先ＭＡＣアドレスとして仮ＭＡＣアドレス“m1”を有するトラフィックデータは、太幅の実線で示した通信経路１を介して、サーバ１５０２からサーバ１５０４に送信される。同様に、宛先ＭＡＣアドレスとして仮ＭＡＣアドレス“m2”〜“m4”を有するトラフィックデータは、通信経路２〜４を介して、サーバ１５０２からサーバ１５０４に送信される。
【０１９３】
図１６に示したように、ステップＳ１６０２において、管理装置１５３２は、各サーバ１５０２、１５０４からの管理情報に基づいて、サーバ１５０２に属するＶＭ１５１２からサーバ１５０４に属するＶＭ１５２２への通信が開始されることを認識する。管理装置１５３２は、認識した通信において宛先となるＶＭ１５２２が属するサーバ（宛先サーバ）１５０４に対して、複数の仮アドレスを割り当てる。割り当てられる複数の仮アドレスは、サーバ１５０２、１５０４の間に形成された複数の通信経路の中から、通信に用いる複数の候補経路を指定するものである。
【０１９４】
図１５に示した例では、管理装置１５３２は、宛先サーバ１５０４に対して、４つの仮ＭＡＣアドレス“m1”〜“m4”を割り当てる。仮ＭＡＣアドレス“m1”〜“m4”は上述の４つの通信経路１〜４を指定するものである。管理装置１５３２は、管理用ネットワーク回線を介して、割り当てた仮ＭＡＣアドレス“m1”〜“m4”の情報を宛先サーバ１５０４に送信する。
【０１９５】
宛先サーバ１５０４は、管理装置１５３２から、割り当てられた複数の仮ＭＡＣアドレス“m1”〜“m4”の情報を受けとる。宛先サーバ１５０４は、受けとった仮ＭＡＣアドレス“m1”〜“m4”を、内部の仮想スイッチ１５２６に割り当てる。
【０１９６】
次に、ステップＳ１６０４において、管理装置１５３２は、管理用ネットワーク回線を介して、各スイッチ装置１５０６−１〜８に対して、ステップＳ１６０２において仮想スイッチ１５２６に割り当てられた仮ＭＡＣアドレス“m1”〜“m4”の各々に対して、通信経路を設定するように指示する指示メッセージを送信する。管理装置１５３２からの指示メッセージには、仮ＭＡＣアドレス“m1”〜“m4”とともに、これらの仮ＭＡＣアドレスに対応する出力インターフェースの情報が含まれている。
【０１９７】
各スイッチ装置１５０６−１〜８は、管理装置１５３２からの指示メッセージに基づいて、集中管理的に、仮ＭＡＣアドレス“m1”〜“m4”について、フォワーディング情報テーブルを更新する。各々のスイッチ装置１５０６−１〜８は、フォワーディング情報テーブルにおいて、仮ＭＡＣアドレス“m1”〜“m4”と、その仮ＭＡＣアドレス“m1”〜“m4”に対応する出力インターフェースの対応関係を示す情報を追加する。
【０１９８】
各々のスイッチ装置１５０６−1〜８においてフォワーディング情報テーブルの更新が完了すると、図１５に示した例では、仮ＭＡＣアドレス“m1”〜“m4”によって指定された、上述の４つの候補経路が確立される。
【０１９９】
次に、ステップＳ１６０６において、管理装置１５３２は、管理用ネットワーク回線を介して、宛先サーバ１５０４に対して、仮ＭＡＣアドレス“m1”〜“m4”に基づくＭＡＣアドレスの変換処理を設定するように指示する。宛先サーバ１５０４は、管理装置１５３２からの指示に基づいて、内部のアドレス変換部１５２８において、仮ＭＡＣアドレス“m1”〜“m4”に基づくＭＡＣアドレス変換処理を設定する。
【０２００】
すなわち、アドレス変換部１５２８は、アドレス変換テーブルを生成し、生成されたアドレス変換テーブルに基づいて、仮想スイッチ１５２６が、対応するスイッチ装置１５０６−４からトラフィックデータを受けとったとき、受けとったトラフィックデータにおいて、仮想スイッチ１５２６に割り当てられた宛先ＭＡＣアドレス“m1”〜“m4”を、本来の宛先であるＶＭ１５２２のＭＡＣアドレス“A1”に変換する。
【０２０１】
図１５に示した例では、アドレス変換部１５２８は、ＶＭ１５１２からＶＭ１５２２宛てのトラフィックデータにおいて、送信元となるＶＭのＭＡＣアドレス（送信元ＭＡＣアドレス）“A0”と宛先ＭＡＣアドレス“m1”の組み合わせを、送信元ＭＡＣアドレス“A0”と宛先ＭＡＣアドレス“A1”の組み合わせに変換する。アドレス変換部１５２８は同様に、ＶＭ１５１２からＶＭ１５２２宛てのトラフィックデータにおいて、送信元ＭＡＣアドレス“A0”と宛先ＭＡＣアドレス“m2”〜“m4”の組み合わせをそれぞれ、送信元ＭＡＣアドレス“A0”と宛先ＭＡＣアドレス“A1”の組み合わせに変換する。
【０２０２】
さらに、管理装置１５３２は、管理用ネットワーク回線を介して、宛先サーバ１５０４に対して、対応する仮想スイッチ１５２６に含まれるアドレス変換部１５２８を活性化させるように指示する。
【０２０３】
宛先サーバ１５０４は、管理装置１５３２からの指示に基づいて、内部に設けられたアドレス変換部１５２８を活性化させる。これにより、仮想スイッチ１５２６においては、設定した上述のＭＡＣアドレス変換処理が有効になり、対応するスイッチ装置１５０６−４から受信されるトラフィックデータに対して、上述のＭＡＣアドレス変換処理が実行されるようになる。
【０２０４】
次に、ステップＳ１６０８において、管理装置１５３２は、ステップＳ１４０２において割り当てられた仮アドレス“m1”〜“m4”と、宛先ＶＭ１５２２のＭＡＣアドレス“A1”の情報を、管理用ネットワーク回線を介して、送信元ＶＭ１５１２が属するサーバ（送信元サーバ）１５０２に送信する。
【０２０５】
管理装置１５３２はさらに、管理用ネットワーク回線を介して、送信元サーバ１５０２に対して、仮ＭＡＣアドレス“m1”〜“m4”に基づくＭＡＣアドレスの変換処理を設定するように指示する。送信元サーバ１５０２は、管理装置１５３２からの指示に基づいて、内部のアドレス変換部１５１８において、仮ＭＡＣアドレス“m1”〜“m4”に基づくＭＡＣアドレス変換処理を設定する。
【０２０６】
すなわち、アドレス変換部１５１８は、アドレス変換テーブルを生成し、生成されたアドレス変換テーブルに基づいて、仮想スイッチ１３１６が、対応するＶＭ１５１２からトラフィックデータを受けとったとき、受けとったトラフィックデータにおいて、宛先ＭＡＣアドレス“A1”を、仮ＭＡＣアドレス“m1”〜“m4”のいずれか１つに変換する。後述するように、仮ＭＡＣアドレス“m1”〜“m4”の中のどの仮ＭＡＣアドレスに変換するかは、管理装置１５３２によって指定される。
【０２０７】
次に、ステップＳ１６１０において、管理装置１５３２は、管理用ネットワーク回線を介して、送信元サーバ１５０２に対して、対応する仮想スイッチ１５１６に含まれるアドレス変換部１５１８を活性化させ、宛先ＭＡＣアドレス“A1”を仮ＭＡＣアドレス“m1”変換するＭＡＣアドレス変換処理を有効にするように指示する。
【０２０８】
送信元サーバ１５０２は、管理装置１５３２からの指示に基づいて、仮想スイッチ１５１６に設けられたアドレス変換部１５１８を活性化させ、宛先ＭＡＣアドレス“A1”を仮ＭＡＣアドレス“m1”に変換するＭＡＣアドレス変換処理を有効にする。これにより、対応するスイッチ装置１５０６−１に送信されるトラフィックデータに対して、宛先ＭＡＣアドレス“A1”を仮ＭＡＣアドレス“m1”に変換するＭＡＣアドレス変換処理が実行されるようになる。
【０２０９】
次に、ステップＳ１６１２において、送信元サーバ１５０２及び宛先サーバ１５０４は、トラフィックデータの通信を開始する。ここで、送信元サーバ１５０２及び宛先サーバ１５０４は、仮ＭＡＣアドレス“m1”によって指定された通信経路（図１５の太幅実線で示された通信経路）を通信に用いる。
【０２１０】
次に、ステップＳ１６１４において、送信元サーバ１５０２は、宛先サーバ１５０４との通信を行っている途中で、仮ＭＡＣアドレス“m1”によって指定された通信経路（図１５の太幅実線で示された通信経路）上に位置するスイッチ装置において、障害が発生したことを検出する。図１５に示した例では、スイッチ装置１５０６−６において障害が発生したことが検出される。障害の発生により、送信元サーバ１５０２と宛先サーバ１５０４の間の通信経路が遮断されることから、この段階で、送信元サーバ１５０２と宛先サーバ１５０４の間の通信は途絶する。
【０２１１】
次に、ステップＳ１６１６において、管理装置１５３２は、送信元サーバ１５０２及びスイッチ装置１５０６−６から管理情報を受けとることにより、受けとった管理情報に基づいて、スイッチ装置１５０６−６において障害が発生したことを認識する。そして、管理装置１５３２は、管理用ネットワーク回線を介して、送信元サーバ１５０２に対して、対応する仮想スイッチ１５１６に含まれるアドレス変換部１５１８において、宛先ＭＡＣアドレス“A1”を仮ＭＡＣアドレス“m2”変換するＭＡＣアドレス変換処理を有効にするように指示する。
【０２１２】
送信元サーバ１５０２は、管理装置１５３２からの指示に基づいて、仮想スイッチ１５１６に設けられたアドレス変換部１５１８において、宛先ＭＡＣアドレス“A1”を仮ＭＡＣアドレス“m1”に変換するＭＡＣアドレス変換処理を無効にするとともに、宛先ＭＡＣアドレス“A1”を仮ＭＡＣアドレス“m2”に変換するＭＡＣアドレス変換処理を有効にする。これにより、対応するスイッチ装置１５０６−１に送信されるトラフィックデータに対して、宛先ＭＡＣアドレス“A1”を仮ＭＡＣアドレス“m2”に変換するＭＡＣアドレス変換処理が実行されるようになる。
【０２１３】
次に、ステップＳ１６１８において、送信元サーバ１５０２及び宛先サーバ１５０４は、トラフィックデータの通信を再開する。ここで、送信元サーバ１５０２及び宛先サーバ１５０４は、障害が発生した通信経路（図１５の太幅実線で示された通信経路）の代替経路として、仮ＭＡＣアドレス“m2”によって指定された通信経路（図１５の太幅破線で示された通信経路）を、通信に用いる。
【０２１４】
以上説明したステップＳ１６０２からＳ１６１８までの処理によって、サーバ１５０２、１５０４間の通信に用いられる通信経路（図１５の太幅実線で示された通信経路）上のスイッチ装置１５０６−６において障害が発生した場合、アドレス変換部１５１８におけるＭＡＣアドレス変換処理の設定を変更することにより、サーバ１５０２、１５０４間の通信に用いられる通信経路を、すでに確立されている他の代替の経路（図１５の太幅破線で示された通信経路）に、迅速に切り替えることができる。
【０２１５】
よって、データセンタネットワークシステムにおいては、２つのサーバ間に確立された通信経路上のスイッチ装置において障害が発生した場合であっても、２つのサーバ間の通信経路を、迅速に代替の通信経路に切り替えることが可能になる。
【０２１６】
以上、本発明の例示的な実施形態のネットワークシステム及び通信制御方法について説明したが、本発明は、具体的に開示された実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０２１７】
また、各実施例に開示された技術は、相互に矛盾することがない限り、適宜組み合せることが可能なものである。
【０２１８】
以上の第１ないし第３実施例を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
第１情報処理装置と、
前記第１情報処理装置と、複数のスイッチ装置を介して接続された第２情報処理装置と、
前記第１情報処理装置と、前記複数のスイッチ装置を介して接続された第３情報処理装置と、
前記第１情報処理装置、前記第２情報処理装置及び前記第３情報処理装置を管理する管理装置と、
を含み、前記第１情報処理装置、前記第２情報処理装置及び前記第３情報処理装置の間の通信経路が、前記管理装置の制御に基づいて、前記複数のスイッチ装置によって確立されるネットワークシステムにおいて、
前記第１情報処理装置に設けられた第１仮想マシンから、前記第２情報処理装置に設けられた第２仮想マシンへ至る第１通信経路を、前記スイッチ装置によって確立し、
前記第２仮想マシンを前記第２情報処理装置から前記第３情報処理装置に移動させる前に、前記第１通信経路とは異なり、前記第１情報処理装置から前記第３情報処理装置へ至る第２通信経路を、前記管理装置及び前記スイッチ装置によって確立する
ことを特徴とする通信制御方法。
（付記２）
前記第１仮想マシンは第１アドレスを有し、
前記第２仮想マシンは第２アドレスを有し、
前記ネットワークシステムにおいて、
前記管理装置によって、前記第３情報処理装置に、前記第１アドレス及び前記第２アドレスとは異なる第３アドレスを割り当て、
前記第２仮想マシンを前記第２情報処理装置から前記第３情報処理装置へ移動させる前に、前記割り当てられた第３アドレスに基づいて、前記第２通信経路を確立する
ことを特徴とする付記１記載の通信制御方法。
（付記３）
前記ネットワークシステムにおいて、
前記第３アドレスを前記第２アドレスに変換する第１アドレス変換処理を、前記第３情報処理装置によって有効にし、
前記第２仮想マシンを前記第２情報処理装置から前記第３情報処理装置へ移動させる前に、前記第２アドレスを前記第３アドレスに変換する第２アドレス変換処理を、前記第１情報処理装置によって有効にし、
前記確立された第２通信経路と、前記有効にされた第１アドレス変換処理及び第２アドレス変換処理に基づいて、前記第１仮想マシンから前記第２仮想マシンへ至る通信経路を確立する
ことを特徴とする付記２記載の通信制御方法。
（付記４）
前記ネットワークシステムにおいて、
前記第２仮想マシンを前記第２情報処理装置から前記第３情報処理装置へ移動させた後、前記第２通信経路が確立されている時に、前記第１仮想マシンから、前記第３情報処理装置に移動された第２仮想マシンへ至る第３通信経路を、前記管理装置及び前記スイッチ装置によって確立する
ことを特徴とする付記１ないし３のいずれか１つ記載の通信制御方法。
（付記５）
前記ネットワークシステムにおいて、
前記第３通信経路が確立された後で、前記第２通信経路を、前記管理装置及び前記スイッチ装置によって削除する
ことを特徴とする付記４記載の通信制御方法。
（付記６）
前記ネットワークシステムにおいて、
前記第２仮想マシンを前記第２情報処理装置から前記第３情報処理装置へ移動させた後で、前記第１アドレス変換処理及び前記第２アドレス変換処理を無効にし、前記第２通信経路を削除することにより、前記管理装置によって、前記第３アドレスを回収する
ことを特徴する付記３記載の通信制御方法。
（付記７）
前記第３情報処理装置は、第１仮想スイッチを含み、
前記第３アドレスは、前記第１仮想スイッチに割り当てられる
ことを特徴とする付記２記載の通信制御方法。
（付記８）
前記ネットワークシステムにおいて、
前記第３アドレスの通知を要求する第１要求に対する応答であって、前記第３アドレスを含む第１応答を、前記第１仮想スイッチによって送信し、
前記第２通信経路は、前記複数のスイッチ装置が前記第１応答を受信することにより確立される
ことを特徴とする付記７記載の通信制御方法。
（付記９）
前記第３情報処理装置は、第１仮想スイッチを含み、
前記第１情報処理装置は、第２仮想スイッチを含み、
前記第１アドレス変換処理は、前記第１仮想スイッチにおいて行われ、
前記第２アドレス変換処理は、前記第２仮想スイッチにおいて行われる
ことを特徴とする付記３記載の通信制御方法。
（付記１０）
前記第２通信経路は、前記第１仮想スイッチと前記第２仮想スイッチの間に確立される
ことを特徴とする付記９記載の通信制御方法。
（付記１１）
前記第２情報処理装置から前記第３情報処理装置への前記第２仮想マシンの移動は、ライブマイグレーションによって行われる
ことを特徴とする付記１ないし１０のいずれか１つ記載の通信制御方法。
（付記１２）
第１情報処理装置と、
前記第１情報処理装置と、複数のスイッチ装置を介して接続された第２情報処理装置と、
前記第１情報処理装置及びと前記第２情報処理装置を管理する管理装置と
を含み、前記第１情報処理装置と前記第２情報処理装置の間に、第１品質を有する第１通信経路と、前記第１品質よりも低い第２品質を有する第２通信経路が形成されたネットワークシステムにおいて、
前記管理装置によって、前記第１情報処理装置から前記第２情報処理装置への通信であって、第１優先度を有する第１通信を、前記第１通信経路により実行させ、
前記管理装置によって、前記第１情報処理装置から前記第２情報処理装置への通信であって、第１優先度より低い第２優先度を有する第２通信を、前記第２通信経路により実行させる
ことを特徴とする通信制御方法。
（付記１３）
前記第１通信と前記第２通信とは、異なるアプリケーションプログラムによって実行されることを特徴とする付記１２記載の通信制御方法。
（付記１４）
前記ネットワークシステムにおいて、
前記第１情報処理装置から前記第２情報処理装置への通信が前記第１通信であるとき、前記第２情報処理装置の宛先アドレスを、前記管理装置によって割り当てられ、前記第１通信経路を指定する第１アドレスに変換し、前記第２通信であるとき、前記第２情報処理装置の宛先アドレスを、前記管理装置によって割り当てられ、前記第２通信経路を指定する第２アドレスに変換するアドレス変換処理を、前記第１情報処理装置によって実行し、
ことを特徴とする付記１２又は１３記載の通信制御方法。
（付記１５）
第１情報処理装置と、
前記第１情報処理装置と、複数のスイッチ装置を介して接続された第２情報処理装置と、
前記第１情報処理装置及びと前記第２情報処理装置を管理する管理装置と
を含み、前記第１情報処理装置に設けられ、第１アドレスを有する第１仮想マシンから、前記第２情報処理装置に設けられ、第２アドレスを有する第２仮想マシンへ至る複数の候補経路を含むネットワークシステムにおいて、
前記管理装置によって、前記第２情報処理装置に、前記複数の候補経路を指定する複数のアドレスを割り当て、
前記複数のアドレスを前記第２アドレスに変換する第１アドレス変換処理を、前記第２情報処理装置によって実行し、
前記第２アドレスを、前記複数のアドレスの中の第３アドレスに変換する第２アドレス変換処理を、前記第１情報処理装置によって実行する
通信制御方法であって、
前記第３アドレスによって指定される候補経路において障害が発生したとき、前記第２アドレスを、前記複数のアドレスの中の、前記第３アドレスとは異なる第４アドレスに変換する第３アドレス変換処理を、前記第１情報処理装置によって実行する
ことを特徴とする通信制御方法。
（付記１６）
第１情報処理装置と、
前記第１情報処理装置と、複数のスイッチ装置を介して接続された第２情報処理装置と、
前記第１情報処理装置と、前記複数のスイッチ装置を介して接続された第３情報処理装置と、
前記第１情報処理装置、前記第２情報処理装置及び前記第３情報処理装置を管理する管理装置と、
を含み、前記第１情報処理装置、前記第２情報処理装置及び前記第３情報処理装置の間の通信経路を、前記管理装置の制御に基づいて、前記複数のスイッチ装置によって確立するネットワークシステムであって、
前記スイッチ装置は、前記第１情報処理装置に設けられ第１仮想マシンから、前記第２情報処理装置に設けられた第２仮想マシンへ至る第１通信経路を確立し、
前記管理装置及び前記スイッチ装置は、前記第２仮想マシンを前記第２情報処理装置から前記第３情報処理装置に移動させる前に、前記第１通信経路とは異なり、前記第１情報処理装置から前記第３情報処理装置へ至る第２通信経路を確立する
ことを特徴とするネットワークシステム。
【符号の説明】
【０２１９】
１００  ネットワークシステム、
１０２−１、２  サーバ、
１０４−１、２  スイッチ装置、
１０６  Ｌ２スイッチネットワーク、
１１２−１〜３  仮想マシン（ＶＭ）、
１１４−１、２  仮想スイッチ、
１１６  ポートプロファイル、
２００  データセンタネットワークシステム、
２０２−１〜３  サーバ、
２０４−１〜５  スイッチ装置、
２０８  管理装置、
２１２−１〜６  仮想マシン（ＶＭ）、
２１４−１〜３  仮想スイッチ、
２２２、２２４、２２６  アドレス変換部、
７０２−１〜ｎ  仮想マシン（ＶＭ）、
７０４  仮想スイッチ、
７０６−１〜ｍ  ネットワークインターフェース、
７０８  ハイパーバイザ、
７１０  アドレス変換部、
７１２  フォワーディング情報テーブル、
７１４  アドレス変換テーブル、
７１６  ネットワークインターフェース、
１００２  プロセッサ、
１００４  メモリ、
１００６  記憶装置、
１００８  送受信インターフェース（データ通信用）、
１０１０  送受信インターフェース（管理用）、
１１０２−１〜ｋ  ネットワークインターフェース、
１１０４  スイッチング部、
１１０６−１〜ｊ  ネットワークインターフェース、
１１１２  フォワーディング情報テーブル、
１１１６    ネットワークインターフェース、
１３００  データセンタネットワークシステム、
１３０２、１３０４  サーバ、
１３０６  Ｌ２スイッチネットワーク、
１３１２、１３１４、１３２２  仮想マシン（ＶＭ）、
１３１６、１３２６  仮想スイッチ、
１３１８、１３２８  アドレス変換部、
１３３２  管理装置、
１３３６、１３３８  アプリ、
１５００  データセンタネットワークシステム、
１５０２、１５０４  サーバ、
１５０６−１〜８  スイッチ装置、
１５１２、１５２２  仮想マシン（ＶＭ）、
１５１６、１５２６  仮想スイッチ、
１５１８、１５２８  アドレス変換部、
１５３２  管理装置
【図１】
0005906896.tif 000002
【図２】
0005906896.tif 000003
【図３】
0005906896.tif 000004
【図４】
0005906896.tif 000005
【図５】
0005906896.tif 000006
【図６】
0005906896.tif 000007
【図７】
0005906896.tif 000008
【図８】
0005906896.tif 000009
【図９】
0005906896.tif 000010
【図１０】
0005906896.tif 000011
【図１１】
0005906896.tif 000012
【図１２】
0005906896.tif 000013
【図１３】
0005906896.tif 000014
【図１４】
0005906896.tif 000015
【図１５】
0005906896.tif 000016
【図１６】
0005906896.tif 000017