JP2018151806A - 情報処理装置、情報処理装置の制御方法およびプログラム - Google Patents

情報処理装置、情報処理装置の制御方法およびプログラム Download PDF

Info

Publication number
JP2018151806A
JP2018151806A JP2017046907A JP2017046907A JP2018151806A JP 2018151806 A JP2018151806 A JP 2018151806A JP 2017046907 A JP2017046907 A JP 2017046907A JP 2017046907 A JP2017046907 A JP 2017046907A JP 2018151806 A JP2018151806 A JP 2018151806A
Authority
JP
Japan
Prior art keywords
virtual machine
condition
machine image
template
information processing
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.)
Pending
Application number
JP2017046907A
Other languages
English (en)
Inventor
茂 市橋
Shigeru Ichihashi
茂 市橋
憲彦 坂本
Norihiko Sakamoto
憲彦 坂本
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 JP2017046907A priority Critical patent/JP2018151806A/ja
Priority to EP18158339.4A priority patent/EP3376377A1/en
Priority to US15/906,198 priority patent/US10719502B2/en
Publication of JP2018151806A publication Critical patent/JP2018151806A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】仮想マシンで実行する仮想マシンイメージの生成時に指定されているイメージ生成と実行の指定条件の誤りを、仮想マシンでの実行前に検出することができる情報処理装置を提供する。【解決手段】情報処理装置は、仮想マシンごとに、仮想マシンで実行される仮想マシンイメージの生成と実行のための指定条件を参照して仮想マシンイメージを生成する生成部と、仮想マシンで仮想マシンイメージを動作させるための条件が蓄積された蓄積条件を記憶する記憶部と、生成部によって参照される指定条件と記憶部に記憶された蓄積条件とを比較する比較部と、比較した結果を出力する出力部とを有する。【選択図】図4

Description

