JP5838661B2 - データ処理システム、データ中継装置およびデータ中継方法 - Google Patents

データ処理システム、データ中継装置およびデータ中継方法 Download PDF

Info

Publication number
JP5838661B2
JP5838661B2 JP2011186620A JP2011186620A JP5838661B2 JP 5838661 B2 JP5838661 B2 JP 5838661B2 JP 2011186620 A JP2011186620 A JP 2011186620A JP 2011186620 A JP2011186620 A JP 2011186620A JP 5838661 B2 JP5838661 B2 JP 5838661B2
Authority
JP
Japan
Prior art keywords
data
information processing
migration
virtual machine
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011186620A
Other languages
English (en)
Other versions
JP2013047920A (ja
Inventor
好織 青柳
好織 青柳
智幸 上門
智幸 上門
学 塚田
学 塚田
若菜 松浦
若菜 松浦
優 上田
優 上田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011186620A priority Critical patent/JP5838661B2/ja
Publication of JP2013047920A publication Critical patent/JP2013047920A/ja
Application granted granted Critical
Publication of JP5838661B2 publication Critical patent/JP5838661B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、データ処理システム、データ中継装置およびライブマイグレーション方法に関する。
クラウドサービス等の発展に伴い、物理サーバ上でソフトウェア化した複数の仮想的なサーバ(仮想マシン)を動作させるサーバ仮想化技術へのニーズがある。また、仮想化技術を利用した負荷分散または物理サーバの増設の方法としてライブマイグレーション(Live Migration)という技術がある。ライブマイグレーションは、仮想マシンの動作を停止することなく、他の物理サーバに仮想マシンを移動させる技術である。
ライブマイグレーションでは、例えば、物理サーバX上で動作中の仮想マシンを物理サーバYに移動させる場合、物理サーバX上の仮想マシンを構成している情報を、物理サーバYに移動させる。そのため、物理サーバXは、仮想マシンを構成している情報を含んだマイグレーション用データをデータ中継装置に送信する。データ中継装置は、受信したマイグレーション用データを移動先の物理サーバYに転送する。ライブマイグレーション中に、クライアント等からライブマイグレーション中の仮想マシンにあててデータが送られた場合、データ中継装置はマイグレーション中の仮想マシン宛、すなわち、移動前の物理サーバX宛に当該データを転送する。したがって、ライブマイグレーション中も、仮想マシンの動作は継続し、物理サーバX上の仮想マシンのメモリ内容が変化する。メモリ内容の変化は差分情報として移動先の物理サーバYに転送され、差分がなくなったときに仮想マシンの移動が完了する。
例えば、ライブマイグレーションを実現する一手法は以下のようになる。まず、ユーザがマイグレーションの指示を出す。すると、転送元の仮想計算機管理部は、転送先の仮想プロセッサを選択する。そして、転送元の仮想計算機管理部は、転送元の仮想プロセッサの動作は停止させずに、当該仮想プロセッサ、仮想メモリ領域および仮想デバイスの内容を転送先の仮想計算機管理部に転送する。転送元の仮想計算機管理部は、転送開始から終了までの間、転送開始時と現在との差分を取得し、取得した差分を転送先の仮想計算機管理部に転送する。
特開2010−176178号公報
しかしながら、ライブマイグレーション中に仮想マシンが過負荷状態になると、差分の転送が収束しない。そのために、仮想マシンの移行に時間を要するという問題がある。また、移行が失敗するという問題もある。
開示の技術は、上記に鑑みてなされたものであって、仮想マシンの移行を速やかに実現するデータ処理システム、データ中継装置およびライブマイグレーション方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本願の開示するデータ処理システムは、仮想マシンが動作する複数のサーバ装置と、前記サーバ装置にデータを転送するデータ中継装置と、を有する。前記データ中継装置は、検出部と、保留部とを有する。検出部は、前記サーバ装置に転送されるデータのうち、ライブマイグレーション用のデータに基づいて、前記仮想マシンにおけるライブマイグレーションの収束の有無を検出する。保留部は、前記サーバ装置に転送されるデータのうち、前記ライブマイグレーションの非収束が検出された仮想マシン宛のデータ転送を保留する。
本願の開示するデータ処理システム、データ中継装置およびライブマイグレーション方法は、仮想マシンの移行を速やかに実現することができるという効果を奏する。
図1は、実施例1のデータ処理システムを示す図である。 図2は、実施例1の転送部における処理の手順を示すフローチャートである。 図3は、実施例1のライブマイグレーション収束判定処理の手順を示すフローチャートである。 図4は、実施例1の保留判定処理の手順を示すフローチャートである。 図5は、実施例2のデータ処理システムを示す図である。 図6は、実施例2の監視テーブルの一例を示す図である。 図7は、実施例2の管理部における処理手順を示すフローチャートである。 図8は、ライブマイグレーション開始時のデータシーケンスの一例を示す図である。 図9は、ライブマイグレーション終了時のデータシーケンスの一例を示す図である。 図10は、実施例2の保留対象リストの一例を示す図である。 図11は、実施例2の保留キューの一例を示す図である。 図12は、実施例2の保留部の処理手順を示すフローチャートである。 図13は、実施例2のマイグレーション検知対象リストの一例を示す図である。 図14は、実施例2の保留検知対象リストの一例を示す図である。 図15は、実施例2のインターフェース検出部の処理手順を示すフローチャートである。 図16は、実施例3に係る監視テーブルの一例を示す図である。 図17は、実施例4に係る監視テーブルの一例を示す図である。 図18は、実施例1〜4に係るデータ中継プログラムを実行するコンピュータの一例について説明するための図である。
以下に、本願の開示するデータ処理システム、データ中継装置およびライブマイグレーション方法の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
図1は、実施例1にかかるデータ処理システムを示す図である。実施例1にかかるデータ処理システムは、データ中継装置1と、ネットワーク等によりデータ中継装置1に接続された物理サーバ10−1、10−2と、を備える。また、データ中継装置1には、ネットワーク等を介してクライアント5が接続される。物理サーバ10−1上で仮想マシン6が動作する。仮想マシンとは、実際のコンピュータやサーバの上にソフトウェアによって仮想的に作り出されるコンピュータのことである。ここでは、仮想化ソフトウェアの一つであるXenによって制御される仮想マシンを想定する。なお、仮想マシンの実現手法は、Xenに限定されるものではない。また、仮想マシン6は、クライアント5に対してWeb等のサービスを提供しているものとする。なお、仮想マシンの処理内容は、Web等のサービスに限定されるものではない。
実施例1のデータ処理システムにおいては、データ中継装置1を介して、仮想マシン6を物理サーバ10−1から物理サーバ10−2へ移動させることができる。ここで、「移動」とは、仮想マシン6の動作を停止せずに、物理サーバ10−1から物理サーバ10−2に移すことをいう。つまり、仮想マシン6で動作中のソフトウェア等を停止させないままで、別の物理サーバで動作する仮想マシンに移すことである。このように仮想マシンの動作を停止せずに移動させる技術をライブマイグレーションという。なお、図1は例示的に2つの物理サーバ10−1、10−2と1つのクライアント5とを示すが、物理サーバおよびクライアントの数はこれに限定されるものではない。
図1を参照し、実施例1のデータ中継装置1の構成を説明する。データ中継装置1は、転送部11と、管理部12と、保留部13とを備える。管理部12は、検出部の一例である。なお、データ中継装置1は、例えば、レイヤ2スイッチ装置やルータ装置などである。
転送部11は、物理サーバ10−1、10−2およびクライアント5から送信されるデータを、ネットワークを介して受信し、受信したデータを、ネットワークを介して物理サーバ10−1、10−2およびクライアント5に転送する。転送するデータとしては、クライアント5から物理サーバ10−1、10−2の仮想マシン宛のデータが挙げられる。また、物理サーバ10−1(10−2)の仮想マシンから物理サーバ10−2(10−1)の仮想マシン宛のデータ、物理サーバ10−1(10−2)から物理サーバ10−2(10−1)宛のマイグレーション用データなどもある。以下、「マイグレーション用データ」というときは、物理サーバ10−1(10−2)から物理サーバ10−2(10−1)宛てに、仮想マシンのライブマイグレーションのために送られているデータを指す。例えば、仮想マシンを動作させるためのメモリ内容を物理サーバ10−1から10−2に移すために送られているデータがマイグレーション用データである。仮想マシンのメモリ内容が変化したことにより生じた差分情報を転送するためのデータもマイグレーション用データに該当する。なお、転送部11は、管理部12および保留部13に接続されており、予め定められた条件にしたがい管理部12および保留部13にデータを転送する。
管理部12は、ネットワークを介して転送されるマイグレーション用データを転送部11から受信し、当該マイグレーション用データに基づいて、ライブマイグレーションの収束の有無を検出する。例えば、管理部12は、物理サーバ10−1(10−2)から物理サーバ10−2(10−1)宛のマイグレーション用データに基づいて、物理サーバ10−1(10−2)の仮想マシンのマイグレーションの収束の有無を検出する。
保留部13は、ネットワークを介して転送されるデータを転送部11から受信し、管理部12の検出結果に基づいて、ライブマイグレーション中の仮想マシン宛のデータの転送を一時的に保留する。例えば、保留部13は、物理サーバ10−1の仮想マシン6のマイグレーションの非収束を管理部12が検出した場合、クライアント5や他の物理サーバ10−2から仮想マシン6宛に送信されたデータなどを保留する。なお、このような保留中も、転送部11は、物理サーバ10−1から物理サーバ10−2宛のマイグレーション用データについては、転送を継続する。
図1に示すデータ中継装置1の動作を、図2、3、4を用いて説明する。図2は、実施例1の転送部11における処理の手順を示すフローチャートである。図3は、実施例1のライブマイグレーション収束判定処理の手順を示すフローチャートである。図4は、実施例1の保留部における保留判定処理の手順を示すフローチャートである。
まず、図2を参照し、転送部11における処理を説明する。データ中継装置1がデータを受信する(ステップS1)。転送部11は、受信したデータのうち、マイグレーション用データを検出する(ステップS2)。マイグレーション用データは、物理サーバ10−1(10−2)から物理サーバ10−2(10−1)の特定のポートを宛先とするデータである。例えば、仮想ソフトウェアXenにおいては、ポート番号8002を宛先とするデータがマイグレーション用データである。転送部11は、マイグレーション用データを検出すると(ステップS2、Yes)、管理部12に転送する(ステップS3)。転送部11は、マイグレーション用データ以外のデータを検出すると(ステップS2、No)、保留部13に転送する(ステップS4)。
次に、図3を参照し、管理部12における処理を説明する。管理部12は、転送部11からマイグレーション用データを受信する(ステップS5)。管理部12は、受信したマイグレーション用データに基づいてマイグレーションの収束の有無を検出する(ステップS6)。管理部12は、マイグレーションが収束していないと判定した場合(ステップS6、No)、当該マイグレーションの対象である仮想マシン宛のデータの保留を保留部13に指示する(ステップS7)。そして、管理部12は、当該マイグレーション用データの転送を転送部11に指示する(ステップS8)。他方、管理部12がマイグレーションは収束していると判定した場合は(ステップS6、Yes)、そのまま転送部11に送って転送させる(ステップS8)。
次に、図4を参照し、保留部13における処理を説明する。まず、保留部13は、転送部11からマイグレーション用データ以外のデータを受信する(ステップS11)。そして、保留部13は、受け取ったデータが、管理部12から保留指示があった仮想マシン宛のデータであるか否か(保留指示対象データであるか否か)を判定する(ステップS12)。保留部13は、受け取ったデータが保留指示対象データであると判定した場合(ステップS12、Yes)、当該データを転送せずに保留する(ステップS13)。受け取ったデータが保留指示対象データではないと判定した場合(ステップS12、No)、保留部13は、当該データを転送部11に送って転送させる(ステップS14)。
上述してきたように、実施例1に係るデータ中継装置は、マイグレーション用データに基づいてライブマイグレーションが収束しているか否かを判定する。そして、実施例1に係るデータ中継装置は、判定結果に基づいて、ライブマイグレーションに直接関係しないデータの転送を保留する。したがって、ライブマイグレーション中の仮想マシンが過負荷状態に陥った場合でも、実施例1に係るデータ中継装置は、その状態を早期に検出できる。そして、実施例1に係るデータ中継装置は、ライブマイグレーションに直接関係しないデータの転送を保留するので、メモリの差分情報の増加を抑制することができる。したがって、実施例1に係るデータ中継装置は、差分情報の転送を早期に収束させることができる。その結果、実施例1に係るデータ中継装置は、ライブマイグレーションを迅速に完了させることができる。
また、上述してきたように、実施例1によれば、ライブマイグレーションを迅速に完了させることができるため、ライブマイグレーションの失敗を防止することができる。例えば、本実施例では、再度ライブマイグレーションを行ったり、仮想マシンを停止させて移行させる事態を防止できる。特に仮想マシンを停止させる場合は物理サーバへのアクセスを停止させることになり、ユーザへの影響があるため望ましくない。本実施例では、このような事態を防止することができる。
上記実施例1の管理部は、様々なパラメータに基づいてライブマイグレーションが収束しているか否かの判定を行うことができる。実施例2として、マイグレーション用データの転送レートに基づいてライブマイグレーション収束判定を行う場合を以下に説明する。マイグレーション用データの一例としては、パケットが挙げられる。
図5は、実施例2のデータ処理システムを示す図である。実施例2のデータ処理システムは、実施例1のデータ処理システムと同様、物理サーバ10−1、物理サーバ10−2、クライアント5およびこれらとネットワークを介して接続されたデータ中継装置2を備える。実施例2のデータ中継装置2は、転送部21、処理部22および記憶部23を有する。転送部21には、複数のポートを有するスイッチング回路等が採用できる。
また、処理部22には、各種の集積回路や電子回路を採用できる。また、処理部22に含まれる機能部の一部を別の集積回路や電子回路とすることもできる。例えば、集積回路としては、ASIC(Application Specific Integrated Circuit)が挙げられる。また、電子回路としては、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などが挙げられる。
さらに、記憶部23には、半導体メモリ素子や記憶装置を採用できる。例えば、半導体メモリ素子としては、VRAM(Video Random Access Memory)、RAM(Random Access Memory)、ROM(Read Only Memory)やフラッシュメモリ(flash memory)などが挙げられる。また、記憶装置としては、ハードディスク、光ディスクなどの記憶装置が挙げられる。
転送部21は、受信したデータ中に設定されたアドレス情報および予め定められた設定に従い、受信データを処理部22または宛先に転送する。
処理部22は、データ中継装置2におけるライブマイグレーション収束判定、保留判定等を実行する。処理部22は、管理部24、保留部25およびインターフェース検出部26を有する。記憶部23は、ライブマイグレーション収束判定、保留判定等に使用するデータを記憶する。記憶部23は、監視テーブル30、保留対象リスト31、保留キュー32、マイグレーション検知対象リスト33および保留検知対象リスト34を有する。
管理部24は、データ中継装置2がネットワークを介して受信したマイグレーション用データを転送部21から受け取り、ライブマイグレーション収束判定を行う。管理部24は、監視テーブル管理部27と、開始・終了判定部28と、収束判定部29と、を備える。
監視テーブル管理部27は、転送部21から渡されたデータが、現在ライブマイグレーション中の仮想マシン宛のデータか否かを判定する。また、開始・終了判定部28および収束判定部29の判定結果に基づき、監視テーブル30を更新する。監視テーブル30については後述する。
開始・終了判定部28は、監視テーブル管理部27が現在ライブマイグレーション中の仮想マシン宛のデータではないと判定したデータが、マイグレーション開始データであるか否かを判定する。ここで、マイグレーション開始データとは、ライブマイグレーションを開始することを通知するデータである。また、開始・終了判定部28は、監視テーブル管理部27が現在ライブマイグレーション中の仮想マシン宛のデータであると判定したデータが、マイグレーション終了データであるか否かを判定する。ここでマイグレーション終了データとは、ライブマイグレーションが終了することを通知するデータである。
収束判定部29は、開始・終了判定部28がマイグレーション終了データではないと判定したデータにつき、当該ライブマイグレーションが収束しているか否かを判定する。そして、収束判定部29は、収束判定結果に基づき保留部25に保留指示をする。
[管理部の処理]
図6は、監視テーブル30の一例を示す図である。図6に示すように、監視テーブル30には、マイグレーション用データか否かの判定およびライブマイグレーション収束判定のための情報が格納されている。例えば、ライブマイグレーション中の仮想マシン宛のデータを特定するための情報や、データの受信物理インターフェースを特定する入力物理インターフェース番号が格納されている。他に、データを送るVirtual Local Area Network(VLAN、仮想ローカルエリアネットワーク)を特定するVLAN IDも格納される。VLAN IDは、受信データのMedia Access Control(MAC)ヘッダに記載されている。また、送信先Internet Protocol(IP)アドレス、送信元IPアドレス、プロトコル番号も監視テーブル30に格納される。これらの情報は受信データのIPヘッダに記載されている。また、送信先ポート番号、送信元ポート番号も監視テーブル30に格納される。これらの情報は、受信データのTCPヘッダに記載されている。さらに、同一のライブマイグレーション処理にかかるマイグレーション用データについての統計情報を格納する。図6の例では、例えば、パケット受信サイズ、現在の転送レート、過去の転送レート、前回パケットを受信した時刻などの情報が統計情報として格納される。
図7は、管理部24における処理手順の一例を示すフローチャートである。図7を参照し、管理部24各部の処理につき説明する。この処理が実行されるタイミングの一例としては、データを受信した場合などが挙げられる。
まず、転送部21がマイグレーション用データを検出して監視テーブル管理部27に渡す。なお、ここで、転送部21は全てのデータを管理部24に渡し、管理部24が処理対象としてマイグレーション用データのみを抽出するように構成してもよい。仮想化ソフトウェアXenでは、ライブマイグレーション用パケットは仮想マシンの移行元物理サーバから移行先物理サーバのポート番号8002宛てに出力される。したがって、転送部21は、ポート番号に基づいてマイグレーション用データであるか否かを判定することができる。
監視テーブル管理部27は、受け取ったマイグレーション用データについて、当該データがライブマイグレーション中の仮想マシンにあてたものか否かを判定する(ステップS21)。すなわち、当該データが有する送信元・送信先情報が監視テーブル30内に格納されている情報に該当するか否かを判定する。例えば、受信したマイグレーション用データのMACヘッダ、IPヘッダ、TCPヘッダ等を参照して、監視テーブル30に格納されている情報と一致するか否かを判定する。
当該データがライブマイグレーション中の仮想マシン宛のデータではないと判定された場合(ステップS21、No)、開始・終了判定部28は、当該データがライブマイグレーションの開始を示すデータ(マイグレーション開始データ)であるか否かを判定する(ステップS22)。開始・終了判定部28が、当該データはマイグレーション開始データであると判定した場合(ステップS22、Yes)、監視テーブル管理部27は、当該データに関する情報を監視テーブル30に追加する(ステップS24)。そして、転送部21が当該データを宛先に転送し(ステップS25)、処理が終了する。
当該データがライブマイグレーション中の仮想マシン宛のデータであると判定された場合(ステップS21、Yes)、開始・終了判定部28は、当該データがライブマイグレーションの終了を示すデータであるか否かを判定する(ステップS23)。開始・終了判定部28が、当該データはライブマイグレーションの終了を示すデータであると判定した場合(ステップS23、Yes)、監視テーブル管理部27は、監視テーブル30から当該ライブマイグレーションに関する情報を削除する(ステップS26)。そして、転送部21が当該データを送信先に転送する(ステップS27)。また、保留部25の保留キュー32(後述)に保留されていたデータをライブマイグレーションが終了した仮想マシン宛に転送する(ステップS28)。保留部25の保留対象リスト31(後述)中に保持されていた保留データの情報を削除して(ステップS29)、処理を終了する。保留部25の処理については後述する。
開始・終了判定部28が、当該データはマイグレーション終了データではないと判定した場合(ステップS23、No)、監視テーブル管理部27は当該データに基づいて監視テーブル30内の情報を更新する(ステップS30)。更新された情報に基づき、収束判定部29が、ライブマイグレーションは収束しているか否かを判定する(ステップS31)。収束判定部29が、ライブマイグレーションは収束していないと判定した場合(ステップS31、No)、そのライブマイグレーションを実行中の仮想マシンに宛てたデータの転送を保留するため、関連するデータを保留対象リスト31(後述)に記録する(ステップS32)。収束判定部29が、ライブマイグレーションが収束していると判定した場合(ステップS31、Yes)、転送部21は当該データを宛先に転送し(ステップS25)、処理を終了する。
[ライブマイグレーションの開始・終了]
図8および図9に、ライブマイグレーションの開始および終了の際に、物理サーバ10−1、物理サーバ10−2、データ中継装置2の間で実行されるデータ送受信シーケンスの一例を示す。ここではTCPスリーウェイハンドシェイクを例に示す。まず、図8を参照し、ライブマイグレーションの開始時のデータ送受信シーケンスを説明する。図8に示すように、物理サーバ10−1がデータ中継装置2にパケット「TCP SYN」を送信する(ステップS40)。このパケット「TCP SYN」の宛先ポート番号が、物理サーバ10−2のポート番号「8002」であるとする。この場合、データ中継装置2の開始・終了判定部28は、受け取ったデータがライブマイグレーションの開始を示すもの(すなわち、マイグレーション開始データ)であると判定する。そして、該当する情報を監視テーブル30に格納した後(図7のS24参照)、このパケットを宛先である物理サーバ10−2に転送する(図7のS25参照;ステップS41)。物理サーバ10−2は、返答パケット「TCP SYN/ACK」を物理サーバ10−1宛に送信する(ステップS42)。返答パケットを受信したデータ中継装置2は、これを物理サーバ10−1に転送する(ステップS43)。物理サーバ10−1はセッション確立を承認するパケット「TCP ACK」を送信する(ステップS44)。データ中継装置2がパケット「TCP ACK」を物理サーバ10−2に転送する(ステップS45)。これによって、物理サーバ10−1と10−2の間にTCPコネクションが確立する。TCPコネクションが確立すると、次に実際のデータ授受のための通信が開始する。ステップS46で、物理サーバ10−1が受信要求「receive」を出すと、データ中継装置2がこれを物理サーバ10−2に転送する(ステップS47)。物理サーバ10−2は受信可能であれば「receive ready」を返す(ステップS48)。データ中継装置2は、「receive ready」を物理サーバ10−1に転送する(ステップS49)。
次に、図9を参照し、ライブマイグレーションの終了時のデータ送受信シーケンスを説明する。まず、ライブマイグレーション用のデータを全て送信してしまうと、物理サーバ10−1は、通信終了を示すパケット「TCP FIN」を物理サーバ10−2宛に送信する(ステップS50)。このパケットの宛先ポート番号が「8002」であると、データ中継装置2は、これをマイグレーション終了データであると判定する。そして、データ中継装置2は、これを物理サーバ10−2に転送する(ステップS51)。パケット「TCP FIN」を受け取った物理サーバ10−2は、承認を示すパケット「TCP ACK」を返信する(ステップS52)。データ中継装置2はこれを物理サーバ10−1に転送する(ステップS53)。さらに、物理サーバ10−2側も所定のデータ受信が完了すると、通信終了を示す「TCP FIN」を送信する(ステップS54)。データ中継装置2はこれを物理サーバ10−1に転送する(ステップS55)。物理サーバ10−1は、承認を示すパケット「TCP ACK」を返送し(ステップS56)、データ中継装置2がこれを転送する(ステップS57)。これによって、物理サーバ10−1と10−2との間での双方向通信が終了したこととなる。
[統計情報の更新]
図7のステップS30における監視テーブル30の統計情報更新処理につきさらに詳しく説明する。図6に示すように監視テーブル30内には、送信元および送信先の情報のほか、受信データの統計情報が格納されている。この統計情報は、データ中継装置2が受信したマイグレーション用データ(パケット)の統計値を示すものである。開始・終了判定部28がマイグレーション終了データではないと判定したデータについては、監視テーブル管理部27が、監視テーブル30内の統計情報を更新する。図6に示す例の場合、まず「過去の転送レート[1]」から「過去の転送レート[n]」までを一つずつシフトし、n+1回目となるデータを廃棄する。そして「現在の転送レート」を「過去の転送レート[1]」に移動する。次に、「パケット受信サイズ」に受信したパケットのサイズを加算する。次に現在時刻を取得し、「前回パケット受信時刻」との差分を計算する。時刻差分が一定以上であれば、「パケット受信サイズ」と時刻差分から「現在の転送レート」を計算し格納する。計算が終了すると、「前回パケット受信時刻」を現在時刻に更新し、「パケット受信サイズ」をゼロクリアする。時刻差分が一定未満の場合、現在の転送レートの計算は行わず、「前回パケット受信時刻」および「パケット受信サイズ」はそのままにして、処理を終了する。次にマイグレーション用データを受信した際に、再び時刻差分を計算し、一定以上であれば、上記の処理を行う。なお、ライブマイグレーションの開始を示すパケットと判定した場合に、監視テーブルを更新する際(図7のステップS24)は、統計情報はゼロで初期化される。
なお、転送レートの計算に関しては、上記のように、マイグレーション用パケットを受信するごとに計算するものとしてもよいし、適当な時間を計算周期として設定し、パケットの受信の有無にかかわらず定期的に計算を行うものとしてもよい。
[収束判定]
図7のステップS31におけるライブマイグレーション収束判定につきさらに詳しく説明する。図7のステップS30において監視テーブル30内の情報が更新されると、当該更新を契機に、収束判定部29は、ライブマイグレーションの収束の有無を判定する。監視テーブル30に格納された更新後の統計情報をもとに、収束判定部29は、「現在の転送レート」および「過去の転送レート[1]」から「過去の転送レート[n]」までを参照する。収束判定部29は、現在の転送レートの値が、過去n世代の転送レートの値よりも大きい場合、ライブマイグレーションが収束していないと判定する。現在の転送レートの値が過去n世代分の転送レートの値未満である場合、収束判定部29は、ライブマイグレーションが収束していると判定する。ここで、nの値は、データ中継装置2の管理者が適宜定義することができる。
[保留部の処理]
次に、保留部25について説明する。保留部25は、ライブマイグレーションが収束していないと判定された仮想マシン宛のデータを保留する。保留部25は、保留対象リスト31および保留キュー32を管理する。
保留対象リスト31は、ライブマイグレーションが収束していないと判定された仮想マシンを宛先とする保留中のデータを特定する情報および当該データの格納場所を特定する情報を保持する。図10に、保留対象リスト31の一例を示す。図10に示すように、保留対象リスト31には、リスト内のエントリを一意に特定するためのリストインデックスと、保留対象であるデータを識別するための「出力側物理インターフェース番号」と「VLAN ID」とが格納されている。例えば、管理部24が非収束と判定したライブマイグレーションに係るマイグレーション用データのMACヘッダに記載されている「VLAN ID」と、「出力側物理インターフェース番号」が保留対象リスト31に格納される。
保留キュー32は、保留中のデータを保持する。図11に、保留キュー32の一例を示す。保留キュー32は、保留対象リスト31のエントリと同数作成される。保留キュー32は、保留対象リスト31に格納されたリストインデックスと同じ値を保持し、保留対象データをキューとして管理する。
図12は、保留部25の処理手順の一例を示すフローチャートである。保留部25は、データを受け取る(ステップS60)と、当該データに該当する情報が保留対象リスト31に格納されているか否かを判定する(ステップS61)。例えば、図10の例では、データを転送する「出力側物理インターフェース番号」と「VLAN ID」とが、保留対象リスト31のいずれかのエントリに格納された「出力側物理インターフェース番号」および「VLAN ID」と一致するか否かを判定する。保留部25は、一致すると判定した場合(ステップS61、Yes)、当該データを、一時的に保留する(ステップS62)。例えば、一致した情報を格納したエントリのリストインデックスに対応する保留キュー32にキューイングさせる。他方、保留部25が、一致しないと判定した場合(ステップS61、No)、当該データを宛先に転送する(ステップS63)。
また、保留部25は、管理部24からの指示に従って、ライブマイグレーションが収束していないと判定された仮想マシンに関する情報を保留対象リスト31に追加する(図7のステップS32)。さらに、保留部25は、管理部24からの指示に従って、ライブマイグレーションが終了したと判定された仮想マシン宛の保留パケットを保留キュー32から取り出し、転送部21に宛先に転送させる(図7のステップS28)。保留パケットの転送後、保留対象リスト31内の該当するエントリから情報を削除する(図7のステップS29)。実施例2では、保留対象リスト31内の情報の追加・削除のタイミングはそれぞれ、管理部24においてライブマイグレーションが収束していないと判定されたタイミングおよび管理部24においてライブマイグレーションが終了したと判定されたタイミングとする。ただし、これ以外のタイミングで追加削除を行ってもよい。
なお、実施例2では、保留パケットの転送は、ライブマイグレーションが終了したと判定されたタイミングで行うものとしたが、これ以外に、管理部24がライブマイグレーションは収束したと判定したタイミングで行うことも可能である。例えば、図7のステップS31においてYesの場合に、その後ステップS26に進んで保留パケットの転送を行ってもよい。この場合、上述したように過去n世代分の転送レートに基づいて収束判定を行うことができる。ただし、収束の判定時には、非収束の判定時とは異なる閾値を採用してもよい。また、ライブマイグレーションが収束したと判定して保留パケットを転送する場合は、転送先は移動後の仮想マシンではなく、移動前の仮想マシンである。この場合は、ライブマイグレーションはまだ完了していないためである。このように構成することで、収束が遅れていたライブマイグレーションが収束し始めた場合に柔軟に対応することができる。
[インターフェース検出部の処理]
次に、インターフェース検出部26につき説明する。インターフェース検出部26は、予めデータ中継装置2が備える物理インターフェースのうち、所定の物理インターフェースの情報を保持している。インターフェース検出部26は、保持する情報に合致する受信データを検出する。つまり、所定の物理インターフェースによって入力されたデータを検出する。インターフェース検出部26は、検出したデータを管理部24または保留部25に送る。このようにして、管理部24および保留部25によるライブマイグレーション収束判定および保留判定を行う対象が絞り込まれる。データを入力する物理インターフェースによって判定対象データを絞りこむことにより、物理サーバから送信されたデータについて、またはクライアントから送信されたデータについてのみ判定を行うことができる。なお、物理インターフェースの情報は、データ中継装置2の管理者が入力してもよく、接続される物理サーバおよびクライアントの数、機能等に応じて設定されるものとしてもよい。
インターフェース検出部26は、ライブマイグレーション収束判定の対象とする物理インターフェースに関する情報を保持するために、マイグレーション検知対象リスト33を管理する。また、インターフェース検出部26は、保留判定の対象とする物理インターフェースに関する情報を保持するために、保留検知対象リスト34を管理する。
図13に、マイグレーション検知対象リスト33の一例を示す。図13に示すように、マイグレーション検知対象リスト33には、ライブマイグレーション収束判定の対象となる物理インターフェースのインターフェース番号が記憶されている。
図14に、保留検知対象リスト34の一例を示す。図14に示すように、保留検知対象リスト34には、保留判定の対象となる物理インターフェースのインターフェース番号が記憶されている。
インターフェース検出部26の処理手順の一例を図15に示す。ところで、ライブマイグレーション収束判定は、マイグレーション用データを対象として行うが、保留判定はマイグレーション用データ以外のデータを対象として行う。したがって、インターフェース検出部26では、マイグレーション用データとそれ以外のデータの双方について判定を行うことになる。図15に示す例では、マイグレーション用データおよびそれ以外のデータの双方をインターフェース検出部26に入力して、マイグレーション収束処理および保留処理の対象か否かの判定を行うものとする。
まず、インターフェース検出部26が、受信データを受け取る(ステップS71)。インターフェース検出部26はまず、受信データがマイグレーション用データであるか否かを判定する(ステップS72)。受信データがマイグレーション用データであると判定した場合(ステップS72、Yes)は以下のように処理が進む。まず、インターフェース検出部26は、当該データを受信した物理インターフェースがマイグレーション検知対象リスト33に記憶されているか否かを判定する(ステップS73)。記憶されていると判定すると(ステップS73、Yes)、インターフェース検出部26は、当該データを管理部24に送る(ステップS75)。記憶されていないと判定すると(ステップS73、No)、インターフェース検出部26は、当該データをそのまま転送部21に送り宛先に転送させる(ステップS76)。
他方、インターフェース検出部26が、ステップS72において受信したデータはマイグレーション用データではない、と判定した場合(ステップS72、No)は以下のように処理が進む。まず、インターフェース検出部26は、当該物理インターフェースが保留検知対象リスト34に記憶されているか否かを判定する(ステップS74)。保留検知対象リスト34に記憶されていると判定した場合(ステップS74、Yes)、インターフェース検出部26は、当該データを保留部25に送る(ステップS77)。他方、保留検知対象リスト34に記憶されていないと判定した場合(ステップS74、No)、インターフェース検出部26は、当該データを転送部21に送り宛先に転送させる(ステップS78)。
図15には、ライブマイグレーション収束判定を行うか否か、保留判定を行うか否かの判定を並列的に行う処理手順を示した。しかし、図15中、ステップS73、S75、S76と、ステップS74、S77、S78とは独立して行うことができる。例えば、インターフェース検出部26がマイグレーション検知対象リスト33のみを備え、図15のステップS73、S75、S76のみを実行する構成としてもよい。この場合、マイグレーション用データではないと判定されたデータ(ステップS72、No)は全て保留部25に送られる。つまり、データ中継装置2が備える全ての物理インターフェースにおいて受信されたデータにつき保留判定が行われる。また、インターフェース検出部26が保留検知対象リスト34のみを備え、図15のステップS74、S77、S78のみを実行する構成としてもよい。この場合、マイグレーション用データであると判定されたデータ(ステップS72、Yes)は全て管理部24に送られる。つまり、データ中継装置2が備える全ての物理インターフェースにおいて受信されたデータにつきマイグレーション収束判定が行われる。
また、データ中継装置2が備える物理インターフェースの数が少なく、判定対象データを絞りこむ必要がない場合などは、インターフェース検出部26は設けなくてもよい。この場合は、マイグレーション検知対象リスト33および保留検知対象リスト34も不要である。
上述してきたように、実施例2によれば、ライブマイグレーション用のデータの転送レートに基づいてライブマイグレーションが収束しているか否かを判定する。そして、本実施例では、判定結果に基づいて、ライブマイグレーションに直接関係しないデータの転送を保留する。したがって、本実施例では、ライブマイグレーション中の仮想マシンが過負荷状態に陥った場合でも、その状態を早期に検出できる。そして、本実施例では、ライブマイグレーションに直接関係しないデータ転送を保留するので、メモリの差分情報の増加を抑制することができる。したがって、本実施例では、差分情報の転送を早期に収束させることができる。その結果、本実施例では、ライブマイグレーションを迅速に完了させることができる。
また、上述してきたように、実施例2によれば、インターフェース検出部がライブマイグレーション収束判定の対象とするデータおよび保留判定の対象とするデータを、入力物理インターフェースに基づいて選択する。したがって、本実施例では、判定対象とする必要がないデータが最初から判定を行う機能部に送られることがなく、さらに迅速にライブマイグレーション収束判定を行うことができる。その結果、本実施例では、ライブマイグレーションを迅速に完了させることができる。
実施例2においては、マイグレーション用データの転送レートに基づいてライブマイグレーションの収束を判定した。代わって実施例3においては、マイグレーション用データの転送開始からの経過時間に基づいてライブマイグレーションの収束を判定する。実施例3のデータ中継装置の構成は、図5に示した実施例2のデータ中継装置の構成と同様であるため、詳細な説明は省略する。
図16に、実施例3に係る監視テーブル40の一例を示す。実施例3に係るデータ中継装置が備える監視テーブル40は、図6に示す実施例2に係る監視テーブル30とは、統計情報として記憶するデータが異なる。図16に示すように、監視テーブル40は、ライブマイグレーション中の仮想マシン宛のパケットを識別するための情報を格納する。例えば、「入力物理インターフェース番号」、「VLAN ID」、「送信先IPアドレス」、「送信元IPアドレス」、「プロトコル番号」、「送信先ポート番号」、「送信元ポート番号」である。さらに、ライブマイグレーション収束判定のための「統計情報」が格納される。実施例3に係る監視テーブル40には、「統計情報」として、「開始判定時刻」が記憶されている。
実施例3の管理部は、ライブマイグレーションが開始すると(受信したデータがマイグレーション開始データであると判定すると)、開始するライブマイグレーションに関する情報を監視テーブル40に格納させる。例えば、「入力物理インターフェース番号」、「VLAN ID」、「送信先IPアドレス」、「送信元IPアドレス」、「プロトコル番号」、「送信先ポート番号」、「送信元ポート番号」などである。このほか、統計情報として現在時刻を監視テーブルに追加させる点が、実施例2の管理部とは異なる。現在時刻は、「開始判定時刻」として監視テーブル40に追加される。
収束判定部は、開始判定時刻が監視テーブル40に追加されたことを契機として、ライブマイグレーション収束判定を開始する。収束判定部は、監視テーブル40に格納された開始判定時刻からの経過時間を検出し、経過時間が所定の時間を越えると、ライブマイグレーションが収束していないと判定する。なお、所定の時間については、データ中継装置の管理者が適宜設定することができる。
収束判定部は、ライブマイグレーションが収束していないと判定した場合、未収束のライブマイグレーションを実行中の仮想マシンに宛てたデータの出力側「物理インターフェース番号」とMACヘッダに記載されている「VLAN ID」を保留対象リストに追加するよう保留部に要求する。
上述してきたように、実施例3では、マイグレーション用データの受信の有無と関わりなく、開始判定時刻からの経過時間に基づいてライブマイグレーション収束判定を行うことができる。したがって、本実施例では、マイグレーション用データの送受信が滞った場合でも、それに影響されることなくライブマイグレーションの非収束を検出することができる。
また、上述してきたように、実施例3によれば、ライブマイグレーションが開始してからの経過時間に基づいて、ライブマイグレーションが収束しているか否かを判定する。そして、本実施例では、判定結果に基づいて、ライブマイグレーションに直接関係しないデータの転送を保留する。したがって、本実施例では、ライブマイグレーション中の仮想マシンが過負荷状態に陥った場合でも、その状態を早期に検出できる。そして、本実施例では、ライブマイグレーションに直接関係しないデータ転送を保留するので、メモリの差分情報の増加を抑制することができる。したがって、本実施例では、差分情報の転送を早期に収束させることができる。その結果、本実施例では、ライブマイグレーションを迅速に完了させることができる。
実施例3では、ライブマイグレーション開始(マイグレーション開始データの検出)からの経過時間に基づいてライブマイグレーションの収束を判定した。代わって実施例4では、ライブマイグレーションを実行中の仮想マシンに宛てて転送されたライブマイグレーション用データの量(パケット数)に基づいてライブマイグレーションの収束を判定する。実施例4のデータ中継装置の構成は、図5に示した実施例2のデータ中継装置の構成と同様であるため、詳細な説明は省略する。
図17に、実施例4に係る監視テーブル50の一例を示す。実施例4に係るデータ中継装置が備える監視テーブル50は、図16に示す実施例3に係る監視テーブル40とは、統計情報として記憶するデータが異なる。図17に示すように、監視テーブル50には、ライブマイグレーション中の仮想マシンに宛てたデータを識別するための情報が格納される。例えば、「入力物理インターフェース番号」、「VLAN ID」、「送信先IPアドレス」、「送信元IPアドレス」、「プロトコル番号」、「送信先ポート番号」、「送信元ポート番号」が格納される。さらに、ライブマイグレーション収束判定のための「統計情報」が格納されている。実施例4に係る監視テーブル50には、データ中継装置が転送したマイグレーション用データのデータ量に基づいた判定のための情報が格納される。すなわち、「統計情報」として、「受信パケット数」と「前回計算時刻」が記憶されている。
実施例4に係る管理部は、ライブマイグレーションが開始すると(受信したデータがマイグレーション開始データであると判定すると)、当該ライブマイグレーションに関するデータを監視テーブル50に記憶する。例えば、「入力物理インターフェース番号」、「VLAN ID」、「送信先IPアドレス」、「送信元IPアドレス」、「プロトコル番号」、「送信先ポート番号」、「送信元ポート番号」を記憶する。このほか、統計情報として「受信パケット数」と「前回計算時刻」を監視テーブルに追加させる点が、実施例3の管理部とは異なる。
収束判定部は、マイグレーション開始データであると判定されたデータに係る情報が監視テーブル50に格納されたことを契機として、ライブマイグレーション収束判定を開始する。
実施例4に係る収束判定部は、監視テーブル50に記録されている「VLAN ID」宛てのマイグレーション用パケットを受信するごとに、監視テーブル50の「受信パケット数」に1を加算する。
実施例4に係る収束判定部はまた、現在時刻と、監視テーブル50に格納された「前回計算時刻」に基づき、「前回計算時刻」からの経過時間を計算する。計算した経過時間が所定の期間未満の場合は、「受信パケット数」についての判定は行わず、データを転送する。計算した経過時間が所定の期間以上である場合、「受信パケット数」が所定の閾値を超えているか否かを判定する。「受信パケット数」が所定の閾値を超えている場合は、マイグレーションが収束していると判定し、所定の閾値以下の場合は、マイグレーションが収束していないと判定する。なお、ここで所定の期間および所定の閾値は、データ中継装置の管理者が任意に設定できる。
判定後、監視テーブル50の「受信パケット数」をゼロにし、「前回計算時刻」を現在時刻に更新する。そして、収束判定部は、ライブマイグレーションが収束していないと判定した場合は、受信したマイグレーション用パケットの「出力側物理インターフェース番号」と、MACヘッダに記載されている「VLAN ID」とを、保留対象リストに追加するよう保留部に指示する。
上述してきたように、実施例4によれば、ライブマイグレーションが開始してから転送されたマイグレーション用データのデータ量(パケット数)に基づいて、ライブマイグレーションが収束しているか否かを判定する。そして、本実施例では、判定結果に基づいて、ライブマイグレーションに直接関係しないデータの転送を保留する。したがって、本実施例では、ライブマイグレーション中の仮想マシンが過負荷状態に陥った場合でも、その状態を早期に検出できる。そして、本実施例では、ライブマイグレーションに直接関係しないデータ転送を保留するので、メモリの差分情報の増加を抑制することができる。したがって、本実施例では、差分情報の転送を早期に収束させることができる。その結果、本実施例では、ライブマイグレーションを迅速に完了させることができる。
なお、実施例4では、データを受信するごとにライブマイグレーション収束判定を行うとして構成した。このほか変形例として、収束判定部は、データ受信とは無関係に前回データ受信からの経過時間を計測し、所定期間ごとにライブマイグレーション収束判定を行ってもよい。ライブマイグレーション収束判定を行う周期は、管理者が設定してもよく、システムの構成に基づき自動的に設定されるものとしてもよい。
上述した変形例によれば、マイグレーション用データの受信の有無と関わりなく、前回計算時刻からの経過時間に基づいてライブマイグレーション収束判定を行うことができる。したがって、本変形例では、マイグレーション用データの送受信が滞った場合でも、それに影響されることなくライブマイグレーションの非収束を検出することができる。したがって、本変形例では、ライブマイグレーションの非収束を早期に検出することができる。
なお、実施例4においても、実施例2と同様に、ライブマイグレーションが完了する前であっても、ライブマイグレーションが収束すれば、保留データを転送するように構成してもよい。ライブマイグレーション中に保留データ転送を再開する構成とする場合は、非収束の判定と収束の判定とにおいて異なる閾値を採用してもよい。すなわち、第1の閾値と第1の閾値よりも大きい第2の閾値とを設定する。そして、受信パケット数が第1の閾値を下回る場合には、マイグレーションは非収束であると判定する。他方、受信パケット数が第2の閾値を超えている場合には、ライブマイグレーションは収束していると判定する。このように設定することで、より正確にライブマイグレーションの収束・非収束を判定することができる。
さて、これまで開示のシステムに関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[分散および統合]
図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の付加や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図5に示した管理部24と保留部25とを一つの装置に構成し、インターフェース検出部26は分離可能な構成としてもよい。また、記憶部23についても、監視テーブル30、保留対象リスト31、保留キュー32等を、複数のメモリ装置上に分散して格納することもできる。
[データ中継プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図18を用いて、上記の実施例と同様の機能を有するデータ中継プログラムを実行するコンピュータの一例について説明する。
図18は、実施例1〜4に係るデータ中継プログラムを実行するコンピュータの一例について説明するための図である。図18に示すように、コンピュータ100は、操作部110と、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU140と、ROM150と、RAM160と、HDD(Hard Disk Drive)170とを有する。これら110〜170の各部はバス180を介して接続される。
HDD170には、図18に示すように、上記の実施例1〜4で示した転送部11(21)、管理部12(24)、保留部13(25)およびインターフェース検出部26と同様の機能を発揮するデータ中継プログラム170aが予め記憶される。このデータ中継プログラム170aについては、図1、図5に示した各々の各構成要素と同様、適宜統合または分離してもよい。すなわち、HDD170に格納される各データは、常に全てのデータがHDD170に格納される必要はなく、処理に必要なデータのみがHDD170に格納されればよい。
そして、CPU140が、データ中継プログラム170aをHDD170から読み出してRAM160に展開する。これによって、図18に示すように、データ中継プログラム170aは、データ中継プロセス160aとして機能する。このデータ中継プロセス160aは、HDD170から読み出した各種データを適宜RAM160上の地震に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。なお、データ中継プロセス160aは、図1および図5に示した転送部11、21、管理部12、24、保留部13、25およびインターフェース検出部26にて実行される処理、例えば、図2〜4、図7、12、13、16に示す処理を含む。また、CPU160条で仮想的に実現される各処理部は、常に全ての処理部がCPU160上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されればよい。
なお、上記のデータ中継プログラム170aについては、必ずしも最初からHDD170やROM150に記憶させておく必要はない。例えば、コンピュータ100に挿入されるフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)ディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WAN(Wide Area Network)などを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ100がこれらから各プログラムを取得して実行するようにしてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)仮想マシンが動作する複数のサーバ装置と、
前記サーバ装置にデータを転送するデータ中継装置と、
を有し、
前記データ中継装置は、
前記サーバ装置に転送されるデータのうち、ライブマイグレーション用のデータに基づいて、前記仮想マシンにおけるライブマイグレーションの収束の有無を検出する検出部と、
前記サーバ装置に転送されるデータのうち、前記ライブマイグレーションの非収束が検出された仮想マシン宛のデータ転送を保留する保留部と、
を有することを特徴とするデータ処理システム。
(付記2)前記検出部は、前記ライブマイグレーション用のデータの転送レートが所定のレート以下であるかを検出することを特徴とする付記1に記載のデータ処理システム。
(付記3)前記検出部は、前記ライブマイグレーション用のデータの転送開始からの経過時間が所定の時間以上であるかを検出することを特徴とする付記1に記載のデータ処理システム。
(付記4)前記検出部は、前記ライブマイグレーション用のデータの転送開始からの転送データ量が所定のデータ量以上であるかを検出することを特徴とする付記1に記載のデータ処理システム。
(付記5)予め定められた物理インターフェースにおいて受信されたデータを検出するインターフェース検出部をさらに有し、
前記検出部は、前記予め定められた物理インターフェースにおいて受信され前記インターフェース検出部により検出されたライブマイグレーション用のデータに基づいて、前記仮想マシンにおけるライブマイグレーションの収束の有無を検出することを特徴とする付記1に記載のデータ処理システム。
(付記6)予め定められた物理インターフェースにおいて受信されたデータを検出するインターフェース検出部をさらに有し、
前記保留部は、前記予め定められた物理インターフェースにおいて受信され前記インターフェース検出部により検出されたデータの転送を保留することを特徴とする付記1に記載のデータ処理システム。
(付記7)前記保留部は、前記ライブマイグレーション用のデータの転送が完了した場合に、保留していた仮想マシン宛のデータ転送を実行することを特徴とする付記1に記載のデータ処理システム。
(付記8)前記保留部は、前記検出部がライブマイグレーションの収束を検出した場合に、保留していた仮想マシン宛のデータ転送を実行することを特徴とする付記1に記載のデータ処理システム。
(付記9)仮想マシンが動作するサーバ装置に転送されるデータのうち、ライブマイグレーション用のデータに基づいて、前記仮想マシンにおけるライブマイグレーションの非収束を検出する検出部と、
前記サーバ装置に転送されるデータのうち、前記ライブマイグレーションの非収束が検出された仮想マシン宛のデータ転送を保留する保留部と、
を有することを特徴とするデータ中継装置。
(付記10)コンピュータが、
仮想マシンが動作するサーバ装置に転送されるデータのうち、ライブマイグレーション用のデータに基づいて、前記仮想マシンにおけるライブマイグレーションの非収束を検出し、
前記サーバ装置に転送されるデータのうち、前記ライブマイグレーションの非収束が検出された仮想マシン宛のデータ転送を保留する
各処理を実行することを特徴とするライブマイグレーション方法。
1、2 データ中継装置
5 クライアント
6 仮想マシン
10−1、10−2 物理サーバ
11、21 転送部
12、24 管理部
13、25 保留部
22 処理部
23 記憶部
26 インターフェース検出部
27 監視テーブル管理部
28 開始・終了判定部
29 収束判定部
30、40、50 監視テーブル
31 保留対象リスト
32 保留キュー
33 マイグレーション検知対象リスト
34 保留検知対象リスト

