(57)【要約】【課題】仮想マシンのライブマイグレーション（移転）において、不適切なデータの移転を防止する。【解決手段】第１の物理マシンから第２の物理マシンへの仮想マシンのライブマイグレーション機能を管理する仮想マシン管理方法であって、前記第２の物理マシン上で動作する移動先の第２の仮想マシンを管理する仮想マシン管理部の実行属性格納部に格納される実行属性から前記第２の物理マシンの存在している所在地を取得するステップと、前記第１の物理マシン上で動作する移動元の第１の仮想マシンを管理する仮想マシン管理部を通して前記第１の仮想マシンの許可属性からデータを利用可能な所在地の一覧を取得するステップと、前記第２の物理マシンの実行属性格納部に格納されている所在地が前記データを利用可能な所在地の一覧に含まれているか否かをチェックするステップと、を有し、前記第２の物理マシンの存在している所在地が、前記データを利用可能な所在地の一覧に含まれていなければライブマイグレーションを行わない仮想マシン管理方法。【選択図】図１
2017211709.tif 000002
【特許請求の範囲】
【請求項１】
第１の物理マシンから第２の物理マシンへの仮想マシンのライブマイグレーション機能を管理する仮想マシン管理方法であって、
前記第２の物理マシン上で動作する移動先の第２の仮想マシンを管理する仮想マシン管理部の実行属性格納部に格納される実行属性から前記第２の物理マシンの存在している所在地を取得するステップと、
前記第１の物理マシン上で動作する移動元の第１の仮想マシンを管理する仮想マシン管理部を通して前記第１の仮想マシンの許可属性からデータを利用可能な所在地の一覧を取得するステップと、
前記第２の物理マシンの実行属性格納部に格納されている所在地が前記データを利用可能な所在地の一覧に含まれているか否かをチェックするステップと、を有し、
前記第２の物理マシンの存在している所在地が、前記データを利用可能な所在地の一覧に含まれていなければライブマイグレーションを行わない仮想マシン管理方法。
【請求項２】
仮想マシンのライブマイグレーション機能を管理する仮想マシン管理方法であって、
第１の物理マシンから、仮想マシンを移動できる可能性のある一台以上の各物理マシン上で動作する移動先になる可能性のある各仮想マシンを管理する仮想マシン管理部の実行属性格納部に格納される実行属性から前記各物理マシンの存在している所在地を取得するステップと、
前記第１の物理マシン上で動作する移動元の第１の仮想マシンを管理する仮想マシン管理部を通して前記第１の仮想マシンの許可属性からデータを利用可能な所在地の一覧を取得するステップと、
前記各物理マシンの実行属性格納部に格納されている所在地が前記データを利用可能な所在地の一覧に含まれているか否かをチェックするステップと、を有し、
前記各物理マシンの存在している所在地が、前記データを利用可能な所在地の一覧に含まれていれば、ライブマイグレーションを行うことができる物理マシンの候補として表示部に表示する仮想マシン管理方法。
【請求項３】
第１の物理マシンの仮想マシンから第２の物理マシンの仮想マシンへのライブマイグレーション機能を管理する仮想マシン管理システムであって、
前記第２の物理マシン上で動作する移動先の第２の仮想マシンを管理する仮想マシン管理部の実行属性格納部に格納される実行属性から前記第２の物理マシンの存在している所在地を取得する実行所在地取得部と、
前記第１の物理マシン上で動作する移動元の第１の仮想マシンを管理する仮想マシン管理部を通して前記第１の仮想マシンの許可属性からデータを利用可能な所在地の一覧を取得するデータ移転可能所在地一覧取得部と、
前記第２の物理マシンが存在している所在地を格納する実行属性格納部に格納されている所在地が前記データを利用可能な所在地の一覧に含まれているか否かをチェックする識別子有無判定部と、を有し、
前記第２の物理マシンの存在している所在地が、前記データを利用可能な所在地の一覧に含まれていなければライブマイグレーションを行わない仮想マシン管理システム。
【請求項４】
仮想マシンのライブマイグレーション機能を管理する仮想マシン管理システムであって、
第１の物理マシンから、仮想マシンを移動できる可能性のある一台以上の各物理マシン上で動作する移動先になる可能性のある各仮想マシンを管理する仮想マシン管理部の実行属性格納部に格納される実行属性から前記各物理マシンの存在している所在地を取得する実行所在地取得部と、
前記第１の物理マシン上で動作する移動元の第１の仮想マシンを管理する仮想マシン管理部を通して前記第１の仮想マシンの許可属性からデータを利用可能な所在地の一覧を取得するデータ移転可能所在地一覧取得部と、
前記各物理マシンの実行属性格納部に格納されている所在地が前記データを利用可能な所在地の一覧に含まれているか否かをチェックする識別子有無判定部と、を有し、
前記各物理マシンの存在している所在地が、前記データを利用可能な所在地の一覧に含まれていれば、ライブマイグレーションを行うことができる物理マシンの候補として表示部に表示する仮想マシン管理システム。
【請求項５】
物理マシンが動作するサーバには、物理マシンの所在地の識別子を格納する実行属性格納部が設けられ、
前記物理マシン上で動作する仮想マシンには、アプリケーションが取得してメモリに格納したデータを移転可能な所在地を格納する許可属性格納部が設けられている
請求項３又は４に記載の仮想マシン管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン管理技術に関する。
【背景技術】
【０００２】
物理マシン上で、ソフトウェアにより仮想的に物理マシンを実現した仮想マシンを動作させることで一つの物理マシン上に複数の仮想マシンを稼働させ、仮想マシンごとに異なるオペレーティングシステムやアプリケーションを動作させることで物理マシンを効率的に利用したり、ハードウェア費用を削減したりする仮想マシン技術が普及してきている。
【０００３】
動作中の仮想マシンを停止させることなく別のサーバに移動して処理を継続させる情報処理技術としてライブマイグレーション技術がある。
【０００４】
例えば、特許文献１には、ライブマイグレーションの要求に対してライブマイグレーションの可否判断を行い、判断結果に伴いライブマイグレーションを中止する技術が開示されている。この技術は、仮想マシン上で実行されるアプリケーションの安全レベルの属性を各仮想マシンに持たせている。安全レベルが低い仮想マシンと安全レベルが高い仮想マシンを同じ物理マシン上で動作させないようにすることで、安全レベルが低い仮想マシンの不具合により、安全レベルが高い仮想マシンの実行が脅かされるという事態を回避している。
【０００５】
また、特許文献２には、マイグレーションを実行に移す直前の段階でＣＰＵ使用率やメモリ使用率などの負荷情報に基づいてマイグレーションの必要性を判断することにより、不要なマイグレーションを中止する技術が開示されている。
【０００６】
さらに、特許文献３には、仮想マシンに割り当てられたメモリのアクセス数と容量、ライブマイグレーションにおける物理マシン間のデータ転送のバンド幅を用いてライブマイグレーションを実行する際のコストを推定することでライブマイグレーションの実施の可否を判断する技術が開示されている。
【０００７】
これらの技術は、仮想マシンの実行時の情報を元にライブマイグレーションの可否を判断している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−２３８０４４号公報
【特許文献２】特開２０１１−１０８０１４号公報
【特許文献３】特許第５８１７８４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記の技術は、いずれも仮想マシンの実行状態に関わる情報を元に、ライブマイグレーションの可否を判断しており、仮想マシンに格納されたデータの移動に関わる情報に基づいてライブマイグレーションの可否を判断するものではない。
【００１０】
仮想マシンの利用においては、物理マシンの負荷が高くなるとその上で動作している仮想マシンの動作が不安定になったり、処理時間がかかるようになったりする場合がある。反対に、物理マシンの負荷が低くなると効率的に動作させるために動作する仮想マシンの数を増やす場合もある。このように、仮想マシンの利用においては、負荷状況が変化した場合に、仮想マシンが提供しているサービスをほとんど停止させずに別の物理マシンに仮想マシンを移動させるライブマイグレーションが行われる。ライブマイグレーションは、サービスを停止することなく物理マシンのハードウェアやＯＳの保守を行う際にも利用される。また、利用者の近くの物理マシンに仮想マシンを移動させることで低遅延を実現する際にも用いられる。
【００１１】
ライブマイグレーションでは、移動先の物理マシン上に新しい仮想マシンを起動し、移動対象となる仮想マシンの物理メモリの内容を新しい仮想マシンに複製した後にネットワークを切り替え、新しい仮想マシンの実行を開始する。通常、ストレージは共有化機構により物理マシン間で共有化されているため、ストレージに格納された大量のデータの複製は行われず、新しい仮想マシンでもそのまま利用される。
【００１２】
ところで、従来のライブマイグレーションでは、移動先の物理マシンの選択範囲に制限はない。そのため、同一のラック内やデータセンタの物理マシン間だけでなく、データセンタ間の物理マシン、さらには、国境を越えた物理マシン間でもライブマイグレーションは行われる。仮想マシン上で実行されるアプリケーションの中には、国の法規制や組織のセキュリティポリシによりデータの移動に制限を受けるデータを処理するアプリケーションが存在する。
【００１３】
このようなアプリケーションが動作している仮想マシンをライブマイグレーションにより移動する際には、アプリケーションが読み込んで物理メモリに格納しているデータが移動に制限を受けるかどうかを確認し、ライブマイグレーションの可否を判断する必要がある。
【００１４】
しかしながら、従来のライブマイグレーション技術では、仮想マシンの物理メモリ上に存在しているデータが移動の制限を受けるか否かを確認する技術を設けるという技術思想はない。従って、ライブマイグレーションの要求時に、不適切なデータの移転を防止することができないという問題がある。
【００１５】
本発明は、仮想マシンのライブマイグレーションにおいて、不適切なデータの移転を防止することを目的とする。
【課題を解決するための手段】
【００１６】
本発明の一観点によれば、第１の物理マシンから第２の物理マシンへの仮想マシンのライブマイグレーション機能を管理する仮想マシン管理方法であって、前記第２の物理マシン上で動作する移動先の第２の仮想マシンを管理する仮想マシン管理部の実行属性格納部に格納される実行属性から前記第２の物理マシンの存在している所在地を取得するステップと、前記第１の物理マシン上で動作する移動元の第１の仮想マシンを管理する仮想マシン管理部を通して前記第１の仮想マシンの許可属性からデータを利用可能な所在地の一覧を取得するステップと、前記第２の物理マシンの実行属性格納部に格納されている所在地が前記データを利用可能な所在地の一覧に含まれているか否かをチェックするステップと、を有し、前記第２の物理マシンの存在している所在地が、前記データを利用可能な所在地の一覧に含まれていなければライブマイグレーションを行わない仮想マシン管理方法が提供される。
【００１７】
これにより、データを利用可能な所在地の一覧に含まれない所在地へのライブマイグレーションを未然に防止することができる。
【００１８】
また、本発明は、仮想マシンのライブマイグレーション機能を管理する仮想マシン管理方法であって、第１の物理マシンから、仮想マシンを移動できる可能性のある一台以上の各物理マシン上で動作する移動先になる可能性のある各仮想マシンを管理する仮想マシン管理部の実行属性格納部に格納される実行属性から前記各物理マシンの存在している所在地を取得するステップと、前記第１の物理マシン上で動作する移動元の第１の仮想マシンを管理する仮想マシン管理部を通して前記第１の仮想マシンの許可属性からデータを利用可能な所在地の一覧を取得するステップと、前記各物理マシンの実行属性格納部に格納されている所在地が前記データを利用可能な所在地の一覧に含まれているか否かをチェックするステップと、を有し、前記各物理マシンの存在している所在地が、前記データを利用可能な所在地の一覧に含まれていれば、ライブマイグレーションを行うことができる物理マシンの候補として表示部に表示する仮想マシン管理方法である。
【００１９】
これにより、データを利用可能な所在地の一覧に含まれる所在地に存在する物理マシンを、ライブマイグレーションを行うことができる候補（移動可能候補一覧）として報知することができる。
【００２０】
本発明の他の観点によれば、第１の物理マシンの仮想マシンから第２の物理マシンの仮想マシンへのライブマイグレーション機能を管理する仮想マシン管理システムであって、前記第２の物理マシン上で動作する移動先の第２の仮想マシンを管理する仮想マシン管理部の実行属性格納部に格納される実行属性から前記第２の物理マシンの存在している所在地を取得する実行所在地取得部と、前記第１の物理マシン上で動作する移動元の第１の仮想マシンを管理する仮想マシン管理部を通して前記第１の仮想マシンの許可属性からデータを利用可能な所在地の一覧を取得するデータ移転可能所在地一覧取得部と、前記第２の物理マシンが存在している所在地を格納する実行属性格納部に格納されている所在地が前記データを利用可能な所在地の一覧に含まれているか否かをチェックする識別子有無判定部と、を有し、前記第２の物理マシンの存在している所在地が、前記データを利用可能な所在地の一覧に含まれていなければライブマイグレーションを行わない仮想マシン管理システムが提供される。
【００２１】
物理マシンが動作するサーバには、物理マシンの所在地の識別子を格納する実行属性格納部が設けられ、前記物理マシン上で動作する仮想マシンには、アプリケーションが取得してメモリに格納したデータを移転可能な所在地を格納する許可属性格納部が設けられていると良い。
【発明の効果】
【００２２】
本発明によれば、仮想マシンのライブマイグレーションにおいて、不適切なデータの移転を防止することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施の形態による仮想マシン管理システムの一構成例を示す機能ブロック図である。
【図２】許可属性のイメージを簡単に示す図である。
【図３】図１の配置管理制御部の一構成例を示す機能ブロック図である。
【図４】サーバＤと接続されている各種ＤＢ群内のデータベースＤＢの一構成例を示す図である。
【図５】法制度情報ＤＢの一構成例を示す図である。
【図６】利用許諾情報ＤＢの一構成例を示す図である。
【図７】収集データ情報ＤＢの一構成例を示す図である。
【図８】所有者情報ＤＢの一構成例を示す図である。
【図９】データ収集組織がデータを収集する時の流れを示すフローチャート図である。
【図１０】データ読み込み時の処理の流れの一例を示すフローチャート図である。
【図１１】第１の実施の形態によるライブマイグレーション時の流れを示すフローチャート図である。
【図１２】ライブマイグレーションの実行プロセスの概要を示す図である。
【図１３】第２の実施の形態によるライブマイグレーション時の流れを示すフローチャート図である。
【発明を実施するための形態】
【００２４】
以下、本発明の実施の形態による仮想マシン管理技術について、図面を参照しながら詳細に説明する。
【００２５】
（第１の実施の形態）
（システム構成）
図１は、本実施の形態による仮想マシン管理システムの一構成例を示す機能ブロック図である。
【００２６】
図１に示すように、仮想マシン管理システムＡにおいて、サーバＸ（以下、「第１の物理マシン」）３上において、仮想マシン管理部２１が動作し、仮想マシン管理部２１の管理の下に仮想マシン（Ａ）５と仮想マシン（Ｂ）１５が動作している。仮想マシン管理部２１は、仮想マシン（Ａ）５と仮想マシン（Ｂ）１５とのように複数の仮想マシンのそれぞれの動作状態を把握し、第１の物理マシン３とのインターフェースを含む仮想的なマシン実行環境を仮想マシン５、１５に提供する。
【００２７】
同様に、サーバＹ（以下、第２の物理マシン）２３上において、仮想マシン管理部４１が動作し、仮想マシン管理部４１の管理の下に仮想マシン（Ｃ）３５が動作している。仮想マシン（Ｂ−１）２５は、まだ存在していないが、以下において説明するライブマイグレーションにより第１の物理マシン３上で動作している仮想マシン（Ｂ）１５が第２の物理マシン２３に移動してきた場合に存在するようになることを示している。第３〜第ｎ（ｎは４以上の整数）の物理マシン３３〜３ｎも同様に仮想マシン管理部が動作し、仮想マシン管理部の管理の下に仮想マシンが動作している。
【００２８】
それぞれの仮想マシンには、それぞれ、メモリ（Ａ）７、メモリ（Ｂ）１７、メモリ（Ｂ−１）２７、メモリ（Ｃ）３７が設けられている。
【００２９】
さらに、仮想マシン管理システムＡにおいては、情報処理装置１（以下、「配置管理マシン」）１が設けられており、第１の物理マシン３、第２の物理マシン２３、第３〜第ｎ（ｎは４以上の整数）の物理マシン３３〜３ｎ、配置管理マシン１は、ネットワークＮＴにより接続されている。
【００３０】
配置管理マシン１は、物理マシン全体の最適な仮想マシンの配置を管理する配置管理制御部１ａを有している。配置管理制御部１ａは、各物理マシンの仮想マシン管理部（２１、４１等）と連携して仮想マシン全体を管理する。
【００３１】
配置管理制御部１ａは、複数の仮想マシンの動作状態と物理マシンの動作状態、管理者の指示などにより、仮想マシンの動的な再配置を計画し、ライブマイグレーションにより仮想マシンの再配置を実行する。尚、配置管理制御部１ａは、仮想マシン管理部２１、４１の動作する物理マシン３、２３のいずれかで動作しても良いし、物理マシン３、２３とは独立して動作していても良い。また、各仮想マシン管理部２１、４１の間で仮想マシン５、１５、２５、３５の動作状態と物理マシンの動作状態、管理者の指示などの情報を交換し、仮想マシンの動的な再配置の計画を合意し、ライブマイグレーションによる再配置を実行しても良い。
【００３２】
さらに、仮想マシン管理システムＡにおいては、サーバＤ（第３の物理マシン）３３が配置されている。この第３の物理マシン３３には、後述する各種ＤＢ群５７および利用情報を出力する利用情報出力部５５が設けられている。
【００３３】
サーバ３、２３には、動作する物理マシン３、２３の所在地の識別子を格納する実行属性格納部２２、４３が新たに設けられ、仮想マシン管理部２１、４１は、実行属性格納部２２、４３内のデータを管理している。
【００３４】
本実施の形態による仮想マシンには、許可属性格納部（Ａ）９，（Ｂ）１９，（Ｂ−１）２９，（Ｃ）３９が新たに設けられている。許可属性格納部に格納される許可属性とは、アプリケーションが取得してメモリに格納したデータを移転可能な所在地の一覧等のデータである。
【００３５】
図２は、許可属性と実行属性の関係のイメージを簡単に示す図である。図２に例示的に示すように、仮想マシン（Ｂ）１５の移動先候補の物理マシンは、物理マシン（Ｂ−１）２３、物理マシン（Ｂ−２）２３ａ、物理マシン（Ｂ−３）２３ｂであるとする。そして、仮想マシン（Ｂ）１５の実行属性の値が例えば日本、許可属性の値が例えばドイツと米国と英国であり、物理マシン（Ｂ−１）２３の実行属性の値は例えば中国であり、物理マシン（Ｂ−２）２３ａの実行属性の値は例えばドイツであり、物理マシン（Ｂ−３）２３ｂの実行属性の値は例えば米国であるとする。これらの、移動先の実行属性が移動元の許可属性に含まれているか否かに基づいて、移動先候補の物理マシン（Ｂ−１、Ｂ−２、Ｂ−３）の中から、実際に移動可能な物理マシン（Ｂ−２、Ｂ−３）を決めることができる（図中の矢印に○印が示されている場合）。
【００３６】
さらにその後、許可属性に基づいて、移動先として許可される物理マシンのうちで、移動先の物理マシンの負荷（例えば、負荷が小さい物理マシン）を考慮して、移動先の物理マシンを決定し、移動を行うようにしても良い。
【００３７】
図３は、図１の配置管理制御部１ａの一構成例を示す機能ブロック図である。図３に示すように、配置管理制御部１ａは、物理マシンの所在地を取得する実行所在地取得部１ａ−１と、データの移動可能な所在地の一覧を取得するデータ移転可能所在地一覧取得部１ａ−２と、データ移転可能所在地一覧取得部１ａ−２から取得したデータ移転可能な所在地の一覧中に実行所在地取得部１ａ−１から取得した実行所在地が存在するか否かの判定をする識別子有無判定部１ａ−３と、新規仮想マシンの作成を要求する新規仮想マシン作成要求部１ａ−４と、メモリ上のデータの複製を行うメモリ上データ複製部１ａ−５と、を有する。
【００３８】
（データベース構造）
図４は、サーバＤ５３と接続されている各種ＤＢ群内のデータベースＤＢの一構成例を示す図である。
【００３９】
尚、実際には、ＤＢ毎に異なるサーバを有していても良いが、説明を簡単にするために、１つのサーバＤ５３に全てのＤＢが設けられている例について説明する。
【００４０】
図４に示すように、物理マシン５３に設けられたデータベース群５７は、収集したデータを格納する収集データ情報ＤＢ６１と、所有者情報ＤＢ（ｏｗｎｅｒ．ｄｂ）６５と、利用許諾情報ＤＢ（ｐｏｌｉｃｙ．ｄｂ）６７（６７−１、６７−２）と、法制度情報ＤＢ（ｒｅｇｕｌａｔｉｏｎ．ｄｂ）６９（６９−１）とを有している。
【００４１】
図４において、破線（矢印付き）は、データベース間の関連を示す。データの所有者ｕ１、ｕ２の所有者情報は、所有者情報ＤＢ６５内に格納され、それぞれのデータの所有者のデータが格納された収集データ情報ＤＢ６１とデータベースＩＤにより関連付けられている。さらに、所有者情報ＤＢ６５のデータの所有者がデータを提供する際に許諾した利用内容が格納された利用許諾情報ＤＢ（ｐｏｌｉｃｙ．ｄｂ）６７と利用許諾条件ＩＤにより関連付けられている。
【００４２】
図４において、データの所有者がデータを提供する際に許諾した利用内容（第１の制限）の範囲内であっても、利用を不可とする基準である、所在地（国等）の法制度による利用許可範囲が規制（制限）される規制内容（第２の制限）が格納された法制度情報ＤＢ（ｒｅｇｕｌａｔｉｏｎ．ｄｂ）６９と利用許諾条件ＩＤにより関連付けられて管理されることが示されている。
【００４３】
アプリケーションがデータを利用する際の処理の流れは実線（矢印）で示されている。
アプリケーション７１は利用情報出力７３に問い合わせを送ると、利用情報出力７３は物理マシン５３にその問い合わせを転送する。
【００４４】
以下に、各データベースに格納されている情報の一例を示す。図５は、法制度情報ＤＢ６９の一構成例を示す図である。
【００４５】
法制度情報ＤＢ６９は、データの移転が許可される許可範囲を示す情報を格納するregulation.dbの例であり、図５では、以下で説明する利用許諾情報ＩＤがagreement.1に同意して収集されたデータは、実際には法規制により日本（JP）、アメリカ（US）、ドイツ（DE）以外に移転できないこと、利用許諾情報ＩＤがagreement．2に同意して収集されたデータは、実際には法規制に該当し、どの国にも移転できないこと示している。
【００４６】
尚、データの移転とは、データを複製すること、アプリケーション７１がデータを読み込むこと、の両方を含んでいる。そして、本実施の形態においては、データの移転とは、例えば、仮想マシン（Ｂ）１５を仮想マシン（Ｂ−１）２５へ移動させるライブマイグレーションを行うことを意味する。すなわち、法制度情報ＤＢ６９は、仮想マシン（Ｂ）１５を仮想マシン（Ｂ−１）２５へ移動させるライブマイグレーションが許可されるか否かを判断するための情報を示すデータベースとして利用できる。
【００４７】
尚、データの移転が許可される国を示す情報に代えて、許可範囲としては、行政区域（米国の州法を有する州など）を規定することが可能である。
【００４８】
図６は、利用許諾情報ＤＢ６７（６７−１、６７−２）の一構成例を示す図である。
利用許諾情報ＤＢ６７は、利用許諾条件ＩＤと、許可対象とを、対応付けて示した図であり、データの所有者に提示されるデータの利用内容を格納する。図６の例では、例えば利用許諾書から取得した利用許諾条件ＩＤ＝ａｇｒｅｅｍｅｎｔ．１は、収集したデータをアプリケーションａｐ１，ａｐ３，ａｐ４が使用でき、利用許諾条件ＩＤ＝ａｇｒｅｅｍｅｎｔ．２は、収集したデータをアプリケーションａｐ１，ａｐ２，ａｐ３が使用できることを示している。
【００４９】
尚、図６にも示したように、利用許諾情報（許可対象１）として、データを利用可能なアプリケーションのＩＤを用いて説明したが、利用許諾情報（許可対象２）として、データを利用可能な人（ｕ１等）や組織（ｏ１等）が設定されていても良く、或いは、利用許諾情報（許可対象３）として、人と組織の組み合わせ、或いは、人と組織とアプリケーションの組み合わせが設定されていても良い。以下では、許可対象１を例として説明を行う。
【００５０】
図７は、収集データ情報ＤＢ６１の一構成例を示す図であり、２つのデータベース６１−１、６１−２が例示されているが、ＤＢ数は任意である。
【００５１】
図７では、例えば、データの所有者ｕ１から収集したデータがデータベースｄｂ．ｕ１（６１−１）に登録され、データの所有者ｕ２から収集したデータがデータベースｄｂ．ｕ２（６１−２）にそれぞれ格納されることを示している。
【００５２】
それぞれのデータベースは、そのＤＢを識別するデータベース名（ＩＤ）を有する。さらに、それぞれが、少なくとも１つ１つのデータを識別するデータＩＤ、データを取得したデータ取得日時、データを計測したセンサのセンサＩＤ、取得したデータ（値）を有している。
【００５３】
取得した値は、データベースごとに異なる項目数であっても良い。図４、図７のデータベースｄｂ．ｕ１（６１−１）には、２０１６年３月４日１１時２２分３３秒０１にセンサＩＤがｓｅｎｓｏｒ.ｕ１．００１のセンサで計測された６３の値のデータと、２０１６年３月４日１１時３２分４２秒３１にセンサ識別子ｓｅｎｓｏｒ.ｕ１.００１のセンサで計測された６７の値のデータが格納されている。
【００５４】
データベースｄｂ．ｕ２（６１−２）には、２０１６年３月４日１１時１分１０秒０１にセンサＩＤがｓｅｎｓｏｒ．ｕ２．０２１のセンサで計測された７２と１４０の２つの値のデータと２０１６年３月４日１１時３２分２２秒２１にセンサＩＤが、ｓｅｎｓｏｒ．ｕ２．０２１のセンサで計測された７０と１１２との２つの値のデータが格納されていることを示している。
【００５５】
すなわち、収集データ情報ＤＢ６１は、データのＩＤとデータ取得日時等に関する情報を、データ所有者毎に整理して格納したＤＢである。
【００５６】
図８は、所有者情報ＤＢ６５の一構成例を示す図である。所有者情報ＤＢ６５は、データの所有者ＩＤと、所有者のデータが格納されているデータベースのデータベースＩＤ（名）、データ収集時の利用許諾条件を示す利用許諾条件ＩＤと、利用許諾を得た日（利用許諾日）と、を含む。
【００５７】
図８の１行目に示すように、データの所有者ＩＤがｕｓｅｒｎａｍｅ．１のデータ６５−１は、図７に示すデータベースＩＤ（名）＝ｄｂ．ｕ１に格納されており、データ収集時の利用許諾情報は、図６に示すように、利用許諾情報ＤＢ（ｐｏｌｉｃｙ．ｄｂ）のａｇｒｅｅｍｅｎｔ．１のレコードにそれぞれ格納されており、利用許諾を得た日は２０１５年６月１日であり、データの所有者ＩＤがｕｓｅｒｎａｍｅ．２のデータ６５−２は、図７に示すデータベースＩＤ＝ｄｂ．ｕ２に格納されており、データ収集時の利用許諾情報は、図６のｐｏｌｉｃｙ．ｄｂのａｇｒｅｅｍｅｎｔ．２のレコードにそれぞれ格納されており、利用許諾を得た日は２０１５年８月２１日であることを示している。
【００５８】
すなわち、所有者情報ＤＢ６５は、データの所有者とデータの格納場所と、当該データの利用許諾条件や利用許諾日などの利用許諾に関連する情報と、が関連付けされているＤＢである。
【００５９】
（処理の流れ）
次に、上記のデータ管理システムにおける、処理の流れについて詳細に説明する。適宜、前述の図面等も参照しながら説明する。
【００６０】
（データ収集時の処理の流れ）
図９は、データ収集組織がデータを収集する時の流れを示すフローチャート図である。処理が開始され（Ｓｔａｒｔ）、データ収集組織は、データ収集処理に先立ち、データの所有者にデータの利用内容を記載した利用許諾書を提示する。
【００６１】
利用許諾書は、少なくとも以下の情報を含んでいる。
１）利用許諾対象データの内容
２）利用許諾日（許諾期間）
３）利用対象アプリケーション（ＩＤ）
４）利用許諾者（ＩＤ）
【００６２】
尚、利用対象アプリケーションとは、例えば、研究目的で用いる表計算ソフトなどである。また、利用許諾者は、基本的に、データの所有者である。
【００６３】
データの所有者が、提示された利用許諾書に記載されたデータの利用範囲に同意すると、データ収集組織は利用許諾書に同意した利用許諾日とこの利用許諾書に記載された利用範囲を満たすアプリケーションＩＤとを個々の利用許諾条件を示す識別子である利用許諾条件ＩＤとともに利用許諾情報ＤＢ６７に登録する（ステップＳ１）。
【００６４】
次に、データ収集組織は法制度により収集するデータの移転が認められた国の一覧を、利用許諾条件ＩＤとともに法制度情報ＤＢ（regulation.db）６９に登録する（ステップＳ２）。
【００６５】
次いで、データの所有者ＩＤ（氏名）、その所有者のデータを格納するデータベースＩＤ（ＤＢ名）、データ収集時にデータの所有者に提示した利用許諾書の内容を格納した利用許諾情報ＤＢ（policy.db）６７中に格納された利用許諾条件ＩＤ、許諾を得た日を所有者情報ＤＢ（owner.db）６５に登録する（ステップＳ３）。
【００６６】
尚、提示された利用許諾書に記載の利用内容の一部に対し、使用を許可できない場合は、その旨をデータ収集組織に通知する。データ収集組織は、データ所有者からの通知を受け取ると、当該データ所有者の利用許諾情報ＤＢ（policy.db）６７中の利用許諾情報の中の許可対象ＩＤの値から使用を許可できないアプリケーションの識別子を削除する。例えば、データの所有者ｕ１がａｐ３に対するデータの利用を認められないという通知をした場合、許可対象からａｐ３が削除される。その後、データ収集組織は、利用許諾書に同意したデータの所有者ｕ１、ｕ２からデータを取得し、データの所有者ごとに、収集データ情報ＤＢ６１（データベースdb.u1、db.u2）に格納し続ける（ステップＳ４）。
【００６７】
（データ読み込み時の流れ）
図１０は、データ読み込み時の処理の流れの一例を示すフローチャート図である。図１も参照しながら説明する。
【００６８】
データを利用したい場合、仮想マシン上のアプリケーションは、そのアプリケーションＩＤとアプリケーションを実行している国名（ＩＤ）と利用したデータベース名（ＩＤ）とデータの検索条件を記載した問合せ（クエリ）を、図４に示すデータベース群５７と関連付けされた図１のサーバＤ５３の利用情報出力部５５に送る（ステップＳ１１）。例えば、日本（JP）で実行されているアプリケーションａｐ１がデータ所有者u1の2015年11月1日から15日の活動量計の値を必要とする場合は、クエリ（Query）(JP, ap1, db, u1． sensor=”活動量計” & 2015/11/01 <= period <=2015/11/15)を送る。
【００６９】
利用情報出力部５５は、その問合せに記載された収集データ情報ＤＢ（db. u1）６１−１に問合せに記載された検索条件を転送する（ステップＳ１２）。収集データ情報ＤＢ（db. u1）６１−１は、検索条件（sensor=”活動量計” & 2015/11/01 <= period <=2015/11/15）を受け取ると、その条件を満たすデータを抽出し（ステップＳ１３）、抽出したデータの一覧を利用情報出力部５５に返す（ステップＳ１４）。利用情報出力部５５は、問合せに記載されたデータベースＩＤ（db.u1）を検索キーとして所有者情報ＤＢ（owner.db）６５を検索し、そのデータベースの利用許諾条件ＩＤを取得し（ステップＳ１５）、取得した利用許諾条件ＩＤを持つレコードを法制度情報ＤＢ（regulation.db）６９で検索し、データベース収集データ情報ＤＢ（db.u1）６５におけるデータを利用可能な許可対象国を抽出してその一覧を取得する（ステップＳ１６）。利用情報出力部５５は、受け取った検索結果のデータ一覧と、取得したその検索結果データを利用可能な許可対象国の一覧とを仮想マシン上のアプリケーションに転送する（ステップＳ１７）。仮想マシン上のアプリケーションは取得したデータをメモリ（Ｂ）１７に、そのデータを利用可能な許可対象国の一覧を許可属性格納部（Ｂ）１９に格納する（ステップＳ１８）。
【００７０】
（ライブマイグレーション時の流れ）
図１１は、ライブマイグレーション時の流れを示すフローチャート図である。図１２に示す、ライブマイグレーションの実行プロセスの概要について、まず説明を行う。図１２は、サーバＸ（物理マシン）３上で動作する仮想マシン（Ｂ）１５がサーバＹ（物理マシン）２３上にライブマイグレーションする過程のメモリの移動処理例を示している。
【００７１】
尚、仮想マシン(Ｂ)１５は、それ自身のメモリ（Ｂ）１７を管理し、メモリ（Ｂ）１７に配置したデータを取得する際に得られたデータの利用可能な国の一覧を許可属性格納部１９に格納している。
【００７２】
図１１に示すライブマイグレーション処理においては、まず、情報処理装置１の配置管理制御部１ａの実行所在地取得部１ａ−１は、物理マシン（サーバＹ）２３の仮想マシン管理部４１の実行属性格納部４３の実行属性から物理マシン（サーバＹ）２３の存在している国のＩＤ（国名）を取得する（ステップＳ２１）。配置管理制御部１ａのデータ移転可能所在地一覧取得部１ａ−２は、移動させる仮想マシン（Ｂ）１５を管理する仮想マシン管理部２１を通して仮想マシン（Ｂ）１５の許可属性格納部１９からデータを利用可能な国の一覧を取得する（ステップＳ２２）。
【００７３】
配置管理制御部１ａの識別子有無判定部１ａ−３は、物理マシン（サーバＹ）２３の存在している国のＩＤがデータを利用可能な国の一覧に含まれているか否かをチェックする（ステップＳ２３）。物理マシン（サーバＹ）２３の存在している国のＩＤがデータを利用可能な国の一覧に含まれていなければ（Ｎｏ）、データの複製が許可されないため、ライブマイグレーションは行われない（Ｅｎｄ）。この場合には、ライブマイグレーションは行われない旨を報知するように、例えば、情報処理装置１の表示部１ｂなどに報知すれば良い。
【００７４】
このように、配置管理制御部１ａの識別子有無判定部１ａ−３による判定結果として、物理マシン（サーバＹ）２３の存在している国のＩＤがデータを利用可能な国の一覧に含まれていない場合には、ライブマイグレーション処理を許可しない。従って、国の法制度により許可されていないライブマイグレーションを実行しないようにすることができる。
【００７５】
一方、物理マシン（サーバＹ）２３の存在している国のＩＤがデータを利用可能な国の一覧に含まれていれば（Ｙｅｓ）、このメモリ（Ｂ）１７の内容をライブマイグレーション先である仮想マシン（Ｂ−１）２５のメモリ（Ｂ−１）２７に移動するために、配置管理制御部１ａの新規仮想マシン作成要求部１ａ−４は、移動先の物理マシン（サーバＹ）２３の仮想マシン管理部４１に新しい仮想マシン（Ｂ−１）２５の作成を要求する（ステップＳ２４）。次に、移動元の仮想マシンの許可属性の値を移動先の新しい仮想マシン（Ｂ−１）２５の許可属性格納部２９に複製する（ステップＳ２５）。
【００７６】
ライブマイグレーションが時刻ｔ１に開始されると、メモリ上データ複製部１ａ−５による、その時点のメモリ（Ｂ）１７の内容のメモリ（Ｂ−１）２７への複製が開始される（ステップＳ２６）。
【００７７】
まず、ステップＳ２７で、複製時間と閾値との大小関係を比較する。ステップＳ２７でＮｏ（複製時間が閾値以上である）場合には、ステップＳ２８に進む。ステップＳ２７でＹｅｓ（複製時間が閾値未満である）場合には、ステップＳ２９に進む。
【００７８】
ステップＳ２７とステップＳ２８における処理について図１２を参照しながら説明すると、複製が完了した時点の時刻をｔ２とするとｔ１からｔ２の間でメモリ（Ｂ）１７の内容は変化している。そこで、再度変化したデータをメモリ（Ｂ）１７からメモリ（Ｂ−１）２７に複製する。
【００７９】
この複製が完了した時点の時刻をｔ３とするとｔ２からｔ３までの間でメモリ（Ｂ）１７の内容は変化する。そこで、再度変化したデータ（差分）をメモリ（Ｂ）１７からメモリ（Ｂ−１）２７に複製する。この複製処理が完了した時点の時刻をｔ４とすると、ｔ３からｔ４の間でメモリ（Ｂ）１７の内容は変化する。そのため、再度変化したデータをメモリ（Ｂ）１７からメモリ（Ｂ−１）２７に複製する。この処理を繰り返していく。
【００８０】
但し、複製するデータの量が減少するため複製に必要な時間が減少していく。そこで、この複製に必要な時間の見積もりがある一定の時間未満になった時点ｔｎにおいて（ステップＳ２７でＹｅｓ）、移動元の仮想マシン（Ｂ）１７の実行を停止し（ステップＳ２９）、最後に残されていたデータをメモリ（Ｂ−１）２７に複製し（ステップＳ３０）、移動先の仮想マシン（Ｂ−１）２５の実行を開始する（ステップＳ３１）。
【００８１】
これらの一連の処理により、仮想マシン（Ｂ）１５が物理マシン（サーバＸ）３から物理マシン（サーバＹ）２３にライブマイグレーションされる。ライブマイグレーションされた仮想マシン（Ｂ）１５が図１の仮想マシン（Ｂ−１）２５になる。
【００８２】
このように、配置管理制御部１ａの識別子有無判定部１ａ−３による判定結果として、物理マシン（サーバＹ）２３の存在している国のＩＤがデータを利用可能な国の一覧に含まれている場合にのみ、ライブマイグレーション処理を許可する。
【００８３】
従って、国の法制度により許可されているライブマイグレーションのみを実行するようにすることができる。
【００８４】
以上に説明したように、本実施の形態によれば、ライブマイグレーションにおいて、国の法制度により許可されていない（禁止される）不適切なデータの移転を防止することができる。
【００８５】
尚、移動させるデータの属性に基づいて、データ毎に移動させるか否かを規定しておくようにしても良い。
【００８６】
（第２の実施の形態）
図１３は、本発明の第２の実施の形態によるライブマイグレーション処理の一例を示すフローチャート図である。
【００８７】
本実施の形態では、データを利用可能な国の一覧に存在する物理マシンをライブマイグレーションの移転先とし、その中から移転を行う物理マシンを決定する。
【００８８】
図１（援用）、図３（援用）、図１３に示すように、ライブマイグレーション処理を開始し（Ｓｔａｒｔ）、ステップＳ４１において、まず、情報処理装置１の配置管理制御部１ａの実行所在地取得部１ａ−１は、第２、第３〜第ｎ（ｎは４以上の整数）の物理マシン２３、３３〜３ｎ上で動作する移動先の第２、第３〜第ｎ（ｎは４以上の整数）の仮想マシンを管理する仮想マシン管理部４１などの実行属性格納部４３などに格納される実行属性から物理マシンの存在している所在地を取得する（ステップＳ４１）。
【００８９】
次いで配置管理制御部１ａのデータ移転可能所在地一覧取得部１ａ−２は、第１の物理マシン上で動作する移動元の第１の仮想マシン１５を管理する仮想マシン管理部２１を通して第１の仮想マシン１５の許可属性からデータを利用可能な所在地の一覧を取得する（ステップＳ４２）。
【００９０】
ｋに２を設定する（ステップＳ４３）。ｋがｎ以下かどうかを判定する（ステップＳ４４）。ｎより大きい場合、処理を終了する（Ｅｎｄ）。ｎ以下（Ｙｅｓ）の場合、配置管理制御部１ａの識別子有無判定部１ａ−３は、第ｋの物理マシンから取得した物理マシンの実行属性格納部に格納されている所在地が前記データを利用可能な所在地の一覧に含まれているか否かをチェックする（ステップＳ４５）。
【００９１】
第ｋの物理マシンの存在している所在地が、前記データを利用可能な所在地の一覧に含まれていれば（Ｙｅｓ）、含まれている第ｋの物理マシンをライブマイグレーションを行う候補の物理マシンとして、例えば、情報処理装置１の表示部１ｂなどに表示する（ステップＳ４６）。
【００９２】
次に、ｋに１を加えた値を新たなｋとし、ステップＳ４４に進む（Ｓ４７）。
第ｋの物理マシンの存在している所在地が、前記データを利用可能な所在地の一覧に含まれていない場合（Ｎｏ）には、ｋに１を加えた値を新たなｋとし、ステップＳ４４に戻る（Ｓ４７）。
【００９３】
以上の処理により、本実施の形態によれば、複数の所在地にある仮想マシンを移動できる可能性のある一台以上の物理マシンの中から、仮想マシンをライブマイグレーションしても問題がない物理マシンの候補（移動可能候補一覧）を報知することができる。
【００９４】
上記の各実施の形態において、添付図面に図示されている構成等については、これらに限定されるものではなく、本発明の効果を発揮する範囲内で適宜変更することが可能である。その他、本発明の目的の範囲を逸脱しない限りにおいて適宜変更して実施することが可能である。また、本発明の各構成要素は、任意に取捨選択することができ、取捨選択した構成を具備する発明も本発明に含まれるものである。
【００９５】
また、本実施の形態で説明した機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。尚、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【産業上の利用可能性】
【００９６】
本発明は、仮想マシン管理システムに利用可能である。
【符号の説明】
【００９７】
Ａ…仮想マシン管理システム、３…サーバＸ（第１の物理マシン）、５…仮想マシン（Ａ）、７…メモリ（Ａ）、１５…仮想マシン（Ｂ）、１７…メモリ（Ｂ）、２１…仮想マシン管理部、２２、４３…実行属性格納部、２３…サーバＹ（第２の物理マシン）、２７…メモリ（Ｂ−１）、３３…第３の物理マシン、３５…仮想マシン（Ｃ）、３７…メモリ（Ｃ）、４１…仮想マシン管理部、５３…サーバＤ（の物理マシン）、５７…各種ＤＢ群、５５…利用情報出力部。
【図１】
2017211709.tif 000003
【図２】
2017211709.tif 000004
【図３】
2017211709.tif 000005
【図４】
2017211709.tif 000006
【図５】
2017211709.tif 000007
【図６】
2017211709.tif 000008
【図７】
2017211709.tif 000009
【図８】
2017211709.tif 000010
【図９】
2017211709.tif 000011
【図１０】
2017211709.tif 000012
【図１１】
2017211709.tif 000013
【図１２】
2017211709.tif 000014
【図１３】
2017211709.tif 000015