本発明は、情報処理装置、情報処理装置の制御方法およびプログラムに関する。
クラウドや仮想環境を提供するサービスのインフラ環境が多様化しているなかで、仮想アプライアンス(Virtual Appliance;VA)と呼ばれるものが利用されている。また、
VAのテンプレートから仮想マシンに適用される仮想マシンイメージが生成される。VAのテンプレートは、パッケージ、Operating System(OS)設定、ドライバなど、仮想マシンの使用環境ごとの条件(指定条件)を含むメタデータとも言うことができる。このメタデータは、いわば仮想マシンで実行される仮想マシンイメージと、仮想マシンイメージの実行環境および実行条件とを指定する。
VAの内容は仮想マシンの使用環境ごとに異なるが、サービスの提供者が使用環境ごとにVAを手動で作成することは現実的ではない。そこで、サービスに応じて用意されたVAの内容を含むテンプレートを使用して、各使用環境に応じたVAの作成を支援する技術が提案されている。また、VAの作成や仮想マシンに適用される仮想マシンイメージの生成や配信を効率化する技術も提案されている(特許文献1−3)。
国際公開第2009/098909号 特開2011−070627号公報 特開2015−046159号公報
VAに含めるドライバの選択などは、仮想マシンの使用環境におけるハードウェアに関する技術知識がないと正しく行えない可能性がある。このため、VAの作成者が、使用環境に合わせてVAの内容を変更するときに、変更がVA内の他の内容との依存関係と整合しない変更となる可能性がある。この結果、VAから作成される仮想マシンイメージを仮想マシン上で使用しても、仮想マシンが正しく動作しない可能性がある。
また、VAの作成時に、VAの作成者に対して、変更できるVAの内容を制限することも行われている。しかし、この場合は、作成されるVAに、VAの作成者が認識しない内容が含まれる可能性がある。そして、VAの作成者が認識しないVAの内容が原因で仮想マシンが正しく動作しない場合、当該問題は、VAから生成された仮想マシンイメージを仮想マシンに適用する段階になってから判明する。すなわち、VAの作成者がVA作成時に当該問題を認識することは難しい。
そこで、1つの側面では、仮想マシンで実行する仮想マシンイメージの生成時に指定されているイメージ生成と実行の指定条件の誤りを、仮想マシンでの実行前に検出することができる情報処理装置を提供することを目的とする。
本件開示の技術の一側面によれば、情報処理装置は、仮想マシンごとに、仮想マシンで実行される仮想マシンイメージの生成と実行のための指定条件を参照して仮想マシンイメージを生成する生成部と、仮想マシンで仮想マシンイメージを動作させるための条件が蓄
積された蓄積条件を記憶する記憶部と、生成部によって参照される指定条件と記憶部に記憶された蓄積条件とを比較する比較部と、比較した結果を出力する出力部とを有する。
本件開示の技術によれば、仮想マシンで実行する仮想マシンイメージの生成時に指定されているイメージ生成と実行の指定条件の誤りを、仮想マシンでの実行前に検出することができる情報処理装置を提供することができる。
図1は、一実施形態に係る情報処理システムの構成の一例を示す構成図である。 図2は、一実施形態に係る管理サーバが実行する処理のフローチャートである。 図3は、一実施形態に係る管理サーバが図2の処理に続いて実行する処理のフローチャートである。 図4は、一実施形態に係る情報処理システムにおける処理の流れの一例を示す図である。 図5は、一実施形態に係る指定条件の一覧の一例を示す図である。 図6は、一実施形態に係る親テンプレートのパッケージの指定条件の一例を示す図である。 図7は、一実施形態に係る親テンプレートのOS設定の指定条件の一例を示す図である。 図8は、一実施形態に係る子テンプレートのパッケージの指定条件の一例を示す図である。 図9は、一実施形態に係る子テンプレートのOS設定の指定条件の一例を示す図である。 図10は、一実施形態に係る子テンプレートと一覧との指定条件の比較結果の一例を示す図である。
以下、本件開示の技術に係る実施形態について図面を参照しながら説明する。なお、以下の詳細な説明は例示的なものであり、実施形態の構成を限定するものではない。
図1に、一実施形態における情報処理システム1の構成の一例を示す。情報処理システム1は、情報処理装置の一例である管理サーバ10、クラウド40、クライアント50、ネットワーク70を有する。管理サーバ10、クラウド40、クライアント50は、ネットワーク70を経由して互いに接続されている。ネットワーク70は、有線あるいは無線の通信ネットワークである。クラウド40では、1以上の仮想マシン41が動作する。管理サーバ10は、仮想マシン41を動作させるための仮想マシンイメージ42を生成して仮想マシン41に配信する。また、管理サーバ10、クラウド40、仮想マシン41、クライアント50、ネットワーク70の数は、図1に示す数に限られない。
図1に示すように、管理サーバ10は、Central Processing Unit(CPU)11、Random Access Memory(RAM)12、Hard Disk Drive(HDD)13、ドライブ装置14、Graphics Processing Unit(GPU)15、入力インタフェース16、通信インタフェース17を有する。また、GPU15、入力インタフェース16、通信インタフェース17は、モニタ20、入力装置30、ネットワーク70にそれぞれ接続されている。CPU11、RAM12、HDD13、ドライブ装置14、GPU15、入力インタフェース16、通信インタフェース17は、バス18を介して互いに接続されている。情報処理システム1内で提供される仮想マシンのサービスの提供者である管理サーバ10のユーザは、
入力装置30を用いて管理サーバ10に種々の指示を行い、管理サーバ10の処理結果をモニタ20で確認する。本実施形態において、CPU11は、HDD13に記憶されている各種プログラムをRAM12に展開して実行することで、以下に説明する種々の処理を実行する。
以下に、本実施形態における管理サーバ10が実行する処理についてフローチャートを参照しながら説明する。図2、3に、管理サーバ10のCPU11が実行する処理のフローチャートの一例を示す。また、図4に、図2、3に示す処理の流れを模式的に示す。以下における図2、3の処理の説明において、適宜図4を参照しながら説明する。管理サーバ10のCPU11は、一例として、管理サーバ10のユーザが入力装置30を操作して仮想マシンイメージの生成を管理サーバ10に指示したときに、図2に示すフローチャートの処理を開始する。なお、管理サーバ10のユーザは、サービス提供者であり仮想マシンイメージの生成者でもある。
本実施形態においては、管理サーバ10のHDD13には、以下に説明する親テンプレートを格納するためのデータベースがあらかじめ作成されている。また、HDD13には、以下に説明する子テンプレートを格納するためのデータベースが子テンプレートごとにあらかじめ作成されている。また、親テンプレートと子テンプレートに含まれる各指定条件に対応するデータの実体は、HDD13内で各実体をまとめるリポジトリに格納されている。
ここで、親テンプレートとは、情報処理システム1内で提供される各サービスにおいて、仮想マシンに適用される仮想マシンイメージの生成時に指定されるパッケージ、OS設定、ドライバなどに対する条件を包括するメタデータである。なお、以下の説明において当該条件を「指定条件」と称する。また、子テンプレートとは、情報処理システム1内の仮想マシンに適用される仮想マシンイメージの生成時に使用される指定条件を含むメタデータである。本実施形態では、親テンプレートに含まれる指定条件を用いて子テンプレートが作成される。
また、本実施形態においては、管理サーバ10のベンダが、情報処理システム1内で使用される各仮想マシンに対して必要な指定条件と不要な指定条件の一覧を作成する。例えば、管理サーバ10のベンダは、経験や知識、公開されている情報などを基に、各仮想マシンを正常に動作させるために必要なあるいは不要な指定条件を特定して作成する。なお、この一覧は、仮想マシンでプログラムの一例である仮想マシンイメージを動作させるための条件が蓄積された蓄積条件の一例である。また、この一覧は、仮想マシンイメージに対して個別に蓄積されるデータの一例である。
図5に、仮想マシンイメージに必要な指定条件と不要な指定条件の一覧の一例を示す。図5に示すように、一覧には、一例として、仮想マシンイメージに必要なパッケージ、不要なパッケージ、必要なOS設定、不要なOS設定、必要なドライバ、不要なドライバに関する情報が格納されている。図5に例示する一覧では、パッケージおよびドライバについては、バージョン番号に関する条件や適用されるアーキテクチャの条件なども含まれる。なお、後述する子テンプレートと上記の一覧との比較処理において、各仮想マシンに必要なあるいは不要な指定条件が特定できれば、一覧の構成や一覧に含まれる情報の種類は図5に例示する内容に限られない。なお、一覧は、記憶部であるHDD13のデータベースのうち、以下の処理において当該一覧との比較対象となる子テンプレートのデータベースに記憶される。
OP101において、CPU11は、管理サーバ10のユーザからの指示に従って親テンプレートを作成する。OP101の処理は、図4の「(1)親テンプレートを作成」に
相当する処理である。例えば、管理サーバ10のユーザは、入力装置30を操作して親テンプレートに追加する指定条件を指定する。CPU11は、管理サーバ10のユーザによって指定された指定条件を親テンプレートに追加する。CPU11は、親テンプレートの作成が完了すると、作成した親テンプレートをHDD13に記憶し、処理をOP102に進める。
図6、7に、親テンプレートに含まれる指定条件の一例を示す。図6には、親テンプレートに含まれるパッケージの情報の一例を示す。また、図7には、親テンプレートに含まれるOS設定の情報の一例を示す。図6に示すように、親テンプレートには、一例として、情報処理システム1内で提供されるサービスにおいて使用されるパッケージ名、バージョン番号、パッケージが適用されるアーキテクチャが格納される。また、親テンプレートには、パッケージを仮想マシンイメージに追加するか否かを示すチェックボックスが設けられている。
また、図7に示すように、親テンプレートには、一例として、仮想マシンにより実行されるOS設定が含まれる。OS設定には、ユーザ名、OS用のシェルの格納場所、ホームディレクトリの場所、プライマリ/セカンダリグループの自動作成の要否、仮想マシンの使用時の認証方式、ネットワークの自動設定の要否などが含まれる。
OP102において、CPU11は、管理サーバ10のユーザからの指示に従って、OP101において作成した親テンプレートから、仮想マシンイメージの生成に使用されるVAである子テンプレートを作成する。OP102の処理は、図4の「(2)子テンプレートを作成」に相当する処理である。CPU11は、子テンプレートの内容に基づいて、仮想マシンイメージに追加される情報と仮想マシンイメージに追加されない情報とを決定する。
管理サーバ10のユーザは、入力装置30を操作して、仮想マシンイメージが適用される仮想マシンの使用環境を指定する。ここで、使用環境の一例としては、情報処理システム1内で提供されるサービスの種類(K5、Amazon Web Services(AWS)、VMwa
re(登録商標)など)が挙げられる。使用環境の一例として、仮想マシンに使用されるハイパーバイザの種類(ESXi(登録商標)、Hyper−V(登録商標)、Xen(登録商標)など)が採用されてもよい。
CPU11は、管理サーバ10のユーザによって指定された仮想マシンの使用環境に従って、仮想マシンイメージに必要の指定条件および不要な指定条件の情報を親テンプレートから取得し、取得した指定条件の情報から子テンプレートを作成する。CPU11は、作成した子テンプレートをHDD13の当該子テンプレート用のデータベースに記憶する。次いで、処理はOP103に進められる。
図8、9に、子テンプレートに含まれる指定条件の一例を示す。図8には、子テンプレートに含まれるパッケージの情報の一例を示す。また、図9には、子テンプレートに含まれるOS設定の情報の一例を示す。OP103において作成される子テンプレートの内容は、一例として、図8、9に示す親テンプレートに仮想マシンイメージの生成時に使用される情報が追加されたものである。具体的には、CPU11は、OP102において管理サーバ10のユーザが指定した使用環境に応じて、親テンプレート内の指定条件に情報を追加したり、設定を有効または無効にしたりする。
図8に示す子テンプレートの例では、パッケージ「bash」、「centos-release」、「glibc」が仮想マシンイメージに追加される。そこで、CPU11は、親テンプレートを基
に、当該パッケージのチェックボックスをオンにする。なお、図8に示す他のパッケージ
は仮想マシンイメージに追加されないため、CPU11は、当該他のパッケージのチェックボックスはオフにする。
また、図9に示す子テンプレートの例では、ユーザ名、シェルの格納場所、ホームディレクトリの場所、セカンダリグループ名およびパスワードが仮想マシンイメージに追加される。ここでは、仮想マシンにおいて、ユーザIDは自動的にセットされ、プライマリグループは自動的に作成され、暗号鍵による認証を行うと想定する。そこで、CPU11は、親テンプレートを基に、図9に示す情報を追加し、該当するチェックボックスをオンにする。なお、図9に示す例では、仮想マシンにおいてネットワークの設定はユーザが手動で行うため、CPU11は、該当するチェックボックスをオフにする。CPU11は、上記の通り各指定条件を子テンプレートに設定して子テンプレートを作成すると、処理をOP103に進める。
OP103において、CPU11は、OP102において作成した子テンプレートに含まれる情報を、GPU15を経由してモニタ20に出力する。モニタ20は、管理サーバ10から出力される子テンプレートの情報を表示する。OP103の処理は、図4の「(31)子テンプレートの情報を表示」に相当する処理である。例えば、モニタ20には図8、9に示すように子テンプレートの情報が表示される。子テンプレートの内容の表示方法については、管理サーバ10のユーザが子テンプレートに追加された情報や設定の有効または無効の状態を確認できる表示方法であれば、適宜決定することができる。次いで、処理はOP104に進められる。
OP104において、CPU11は、比較部として機能し、OP103において作成した子テンプレートの情報とHDD13に格納されている一覧の情報とを比較する。OP104の処理は、図4の「(4)子テンプレートを一覧と比較」に相当する処理である。具体的には、CPU11は、子テンプレートの各指定条件における情報の有無や設定の有効無効について、一覧の情報と比較する。CPU11は、子テンプレートの各指定条件のうち一覧と相違する指定条件を特定してHDD13に記憶する。
例えば、CPU11は、子テンプレートにおいてシェルの格納場所が指定されている場合、一覧においてシェルの格納場所の指定が必要であるか否かを判定する。そして、CPU11は、一覧においてもシェルの格納場所の指定が必要であれば、子テンプレートにおける指定条件と一覧における指定条件とが一致していると判定する。一方、CPU11は、一覧においてシェルの格納場所の指定が不要であれば、子テンプレートにおける指定条件と一覧における指定条件とが相違すると判定する。また、例えば、CPU11は、子テンプレートにおいてネットワークを自動的に設定するという指定条件が無効になっている場合、一覧において当該指定条件が有効である必要があるか否かを判定する。そして、CPU11は、一覧においてもネットワークを自動的に設定するという指定条件が無効であれば、子テンプレートにおける指定条件と一覧における指定条件とが一致していると判定する。一方、CPU11は、一覧ではネットワークを自動的に設定するという指定条件が有効である必要があれば、子テンプレートにおける指定条件と一覧における指定条件とが相違すると判定する。
このように、CPU11は、子テンプレートの各指定条件の内容を一覧における指定条件の内容と比較することで、子テンプレートに含まれる指定条件が、子テンプレートから生成される仮想マシンイメージが適用される仮想マシンに必要か否かを判定することができる。そして、CPU11は、当該判定によって、子テンプレートと一覧との間で相違する指定条件を特定することができる。
OP104において、CPU11は、子テンプレートの各指定条件のうち一覧の指定条
件と内容が相違する指定条件について、子テンプレートにおいて必要な指定条件であるか不要な指定条件であるかを示す情報もHDD13に記憶する。次いで、CPU11は、処理をOP105に進める。
OP105において、CPU11は、OP104における比較に基づいて、一覧では必要な指定条件に含まれているが子テンプレートでは不要な指定条件とされている指定条件が存在するか否かを判定する。一覧では必要な指定条件に含まれているが子テンプレートでは不要な指定条件とされている指定条件が存在する場合は(OP105:Yes)、CPU11は処理をOP108に進める。一方、一覧では必要な指定条件に含まれているが子テンプレートでは不要な指定条件とされている指定条件が存在しない場合は(OP105:No)、CPU11は、処理をOP106に進める。
OP106において、CPU11は、OP104における比較に基づいて、一覧では不要な指定条件に含まれているが子テンプレートでは必要な指定条件とされている指定条件が存在するか否かを判定する。一覧では不要な指定条件に含まれているが子テンプレートでは必要な指定条件とされている指定条件が存在する場合は(OP106:Yes)、CPU11は処理をOP108に進める。一方、一覧では不要な指定条件に含まれているが子テンプレートでは必要な指定条件とされている指定条件が存在しない場合は(OP106:No)、CPU11は、処理をOP107に進める。
OP107では、CPU11は、OP105およびOP106の判定結果から、一覧において必要な指定条件は子テンプレートでも必要な指定条件であり、一覧において不要な指定条件は子テンプレートでも不要な指定条件であるとみなす。この結果、CPU11は、子テンプレートの指定条件の内容に異常はないことを管理サーバ10の管理者に通知する。例えば、CPU11は、子テンプレートの指定条件の内容には異常がないことを通知するメッセージをGPU15を経由してモニタ20に出力し、モニタ20に当該メッセージを表示する。
OP108において、CPU11は、OP105の判定処理またはOP105およびOP106の判定処理に基づいて、子テンプレートの指定条件の内容の異常を管理サーバ10の管理者に通知する。OP108の処理は、図4の「(5)子テンプレートの異常を表示」に相当する処理である。ここで、子テンプレートの指定条件の内容が異常であることとは、子テンプレートでは必要な指定条件が一覧では不要な指定条件であること、または子テンプレートでは不要な指定条件が一覧では必要な指定条件であることである。例えば、CPU11は、子テンプレートの必要または不要な指定条件のうち一覧の必要または不要な指定条件と相違する指定条件を、GPU15を経由してモニタ20に出力し、モニタ20に当該情報を表示する。
図10に、OP108においてCPU11が出力する指定条件の情報の一例を示す。OP108においてCPU11が出力する指定条件の情報は、各指定条件が親テンプレート、子テンプレート、仮想マシンのそれぞれにおいて必要な指定条件であるか不要な指定条件であるかを示す。なお、図中、「Y」は必要であることを意味し「N」は不要であることを意味する。また、「親」は親テンプレートを、「子」は子テンプレートを、「移動先」は子テンプレートから生成される仮想マシンイメージが適用される仮想マシンをそれぞれ意味する。
図10の例の場合、パッケージ「filesystem」は、親テンプレートおよび子テンプレートでは仮想マシンに不要な指定条件である。ただし、仮想マシンではファイルシステムにアクセスするため、当該パッケージは仮想マシンでは必要な指定条件である。一方、パッケージ「glibc」は、親テンプレートおよび子テンプレートでは仮想マシンに必要な指定
条件である。ただし、仮想マシンでは当該パッケージが提供するC言語の標準ライブラリは使用しないため不要な指定条件である。
また、OS設定「認証(暗号鍵)」は、親テンプレートおよび子テンプレートでは仮想マシンに必要な指定条件である。ただし、例えば仮想マシンではユーザが手動でパスワードを入力してログインするなど暗号鍵による認証は実行しないため、仮想マシンでは不要な指定条件である。一方、OS設定「ネットワークの自動設定」は、親テンプレートおよび子テンプレートでは仮想マシンに不要な指定条件である。ただし、仮想マシンではネットワークの自動設定を行う必要があるため、仮想マシンでは必要な指定条件である。
さらに、追加ドライバ「virtio-win」は、親テンプレートおよび子テンプレートでは仮想マシンに必要な指定条件ある。ただし、例えば仮想マシン側で仮想Input/Output(I/O)用のドライバが用意されており仮想マシンイメージに含める必要がないため、仮想マシンでは不要な指定条件である。
このように、本実施形態では、仮想マシンイメージの生成時に参照される子テンプレートに含まれる指定条件の要否に関する情報が、仮想マシンの指定条件の要否を示す一覧と比較される。この結果、管理サーバ10のユーザは、子テンプレートでは必要な指定条件が仮想マシンでは不要であることや子テンプレートでは不要な指定条件が仮想マシンでは必要であることを、仮想マシンでの仮想マシンイメージの実行前に確認することができる。
OP109において、CPU11は、OP108において通知された指定条件を自動で変更するか否かを確認する。例えば、CPU11は、子テンプレートの指定条件を自動で変更するか否かを決定するためのダイアログをGPU15を経由してモニタ20に表示する。管理サーバ10の管理者は、モニタ20に表示されるダイアログを確認および操作して子テンプレートの指定条件を自動で変更するか否かを決定する。
次いで、OP110において、CPU11は、OP109においてモニタ20に表示したダイアログに対する管理サーバ10の管理者の操作に基づいて、子テンプレートを自動で変更するか否かを判定する。子テンプレートを自動で変更する場合は(OP110:Yes)、CPU11は、処理をOP111に進める。一方、子テンプレートを自動で変更しない場合は(OP110:No)、CPU11は、処理をOP112に進める。
OP111において、CPU11は、子テンプレートの指定条件のうちOP108において管理サーバ10のユーザに通知した一覧の指定条件と相違する指定条件を、一覧の指定条件に合わせて変更する。例えば、子テンプレートでは必要なパッケージであるが一覧では不要なパッケージである場合に、CPU11は、子テンプレートにおいて該当するパッケージのチェックボックスをオフにする。また、子テンプレートでは追加ドライバとして指定されているが一覧では当該ドライバは不要である場合、CPU11は、当該ドライバが仮想マシンイメージに追加されないように子テンプレートの情報を変更する。CPU11は、子テンプレートの指定条件の変更が完了すると、処理をOP112に進める。
OP112において、CPU11は、生成部として機能し、子テンプレートの指定条件に従って仮想マシンイメージを生成する(図4の「(6)イメージを生成」に相当)。CPU11は、仮想マシンイメージを生成すると、本フローチャートの処理を終了する。
上記の処理によって生成された仮想マシンイメージは、仮想マシンに配信および適用されて(図4の「(7)イメージを配信」に相当)、仮想マシンが起動される(図4の「(8)VMを起動」に相当)。したがって、本実施形態では、管理サーバ10のユーザは、
仮想マシンで仮想マシンイメージが実行される前に、仮想マシンイメージに追加される情報と追加されない情報が指定条件として適切に子テンプレートに含まれているかを確認することができる。また、子テンプレートの指定条件が一覧の指定条件に合わせて変更されるため、生成される仮想マシンイメージは、従来生成されていた仮想マシンイメージよりも仮想マシンの使用環境に適合した仮想マシンイメージとなる。
以上が本実施形態に関する説明であるが、上記の各サーバなどの構成や処理は、上記の実施形態に限定されるものではなく、本発明の技術的思想と同一性を失わない範囲内において種々の変更が可能である。例えば、上記の実施形態において仮想マシンイメージに追加されるパッケージ、OS設定、ドライバなどは上記に限らず、他のOSで適用されるパッケージ、OS設定、ドライバなどであってもよい。また、例えば、上記の実施形態では、子テンプレートと比較される一覧は、HDD13において子テンプレートとともに格納されるが、一覧は、HDD13の別の記憶領域に格納されてもよいし、管理サーバ10の外部の記憶装置に格納されてもよい。
また、上記の実施形態では、子テンプレートの指定条件のうち一覧の指定条件と相違する指定条件を自動で変更しない場合は(OP110:No)、子テンプレートの指定条件を変更せずに仮想マシンイメージが生成される。ただし、子テンプレートの指定条件のうち一覧の指定条件と相違する指定条件を自動で変更しない場合に、管理サーバ10のユーザによる手動での子テンプレートの変更を受け付けてもよい。CPU11は、モニタ20に子テンプレートを表示し、管理サーバ10のユーザによる入力装置30の操作に従って子テンプレートを変更してもよい。
また、上記の実施形態において、上記の少なくとも一部の処理は、CPU以外のプロセッサ、例えば、Digital Signal Processor(DSP)、Graphics Processing Unit(GPU)、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサで行われてもよい。また、上記の少なくとも一部の処理は、集積回路(IC)、その他のディジタル回路であってもよい。また、上記各部の少なくとも一部にアナログ回路が含まれてもよい。集積回路は、Large-scale Integration(LSI)、Application Specific Integrated Circuit(ASIC)、プログラマブルロジックデバイス(PLD)を含む。PLDは、例えば、Field-Programmable Gate Array(FPGA)を含む。上記各部は、
プロセッサと集積回路との組み合わせであってもよい。組み合わせは、例えば、マイクロコントローラ(MCU)、System-on-a-Chip(SoC)、システムLSI、チップセットなどと呼ばれる。
<コンピュータが読み取り可能な記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記サーバの設定を行うための管理ツール、OSその他を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリ等のメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやROM等がある。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
仮想マシンごとに、前記仮想マシンで実行される仮想マシンイメージの生成と実行のための指定条件を参照して前記仮想マシンイメージを生成する生成部と、
前記仮想マシンで前記仮想マシンイメージを動作させるための条件が蓄積された蓄積条件を記憶する記憶部と、
前記生成部によって参照される前記指定条件と前記記憶部に記憶された前記蓄積条件とを比較する比較部と、
前記比較した結果を出力する出力部と
を有することを特徴とする情報処理装置。
(付記2)
前記指定条件および前記蓄積条件は、前記仮想マシンイメージに追加される情報と前記仮想マシンイメージに追加されない情報とを指定する条件であり、
前記比較した結果には、前記生成部が参照する前記指定条件と前記記憶部に記憶された前記蓄積条件との間の相違を示す情報が含まれる
ことを特徴とする付記1に記載の情報処理装置。
(付記3)
情報処理装置に、
仮想マシンごとに、前記仮想マシンで実行される仮想マシンイメージの生成時に参照する前記仮想マシンイメージの生成と実行のための指定条件と、前記情報処理装置の記憶部に記憶された前記仮想マシンで前記仮想マシンイメージを動作させるための条件が蓄積された蓄積条件とを比較させ、
前記比較した結果を出力させる
ことを特徴とする情報処理装置の制御方法。
(付記4)
前記指定条件および前記蓄積条件は、前記仮想マシンイメージに追加される情報と前記仮想マシンイメージに追加されない情報とを指定する条件であり、
前記比較した結果には、前記情報処理装置が前記仮想マシンイメージの生成時に参照する前記指定条件と前記記憶部に記憶された前記蓄積条件との間の相違を示す情報が含まれる
ことを特徴とする付記3に記載の情報処理装置の制御方法。
(付記5)
コンピュータに
仮想マシンごとに、前記仮想マシンで実行される仮想マシンイメージの生成時に参照する前記仮想マシンイメージの生成と実行のための指定条件と、前記情報処理装置の記憶部に記憶された前記仮想マシンで前記仮想マシンイメージを動作させるための条件が蓄積された蓄積条件とを比較させ、
前記比較した結果を出力させる
ことを特徴とするプログラム。
(付記6)
前記指定条件および前記蓄積条件は、前記仮想マシンイメージに追加される情報と前記仮想マシンイメージに追加されない情報とを指定する条件であり、
前記比較した結果には、前記仮想マシンイメージの生成時に参照する前記指定条件と前記記憶部に記憶された前記蓄積条件との間の相違を示す情報が含まれることを特徴とする付記5に記載のプログラム。
1 情報処理システム
10 管理サーバ
20 モニタ
30 入力装置
40 クラウド

Claims (4)

  1. 仮想マシンごとに、前記仮想マシンで実行される仮想マシンイメージの生成と実行のための指定条件を参照して前記仮想マシンイメージを生成する生成部と、
    前記仮想マシンで前記仮想マシンイメージを動作させるための条件が蓄積された蓄積条件を記憶する記憶部と、
    前記生成部によって参照される前記指定条件と前記記憶部に記憶された前記蓄積条件とを比較する比較部と、
    前記比較した結果を出力する出力部と
    を有することを特徴とする情報処理装置。
  2. 前記指定条件および前記蓄積条件は、前記仮想マシンイメージに追加される情報と前記仮想マシンイメージに追加されない情報とを指定する条件であり、
    前記比較した結果には、前記生成部が参照する前記指定条件と前記記憶部に記憶された前記蓄積条件との間の相違を示す情報が含まれる
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 情報処理装置に、
    仮想マシンごとに、前記仮想マシンで実行される仮想マシンイメージの生成時に参照する前記仮想マシンイメージの生成と実行のための指定条件と、前記情報処理装置の記憶部に記憶された前記仮想マシンで前記仮想マシンイメージを動作させるための条件が蓄積された蓄積条件とを比較させ、
    前記比較した結果を出力させる
    ことを特徴とする情報処理装置の制御方法。
  4. コンピュータに
    仮想マシンごとに、前記仮想マシンで実行される仮想マシンイメージの生成時に参照する前記仮想マシンイメージの生成と実行のための指定条件と、前記情報処理装置の記憶部に記憶された前記仮想マシンで前記仮想マシンイメージを動作させるための条件が蓄積された蓄積条件とを比較させ、
    前記比較した結果を出力させる
    ことを特徴とするプログラム。
JP2017046907A 2017-03-13 2017-03-13 情報処理装置、情報処理装置の制御方法およびプログラム Pending JP2018151806A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017046907A JP2018151806A (ja) 2017-03-13 2017-03-13 情報処理装置、情報処理装置の制御方法およびプログラム
EP18158339.4A EP3376377A1 (en) 2017-03-13 2018-02-23 Apparatus and control method for comparison of hierarchical virtual machine templates
US15/906,198 US10719502B2 (en) 2017-03-13 2018-02-27 Information processing apparatus and control method for information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017046907A JP2018151806A (ja) 2017-03-13 2017-03-13 情報処理装置、情報処理装置の制御方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2018151806A true JP2018151806A (ja) 2018-09-27

Family

ID=61683551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017046907A Pending JP2018151806A (ja) 2017-03-13 2017-03-13 情報処理装置、情報処理装置の制御方法およびプログラム

Country Status (3)

Country Link
US (1) US10719502B2 (ja)
EP (1) EP3376377A1 (ja)
JP (1) JP2018151806A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020080037A (ja) * 2018-11-13 2020-05-28 日本電気株式会社 仮想マシンテンプレート管理システム及び仮想マシンテンプレート管理方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111090453B (zh) * 2019-11-15 2022-07-08 苏州浪潮智能科技有限公司 一种设备的配置方法、设备以及存储介质
US11210110B2 (en) * 2020-05-11 2021-12-28 Jpmorgan Chase Bank, N.A. Application library analytics tool
US11385881B2 (en) * 2020-10-31 2022-07-12 Nutanix, Inc. State-driven virtualization system imaging
US11687708B2 (en) * 2021-09-27 2023-06-27 Microsoft Technology Licensing, Llc Generator for synthesizing templates
CN117234658A (zh) * 2022-06-08 2023-12-15 中兴通讯股份有限公司 虚拟机创建方法、远端设备、服务器设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009098909A1 (ja) * 2008-02-04 2009-08-13 Nec Corporation 仮想アプライアンス配備システム
JP2011242964A (ja) * 2010-05-18 2011-12-01 Hitachi Information Systems Ltd 仮想化環境構築支援システム及び仮想化環境構築支援方法
JP2015099500A (ja) * 2013-11-19 2015-05-28 富士通株式会社 記憶部更新装置、プログラム、及び方法
JP2016081444A (ja) * 2014-10-22 2016-05-16 Necフィールディング株式会社 システム構成作成支援装置、システム構成作成支援方法、および、プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110035802A1 (en) * 2009-08-07 2011-02-10 Microsoft Corporation Representing virtual object priority based on relationships
US8498997B2 (en) 2009-09-23 2013-07-30 Hitachi, Ltd. Server image migration
US9654411B2 (en) 2013-08-27 2017-05-16 Vmware, Inc. Virtual machine deployment and management engine
US20150178108A1 (en) 2013-12-20 2015-06-25 Vmware, Inc. Fast Instantiation of Virtual Machines
CN104461693B (zh) * 2014-12-11 2018-01-23 中标软件有限公司 一种桌面云计算环境下的虚拟机更新方法和系统
US9507623B2 (en) * 2014-12-15 2016-11-29 Vmware, Inc. Handling disk state inheritance for forked virtual machines

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009098909A1 (ja) * 2008-02-04 2009-08-13 Nec Corporation 仮想アプライアンス配備システム
US20110004676A1 (en) * 2008-02-04 2011-01-06 Masahiro Kawato Virtual appliance deploying system
JP2011242964A (ja) * 2010-05-18 2011-12-01 Hitachi Information Systems Ltd 仮想化環境構築支援システム及び仮想化環境構築支援方法
JP2015099500A (ja) * 2013-11-19 2015-05-28 富士通株式会社 記憶部更新装置、プログラム、及び方法
JP2016081444A (ja) * 2014-10-22 2016-05-16 Necフィールディング株式会社 システム構成作成支援装置、システム構成作成支援方法、および、プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020080037A (ja) * 2018-11-13 2020-05-28 日本電気株式会社 仮想マシンテンプレート管理システム及び仮想マシンテンプレート管理方法
JP7238351B2 (ja) 2018-11-13 2023-03-14 日本電気株式会社 仮想マシンテンプレート管理システム及び仮想マシンテンプレート管理方法

Also Published As

Publication number Publication date
EP3376377A1 (en) 2018-09-19
US10719502B2 (en) 2020-07-21
US20180260433A1 (en) 2018-09-13

Similar Documents

Publication Publication Date Title
JP2018151806A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
EP3518098B1 (en) Cross platform content management and distribution system
US10140115B2 (en) Applying update to snapshots of virtual machine
AU2020237195B2 (en) Distributed system generating rule compiler engine apparatuses, methods, systems and media
US11038947B2 (en) Automated constraint-based deployment of microservices to cloud-based server sets
US8843922B2 (en) Cloning virtual machines based on identical hardware configuration
US20140137114A1 (en) Virtual machine template creation based on data feeds
US9645814B1 (en) Generating and publishing applications for multiple platforms
JP2011150430A (ja) Sdk配布パッケージ生成装置、sdk配布パッケージ生成方法、およびsdk配布パッケージ生成プログラム
CN113805882A (zh) 应用程序开发的方法、装置、电子设备及存储介质
US8584080B2 (en) Modeling and generating computer software product line variants
JP2012208752A (ja) ライセンス管理装置、ライセンス管理方法、及びプログラム
US8438542B2 (en) Generating a management pack at program build time
US9824224B2 (en) Security-minded cloning method, system and program
JP2014041591A (ja) 機器管理装置、機器管理システムおよびプログラム
JP6156054B2 (ja) 情報処理装置およびプログラム
CN113076084A (zh) 资源文件处理方法、装置、设备及存储介质
US20200326952A1 (en) Modification procedure generation device, modification procedure generation method and storage medium for storing modification procedure generation program
JP5316485B2 (ja) ソフトウェア開発支援装置、ソフトウェア開発支援方法およびソフトウェア開発支援プログラム
JP6766962B2 (ja) 変更手順生成装置、変更手順生成方法および変更手順生成プログラム
JP2017151594A (ja) 支援装置、支援方法及びプログラム
JP2005071372A (ja) コンピュータ支援設計ツールのデータモデルの一貫性を確認するためのシステムおよび方法
JP2011165051A (ja) 開発支援装置及び方法並びにプログラム
US20240232053A1 (en) Generation of Hardware Description Language (HDL) Code Using Machine Learning
JP6983693B2 (ja) スタブ生成支援装置、スタブ生成支援方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201223

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210126