Claims (5)

  1. 仮想マシンが動作する複数の情報処理装置と、
    前記複数の情報処理装置の間で転送されるデータを中継するデータ中継装置と、
    を有し、
    前記データ中継装置は、
    前記複数の情報処理装置のうち1の情報処理装置に転送されるデータのうち、前記複数の情報処理装置のうち他の情報処理装置から前記1の情報処理装置への仮想マシンの移動処理において前記1の情報処理装置へ送信される、前記他の情報処理装置上で前記仮想マシンに対して割り当てられたメモリ領域のデータの送信状況に基づいて、前記移動処理の収束の有無を検出する検出部と、
    前記情報処理装置に転送されるデータのうち、前記移動処理の非収束が検出された仮想マシン宛に送信される前記移動処理に係るデータ以外のデータ転送を保留する保留部と、
    を有することを特徴とするデータ処理システム。
  2. 前記検出部は、前記仮想マシンに対して割り当てられたメモリ領域のデータの現在の転送レートが過去所定世代の転送レートの値未満である場合に前記移動処理の収束を検出し、前記メモリ領域のデータの現在の転送レートが過去所定世代の転送レートの値以上である場合に前記移動処理の非収束を検出することを特徴とする請求項1に記載のデータ処理システム。
  3. 前記検出部は、前記仮想マシンに対して割り当てられたメモリ領域のデータの転送開始からの当該メモリ領域からの転送データ量が所定のデータ量以上である場合に前記移動処理の収束を検出し、前記転送データ量が前記所定のデータ量未満である場合に前記移動処理の非収束を検出することを特徴とする請求項1に記載のデータ処理システム。
  4. 仮想マシンが動作する複数の情報処理装置の間で転送されるデータを中継するデータ中継装置であって、
    前記複数の情報処理装置のうち1の情報処理装置に転送されるデータのうち、前記複数の情報処理装置のうち他の情報処理装置から前記1の情報処理装置への仮想マシンの移動処理において前記1の情報処理装置へ送信される、前記他の情報処理装置上で前記仮想マシンに対して割り当てられたメモリ領域のデータの送信状況に基づいて、前記移動処理の収束の有無を検出する検出部と、
    前記情報処理装置に転送されるデータのうち、前記移動処理の非収束が検出された仮想マシン宛に送信される前記移動処理に係るデータ以外のデータ転送を保留する保留部と、
    を有することを特徴とするデータ中継装置。
  5. コンピュータが、
    仮想マシンが動作する複数の情報処理装置の間で転送されるデータを中継する処理を実行するデータ中継方法であって、
    前記複数の情報処理装置のうち1の情報処理装置に転送されるデータのうち、前記複数の情報処理装置のうち他の情報処理装置から前記1の情報処理装置への仮想マシンの移動処理において前記1の情報処理装置へ送信される、前記他の情報処理装置上で前記仮想マシンに対して割り当てられたメモリ領域のデータの送信状況に基づいて、前記移動処理の収束の有無を検出し、
    前記情報処理装置に転送されるデータのうち、前記移動処理の非収束が検出された仮想マシン宛に送信される前記移動処理に係るデータ以外のデータ転送を保留する、
    各処理を実行することを特徴とするデータ中継方法。
