(57)【要約】      （修正有）【課題】仮想マシンで実行する仮想マシンイメージの生成時に指定されているイメージ生成と実行の指定条件の誤りを、仮想マシンでの実行前に検出することができる情報処理装置を提供する。【解決手段】情報処理装置は、仮想マシンごとに、仮想マシンで実行される仮想マシンイメージの生成と実行のための指定条件を参照して仮想マシンイメージを生成する生成部と、仮想マシンで仮想マシンイメージを動作させるための条件が蓄積された蓄積条件を記憶する記憶部と、生成部によって参照される指定条件と記憶部に記憶された蓄積条件とを比較する比較部と、比較した結果を出力する出力部とを有する。【選択図】図４
2018151806.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンごとに、前記仮想マシンで実行される仮想マシンイメージの生成と実行のための指定条件を参照して前記仮想マシンイメージを生成する生成部と、
前記仮想マシンで前記仮想マシンイメージを動作させるための条件が蓄積された蓄積条件を記憶する記憶部と、
前記生成部によって参照される前記指定条件と前記記憶部に記憶された前記蓄積条件とを比較する比較部と、
前記比較した結果を出力する出力部と
を有することを特徴とする情報処理装置。
【請求項２】
前記指定条件および前記蓄積条件は、前記仮想マシンイメージに追加される情報と前記仮想マシンイメージに追加されない情報とを指定する条件であり、
前記比較した結果には、前記生成部が参照する前記指定条件と前記記憶部に記憶された前記蓄積条件との間の相違を示す情報が含まれる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
情報処理装置に、
仮想マシンごとに、前記仮想マシンで実行される仮想マシンイメージの生成時に参照する前記仮想マシンイメージの生成と実行のための指定条件と、前記情報処理装置の記憶部に記憶された前記仮想マシンで前記仮想マシンイメージを動作させるための条件が蓄積された蓄積条件とを比較させ、
前記比較した結果を出力させる
ことを特徴とする情報処理装置の制御方法。
【請求項４】
コンピュータに
仮想マシンごとに、前記仮想マシンで実行される仮想マシンイメージの生成時に参照する前記仮想マシンイメージの生成と実行のための指定条件と、前記情報処理装置の記憶部に記憶された前記仮想マシンで前記仮想マシンイメージを動作させるための条件が蓄積された蓄積条件とを比較させ、
前記比較した結果を出力させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法およびプログラムに関する。
【背景技術】
【０００２】
クラウドや仮想環境を提供するサービスのインフラ環境が多様化しているなかで、仮想アプライアンス（Virtual Appliance；ＶＡ）と呼ばれるものが利用されている。また、
ＶＡのテンプレートから仮想マシンに適用される仮想マシンイメージが生成される。ＶＡのテンプレートは、パッケージ、Operating System（ＯＳ）設定、ドライバなど、仮想マシンの使用環境ごとの条件（指定条件）を含むメタデータとも言うことができる。このメタデータは、いわば仮想マシンで実行される仮想マシンイメージと、仮想マシンイメージの実行環境および実行条件とを指定する。
【０００３】
ＶＡの内容は仮想マシンの使用環境ごとに異なるが、サービスの提供者が使用環境ごとにＶＡを手動で作成することは現実的ではない。そこで、サービスに応じて用意されたＶＡの内容を含むテンプレートを使用して、各使用環境に応じたＶＡの作成を支援する技術が提案されている。また、ＶＡの作成や仮想マシンに適用される仮想マシンイメージの生成や配信を効率化する技術も提案されている（特許文献１−３）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００９／０９８９０９号
【特許文献２】特開２０１１−０７０６２７号公報
【特許文献３】特開２０１５−０４６１５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＶＡに含めるドライバの選択などは、仮想マシンの使用環境におけるハードウェアに関する技術知識がないと正しく行えない可能性がある。このため、ＶＡの作成者が、使用環境に合わせてＶＡの内容を変更するときに、変更がＶＡ内の他の内容との依存関係と整合しない変更となる可能性がある。この結果、ＶＡから作成される仮想マシンイメージを仮想マシン上で使用しても、仮想マシンが正しく動作しない可能性がある。
【０００６】
また、ＶＡの作成時に、ＶＡの作成者に対して、変更できるＶＡの内容を制限することも行われている。しかし、この場合は、作成されるＶＡに、ＶＡの作成者が認識しない内容が含まれる可能性がある。そして、ＶＡの作成者が認識しないＶＡの内容が原因で仮想マシンが正しく動作しない場合、当該問題は、ＶＡから生成された仮想マシンイメージを仮想マシンに適用する段階になってから判明する。すなわち、ＶＡの作成者がＶＡ作成時に当該問題を認識することは難しい。
【０００７】
そこで、１つの側面では、仮想マシンで実行する仮想マシンイメージの生成時に指定されているイメージ生成と実行の指定条件の誤りを、仮想マシンでの実行前に検出することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本件開示の技術の一側面によれば、情報処理装置は、仮想マシンごとに、仮想マシンで実行される仮想マシンイメージの生成と実行のための指定条件を参照して仮想マシンイメージを生成する生成部と、仮想マシンで仮想マシンイメージを動作させるための条件が蓄
積された蓄積条件を記憶する記憶部と、生成部によって参照される指定条件と記憶部に記憶された蓄積条件とを比較する比較部と、比較した結果を出力する出力部とを有する。
【発明の効果】
【０００９】
本件開示の技術によれば、仮想マシンで実行する仮想マシンイメージの生成時に指定されているイメージ生成と実行の指定条件の誤りを、仮想マシンでの実行前に検出することができる情報処理装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、一実施形態に係る情報処理システムの構成の一例を示す構成図である。
【図２】図２は、一実施形態に係る管理サーバが実行する処理のフローチャートである。
【図３】図３は、一実施形態に係る管理サーバが図２の処理に続いて実行する処理のフローチャートである。
【図４】図４は、一実施形態に係る情報処理システムにおける処理の流れの一例を示す図である。
【図５】図５は、一実施形態に係る指定条件の一覧の一例を示す図である。
【図６】図６は、一実施形態に係る親テンプレートのパッケージの指定条件の一例を示す図である。
【図７】図７は、一実施形態に係る親テンプレートのＯＳ設定の指定条件の一例を示す図である。
【図８】図８は、一実施形態に係る子テンプレートのパッケージの指定条件の一例を示す図である。
【図９】図９は、一実施形態に係る子テンプレートのＯＳ設定の指定条件の一例を示す図である。
【図１０】図１０は、一実施形態に係る子テンプレートと一覧との指定条件の比較結果の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本件開示の技術に係る実施形態について図面を参照しながら説明する。なお、以下の詳細な説明は例示的なものであり、実施形態の構成を限定するものではない。
【００１２】
図１に、一実施形態における情報処理システム１の構成の一例を示す。情報処理システム１は、情報処理装置の一例である管理サーバ１０、クラウド４０、クライアント５０、ネットワーク７０を有する。管理サーバ１０、クラウド４０、クライアント５０は、ネットワーク７０を経由して互いに接続されている。ネットワーク７０は、有線あるいは無線の通信ネットワークである。クラウド４０では、１以上の仮想マシン４１が動作する。管理サーバ１０は、仮想マシン４１を動作させるための仮想マシンイメージ４２を生成して仮想マシン４１に配信する。また、管理サーバ１０、クラウド４０、仮想マシン４１、クライアント５０、ネットワーク７０の数は、図１に示す数に限られない。
【００１３】
図１に示すように、管理サーバ１０は、Central Processing Unit（ＣＰＵ）１１、Random Access Memory（ＲＡＭ）１２、Hard Disk Drive（ＨＤＤ）１３、ドライブ装置１４、Graphics Processing Unit（ＧＰＵ）１５、入力インタフェース１６、通信インタフェース１７を有する。また、ＧＰＵ１５、入力インタフェース１６、通信インタフェース１７は、モニタ２０、入力装置３０、ネットワーク７０にそれぞれ接続されている。ＣＰＵ１１、ＲＡＭ１２、ＨＤＤ１３、ドライブ装置１４、ＧＰＵ１５、入力インタフェース１６、通信インタフェース１７は、バス１８を介して互いに接続されている。情報処理システム１内で提供される仮想マシンのサービスの提供者である管理サーバ１０のユーザは、
入力装置３０を用いて管理サーバ１０に種々の指示を行い、管理サーバ１０の処理結果をモニタ２０で確認する。本実施形態において、ＣＰＵ１１は、ＨＤＤ１３に記憶されている各種プログラムをＲＡＭ１２に展開して実行することで、以下に説明する種々の処理を実行する。
【００１４】
以下に、本実施形態における管理サーバ１０が実行する処理についてフローチャートを参照しながら説明する。図２、３に、管理サーバ１０のＣＰＵ１１が実行する処理のフローチャートの一例を示す。また、図４に、図２、３に示す処理の流れを模式的に示す。以下における図２、３の処理の説明において、適宜図４を参照しながら説明する。管理サーバ１０のＣＰＵ１１は、一例として、管理サーバ１０のユーザが入力装置３０を操作して仮想マシンイメージの生成を管理サーバ１０に指示したときに、図２に示すフローチャートの処理を開始する。なお、管理サーバ１０のユーザは、サービス提供者であり仮想マシンイメージの生成者でもある。
【００１５】
本実施形態においては、管理サーバ１０のＨＤＤ１３には、以下に説明する親テンプレートを格納するためのデータベースがあらかじめ作成されている。また、ＨＤＤ１３には、以下に説明する子テンプレートを格納するためのデータベースが子テンプレートごとにあらかじめ作成されている。また、親テンプレートと子テンプレートに含まれる各指定条件に対応するデータの実体は、ＨＤＤ１３内で各実体をまとめるリポジトリに格納されている。
【００１６】
ここで、親テンプレートとは、情報処理システム１内で提供される各サービスにおいて、仮想マシンに適用される仮想マシンイメージの生成時に指定されるパッケージ、ＯＳ設定、ドライバなどに対する条件を包括するメタデータである。なお、以下の説明において当該条件を「指定条件」と称する。また、子テンプレートとは、情報処理システム１内の仮想マシンに適用される仮想マシンイメージの生成時に使用される指定条件を含むメタデータである。本実施形態では、親テンプレートに含まれる指定条件を用いて子テンプレートが作成される。
【００１７】
また、本実施形態においては、管理サーバ１０のベンダが、情報処理システム１内で使用される各仮想マシンに対して必要な指定条件と不要な指定条件の一覧を作成する。例えば、管理サーバ１０のベンダは、経験や知識、公開されている情報などを基に、各仮想マシンを正常に動作させるために必要なあるいは不要な指定条件を特定して作成する。なお、この一覧は、仮想マシンでプログラムの一例である仮想マシンイメージを動作させるための条件が蓄積された蓄積条件の一例である。また、この一覧は、仮想マシンイメージに対して個別に蓄積されるデータの一例である。
【００１８】
図５に、仮想マシンイメージに必要な指定条件と不要な指定条件の一覧の一例を示す。図５に示すように、一覧には、一例として、仮想マシンイメージに必要なパッケージ、不要なパッケージ、必要なＯＳ設定、不要なＯＳ設定、必要なドライバ、不要なドライバに関する情報が格納されている。図５に例示する一覧では、パッケージおよびドライバについては、バージョン番号に関する条件や適用されるアーキテクチャの条件なども含まれる。なお、後述する子テンプレートと上記の一覧との比較処理において、各仮想マシンに必要なあるいは不要な指定条件が特定できれば、一覧の構成や一覧に含まれる情報の種類は図５に例示する内容に限られない。なお、一覧は、記憶部であるＨＤＤ１３のデータベースのうち、以下の処理において当該一覧との比較対象となる子テンプレートのデータベースに記憶される。
【００１９】
ＯＰ１０１において、ＣＰＵ１１は、管理サーバ１０のユーザからの指示に従って親テンプレートを作成する。ＯＰ１０１の処理は、図４の「（１）親テンプレートを作成」に
相当する処理である。例えば、管理サーバ１０のユーザは、入力装置３０を操作して親テンプレートに追加する指定条件を指定する。ＣＰＵ１１は、管理サーバ１０のユーザによって指定された指定条件を親テンプレートに追加する。ＣＰＵ１１は、親テンプレートの作成が完了すると、作成した親テンプレートをＨＤＤ１３に記憶し、処理をＯＰ１０２に進める。
【００２０】
図６、７に、親テンプレートに含まれる指定条件の一例を示す。図６には、親テンプレートに含まれるパッケージの情報の一例を示す。また、図７には、親テンプレートに含まれるＯＳ設定の情報の一例を示す。図６に示すように、親テンプレートには、一例として、情報処理システム１内で提供されるサービスにおいて使用されるパッケージ名、バージョン番号、パッケージが適用されるアーキテクチャが格納される。また、親テンプレートには、パッケージを仮想マシンイメージに追加するか否かを示すチェックボックスが設けられている。
【００２１】
また、図７に示すように、親テンプレートには、一例として、仮想マシンにより実行されるＯＳ設定が含まれる。ＯＳ設定には、ユーザ名、ＯＳ用のシェルの格納場所、ホームディレクトリの場所、プライマリ／セカンダリグループの自動作成の要否、仮想マシンの使用時の認証方式、ネットワークの自動設定の要否などが含まれる。
【００２２】
ＯＰ１０２において、ＣＰＵ１１は、管理サーバ１０のユーザからの指示に従って、ＯＰ１０１において作成した親テンプレートから、仮想マシンイメージの生成に使用されるＶＡである子テンプレートを作成する。ＯＰ１０２の処理は、図４の「（２）子テンプレートを作成」に相当する処理である。ＣＰＵ１１は、子テンプレートの内容に基づいて、仮想マシンイメージに追加される情報と仮想マシンイメージに追加されない情報とを決定する。
【００２３】
管理サーバ１０のユーザは、入力装置３０を操作して、仮想マシンイメージが適用される仮想マシンの使用環境を指定する。ここで、使用環境の一例としては、情報処理システム１内で提供されるサービスの種類（Ｋ５、Amazon Web Services（ＡＷＳ）、ＶＭｗａ
ｒｅ（登録商標）など）が挙げられる。使用環境の一例として、仮想マシンに使用されるハイパーバイザの種類（ＥＳＸｉ（登録商標）、Ｈｙｐｅｒ−Ｖ（登録商標）、Ｘｅｎ（登録商標）など）が採用されてもよい。
【００２４】
ＣＰＵ１１は、管理サーバ１０のユーザによって指定された仮想マシンの使用環境に従って、仮想マシンイメージに必要の指定条件および不要な指定条件の情報を親テンプレートから取得し、取得した指定条件の情報から子テンプレートを作成する。ＣＰＵ１１は、作成した子テンプレートをＨＤＤ１３の当該子テンプレート用のデータベースに記憶する。次いで、処理はＯＰ１０３に進められる。
【００２５】
図８、９に、子テンプレートに含まれる指定条件の一例を示す。図８には、子テンプレートに含まれるパッケージの情報の一例を示す。また、図９には、子テンプレートに含まれるＯＳ設定の情報の一例を示す。ＯＰ１０３において作成される子テンプレートの内容は、一例として、図８、９に示す親テンプレートに仮想マシンイメージの生成時に使用される情報が追加されたものである。具体的には、ＣＰＵ１１は、ＯＰ１０２において管理サーバ１０のユーザが指定した使用環境に応じて、親テンプレート内の指定条件に情報を追加したり、設定を有効または無効にしたりする。
【００２６】
図８に示す子テンプレートの例では、パッケージ「bash」、「centos-release」、「glibc」が仮想マシンイメージに追加される。そこで、ＣＰＵ１１は、親テンプレートを基
に、当該パッケージのチェックボックスをオンにする。なお、図８に示す他のパッケージ
は仮想マシンイメージに追加されないため、ＣＰＵ１１は、当該他のパッケージのチェックボックスはオフにする。
【００２７】
また、図９に示す子テンプレートの例では、ユーザ名、シェルの格納場所、ホームディレクトリの場所、セカンダリグループ名およびパスワードが仮想マシンイメージに追加される。ここでは、仮想マシンにおいて、ユーザＩＤは自動的にセットされ、プライマリグループは自動的に作成され、暗号鍵による認証を行うと想定する。そこで、ＣＰＵ１１は、親テンプレートを基に、図９に示す情報を追加し、該当するチェックボックスをオンにする。なお、図９に示す例では、仮想マシンにおいてネットワークの設定はユーザが手動で行うため、ＣＰＵ１１は、該当するチェックボックスをオフにする。ＣＰＵ１１は、上記の通り各指定条件を子テンプレートに設定して子テンプレートを作成すると、処理をＯＰ１０３に進める。
【００２８】
ＯＰ１０３において、ＣＰＵ１１は、ＯＰ１０２において作成した子テンプレートに含まれる情報を、ＧＰＵ１５を経由してモニタ２０に出力する。モニタ２０は、管理サーバ１０から出力される子テンプレートの情報を表示する。ＯＰ１０３の処理は、図４の「（３１）子テンプレートの情報を表示」に相当する処理である。例えば、モニタ２０には図８、９に示すように子テンプレートの情報が表示される。子テンプレートの内容の表示方法については、管理サーバ１０のユーザが子テンプレートに追加された情報や設定の有効または無効の状態を確認できる表示方法であれば、適宜決定することができる。次いで、処理はＯＰ１０４に進められる。
【００２９】
ＯＰ１０４において、ＣＰＵ１１は、比較部として機能し、ＯＰ１０３において作成した子テンプレートの情報とＨＤＤ１３に格納されている一覧の情報とを比較する。ＯＰ１０４の処理は、図４の「（４）子テンプレートを一覧と比較」に相当する処理である。具体的には、ＣＰＵ１１は、子テンプレートの各指定条件における情報の有無や設定の有効無効について、一覧の情報と比較する。ＣＰＵ１１は、子テンプレートの各指定条件のうち一覧と相違する指定条件を特定してＨＤＤ１３に記憶する。
【００３０】
例えば、ＣＰＵ１１は、子テンプレートにおいてシェルの格納場所が指定されている場合、一覧においてシェルの格納場所の指定が必要であるか否かを判定する。そして、ＣＰＵ１１は、一覧においてもシェルの格納場所の指定が必要であれば、子テンプレートにおける指定条件と一覧における指定条件とが一致していると判定する。一方、ＣＰＵ１１は、一覧においてシェルの格納場所の指定が不要であれば、子テンプレートにおける指定条件と一覧における指定条件とが相違すると判定する。また、例えば、ＣＰＵ１１は、子テンプレートにおいてネットワークを自動的に設定するという指定条件が無効になっている場合、一覧において当該指定条件が有効である必要があるか否かを判定する。そして、ＣＰＵ１１は、一覧においてもネットワークを自動的に設定するという指定条件が無効であれば、子テンプレートにおける指定条件と一覧における指定条件とが一致していると判定する。一方、ＣＰＵ１１は、一覧ではネットワークを自動的に設定するという指定条件が有効である必要があれば、子テンプレートにおける指定条件と一覧における指定条件とが相違すると判定する。
【００３１】
このように、ＣＰＵ１１は、子テンプレートの各指定条件の内容を一覧における指定条件の内容と比較することで、子テンプレートに含まれる指定条件が、子テンプレートから生成される仮想マシンイメージが適用される仮想マシンに必要か否かを判定することができる。そして、ＣＰＵ１１は、当該判定によって、子テンプレートと一覧との間で相違する指定条件を特定することができる。
【００３２】
ＯＰ１０４において、ＣＰＵ１１は、子テンプレートの各指定条件のうち一覧の指定条
件と内容が相違する指定条件について、子テンプレートにおいて必要な指定条件であるか不要な指定条件であるかを示す情報もＨＤＤ１３に記憶する。次いで、ＣＰＵ１１は、処理をＯＰ１０５に進める。
【００３３】
ＯＰ１０５において、ＣＰＵ１１は、ＯＰ１０４における比較に基づいて、一覧では必要な指定条件に含まれているが子テンプレートでは不要な指定条件とされている指定条件が存在するか否かを判定する。一覧では必要な指定条件に含まれているが子テンプレートでは不要な指定条件とされている指定条件が存在する場合は（ＯＰ１０５：Ｙｅｓ）、ＣＰＵ１１は処理をＯＰ１０８に進める。一方、一覧では必要な指定条件に含まれているが子テンプレートでは不要な指定条件とされている指定条件が存在しない場合は（ＯＰ１０５：Ｎｏ）、ＣＰＵ１１は、処理をＯＰ１０６に進める。
【００３４】
ＯＰ１０６において、ＣＰＵ１１は、ＯＰ１０４における比較に基づいて、一覧では不要な指定条件に含まれているが子テンプレートでは必要な指定条件とされている指定条件が存在するか否かを判定する。一覧では不要な指定条件に含まれているが子テンプレートでは必要な指定条件とされている指定条件が存在する場合は（ＯＰ１０６：Ｙｅｓ）、ＣＰＵ１１は処理をＯＰ１０８に進める。一方、一覧では不要な指定条件に含まれているが子テンプレートでは必要な指定条件とされている指定条件が存在しない場合は（ＯＰ１０６：Ｎｏ）、ＣＰＵ１１は、処理をＯＰ１０７に進める。
【００３５】
ＯＰ１０７では、ＣＰＵ１１は、ＯＰ１０５およびＯＰ１０６の判定結果から、一覧において必要な指定条件は子テンプレートでも必要な指定条件であり、一覧において不要な指定条件は子テンプレートでも不要な指定条件であるとみなす。この結果、ＣＰＵ１１は、子テンプレートの指定条件の内容に異常はないことを管理サーバ１０の管理者に通知する。例えば、ＣＰＵ１１は、子テンプレートの指定条件の内容には異常がないことを通知するメッセージをＧＰＵ１５を経由してモニタ２０に出力し、モニタ２０に当該メッセージを表示する。
【００３６】
ＯＰ１０８において、ＣＰＵ１１は、ＯＰ１０５の判定処理またはＯＰ１０５およびＯＰ１０６の判定処理に基づいて、子テンプレートの指定条件の内容の異常を管理サーバ１０の管理者に通知する。ＯＰ１０８の処理は、図４の「（５）子テンプレートの異常を表示」に相当する処理である。ここで、子テンプレートの指定条件の内容が異常であることとは、子テンプレートでは必要な指定条件が一覧では不要な指定条件であること、または子テンプレートでは不要な指定条件が一覧では必要な指定条件であることである。例えば、ＣＰＵ１１は、子テンプレートの必要または不要な指定条件のうち一覧の必要または不要な指定条件と相違する指定条件を、ＧＰＵ１５を経由してモニタ２０に出力し、モニタ２０に当該情報を表示する。
【００３７】
図１０に、ＯＰ１０８においてＣＰＵ１１が出力する指定条件の情報の一例を示す。ＯＰ１０８においてＣＰＵ１１が出力する指定条件の情報は、各指定条件が親テンプレート、子テンプレート、仮想マシンのそれぞれにおいて必要な指定条件であるか不要な指定条件であるかを示す。なお、図中、「Ｙ」は必要であることを意味し「Ｎ」は不要であることを意味する。また、「親」は親テンプレートを、「子」は子テンプレートを、「移動先」は子テンプレートから生成される仮想マシンイメージが適用される仮想マシンをそれぞれ意味する。
【００３８】
図１０の例の場合、パッケージ「filesystem」は、親テンプレートおよび子テンプレートでは仮想マシンに不要な指定条件である。ただし、仮想マシンではファイルシステムにアクセスするため、当該パッケージは仮想マシンでは必要な指定条件である。一方、パッケージ「glibc」は、親テンプレートおよび子テンプレートでは仮想マシンに必要な指定
条件である。ただし、仮想マシンでは当該パッケージが提供するＣ言語の標準ライブラリは使用しないため不要な指定条件である。
【００３９】
また、ＯＳ設定「認証（暗号鍵）」は、親テンプレートおよび子テンプレートでは仮想マシンに必要な指定条件である。ただし、例えば仮想マシンではユーザが手動でパスワードを入力してログインするなど暗号鍵による認証は実行しないため、仮想マシンでは不要な指定条件である。一方、ＯＳ設定「ネットワークの自動設定」は、親テンプレートおよび子テンプレートでは仮想マシンに不要な指定条件である。ただし、仮想マシンではネットワークの自動設定を行う必要があるため、仮想マシンでは必要な指定条件である。
【００４０】
さらに、追加ドライバ「virtio-win」は、親テンプレートおよび子テンプレートでは仮想マシンに必要な指定条件ある。ただし、例えば仮想マシン側で仮想Input/Output（Ｉ／Ｏ）用のドライバが用意されており仮想マシンイメージに含める必要がないため、仮想マシンでは不要な指定条件である。
【００４１】
このように、本実施形態では、仮想マシンイメージの生成時に参照される子テンプレートに含まれる指定条件の要否に関する情報が、仮想マシンの指定条件の要否を示す一覧と比較される。この結果、管理サーバ１０のユーザは、子テンプレートでは必要な指定条件が仮想マシンでは不要であることや子テンプレートでは不要な指定条件が仮想マシンでは必要であることを、仮想マシンでの仮想マシンイメージの実行前に確認することができる。
【００４２】
ＯＰ１０９において、ＣＰＵ１１は、ＯＰ１０８において通知された指定条件を自動で変更するか否かを確認する。例えば、ＣＰＵ１１は、子テンプレートの指定条件を自動で変更するか否かを決定するためのダイアログをＧＰＵ１５を経由してモニタ２０に表示する。管理サーバ１０の管理者は、モニタ２０に表示されるダイアログを確認および操作して子テンプレートの指定条件を自動で変更するか否かを決定する。
【００４３】
次いで、ＯＰ１１０において、ＣＰＵ１１は、ＯＰ１０９においてモニタ２０に表示したダイアログに対する管理サーバ１０の管理者の操作に基づいて、子テンプレートを自動で変更するか否かを判定する。子テンプレートを自動で変更する場合は（ＯＰ１１０：Ｙｅｓ）、ＣＰＵ１１は、処理をＯＰ１１１に進める。一方、子テンプレートを自動で変更しない場合は（ＯＰ１１０：Ｎｏ）、ＣＰＵ１１は、処理をＯＰ１１２に進める。
【００４４】
ＯＰ１１１において、ＣＰＵ１１は、子テンプレートの指定条件のうちＯＰ１０８において管理サーバ１０のユーザに通知した一覧の指定条件と相違する指定条件を、一覧の指定条件に合わせて変更する。例えば、子テンプレートでは必要なパッケージであるが一覧では不要なパッケージである場合に、ＣＰＵ１１は、子テンプレートにおいて該当するパッケージのチェックボックスをオフにする。また、子テンプレートでは追加ドライバとして指定されているが一覧では当該ドライバは不要である場合、ＣＰＵ１１は、当該ドライバが仮想マシンイメージに追加されないように子テンプレートの情報を変更する。ＣＰＵ１１は、子テンプレートの指定条件の変更が完了すると、処理をＯＰ１１２に進める。
【００４５】
ＯＰ１１２において、ＣＰＵ１１は、生成部として機能し、子テンプレートの指定条件に従って仮想マシンイメージを生成する（図４の「（６）イメージを生成」に相当）。ＣＰＵ１１は、仮想マシンイメージを生成すると、本フローチャートの処理を終了する。
【００４６】
上記の処理によって生成された仮想マシンイメージは、仮想マシンに配信および適用されて（図４の「（７）イメージを配信」に相当）、仮想マシンが起動される（図４の「（８）ＶＭを起動」に相当）。したがって、本実施形態では、管理サーバ１０のユーザは、
仮想マシンで仮想マシンイメージが実行される前に、仮想マシンイメージに追加される情報と追加されない情報が指定条件として適切に子テンプレートに含まれているかを確認することができる。また、子テンプレートの指定条件が一覧の指定条件に合わせて変更されるため、生成される仮想マシンイメージは、従来生成されていた仮想マシンイメージよりも仮想マシンの使用環境に適合した仮想マシンイメージとなる。
【００４７】
以上が本実施形態に関する説明であるが、上記の各サーバなどの構成や処理は、上記の実施形態に限定されるものではなく、本発明の技術的思想と同一性を失わない範囲内において種々の変更が可能である。例えば、上記の実施形態において仮想マシンイメージに追加されるパッケージ、ＯＳ設定、ドライバなどは上記に限らず、他のＯＳで適用されるパッケージ、ＯＳ設定、ドライバなどであってもよい。また、例えば、上記の実施形態では、子テンプレートと比較される一覧は、ＨＤＤ１３において子テンプレートとともに格納されるが、一覧は、ＨＤＤ１３の別の記憶領域に格納されてもよいし、管理サーバ１０の外部の記憶装置に格納されてもよい。
【００４８】
また、上記の実施形態では、子テンプレートの指定条件のうち一覧の指定条件と相違する指定条件を自動で変更しない場合は（ＯＰ１１０：Ｎｏ）、子テンプレートの指定条件を変更せずに仮想マシンイメージが生成される。ただし、子テンプレートの指定条件のうち一覧の指定条件と相違する指定条件を自動で変更しない場合に、管理サーバ１０のユーザによる手動での子テンプレートの変更を受け付けてもよい。ＣＰＵ１１は、モニタ２０に子テンプレートを表示し、管理サーバ１０のユーザによる入力装置３０の操作に従って子テンプレートを変更してもよい。
【００４９】
また、上記の実施形態において、上記の少なくとも一部の処理は、ＣＰＵ以外のプロセッサ、例えば、Digital Signal Processor（ＤＳＰ）、Graphics Processing Unit（ＧＰＵ）、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサで行われてもよい。また、上記の少なくとも一部の処理は、集積回路（ＩＣ）、その他のディジタル回路であってもよい。また、上記各部の少なくとも一部にアナログ回路が含まれてもよい。集積回路は、Large-scale Integration（ＬＳＩ）、Application Specific Integrated Circuit（ＡＳＩＣ）、プログラマブルロジックデバイス（ＰＬＤ）を含む。ＰＬＤは、例えば、Field-Programmable Gate Array(ＦＰＧＡ)を含む。上記各部は、
プロセッサと集積回路との組み合わせであってもよい。組み合わせは、例えば、マイクロコントローラ（ＭＣＵ）、System-on-a-Chip（ＳｏＣ）、システムＬＳＩ、チップセットなどと呼ばれる。
【００５０】
＜コンピュータが読み取り可能な記録媒体＞
コンピュータその他の機械、装置（以下、コンピュータ等）に上記サーバの設定を行うための管理ツール、ＯＳその他を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【００５１】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリ等のメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやＲＯＭ等がある。
【００５２】
以上の実施形態に関し、さらに以下の付記を開示する。
【００５３】
（付記１）
仮想マシンごとに、前記仮想マシンで実行される仮想マシンイメージの生成と実行のための指定条件を参照して前記仮想マシンイメージを生成する生成部と、
前記仮想マシンで前記仮想マシンイメージを動作させるための条件が蓄積された蓄積条件を記憶する記憶部と、
前記生成部によって参照される前記指定条件と前記記憶部に記憶された前記蓄積条件とを比較する比較部と、
前記比較した結果を出力する出力部と
を有することを特徴とする情報処理装置。
【００５４】
（付記２）
前記指定条件および前記蓄積条件は、前記仮想マシンイメージに追加される情報と前記仮想マシンイメージに追加されない情報とを指定する条件であり、
前記比較した結果には、前記生成部が参照する前記指定条件と前記記憶部に記憶された前記蓄積条件との間の相違を示す情報が含まれる
ことを特徴とする付記１に記載の情報処理装置。
【００５５】
（付記３）
情報処理装置に、
仮想マシンごとに、前記仮想マシンで実行される仮想マシンイメージの生成時に参照する前記仮想マシンイメージの生成と実行のための指定条件と、前記情報処理装置の記憶部に記憶された前記仮想マシンで前記仮想マシンイメージを動作させるための条件が蓄積された蓄積条件とを比較させ、
前記比較した結果を出力させる
ことを特徴とする情報処理装置の制御方法。
【００５６】
（付記４）
前記指定条件および前記蓄積条件は、前記仮想マシンイメージに追加される情報と前記仮想マシンイメージに追加されない情報とを指定する条件であり、
前記比較した結果には、前記情報処理装置が前記仮想マシンイメージの生成時に参照する前記指定条件と前記記憶部に記憶された前記蓄積条件との間の相違を示す情報が含まれる
ことを特徴とする付記３に記載の情報処理装置の制御方法。
【００５７】
（付記５）
コンピュータに
仮想マシンごとに、前記仮想マシンで実行される仮想マシンイメージの生成時に参照する前記仮想マシンイメージの生成と実行のための指定条件と、前記情報処理装置の記憶部に記憶された前記仮想マシンで前記仮想マシンイメージを動作させるための条件が蓄積された蓄積条件とを比較させ、
前記比較した結果を出力させる
ことを特徴とするプログラム。
【００５８】
（付記６）
前記指定条件および前記蓄積条件は、前記仮想マシンイメージに追加される情報と前記仮想マシンイメージに追加されない情報とを指定する条件であり、
前記比較した結果には、前記仮想マシンイメージの生成時に参照する前記指定条件と前記記憶部に記憶された前記蓄積条件との間の相違を示す情報が含まれることを特徴とする付記５に記載のプログラム。
【符号の説明】
【００５９】
１    情報処理システム
１０    管理サーバ
２０    モニタ
３０    入力装置
４０    クラウド
【図１】
2018151806.tif 000003
【図２】
2018151806.tif 000004
【図３】
2018151806.tif 000005
【図４】
2018151806.tif 000006
【図５】
2018151806.tif 000007
【図６】
2018151806.tif 000008
【図７】
2018151806.tif 000009
【図８】
2018151806.tif 000010
【図９】
2018151806.tif 000011
【図１０】
2018151806.tif 000012