尚、以下の実施例及び応用例においては、本発明が適用されるシステムとして、データセンタネットワークシステムを例にとって説明するが、この例には限定されず、本発明は、サーバとスイッチ装置等を含むネットワークシステムに広く適用されるものである。
[1.第1実施例]
以下、第1実施例に係るネットワークシステム及び通信制御方法について説明する。
[1−1.データセンタネットワークシステム200の構成]
図2は、第1実施例に係るデータセンタネットワークシステム200の構成を示す図である。以下、データセンタネットワークシステム200の概略的な構成について説明する。
図2に示したように、データセンタネットワークシステム200は、管理装置208の制御に基づく集中管理型のネットワークシステムであり、サーバ202−1〜3及びスイッチ装置204−1〜5を含む複数のノード装置と、管理装置208を有する。サーバ202−1〜3と、スイッチ装置204−1〜3は、図2において実線で示した、データ通信用のネットワーク回線を介して接続されている。
スイッチ装置204−1〜5は、ネットワーク中継器として機能する物理スイッチであり、レイヤ2スイッチ(L2スイッチ)である。スイッチ装置204−1〜5はそれぞれ、トラフィックデータのフォワーディング情報が格納されたフォワーディング情報テーブルを有する。フォワーディング情報テーブルは、トラフィックデータの宛先を示すMACアドレスと、そのフォワーディング情報テーブルを有するスイッチ装置の出力インターフェースとの間の対応関係を示す情報を格納するテーブルである。MACアドレスは、VMに割り当てられた物理アドレスの一例である。スイッチ装置204−1〜5はMACアドレス学習を行わず、管理装置208がスイッチ装置204−1〜5の各々に、集中管理的に、フォワーディング情報を書き込む。
スイッチ装置204−1〜5は、サーバ又は他のスイッチ装置からトラフィックデータを受けとる。スイッチ装置204−1〜5は、フォワーディング情報テーブルを参照することにより、レイヤ2(データリンク層)の通信プロトコルに基づいて周知のスイッチング制御を行い、受けとったトラフィックデータを出力する出力インターフェースを決定する。
サーバ202−1〜3の各々は、少なくとも1つの仮想スイッチと、複数の仮想マシン(VM)を含む。例えば、サーバ202−1は、1つの仮想スイッチ214−1と2つのVM212−1、2を含む。VM212−1、2はそれぞれ、仮想スイッチ214−1を介して、対応するスイッチ装置204−1に接続される。サーバ202−2及びサーバ202−3においても同様である。
サーバ202−1〜3の各々は、後述するように、管理装置208からの指示情報に基づいて、管理装置208によって移動の対象とされたVMを、ライブマイグレーションにより、別のサーバに移動させる。ライブマイグレーションによるVM移動の詳細については、後で説明する。
仮想スイッチ214−1〜3は、対応するサーバにおいてプロセッサが所定のプログラムを実行することによって実現される、仮想的に設けられたネットワーク中継器であり、レイヤ2(L2)スイッチである。仮想スイッチ214−1〜3はそれぞれ、スイッチ装置204−1〜5と同様に、トラフィックデータのフォワーディング情報が格納されたフォワーディング情報テーブルを有する。仮想スイッチ214−1〜3は、VM又はスイッチ装置からトラフィックデータを受けとる。仮想スイッチ214−1〜3は、フォワーディング情報テーブルを参照することにより、レイヤ2(データリンク層)の通信プロトコルに基づいてスイッチング制御を行い、受けとったトラフィックデータを出力する出力インターフェースを決定する。
さらに、仮想スイッチ214−1〜3はそれぞれ、アドレス変換部222〜226を有する。サーバ202−1〜3は、後述するように、移動対象のVMの移動先のサーバである場合には、管理装置208から、自装置に割り当てた仮MACアドレスの情報を受けとり、対応するアドレス変換部222〜226を活性化させる。活性化されたアドレス変換部222〜226はそれぞれ、管理装置208によって割り当てられた仮MACアドレスに基づいて、対応する仮想スイッチ214−1〜3が受けとったトラフィックデータに含まれるMACアドレスの変換処理を行う。
アドレス変換部222〜226はそれぞれ、対応する仮想スイッチ214−1〜3がVM212−1〜6からトラフィックデータを受けとった場合、そのトラフィックデータにおいて、その宛先となるVMを示すMACアドレス(宛先MACアドレス)を、管理装置208によって指定された仮MACアドレスに変換する。どのVMに対応する宛先MACアドレスを変換対象とするかは、後述するように、管理装置208によって指定される。
また、アドレス変換部222〜226はそれぞれ、対応する仮想スイッチ214−1〜3がスイッチ装置204−1〜3からトラフィックデータを受けとった場合、そのトラフィックデータにおいて、その宛先MACアドレスが、管理装置208によって指定された仮MACアドレスであった場合、その仮MACアドレスを、対応する仮想スイッチ214−1〜3と接続されたVM212−1〜6の中の1つのVMに対応するMACアドレスに変換する。どのVMに対応するMACアドレスに変換するかは、後述するように、管理装置208によって指定される。
VM212−1〜6の各々は、他のVMとの間にコネクションを確立し、コネクションを確立したVMとの間でトラフィックデータの通信を行う。2つのVMとの間でコネクションが確立されると、その2つのVMの間には、仮想スイッチ214−1〜3、及び、スイッチ装置204−1〜5の少なくとも1つを経由する通信経路が確立される。各通信経路は、その通信経路上に位置するスイッチ装置及び仮想スイッチの各々において、上述したスイッチング制御が実行された結果として、確立されるものである。
管理装置208は、サーバ202−1〜3、及びスイッチ装置204−1〜5と、図2において一点鎖線で示した、管理用のネットワーク回線を介して接続されている。一点鎖線で示した管理用ネットワーク回線は、実線で示したデータ通信用ネットワーク回線とは独立した回線である。
管理装置208は、管理用ネットワーク回線を介して、サーバ202−1〜3から管理情報を受けとる。管理情報は例えば、サーバ202−1〜3に属するVM212−1〜6の間で行われている通信の内容を示す情報であり、通信の宛先となるVMに割り当てられたMACアドレスや、送信元となるVMに割り当てられたMACアドレス等の情報を含む。管理装置208は、受けとった管理情報に基づいて、データセンタネットワーク200において、どのVMの間で通信が行われているかを監視する。
管理装置208は、データセンタネットワークシステム200を構成するサーバ202−1〜3に属する複数のVMについて、その生成、消滅及び移動を管理する。管理装置208は、移動対象とするVMを決定するとともに、その移動対象VMの移動先となるサーバを決定することにより、VMのライブマイグレーションの実行を制御する。管理装置208は、管理用ネットワーク回線を介して、移動対象VMの移動元サーバと移動先サーバに対して、移動対象VMをライブマイグレーションにより移動させることを示す指示情報を送信する。
さらに、管理装置208は、上述の仮MACアドレスを生成し、サーバ202−1〜3に対して、生成した仮MACアドレスを、管理用ネットワーク回線を介して通知する。仮MACアドレスは、ライブマイグレーションによるVMの移動が発生したときに、一時的に用いられるMACアドレスである。管理装置208は、ライブマイグレーションによる移動対象のVMの移動先サーバに対して、仮MACアドレスを割り当てる。管理装置208は、管理用ネットワーク回線を介して、割り当てた仮MACアドレスの情報を、移動対象VMの移動先サーバに送信する。また、管理装置208は、管理用ネットワーク回線を介して、移動対象VMの移動先サーバに対して、対応する仮想スイッチに含まれるアドレス変換部を活性化させることを示す指示情報を送信する。
[1−2.データセンタネットワークシステム200の通信制御方法]
次に、ライブマイグレーションによるVMの移動に際して、データセンタネットワークシステム200において行われる通信制御方法を説明する。
以下の説明では、データセンタネットワークシステム200において、サーバ202−1〜3に属する複数のVM212−1〜6のうち、2つのVMの間で通信経路が確立されている状態の下で、宛先となるVM(宛先VM)が移動した場合を例にとって説明するが、送信元となるVM(送信元VM)が移動した場合も、同様の通信制御方法が実行される。
[1−2−1.仮MACアドレスによる通信経路の設定]
ライブマイグレーションによりVMが移動する前後において、データセンタネットワークシステム200において行われる通信制御方法を、図3及び図4を用いて説明する。
図3は、VM移動の前後において行われる、仮MACアドレスによる通信経路の設定処理を説明するためのシステム構成図である。図4は、VM移動の前後において行われる、仮MACアドレスによる通信経路の設定処理を示すシーケンスチャートである。
まず、VMの移動が起こる前における、データセンタネットワークシステム200の状態について説明する。
図3に示した例では、VMの移動前において、太幅の一点鎖線で示したように、サーバ202−1に属するVM212−1とサーバ202−3に属するVM212−4の間に通信経路が確立され、VM212−4からVM212−1への通信が行われている。宛先となるVM212−1にはMACアドレス“A0”が割り当てられ、送信元となるVM212−4にはMACアドレス“A1”が割り当てられている。
各々のスイッチ装置204−1〜5は、内部のフォワーディング情報テーブルにおいて、宛先VM212−1のMACアドレス“A0”と、その宛先MACアドレス“A0”に対応する出力インターフェースの対応関係を示す情報を格納している。例えば、図3に示したように、スイッチ装置204−3は、内部のフォワーディング情報テーブルにおいて、宛先VM212−1のMACアドレス“A0”に対応する出力インターフェースとして、インターフェースif_0を対応づける。フォワーディング情報テーブルの詳細については、後述する。
管理装置208は、管理用ネットワーク回線を介して、サーバ202−1及びサーバ202−3より、VM212−1とVM212−4の間の通信の内容を示す管理情報を受信する。管理装置208は、受信した管理情報に基づいて、VM212−4からVM212−1への通信が行われていることを認識する。
尚、VMの移動前の段階では、各々のサーバ202−1〜3において、アドレス変換部222〜226は活性化されておらず、上述のMACアドレス変換処理は実行されていない。
以上の状態の下において、図4に示したように、ステップS402において、管理装置208は、VM212−1をサーバ202−1からサーバ202−2に移動することを決定する。すなわち、管理装置208は、移動対象VM212−1について、サーバ202−1からサーバ202−2へのライブマイグレーションの実行を決定する。管理装置208は例えば、サーバ202−1における演算処理の負荷や、サーバ202−1に対する通信経路の負荷等の種々の要因を考慮して、ライブマイグレーションによるVM212−1の移動を決定する。管理装置208は、管理用ネットワーク回線と介して、サーバ202−1及びサーバ202−2に対して、ライブマイグレーションによりVM212−1をサーバ202−1からサーバ202−2に移動させるように指示する。
次に、ステップS404において、管理装置208は、ステップS402において移動対象VMに決定したVM212−1が、VM212−1とVM212−4の間の現在実行中の通信において、宛先VMとなっていることを認識する。
そして、管理装置208は、移動対象VM212−1の移動先サーバ202−2に対して、仮MACアドレスを割り当てる。図3に示した例では、管理装置208は、移動対象のVM212−1が、VM212−4とVM212−1の間の通信において、宛先VMとなっており、移動対象のVM212−1の移動先のサーバであるサーバ202−2に対して、仮MACアドレス“M0”を割り当てる。管理装置208は、管理用ネットワーク回線を介して、割り当てた仮MACアドレス“M0”の情報を移動先サーバ202−2に送信する。
移動先サーバ202−2は、管理装置208から、自装置に割り当てられた仮MACアドレス“M0”の情報を受けとる。移動先サーバ202−2は、受けとった仮MACアドレス“M0”を、内部の仮想スイッチ214−2に割り当てる。
次に、ステップS406において、管理装置208は、管理用ネットワーク回線を介して、データネットワークシステム200に含まれる各々のスイッチ装置204−1〜5に対して、ステップS404において仮想スイッチ214−2に割り当てられた仮MACアドレス“M0”に対して、通信経路を設定するように指示する指示メッセージを送信する。管理装置208からの指示メッセージには、仮MACアドレス“M0”とともに、対応する出力インターフェースの情報が含まれる。
各々のスイッチ装置204−1〜5は、管理要ネットワーク回線を介して、管理装置208から、仮MACアドレス“M0”に対して通信経路を設定するように指示する指示メッセージを受信する。各々のスイッチ装置204−1〜5は、受信した指示メッセージに基づいて、内部のフォワーディング情報テーブルにおいて、仮MACアドレス“M0”と、その仮MACアドレス“M0”に対応する出力インターフェースの対応関係を示す情報を追加する。
例えば、図3に示したように、スイッチ装置204−3は、内部のフォワーディング情報テーブルにおいて、仮MACアドレス“M0”に対応する出力インターフェースとして、インターフェースif_1を対応づける。フォワーディング情報テーブルの詳細については、後述する。
各々のスイッチ装置204−1〜5においてフォワーディング情報テーブルの更新が完了すると、図3に示した例では、スイッチ装置204−2、3、5と仮想スイッチ214−2、3の間においては、太幅の実線で示したように、仮MACアドレス“M0”を有する仮想スイッチ214−2に対する通信経路が確立される。すなわち、宛先MACアドレスとして仮MACアドレス“M0”を有するトラフィックデータは、太幅の実線で示した通信経路を介して、サーバ202−3からサーバ202−2に送信されることになる。
次に、ステップS408において、管理装置208は、ステップS404において割り当てられた仮アドレス“M0”と、移動対象VM212−1に割り当てられたMACアドレス“A0”の情報を、管理用ネットワーク回線を介して、移動対象VM212−1に対応する送信元VM212−4が属するサーバ(送信元サーバ)202−3に送信する。
管理装置208はさらに、管理用ネットワーク回線を介して、送信元サーバ202−3に対して、仮MACアドレス“M0”に基づくMACアドレスの変換処理を設定するように指示する。送信元サーバ202−3は、管理装置208からの指示に基づいて、内部のアドレス変換部226において、仮MACアドレス“M0”に基づくMACアドレス変換処理を設定する。すなわち、アドレス変換部226は、アドレス変換テーブルを生成し、生成されたアドレス変換テーブルに基づいて、仮想スイッチ214−3が、対応するVM212−4、5から、移動対象VM212−1宛てのトラフィックデータを受けとったとき、受けとったトラフィックデータにおいて、宛先MACアドレス“A0”を、仮MACアドレス“M0”に変換する。
図3に示した例では、アドレス変換部226は、VM212−4からVM212−1宛てのトラフィックデータにおいて、送信元VMを示すMACアドレス(送信元MACアドレス)“A1”と宛先MACアドレス“A0”の組み合わせを、送信元MACアドレス“A1”と宛先MACアドレス“M0”の組み合わせに変換する。
尚、このステップでは、アドレス変換部226は活性化されておらず、VM212−4から受信されたトラフィックデータに対して、設定したMACアドレス変換処理は実行されない。
次に、ステップS410において、管理装置208は、管理用ネットワーク回線を介して、移動先サーバ202−2に対して、仮MACアドレス“M0”に基づくMACアドレスの変換処理を設定するように指示する。移動先サーバ202−2は、管理装置208からの指示に基づいて、内部のアドレス変換部224において、仮MACアドレス“M0”に基づくMACアドレス変換処理を設定する。すなわち、アドレス変換部224は、アドレス変換テーブルを生成し、生成されたアドレス変換テーブルに基づいて、仮想スイッチ214−2が、対応するスイッチ装置204−2からトラフィックデータを受けとったとき、受けとったトラフィックデータにおいて、仮想スイッチ214−2に割り当てられた宛先MACアドレス“M0”を、本来の宛先であるVM212−1のMACアドレス“A0”に変換する。
図3に示した例では、アドレス変換部224は、VM212−4からVM212−1宛てのトラフィックデータにおいて、送信元MACアドレス“A1”と宛先MACアドレス“M0”の組み合わせを、送信元MACアドレス“A1”と宛先MACアドレス“A0”の組み合わせに変換する。
さらに、管理装置208は、管理用ネットワーク回線を介して、移動先サーバ202−2に対して、対応する仮想スイッチ214−2に含まれるアドレス変換部224を活性化させるように指示する。
移動先サーバ202−2は、管理装置208からの指示に基づいて、内部に設けられたアドレス変換部224を活性化させる。これにより、仮想スイッチ214−2においては、設定した上述のMACアドレス変換処理が有効になり、対応するスイッチ装置204−2から受信されるトラフィックデータに対して、上述のMACアドレス変換処理が実行されるようになる。
次に、ステップS412において、管理装置208は、管理用ネットワーク回線を介して、移動元サーバ202−1に対して、ステップS402において移動対象に決定したVM212−1を、ライブマイグレーションによりサーバ202−1からサーバ202−2へ移動させるように指示する。
次に、ステップS414において、移動元サーバ202−1は、管理装置208からの指示に基づいて、移動対象VM212−1に対して周知のライブマイグレーションを実行することにより、VM212−1をサーバ202−1からサーバ202−2へ移動させる。ライブマイグレーションにおいては、例えば、移動元サーバ202−1は移動先サーバ202−2に対して、移動対象VM212−1に関する種々の設定情報を、管理用ネットワーク回線を介して転送する。
次に、ステップS416において、移動元サーバ202−1は、ライブマイグレーションによる、移動対象VM212−1の移動が完了したとき、管理用ネットワーク回線を介して、管理装置208に対して、VM212−1の移動完了通知を送信する。移動元サーバ202−1は例えば、移動対象VM212−1に関する種々の設定情報の移動先サーバ202−2への転送が正常に完了したときに、管理装置208に対して、VM212−1の移動完了通知を送信する。
次に、ステップS418において、管理装置208は、移動元サーバ202−1から移動対象VM212−1の移動完了通知を受信したとき、管理用ネットワーク回線を介して、移動対象VM212−1に対応する送信元サーバ202−3に対して、対応する仮想スイッチ214−3に含まれるアドレス変換部226を活性化させるように指示する。
送信元サーバ202−3は、管理装置208からの指示に基づいて、内部に設けられたアドレス変換部226を活性化させる。これにより、仮想スイッチ214−3においては、ステップS408において設定したMACアドレス変換処理が有効になり、対応するVM212−4から受信されるトラフィックデータに対して、上述のMACアドレス変換処理が実行されるようになる。
以上説明したステップS402からS418までの処理によって、図3に示した例では、移動先サーバ202−2へのVM212−1の移動が完了した時点で、送信元VM212−4と宛先VM212−1の間においては、太幅の実線で示したように、アドレス変換部224とアドレス変換部226を介した一時的な通信経路がすでに確立されている。
これにより、送信元VM212−4と宛先VM212−1の間においては、通信の実行中にVMの移動が起こった場合であっても、VM212−1の移動が完了した時点で、すでに確立された一時的な通信経路に、通信経路を切り替えることができるので、通信を途絶させることなく、送信元VM212−4と宛先VM212−1の間の通信を継続させることができる。
また、図3の太幅実線で示した通信経路においては、確立された通信経路のうち、アドレス変換部224とアドレス変換部226の間の部分は、管理装置208によって割り当てられた仮MACアドレス“M0”を有する仮想スイッチ214−2に対して確立された通信経路である。
通信経路の切り替えに、仮MACアドレス“M0”を有する仮想スイッチ214−2に対して確立された一時的な通信経路を利用することによって、通信の実行中に宛先VM212−1の移動が起こった場合であっても、VM212−1の移動が完了した時点で、即座に通信経路を、仮MACアドレス“M0”を用いて一時的に確立された通信経路に切り替えることができるので、通信を途絶させることなく、送信元VM212−4と宛先VM212−1の間の通信を継続させることができる。
アドレス変換部224、226によるMACアドレス変換処理によって、送信元VM212−4と宛先VM212−1は、通信を行うに際して仮MACアドレス“M0”の情報を一切考慮する必要がないので、VMの移動の前後においてトラフィックデータの内容を変更することなく通信を行うことができる。これにより、通信が途絶することなく、送信元VM212−4と宛先VM212−1の間の通信を継続することができる。
[1−2−2.VM移動後における仮MACアドレスの回収]
ライブマイグレーションによりVMが移動した後において、データセンタネットワークシステム200において行われる通信制御方法を、図5及び図6を用いて説明する。
図5は、VM移動後において行われる、仮MACアドレスの回収処理を説明するためのシステム構成図である。図6は、VM移動後において行われる、仮MACアドレスの回収処理を示すシーケンスチャートである。
まず、VMの移動が完了した後における、データセンタネットワークシステム200の状態について説明する。
図5に示した例では、VMの移動後において、太幅の実線で示したように、ライブマイグレーションによる移動によってサーバ202−2に属することとなったVM212−1と、サーバ202−3に属するVM212−4の間に通信経路が確立され、VM212−4からVM212−1への通信が行われている。図5に示した状態は、図4のステップS418の処理が終了した後におけるデータセンタネットワーク200の状態に対応するものである。
VMの移動後の段階では、送信元VM212−4及び宛先VM212−1が属するサーバ202−2、3においては、対応するアドレス変換部224、226が活性化されており、各アドレス変換部224、226において上述のMACアドレス変換処理が実行されている。すなわち、送信元VM212−4と宛先VM212−1の間においては、アドレス変換部224とアドレス変換部226を介した通信経路が確立されており、確立された通信経路のうち、アドレス変換部224とアドレス変換部226の間の部分は、仮MACアドレス“M0”を有する仮想スイッチ214−2に対して確立された通信経路である。
以上の状態の下において、図6に示したように、ステップS602において、管理装置208は、管理用ネットワーク回線を介して、データネットワークシステム200に含まれる各々のスイッチ装置204−1〜5及びサーバ202−1、3に対して、移動されたVM212−1のMACアドレス“A0”に対して移動前に設定された通信経路を削除するように指示する。
各々のスイッチ装置204−1〜5及びサーバ202−1、3は、管理装置208からの指示に基づいて、内部のフォワーディング情報テーブルを更新する。すなわち、各々のスイッチ装置204−1〜5及びサーバ202−1、3は、内部のフォワーディング情報テーブルから、移動されたVM212−1のMACアドレス“A0”と、そのMACアドレス“A0”に対応する出力インターフェースの対応関係を示す情報を削除する。
尚、図5に示した例では、VM212−1の移動先サーバであるサーバ202−2に対しては、上述の通信経路の削除指示は行われないが、他のサーバ202−1、3と同様に、通信経路の削除指示を行うようにしてもよい。
次に、ステップS604において、管理装置208は、管理用ネットワーク回線を介して、各々のスイッチ装置204−1〜5及びサーバ202−2、3に対して、移動されたVM212−1のMACアドレス“A0”に対して、新たに通信経路を設定するように指示する指示メッセージを送信する。管理装置208からの指示メッセージには、仮MACアドレス“M0”とともに、対応する出力インターフェースの情報が含まれる。
各々のスイッチ装置204−1〜5及び及びサーバ202−2、3は、管理要ネットワーク回線を介して、管理装置208から、移動されたVM212−1のMACアドレス“A0”に対して通信経路を設定するように指示する指示メッセージを受信する。各々のスイッチ装置204−1〜5及びサーバ202−3は、受信した指示メッセージに基づいて、内部のフォワーディング情報テーブルにおいて、MACアドレス“A0”と、そのMACアドレス“A0”に対応する出力インターフェースの対応関係を示す情報を追加する。
例えば、図5に示したように、スイッチ装置204−3は、内部のフォワーディング情報テーブルにおいて、宛先VM212−1のMACアドレス“A0”に対応する出力インターフェースとして、インターフェースif_1を対応づける。フォワーディング情報テーブルの詳細については、後述する。
各々のスイッチ装置204−1〜5及びサーバ202−3においてフォワーディング情報テーブルの更新が完了すると、図5に示した例では、スイッチ装置204−2、3、5、仮想スイッチ214−2、3及びVM212−1、4の間においては、太幅の破線で示したように、MACアドレス“A0”を有する移動されたVM212−1に対する通信経路が確立される。すなわち、宛先MACアドレスとして、移動されたVM212−1のMACアドレス“A0”を有するトラフィックデータは、太幅の破線で示した通信経路を介して、サーバ202−3からサーバ202−2に送信されることになる。
尚、図5に示した例では、VM212−1の移動元サーバであるサーバ202−1に対しては、上述の通信経路の設定指示は行われないが、他のサーバ202−3と同様に、通信経路の設定指示を行うようにしてもよい。
次に、ステップS606において、管理装置208は、送信元VM212−4が属するサーバ202−3に対して、対応するアドレス変換部226を不活性化するように指示する。
送信元サーバ202−3は、管理装置208からの指示に基づいて、内部に設けられたアドレス変換部226を不活性化する。これにより、仮想スイッチ214−3においては、図4のステップS408において設定したMACアドレス変換処理が無効化され、対応するVM212−4から受信されるトラフィックデータに対して、上述のMACアドレス変換処理が実行されなくなる。
尚、仮想スイッチ214−3においては、MACアドレス変換処理を無効化する代わりに、MACアドレス変換処理を行う際に用いられるアドレス変換テーブルを削除するようにしてもよい。
次に、ステップS608において、管理装置208は、移動されたVM212−1が属するサーバ202−2に対して、対応するアドレス変換部224を不活性化するように指示する。
移動先サーバ202−2は、管理装置208からの指示に基づいて、内部に設けられたアドレス変換部224を不活性化する。これにより、仮想スイッチ214−2においては、図4のステップS410において設定したMACアドレス変換処理が無効化され、対応するスイッチ装置204−2から受信されるトラフィックデータに対して、上述のMACアドレス変換処理が実行されなくなる。
尚、仮想スイッチ214−2においては、MACアドレス変換処理を無効化する代わりに、MACアドレス変換処理を行う際に用いられるアドレス変換テーブルを削除するようにしてもよい。
次に、ステップS610において、管理装置208は、管理用ネットワーク回線を介して、各々のスイッチ装置204−1〜5に対して、仮想スイッチ214−2に割り当てられた仮MACアドレス“M0”に対して移動前に設定された通信経路を削除するように指示する。
各々のスイッチ装置204−1〜5は、管理装置208からの指示に基づいて、内部のフォワーディング情報テーブルを更新する。すなわち、各々のスイッチ装置204−1〜5は、内部のフォワーディング情報テーブルから、仮MACアドレス“M0”と、その仮MACアドレス“M0”に対応する出力インターフェースの対応関係を示す情報を削除する。
各々のスイッチ装置204−1〜5においてフォワーディング情報テーブルの更新が完了すると、図5に示した例では、スイッチ装置204−2、3、5と仮想スイッチ214−2、3の間においては、太幅の実線で示した、仮MACアドレス“M0”を有する仮想スイッチ214−2に対する通信経路が削除される。
以上説明したステップS602からS610までの処理によって、図5に示した例では、移動先サーバ202−2へのVM212−1の移動が完了した後に、送信元VM212−4と宛先VM212−1の間において、太幅の実線で示した、アドレス変換部224とアドレス変換部226を介した通信経路が確立された状態で、太幅の破線で示したように、アドレス変換部224とアドレス変換部226を介さない通信経路が新たに確立される。
そして、送信元VM212−4と宛先VM212−1の間において、太幅の破線で示した、アドレス変換部224とアドレス変換部226を介さない通信経路が確立された状態で、太幅の実線で示した、アドレス変換部224とアドレス変換部226を介した通信経路が削除される。それによって、送信元VM212−4から宛先VM212−1への通信経路が、仮MACアドレス“M0”を用いて設定された一時的な通信経路(実線で示された通信経路)から、移動されたVM212−1に対する本来の通信経路(破線で示された通信経路)に切り替えられる。
よって、送信元VM212−4から宛先VM212−1への通信を途絶させることなく、その通信経路を一時的な通信経路から、VMの移動後の位置に応じて新たに確立された通信経路に切り替えることができる。
また、移動されたVM212−1に対する本来の通信経路(破線で示された通信経路)が確立された後に、仮MACアドレス“M0”を用いて設定された一時的な通信経路(実線で示された通信経路)が削除されることにより、管理装置208は、移動先サーバ202−2に割り当てた仮MACアドレス“M0”を回収することができる。
よって、管理装置208はその後、他のVMについてライブマイグレーションによる移動が起こった場合でも、仮アドレスMACアドレスとして同一のアドレス“M0”を割り当てることができる。これにより、管理装置208においては、VMの移動が起こった際に仮MACアドレスを割り当てることに起因して、管理装置208が管理するMACアドレスの数が増加するのを防止することができる。
[1−2.サーバ202の構成]
[1−2−1.サーバ202の内部構成]
図7は、第1実施例に係るサーバ202(202−1〜3)の内部構成を示す機能ブロック図である。図8は、フォワーディング情報テーブル712の一例を示す図である。図9は、アドレス変換テーブル714の一例を示す図である。
図7に示したように、データセンタネットワークシステム200に含まれるサーバ202は、VM702−1〜n、仮想スイッチ704、ネットワークインターフェース706−1〜m、ハイパーバイザ708、アドレス変換部710、フォワーディング情報テーブル712、アドレス変換テーブル714及びネットワークインターフェース716を含む。
ハイパーバイザ708は、サーバ202全体の管理及び動作制御を行う。ハイパーバイザ708は、VM702−1〜n、仮想スイッチ704、及びネットワークインターフェース706−1〜m、716の動作を制御する。ハイパーバイザ708は、VM702−1〜n及びネットワークインターフェース706−1〜m、716の各々に対して、仮想スイッチ704において、複数の仮想インターフェース(仮想インターフェースa〜e、z等)の中から、対応する1つの仮想インターフェースを割り当てる。
VM702−1〜n(nは正の整数)は、サーバ202に設けられた仮想マシンであり、コンピュータの動作をエミュレートするソフトウェアである。VM702−1〜nは、自装置で生成したトラフィックデータを仮想スイッチ704に出力し、また、仮想スイッチ704から、他のサーバに設けられたVMで生成されたトラフィックデータを受け取る。図7に示した例では、VM702−1、2及びnはそれぞれ、仮想スイッチ704の仮想インターフェースc、d及びeに接続されている。
ネットワークインターフェース706−1〜m(mは正の整数)は、サーバ202に設けられた送受信インターフェースである。ネットワークインターフェース706−1〜mは、図2に示したデータセンタネットワークシステム200において、データ通信用ネットワーク回線を介して、他のスイッチ装置やサーバとの間でトラフィックデータの送受信を行う。図7に示した例では、ネットワークインターフェース706−1及びmはそれぞれ、仮想スイッチ704の仮想インターフェースa及びbに接続されている。
また、ネットワークインターフェース716は、サーバ202に設けられた送受信インターフェースである。ネットワークインターフェース716は、図2に示したデータセンタネットワークシステム200において、管理用ネットワーク回線を介して、管理装置208との間で管理情報の送受信を行う。図7に示した例では、ネットワークインターフェース716は、仮想スイッチ704の仮想インターフェースzに接続されている。
仮想スイッチ704は、仮想インターフェースa〜e、z等の複数の仮想インターフェースを含む。仮想スイッチ704は、複数の仮想インターフェース(仮想インターフェースa〜e等)を介して、VM702−1〜n及びネットワークインターフェース706−1〜mから、トラフィックデータを受けとる。仮想スイッチ704は、受けとったトラフィックデータについて、VM702−1〜nとネットワークインターフェース706−1〜mの間の通信を制御する。仮想スイッチ704は、図3及び図5に示した仮想スイッチ214−1〜3に対応するものである。
仮想スイッチ704は、VM702−1〜nからトラフィックデータを受けとったとき、フォワーディング情報テーブル712を参照することによりスイッチング制御を行う。図8に示したように、フォワーディング情報テーブル712は、トラフィックデータの宛先を示すMACアドレス(宛先MACアドレス)と、トラフィックデータの出力インターフェースとなる、仮想スイッチ704の仮想インターフェースとの間の対応関係を示す情報を格納している。
仮想スイッチ704は、フォワーディング情報テーブル712を参照することにより、受けとったトラフィックデータに含まれる宛先MACアドレスに基づいて、複数の仮想インターフェースの中から、受けとったトラフィックデータを出力する仮想インターフェースを決定する。仮想スイッチ704は、決定された仮想インターフェース(出力インターフェース)を介して、受けとったトラフィックデータを、複数のネットワークインターフェース706−1〜mの中の、対応するネットワークインターフェースに出力する。
尚、仮想スイッチ704は、アドレス変換部710が活性化され、アドレス変換部710によるMACアドレス変換処理が有効となっている場合には、アドレス変換部710によるアドレス変換処理後の宛先MACアドレスに基づいて、出力インターフェースを決定する。
また、仮想スイッチ704は、仮想インターフェース(仮想インターフェースz等)を介して、ネットワークインターフェース716から、管理装置208から送信された種々の情報を受けとる。仮想スイッチ704は、管理装置208から、移動対象VMの移動先サーバに割り当てられた仮MACアドレスの情報を受けとったとき、内部に設けられたアドレス変換部710において実行されるアドレス変換処理を用いるアドレス変換テーブル714を生成する。アドレス変換部710は、図3及び図5に示したアドレス変換部222〜226に対応するものである。
仮想スイッチ704は、管理装置208から、対応するアドレス変換部を活性化させることを示す指示を受けとったとき、アドレス変換部710を活性化させる。活性化されたアドレス変換部710は、生成されたアドレス変換テーブルを参照することにより、対応する仮想スイッチ704が受けとったトラフィックデータに含まれる宛先MACアドレスの変換処理を行う。
図9(A)に示したように、仮想スイッチ704は、移動対象VM(宛先VM)に対応する送信元VMが属するサーバ(送信元サーバ)に含まれるものであるとき、アドレス変換テーブル714において、アドレス変換前の宛先MACアドレスとして、移動対象VMに割り当てられたMACアドレスを設定し、アドレス変換後の宛先MACアドレスとして、管理装置208から受け取った仮MACアドレスを設定する。
送信元サーバに含まれる仮想スイッチ704において、アドレス変換部710は、図9(A)に示したアドレス変換テーブル714を参照することにより、対応する仮想スイッチ704が受けとったトラフィックデータに含まれる宛先MACアドレスを、移動対象VM(宛先VM)に割り当てられたMACアドレスから、仮MACアドレスに変換する。
一方、図9(B)に示したように、仮想スイッチ704は、移動対象VM(宛先VM)の移動先サーバに含まれるものであるとき、アドレス変換テーブル714において、アドレス変換前の宛先MACアドレスとして、管理装置208から受け取った仮MACアドレスを設定し、アドレス変換後の宛先MACアドレスとして、移動対象VMに割り当てられたMACアドレスを設定する。
移動先サーバに含まれる仮想スイッチ704において、アドレス変換部710は、図9(B)に示したアドレス変換テーブル714を参照することにより、対応する仮想スイッチ704が受けとったトラフィックデータに含まれる宛先MACアドレスを、仮MACアドレスから、移動対象VM(宛先VM)に割り当てられたMACアドレスに変換する。
アドレス変換部710によるMACアドレス変換処理によって、各VM702−1〜nは、通信を行うに際して仮MACアドレスの情報を一切考慮する必要がないので、ライブマイグレーションによる移動の前後においてトラフィックデータの内容を変更することなく通信を行うことができる。これにより、通信が途絶することなく、VM間の通信を継続することができる。
[1−2−2.サーバ202のハードウェア構成]
図10は、サーバ202の内部構成を示すハードウェア構成図である。
図10に示したように、サーバ202は、プロセッサ1002、メモリ1004、記憶装置1006、データ通信用の送受信インターフェース1008、管理用の送受信インターフェース1010、及びバス1012を含む。プロセッサ1002、メモリ1004、記憶装置1006及び送受信インターフェース1008、1010はそれぞれバス1012に接続されている。
図7に示したサーバ202の各機能ブロックの機能は、図10に示したハードウェア構成によって実現することができる。ここで、メモリ1004は例えば、RAMである。記憶装置1006は例えば、ROMやフラッシュメモリ等の不揮発性メモリ、あるいは、HDD(Hard Disk Drive)等の磁気ディスク装置である。
図7に示したVM702−1〜n、仮想スイッチ704、ハイパーバイザ708、アドレス変換部710の機能及び処理は、対応する機能及び処理を記述した処理プログラムを、プロセッサ1002が実行することにより実現することができる。
上述の処理プログラムは記憶装置1006に格納されており、プロセッサ1002が、記憶装置1006に格納された処理プログラムをメモリ1004に展開し、処理プログラムに記述された各処理を実行することにより、上述の各機能ブロックが実現される。
図7に示したフォワーディング情報テーブル712及びアドレス変換テーブル714は、メモリ1004又は記憶装置1006によって実現される。プロセッサ1002が、上述の処理プラグラムに記述された処理に基づいて、メモリ1004又は記憶装置1006に対して所望のアクセスを行うことにより、対応する記憶領域に対するデータが参照される。
図7に示したネットワークインターフェース706−1〜m、716の機能及び処理は、プロセッサ1002が、対応する機能及び処理を記述した処理プログラムを実行し、さらに、データ通信用ネットワーク回線及び管理用ネットワーク回線に接続可能な送受信インターフェース1008、1010を制御することによって実現することができる。送受信インターフェース1008、1010は、例えば、周知のI/O(Input/Output)インターフェース回路である。
尚、図7に示した上述の各機能ブロックは、図10に示したハードウェア構成のほかに、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のLSIによって実現するようにしてもよい。
[1−3.スイッチ装置204の構成]
図11は、第1実施例に係るスイッチ装置204(204−1〜5)の内部構成を示す機能ブロック図である。図12は、フォワーディング情報テーブル1112の一例を示す図である。
図11に示したように、データセンタネットワークシステム200に含まれるスイッチ装置204は、ネットワークインターフェース1102−1〜k、1106−1〜j、1116、スイッチング部1104、及びフォワーディング情報テーブル1112を含む。
ネットワークインターフェース1102−1〜k、1106−1〜j(k、jは正の整数)は、スイッチ装置204に設けられた送受信インターフェースである。ネットワークインターフェース1102−1〜k、1106−1〜jは、図2に示したデータセンタネットワークシステム200において、データ通信用ネットワーク回線を介して、他のスイッチ装置やサーバとの間でトラフィックデータの送受信を行う。図11に示した例では、ネットワークインターフェース1102−1及びkはそれぞれ、スイッチング部1104のインターフェースif_3及びif_4に接続され、ネットワークインターフェース1106−1及びjはそれぞれ、スイッチング部1104のインターフェースif_1及びif_2に接続されている
また、ネットワークインターフェース1116は、スイッチ装置204に設けられた送受信インターフェースである。ネットワークインターフェース1116は、図2に示したデータセンタネットワークシステム200において、管理用ネットワーク回線を介して、管理装置208との間で管理情報の送受信を行う。図11に示した例では、ネットワークインターフェース1116は、スイッチング1104のインターフェースif_5に接続されている。
スイッチング部1104は、インターフェースif_0〜5等の複数のインターフェースを含む。スイッチング部1104は、複数のインターフェースを介して、ネットワークインターフェース1102−1〜k及び1106−1〜jから、トラフィックデータを受けとる。スイッチング部1104は、受けとったトラフィックデータについて、ネットワークインターフェース1102−1〜k及び1106−1〜jの間の通信を制御する。
スイッチング部1104は、ネットワークインターフェース1102−1〜k、1106−1〜jからトラフィックデータを受けとったとき、フォワーディング情報テーブル1112を参照することによりスイッチング制御を行う。図12に示したように、フォワーディング情報テーブル1112は、トラフィックデータの宛先を示すMACアドレス(宛先MACアドレス)と、トラフィックデータの出力インターフェースとなる、スイッチング部1104のインターフェースとの間の対応関係を示す情報を格納している。
尚、図12(A)に示したフォワーディング情報テーブル1112は、図4のステップS406において、移動先サーバ202−2に割り当てられた仮MACアドレス“M0”に対する通信経路の設定が行われた後の状態を示すものである。図12(B)に示したフォワーディング情報テーブル1112は、図6のステップS604において、移動されたVM212−1に割り当てられたMACアドレス“A0”に対する通信経路の設定が行われた後の状態を示すものである。詳細については、後述する。
スイッチング部1104は、フォワーディング情報テーブル1112を参照することにより、複数のインターフェースの中から、受けとったトラフィックデータを出力するインターフェースを決定する。スイッチング部1104は、決定されたインターフェース(出力インターフェース)を介して、受けとったトラフィックデータを、複数のネットワークインターフェース1102−1〜k、1106−1〜jの中の、対応するネットワークインターフェースに出力する。
また、スイッチング部1104は、インターフェース(インターフェースif_5等)を介して、ネットワークインターフェース1116から、管理装置208から送信された種々の情報を受けとる。
スイッチング部1104は、管理用ネットワーク回線を介して、管理装置208から、移動対象VMの移動先サーバに割り当てられた仮MACアドレスに対して通信経路を設定するように指示する指示メッセージを受けとったとき、受けとった指示メッセージに基づいて、スイッチ装置204内のフォワーディング情報テーブル1112を更新する。管理装置208からの指示メッセージには、仮MACアドレスとともに、対応する出力インターフェースの情報が含まれている。
図12(A)に示した例では、フォワーディング情報テーブル1112は、識別情報“1”で示されるエントリとして、移動対象VMのMACアドレス“A0”に対する出力インターフェースとして、インターフェースif_0を対応づける情報を格納している。識別情報“1”のエントリは、移動対象VM212−1の移動前の通信経路(図3において太幅の一点鎖線で示した通信経路)に対応する情報である。
ここで、スイッチング部1104は、管理装置208から、仮MACアドレス“M0”に対する通信経路を設定するように指示する指示メッセージを受けとったとき、フォワーディング情報テーブル1112において、識別情報“2”で示されるエントリとして、仮MACアドレス“M0”に対応するインターフェースとして、インターフェースif_1を対応づける情報を追加する。識別情報“2”のエントリは、仮MACアドレス“M0”に対して設定された通信経路(図3において太幅の実線で示した通信経路)に対応する情報である。
一方、スイッチング部1104は、管理用ネットワーク回線を介して、管理装置208から、移動されたVMのMACアドレスに対して通信経路を設定するように指示する指示メッセージを受けとったとき、受けとった指示メッセージに基づいて、スイッチ装置204内のフォワーディング情報テーブル1112を更新する。管理装置208からの指示メッセージには、移動されたVMのMACアドレスとともに、対応する出力インターフェースの情報が含まれている。
図12(B)に示した例では、フォワーディング情報テーブル1112は、識別情報“2”で示されるエントリとして仮MACアドレス“M0”に対応するインターフェースとして、インターフェースif_1を対応づける情報を格納している。識別情報“2”のエントリは、仮MACアドレス“M0”に対して設定された通信経路(図5において太幅の実線で示した通信経路)に対応する情報である。尚、図12(A)における識別情報“1”のエントリは、管理装置208からの指示に基づいて、すでに削除されている。
ここで、スイッチング部1104は、管理装置208から、移動されたVM212−1のMACアドレス“A0”に対して通信経路を設定するように指示する指示メッセージを受けとったとき、フォワーディング情報テーブル1112において、識別情報“3”で示されるエントリとして、VM212−1のMACアドレス“A0”に対応するインターフェースとして、インターフェースif_1を対応づける情報を追加する。識別情報“3”のエントリは、移動対象VM212−1の移動前の通信経路(図5において太幅の破線で示した通信経路)に対応する情報である。
尚、スイッチ装置204のハードウェア構成は、図10に示したサーバ202のハードウェア構成と同様である。スイッチ装置204の各機能ブロックの機能は、サーバ202と同様に、図10に示したサーバ202のハードウェア構成と同様のハードウェア構成によって実現することができる。よって、詳細な説明は省略する。
[2.第2実施例]
以下、第2実施例に係るネットワークシステム及び通信制御方法について説明する。第2実施例に係るネットワークシステム及び通信制御方法は、第1実施例において説明した、各サーバ202−1〜3の仮想スイッチ214−1〜3におけるアドレス変換部222〜226の機能を用いた応用例である。
データセンタネットワークシステムにおいて、2つのサーバが複数のスイッチ装置によって構成されるネットワークを介して通信を行うとき、その2つのサーバの間には複数の通信経路が形成され得るが、それらの通信経路の品質には、ばらつきがあることが一般的である。通信経路の品質のばらつきは例えば、隣接するスイッチ装置間のリンク回線に割り当てられた通信帯域の大小によって生じる。一般的に、より大きい通信帯域を有するリンク回線によって構成された通信経路は高品質であり、トラフィックデータのロスや再送といった現象が起こる頻度は少なくなる。
一方、データセンタネットワークシステムにおいて、2つのサーバが通信を行うとき、各サーバにおいて通信を実行するアプリケーションプログラム(以下、アプリと略称する)の種類によって、通信の優先度が異なることが一般的である。通信を実行するアプリの種類によって、通信において許容される、トラフィックデータのロス率や再送回数等の程度が異なるためである。例えば、異なるサーバに属する複数のVMが連携して所望の業務処理を実行する業務アプリが実行する通信は、Webブラウザ等のWebアプリが実行する通信よりも、優先度が高い。
以上のことから、データネットワークシステムにおいては、2つのサーバの間で複数の通信が行われる場合に、その通信に用いられる通信経路として、その通信の優先度に応じた品質を有する通信経路を選択することにより、より優先度の高い通信を、より品質の高い通信経路を用いて行うことが望まれる。
[2−1.データセンタネットワークシステム1300の構成]
図13は、第2実施例に係るデータセンタネットワークシステム1300における通信制御処理を説明するためのシステム構成図である。まず、図13を用いて、データセンタネットワークシステム1300の概略的な構成について説明する。
図13に示したように、第2実施例に係るデータセンタネットワークシステム1300は、サーバ1302、1304、L2スイッチネットワーク1306、及び管理装置1332を含む。サーバ1302、1304と、L2スイッチネットワーク1306は、データ通信用のネットワーク回線(不図示)を介して接続されている。
L2スイッチネットワーク1306は、図2に示したスイッチ装置204−1〜5のような複数のスイッチ装置によって構成されたネットワークである。L2スイッチネットワーク1306上には、品質の異なる複数の通信経路が確立されている。例えば、サーバ1302とサーバ1304の間には、太幅の実線で示された、相対的に高い品質を有する通信経路と、太幅の破線で示された、相対的に低い品質を有する通信経路が確立されている。
サーバ1302、1304に含まれる仮想スイッチ1316、1326はそれぞれ、図2に示した仮想スイッチ214−1〜3と同様の、仮想的に設けられたレイヤ2(L2)スイッチである。仮想スイッチ1316、1326は、アドレス変換1318、1328を有する。後述するように、サーバ1302、1304はそれぞれ、管理装置1332から、L2スイッチネットワーク1306上に確立された複数の通信経路に対応する、複数の仮MACアドレスの情報を受けとり、対応するアドレス変換部1318、1328を活性化させる。活性化されたアドレス変換部1318、1328はそれぞれ、複数の仮MACアドレスに基づいて、対応する仮想スイッチ1316、1326が受けとったトラフィックデータに含まれるMACアドレスの変換処理を行う。MACアドレス変換処理については、後述する。
管理装置1332は、サーバ1302、1304及びL2スイッチネットワーク1306と、図13において一点鎖線で示した、管理用のネットワーク回線を介して接続されている。管理装置1332は、図2に示した管理装置208と同様に、管理用ネットワーク回線を介してサーバ1302、1304から受けとった管理情報に基づいて、データセンタネットワーク1300において、どのVMの間で通信が行われているかを監視する。また、管理装置1332は、管理用ネットワーク回線を介して、L2スイッチネットワーク1306を構成する各スイッチ装置から管理情報を受けとり、受けとった管理情報に基づいて、L2スイッチネットワーク1306において、どのような品質を有する通信経路が確立されているかを監視する。
さらに、管理装置1332は、上述の複数の仮MACアドレスを生成し、サーバ1302、1304に対して、生成した仮MACアドレスを、管理用ネットワーク回線を介して通知する。仮MACアドレスは、サーバ1302、1304において、L2スイッチネットワーク1306上に確立された複数の通信経路の中から、通信に用いられる通信経路を指定するために一時的に割り当てられるMACアドレスである。
[2−2.データセンタネットワークシステム1300の通信制御方法]
図14は、第2実施例に係るデータセンタネットワークシステム1300における通信制御処理を示すシーケンスチャートである。次に、図13及び図14を用いて、データセンタネットワークシステム1300において行われる通信制御方法を説明する。
図13では、サーバ1302に属する2つのVM1312、1314から、サーバ1304に属する1つのVM1322に対して、異なるアプリ1336、1338によって、異なる2つの通信が実行される場合を例にとって説明する。
図13に示した例では、アドレス“A0”を有するVM1312から、アドレス“A2”を有するVM1322への通信は、VM1312及び1322において連携して実行されるアプリ1336によって行われ、アドレス“A1”を有するVM1314からVM1322への通信は、VM1314及びVM1322において連携して実行されるアプリ1338によって行われる。
図14に示したように、ステップS1402において、管理装置1332は、各サーバ1302、1304からの管理情報に基づいて、サーバ1302に属するVMからサーバ1304に属するVMへの通信が開始されることを認識する。管理装置1332は、認識した通信において宛先となるVM1322が属するサーバ(宛先サーバ)1304に対して、複数の仮アドレスを割り当てる。割り当てられる複数の仮アドレスは、L2スイッチネットワーク1306上においてサーバ1302とサーバ1304の間に形成された複数の通信経路の中から、通信に用いる通信経路を指定するものである。
図13に示した例では、管理装置1332は、宛先サーバ1304に対して、2つの仮MACアドレス“M0”及び“M1”を割り当てる。仮MACアドレス“M0”はL2スイッチネットワーク1306において、太幅の実線で示した相対的に品質の高い通信経路を指定するものである。宛先MACアドレスとして仮MACアドレス“M0”を有するトラフィックデータは、太幅の実線で示した相対的に品質の高い通信経路を介して、サーバ1302からサーバ1304に送信される。一方、仮MACアドレス“M1”は、太幅の破線で示した相対的に品質の低い通信経路を指定するものである。宛先MACアドレスとして仮MACアドレス“M1”を有するトラフィックデータは、太幅の破線で示した相対的に品質の低い通信経路を介して、サーバ1302からサーバ1304に送信される。管理装置1332は、管理用ネットワーク回線を介して、割り当てた仮MACアドレス“M0”及び“M1”の情報を宛先サーバ1304に送信する。
宛先サーバ1304は、管理装置1332から、割り当てられた複数の仮MACアドレス“M0”及び“M1”の情報を受けとる。宛先サーバ1304は、受けとった仮MACアドレス“M0”及び“M1”を、内部の仮想スイッチ1326に割り当てる。
次に、ステップS1404において、管理装置1332は、管理用ネットワーク回線を介して、L2スイッチネットワーク1306に含まれる各々のスイッチ装置に対して、ステップS1402において仮想スイッチ1326に割り当てられた仮MACアドレス“M0”に対して、通信経路を設定するように指示する指示メッセージを送信する。管理装置1332からの指示メッセージには、仮MACアドレス“M0”とともに、対応する出力インターフェースの情報が含まれている。
L2スイッチネットワーク1306に含まれる各々のスイッチ装置は、管理装置1332からの指示メッセージに基づいて、集中管理的に、仮MACアドレス“M0”について、フォワーディング情報テーブルを更新する。各々のスイッチ装置は、フォワーディング情報テーブルにおいて、仮MACアドレス“M0”と、その仮MACアドレス“M0”に対応する出力インターフェースの対応関係を示す情報を追加する。
L2スイッチネットワーク1306に含まれる各々のスイッチ装置においてフォワーディング情報テーブルの更新が完了すると、図13に示した例では、L2スイッチネットワーク1306において、太幅の実線で示したように、仮MACアドレス“M0”を有する仮想スイッチ1326に対する通信経路が確立される。
次に、ステップS1406において、管理装置1332は、管理用ネットワーク回線を介して、L2スイッチネットワーク1306に含まれる各々のスイッチ装置に対して、ステップS1402において仮想スイッチ1326に割り当てられた仮MACアドレス“M1”に対して、通信経路を設定するように指示する指示メッセージを送信する。管理装置1332からの指示メッセージには、仮MACアドレス“M1”とともに、対応する出力インターフェースの情報が含まれている。
L2スイッチネットワーク1306に含まれる各々のスイッチ装置は、管理装置1332からの指示メッセージに基づいて、集中管理的に、仮MACアドレス“M1”について、フォワーディング情報テーブルを更新する。各々のスイッチ装置は、フォワーディング情報テーブルにおいて、仮MACアドレス“M1”と、その仮MACアドレス“M1”に対応する出力インターフェースの対応関係を示す情報を追加する。
L2スイッチネットワーク1306に含まれる各々のスイッチ装置においてフォワーディング情報テーブルの更新が完了すると、図13に示した例では、L2スイッチネットワーク1306において、太幅の破線で示したように、仮MACアドレス“M1”を有する仮想スイッチ1326に対する通信経路が確立される。
次に、ステップS1408において、管理装置1332は、管理用ネットワーク回線を介して、宛先サーバ1304に対して、仮MACアドレス“M0”及び“M1”に基づくMACアドレスの変換処理を設定するように指示する。宛先サーバ1304は、管理装置1332からの指示に基づいて、内部のアドレス変換部1328において、仮MACアドレス“M0”及び“M1”に基づくMACアドレス変換処理を設定する。すなわち、アドレス変換部1328は、アドレス変換テーブルを生成し、生成されたアドレス変換テーブルに基づいて、仮想スイッチ1326が、L2スイッチネットワーク1306からトラフィックデータを受けとったとき、受けとったトラフィックデータにおいて、仮想スイッチ1326に割り当てられた宛先MACアドレス“M0”及び“M1”を、本来の宛先であるVM1322のMACアドレス“A2”に変換する。
図13に示した例では、アドレス変換部1328は、VM1312からVM1322宛てのトラフィックデータにおいて、送信元となるVMのMACアドレス(送信元MACアドレス)“A0”と宛先MACアドレス“M0”の組み合わせを、送信元MACアドレス“A0”と宛先MACアドレス“A2”の組み合わせに変換する。また、アドレス変換部1328は、VM1314からVM1332宛てのトラフィックデータにおいて、送信元MACアドレス“A1”と宛先MACアドレス“M1”の組み合わせを、送信元MACアドレス“A1”と宛先MACアドレス“A2”の組み合わせに変換する。
さらに、管理装置1332は、管理用ネットワーク回線を介して、宛先サーバ1304に対して、対応する仮想スイッチ1326に含まれるアドレス変換部1328を活性化させるように指示する。
宛先サーバ1304は、管理装置1332からの指示に基づいて、内部に設けられたアドレス変換部1328を活性化させる。これにより、仮想スイッチ1326においては、設定した上述のMACアドレス変換処理が有効になり、L2スイッチネットワーク1306から受信されるトラフィックデータに対して、上述のMACアドレス変換処理が実行されるようになる。
次に、ステップS1410において、管理装置1332は、ステップS1402において割り当てられた仮アドレス“M0”及び“M1”と、宛先VM1322のMACアドレス“A2”の情報を、管理用ネットワーク回線を介して、送信元VM1312、1314が属するサーバ(送信元サーバ)1302に送信する。
管理装置1332はさらに、管理用ネットワーク回線を介して、送信元サーバ1302に対して、仮MACアドレス“M0”及び“M1”に基づくMACアドレスの変換処理を設定するように指示する。送信元サーバ1302は、管理装置1332からの指示に基づいて、内部のアドレス変換部1318において、仮MACアドレス“M0”及び“M1”に基づくMACアドレス変換処理を設定する。
すなわち、アドレス変換部1318は、アドレス変換テーブルを生成し、生成されたアドレス変換テーブルに基づいて、仮想スイッチ1316が、対応するVM1312、1314からトラフィックデータを受けとったとき、受けとったトラフィックデータに付与された優先度情報に基づいて、そのトラフィックデータにおいて、宛先MACアドレス“A2”を、仮MACアドレス“M0”又は“M1”のいずれか1つに変換する。アドレス変換部1318は、受けとったトラフィックデータに付与された優先度情報pの値が予め定められた閾値p_thよりも小さいとき、そのトラフィックデータにおいて、宛先MACアドレス“A2”を、仮MACアドレス“M0”に変換する。アドレス変換部1318は、受けとったトラフィックデータに付与された優先度情報pの値が上述の閾値p_th以上であるとき、そのトラフィックデータにおいて、宛先MACアドレス“A2”を、仮MACアドレス“M1”に変換する。
優先度情報は、トラフィックデータの通信の優先度を示す情報であり、例えば、その値が小さいほど優先度が高いことを意味するものである。優先度情報は、トラフィックデータを生成するアプリの種類に応じて予め定められるものであり、異なるサーバに属する複数のVMが連携して所望の業務処理を実行する業務アプリが行う通信には、Webブラウザ等のWebアプリが行う通信よりも、高い優先度が付与される。優先度情報は、トラフィックデータを生成する際に、VMにおいて実行されるアプリによって、各トラフィックデータに対して付与される。
図13に示した例では、VM1312及び1322において、アプリ1336が連携して実行されており、アプリ1336は、VM1312からVM1322宛てのトラフィックデータに対して、値“0”を有する優先度情報pを付与する(p=0)。一方、VM1314及び1322において、アプリ1338が連携して実行されており、アプリ1338は、VM1314からVM1322宛てのトラフィックデータに対して、値“7”を有する優先度情報pを付与する(p=7)。アプリ1336は例えば、上述の業務アプリであり、アプリ1338は例えば、上述のWebアプリである。
図13に示した例では、アドレス変換部1318は、VM1312からVM1322宛てのトラフィックデータにおいて、付与された優先度情報の値pと、優先度情報の閾値p_thを比較し、優先度情報の値p=0が閾値p_th=3よりも小さいことに応答して、送信元MACアドレス“A0”と宛先MACアドレス“A2”の組み合わせを、送信元MACアドレス“A0”と宛先MACアドレス“M0”の組み合わせに変換する。
一方、アドレス変換部1318は、VM1314からVM1322宛てのトラフィックデータにおいて、付与された優先度情報の値pと、優先度情報の閾値p_thを比較し、優先度情報の値p=7が閾値p_th=3よりも大きことに応答して、送信元MACアドレス“A1”と宛先MACアドレス“A2”の組み合わせを、送信元MACアドレス“A1”と宛先MACアドレス“M1”の組み合わせに変換する。
さらに、管理装置1332は、管理用ネットワーク回線を介して、送信元サーバ1302に対して、対応する仮想スイッチ1316に含まれるアドレス変換部1318を活性化させるように指示する。
送信元サーバ1302は、管理装置1332からの指示に基づいて、内部に設けられたアドレス変換部1318を活性化させる。これにより、仮想スイッチ1316においては、設定した上述のMACアドレス変換処理が有効になり、L2スイッチネットワーク1306に送信されるトラフィックデータに対して、上述のMACアドレス変換処理が実行されるようになる。
次に、ステップS1412において、送信元サーバ1302及び宛先サーバ1304は、トラフィックデータの通信を開始する。ここで、送信元サーバ1302及び宛先サーバ1304は、アプリ1336が実行するVM1312からVM1322への通信に対して、仮MACアドレス“M0”によって指定された通信経路(図13の太幅実線で示された通信経路)を用いる。一方、送信元サーバ1302及び宛先サーバ1304は、アプリ1338が実行するVM1314からVM1322への通信に対しては、仮MACアドレス“M1”によって指定された通信経路(図13の太幅破線で示された通信経路)を用いる。
以上説明したステップS1402からS1412までの処理によって、図13に示した例では、サーバ1302及び1304の間において、優先度が異なる2つのアプリ1336、1338によって通信が行われる場合、相対的に通信の優先度の高いアプリ1336による通信を、相対的に通信の優先度の低いアプリ1338による通信よりも、より品質の高い通信経路を用いて行うことができる。
よって、データネットワークシステム1300においては、2つのサーバの間で複数の通信が行われる場合に、その通信に用いられる通信経路として、その通信の優先度に応じた品質を有する通信経路を選択することができ、より優先度の高い通信を、より品質の高い通信経路を用いて行うことが可能となる。
尚、上述の実施例においては、管理装置1332によって、2つの仮MACアドレスを割り当て、優先度情報に対して1つの閾値を設定したが、優先度情報に対して複数の閾値を設定し、設定した閾値の数に応じて、管理装置1332が割り当てる仮MACアドレスを増加させてもよい。
[3.第3実施例]
以下、第3実施例に係るネットワークシステム及び通信制御方法について説明する。第3実施例に係るネットワークシステム及び通信制御方法は、第1実施例において説明した、各サーバ202−1〜3の仮想スイッチ214−1〜3におけるアドレス変換部222〜226の機能を用いた応用例である。
データセンタネットワークシステムにおいて、2つのサーバが複数のスイッチ装置によって構成されるネットワークを介して通信を行うとき、その2つのサーバの間には複数のスイッチ装置を経由する通信経路が確立されるが、その通信経路上に位置する複数のスイッチ装置の中の1つに障害が発生した場合、その2つのサーバ間の通信は途絶する。この場合、その2つのサーバの間には、障害が発生したスイッチ装置を回避した代替の通信経路が確立され、その2つのサーバの間の通信は、確立された代替の通信経路によって再開される。
しかしながら、スイッチ装置に障害が発生してから、障害が発生したスイッチ装置を回避した代替の通信経路が確立され、2つのサーバ間の通信経路が代替の通信経路に切り替わるまでの期間は、2つのサーバ間の通信は途絶することになる。
このため、データセンタネットワークシステムにおいては、2つのサーバ間に確立された通信経路上のスイッチ装置において障害が発生した場合であっても、2つのサーバ間の通信経路を、迅速に代替の通信経路に切り替えることが望まれている。
[3−1.データセンタネットワークシステム1500の構成]
図15は、第3実施例に係るデータセンタネットワークシステム1500における通信制御処理を説明するためのシステム構成図である。まず、図15を用いて、データセンタネットワークシステム1500の概略的な構成について説明する。
図15に示したように、第3実施例に係るデータセンタネットワークシステム1500は、サーバ1502、1504、スイッチ装置1506−1〜8、及び管理装置1532を含む。サーバ1502、1504と、スイッチ装置1506−1、4は、データ通信用のネットワーク回線(不図示)を介して接続されている。
スイッチ装置1506−1〜8は、図2に示したスイッチ装置204−1〜5と同様のスイッチ装置である。スイッチ装置1506−1〜8の動作及び機能は、スイッチ装置204−1〜5の機能や動作と同様であり、第1実施例において説明したとおりであるので、説明は省略する。
サーバ1502、1504に含まれる仮想スイッチ1516、1526はそれぞれ、図2に示した仮想スイッチ214−1〜3と同様の、仮想的に設けられたレイヤ2(L2)スイッチである。仮想スイッチ1516、1526は、アドレス変換1518、1528を有する。後述するように、サーバ1502、1504はそれぞれ、管理装置1532から、通信に用いられる複数の候補経路に対応する、複数の仮MACアドレスの情報を受けとり、対応するアドレス変換部1518、1528を活性化させる。活性化されたアドレス変換部1518、1528はそれぞれ、複数の仮MACアドレスに基づいて、対応する仮想スイッチ1516、1526が受けとったトラフィックデータに含まれるMACアドレスの変換処理を行う。MACアドレス変換処理については、後述する。
管理装置1532は、サーバ1502、1504及びスイッチ装置1506−1〜8と、図15において一点鎖線で示した、管理用のネットワーク回線を介して接続されている。管理装置1532は、図2に示した管理装置208と同様に、管理用ネットワーク回線を介してサーバ1502、1504から受けとった管理情報に基づいて、データセンタネットワーク1500において、どのVMの間で通信が行われているかを監視する。また、管理装置1532は、管理用ネットワーク回線を介して、各スイッチ装置1506−1〜8から管理情報を受けとり、受けとった管理情報に基づいて、各スイッチ装置1506−1〜8を介して、どのような通信経路が形成されているかを監視するとともに、各スイッチ装置1506−1〜8の状態(障害発生の有無等)を監視する。
さらに、管理装置1532は、上述の複数の仮MACアドレスを生成し、サーバ1502、1504に対して、生成した仮MACアドレスを、管理用ネットワーク回線を介して通知する。仮MACアドレスは、サーバ1502、1504において、各スイッチ装置1506−1〜8を経由する複数の通信経路の中から、通信に用いられる複数の候補経路を指定するために一時的に割り当てられるMACアドレスである。
[3−2.データセンタネットワークシステム1500の通信制御方法]
図16は、第3実施例に係るデータセンタネットワークシステム1500における通信制御処理を示すシーケンスチャートである。次に、図15及び図16を用いて、データセンタネットワークシステム1500において行われる通信制御方法を説明する。
図15では、サーバ1502に属するVM1512から、サーバ1504に属するVM1522に対して通信が行われる場合を例にとって説明する。
図15に示した例では、アドレス“A0”を有するVM1512から、アドレス“A1”を有するVM1522への通信に対して、4つの候補経路が存在する。VM1502、1504間の4つの候補経路はいずれも、スイッチ装置1506−1及び1506−4を経由するが、スイッチ装置1506−5〜8のいずれのスイッチ装置を経由するかが異なる。すなわち、4つの候補経路は、スイッチ装置1506−6を経由する経路1(図15において太幅実線で示した通信経路)、スイッチ装置1506−5を経由する経路2(図15において太幅実線で示した通信経路)、スイッチ装置1506−7を経由する経路3(図15において太幅の一点鎖線で示した通信経路)、及びスイッチ装置1506−8を経由する通信4(図15において太幅点線で示した通信経路)である。各々の候補経路1〜4はそれぞれ、管理装置1532によって割り当てられる仮MACアドレス“m1”〜“m4”によって指定される。宛先MACアドレスとして仮MACアドレス“m1”を有するトラフィックデータは、太幅の実線で示した通信経路1を介して、サーバ1502からサーバ1504に送信される。同様に、宛先MACアドレスとして仮MACアドレス“m2”〜“m4”を有するトラフィックデータは、通信経路2〜4を介して、サーバ1502からサーバ1504に送信される。
図16に示したように、ステップS1602において、管理装置1532は、各サーバ1502、1504からの管理情報に基づいて、サーバ1502に属するVM1512からサーバ1504に属するVM1522への通信が開始されることを認識する。管理装置1532は、認識した通信において宛先となるVM1522が属するサーバ(宛先サーバ)1504に対して、複数の仮アドレスを割り当てる。割り当てられる複数の仮アドレスは、サーバ1502、1504の間に形成された複数の通信経路の中から、通信に用いる複数の候補経路を指定するものである。
図15に示した例では、管理装置1532は、宛先サーバ1504に対して、4つの仮MACアドレス“m1”〜“m4”を割り当てる。仮MACアドレス“m1”〜“m4”は上述の4つの通信経路1〜4を指定するものである。管理装置1532は、管理用ネットワーク回線を介して、割り当てた仮MACアドレス“m1”〜“m4”の情報を宛先サーバ1504に送信する。
宛先サーバ1504は、管理装置1532から、割り当てられた複数の仮MACアドレス“m1”〜“m4”の情報を受けとる。宛先サーバ1504は、受けとった仮MACアドレス“m1”〜“m4”を、内部の仮想スイッチ1526に割り当てる。
次に、ステップS1604において、管理装置1532は、管理用ネットワーク回線を介して、各スイッチ装置1506−1〜8に対して、ステップS1602において仮想スイッチ1526に割り当てられた仮MACアドレス“m1”〜“m4”の各々に対して、通信経路を設定するように指示する指示メッセージを送信する。管理装置1532からの指示メッセージには、仮MACアドレス“m1”〜“m4”とともに、これらの仮MACアドレスに対応する出力インターフェースの情報が含まれている。
各スイッチ装置1506−1〜8は、管理装置1532からの指示メッセージに基づいて、集中管理的に、仮MACアドレス“m1”〜“m4”について、フォワーディング情報テーブルを更新する。各々のスイッチ装置1506−1〜8は、フォワーディング情報テーブルにおいて、仮MACアドレス“m1”〜“m4”と、その仮MACアドレス“m1”〜“m4”に対応する出力インターフェースの対応関係を示す情報を追加する。
各々のスイッチ装置1506−1〜8においてフォワーディング情報テーブルの更新が完了すると、図15に示した例では、仮MACアドレス“m1”〜“m4”によって指定された、上述の4つの候補経路が確立される。
次に、ステップS1606において、管理装置1532は、管理用ネットワーク回線を介して、宛先サーバ1504に対して、仮MACアドレス“m1”〜“m4”に基づくMACアドレスの変換処理を設定するように指示する。宛先サーバ1504は、管理装置1532からの指示に基づいて、内部のアドレス変換部1528において、仮MACアドレス“m1”〜“m4”に基づくMACアドレス変換処理を設定する。
すなわち、アドレス変換部1528は、アドレス変換テーブルを生成し、生成されたアドレス変換テーブルに基づいて、仮想スイッチ1526が、対応するスイッチ装置1506−4からトラフィックデータを受けとったとき、受けとったトラフィックデータにおいて、仮想スイッチ1526に割り当てられた宛先MACアドレス“m1”〜“m4”を、本来の宛先であるVM1522のMACアドレス“A1”に変換する。
図15に示した例では、アドレス変換部1528は、VM1512からVM1522宛てのトラフィックデータにおいて、送信元となるVMのMACアドレス(送信元MACアドレス)“A0”と宛先MACアドレス“m1”の組み合わせを、送信元MACアドレス“A0”と宛先MACアドレス“A1”の組み合わせに変換する。アドレス変換部1528は同様に、VM1512からVM1522宛てのトラフィックデータにおいて、送信元MACアドレス“A0”と宛先MACアドレス“m2”〜“m4”の組み合わせをそれぞれ、送信元MACアドレス“A0”と宛先MACアドレス“A1”の組み合わせに変換する。
さらに、管理装置1532は、管理用ネットワーク回線を介して、宛先サーバ1504に対して、対応する仮想スイッチ1526に含まれるアドレス変換部1528を活性化させるように指示する。
宛先サーバ1504は、管理装置1532からの指示に基づいて、内部に設けられたアドレス変換部1528を活性化させる。これにより、仮想スイッチ1526においては、設定した上述のMACアドレス変換処理が有効になり、対応するスイッチ装置1506−4から受信されるトラフィックデータに対して、上述のMACアドレス変換処理が実行されるようになる。
次に、ステップS1608において、管理装置1532は、ステップS1402において割り当てられた仮アドレス“m1”〜“m4”と、宛先VM1522のMACアドレス“A1”の情報を、管理用ネットワーク回線を介して、送信元VM1512が属するサーバ(送信元サーバ)1502に送信する。
管理装置1532はさらに、管理用ネットワーク回線を介して、送信元サーバ1502に対して、仮MACアドレス“m1”〜“m4”に基づくMACアドレスの変換処理を設定するように指示する。送信元サーバ1502は、管理装置1532からの指示に基づいて、内部のアドレス変換部1518において、仮MACアドレス“m1”〜“m4”に基づくMACアドレス変換処理を設定する。
すなわち、アドレス変換部1518は、アドレス変換テーブルを生成し、生成されたアドレス変換テーブルに基づいて、仮想スイッチ1316が、対応するVM1512からトラフィックデータを受けとったとき、受けとったトラフィックデータにおいて、宛先MACアドレス“A1”を、仮MACアドレス“m1”〜“m4”のいずれか1つに変換する。後述するように、仮MACアドレス“m1”〜“m4”の中のどの仮MACアドレスに変換するかは、管理装置1532によって指定される。
次に、ステップS1610において、管理装置1532は、管理用ネットワーク回線を介して、送信元サーバ1502に対して、対応する仮想スイッチ1516に含まれるアドレス変換部1518を活性化させ、宛先MACアドレス“A1”を仮MACアドレス“m1”変換するMACアドレス変換処理を有効にするように指示する。
送信元サーバ1502は、管理装置1532からの指示に基づいて、仮想スイッチ1516に設けられたアドレス変換部1518を活性化させ、宛先MACアドレス“A1”を仮MACアドレス“m1”に変換するMACアドレス変換処理を有効にする。これにより、対応するスイッチ装置1506−1に送信されるトラフィックデータに対して、宛先MACアドレス“A1”を仮MACアドレス“m1”に変換するMACアドレス変換処理が実行されるようになる。
次に、ステップS1612において、送信元サーバ1502及び宛先サーバ1504は、トラフィックデータの通信を開始する。ここで、送信元サーバ1502及び宛先サーバ1504は、仮MACアドレス“m1”によって指定された通信経路(図15の太幅実線で示された通信経路)を通信に用いる。
次に、ステップS1614において、送信元サーバ1502は、宛先サーバ1504との通信を行っている途中で、仮MACアドレス“m1”によって指定された通信経路(図15の太幅実線で示された通信経路)上に位置するスイッチ装置において、障害が発生したことを検出する。図15に示した例では、スイッチ装置1506−6において障害が発生したことが検出される。障害の発生により、送信元サーバ1502と宛先サーバ1504の間の通信経路が遮断されることから、この段階で、送信元サーバ1502と宛先サーバ1504の間の通信は途絶する。
次に、ステップS1616において、管理装置1532は、送信元サーバ1502及びスイッチ装置1506−6から管理情報を受けとることにより、受けとった管理情報に基づいて、スイッチ装置1506−6において障害が発生したことを認識する。そして、管理装置1532は、管理用ネットワーク回線を介して、送信元サーバ1502に対して、対応する仮想スイッチ1516に含まれるアドレス変換部1518において、宛先MACアドレス“A1”を仮MACアドレス“m2”変換するMACアドレス変換処理を有効にするように指示する。
送信元サーバ1502は、管理装置1532からの指示に基づいて、仮想スイッチ1516に設けられたアドレス変換部1518において、宛先MACアドレス“A1”を仮MACアドレス“m1”に変換するMACアドレス変換処理を無効にするとともに、宛先MACアドレス“A1”を仮MACアドレス“m2”に変換するMACアドレス変換処理を有効にする。これにより、対応するスイッチ装置1506−1に送信されるトラフィックデータに対して、宛先MACアドレス“A1”を仮MACアドレス“m2”に変換するMACアドレス変換処理が実行されるようになる。
次に、ステップS1618において、送信元サーバ1502及び宛先サーバ1504は、トラフィックデータの通信を再開する。ここで、送信元サーバ1502及び宛先サーバ1504は、障害が発生した通信経路(図15の太幅実線で示された通信経路)の代替経路として、仮MACアドレス“m2”によって指定された通信経路(図15の太幅破線で示された通信経路)を、通信に用いる。
以上説明したステップS1602からS1618までの処理によって、サーバ1502、1504間の通信に用いられる通信経路(図15の太幅実線で示された通信経路)上のスイッチ装置1506−6において障害が発生した場合、アドレス変換部1518におけるMACアドレス変換処理の設定を変更することにより、サーバ1502、1504間の通信に用いられる通信経路を、すでに確立されている他の代替の経路(図15の太幅破線で示された通信経路)に、迅速に切り替えることができる。
よって、データセンタネットワークシステムにおいては、2つのサーバ間に確立された通信経路上のスイッチ装置において障害が発生した場合であっても、2つのサーバ間の通信経路を、迅速に代替の通信経路に切り替えることが可能になる。
以上、本発明の例示的な実施形態のネットワークシステム及び通信制御方法について説明したが、本発明は、具体的に開示された実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
また、各実施例に開示された技術は、相互に矛盾することがない限り、適宜組み合せることが可能なものである。
以上の第1ないし第3実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1情報処理装置と、
前記第1情報処理装置と、複数のスイッチ装置を介して接続された第2情報処理装置と、
前記第1情報処理装置と、前記複数のスイッチ装置を介して接続された第3情報処理装置と、
前記第1情報処理装置、前記第2情報処理装置及び前記第3情報処理装置を管理する管理装置と、
を含み、前記第1情報処理装置、前記第2情報処理装置及び前記第3情報処理装置の間の通信経路が、前記管理装置の制御に基づいて、前記複数のスイッチ装置によって確立されるネットワークシステムにおいて、
前記第1情報処理装置に設けられた第1仮想マシンから、前記第2情報処理装置に設けられた第2仮想マシンへ至る第1通信経路を、前記スイッチ装置によって確立し、
前記第2仮想マシンを前記第2情報処理装置から前記第3情報処理装置に移動させる前に、前記第1通信経路とは異なり、前記第1情報処理装置から前記第3情報処理装置へ至る第2通信経路を、前記管理装置及び前記スイッチ装置によって確立する
ことを特徴とする通信制御方法。
(付記2)
前記第1仮想マシンは第1アドレスを有し、
前記第2仮想マシンは第2アドレスを有し、
前記ネットワークシステムにおいて、
前記管理装置によって、前記第3情報処理装置に、前記第1アドレス及び前記第2アドレスとは異なる第3アドレスを割り当て、
前記第2仮想マシンを前記第2情報処理装置から前記第3情報処理装置へ移動させる前に、前記割り当てられた第3アドレスに基づいて、前記第2通信経路を確立する
ことを特徴とする付記1記載の通信制御方法。
(付記3)
前記ネットワークシステムにおいて、
前記第3アドレスを前記第2アドレスに変換する第1アドレス変換処理を、前記第3情報処理装置によって有効にし、
前記第2仮想マシンを前記第2情報処理装置から前記第3情報処理装置へ移動させる前に、前記第2アドレスを前記第3アドレスに変換する第2アドレス変換処理を、前記第1情報処理装置によって有効にし、
前記確立された第2通信経路と、前記有効にされた第1アドレス変換処理及び第2アドレス変換処理に基づいて、前記第1仮想マシンから前記第2仮想マシンへ至る通信経路を確立する
ことを特徴とする付記2記載の通信制御方法。
(付記4)
前記ネットワークシステムにおいて、
前記第2仮想マシンを前記第2情報処理装置から前記第3情報処理装置へ移動させた後、前記第2通信経路が確立されている時に、前記第1仮想マシンから、前記第3情報処理装置に移動された第2仮想マシンへ至る第3通信経路を、前記管理装置及び前記スイッチ装置によって確立する
ことを特徴とする付記1ないし3のいずれか1つ記載の通信制御方法。
(付記5)
前記ネットワークシステムにおいて、
前記第3通信経路が確立された後で、前記第2通信経路を、前記管理装置及び前記スイッチ装置によって削除する
ことを特徴とする付記4記載の通信制御方法。
(付記6)
前記ネットワークシステムにおいて、
前記第2仮想マシンを前記第2情報処理装置から前記第3情報処理装置へ移動させた後で、前記第1アドレス変換処理及び前記第2アドレス変換処理を無効にし、前記第2通信経路を削除することにより、前記管理装置によって、前記第3アドレスを回収する
ことを特徴する付記3記載の通信制御方法。
(付記7)
前記第3情報処理装置は、第1仮想スイッチを含み、
前記第3アドレスは、前記第1仮想スイッチに割り当てられる
ことを特徴とする付記2記載の通信制御方法。
(付記8)
前記ネットワークシステムにおいて、
前記第3アドレスの通知を要求する第1要求に対する応答であって、前記第3アドレスを含む第1応答を、前記第1仮想スイッチによって送信し、
前記第2通信経路は、前記複数のスイッチ装置が前記第1応答を受信することにより確立される
ことを特徴とする付記7記載の通信制御方法。
(付記9)
前記第3情報処理装置は、第1仮想スイッチを含み、
前記第1情報処理装置は、第2仮想スイッチを含み、
前記第1アドレス変換処理は、前記第1仮想スイッチにおいて行われ、
前記第2アドレス変換処理は、前記第2仮想スイッチにおいて行われる
ことを特徴とする付記3記載の通信制御方法。
(付記10)
前記第2通信経路は、前記第1仮想スイッチと前記第2仮想スイッチの間に確立される
ことを特徴とする付記9記載の通信制御方法。
(付記11)
前記第2情報処理装置から前記第3情報処理装置への前記第2仮想マシンの移動は、ライブマイグレーションによって行われる
ことを特徴とする付記1ないし10のいずれか1つ記載の通信制御方法。
(付記12)
第1情報処理装置と、
前記第1情報処理装置と、複数のスイッチ装置を介して接続された第2情報処理装置と、
前記第1情報処理装置及びと前記第2情報処理装置を管理する管理装置と
を含み、前記第1情報処理装置と前記第2情報処理装置の間に、第1品質を有する第1通信経路と、前記第1品質よりも低い第2品質を有する第2通信経路が形成されたネットワークシステムにおいて、
前記管理装置によって、前記第1情報処理装置から前記第2情報処理装置への通信であって、第1優先度を有する第1通信を、前記第1通信経路により実行させ、
前記管理装置によって、前記第1情報処理装置から前記第2情報処理装置への通信であって、第1優先度より低い第2優先度を有する第2通信を、前記第2通信経路により実行させる
ことを特徴とする通信制御方法。
(付記13)
前記第1通信と前記第2通信とは、異なるアプリケーションプログラムによって実行されることを特徴とする付記12記載の通信制御方法。
(付記14)
前記ネットワークシステムにおいて、
前記第1情報処理装置から前記第2情報処理装置への通信が前記第1通信であるとき、前記第2情報処理装置の宛先アドレスを、前記管理装置によって割り当てられ、前記第1通信経路を指定する第1アドレスに変換し、前記第2通信であるとき、前記第2情報処理装置の宛先アドレスを、前記管理装置によって割り当てられ、前記第2通信経路を指定する第2アドレスに変換するアドレス変換処理を、前記第1情報処理装置によって実行し、
ことを特徴とする付記12又は13記載の通信制御方法。
(付記15)
第1情報処理装置と、
前記第1情報処理装置と、複数のスイッチ装置を介して接続された第2情報処理装置と、
前記第1情報処理装置及びと前記第2情報処理装置を管理する管理装置と
を含み、前記第1情報処理装置に設けられ、第1アドレスを有する第1仮想マシンから、前記第2情報処理装置に設けられ、第2アドレスを有する第2仮想マシンへ至る複数の候補経路を含むネットワークシステムにおいて、
前記管理装置によって、前記第2情報処理装置に、前記複数の候補経路を指定する複数のアドレスを割り当て、
前記複数のアドレスを前記第2アドレスに変換する第1アドレス変換処理を、前記第2情報処理装置によって実行し、
前記第2アドレスを、前記複数のアドレスの中の第3アドレスに変換する第2アドレス変換処理を、前記第1情報処理装置によって実行する
通信制御方法であって、
前記第3アドレスによって指定される候補経路において障害が発生したとき、前記第2アドレスを、前記複数のアドレスの中の、前記第3アドレスとは異なる第4アドレスに変換する第3アドレス変換処理を、前記第1情報処理装置によって実行する
ことを特徴とする通信制御方法。
(付記16)
第1情報処理装置と、
前記第1情報処理装置と、複数のスイッチ装置を介して接続された第2情報処理装置と、
前記第1情報処理装置と、前記複数のスイッチ装置を介して接続された第3情報処理装置と、
前記第1情報処理装置、前記第2情報処理装置及び前記第3情報処理装置を管理する管理装置と、
を含み、前記第1情報処理装置、前記第2情報処理装置及び前記第3情報処理装置の間の通信経路を、前記管理装置の制御に基づいて、前記複数のスイッチ装置によって確立するネットワークシステムであって、
前記スイッチ装置は、前記第1情報処理装置に設けられ第1仮想マシンから、前記第2情報処理装置に設けられた第2仮想マシンへ至る第1通信経路を確立し、
前記管理装置及び前記スイッチ装置は、前記第2仮想マシンを前記第2情報処理装置から前記第3情報処理装置に移動させる前に、前記第1通信経路とは異なり、前記第1情報処理装置から前記第3情報処理装置へ至る第2通信経路を確立する
ことを特徴とするネットワークシステム。