JP2011186620A 2011-08-29 2011-08-29 データ処理システム、データ中継装置およびデータ中継方法 Expired - Fee Related JP5838661B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011186620A JP5838661B2 (ja) 2011-08-29 2011-08-29 データ処理システム、データ中継装置およびデータ中継方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011186620A JP5838661B2 (ja) 2011-08-29 2011-08-29 データ処理システム、データ中継装置およびデータ中継方法

Publications (2)

Publication Number Publication Date
JP2013047920A JP2013047920A (ja) 2013-03-07
JP5838661B2 true JP5838661B2 (ja) 2016-01-06

Family

ID=48010875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011186620A Expired - Fee Related JP5838661B2 (ja) 2011-08-29 2011-08-29 データ処理システム、データ中継装置およびデータ中継方法

Country Status (1)

Country Link
JP (1) JP5838661B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6372074B2 (ja) 2013-12-17 2018-08-15 富士通株式会社 情報処理システム,制御プログラム及び制御方法
JP6144639B2 (ja) * 2014-02-20 2017-06-07 日本電信電話株式会社 ネットワーク制御装置、通信システム、ネットワーク制御方法、および、ネットワーク制御プログラム
JP6133804B2 (ja) * 2014-02-20 2017-05-24 日本電信電話株式会社 ネットワーク制御装置、通信システム、ネットワーク制御方法、および、ネットワーク制御プログラム
JP6243749B2 (ja) * 2014-02-20 2017-12-06 日本電信電話株式会社 ネットワーク制御装置、通信システム、ネットワーク制御方法、および、ネットワーク制御プログラム
JP2015170242A (ja) * 2014-03-10 2015-09-28 富士通株式会社 中継プログラム、中継方法、および中継装置
JP6386485B2 (ja) * 2016-01-20 2018-09-05 日本電信電話株式会社 管理システム、管理方法及び管理プログラム
JP7125601B2 (ja) 2018-07-23 2022-08-25 富士通株式会社 ライブマイグレーション制御プログラム及びライブマイグレーション制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008152967A1 (ja) * 2007-06-12 2008-12-18 Nec Corporation 情報処理装置、実行環境転送方法及びそのプログラム
WO2010123140A1 (ja) * 2009-04-24 2010-10-28 日本電気株式会社 パケット通信システム、パケット通信装置、パケット通信方法、パケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体
JP5446040B2 (ja) * 2009-09-28 2014-03-19 日本電気株式会社 コンピュータシステム、及び仮想マシンのマイグレーション方法

