(57)【要約】【課題】異なるネットワーク間において仮想マシンの移行を行なう際、仮想マシンの同一性を適切に判定する。【解決手段】情報処理装置１は、第１判定部１１１と第２判定部１１３と第３判定部１１４とを備える。第１判定部１１１は、移行元の第１仮想マシンから移行先の第２仮想マシンが生成されると、第１仮想マシンの仕様を示す第１生成定義と第２仮想マシンの仕様を示す第２生成定義とが一致するかを判定する。第２判定部１１３は、第１仮想マシンにインストールされたソフトウェアの版数を示す第１版数情報と第２仮想マシンにインストールされたソフトウェアの版数を示す第２版数情報とが一致するかを判定する。第３判定部１１４は、第１生成定義と第２生成定義とが一致すると判定され、かつ、第１版数情報と第２版数情報とが一致すると判定された場合に、第１仮想マシンと第２仮想マシンとが同一の構成を有する仮想マシンであると判定する。【選択図】図１
2017167912.tif 000002
【特許請求の範囲】
【請求項１】
移行元の第１仮想マシンから移行先の第２仮想マシンが生成されると、前記第１仮想マシンの仕様を示す第１生成定義と前記第２仮想マシンの仕様を示す第２生成定義とが一致するかを判定する第１判定部と、
前記第１仮想マシンにインストールされたソフトウェアの版数を示す第１版数情報と前記第２仮想マシンにインストールされたソフトウェアの版数を示す第２版数情報とが一致するかを判定する第２判定部と、
前記第１判定部によって前記第１生成定義と前記第２生成定義とが一致すると判定され、かつ、前記第２判定部によって前記第１版数情報と前記第２版数情報とが一致すると判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する第３判定部と、
を備える、情報処理装置。
【請求項２】
前記第２判定部は、前記第１版数情報を含む検証定義を前記第２仮想マシンに対して実行することにより、前記第１版数情報と前記第２版数情報とが一致するかを判定し、
前記検証定義は、前記第１生成定義に基づいて作成され、前記第１版数情報が組み入れられる、
請求項１に記載の情報処理装置。
【請求項３】
前記第１仮想マシンとの通信が可能であるかを判定する第４判定部を更に備え、
前記第３判定部は、前記第４判定部によって前記第１仮想マシンとの通信が可能でないと判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する、
請求項１又は２に記載の情報処理装置。
【請求項４】
複製元の第１仮想マシンから複製先の第２仮想マシンが生成されると、前記第１仮想マシンの仕様を示す第１生成定義と前記第２仮想マシンの仕様を示す第２生成定義とが一致するかを判定する第１判定部と、
前記第１仮想マシンにインストールされたソフトウェアの版数を示す第１版数情報と前記第２仮想マシンにインストールされたソフトウェアの版数を示す第２版数情報とが一致するかを判定する第２判定部と、
前記第１判定部によって前記第１生成定義と前記第２生成定義とが一致すると判定され、かつ、前記第２判定部によって前記第１版数情報と前記第２版数情報とが一致すると判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する第３判定部と、
を備える、情報処理装置。
【請求項５】
第１計算機と、第２計算機と、当該第１及び第２計算機を管理する情報処理装置と、を有する情報処理システムであって、
前記第２計算機は、
前記第１計算機に展開された移行元の第１仮想マシンから、移行先の第２仮想マシンを生成する生成部を備え、
前記情報処理装置は、
前記生成部によって前記第２仮想マシンが生成されると、前記第１仮想マシンの仕様を示す第１生成定義と前記第２仮想マシンの仕様を示す第２生成定義とが一致するかを判定する第１判定部と、
前記第１仮想マシンにインストールされたソフトウェアの版数を示す第１版数情報と前記第２仮想マシンにインストールされたソフトウェアの版数を示す第２版数情報とが一致するかを判定する第２判定部と、
前記第１判定部によって前記第１生成定義と前記第２生成定義とが一致すると判定され、かつ、前記第２判定部によって前記第１版数情報と前記第２版数情報とが一致すると判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する第３判定部と、
を備える、情報処理システム。
【請求項６】
第１計算機と、第２計算機と、当該第１及び第２計算機を管理する情報処理装置と、を有する情報処理システムであって、
前記第２計算機は、
前記第１計算機に展開された複製元の第１仮想マシンから、複製先の第２仮想マシンを生成する生成部を備え、
前記情報処理装置は、
前記生成部によって前記第２仮想マシンが生成されると、前記第１仮想マシンの仕様を示す第１生成定義と前記第２仮想マシンの仕様を示す第２生成定義とが一致するかを判定する第１判定部と、
前記第１仮想マシンにインストールされたソフトウェアの版数を示す第１版数情報と前記第２仮想マシンにインストールされたソフトウェアの版数を示す第２版数情報とが一致するかを判定する第２判定部と、
前記第１判定部によって前記第１生成定義と前記第２生成定義とが一致すると判定され、かつ、前記第２判定部によって前記第１版数情報と前記第２版数情報とが一致すると判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する第３判定部と、
を備える、情報処理システム。
【請求項７】
情報処理装置に備えられるコンピュータに、
移行元の第１仮想マシンから移行先の第２仮想マシンが生成されると、前記第１仮想マシンの仕様を示す第１生成定義と前記第２仮想マシンの仕様を示す第２生成定義とが一致するかを判定し、
前記第１仮想マシンにインストールされたソフトウェアの版数を示す第１版数情報と前記第２仮想マシンにインストールされたソフトウェアの版数を示す第２版数情報とが一致するかを判定し、
前記第１生成定義と前記第２生成定義とが一致すると判定され、かつ、前記第１版数情報と前記第２版数情報とが一致すると判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する、
処理を実行させる、プログラム。
【請求項８】
第１計算機と、第２計算機と、当該第１及び第２計算機を管理する情報処理装置と、を有する情報処理システムにおいて、
前記第２計算機は、
前記第１計算機に展開された複製元の第１仮想マシンから、複製先の第２仮想マシンを生成し、
前記情報処理装置は、
前記第２仮想マシンが生成されると、前記第１仮想マシンの仕様を示す第１生成定義と前記第２仮想マシンの仕様を示す第２生成定義とが一致するかを判定し、
前記第１仮想マシンにインストールされたソフトウェアの版数を示す第１版数情報と前記第２仮想マシンにインストールされたソフトウェアの版数を示す第２版数情報とが一致するかを判定し、
前記第１生成定義と前記第２生成定義とが一致すると判定され、かつ、前記第１版数情報と前記第２版数情報とが一致すると判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する、
情報処理方法。
【請求項９】
第１仮想マシンに基づいて第２仮想マシンが生成されると、前記第１仮想マシンの仕様を示す第１生成定義と前記第２仮想マシンの仕様を示す第２生成定義とが一致するかを判定する第１判定部と、
前記第１仮想マシンにインストールされたソフトウェアの版数を示す第１版数情報と前記第２仮想マシンにインストールされたソフトウェアの版数を示す第２版数情報とが一致するかを判定する第２判定部と、
前記第１判定部によって前記第１生成定義と前記第２生成定義とが一致すると判定され、かつ、前記第２判定部によって前記第１版数情報と前記第２版数情報とが一致すると判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する第３判定部と、
を備える、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、プログラム及び情報処理方法に関する。
【背景技術】
【０００２】
仮想化環境の情報処理システムにおいて、仮想ホストの故障等が発生した場合には、業務継続のために、仮想マシンを正常な他の仮想ホストへ移動するマイグレーションが行なわれる。
【０００３】
マイグレーションは、管理サーバの指示に起因せずに発生する場合もあるため、仮想化環境の構成管理を実施するソフトウェアは、発生したマイグレーションを検知し、移動前後の仮想マシンが同一であると判定し、継続して構成管理を実施する。
【０００４】
ローカルネットワーク内（例えば、「企業内」）における仮想マシンのマイグレーションは、例えば、同種の仮想ホスト間で、仮想マシンイメージ（「イメージディスク」と称されてもよい。）をコピーすることにより実施される。この場合には、例えば、以下のいずれかの方法によって、移動前後の仮想マシンが同一であると判定される。
【０００５】
（１）仮想マシンのネットワークポートのＭＡＣ（Media Access Control）アドレスで判定する。
（２）仮想マシンに対して仮想ホストが割り当てた一意な識別子で判定する。
（３）仮想マシンにインストールされたエージェントが生成した一意な識別子で判定する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２０１５／０９２８４７号パンフレット
【特許文献２】特開２０１１−２１０１５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
マルチクラウドの普及に伴い、マイグレーションが、ローカルネットワーク内だけでなく、ローカルネットワークとパブリッククラウドとの間、又はパブリッククラウド間で行なわれることが想定される。仮想ホストの種類は様々となり、移動方法も、仮想マシンイメージのコピーではなく、仮想マシンの生成定義から新たな仮想マシンをマイグレーション先に生成することがある。
【０００８】
クラウド毎に独自に仮想マシンが同一であるかを判定するための識別子が付与されると、上述した従来の方法では、仮想マシンが同一であるかの判定を行なえないおそれがある。
【０００９】
１つの側面では、本発明は、異なるネットワーク間において仮想マシンの移行を行なう場合に、仮想マシンの同一性を適切に判定することを目的とする。
【課題を解決するための手段】
【００１０】
このため、この情報処理装置は、移行元の第１仮想マシンから移行先の第２仮想マシンが生成されると、前記第１仮想マシンの仕様を示す第１生成定義と前記第２仮想マシンの仕様を示す第２生成定義とが一致するかを判定する第１判定部と、前記第１仮想マシンにインストールされたソフトウェアの版数を示す第１版数情報と前記第２仮想マシンにインストールされたソフトウェアの版数を示す第２版数情報とが一致するかを判定する第２判定部と、前記第１判定部によって前記第１生成定義と前記第２生成定義とが一致すると判定され、かつ、前記第２判定部によって前記第１版数情報と前記第２版数情報とが一致すると判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する第３判定部と、を備える。
【発明の効果】
【００１１】
開示の情報処理装置によれば、異なるネットワーク間において仮想マシンの移行を行なう場合に、仮想マシンの同一性を適切に判定することができる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態の一例としての情報処理システムのハードウェア構成を模式的に示す図である。
【図２】関連技術のマイグレーション処理の第１の例を説明する図である。
【図３】関連技術のマイグレーション処理の第１の例を説明するフローチャートである。
【図４】関連技術のマイグレーション処理の第２の例を説明する図である。
【図５】第１実施形態の一例としての情報処理システムのソフトウェア構成を模式的に示す図である。
【図６】第１実施形態の一例としての情報処理システムにおける検証定義の作成手法を例示する図である。
【図７】第１実施形態の一例としての情報処理システムにおけるサーバ構成ＤＢ（データベース）を例示する図である。
【図８】第１実施形態の一例としての情報処理システムにおけるマイグレーション処理を説明するフローチャートである。
【図９】第１実施形態の一例としての情報処理システムにおける仮想マシン判定処理を説明するフローチャートである。
【図１０】第１実施形態の一例としての情報処理システムにおける検証定義作成処理を説明するフローチャートである。
【図１１】第２実施形態の一例としての情報処理システムのハードウェア構成を模式的に示す図である。
【図１２】第２実施形態の一例としての情報処理システムのソフトウェア構成を模式的に示す図である。
【図１３】第２実施形態の一例としての情報処理システムにおけるサーバ構成ＤＢを例示する図である。
【図１４】第２実施形態の一例としての情報処理システムにおけるスケールアウト処理を説明するフローチャートである。
【図１５】第２実施形態の一例としての情報処理システムにおける仮想マシン判定処理を説明するフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。
【００１４】
また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【００１５】
以下、図中において、同一の各符号は同様の部分を示しているので、その説明は省略する。
【００１６】
〔Ａ〕第１実施形態の一例
〔Ａ−１〕システム構成
図１は、第１実施形態の一例としての情報処理システム１００の構成を模式的に示す図である。
【００１７】
情報処理システム１００は、図１に示されるように、管理サーバ１及び複数（図示する例では６つ）の計算機２を備える。管理サーバ１と複数の計算機２とは、互いに通信可能に接続される。
【００１８】
複数の計算機２は、クラウド２００（クラウド＃１及び＃２）上に備えられる。図１に示される例では、クラウド＃１及び＃２は、ともに計算機２を３つずつ備える。
【００１９】
情報処理システム１００は、複数のクラウド２００間において、計算機２に展開される仮想マシン２０（図５等を用いて後述）のマイグレーション（「移行」と称されてもよい。）を実施する。例えば、情報処理システム１００は、クラウド＃１の計算機２に展開される仮想マシン２０と同一の構成を有する仮想マシン２０をクラウド＃２の計算機２に生成する。
【００２０】
計算機２は、ＣＰＵ（Central Processing Unit）２１、メモリ２２及び記憶装置２３を備える。図１においては、１つの計算機２に限って、そのハードウェア構成を図示する。
【００２１】
記憶装置２３は、データを読み書き可能に記憶する装置であり、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）、ＳＣＭ（Storage Class Memory）が用いられてよい。
【００２２】
メモリ２２は、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）を含む記憶装置である。メモリ２２のＲＯＭには、ＢＩＯＳ（Basic Input/Output System）等のプログラムが書き込まれてよい。メモリ２２のソフトウェアプログラムは、ＣＰＵ２１に適宜に読み込まれて実行されてよい。また、メモリ２２のＲＡＭは、一次記録メモリあるいはワーキングメモリとして利用されてよい。
【００２３】
ＣＰＵ２１は、種々の制御や演算を行なう処理装置であり、メモリ２２に格納されたＯＳ（Operating System）やプログラムを実行することにより、種々の機能を実現する。すなわち、ＣＰＵ２１は、図１に示すように、生成部２１１として機能してよい。
【００２４】
なお、生成部２１１としての機能を実現するためのプログラムは、例えばフレキシブルディスク、ＣＤ（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ等）、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ＋Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、ＨＤ  ＤＶＤ等）、ブルーレイディスク、磁気ディスク、光ディスク、光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供されてよい。そして、コンピュータ（本実施形態ではＣＰＵ２１）は上述した記録媒体から図示しない読取装置を介してプログラムを読み取って内部記録装置または外部記録装置に転送し格納して用いてよい。また、プログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、記憶装置から通信経路を介してコンピュータに提供してもよい。
【００２５】
生成部２１１としての機能を実現する際には、内部記憶装置（本実施形態ではメモリ２２）に格納されたプログラムがコンピュータ（本実施形態ではＣＰＵ２１）によって実行されてよい。また、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
【００２６】
生成部２１１は、仮想マシン２０（図５等を用いて後述）のマイグレーションを実施する。具体的には、生成部２１１は、移行元の計算機２に展開された仮想マシン２０から、移行先の計算機２に仮想マシン２０を生成する。生成部２１１は、移行元の仮想マシン２０の生成に使用された生成定義３１（図５等を用いて後述）を用いて、移行先の仮想マシン２０を生成してよい。
【００２７】
また、生成部２１１は、移行先の仮想マシン２０の生成に用いた生成定義３１のハッシュ値を管理サーバ１に通知してよい。
【００２８】
管理サーバ１は、ＣＰＵ１１、メモリ１２及び記憶装置１３を備える。
【００２９】
記憶装置１３は、データを読み書き可能に記憶する装置であり、例えば、ＨＤＤやＳＳＤ、ＳＣＭが用いられてよい。
【００３０】
メモリ１２は、ＲＯＭ及びＲＡＭを含む記憶装置である。メモリ１２のＲＯＭには、ＢＩＯＳ等のプログラムが書き込まれてよい。メモリ１２のソフトウェアプログラムは、ＣＰＵ１１に適宜に読み込まれて実行されてよい。また、メモリ１２のＲＡＭは、一次記録メモリあるいはワーキングメモリとして利用されてよい。
【００３１】
ＣＰＵ１１は、種々の制御や演算を行なう処理装置であり、メモリ１２に格納されたＯＳやプログラムを実行することにより、種々の機能を実現する。すなわち、ＣＰＵ１１は、図１に示すように、生成定義判定部１１１、通信判定部１１２、検証定義判定部１１３、仮想マシン判定部１１４及びＤＢ（データベース）管理部１１５として機能してよい。
【００３２】
なお、これらの生成定義判定部１１１、通信判定部１１２、検証定義判定部１１３、仮想マシン判定部１１４及びＤＢ管理部１１５としての機能を実現するためのプログラムは、例えばフレキシブルディスク、ＣＤ（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ等）、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ＋Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、ＨＤ  ＤＶＤ等）、ブルーレイディスク、磁気ディスク、光ディスク、光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供されてよい。そして、コンピュータ（本実施形態ではＣＰＵ１１）は上述した記録媒体から図示しない読取装置を介してプログラムを読み取って内部記録装置または外部記録装置に転送し格納して用いてよい。また、プログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、記憶装置から通信経路を介してコンピュータに提供してもよい。
【００３３】
生成定義判定部１１１、通信判定部１１２、検証定義判定部１１３、仮想マシン判定部１１４及びＤＢ管理部１１５としての機能を実現する際には、内部記憶装置（本実施形態ではメモリ１２）に格納されたプログラムがコンピュータ（本実施形態ではＣＰＵ１１）によって実行されてよい。また、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
【００３４】
生成定義判定部１１１、通信判定部１１２、検証定義判定部１１３、仮想マシン判定部１１４及びＤＢ管理部１１５の機能を説明する前に、図２〜図４を用いて、関連技術としての情報処理システム６００及び６００ａについて説明する。
【００３５】
図２は関連技術のマイグレーション処理の第１の例を説明する図であり、図３は関連技術のマイグレーション処理の第１の例を説明するフローチャートである。
【００３６】
関連技術の情報処理システム６００は、図２に示されるように、管理サーバ６、計算機（図２には不図示）及びリポジトリ８を備える。
【００３７】
計算機は、複数のクラウド７００（クラウド＃１及び＃２）上に備えられ、仮想マシン７０（仮想マシン＃１及び＃１ａ）を展開する。図２に示される例において、クラウド＃１上の計算機には仮想マシン＃１が展開され、クラウド＃２上の計算機には仮想マシン＃１ａが展開される。
【００３８】
管理サーバ６は、構成管理ソフトウェア６０１を備える。構成管理ソフトウェア６０１は、仮想マシン７０に対して、マイグレーションの指示等を行なう。
【００３９】
仮想マシン７０は、エージェント７０１、ソフトウェア７０２及び生成定義８１を備える。
【００４０】
仮想マシン＃１は、図２に示される例において、ソフトウェア７０２としてソフトウェアＡ及びＢ２を備え、生成定義８１として生成定義＃１を備える。
【００４１】
エージェント７０１は、移行元の仮想マシン７０から、移行先の仮想マシン７０を生成する。
【００４２】
リポジトリ８（リポジトリ＃１）は、仮想マシン＃１及び＃２からアクセス可能であり、ソフトウェア７０２を格納する。
【００４３】
ここで、クラウド＃１上の仮想マシン＃１を仮想マシン＃１ａとしてクラウド＃２上にマイグレーションさせる処理（ステップＳ１〜Ｓ３）を、図２を参照しながら、図３に示すフローチャートに従って説明する。
【００４４】
仮想マシン＃１のエージェント７０１は、クラウド＃１において、生成定義＃１から仮想マシン＃１を生成する（ステップＳ１）。仮想マシン＃１のエージェント７０１は、生成定義＃１に規定されたソフトウェア名に基づいてリポジトリ＃１からソフトウェア７０２をダウンロードすることにより、仮想マシン＃１を生成してよい。
【００４５】
仮想マシン＃１のエージェント７０１は、仮想マシン＃１を仮想マシン＃１ａとしてクラウド＃１からクラウド＃２へマイグレーションする際、クラウド＃１の仮想マシン＃１を削除する（ステップＳ２）。
【００４６】
仮想マシン＃１ａのエージェント７０１は、クラウド＃２において、生成定義＃１から仮想マシン＃１ａを生成する（ステップＳ３）。仮想マシン＃１ａのエージェント７０１は、生成定義＃１に規定されたソフトウェア名に基づいてリポジトリ＃１からソフトウェア７０２をダウンロードすることにより、仮想マシン＃１ａを生成してよい。そして、処理は終了する。
【００４７】
構成管理ソフトウェア６０１は、マイグレーションの完了後、マイグレーション元の仮想マシン＃１とマイグレーション先の仮想マシン＃１ａとが同一の構成を有する仮想マシン７０であるかを判定する。
【００４８】
仮想マシン７０の識別子はクラウド７００毎に独立して付与され、図２に示される例では、仮想マシン＃１には識別子“ｉｄ１”が付与されるとともに、仮想マシン＃１ａには識別子“ｉｄ２”が付与される。
【００４９】
ローカルネットワーク内における仮想マシンのマイグレーションにおいては、仮想マシン毎にユニークな識別子が採番され、マイグレーション前と同じ識別子によってマイグレーション後の仮想マシンを参照することが可能である。
【００５０】
しかしながら、図２に示すマルチクラウド環境の情報処理システム６００においては、別のクラウド７００で生成定義８１から仮想マシン７０が再作成される。これにより、クラウド７００毎に異なる識別子が採番されるため、構成管理ソフトウェア６０１は、仮想マシン＃１と仮想マシン＃１ａとが同一の構成を有する仮想マシンで７０であると判定できない。
【００５１】
図４は、関連技術のマイグレーション処理の第２の例を説明する図である。
【００５２】
関連技術の情報処理システム６００ａは、図４に示されるように、管理サーバ（図４には不図示）、計算機（図４には不図示）及びリポジトリ８ａを備える。
【００５３】
計算機は、複数のクラウド７００ａ（クラウド＃１〜＃３）上に備えられ、仮想マシン７０ａ（仮想マシン＃１〜＃３）を展開する。図４に示される例において、クラウド＃１上の計算機には仮想マシン＃１が展開され、クラウド＃２上の計算機には仮想マシン＃２が展開され、クラウド＃３上の計算機には仮想マシン＃３が展開される。
【００５４】
仮想マシン７０は、エージェント（図４には不図示）、ソフトウェア７０２、生成定義８１ａ及び実行ログ８２ａを備える。
【００５５】
仮想マシン＃１は、図４に示される例において、生成定義８１ａに示されるように、ソフトウェア７０２として“Ｓｏｆｔｗａｒｅ  Ａ”及び“Ｓｏｆｔｗａｒｅ  Ｂ”を備える。また、仮想マシン＃１において、実行ログ８２ａに示されるように、“Ｓｏｆｔｗａｒｅ  Ａ”のバージョンは“１．０”であり、“Ｓｏｆｔｗａｒｅ  Ｂ”のバージョンは“２．０”である。
【００５６】
リポジトリ８ａは、仮想マシン７０ａからアクセス可能であり、ソフトウェア７０２を記憶する。具体的には、リポジトリ＃１は、仮想マシン＃１及び＃２からアクセス可能であり、バージョン“１．０”の“ソフトウェアＡ”及びバージョン“２．０”の“ソフトウェアＢ”を記憶する。また、リポジトリ＃２は、仮想マシン＃３からアクセス可能であり、バージョン“２．０”の“ソフトウェアＡ”及びバージョン“２．０”の“ソフトウェアＢ”を記憶する。
【００５７】
図４においては、クラウド＃１の仮想マシン＃１から、クラウド＃２の仮想マシン＃２及びクラウド＃３の仮想マシン＃３へマイグレーションを行なう例を説明する。
【００５８】
仮想マシン＃２のエージェント（図４には不図示）は、クラウド＃２において、生成定義８１ａから仮想マシン＃２を生成する。仮想マシン＃２のエージェントは、生成定義８１ａに規定されたソフトウェア名に基づいてリポジトリ＃１からソフトウェア７０２をダウンロードすることにより、仮想マシン＃２を作成してよい。
【００５９】
仮想マシン＃３のエージェント（図４には不図示）は、クラウド＃３において、生成定義８１ａから仮想マシン＃３を生成する。仮想マシン＃３のエージェントは、生成定義８１ａに規定されたソフトウェア名に基づいてリポジトリ＃２からソフトウェア７０２をダウンロードすることにより、仮想マシン＃３を作成してよい。
【００６０】
仮想マシン＃２においては、生成定義８１ａ及び実行ログ８２ａに示されるように、リポジトリ＃１に記憶されているバージョン“１．０”の“ソフトウェアＡ”及びバージョン“２．０”の“ソフトウェアＢ”がインストールされる。一方、仮想マシン＃２においては、生成定義８１ａ及び実行ログ８２ａに示されるように、リポジトリ＃２に記憶されているバージョン“２．０”の“ソフトウェアＡ”及びバージョン“２．０”の“ソフトウェアＢ”がインストールされる。
【００６１】
図４に示される例において、仮想マシン＃１及び＃２の生成定義８１ａは同一であるとともに、仮想マシン＃１及び＃２の実行ログ８２ａも同一である。一方、仮想マシン＃１及び＃３の生成定義８１ａは同一であるが、仮想マシン＃１と仮想マシン＃３とでは実行ログ８２ａが相違する。具体的には、リポジトリ＃１に接続されている仮想マシン＃１の実行ログ８２ａにおいて“ソフトウェアＡ”のバージョンは“１．０”であるのに対し、リポジトリ＃２に接続されている仮想マシン＃３において“ソフトウェアＡ”のバージョンは“２．０”である。
【００６２】
すなわち、クラウド７００ａ毎に参照するリポジトリ８ａが異なるため、同じ生成定義８１ａから生成された仮想マシン７０ａでも同じバージョンレベルのソフトウェア７０２がインストールされない場合がある。これにより、管理サーバの構成管理ソフトウェア（図４には不図示）は、生成定義８１が同一であるか否かに限って判定を行なうと、異なる仮想マシン７０ａを同一の構成を有する仮想マシン７０ａであると判定してしまう。
【００６３】
第１実施形態の一例における情報処理システム１００は、異なるネットワーク間において仮想マシン２０の移行を行なう場合に、仮想マシン２０の同一性を適切に判定するために、図１に示されたハードウェア構成及び図５に示されるソフトウェア構成を有する。
【００６４】
図５は、第１実施形態の一例としての情報処理システム１００のソフトウェア構成を模式的に示す図である。
【００６５】
計算機２（図５には不図示）は、複数のクラウド２００（クラウド＃１〜＃３）上に備えられ、仮想マシン２０（仮想マシン＃１〜＃３）を展開する。図５に示される例において、クラウド＃１上の計算機２には仮想マシン＃１が展開され、クラウド＃２上の計算機２には仮想マシン＃２が展開され、クラウド＃３上の計算機２には仮想マシン＃３が展開される。
【００６６】
管理サーバ１は、構成管理ソフトウェア１０１、サーバ構成ＤＢ１０２、生成定義３１及び検証定義３３を備える。
【００６７】
構成管理ソフトウェア１０１は、仮想マシン２０に対して、マイグレーションの指示等を行なう。
【００６８】
サーバ構成ＤＢ１０２は、情報処理システム１００において生成された仮想マシン２０に関する情報を含む。サーバ構成ＤＢ１０２は、例えば、図１に示した記憶装置１３に記憶されてよい。なお、サーバ構成ＤＢ１０２の詳細については、図７を用いて後述する。
【００６９】
生成定義３１は、情報処理システム１００において生成された仮想マシン２０の仕様を示す。生成定義３１は、例えば、図１に示された管理サーバ１の記憶装置１３に記憶されてよい。
【００７０】
生成定義３１は、例えば、以下の（１）〜（３）のいずれかであってよい。
（１）Cehf/Itamaeのレシピ
（２）Ansibleのplaybook
（３）OpenStack HeatのHeat Orchestration Template (HOT)
【００７１】
検証定義３３は、仮想マシン２０が正常に生成されたことを検証するためのプログラムであり、仮想マシン２０にインストールされたソフトウェアのバージョンを示す情報を含む。検証定義３３は、例えば、serverspecであってよい。検証定義３３は、例えば、図１に示された記憶装置１３に記憶されてよい。なお、検証定義３３の作成手法については、図６を用いて後述する。
【００７２】
仮想マシン２０は、エージェント２０１、ソフトウェア２０２、生成定義３１及び実行ログ３２を備える。
【００７３】
仮想マシン＃１は、図５に示される例において、ソフトウェア２０２としてソフトウェアＡ及びＢを備え、生成定義３１として生成定義＃１を備える。また、仮想マシン＃２は、図５に示される例において、ソフトウェア２０２としてソフトウェアＣ及びＤを備え、生成定義３１として生成定義＃２を備える。更に、仮想マシン＃３は、図５に示される例において、ソフトウェア２０２としてソフトウェアＡ１及びＢ１を備え、生成定義３１として生成定義＃１を備える。
【００７４】
生成定義３１は、例えば、図１に示した計算機２の記憶装置２３に記憶されてよい。
【００７５】
実行ログ３２は、仮想マシン２０の生成の際の実行ログである。実行ログ３２は、例えば、図１に示した計算機２の記憶装置２３に記憶されてよい。なお、実行ログ３２の詳細については、図６を用いて後述する。
【００７６】
エージェント２０１は、図１に示した計算機２の生成部２１１に対応し、仮想マシン２０のマイグレーションを実施する。図５に示される例において、エージェント２０１は、生成定義＃１に基づき、移行元の仮想マシン＃１から移行先の仮想マシン＃３を生成する。
【００７７】
リポジトリ３は、仮想マシン２０からアクセス可能であり、ソフトウェア２０２を記憶する。具体的には、リポジトリ＃１は、仮想マシン＃１及び＃２からアクセス可能であり、ソフトウェアＡ〜Ｄを記憶する。また、リポジトリ＃２は、仮想マシン＃３からアクセス可能であり、ソフトウェアＡ１及びＢ１を記憶する。
【００７８】
以下、図１に示した管理サーバ１が備えるＣＰＵ１１の生成定義判定部１１１、通信判定部１１２、検証定義判定部１１３、仮想マシン判定部１１４及びＤＢ管理部１１５について説明する。
【００７９】
生成定義判定部１１１は、第１判定部の一例であり、２つの仮想マシン２０の生成に用いられた生成定義３１が一致するかを判定する。具体的には、生成定義判定部１１１は、生成部２１１によって移行先の仮想マシン２０が生成されると、２つの仮想マシン２０の生成に用いられた生成定義３１が一致するかを判定してよい。
【００８０】
別言すれば、生成定義判定部１１１は、第１仮想マシン２０に基づいて第２仮想マシン２０が生成されると、第１仮想マシン２０の仕様を示す第１生成定義３１と第２仮想マシン２０の仕様を示す第２生成定義３１とが一致するかを判定する。
【００８１】
図５に示される例において、生成定義判定部１１１は、移行先の仮想マシン＃３が生成されると、仮想マシン＃１の生成に用いられた生成定義＃１と、仮想マシン＃３の生成に用いられた生成定義＃１とが一致するかを判定する。
【００８２】
生成定義判定部１１１は、移行先の仮想マシン２０から生成定義３１のハッシュ値を取得してよい。そして、生成定義判定部１１１は、取得した生成定義３１のハッシュ値と一致する生成定義３１のハッシュ値をサーバ構成ＤＢ１０２から抽出してよい。
【００８３】
通信判定部１１２は、第４判定部の一例であり、移行元の仮想マシン２０との通信が可能であるかを判定する。
【００８４】
図５に示される例において、通信判定部１１２は、移行元の仮想マシン＃１との通信が可能であるかを判定する。
【００８５】
検証定義判定部１１３は、第２判定部の一例であり、移行元の仮想マシン２０にインストールされたソフトウェア２０２のバージョンに関する情報を含む検証定義３３を移行先の仮想マシン２０に実行させる。具体的には、検証定義判定部１１３は、移行元の仮想マシン２０の生成定義３１と実行ログ３２とに基づいて作成された検証定義３３を、移行先の仮想マシン２０に実行させる。そして、検証定義判定部１１３は、移行先の仮想マシン２０において、検証定義３３が正常に実行されたかを判定する。
【００８６】
これにより、移行元の仮想マシン２０にインストールされたソフトウェア２０２のバージョンと、移行先の仮想マシン２０にインストールされたソフトウェア２０２のバージョンとが一致するかを効率的に判定できる。
【００８７】
別言すれば、検証定義判定部１１３は、第１版数情報と第２版数情報とが一致するかを判定する。ここで、第１版数情報は移行元の仮想マシン２０にインストールされたソフトウェア２０２のバージョンを示し、第２版数情報は移行先の仮想マシン２０にインストールされたソフトウェア２０２のバージョンを示す。
【００８８】
図５に示される例において、検証定義判定部１１３は、仮想マシン＃１の生成定義＃１と実行ログ３２とに基づいて作成された検証定義３３を、仮想マシン＃３に実行させる。そして、検証定義判定部１１３は、仮想マシン＃３において、検証定義３３が正常に実行されたかを判定する。
【００８９】
別言すれば、図５に示される例において、検証定義判定部１１３は、仮想マシン＃１のソフトウェアＡ及びＢのバージョンと、仮想マシン＃３のソフトウェアＡ１及びＢ１のバージョンとが一致するかを判定する。
【００９０】
仮想マシン判定部１１４は、第３判定部の一例であり、移行元の仮想マシン２０と、移行先の仮想マシン２０とが、同一の構成を有する仮想マシン２０であるかを判定する。
【００９１】
別言すれば、仮想マシン判定部１１４は、生成定義判定部１１１によって生成定義３１が一致すると判定され、かつ、検証定義判定部１１３によって版数情報が一致すると判定された場合に、２つの仮想マシン２０が同一の構成を有すると判定する。
【００９２】
生成定義判定部１１１によって生成定義３１が一致すると判定された場合とは、移行元の仮想マシン２０と移行先の仮想マシン２０との生成に用いられた生成定義３１が一致すると判定された場合である。また、検証定義判定部１１３によって版数情報が一致すると判定された場合とは、移行先の仮想マシン２０に係る第１版数情報と、移行先の仮想マシン２０に係る第２版数情報とが、一致すると判定された場合である。
【００９３】
これにより、異なるネットワーク間において仮想マシン２０の移行を行なう場合に、仮想マシン２０の同一性を適切に判定することができる。
【００９４】
図５に示される例において、仮想マシン判定部１１４は、仮想マシン＃１及び＃３の生成定義＃１が一致し、かつ、仮想マシン＃１のソフトウェアＡ及びＢのバージョンと仮想マシン＃３のソフトウェアＡ１及びＢ１のバージョンとが一致するかを判定する。そして、仮想マシン判定部１１４は、生成定義３１が一致し、かつ、ソフトウェア２０２のバージョンが一致する場合に、仮想マシン＃１と仮想マシン＃３とは同一の構成を有する仮想マシン２０であると判定する。
【００９５】
また、仮想マシン判定部１１４は、生成定義判定部１１１及び検証定義判定部１１３による判定結果に加えて、通信判定部１１２による判定結果に基づいて、２つの仮想マシン２０が同一の構成を有するかを判定してよい。具体的には、仮想マシン判定部１１４は、生成定義判定部１１１及び検証定義判定部１１３による判定結果に加えて、移行元の仮想マシン２０と通信可能でないと判定された場合に、２つの仮想マシン２０が同一の構成を有すると判定してよい。
【００９６】
マイグレーションにおいては移行元の仮想マシン２０が破棄されて管理サーバ１と通信可能でなくなるため、移行元の仮想マシン２０との通信の可否を判定することにより、マイグレーションによって生成された移行先の仮想マシン２０の同一性を適切に判定できる。
【００９７】
図５に示される例において、仮想マシン判定部１１４は、生成定義判定部１１１及び検証定義判定部１１３による判定結果に加えて、移行元の仮想マシン＃１と通信可能でないと判定された場合に、仮想マシン＃１及び＃３は同一の構成を有すると判定してよい。
【００９８】
ＤＢ管理部１１５は、仮想マシン判定部１１４による判定結果に基づき、サーバ構成ＤＢ１０２を更新する。
【００９９】
具体的には、ＤＢ管理部１１５は、移行元の仮想マシン２０と移行先の仮想マシン２０とが同一の構成を有すると判定された場合に、サーバ構成ＤＢ１０２において、移行元の仮想マシン２０に係る情報を、移行先の仮想マシン２０に係る情報で上書きする。
【０１００】
また、ＤＢ管理部１１５は、移行元の仮想マシン２０と移行先の仮想マシン２０とが同一の構成を有しないと判定された場合に、移行先の仮想マシン２０に係る情報を新たにサーバ構成ＤＢ１０２に追加する。
【０１０１】
図６は、第１実施形態の一例としての情報処理システム１００における検証定義３３の作成手法を例示する図である。
【０１０２】
図６に例示されるように、検証定義３３は、生成定義３１に基づいて作成され、作成された生成定義３１に対して実行ログ３２に関する情報（別言すれば、「版数情報」）が組み込まれることによって作成される。検証定義３３は、例えば、管理サーバ１のＣＰＵ１１（別言すれば、「構成管理ソフトウェア１０１」）によって作成されてよい。
【０１０３】
図７は、第１実施形態の一例としての情報処理システム１００におけるサーバ構成ＤＢ１０２を例示する図である。
【０１０４】
サーバ構成ＤＢ１０２は、ＩＤ，ＩＰ（Internet Protocol）アドレス，クラウド情報，生成定義（ハッシュ値）及び検証定義を含む。
【０１０５】
ＩＤは、仮想マシン２０の識別子を示す。
【０１０６】
ＩＰアドレスは、仮想マシン２０のＩＰアドレスを示す。
【０１０７】
クラウド情報は、仮想マシン２０が展開される計算機２が所属するクラウド２００を特定する情報である。
【０１０８】
生成定義（ハッシュ値）は、仮想マシン２０の生成に用いられた生成定義３１のハッシュ値を示す。
【０１０９】
検証定義は、仮想マシン２０の検証に用いられる検証定義３３を示す。
【０１１０】
図７に例示されるサーバ構成ＤＢ１０２は、クラウド２００間にまたがるマイグレーション後の仮想マシン２０の構成を示す。
【０１１１】
すなわち、仮想マシン＃１は、ＩＤ“１１ａａ２２”，ＩＰアドレス“１９２．１６８．１１．１”，クラウド情報“クラウド＃１”，生成定義のハッシュ値“ＡＡＢＢＣＣ・・・”及び検証定義“ｓｐｅｃ１．ｒｂ”で示される。また、仮想マシン＃２は、ＩＤ“ｘｘ２２ｙｙ”，ＩＰアドレス“１９２．１６８．２２．１１”，クラウド情報“クラウド＃２”，生成定義のハッシュ値“１１２３５８Ｃ・・・”及び検証定義“ｓｐｅｃ２．ｒｂ”で示される。更に、仮想マシン＃３は、ＩＤ“１２３４５６”，ＩＰアドレス“２００１：ｄｂ８：：９ａｂｃ”，クラウド情報“クラウド＃３”，生成定義のハッシュ値“２２ＡＥＢＣ・・・”及び検証定義“ｓｐｅｃ３．ｒｂ”で示される。
【０１１２】
このように、クラウド２００間にまたがるマイグレーション後のサーバ構成ＤＢ１０２は、各仮想マシン２０について互いに異なる情報を有する。
【０１１３】
〔Ａ−２〕動作
上述の如く構成された実施形態の一例としての情報処理システム１００におけるマイグレーション処理（ステップＳ１１〜Ｓ１３）を、図８に示すフローチャートに従って説明する。
【０１１４】
マイグレーションの移行先の計算機２の生成部２１１は、生成定義３１から移行先の仮想マシン２０を生成する（ステップＳ１１）。
【０１１５】
マイグレーションの移行元の計算機２のＣＰＵ２１は、移行元の仮想マシン２０を破棄する（ステップＳ１２）。
【０１１６】
管理サーバ１のＤＢ管理部１１５は、マイグレーション結果に基づき、サーバ構成ＤＢ１０２を更新し（ステップＳ１３）、処理は終了する。
【０１１７】
次に、実施形態の一例としての情報処理システム１００における仮想マシン判定処理（ステップＳ２１〜Ｓ２９）を、図９に示すフローチャートに従って説明する。
【０１１８】
移行先の計算機２の生成部２１１は、生成定義３１から移行先の仮想マシン２０を生成する（ステップＳ２１）。
【０１１９】
移行先の計算機２の生成部２１１は、生成定義３１のハッシュ値を管理サーバ１に通知する（ステップＳ２２）。
【０１２０】
管理サーバ１の生成定義判定部１１１は、計算機２から送信された生成定義３１のハッシュ値を取得する（ステップＳ２３）。
【０１２１】
生成定義判定部１１１は、サーバ構成ＤＢ１０２の中から、生成定義３１のハッシュ値が取得した生成定義３１のハッシュ値と一致する仮想マシン２０に係る情報を抽出する（ステップＳ２４）。
【０１２２】
通信判定部１１２は、ステップＳ２４において抽出した情報の中から、仮想マシン２０のエージェント２０１と通信できない仮想マシン２０に係る情報を抽出する（ステップＳ２５）。
【０１２３】
通信判定部１１２は、ステップＳ２５において抽出した仮想マシン２０に係る情報が存在するかを判定する（ステップＳ２６）。
【０１２４】
ステップＳ２５において抽出した仮想マシン２０に係る情報が存在しない場合には（ステップＳ２６のＮｏルート参照）、処理はステップＳ２９へ移行する。
【０１２５】
一方、ステップＳ２５において抽出した仮想マシン２０に係る情報が存在する場合には（ステップＳ２６のＹｅｓルート参照）、検証定義判定部１１３は、移行先の仮想マシン２０で検証定義３３を実行する。そして、検証定義判定部１１３は、検証定義３３を正常に実行できたかにより、移行元の仮想マシン２０と移行先の仮想マシン２０とにおけるソフトウェア２０２のバージョンが一致するかを判定する（ステップＳ２７）。
【０１２６】
ソフトウェア２０２のバージョンが一致する場合には（ステップＳ２７のＹｅｓルート参照）、仮想マシン判定部１１４は、移行元の仮想マシン２０と移行先の仮想マシン２０とが同一の構成を有する仮想マシン２０であると判断する。そして、ＤＢ管理部１１５は、サーバ構成ＤＢ１０２において、移行元の仮想マシン２０に係る情報を移行先の仮想マシン２０に係る情報で上書きして更新し（ステップＳ２８）、処理は終了する。
【０１２７】
一方、ソフトウェア２０２のバージョンが一致しない場合には（ステップＳ２７のＮｏルート参照）、仮想マシン判定部１１４は、移行元の仮想マシン２０と移行先の仮想マシン２０とが同一の構成を有しない仮想マシン２０であると判断する。そして、ＤＢ管理部１１５は、サーバ構成ＤＢ１０２に対して、移行先の仮想マシン２０に係る情報を新たに追加し（ステップＳ２９）、処理は終了する。
【０１２８】
次に、実施形態の一例としての情報処理システム１００における検証定義作成処理（ステップＳ３１〜Ｓ３５）を、図１０に示すフローチャートに従って説明する。
【０１２９】
管理サーバ１は、仮想マシン２０から取得した生成定義３１をパース（別言すれば、「構造分析」）して、ＡＳＴ（Abstract Syntax Tree；構文木）を生成する（ステップＳ３１）。
【０１３０】
管理サーバ１は、ステップＳ３１において生成したＡＳＴを基に、検証定義３３（例えば、ｓｅｒｖｅｒｓｐｅｃ．ｒｂ）を生成する（ステップＳ３２）。
【０１３１】
管理サーバ１は、仮想マシン２０から取得した実行ログ３２から、仮想マシン２０にインストールされたソフトウェア２０２のバージョン情報を抽出する（ステップＳ３３）。
【０１３２】
管理サーバ１は、ステップＳ３３において抽出したバージョン情報をステップＳ３２において生成した検証定義３３に埋め込む（ステップＳ３４）。
【０１３３】
管理サーバ１は、ステップＳ３４によって生成された検証定義３３を移行先の仮想マシン２０に実行させて（ステップＳ３５）、処理は終了する。
【０１３４】
〔Ｂ〕第２実施形態の一例
〔Ｂ−１〕システム構成
上述した第１実施形態の一例においては、マイグレーションによって生成された移行先の仮想マシン２０の同一性を判定した。一方、第２実施形態の一例においては、スケールアウトによって生成された複製先の仮想マシン２０ａ（図１２を用いて後述）の同一性を判定する。
【０１３５】
本明細書において、スケールアウトとは、同じ目的のために使用する仮想マシン２０ａを複製することをいう。
【０１３６】
図１１は、第２実施形態の一例としての情報処理システム１００ａのハードウェア構成を模式的に示す図である。
【０１３７】
情報処理システム１００ａは、図１１に示されるように、図１に示した第１実施形態の管理サーバ１に代えて、管理サーバ１ａを備える。
【０１３８】
管理サーバ１ａは、図１１に示されるように、図１に示した第１実施形態のＣＰＵ１１に代えて、ＣＰＵ１１ａを備える。
【０１３９】
ＣＰＵ１１ａは、図１１に示されるように、図１に示した第１実施形態のＣＰＵ１１とは異なり、通信判定部１１２としての機能を有しない。別言すれば、ＣＰＵ１１ａは、生成定義判定部１１１、検証定義判定部１１３、仮想マシン判定部１１４及びＤＢ管理部１１５として機能する。
【０１４０】
図１２は、第２実施形態の一例としての情報処理システム１００ａのソフトウェア構成を模式的に示す図である。
【０１４１】
情報処理システム１００ａの計算機２（図１２には不図示）は、図１２に例示されるように、図５に例示された仮想マシン２０に代えて、仮想マシン２０ａを展開する。図１２に示される例において、クラウド＃１上の計算機２には仮想マシン＃１が展開され、クラウド＃２上の計算機２には仮想マシン＃２が展開され、クラウド＃３上の計算機２には仮想マシン＃３が展開される。
【０１４２】
管理サーバ１ａは、図５に例示された管理サーバ１と同様に、構成管理ソフトウェア１０１、サーバ構成ＤＢ１０２、生成定義３１及び検証定義３３を備える。
【０１４３】
仮想マシン２０ａ（仮想マシン＃１及び＃２）は、エージェント２０１、Ｗｅｂサーバに関するソフトウェア（以下、単に「Ｗｅｂサーバ」という場合がある。）２０３、生成定義３１及び実行ログ３２を備える。また、仮想マシン２０ａ（仮想マシン＃３）は、エージェント２０１、ＤＢＭＳ（DataBase Management System）２０４、生成定義３１及び実行ログ３２を備える。
【０１４４】
仮想マシン＃１及び＃２は、図１２に示される例において、生成定義３１として生成定義＃１を備える。また、仮想マシン＃３は、図１２に示される例において、生成定義３１として生成定義＃２を備える。
【０１４５】
エージェント２０１は、図１１に示した計算機２の生成部２１１に対応し、仮想マシン２０ａのスケールアウトを実施する。図１２に示される例において、エージェント２０１は、生成定義＃１に基づき、複製元の仮想マシン＃１から複製先の仮想マシン＃２を生成する。
【０１４６】
リポジトリ３は、仮想マシン２０ａからアクセス可能であり、Ｗｅｂサーバ２０３又はＤＢＭＳ２０４を記憶する。具体的には、リポジトリ＃１は、仮想マシン＃１及び＃２からアクセス可能であり、Ｗｅｂサーバ２０３を記憶する。また、リポジトリ＃２は、仮想マシン＃３からアクセス可能であり、ＤＢＭＳ２０４を記憶する。
【０１４７】
以下、図１１に示した管理サーバ１ａが備えるＣＰＵ１１の生成定義判定部１１１、検証定義判定部１１３、仮想マシン判定部１１４及びＤＢ管理部１１５について説明する。
【０１４８】
生成定義判定部１１１は、第１判定部の一例であり、２つの仮想マシン２０ａの生成に用いられた生成定義３１が一致するかを判定する。具体的には、生成定義判定部１１１は、生成部２１１によって複製先の仮想マシン２０ａが生成されると、２つの仮想マシン２０ａの生成に用いられた生成定義３１が一致するかを判定してよい。
【０１４９】
別言すれば、生成定義判定部１１１は、第１仮想マシン２０ａに基づいて第２仮想マシン２０ａが生成されると、第１仮想マシン２０ａの仕様を示す第１生成定義３１と第２仮想マシン２０ａの仕様を示す第２生成定義３１とが一致するかを判定する。
【０１５０】
図１２に示される例において、生成定義判定部１１１は、複製先の仮想マシン＃２が生成されると、仮想マシン＃１の生成に用いられた生成定義＃１と、仮想マシン＃２の生成に用いられた生成定義＃１とが一致するかを判定する。
【０１５１】
生成定義判定部１１１は、複製先の仮想マシン２０ａから生成定義３１のハッシュ値を取得してよい。そして、生成定義判定部１１１は、取得した生成定義３１のハッシュ値と一致する生成定義３１のハッシュ値をサーバ構成ＤＢ１０２から抽出してよい。
【０１５２】
検証定義判定部１１３は、第２判定部の一例であり、複製元の仮想マシン２０ａにインストールされたＷｅｂサーバ２０３のバージョンに関する情報を含む検証定義３３を複製先の仮想マシン２０ａに実行させる。具体的には、検証定義判定部１１３は、複製元の仮想マシン２０ａの生成定義３１と実行ログ３２とに基づいて作成された検証定義３３を、複製先の仮想マシン２０ａに実行させる。そして、検証定義判定部１１３は、複製先の仮想マシン２０ａにおいて、検証定義３３が正常に実行されたかを判定する。
【０１５３】
これにより、複製元の仮想マシン２０ａにインストールされたＷｅｂサーバ２０３のバージョンと、複製先の仮想マシン２０ａにインストールされたＷｅｂサーバ２０３のバージョンとが一致するかを効率的に判定できる。
【０１５４】
別言すれば、検証定義判定部１１３は、第１版数情報と第２版数情報とが一致するかを判定する。ここで、第１版数情報は複製元の仮想マシン２０ａにインストールされたＷｅｂサーバ２０３のバージョンを示し、第２版数情報は複製先の仮想マシン２０ａにインストールされたＷｅｂサーバ２０３のバージョンを示す。
【０１５５】
図１２に示される例において、検証定義判定部１１３は、仮想マシン＃１の生成定義＃１と実行ログ３２とに基づいて作成された検証定義３３を、仮想マシン＃２に実行させる。そして、検証定義判定部１１３は、仮想マシン＃２において、検証定義３３が正常に実行されたかを判定する。
【０１５６】
別言すれば、図１２に示される例において、検証定義判定部１１３は、仮想マシン＃１のＷｅｂサーバ２０３のバージョンと、仮想マシン＃２のＷｅｂサーバ２０３のバージョンとが一致するかを判定する。
【０１５７】
仮想マシン判定部１１４は、第３判定部の一例であり、複製元の仮想マシン２０ａと、複製先の仮想マシン２０ａとが、同一の構成を有する仮想マシン２０ａであるかを判定する。
【０１５８】
別言すれば、仮想マシン判定部１１４は、生成定義判定部１１１によって生成定義３１が一致すると判定され、かつ、検証定義判定部１１３によって版数情報が一致すると判定された場合に、２つの仮想マシン２０ａが同一の構成を有すると判定する。
【０１５９】
生成定義判定部１１１によって生成定義３１が一致すると判定された場合とは、複製元の仮想マシン２０ａと複製先の仮想マシン２０ａとの生成に用いられた生成定義３１が一致すると判定された場合である。また、検証定義判定部１１３によって版数情報が一致すると判定された場合とは、複製先の仮想マシン２０ａに係る第１版数情報と、複製先の仮想マシン２０ａに係る第２版数情報とが、一致すると判定された場合である。
【０１６０】
これにより、異なるネットワーク間において仮想マシン２０ａの複製を行なう場合に、仮想マシン２０ａの同一性を適切に判定することができる。
【０１６１】
図１２に示される例において、仮想マシン判定部１１４は、仮想マシン＃１及び＃２の生成定義＃１が一致し、かつ、仮想マシン＃１のＷｅｂサーバ２０３のバージョンと仮想マシン＃２のＷｅｂサーバ２０３のバージョンとが一致するかを判定する。そして、仮想マシン判定部１１４は、生成定義３１が一致し、かつ、Ｗｅｂサーバ２０３のバージョンが一致する場合に、仮想マシン＃１と仮想マシン＃２とは同一の構成を有する仮想マシン２０ａであると判定する。
【０１６２】
ＤＢ管理部１１５は、仮想マシン判定部１１４による判定結果に基づき、サーバ構成ＤＢ１０２を更新する。
【０１６３】
具体的には、ＤＢ管理部１１５は、複製元の仮想マシン２０ａと複製先の仮想マシン２０ａとが同一の構成を有すると判定された場合に、複製元の仮想マシン２０ａに係る情報と同様の情報を、複製先の仮想マシン２０ａに係る情報として新たにサーバ構成ＤＢ１０２に追加する。
【０１６４】
また、ＤＢ管理部１１５は、複製元の仮想マシン２０ａと複製先の仮想マシン２０ａとが同一の構成を有しないと判定された場合に、複製先の仮想マシン２０ａに係る情報を新たにサーバ構成ＤＢ１０２に追加する。
【０１６５】
図１３は、第２実施形態の一例としての情報処理システム１００ａにおけるサーバ構成ＤＢ１０２を例示する図である。
【０１６６】
サーバ構成ＤＢ１０２は、ＩＤ，ＩＰ（Internet Protocol）アドレス，クラウド情報，生成定義（ハッシュ値）及び検証定義を含む。
【０１６７】
ＩＤは、仮想マシン２０ａの識別子を示す。
【０１６８】
ＩＰアドレスは、仮想マシン２０ａのＩＰアドレスを示す。
【０１６９】
クラウド情報は、仮想マシン２０ａが展開される計算機２が所属するクラウド２００を特定する情報である。
【０１７０】
生成定義（ハッシュ値）は、仮想マシン２０ａの生成に用いられた生成定義３１のハッシュ値を示す。
【０１７１】
検証定義は、仮想マシン２０ａの検証に用いられる検証定義３３を示す。
【０１７２】
図１３に例示されるサーバ構成ＤＢ１０２は、クラウド２００間にまたがるスケールアウト後の仮想マシン２０ａの構成を示す。
【０１７３】
すなわち、仮想マシン＃１は、ＩＤ“１１ａａ２２”，ＩＰアドレス“１９２．１６８．１１．１”，クラウド情報“クラウド＃１”，生成定義のハッシュ値“ＡＡＢＢＣＣ・・・”及び検証定義“ｓｐｅｃ１．ｒｂ”で示される。また、仮想マシン＃２は、ＩＤ“ｘｘ２２ｙｙ”，ＩＰアドレス“１９２．１６８．２２．１１”，クラウド情報“クラウド＃２”，生成定義のハッシュ値“ＡＡＢＢＣＣ・・・”及び検証定義“ｓｐｅｃ１．ｒｂ”で示される。更に、仮想マシン＃３は、ＩＤ“１２３４５６”，ＩＰアドレス“２００１：ｄｂ８：：９ａｂｃ”，クラウド情報“クラウド＃３”，生成定義のハッシュ値“２２ＡＥＢＣ・・・”及び検証定義“ｓｐｅｃ３．ｒｂ”で示される。
【０１７４】
このように、クラウド２００間にまたがるスケールアウト後のサーバ構成ＤＢ１０２は、複製元の仮想マシン２０ａと複製先の仮想マシン２０ａとにおいて、同一の生成定義３１のハッシュ値及び検証定義を有する。
【０１７５】
〔Ｂ−２〕動作
上述の如く構成された第２実施形態の一例としての情報処理システム１００ａにおけるスケールアウト処理（ステップＳ４１〜Ｓ４３）を、図１４に示すフローチャートに従って説明する。
【０１７６】
スケールアウトの複製先の計算機２の生成部２１１は、生成定義３１から複製先の仮想マシン２０ａを生成する（ステップＳ４１）。
【０１７７】
管理サーバ１ａのＣＰＵ１１ａは、生成定義３１と実行ログ３２とに基づき、検証定義３３を作成する（ステップＳ４２）。ステップＳ４２の詳細は、図１０を用いて上述した。
【０１７８】
管理サーバ１ａのＤＢ管理部１１５は、スケールアウト結果に基づき、サーバ構成ＤＢ１０２を更新し（ステップＳ４３）、処理は終了する。
【０１７９】
次に、第２実施形態の一例としての情報処理システム１００ａにおける仮想マシン判定処理（ステップＳ５１〜Ｓ５８）を、図１５に示すフローチャートに従って説明する。
【０１８０】
複製先の計算機２の生成部２１１は、生成定義３１から複製先の仮想マシン２０ａを生成する（ステップＳ５１）。
【０１８１】
複製先の計算機２の生成部２１１は、生成定義３１のハッシュ値を管理サーバ１ａに通知する（ステップＳ５２）。
【０１８２】
管理サーバ１の生成定義判定部１１１は、計算機２から送信された生成定義３１のハッシュ値を取得する（ステップＳ５３）。
【０１８３】
生成定義判定部１１１は、サーバ構成ＤＢ１０２の中から、生成定義３１のハッシュ値が取得した生成定義３１のハッシュ値と一致する仮想マシン２０ａに係る情報を抽出する（ステップＳ５４）。
【０１８４】
生成定義判定部１１１は、ステップＳ５４において抽出した仮想マシン２０ａに係る情報が存在するかを判定する（ステップＳ５５）。
【０１８５】
ステップＳ５４において抽出した仮想マシン２０ａに係る情報が存在しない場合には（ステップＳ５５のＮｏルート参照）、処理はステップＳ５８へ移行する。
【０１８６】
一方、ステップＳ５４において抽出した仮想マシン２０ａに係る情報が存在する場合には（ステップＳ５５のＹｅｓルート参照）、検証定義判定部１１３は、複製先の仮想マシン２０ａで検証定義３３を実行する。そして、検証定義判定部１１３は、検証定義３３を正常に実行できたかにより、複製元の仮想マシン２０ａと複製先の仮想マシン２０ａとにおけるソフトウェア（例えば、「Ｗｅｂサーバ２０３」）のバージョンが一致するかを判定する（ステップＳ５６）。
【０１８７】
ソフトウェアのバージョンが一致する場合には（ステップＳ５６のＹｅｓルート参照）、仮想マシン判定部１１４は、複製先の仮想マシン２０ａがスケールアウトされた仮想マシン２０ａであると判断する。そして、ＤＢ管理部１１５は、複製元の仮想マシン２０ａに係る情報と同様の情報を、複製先の仮想マシン２０ａに係る情報として新たにサーバ構成ＤＢ１０２に追加し（ステップＳ５７）、処理は終了する。
【０１８８】
一方、ソフトウェアのバージョンが一致しない場合には（ステップＳ５６のＮｏルート参照）、仮想マシン判定部１１４は、複製元の仮想マシン２０ａと複製先の仮想マシン２０ａとが同一の構成を有しない仮想マシン２０ａであると判断する。そして、ＤＢ管理部１１５は、サーバ構成ＤＢ１０２に対して、複製先の仮想マシン２０ａに係る情報を新たに追加し（ステップＳ５８）、処理は終了する。
【０１８９】
第２実施形態の一例における情報処理システム１００ａにおいても、上述した第１実施形態の一例における情報処理システム１００と同様の効果を奏することができる。
【０１９０】
〔Ｃ〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【０１９１】
例えば、上述した第１実施形態の一例における情報処理システム１００に、スケールアウトによって生成された複製先の仮想マシン２０ａの同一性を判定させてもよい。すなわち、第１実施形態の一例における動作と第１実施形態の一例における動作とは、一つの情報処理システム１００において実施することができる。
【０１９２】
また、上述した第２実施形態の一例においては、同じ目的のために使用する仮想マシン２０ａを複製するスケールアウトによって生成された複製先の仮想マシン２０ａの同一性を判定したが、これに限定されるものではない。例えば、仮想マシン２０ａの使用目的を問わずに仮想マシン２０ａを複製するクローニングによって生成された複製先の仮想マシン２０ａの同一性を判定してもよい。
【０１９３】
〔Ｄ〕付記
（付記１）
移行元の第１仮想マシンから移行先の第２仮想マシンが生成されると、前記第１仮想マシンの仕様を示す第１生成定義と前記第２仮想マシンの仕様を示す第２生成定義とが一致するかを判定する第１判定部と、
前記第１仮想マシンにインストールされたソフトウェアの版数を示す第１版数情報と前記第２仮想マシンにインストールされたソフトウェアの版数を示す第２版数情報とが一致するかを判定する第２判定部と、
前記第１判定部によって前記第１生成定義と前記第２生成定義とが一致すると判定され、かつ、前記第２判定部によって前記第１版数情報と前記第２版数情報とが一致すると判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する第３判定部と、
を備える、情報処理装置。
【０１９４】
（付記２）
前記第２判定部は、前記第１版数情報を含む検証定義を前記第２仮想マシンに対して実行することにより、前記第１版数情報と前記第２版数情報とが一致するかを判定し、
前記検証定義は、前記第１生成定義に基づいて作成され、前記第１版数情報が組み入れられる、
付記１に記載の情報処理装置。
【０１９５】
（付記３）
前記第１仮想マシンとの通信が可能であるかを判定する第４判定部を更に備え、
前記第３判定部は、前記第４判定部によって前記第１仮想マシンとの通信が可能でないと判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する、
付記１又は２に記載の情報処理装置。
【０１９６】
（付記４）
複製元の第１仮想マシンから複製先の第２仮想マシンが生成されると、前記第１仮想マシンの仕様を示す第１生成定義と前記第２仮想マシンの仕様を示す第２生成定義とが一致するかを判定する第１判定部と、
前記第１仮想マシンにインストールされたソフトウェアの版数を示す第１版数情報と前記第２仮想マシンにインストールされたソフトウェアの版数を示す第２版数情報とが一致するかを判定する第２判定部と、
前記第１判定部によって前記第１生成定義と前記第２生成定義とが一致すると判定され、かつ、前記第２判定部によって前記第１版数情報と前記第２版数情報とが一致すると判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する第３判定部と、
を備える、情報処理装置。
【０１９７】
（付記５）
前記第２判定部は、前記第１版数情報を含む検証定義を前記第２仮想マシンに対して実行することにより、前記第１版数情報と前記第２版数情報とが一致するかを判定し、
前記検証定義は、前記第１生成定義に基づいて作成され、前記第１版数情報が組み入れられる、
付記４に記載の情報処理装置。
【０１９８】
（付記６）
第１計算機と、第２計算機と、当該第１及び第２計算機を管理する情報処理装置と、を有する情報処理システムであって、
前記第２計算機は、
前記第１計算機に展開された移行元の第１仮想マシンから、移行先の第２仮想マシンを生成する生成部を備え、
前記情報処理装置は、
前記生成部によって前記第２仮想マシンが生成されると、前記第１仮想マシンの仕様を示す第１生成定義と前記第２仮想マシンの仕様を示す第２生成定義とが一致するかを判定する第１判定部と、
前記第１仮想マシンにインストールされたソフトウェアの版数を示す第１版数情報と前記第２仮想マシンにインストールされたソフトウェアの版数を示す第２版数情報とが一致するかを判定する第２判定部と、
前記第１判定部によって前記第１生成定義と前記第２生成定義とが一致すると判定され、かつ、前記第２判定部によって前記第１版数情報と前記第２版数情報とが一致すると判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する第３判定部と、
を備える、情報処理システム。
【０１９９】
（付記７）
前記第２判定部は、前記第１版数情報を含む検証定義を前記第２仮想マシンに対して実行することにより、前記第１版数情報と前記第２版数情報とが一致するかを判定し、
前記検証定義は、前記第１生成定義に基づいて作成され、前記第１版数情報が組み入れられる、
付記６に記載の情報処理システム。
【０２００】
（付記８）
前記第１仮想マシンとの通信が可能であるかを判定する第４判定部を更に備え、
前記第３判定部は、前記第４判定部によって前記第１仮想マシンとの通信が可能でないと判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する、
付記６又は７に記載の情報処理システム。
【０２０１】
（付記９）
第１計算機と、第２計算機と、当該第１及び第２計算機を管理する情報処理装置と、を有する情報処理システムであって、
前記第２計算機は、
前記第１計算機に展開された複製元の第１仮想マシンから、複製先の第２仮想マシンを生成する生成部を備え、
前記情報処理装置は、
前記生成部によって前記第２仮想マシンが生成されると、前記第１仮想マシンの仕様を示す第１生成定義と前記第２仮想マシンの仕様を示す第２生成定義とが一致するかを判定する第１判定部と、
前記第１仮想マシンにインストールされたソフトウェアの版数を示す第１版数情報と前記第２仮想マシンにインストールされたソフトウェアの版数を示す第２版数情報とが一致するかを判定する第２判定部と、
前記第１判定部によって前記第１生成定義と前記第２生成定義とが一致すると判定され、かつ、前記第２判定部によって前記第１版数情報と前記第２版数情報とが一致すると判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する第３判定部と、
を備える、情報処理システム。
【０２０２】
（付記１０）
前記第２判定部は、前記第１版数情報を含む検証定義を前記第２仮想マシンに対して実行することにより、前記第１版数情報と前記第２版数情報とが一致するかを判定し、
前記検証定義は、前記第１生成定義に基づいて作成され、前記第１版数情報が組み入れられる、
付記９に記載の情報処理システム。
【０２０３】
（付記１１）
情報処理装置に備えられるコンピュータに、
移行元の第１仮想マシンから移行先の第２仮想マシンが生成されると、前記第１仮想マシンの仕様を示す第１生成定義と前記第２仮想マシンの仕様を示す第２生成定義とが一致するかを判定し、
前記第１仮想マシンにインストールされたソフトウェアの版数を示す第１版数情報と前記第２仮想マシンにインストールされたソフトウェアの版数を示す第２版数情報とが一致するかを判定し、
前記第１生成定義と前記第２生成定義とが一致すると判定され、かつ、前記第１版数情報と前記第２版数情報とが一致すると判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する、
処理を実行させる、プログラム。
【０２０４】
（付記１２）
前記第１版数情報を含む検証定義を前記第２仮想マシンに対して実行することにより、前記第１版数情報と前記第２版数情報とが一致するかを判定する処理を前記コンピュータに実行させ、
前記検証定義は、前記第１生成定義に基づいて作成され、前記第１版数情報が組み入れられる、
付記１１に記載のプログラム。
【０２０５】
（付記１３）
前記第１仮想マシンとの通信が可能であるかを判定し、
前記第１仮想マシンとの通信が可能でないと判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する、
処理を前記コンピュータに実行させる、付記１１又は１２に記載のプログラム。
【０２０６】
（付記１４）
情報処理装置に備えられるコンピュータに、
複製元の第１仮想マシンから複製先の第２仮想マシンが生成されると、前記第１仮想マシンの仕様を示す第１生成定義と前記第２仮想マシンの仕様を示す第２生成定義とが一致するかを判定し、
前記第１仮想マシンにインストールされたソフトウェアの版数を示す第１版数情報と前記第２仮想マシンにインストールされたソフトウェアの版数を示す第２版数情報とが一致するかを判定し、
前記第１生成定義と前記第２生成定義とが一致すると判定され、かつ、前記第１版数情報と前記第２版数情報とが一致すると判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する、
処理を実行させる、プログラム。
【０２０７】
（付記１５）
前記第１版数情報を含む検証定義を前記第２仮想マシンに対して実行することにより、前記第１版数情報と前記第２版数情報とが一致するかを判定する処理を前記コンピュータに実行させ、
前記検証定義は、前記第１生成定義に基づいて作成され、前記第１版数情報が組み入れられる、
付記１４に記載のプログラム。
【０２０８】
（付記１６）
第１計算機と、第２計算機と、当該第１及び第２計算機を管理する情報処理装置と、を有する情報処理システムにおいて、
前記第２計算機は、
前記第１計算機に展開された移行元の第１仮想マシンから、移行先の第２仮想マシンを生成し、
前記情報処理装置は、
前記第２仮想マシンが生成されると、前記第１仮想マシンの仕様を示す第１生成定義と前記第２仮想マシンの仕様を示す第２生成定義とが一致するかを判定し、
前記第１仮想マシンにインストールされたソフトウェアの版数を示す第１版数情報と前記第２仮想マシンにインストールされたソフトウェアの版数を示す第２版数情報とが一致するかを判定し、
前記第１生成定義と前記第２生成定義とが一致すると判定され、かつ、前記第１版数情報と前記第２版数情報とが一致すると判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する、
情報処理方法。
【０２０９】
（付記１７）
前記第１版数情報を含む検証定義を前記第２仮想マシンに対して実行することにより、前記第１版数情報と前記第２版数情報とが一致するかを判定し、
前記検証定義は、前記第１生成定義に基づいて作成され、前記第１版数情報が組み入れられる、
付記１６に記載の情報処理方法。
【０２１０】
（付記１８）
前記第１仮想マシンとの通信が可能であるかを判定し、
前記第１仮想マシンとの通信が可能でないと判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する、
付記１６又は１７に記載の情報処理方法。
【０２１１】
（付記１９）
第１計算機と、第２計算機と、当該第１及び第２計算機を管理する情報処理装置と、を有する情報処理システムにおいて、
前記第２計算機は、
前記第１計算機に展開された複製元の第１仮想マシンから、複製先の第２仮想マシンを生成し、
前記情報処理装置は、
前記第２仮想マシンが生成されると、前記第１仮想マシンの仕様を示す第１生成定義と前記第２仮想マシンの仕様を示す第２生成定義とが一致するかを判定し、
前記第１仮想マシンにインストールされたソフトウェアの版数を示す第１版数情報と前記第２仮想マシンにインストールされたソフトウェアの版数を示す第２版数情報とが一致するかを判定し、
前記第１生成定義と前記第２生成定義とが一致すると判定され、かつ、前記第１版数情報と前記第２版数情報とが一致すると判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する、
情報処理方法。
【０２１２】
（付記２０）
前記第１版数情報を含む検証定義を前記第２仮想マシンに対して実行することにより、前記第１版数情報と前記第２版数情報とが一致するかを判定し、
前記検証定義は、前記第１生成定義に基づいて作成され、前記第１版数情報が組み入れられる、
付記１９に記載の情報処理方法。
【０２１３】
（付記２１）
第１仮想マシンに基づいて第２仮想マシンが生成されると、前記第１仮想マシンの仕様を示す第１生成定義と前記第２仮想マシンの仕様を示す第２生成定義とが一致するかを判定する第１判定部と、
前記第１仮想マシンにインストールされたソフトウェアの版数を示す第１版数情報と前記第２仮想マシンにインストールされたソフトウェアの版数を示す第２版数情報とが一致するかを判定する第２判定部と、
前記第１判定部によって前記第１生成定義と前記第２生成定義とが一致すると判定され、かつ、前記第２判定部によって前記第１版数情報と前記第２版数情報とが一致すると判定された場合に、前記第１仮想マシンと前記第２仮想マシンとが同一の構成を有する仮想マシンであると判定する第３判定部と、
を備える、情報処理装置。
【符号の説明】
【０２１４】
１，１ａ，６                        管理サーバ
２                                  計算機
３，８，８ａ                        リポジトリ
１１，１１ａ，２１                  ＣＰＵ
１２，２２                          メモリ
１３，２３                          記憶装置
２０，２０ａ，７０，７０ａ          仮想マシン
３１，８１，８１ａ                  生成定義
３２，８２ａ                        実行ログ
３３                                検証定義
１００，１００ａ，６００，６００ａ  情報処理システム
１０１，６０１                      構成管理ソフトウェア
１０２                              サーバ構成ＤＢ
１１１                              生成定義判定部
１１２                              通信判定部
１１３                              検証定義判定部
１１４                              仮想マシン判定部
１１５                              ＤＢ管理部
２００，７００，７００ａ            クラウド
２０１，７０１                      エージェント
２０２，７０２                      ソフトウェア
２０３                              Ｗｅｂサーバ
２１１                              生成部
【図１】
2017167912.tif 000003
【図２】
2017167912.tif 000004
【図３】
2017167912.tif 000005
【図４】
2017167912.tif 000006
【図５】
2017167912.tif 000007
【図６】
2017167912.tif 000008
【図７】
2017167912.tif 000009
【図８】
2017167912.tif 000010
【図９】
2017167912.tif 000011
【図１０】
2017167912.tif 000012
【図１１】
2017167912.tif 000013
【図１２】
2017167912.tif 000014
【図１３】
2017167912.tif 000015
【図１４】
2017167912.tif 000016
【図１５】
2017167912.tif 000017