以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態1]
実施の形態1に係る管理システムについて、管理システム全体の概略構成、管理システムにおける処理の流れ及び具体例を説明する。なお、以降で説明するサイト数や装置の台数等は、あくまで例示であり、これに限定されるものではない。
[管理システムの構成]
まず、図1を参照して、実施の形態1に係る管理システムの構成について説明する。図1は、実施の形態1に係る管理システムの構成の一例を模式的に示す図である。
図1に示すように、実施の形態1に係る管理システムは、移行(マイグレーション)対象のVM1、管理装置2、転送装置3、バッファ4、バッファ制御装置5及び端末6を有する。図1に示す管理システムは、複数のサイト及び該複数のサイト間を接続するL2トンネル(トンネル経路)を有するネットワークシステムにおいて、VM1のマイグレーション状況を管理する。L2トンネルの構築方法として、VXLANやEVPNなどの技術を適用することができる。また、各サイト内は、一例として、イーサネット(登録商標)によってLAN(Local Area Network)が形成されている。
VM1は、WebサーバやDBサーバ等を実行する仮想的な装置であり、端末6との間で通信を行い、各種サービスを提供する。VM1は、ネットワークシステムを制御するコントローラ(不図示)からのVM1を収容する物理サーバへの指示に基づき、サイトを跨いでマイグレーションされる。例えば、図1のVM1は、マイグレーション元のサイトに設置された物理サーバからマイグレーション先へのサイトに設置された物理サーバにマイグレーションされる。本実施の形態1では、VM1のマイグレーションは、VM1を稼働させた状態で、丸ごと別の物理サーバに移動させるライブマイグレーションを想定している。なお、物理サーバは、通信インターフェース、プロセッサ、メモリ、仮想スイッチ等を有し、VM1を制御する。
管理装置2は、サイト間のVM1のマイグレーションを管理する。具体的には、管理装置2は、VM1が別サイトで稼働する装置へとマイグレーションする場合のVM1のマイグレーション状況の進捗を監視し、マイグレーションの進捗状況(例えば、何%まで進んだか)を把握する。また、管理装置2は、マイグレーションの進捗状況に応じて、マイグレーション対象のVM1宛てのパケットの転送先を、VM1のマイグレーション中に該VM1に送信されたパケットをバッファリングするバッファ4に変更する転送先変更通知を、少なくともVM1のマイグレーション中に転送装置3に送信する。
転送装置3は、VMのMACアドレスとVMに対応する転送先のIPアドレスとをそれぞれ対応付けた転送テーブルに従って、到着したパケットを転送先に転送する。転送装置3は、VM1のマイグレーションに伴うパケットの転送先の変更を示す通知を受信した場合、該通知に従って、VM1の転送先を変更する。転送装置3は、仮想スイッチ、仮想ソフトウェアスイッチ、物理スイッチ或いはゲートウェイ等のL2トンネルを終端するトンネル終端装置である。
バッファ4は、VM1のマイグレーション中に該VM1に送信されたパケットをバッファリングする。なお、バッファ4は、実際には複数あるものとする。複数のバッファ4のうちマイグレーション対象のVM1宛てのパケットをバッファリングするバッファは、予め選択されてもよいし、ネットワークシステムを制御するコントローラ或いは管理装置2が、マイグレーション対象のVM1宛てのパケットをバッファリングするバッファ4を選択するようにしてもよい。
バッファ制御装置5は、受信した通知に従って、マイグレーション対象であるVM1宛てのパケットのバッファ4へのパケットのバッファリングを制御する一方、バッファ4にバッファリングされたパケットをマイグレーションが完了したVM1に送信する。バッファ制御装置5は、マイグレーション対象のVM1のMACアドレスを、ネットワークシステムを制御するコントローラ或いは管理装置2から通知される。バッファ制御装置5は、通知されたMACアドレスを宛先とするパケットをバッファ4にバッファリングする。
端末6は、マイグレーション元或いはマイグレーション先のサイトで動作するVM1にアクセスして、各種サービスを利用する情報処理装置である。端末6は、例えば、パソコンやスマートフォン等である。端末6がVM1宛に送信したパケットは、端末6に対応する転送装置3に到着し、該転送装置3から他の転送装置3を経由して、VM1に転送される。
[管理装置の構成]
次に、管理装置2の構成を説明する。図2は、図1に示す管理装置2の構成の一例を示すブロック図である。図2に示すように、管理装置2は、制御部21、通信部22及び記憶部23を有する。なお、管理装置2がバッファ4を有し、バッファ制御装置5の機能を有する場合もある。
制御部21は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部31は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。制御部21は、識別子取得部211、バッファ選択部212、マイグレーション進捗管理部213、転送先変更制御部214及び通信制御部215を有する。
識別子取得部211は、ネットワークシステム内の各装置の識別子情報を取得する。具体的には、識別子取得部211は、マイグレーション対象のVM1のMACアドレスと、マイグレーション先のサイトに接続するトンネルに関する識別子情報とを予め取得する。トンネルに関する識別子情報とは、例えば、VXLANの場合にはVTEPのIPアドレスであり、MPLS−EVPNの場合にはPE(Provider Edge)に向かうMPLSトンネルのLSP(Label Switched Path)である。
例えば、識別子取得部211は、各装置の識別子情報を、オペレータから管理装置2の入力インターフェース(不図示)に入力されることによって取得する。或いは、識別子取得部211は、各装置とシグナリングによる情報交換を行うことによって、各装置の識別子情報を取得する。または、識別子取得部211は、各装置の識別子情報を蓄積する外部データベースに接続して、ネットワークシステム内の各装置の識別子情報を取得する。なお、外部データベースから情報を引き出すうえで必要な情報も識別子情報に含む。
バッファ選択部212は、マイグレーション対象のVM1宛てのパケットをバッファリングするバッファ4を選択する。バッファ選択部212は、該選択したバッファ4を制御するバッファ制御装置5にマイグレーション対象のVM1のMACアドレスを通知することによって、バッファ制御装置5に対してマイグレーション対象のVM1のパケットのバッファリング開始を通知する。なお、マイグレーション対象のVM1宛てのパケットをバッファリングするバッファ4は予め設定されていてもよいし、管理装置2以外の装置が選択するようにしてもよい。
マイグレーション進捗管理部213は、マイグレーション対象のVM1のマイグレーション状況の進捗を管理する。言い換えると、マイグレーション進捗管理部213は、VM1のマイグレーション状況の進捗を監視する。例えば、マイグレーション進捗管理部213は、マイグレーションの度合(移行度)が何%まで進んだか、どの程度の速度でマイグレーションが行なわれているか、或いは、あとどのくらいでマイグレーションが完了するか、などの情報を監視する。
転送先変更制御部214は、マイグレーション対象のVM1を宛先とするパケットの転送先をバッファ4に変更する転送先変更通知を、VM1のマイグレーション状況の進捗に応じて、少なくともVM1のマイグレーション中に転送装置3に送信する。
具体的には、転送先変更制御部214は、VM1のマイグレーション中にマイグレーション対象のVM1を宛先とするパケットの転送先を、バッファ制御装置5に変更する第1の転送先変更通知を各転送装置3に送信する。この場合、転送先変更制御部214は、マイグレーション進捗管理部213の進捗状況に基づいて、第1の転送先変更通知を送信するタイミングを判断する。
例えば、転送先変更制御部214は、マイグレーション進捗管理部213からVM1のマイグレーションが何%まで達したかを示す情報を受け、VM1のマイグレーションの度合が所定の閾値(例えば70%)を超えた場合に、第1の転送先変更通知を送信するタイミングであると判断する。
または、転送先変更制御部214は、ネットワークシステムのトラヒック状況を計測し、該計測した情報(例えば、通信遅延時間)とマイグレーション進捗管理部213によるVM1のマイグレーション状況とを合わせた情報を基に所定のアルゴリズムを用いて第1の転送先変更通知を送信するタイミングを演算する。
例えば、転送先変更制御部214は、マイグレーション元のサイトとマイグレーション先のサイトとの間のトラヒック状況を計測する。そして、転送先変更制御部214は、この間のトラヒックが空いている場合、VM1のマイグレーションの度合に関する所定の閾値を下げて、該変更した所定の閾値(例えば65%)をマイグレーションの度合が超えた場合に、第1の転送先変更通知を送信するタイミングであると判断する。つまり、トラヒック状況も考慮し、トラヒックが空いている場合には、マイグレーション完了までの時間が早まることに合わせて第1の転送先変更通知のタイミングを早める。
また、転送先変更制御部214は、VM1のマイグレーション完了後に、バッファ制御装置5に対してバッファ4にバッファリングされたマイグレーション対象のVM1宛てのパケットを、マイグレーションが完了したVM1に転送することを通知する。そして、転送先変更制御部214は、VM1のマイグレーション完了後に、マイグレーション対象のVM1を宛先とするパケットの転送先をマイグレーション先のサイトに変更する第2の転送先変更通知を各転送装置3に送信する。
通信制御部215は、後述する通信部22における通信処理を制御し、他の装置との間で各種情報を通信する。通信制御部215は、対向する装置との間にL2トンネルを確立する機能も有する。
通信部22は、ネットワークを介して接続された装置と各種情報を送受信する通信インターフェースである。例えば、通信部22は、バッファ制御装置5に対してパケットの転送の指示を送信したり、バッファ4からパケットを受信したりする。
記憶部23は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部23には、管理装置2を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが予め記憶され、あるいは処理の都度一時的に記憶される。
[転送装置の構成]
次に、転送装置3の構成を説明する。図3は、図1に示す転送装置3の構成の一例を示すブロック図である。図3に示すように、転送装置3は、制御部31、通信部32及び記憶部33を有する。なお、転送装置3がバッファ4を有し、バッファ制御装置5の機能を有する場合もある。
制御部31は、CPUやMPUなどの電子回路であり、各種の処理手順などを規定したプログラムに従って種々の処理を実行する。制御部31は、転送処理部311、転送制御部312及び通信制御部313を有する。
転送処理部311は、転送テーブル331(後述)に従って、到着したパケットを転送先に転送する。
転送制御部312は、パケットの転送処理を制御するとともに、転送先変更通知を受信した場合には、該転送先変更通知に従って、転送テーブルにおけるVM1に対応する転送先をバッファ4に変更する。
通信制御部313は、後述する通信部32における通信処理を制御し、他の装置との間で各種情報を通信する。通信制御部313は、対向する装置との間にL2トンネルを確立する機能を有してもよい。
通信部32は、ネットワークを介して接続された装置と各種情報を送受信する通信インターフェースである。
記憶部33は、RAM、フラッシュメモリ等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、転送装置3を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部33は、パケットの宛先であるVMと、VMに対応する転送先とをそれぞれ対応付けた転送テーブル331を記憶する。
[VMマイグレーション時のパケット転送の流れ]
図1及び図4を参照して、図1に示す管理システムによるVMマイグレーション時のパケット転送の流れを説明する。図4は、図1に示す管理システムによるVMマイグレーション時のパケット転送の流れを説明するシーケンス図である。
まず、VM1のマイグレーション処理(図4のステップS1)が開始すると、管理装置2は、マイグレーション進捗管理部213において、VM1のマイグレーション状況の進捗の管理(監視)(図4のステップS1及びステップS2)を開始する。続いて、管理装置2は、図1の(1)に示すように、バッファを選択する(図4のステップS3)。そして、図1の(2)に示すように、管理装置2のバッファ選択部212が、選択したバッファ4を制御するバッファ制御装置5にマイグレーション対象のVM1のMACアドレスを通知し(図4のステップS4)、VM1宛てのパケットのバッファリング開始を通知する。
管理装置2では、マイグレーション進捗管理部213がVM1のマイグレーション状況の進捗管理を継続し(図4のステップS5)、第1の転送先変更通知を送信するタイミングであるか否かを判断する(図4のステップS6)。例えば、転送先変更制御部214は、VM1のマイグレーションの度合が所定の閾値(例えば70%)を超えた場合に、第1の転送先変更通知を送信するタイミングであると判断する。管理装置2は、第1の転送先変更通知を送信するタイミングでないと転送先変更制御部214が判断した場合(図4のステップS6:No)、ステップS5に戻り、マイグレーション状況の進捗管理を継続する。
これに対し、第1の転送先変更通知を送信するタイミングであると転送先変更制御部214が判断した場合(図4のステップS6:Yes)、管理装置2は、マイグレーション対象のVM1を宛先とするパケットの転送先を、バッファ制御装置5に変更する第1の転送先変更通知を各転送装置3に送信する(図4のステップS7)。
第1の転送先変更通知を受信した各転送装置3は、第1の転送先変更通知に従って、マイグレーション対象のVM1に対応する転送先を変更する(図4のステップS8)。すなわち、図1の(3)に示すように、各転送装置3は、マイグレーション対象のVM1宛てのパケットPがバッファに向かうよう経路情報を設定する。これによって、各転送装置3は、マイグレーション対象のVM1宛に端末6が送信したパケットPを、バッファ制御装置5に転送し(図4のステップS9)、バッファ制御装置5は、図1の(4)に示すように、到着したマイグレーション対象のVM1宛てのパケットPをバッファ4にバッファリングする(図4のステップS10)。
管理装置2では、マイグレーション先のサイトへのVM1のマイグレーションが完了したか否かを判断する(図4のステップS11)。管理装置2は、マイグレーション先のサイトへのVM1のマイグレーションが完了していないと判断した場合(図4のステップS11:No)、該ステップS11に戻り、マイグレーション先のサイトへのVM1のマイグレーションが完了するまでステップS11の判断処理を行う。
管理装置2は、マイグレーション先のサイトへのVM1のマイグレーションが完了したと判断した場合(図4のステップS11:Yes)、図1の(5A)に示すように、バッファ制御装置5に対してバッファ4にバッファリングされたマイグレーション対象のVM1宛てのパケットPを、管理装置2に転送することを指示する(図4のステップS12)。
これによって、バッファ制御装置5は、図1の(5B)に示すように、バッファ4にバッファリングされたマイグレーション対象のVM1宛てのパケットをバッファ4に到着した順に管理装置2に転送する(図4のステップS13)。バッファ制御装置5は、バッファ4内のマイグレーション対象のVM1宛てのパケットPがなくなるまで管理装置2に転送する。
なお、バッファ制御装置5は、管理装置2へのパケット転送を行っている間も、到着したVM1宛てのパケットをバッファ4にバッファリングする。また、バッファ制御装置5と管理装置2との間のパケット転送は、L2トンネリングプロトコル(例えば、IEEE802.1ah)などを利用し、L2トンネルを介して行ってもよい。このL2トンネルは、予め設定されたものであってもよく、転送時に確立したものであってもよい。
管理装置2は、転送されたVM1宛てのパケットPを、マイグレーション先のサイトのVM1に入力する(図4のステップS14)。なお、バッファ制御装置5は、マイグレーション対象のVM1宛てのパケットを、マイグレーションが完了したVM1に直接転送してもよい。
続いて、管理装置2は、転送先変更制御部214がマイグレーション対象のVM1を宛先とするパケットの転送先を、マイグレーション先のサイトに変更する第2の転送先変更通知を各転送装置3に送信する(図4のステップS15)。
第2の転送先変更通知を受信した各転送装置3は、第2の転送先変更通知に従って、マイグレーション対象のVM1に対応する転送先を変更する(図4のステップS16)。すなわち、図1の(6)に示すように、各転送装置3は、VM1宛てのパケットが、マイグレーション先のサイトのVM1に向かうよう経路情報を設定する。これによって、各転送装置3は、マイグレーション先のサイトのVM1宛に端末6が送信したパケットを転送する(図4のステップS17)。
[実施の形態1の効果]
本実施の形態1では、VM1のマイグレーション中に、各転送装置3に対し、マイグレーション対象のVM1を宛先とするパケットの転送先を変更させている。このため、実施の形態1によれば、VM1のマイグレーション完了を待たずに、VM1宛てのパケットのマイグレーション元のサイトへの転送を停止することができるため、マイグレーション元のサイトで破棄されるパケット量を低減することが可能になる。
また、本実施の形態1では、VM1のマイグレーション中、各転送装置3に対し、マイグレーション対象のVM1を宛先とするパケットの転送先をバッファ制御装置5に変更させることによって、VM1のマイグレーション中に端末6等から送信されたVM1宛てのパケットをバッファ4にバッファリングしている。そして、実施の形態1では、VM1のマイグレーション完了後に、バッファ制御装置5に対し、バッファリングされたパケットを、マイグレーションが完了したVM1に転送させている。したがって、実施の形態1によれば、マイグレーションが完了したVM1は、マイグレーション元のサイトを含む他のサイトとマイグレーション先のサイトとの距離に関係なく、VM1のマイグレーション中に各端末6から送信されたVM1宛てのパケットを損なうことなく、起動後すぐに受信することが可能になる。
また、L2トンネル技術を用いる場合は、プロバイダなど第三者が提供するネットワークシステムを用いることが多い。このようなプロバイダネットワークでは、コストを考慮すると、帯域が変動し、かつ、常に大容量帯域を確保可能ではないベストエフォート型の回線を利用するため、マイグレーション時にメモリデータの転送時間が長くなるとともに、転送に必要な時間がトラヒックの状況に応じて変動するという問題がある。この問題に対し、実施の形態1によれば、VM1のマイグレーション中に送信されたVM1宛てのパケットをバッファリングすることによって、VM1は、マイグレーション完了までの期間の長短に関係なく、マイグレーション中に送信されたVM1宛てのパケットを損なうことなく、起動後すぐに受信することが可能になる。
なお、管理装置2に代わって外部コントローラが各種動作を実行する場合もある。例えば、管理装置2によるVM1のマイグレーション状況の進捗或いはVM1のマイグレーション完了に応じて、コントローラ(不図示)が、転送装置3に転送先変更通知を送信してもよい。また、コントローラが、マイグレーション対象のVM1宛てのパケットをバッファリングするバッファ4を選択し、該バッファ4を制御するバッファ制御装置5に対してマイグレーション対象のVM1のMACアドレスを通知してもよい。
また、管理装置2による転送先変更の通知動作を、VM1、転送装置3及びバッファ制御装置5が行う場合もある。例えば、管理装置2が位置するサイトのトンネル終端装置が、管理装置2から、マイグレーション対象のVM1のMACアドレスとバッファ制御装置5が位置するサイトの識別子情報と、を受信した場合、管理装置2に代わって、バッファ制御装置5に、マイグレーション対象のVM1のパケットのバッファリング開始を通知する場合や、各転送装置3に第1の転送先変更通知を送信する場合がある。
また、STP(Spanning Tree Protocol)を使用している場合には、VM1のMACアドレスを通知されたバッファ制御装置5は、第1の転送先変更通知として、ブロードキャストパケットを各転送装置3に送信し、マイグレーション対象のVM1を宛先とするパケットの転送先を、バッファ制御装置5に変更してもよい。この場合、バッファ制御装置5は、送信元アドレスをVM1のMACアドレスにしたブロードキャストパケットを転送装置3に転送する。このブロードキャストパケットを転送装置3が受信すると、転送装置3は、パケットの到着ポートとパケットの送信元のアドレスとを見て、転送先のアドレスであるパケットを該ポートに出力する設定を行う。
また、マイグレーションが完了したVM1自身が、第2の転送先変更通知として、ブロードキャストパケットを各転送装置3に送信してもよい。なお、送信元アドレスをVM1のMACアドレスにしたブロードキャストパケットを転送装置3が受信すると、転送装置3は、パケットの到着ポートとパケットの送信元のアドレスとを対応付けておき、VM1のMACアドレスを宛先とするパケットが到着した場合には、該パケットを該ポートに出力する設定を行う。
以下、実施例1〜3を示して、実施の形態1の具体的な構成及び動作について説明する。実施例1は、バッファ4が、マイグレーション元のサイト及びマイグレーション先のサイトとは別のサイトにある例である。実施例2は、バッファ4がマイグレーション先のサイトにあり、同じサイトの管理装置2がパケットのバッファリング制御を行う例である。実施例3は、バッファ4がマイグレーション先のサイトにあり、同じサイトのトンネル終端装置がパケットのバッファリング制御を行う例である。
[実施の形態1の実施例1]
まず、実施の形態1の実施例1について説明する。図5は、本実施例1に係る管理システムの構成の概略を示す図である。
図5に示すように、本実施例1に係る管理システムが管理するネットワークシステムは、各サイトA〜D間は、プロバイダネットワーク等のネットワーク10を介して接続する。複数のサイトA〜D間は、それぞれL2トンネルで接続される。各サイトA〜DのL2トンネルの終端には、トンネル終端装置3A〜3Dが配置される。このトンネル終端装置3A〜3Dは、L2トンネルを終端するとともに、到着したパケットを、転送テーブルに従って、転送先に転送する転送装置3としての機能も有する。各サイトA〜Dには、到着したパケットを、転送テーブルに従って転送先に転送するスイッチ等の通信機器も存在する。
そして、本実施例1では、VM1が、サイトAからサイトCにマイグレーションされる例を示す。なお、図5では、マイグレーション元のサイトA及びマイグレーション先のサイトCには、それぞれ管理装置2A,2Cがある場合を例示する。そして、図5では、サイトDにバッファ4及びバッファ制御装置5が存在する場合を例示する。また、管理装置2A,2Cは、同一サブネットに属する全トンネル終端装置3A〜3Dから、VM1のマイグレーション先のサイトCに接続するトンネル終端機能3Cに向かうL2トンネルの識別子情報を事前に入手している。また、識別子情報とは、後述するように、トンネル終端装置のIPアドレスやMPLSラベルなど、パケット転送を行う上で必要な情報のことをいう。
本実施例1では、VM1のマイグレーション中に、マイグレーション対象のVM1宛てのパケットがバッファ4に転送されるように、マイグレーション対象のVM1宛てのパケットの送信経路を矢印Y1〜Y3のように設定している。
まず、各L2トンネルの出入り口であるトンネル終端装置3A〜3Dは、第1の転送先変更通知を受信することによって、マイグレーション対象のVM1宛てのパケットが、バッファ4が存在するサイトDに向かうように変更する(矢印Y1参照)。
そして、マイグレーション元のサイトAのトンネル終端装置3Aは、マイグレーション元のサイトA内におけるマイグレーション対象のVM1宛てのパケットの送信経路を、トンネル終端装置3Aに向かう経路に変更する(矢印Y2参照)。
さらに、バッファ制御装置5(バッファ4)が位置するサイトDのトンネル終端装置3Dは、このサイトD内におけるマイグレーション対象のVM1宛てのパケットの送信経路をバッファ制御装置5に向かう経路に変更し(矢印Y3参照)、該パケットのバッファ制御装置5までの到着を効率化する。なお、サイトDのトンネル終端装置3D内にバッファ4がある場合には、このサイトDにおけるVM1宛てのパケットの送信経路をバッファ制御装置5に向かう経路に変更する必要はない(図5のセルM1参照)。
続いて、マイグレーション完了後のVM1が、バッファ4内のVM1宛てのパケットを受信した後に、各トンネル終端装置3A〜3Dは、VM1宛てのパケットがマイグレーション先のサイトCのVM1のみに送信されるようにVM1宛てのパケットの送信経路を変更する。
次に、本実施例1における管理システムの具体的構成及び動作処理の流れについて説明する。図6は、実施の形態1の実施例1に係る管理システムの構成の一例を示す概略図である。
図6に示す管理システム100Aでは、マイグレーション元のサイトAに、マイグレーション対象のVM1のマイグレーション状況の進捗を管理する管理装置2Aが位置する(セルM2参照)。また、各トンネル終端装置3A〜3Dは、それぞれ転送テーブル(例えば、セルM3の転送テーブルT1)を有する。
[トンネル終端装置の構成]
次に、トンネル終端装置3A〜3Dの構成について説明する。図7は、図6に示すトンネル終端装置3Dの構成を示すブロック図である。なお、他のトンネル終端装置3A〜3Cもトンネル終端装置3Dと同様の構成を有する。
図7に示すように、トンネル終端装置3Dは、制御部131、通信部132及び記憶部133を有する。また、トンネル終端装置3Dは、バッファ4(不図示)を有し、バッファ制御装置5の機能を有する。
制御部131は、図3の制御部31と同様に、CPUやMPUなどの電子回路であり、各種の処理手順などを規定したプログラムに従って種々の処理を実行する。制御部131は、転送処理部1311、転送制御部1312、通信制御部1313、サイト内経路設定部1314及びバッファリング制御部1315を有する。
転送処理部1311は、転送処理部311と同様の機能を有する。転送処理部1311は、他のサイトに転送するパケットを、L2トンネルを介して転送するための処理を行う。
具体的には、転送処理部1311は、転送対象のパケットが到着すると、パケットの宛先のMACアドレスをもとに、宛先が存在するサイトに接続するL2トンネルの識別子情報を検索する。そして、転送処理部1311は、検索されたL2トンネルにパケットを通過させる。この場合、転送処理部1311は、トンネリングプロトコル用ヘッダを転送対象のパケットに添付してから、送信先のサイトにパケットを転送する。また、転送処理部1311は、受信したパケットからトンネリングプロトコル用ヘッダを外し、宛先へとパケットを転送する。転送処理部1311は、MAC−in−MAC方式を採用してパケットをカプセル化し、該パケットを転送先に転送することもできる。
転送制御部1312は、転送制御部312と同様の機能を有し、転送テーブル1331(後述)において、宛先となるMACアドレスと、該宛先が存在するサイトに接続するトンネル終端装置3A〜3Dに向かうL2トンネルの識別子情報とを対応付けて管理している。
通信制御部1313は、通信制御部313と同様に、後述する通信部132における通信処理を制御し、サイトD内の他の装置との間、或いは、ネットワーク10を介した他のサイトA〜Dとの間で、各種情報を通信する。
サイト内経路設定部1314は、トンネル終端装置3Dが接続するサイトD内におけるパケットの送信経路を設定する。例えば、マイグレーション対象のVM1を宛先とするパケットの転送先を、トンネル終端装置3D自身に変更させる場合には、サイト内経路設定部1314が、通信部132から、サイトD内のスイッチに対して、VM1のMACアドレスを送信元とするブロードキャストパケットを送信する。
バッファリング制御部1315は、受信した通知に従って、バッファ4へのパケットのバッファリングを制御する一方、バッファ4にバッファリングされたパケットを外部に送信する。
通信部132は、ネットワークを介して接続された装置と各種情報を送受信する通信インターフェースである。具体的には、トンネル終端装置3Dが接続するサイト内の各端末6と例えばLANで接続する通信インターフェースや、例えばWAN等でネットワーク10と接続する通信インターフェースによって構成される。
記憶部133は、記憶部33と同様に、半導体メモリ素子又は記憶装置によって実現され、トンネル終端装置3Dを動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部133は、パケットの宛先となるVMの識別子情報とVMに対応する転送先の識別子情報とがそれぞれ対応付けられる転送テーブル1331を記憶する。
図8は、図7に示す記憶部133が記憶する転送テーブル1331のデータ構成を説明する図である。図8の転送テーブルT1に例示するように、転送テーブル1331は、VMのMACアドレスと、VMが位置するサイトのトンネル終端装置の識別子情報とがそれぞれ対応付けられている。例えば、VM1のマイグレーション前であれば、VM1は、マイグレーション元のサイトAに位置するため、VM1のMACアドレスには、サイトAのトンネル終端装置3Aの識別子情報が対応付けられている。
なお、VXLANプロトコルを適用したネットワークシステムの場合、図9に示すように、トンネル終端装置3Dは、VM1のMACアドレス(例えば、「aa:bb:cc:dd:ee:ff」)に、VM1が存在するLAN(サイトA)に接続するトンネル終端装置3AのIPアドレス(例えば、「192.168.11.1」)が対応付けられた転送テーブルTaを管理する。また、MPLS−EVPNプロトコルを適用したネットワークシステムの場合、図10に示すように、トンネル終端装置3Dは、VM1のMACアドレス(例えば、「aa:bb:cc:dd:ee:ff」)に、VM1が存在するサイトAのトンネル終端装置3Aへと接続するMPLSトンネルのラベル(例えば、「Label:124」)が対応付けられた転送テーブルTbを管理する。
[VMマイグレーション時のパケット転送の流れ]
次に、図6に示す管理システム100AにおけるVMマイグレーション時のパケット転送の流れを説明する。図11〜図14は、図6に示す管理システム100AによるVMマイグレーション時のパケット転送の流れを説明する概略図である。なお、管理システム100Aでは、トンネル終端装置3Dのバッファ4が、VMマイグレーション時におけるVM1宛てのパケットをバッファリングするバッファであることが予め決められており、トンネル終端装置3Dが、バッファ4に対するバッファリング制御を行うバッファ制御装置5としての機能も有する。
まず、VM1のライブマイグレーションが開始すると、管理装置2Aは、マイグレーション進捗管理部213において、VM1のライブマイグレーションの進捗を管理する(図11の(1)参照)。
管理装置2Aが、VM1のライブマイグレーションの進捗(図11のセルM2a参照)を基に第1の転送先変更通知を送信するタイミングであると判断した場合には(図11のセルM2a参照)、同じサイトAに接続するトンネル終端装置3Aに、マイグレーション中のVM1のMACアドレスと、バッファ4が存在するサイトに接続するトンネル終端装置3Dのアドレスと、を第1の転送先変更通知として通知する(図11の(2)参照)。転送先変更制御部214は、例えば、VM1のマイグレーションの度合が閾値(例えば70%)を超えた場合に(図11のセルM2a参照)、第1の転送先変更通知を通知する。
マイグレーション元のサイトAに接続するトンネル終端装置3Aは、サイト内経路設定部1314が、マイグレーション中のVM1のMACアドレスを取得した後、該MACアドレスを送信元とするブロードキャストパケットをマイグレーション元のサイトA内に送信する。これによって、サイトA内のスイッチは、マイグレーション中のVM1宛てのパケットの送信先を、トンネル終端装置3Aに変更する。この結果、サイトAのトンネル終端装置3Aは、マイグレーション元のサイトA内に存在する端末からマイグレーション中のVM1のMACアドレス宛てのパケットを受信できるようになるので、それをマイグレーション先のサイトDに接続するトンネル終端装置3Dへと効率的に転送することが可能になる(図11の(2´)参照)。
そして、トンネル終端装置3Aは、他のトンネル終端装置3B〜3Dに第1の転送先変更通知を通知し、通知を受けたトンネル終端装置3B〜3Dは、ライブマイグレーション中のVM1宛てのパケットの転送先を、バッファ4が存在するサイトDのトンネル終端装置3Dのアドレスに変更する(図11の(3)参照)。具体的には、トンネル終端装置3Bは、図11のセルM4に示すように、転送テーブルT1において、VM1のMACアドレスに対応付けられたトンネル終端装置の識別子情報を、サイトAのトンネル終端装置3Aから、サイトDのトンネル終端装置3Dに変更する(転送テーブルT1a参照)。なお、他のトンネル終端装置3A,3C,3Dにおいても同様に転送テーブルが変更される。
さらに、トンネル終端装置3Aは、バッファ4が存在するサイトDのトンネル終端装置3Dに、マイグレーション中のVM1のMACアドレスが宛先になっているパケットをバッファ4に記録するように通知する(図11の(4)参照)。
各トンネル終端装置3A〜3Cは、マイグレーション中のVM1宛てのパケットが到着すると、MACアドレスをチェックし、転送テーブルT1aに従って(図12のセルM4参照)、バッファ4が存在するサイトDに向けて送信する(図12の(5)参照)。そして、サイトDのトンネル終端装置3Dは、マイグレーション中のVM1宛てのパケットを、トンネル終端装置3D内のバッファ4に格納する(図13の(6−1)参照)。
サイトCへのVM1のマイグレーション完了後、サイトCのVM1は、サイトDのバッファ4とVM1との間にL2トンネル7を設定し、その後、該L2トンネル7を経由してパケット転送を促す通知をトンネル終端装置3Dに送信する(図14の(7)参照)。サイトDのトンネル終端装置3Dは、この通知を受信後、バッファ4内のVM1宛てのパケットを、L2トンネル7を介して、サイトCのVM1に送信し、バッファ4内のVM1宛てのパケットがなくなると、VM1にブロードキャストパケットを送信するように通知する(図14の(8)参照)。
これによって、VM1は、L2ネットワーク内にブロードキャストパケットを送信する。このブロードキャストパケットを受信したL2ネットワーク内のスイッチ及びトンネル終端装置3A〜3Dは、VM1のMACアドレス宛てのパケットの転送先を、VM1のマイグレーション先のサイトCへと変更する(図14の(9)参照)。具体的には、トンネル終端装置3Bは、図14のセルM6に示すように、転送テーブルT1aにおいて、VM1のMACアドレスに対応付けられたトンネル終端装置の識別子情報を、サイトDのトンネル終端装置3Dから、サイトCのトンネル終端装置3Cに変更する(転送テーブルT1b参照)。なお、他のトンネル終端装置3A,3C,3Dにおいても同様に転送テーブルが変更される。
管理システム100Aでは、図11〜図14に説明した流れで、各装置が処理を行うことによって、マイグレーションが完了したVM1は、VM1のマイグレーション中に各端末から送信されたVM1宛てのパケットを損なうことなく、起動後すぐに受信することが可能になる。
また、図15に例示するように、バッファ4が、トンネル終端装置3Dと別の装置内に存在してもよい。図15は、実施の形態1の実施例1に係る管理システムの他の構成の概略を示す図である。図15に示す構成では、サイトDのトンネル終端装置3Dは、サイトD内のバッファ4及びバッファ4を制御するバッファ制御装置5とは独立している。トンネル終端装置3Dとバッファ制御装置5との間には、L2トンネル7Dが事前に設定されている。
図15に示す例では、第1の転送先変更通知を受信した場合、トンネル終端装置3A〜3Dは、マイグレーション対象のVM1宛てのパケットがサイトDに向かうように変更し(矢印Y1参照)、マイグレーション元のサイトAのトンネル終端装置3Aは、マイグレーション元のサイトA内のVM1宛てのパケットの送信経路を、トンネル終端装置3Aに向かう経路に変更する(矢印Y2参照)のみでよい。
サイトDのトンネル終端装置3Dは、L2トンネル7Dを介して、バッファ4に、マイグレーション中のVM1宛てのパケットを転送でき(矢印Y3A参照)、トンネル終端装置3Dからバッファ4への転送処理を効率化できる。また、トンネル終端装置3Dは、サイトD内の経路変更を行う必要がなく、サイトD内の端末等から送信されたVM1宛てのパケットは、まずトンネル終端装置3Dに転送されてから(矢印Y4参照)、トンネル終端装置3Dによって、バッファ制御装置5に転送される(矢印Y3A参照)。
このように、バッファ4が、トンネル終端装置3Dと別の装置内に存在する場合であっても、トンネル終端装置3Dとバッファ制御装置5との間に予めL2トンネル7Dを設定し、該L2トンネル7Dを介してバッファリング対象のパケットを転送することによって、バッファ4へのパケットのバッファリングを効率化することができる。なお、トンネル終端装置3Dは、L2トンネル7Dを介さず、Mac−in−Macを用いてパケットをバッファ4に転送してもよい。
[実施の形態1の実施例2]
次に、実施の形態1の実施例2における管理システムの具体的構成及び動作処理の流れについて説明する。図16〜図18は、実施の形態1の実施例2における管理システム100BによるVMマイグレーション時のパケット転送の流れを説明する概略図である。
管理システム100Bは、図6に示す管理システム100Aと比して、マイグレーション先のサイトCに、VM1のマイグレーション状況の進捗を管理する管理装置2Cが位置する点が異なる。また、該管理装置2Cは、内部にバッファ4を有し、該バッファ4に対するバッファリング制御も行う。
[VMマイグレーション時のパケット転送の流れ]
まず、サイトAからVM1のライブマイグレーションが開始すると、管理装置2Cは、VM1のマイグレーション状況を管理し、マイグレーションの度合が閾値を超えると、マイグレーション中のVM1のMACアドレスを送信元とするブロードキャストパケットをL2ネットワーク内に送信する(図16の(1)参照)。
ブロードキャストパケットを受信した各トンネル終端装置3A〜3Dは、マイグレーション中のVM1宛てのパケットの転送先を、マイグレーション先のサイトCに接続するトンネル終端装置3Cに変更する(図16の(2)参照)。例えば、トンネル終端装置3Bは、図16のセルM7に示すように、転送テーブルT1において、VM1のMACアドレスに対応付けられたトンネル終端装置の識別子情報を、サイトAのトンネル終端装置3Aから、サイトCのトンネル終端装置3Cに変更する(転送テーブルT1b参照)。
ブロードキャストパケットを受信したサイトC内のスイッチは、マイグレーション中のVM1宛てのパケットの送信先を、マイグレーション先のサイトCに接続するトンネル終端装置3Cに変更する(図16の(3)参照)。
続いて、管理装置2Cは、各転送装置によるVM1宛てのパケットのサイトCへの転送先変更に伴い、トンネル終端装置3Cを介して、マイグレーション中のVM1のMACアドレスを宛先とするパケットを受信した場合、バッファ4に記録する(図17の(4)参照)。
そして、管理装置2Cは、VM1のマイグレーション完了を検知すると、バッファ4にバッファリングしたVM1宛てのパケットを、VM1に送信する(図18の(5)参照)。この場合、管理装置2Cは、管理装置2CとVM1との間に設定されたL2トンネルを経由して、パケットをVM1に送信してもよい。また、管理装置2Cは、VM1が管理装置2Cによって管理されている場合にはプロセス間通信によってパケットをVM1に送信してもよい。また、管理装置2Cは、Mac−in−Macを用いてパケットをVM1に転送してもよい。
VM1へのバッファ4内のパケット送信が終了すると、管理装置2Cは、VM1にブロードキャストパケットの送信を依頼する(図18の(6)参照)。これに応じて、VM1は、第2の転送先変更通知として、L2サブネット内にブロードキャストパケットを送信する(図18の(7)参照)。このVM1によるブロードキャストパケットを受信したトンネル終端装置3A〜3D及び各スイッチは、サイトCに向けて、VM1宛てのパケットの転送を開始する。
管理システム100Bでは、図16〜図18に説明した流れで、各装置が処理を行うことによって、マイグレーションが完了したVM1は、VM1のマイグレーション中に各端末から送信されたVM1宛てのパケットを損なうことなく、起動後すぐに受信することが可能になる。
[実施の形態1の実施例3]
図19は、実施の形態1の実施例3に係る管理システム100Cの構成の概略を示す図である。管理システム100Cは、図6に示す管理システム100Aと比して、マイグレーション先のサイトCのトンネル終端装置3Cが、バッファ4を有し、バッファ制御装置5としての機能も有する点が異なる。
管理システム100Cでは、第1の転送先変更通知を受信した場合、トンネル終端装置3A〜3Dは、マイグレーション対象のVM1宛てのパケットが、バッファ4が存在するサイトCに向かうように変更する(矢印Y1C参照)。具体的には、トンネル終端装置3Bは、セルM10に示すように、転送テーブルT1において、VM1のMACアドレスに対応付けられたトンネル終端装置の識別子情報を、サイトAのトンネル終端装置3Aから、サイトCのトンネル終端装置3Cに変更する(転送テーブルT1b参照)。なお、他のトンネル終端装置3A,3C,3Dにおいても同様に転送テーブルが変更される。
そして、マイグレーション元のサイトAのトンネル終端装置3Aは、サイトA内のVM1宛てのパケットの送信経路を、トンネル終端装置3Aに向かう経路に変更する(矢印Y2参照)。なお、サイトCのトンネル終端装置3C内にバッファ4があるため、このサイトCにおけるVM1宛てのパケットの送信経路の変更は不要である。サイトC内の端末等から送信されたVM1宛てのパケットは、まずトンネル終端装置3Cに転送され(矢印Y3C参照)、トンネル終端装置3Cのバッファ4にバッファリングされる。なお、後の流れは、実施例1,2と同様である。
[実施の形態2]
実施の形態1では、VM1のマイグレーション中に、VM1宛てのパケットをバッファ4に転送する場合について説明したが、バッファ4に加えてマイグレーション元のサイトにもVM1宛てのパケットを転送する構成も考えられる。そこで、実施の形態2では、VM1のマイグレーション中に、バッファ4とマイグレーション元のサイトとの双方にVM1宛てのパケットを転送する構成について説明する。
図20は、実施の形態2に係る管理システムの動作の概略を示す図である。図20に示すように、実施の形態2に係る管理システムでは、図5に示す管理システムと比して、VM1のマイグレーション中に、マイグレーション対象のVM1宛てのパケットが、バッファ4に加え、マイグレーション元のサイトにも転送されるように、マイグレーション対象のVM1宛てのパケットの送信経路を矢印Y21〜Y25のように設定している。
まず、管理装置2Aは、各トンネル終端装置3A〜3D及び各スイッチに対して、マイグレーション対象のVM1を宛先とするパケットの転送先を、バッファ制御装置5及びマイグレーション元のサイトAのVM1に変更する第1の転送先変更通知を送信する。
そして、各L2トンネルの出入り口であるトンネル終端装置3A〜3Dは、第1の転送先変更通知を受信することによって、マイグレーション対象のVM1宛てのパケットが、バッファ4が存在するサイトDと、マイグレーション元のサイトAとの双方に向かうように変更する(矢印Y21及び矢印Y22参照)。続いて、マイグレーション元のサイトAに接続するトンネル終端装置3Aは、マイグレーション中のVM1との間にL2トンネル7Aを設け、到着したVM1宛てのパケットをL2トンネル7A経由で転送する(矢印Y25参照)。
また、図5と同様に、マイグレーション元のサイトAのトンネル終端装置3Aは、マイグレーション元のサイトA内におけるVM1宛てのパケットの送信経路を、トンネル終端装置3Aに向かう経路に変更する(矢印Y23参照)。そして、バッファ制御装置5(バッファ4)が位置するサイトDのトンネル終端装置3Dは、サイトD内におけるVM1宛てのパケットの送信経路をバッファ制御装置5に向かう経路に変更する(矢印Y24参照)。
続いて、マイグレーション完了後のVM1が、バッファ4のVM1宛てのパケットを受信した後に、各トンネル終端装置3A〜3Dは、VM1宛てのパケットがマイグレーション先のサイトCのVM1のみに送信されるようにVM1宛てのパケットの送信経路を変更する。
[実施の形態2の効果]
本実施の形態2では、VM1のマイグレーション中に、各転送装置3に対し、マイグレーション対象のVM1を宛先とするパケットの転送先として、バッファ制御装置5に加えて、マイグレーション元のサイトを追加させることによって、VM1宛てのパケットをバッファ4にバッファリングするとともに、VM1のマイグレーション中にもVM1宛てのパケットをVM1自身が受信し、マイグレーション先にマイグレーションしている。したがって、実施の形態2では、VM1のマイグレーション完了後、バッファ制御装置5は、バッファ4内のパケットのうち、マイグレーション元のサイトAのVM1の停止以降にバッファ4に到着したパケットのみを転送すれば足りる。
このように、実施の形態2は、実施の形態1と同様の効果を奏するとともに、マイグレーション完了後にバッファ4からVM1に転送するパケット量を低減することができる。このため、実施の形態2によれば、マイグレーション完了後におけるバッファ4からVM1へのパケット転送時間を短縮化でき、これに伴い、マイグレーション完了後のトンネル終端装置3A〜3Dにおける転送先変更までの時間も短縮化できる。
以下、実施例1,2を示して、実施の形態2の具体的な構成及び動作について説明する。実施例1は、マイグレーション中に、マイグレーション元のサイトと、マイグレーション元のサイト及びマイグレーション先のサイトとは別のサイトにあるバッファ4との双方に、VM1宛てのパケットを転送する例である。実施例2は、マイグレーション中に、マイグレーション元のサイトと、マイグレーション先のサイトにあるバッファ4との双方に、VM1宛てのパケットを転送する例である。
[実施の形態2の実施例1]
まず、実施の形態2の実施例1について説明する。図21〜図23は、実施の形態2の実施例1に係る管理システム200AにおけるVMマイグレーション時のパケット転送の流れを説明する図である。図21に示す管理システム200Aは、サイトDのトンネル終端装置3Dがバッファ4を有する管理システム100A(図6参照)と同様の構成であり、各装置の動作が異なる。
まず、VM1のライブマイグレーションが開始すると、管理装置2Aは、VM1のライブマイグレーションの進捗を管理する(図21の(1)参照)。
管理装置2Aは、VM1のライブマイグレーションの進捗(図21のセルM2a参照)を基に第1の転送先変更通知を送信するタイミングであると判断した場合には、同じサイトAに接続するトンネル終端装置3Aに、マイグレーション中のVM1のMACアドレスと、バッファ4が存在するサイトDに接続するトンネル終端装置3Dのアドレス及びマイグレーション元のサイトAのトンネル終端装置3Aのアドレスと、を第1の転送先変更通知として通知する(図21の(2)参照)。
そして、トンネル終端装置3Aは、他のトンネル終端装置3B〜3Dに第1の転送先変更通知を通知し、通知を受けたトンネル終端装置3B〜3Dは、ライブマイグレーション中のVM1宛てのパケットの転送先を、バッファ4が存在するサイトDに接続するトンネル終端装置3D及びマイグレーション元のサイトAのトンネル終端装置3Aと、に変更する(図21の(3)参照)。具体的には、トンネル終端装置3Bは、図21のセルM21に示すように、転送テーブルT1において、VM1のMACアドレスに対応付けられたトンネル終端装置の識別子情報を、サイトAのトンネル終端装置3Aと、サイトDのトンネル終端装置3Dとに変更する(転送テーブルT2a参照)。なお、他のトンネル終端装置3A,3C,3Dにおいても同様に転送テーブルが変更される。
さらに、トンネル終端装置3Aは、バッファ4を有するサイトDのトンネル終端装置3Dに、VM1のMACアドレスが宛先になっているパケットをバッファ4に記録するように通知する(図21の(4)参照)。
これによって、各トンネル終端装置3A〜3Dは、マイグレーション中のVM1宛てのパケットが到着すると、MACアドレスをチェックし、転送テーブルT2aに従って(図21のセルM21参照)、到着したパケットを、バッファ4が存在するサイトD及びマイグレーション元のサイトAに向けて送信する(図21の(5)参照)。マイグレーション元のサイトAのトンネル終端装置3Aは、マイグレーション中のVM1宛てのパケットを、L2トンネル7A経由で転送する(図21の(5´)参照)。一方、サイトDのトンネル終端装置3Dは、VM1宛てのパケットをバッファ4に格納する(図21の(6)参照)。
サイトCへのVM1のマイグレーション完了後、サイトCのVM1は、サイトDのバッファ4とVM1との間にL2トンネル7を設定し、その後、L2トンネル7を経由してパケット転送を促す通知をトンネル終端装置3Dに送信する(図22の(7)参照)。サイトDのトンネル終端装置3Dは、この通知を受信後、バッファ4内のVM1宛てのパケットを、L2トンネル7を介して、サイトCのVM1に送信し、バッファ4内のパケットがなくなると、VM1にブロードキャストパケットを送信するように通知する(図22の(8)参照)。このとき、トンネル終端装置3Dは、バッファ4内のパケットのうち、マイグレーション元のサイトAのVM1の停止以降にバッファ4に到着したパケットのみを転送すれば足りる。
これによって、VM1は、第2の転送先変更通知として、L2ネットワーク内にブロードキャストパケットを送信する(図23の(9)参照)。受信したトンネル終端装置3Cは、VM1に向けたD−Planeパケットの送信を開始する(図23の(10)参照)。言い換えると、トンネル終端装置3Cは、該トンネル終端装置3Cに到着したVM1宛てのパケットを、宛先であるサイトCのVM1に転送する。
これとともに、トンネル終端装置3Cは、ブロードキャストパケットを他のトンネル終端装置3A,3B,3Dに通知する。トンネル終端装置3A,3B,3Dは、それを受け、マイグレーション元のサイトAへの転送を停止する(図23の(11)参照)。言い換えると、トンネル終端装置3A〜3Dは、VM1のMACアドレス宛てのパケットの転送先を、VM1のマイグレーション先のサイトCのトンネル終端装置3Cに変更する。
具体的には、トンネル終端装置3Bは、図23のセルM22に示すように、転送テーブルT2aにおいて、VM1のMACアドレスに対応付けられたトンネル終端装置の識別子情報を、サイトAのトンネル終端装置3A及びサイトDのトンネル終端装置3Dから、サイトCのトンネル終端装置3Cに変更する(転送テーブルT2b参照)。なお、他のトンネル終端装置3A,3C,3Dにおいても同様に転送テーブルが変更される。
図24は、管理システム200AによるVMマイグレーション時のパケット転送の流れを説明するシーケンス図である。図24に示すステップS21〜ステップS26は、図4に示すステップS1〜ステップS6である。なお、管理システム200Aでは、トンネル終端装置3Dが、内部にバッファ4を有し、バッファ制御装置5の機能を有するため、ステップS24におけるバッファリング開始通知は、サイトDのトンネル終端装置3Dに送信される。
管理装置2Aは、第1の転送先変更通知を送信するタイミングであると判断した場合(ステップS26:Yes)、マイグレーション対象のVM1を宛先とするパケットの転送先を、バッファ制御装置5の機能を有するサイトDのトンネル終端装置3D及びマイグレーション元のサイトAに変更する第1の転送先変更通知を各トンネル終端装置3A〜3Dに送信する(ステップS27)。各トンネル終端装置3A〜3Dは、第1の転送先変更通知に従って、マイグレーション対象のVM1に対応する転送先をトンネル終端装置3D及びマイグレーション元のサイトAに変更する(ステップS28)。
これによって、各トンネル終端装置3A〜3Dは、VM1宛てに端末6が送信したパケットを、バッファ4を有するトンネル終端装置3Dに転送するとともに(ステップS29−1〜ステップS29−3)、マイグレーション元のサイトAのトンネル終端装置3Aにも転送する(ステップS30−1〜ステップS30−3)。
次いで、トンネル終端装置3Aは、到着したVM1宛てのパケットを、サイトAのマイグレーション中のVM1に転送する(ステップS31−1〜ステップS31−3)。また、トンネル終端装置3Dは、到着したVM1宛てのパケットをバッファ4にバッファリングする(ステップS32)。
マイグレーション先のサイトAにおいてVM1のマイグレーションが完了した場合(ステップS33)、サイトAのVM1は、トンネル終端装置3Dに対してバッファ4内のVM1宛てのパケットの転送を指示する(ステップS34)。この指示に応じて、トンネル終端装置3Dは、バッファ4内のVM1宛てのパケットのうち、サイトAでのVM1の停止以降にバッファ4に到着したパケットを、バッファ4に到着した順にVM1に転送する(ステップS35)。
続いて、サイトCのVM1は、第2の転送先変更通知として、トンネル終端装置3Cにブロードキャストパケットを送信する(ステップS36)。トンネル終端装置3Cは、該ブロードキャストパケットを受け、VM1のMACアドレス宛てのパケットの転送先を、マイグレーション先のサイトCのトンネル終端装置3Cに変更する(ステップS37)。そして、トンネル終端装置3Cは、ブロードキャストパケットを他のトンネル終端装置3A,3B,3Dに通知する(ステップS38)。トンネル終端装置3A,3B,3Dは、該ブロードキャストパケットを受け、VM1のMACアドレス宛てのパケットの転送先を、マイグレーション先のサイトCのトンネル終端装置3Cに変更する(ステップS39)。
管理システム200Aでは、図21〜図24に説明した流れで各装置が処理を行うことによって、マイグレーションが完了したVM1は、VM1のマイグレーション中に各端末から送信されたVM1宛てのパケットを損なうことなく受信できるとともに、マイグレーション完了後にVM1に転送されるパケット量も低減できるため、マイグレーション完了後のトンネル終端装置3A〜3Dにおける転送先変更までの時間も短縮化できる。
[実施の形態2の実施例2]
次に、実施の形態2の実施例2について説明する。図25及び図26は、本実施例2に係る管理システム200BにおけるVMマイグレーション時のパケット転送の流れを説明する図である。図25に示す管理システム200Bは、図19に示す管理システム100Cと同様の構成であり、各装置の動作が異なる。
まず、VM1のライブマイグレーションが開始すると、管理装置2Aは、VM1のライブマイグレーションの進捗を管理する(図25の(1)参照)。
管理装置2Aは、VM1のライブマイグレーションの進捗(図21のセルM2a参照)を基に第1の転送先変更通知を送信するタイミングであると判断した場合には、同じサイトAに接続するトンネル終端装置3Aに、マイグレーション中のVM1のMACアドレスと、バッファ4が存在するサイトCに接続するマイグレーション先のサイトCのトンネル終端装置3Cのアドレス及びマイグレーション元のサイトAのトンネル終端装置3Aのアドレスと、を通知する(図25の(2)参照)。
トンネル終端装置3Aは、他のトンネル終端装置3B〜3Dに第1の転送先変更通知を通知し、通知を受けたトンネル終端装置3B〜3Dは、ライブマイグレーション中のVM1宛てのパケットの転送先を、バッファ4が存在するマイグレーション先のサイトCに接続するトンネル終端装置3C及びマイグレーション元のサイトAのトンネル終端装置3Aと、に変更する(図25の(3)参照)。具体的には、トンネル終端装置3Bは、図25のセルM23に示すように、転送テーブルT1において、VM1のMACアドレスに対応付けられたトンネル終端装置の識別子情報を、サイトAのトンネル終端装置3Aと、サイトCのトンネル終端装置3Cとに変更する(転送テーブルT2c参照)。なお、他のトンネル終端装置3A,3C,3Dにおいても同様に転送テーブルが変更される。
これによって、各トンネル終端装置3A〜3Dは、マイグレーション中のVM1宛てのパケットが到着すると、MACアドレスをチェックし、転送テーブルT2cに従って(図25のセルM23参照)、バッファ4が存在するサイトC及びマイグレーション元のサイトAに向けて送信する(図25の(4)参照)。なお、マイグレーション元のサイトAのトンネル終端装置3Aは、マイグレーション中のVM1宛てのパケットを、トンネル終端装置3Aとマイグレーション中のVM1との間のL2トンネル7Aを介して転送してもよい。
一方、管理装置2Aは、トンネル終端装置3Aを介して、サイトCのトンネル終端装置3Cに、マイグレーション中のVM1のMACアドレスが宛先になっているパケットを破棄するように通知する(図25の(5)参照)。これによって、サイトCのトンネル終端装置3Cは、該トンネル終端装置3Cに到着したVM1宛てのパケットを破棄する(図25の(6)参照)。
そして、ライブマイグレーションを終えたサイトCのVM1は、第2の転送先変更通知として、ブロードキャストパケットを送信する(図26の(7)参照)。このブロードキャストパケットを受信したトンネル終端装置3Cは、VM1に向けたD−Planeパケットの送信を開始する(図26の(8)参照)。なお、トンネル終端装置3Cは、サイトAでVM1が停止した後であって、他のトンネル終端装置3A,3B,3DからのVM1宛てのパケットがトンネル終端装置3Cに転送されるまでの間、トンネル終端装置3Cに到着したVM1宛てのパケットをバッファ4にバッファリングしてもよい。
これとともに、トンネル終端装置3Cは、ブロードキャストパケットを他のトンネル終端装置3A,3B,3Dに通知する。他のトンネル終端装置3A,3B,3Dは、その通知を受け、マイグレーション元のサイトAへのパケット転送を停止する(図26の(9)参照)。具体的には、トンネル終端装置3Bは、図26のセルM24に示すように、転送テーブルT2cにおいて、VM1のMACアドレスに対応付けられたトンネル終端装置の識別子情報を、サイトAのトンネル終端装置3A及びサイトCのトンネル終端装置3Cから、サイトCのトンネル終端装置3Cに変更する(転送テーブルT2d参照)。なお、他のトンネル終端装置3A,3C,3Dにおいても同様に転送テーブルが変更される。
この実施の形態2の実施例2のように、ライブマイグレーション中、VM1宛てのパケットがサイトAからサイトCにマイグレーションされるため、サイトAでVM1が停止するまでは、サイトCのバッファ4にVM1宛てのパケットをバッファリングする必要がない。そこで、マイグレーション先のサイトCのトンネル終端装置3Cは、サイトAでVM1が停止するまでの間、マイグレーション中のVM1のMACアドレスが宛先になっているパケットを破棄することによって、バッファリングするパケット量を低減している。
[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
図27は、プログラムが実行されることにより、管理システムが実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、ネットワーク統合システムの各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、ネットワーク統合システムにおける機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。