Also Published As

Publication number Publication date
JP2013047920A (ja) 2013-03-07

Similar Documents

Publication Publication Date Title
JP5838661B2 (ja) データ処理システム、データ中継装置およびデータ中継方法
US11843657B2 (en) Distributed load balancer
JP6393742B2 (ja) 分散型ロード・バランサでの多重パス経路指定
US8943206B2 (en) Network bandwidth detection and distribution
JP6030807B2 (ja) 分散型ロードバランサでの接続公開
JP6169251B2 (ja) 分散型ロードバランサにおける非対称パケットフロー
US11537419B2 (en) Virtual machine migration while maintaining live network links
JPWO2011093288A1 (ja) ネットワークシステム、コントローラ、ネットワーク制御方法
EP3090516A1 (en) Distributed multi-level stateless load balancing
Kothandaraman et al. Centrally controlled distributed vnf state management
Zhang et al. Tuning the aggressive TCP behavior for highly concurrent HTTP connections in intra-datacenter
JP2012524919A5 (ja)
JP4771988B2 (ja) 負荷分散装置及びネットワーク装置
WO2013140602A1 (ja) 輻輳制御方法、輻輳制御装置、通信システム及び輻輳制御プログラム
JP5983782B2 (ja) コンピュータシステム、通信制御サーバ、通信制御方法およびプログラム
CN102752188A (zh) 一种传输控制协议连接迁移方法及系统
JP2020005051A (ja) 制御プログラム、制御装置、及び制御方法
JP2018005664A (ja) 制御装置、情報処理システム、制御方法、及び、情報処理プログラム
US10764168B1 (en) Adjusting communications parameters based on known characteristics
JP6568571B2 (ja) データ転送装置、データ転送方法および通信装置
JP2015204466A (ja) データ転送装置、データ転送方法および通信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140508

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150804

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151001

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151013

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151026

R150 Certificate of patent or registration of utility model

Ref document number: 5838661

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees