(57)【要約】【課題】  利用者により仮想マシンにインストールされるソフトウェアにおける物理マシンの性能に依存するライセンス情報を管理する。【解決手段】  仮想マシン上で動作させるソフトウェアに割り当てるライセンスの数であるライセンス数の算出に使用される情報であって、物理マシンの性能に依存する性能情報を物理マシン毎に管理する物理管理部と、ソフトウェアが仮想マシンにインストールされた後、利用者が操作する利用者端末に性能情報を出力し、インストールされたソフトウェアに割り当てるライセンス数を含むライセンス情報を利用者端末から受信するインタフェース部と、インタフェース部が受信したライセンス情報と、該ライセンス情報に含まれるライセンス数が割り当てられるソフトウェアと、該ソフトウェアがインストールされた仮想マシンとの対応を示すソフトウェア情報を管理する仮想管理部とを有する。【選択図】    図１
2019125300.tif 000002
【特許請求の範囲】
【請求項１】
利用者が使用する仮想マシンが設定される物理マシンを管理する情報処理装置において、
前記仮想マシン上で動作させるソフトウェアに割り当てるライセンスの数であるライセンス数の算出に使用される情報であって、前記物理マシンの性能に依存する性能情報を前記物理マシン毎に管理する物理管理部と、
ソフトウェアが前記仮想マシンにインストールされた後、前記利用者が操作する利用者端末に前記性能情報を出力し、インストールされたソフトウェアに割り当てるライセンス数を含むライセンス情報を前記利用者端末から受信するインタフェース部と、
前記インタフェース部が受信した前記ライセンス情報と、該ライセンス情報に含まれるライセンス数が割り当てられるソフトウェアと、該ソフトウェアがインストールされた前記仮想マシンとの対応を示すソフトウェア情報を管理する仮想管理部と
を備えることを特徴とする情報処理装置。
【請求項２】
前記仮想管理部が管理する前記ライセンス情報に基づいて、他の前記物理マシンへの前記仮想マシンの移動の可否を判定する移動管理部をさらに備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記移動管理部は、前記仮想管理部が管理する前記ライセンス情報に、前記ライセンスが物理マシン単位で設定され、かつ、前記ライセンスが前記物理マシンに含まれるプロセッサのコア数に依存して設定されることを示す第１のライセンス情報が含まれる場合であって、前記ライセンス情報に含まれるライセンス数が、前記仮想マシンの移動先の前記物理マシンの前記性能情報から算出されるライセンス数以上の場合、前記仮想マシンの移動を許可することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記インタフェース部は、前記性能情報を前記利用者端末に出力した後、前記ライセンス情報、または、ソフトウェアがインストールされた前記仮想マシンの他の前記物理マシンへの移動の可否を示す移動可否情報のいずれかを前記利用者端末から受信し、
前記仮想管理部は、前記利用者端末から前記ライセンス情報を受信した場合、ソフトウェア毎に前記ソフトウェア情報を管理し、前記利用者端末から前記移動可否情報を受信した場合、前記仮想マシン毎に前記移動可否情報を管理することを特徴とする請求項１ないし請求項３のいずれか１項に記載の情報処理装置。
【請求項５】
前記仮想管理部が管理する情報に基づいて、ソフトウェアがインストールされた前記仮想マシンが設定された前記物理マシンに含まれるプロセッサの増設の可否を判定する増設管理部をさらに備えることを特徴とする請求項１ないし請求項４のいずれか１項に記載の情報処理装置。
【請求項６】
前記増設管理部は、プロセッサを増設する前記物理マシンに設定された前記仮想マシンにインストールされたソフトウェアにおいて、前記仮想管理部が管理する前記ライセンス情報に、前記ライセンスが物理マシン単位で設定され、かつ、前記ライセンスが前記物理マシンに含まれるプロセッサのコア数に依存して設定されることを示す第１のライセンス情報が含まれる場合であって、前記ライセンス情報に含まれるライセンス数が、前記プロセッサを増設する前記物理マシンから移動する前記仮想マシンの移動先の前記物理マシンの前記性能情報から算出されるライセンス数以上の場合、プロセッサの増設を許可することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記仮想管理部は、ソフトウェアがインストールされた前記仮想マシンが前記物理マシンから削除された場合、削除された前記仮想マシンに対応して管理していた前記ソフトウェア情報を削除し、削除したソフトウェア情報に含まれていたライセンス数を未使用ライセンス数として管理することを特徴とする請求項１ないし請求項６のいずれか１項に記載の情報処理装置。
【請求項８】
前記性能情報は、前記物理マシンが有するプロセッサのコア数と、該コア数に乗ずる係数とを含み、
ソフトウェアに要求されるライセンスが、物理マシン単位で設定され、かつ、前記物理マシンに含まれる前記プロセッサの前記コア数に依存して設定される場合、ライセンス数は、前記コア数と前記係数との積で示され、
前記物理管理部は、前記情報処理装置の管理者が操作する管理者端末から正しい係数を受信するまで、前記係数を設定可能な最大の値を設定することを特徴とする請求項１ないし請求項７のいずれか１項に記載の情報処理装置。
【請求項９】
前記仮想マシンの構成データと、前記仮想マシンに設定されるソフトウェアのプログラムデータとを含むイメージを使用して前記仮想マシンが前記物理マシンに設定された場合、前記イメージに含まれるソフトウェアと、該ソフトウェアに割り当てるライセンス数を含む前記ライセンス情報と、前記イメージを使用して前記物理マシンに設定された前記仮想マシンとの対応を示すソフトウェア情報を、前記仮想管理部が管理するソフトウェア情報と共通に管理するイメージ管理部をさらに備えることを特徴とする請求項１ないし請求項８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記ソフトウェア情報を保持するソフトウェア情報保持部をさらに備え、
前記仮想管理部は、
前記仮想マシンへのソフトウェアのインストールに基づいて、インストールされたソフトウェアと、該ソフトウェアがインストールされた前記仮想マシンとを示すインストール情報を前記ソフトウェア情報保持部に格納し、
前記インストール情報に対応するライセンス数が前記ソフトウェア情報として前記ソフトウェア情報保持部に保持されているかを所定の周期で検出し、
前記インストール情報に対応するライセンス数が前記ソフトウェア情報保持部に保持されていない場合、前記利用者に向けてライセンス数の入力を要求する指示を前記インタフェース部に発行し、
前記利用者端末から受信するライセンス数を前記ソフトウェア情報保持部に格納すること
を特徴とする請求項１ないし請求項９のいずれか１項に記載の情報処理装置。
【請求項１１】
利用者が使用する仮想マシンが設定される物理マシンと、前記物理マシンを管理する情報処理装置とを有する情報処理システムにおいて、
前記情報処理装置は、
前記仮想マシン上で動作させるソフトウェアに割り当てるライセンスの数であるライセンス数の算出に使用される情報であって、前記物理マシンの性能に依存する性能情報を前記物理マシン毎に管理する物理管理部と、
ソフトウェアが前記仮想マシンにインストールされた後、前記利用者が操作する利用者端末に前記性能情報を出力し、インストールされたソフトウェアに割り当てるライセンス数を含むライセンス情報を前記利用者端末から受信するインタフェース部と、
前記インタフェース部が受信した前記ライセンス情報と、該ライセンス情報に含まれるライセンス数が割り当てられるソフトウェアと、該ソフトウェアがインストールされた前記仮想マシンとの対応を示すソフトウェア情報を管理する仮想管理部と
を備えることを特徴とする情報処理システム。
【請求項１２】
利用者が使用する仮想マシンが設定される物理マシンを管理する情報処理装置に、
前記仮想マシン上で動作させるソフトウェアに割り当てるライセンスの数であるライセンス数の算出に使用される情報であって、前記物理マシンの性能に依存する性能情報を前記物理マシン毎に管理し、
ソフトウェアが前記仮想マシンにインストールされた後、前記利用者が操作する利用者端末に前記性能情報を出力し、
インストールされたソフトウェアに割り当てるライセンス数を含むライセンス情報を前記利用者端末から受信し、
受信した前記ライセンス情報と、該ライセンス情報に含まれるライセンス数が割り当てられるソフトウェアと、該ソフトウェアがインストールされた前記仮想マシンとの対応を示すソフトウェア情報を管理する
処理を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システムおよびプログラムに関する。
【背景技術】
【０００２】
クラウドサービスの利用者が、クラウドサービスを提供する事業者により管理される物理サーバまたは物理サーバに割り当てられる仮想マシンにソフトウェアをインストールする場合、ソフトウェアのライセンスは、適切に管理される必要がある。例えば、物理サーバに仮想マシンを割り当てる場合、仮想マシンは、仮想マシンで使用するソフトウェアのライセンスの必要数が他の物理サーバに比べて少ない物理サーバに割り当てられる。これにより、ライセンスの消費数が抑制され、ライセンスが効率的に使用される（例えば、特許文献１参照）。
【０００３】
ソフトウェアを提供するサイトは、ソフトウェアを使用する利用者のサイトとの間で通信し、ソフトウェアのライセンスの使用数が購入したライセンス数以下になるように管理する。これにより、仮想マシンが移動または複製される場合にもライセンスが正しく管理される（例えば、特許文献２参照）。
【０００４】
仮想マシンを作成する要求に基づいて、ソフトウェアを動作可能な物理マシンと、仮想マシンを作成可能な物理マシンとがそれぞれ特定され、特定された物理マシンの中から仮想マシンを生成する物理マシンが決定される。これにより、クラウドサービスの運用コストが低減される（例えば、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１５０９７号公報
【特許文献２】国際公開第２０１５／０８７４４４号
【特許文献３】特開２０１５−１０３０９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ソフトウェアに必要なライセンス数は、物理サーバが有するＣＰＵ（Central Processing Unit）の数またはＣＰＵコアの数等の物理サーバの性能に依存して決められる場合がある。この場合、仮想マシンの物理サーバ間での移動により、利用者が仮想マシンにインストールしたソフトウェアにライセンス違反が発生するおそれがある。しかしながら、物理サーバを管理する管理サーバ等が、物理サーバの性能に依存するソフトウェアのライセンス数を含むライセンス情報を管理していない場合、ライセンス違反の発生を抑制することは困難である。
【０００７】
１つの側面では、本発明は、利用者により仮想マシンにインストールされるソフトウェアにおける物理マシンの性能に依存するライセンス情報を管理することを目的とする。
【課題を解決するための手段】
【０００８】
一つの実施態様では、利用者が使用する仮想マシンが設定される物理マシンを管理する情報処理装置において、仮想マシン上で動作させるソフトウェアに割り当てるライセンスの数であるライセンス数の算出に使用される情報であって、物理マシンの性能に依存する性能情報を物理マシン毎に管理する物理管理部と、ソフトウェアが仮想マシンにインストールされた後、利用者が操作する利用者端末に性能情報を出力し、インストールされたソフトウェアに割り当てるライセンス数を含むライセンス情報を利用者端末から受信するインタフェース部と、インタフェース部が受信したライセンス情報と、該ライセンス情報に含まれるライセンス数が割り当てられるソフトウェアと、該ソフトウェアがインストールされた仮想マシンとの対応を示すソフトウェア情報を管理する仮想管理部とを有する。
【発明の効果】
【０００９】
１つの側面では、本発明は、利用者により仮想マシンにインストールされるソフトウェアにおける物理マシンの性能に依存するライセンス情報を管理することができる。
【図面の簡単な説明】
【００１０】
【図１】情報処理装置、情報処理システムおよびプログラムの一実施形態を示す図である。
【図２】図１に示す情報処理システムの動作の一例を示す図である。
【図３】情報処理装置、情報処理システムおよびプログラムの別の実施形態を示す図である。
【図４】図３に示す物理サーバに設定される仮想マシンの一例を示す図である。
【図５】図４に示す仮想マシンにインストールされるソフトウェアを動作させるために必要なライセンス数の一例を示す図である。
【図６】図３に示すテーブル群に含まれる各種テーブルの一例を示す図である。
【図７】図３に示す情報処理システムの動作の概要を示す図である。
【図８】図３に示す物理管理部の動作の一例を示す図である。
【図９】図３に示すイメージ管理部の動作の一例を示す図である。
【図１０】図９に示す動作がイメージ管理部により実行された後の情報処理システムの状態の一例を示す図である。
【図１１】図３に示す利用者設定管理部の動作の一例を示す図である。
【図１２】図３に示す利用者設定管理部の動作の別の例を示す図である。
【図１３】図３に示す利用者設定管理部の動作のさらなる別の例を示す図である。
【図１４】図３に示す移動管理部の動作の一例を示す図である。
【図１５】図３に示す物理サーバに設定される仮想マシンの別の例を示す図である。
【図１６】図１５に示す仮想マシンの移動の可否の一例を示す図である。
【図１７】物理サーバのＣＰＵの増設時における図３に示す全体管理部の動作の一例を示す図である。
【図１８】図１７に示すステップＳ６１０の処理の一例を示す図である。
【図１９】物理サーバのＣＰＵの減設時における図３に示す全体管理部の動作の一例を示す図である。
【図２０】図１９に示すステップＳ７１０の処理の一例を示す図である。
【図２１】仮想マシンのｖＣＰＵの増設時における図３に示す全体管理部の動作の一例を示す図である。
【図２２】仮想マシンのｖＣＰＵの減設時における図３に示す全体管理部の動作の一例を示す図である。
【図２３】情報処理装置、情報処理システムおよびプログラムの別の実施形態を示す図である。
【図２４】図２３に示すテーブル群に含まれる各種テーブルの一例を示す図である。
【図２５】図２３に示す利用者設定管理部の動作の一例を示す図である。
【図２６】図２３に示す移動管理部の動作の一例を示す図である。
【図２７】図１、図３および図２３に示す管理サーバのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を用いて実施形態を説明する。
【００１２】
図１は、情報処理装置、情報処理システムおよびプログラムの一実施形態を示す。図１に示す情報処理システム１００は、例えば、ネットワークＮＷを介してコンピュータリソースを提供するクラウドサービス等に使用される。特に限定されないが、クラウドサービスとしてＩａａＳ（Infrastructure as a Service）が提供される。
【００１３】
情報処理システム１００は、情報処理を実行する複数の仮想マシンＶＭ（Virtual Machine）を動作可能な複数の物理サーバ１０（１０ａ、１０ｂ）と、クラウドサービス等を実現するために物理サーバ１０を管理する管理サーバ２０とを有する。物理サーバ１０は、物理マシンの一例であり、管理サーバ２０は、情報処理装置の一例である。例えば、物理サーバ１０および管理サーバ２０は、ネットワークＬＮＷを介して相互に接続される。
【００１４】
物理サーバ１０は、複数のＣＰＵコア１２を含むＣＰＵ１４と、ＣＰＵ１４に接続される記憶装置１６およびディスク装置１８とを有する。記憶装置１６は、例えば、複数のＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）を含むメモリモジュールを有する。ディスク装置１８は、ＨＤＤ（Hard Disk Drive）またはＳＳＤ（Solid State Drive）等を有する。そして、物理サーバ１０は、管理サーバ２０からの指示に基づき記憶装置１６に記憶されたハイパーバイザ等の仮想マシンを実現する制御プログラムを実行する。制御プログラムの実行により、ＣＰＵコア１２、記憶装置１６およびディスク装置１８等の物理リソースは、仮想リソースとして分割され、仮想マシンＶＭとして動作する。例えば、仮想リソースは、ＣＰＵコア１２を仮想化した仮想ＣＰＵ（後述するｖＣＰＵ）、記憶装置１６を仮想化した仮想記憶装置、およびディスク装置１８を仮想化した仮想ディスク装置を含む。
【００１５】
管理サーバ２０は、インターネットまたはイントラネット等のネットワークＮＷを介して、仮想マシンＶＭを使用する利用者により操作される端末装置４０に接続される。端末装置４０は、利用者端末の一例である。管理サーバ２０は、物理管理部２２、インタフェース部２４、仮想管理部２６および移動管理部２８を有する。
【００１６】
物理管理部２２は、管理サーバ２０により管理される物理サーバ１０を検出し、検出した物理サーバ１０からＣＰＵ等の性能に依存する性能情報を取得し、取得した性能情報を物理サーバ１０毎に管理する。
【００１７】
インタフェース部２４は、利用者により仮想マシンＶＭにソフトウェアがインストールされた後、利用者が使用する仮想マシンＶＭが設定された物理サーバ１０の性能情報を、利用者が操作する端末装置４０を出力する。例えば、インタフェース部２４は、物理サーバ１０の性能情報を、物理管理部２２に問い合わせることで取得する。また、インタフェース部２４は、物理サーバ１０の性能情報を出力した後、利用者が使用する仮想マシンＶＭにインストールされたソフトウェアに割り当てるライセンス数を含むライセンス情報を端末装置４０から受信する。例えば、ライセンス数等のライセンス情報は、端末装置４０が受信した性能情報に基づいて、利用者により算出される。
【００１８】
仮想管理部２６は、インタフェース部２４が受信したライセンス情報と、利用者がインストールしたソフトウェアと、ソフトウェアがインストールされた仮想マシンＶＭとの対応を示すソフトウェア情報を端末装置４０（利用者）毎に管理する。なお、仮想管理部２６は、仮想マシンＶＭに含まれるソフトウェアのうち、ライセンス情報が管理されていないソフトウェアを検出し、インタフェース部２４を介して、検出したソフトウェアを所有する利用者にライセンス情報の入力を促してもよい。
【００１９】
移動管理部２８は、仮想マシンＶＭを物理サーバ１０間で移動する移動要因が発生した場合、仮想管理部２６が管理するソフトウェア情報に基づいて、仮想マシンＶＭが移動可能か否かを判定する。すなわち、移動管理部２８は、仮想マシンＶＭが物理サーバ１０間で移動される場合、仮想マシンＶＭに含まれるソフトウェアのライセンスが違反状態になるか否かを管理する。仮想マシンＶＭの移動要因は、物理サーバ１０のメンテナンスまたは物理サーバ１０のＣＰＵの増設等により発生する。
【００２０】
物理管理部２２、インタフェース部２４、仮想管理部２６および移動管理部２８は、管理サーバ２０が有する図示しないＣＰＵ等のプロセッサが、図示しない記憶部に格納されたプログラムを実行することで実現される。なお、物理管理部２２、インタフェース部２４、仮想管理部２６および移動管理部２８は、管理サーバ２０が有するＦＰＧＡ（Field-Programmable Gate Array）等のハードウェアにより実現されてもよい。物理管理部２２、インタフェース部２４、仮想管理部２６および移動管理部２８の機能は、図２で説明される。
【００２１】
図２は、図１に示す情報処理システム１００の動作の一例を示す。図２に示す動作のうち、管理サーバ２０の動作は、管理サーバ２０による情報処理方法および管理サーバ２０が実行するプログラムによる処理の一例である。図２では、複数の物理サーバ１０を含む物理サーバ群には、所定の利用者により使用される仮想マシンＶＭが予め設定されている。
【００２２】
物理管理部２２は、管理サーバ２０が管理する物理サーバ１０から性能情報を取得し、取得した性能情報を物理サーバ１０毎に管理する（図２（ａ）、（ｂ））。例えば、物理管理部２２は、管理サーバ２０が有する記憶部に性能情報を格納することで、性能情報を管理する。
【００２３】
インタフェース部２４は、端末装置４０を介して利用者により仮想マシンＶＭにインストールされるソフトウェアを、インストール対象の仮想マシンＶＭを含む物理サーバ１０に転送する。これにより、ソフトウェアが仮想マシンＶＭにインストールされる（図２（ｃ））。例えば、インタフェース部２４は、ソフトウェアのインストールに基づいて、ソフトウェアと、ソフトウェアがインストールされた仮想マシンＶＭと、ソフトウェアがインストールされた仮想マシンＶＭを含む物理サーバ１０とを示す情報を保持する。なお、仮想マシンＶＭと、仮想マシンＶＭを含む物理サーバ１０との関係を示す情報は、管理サーバ２０において、仮想マシンＶＭの物理サーバ１０への作成を制御する図示しない設定管理部により管理されてもよい。
【００２４】
次に、インタフェース部２４は、ソフトウェアがインストールされた仮想マシンＶＭを含む物理サーバ１０の性能情報を物理管理部２２から取得する（図２（ｄ））。そして、インタフェース部２４は、取得した性能情報を、ソフトウェアをインストールした利用者が操作する端末装置４０に出力する（図２（ｅ））。この後、インタフェース部２４は、インストールされたソフトウェアに割り当てるライセンス数を含むライセンス情報を、端末装置４０を介して利用者から受信する（図２（ｆ））。インタフェース部２４は、受信したライセンス情報と、ライセンス情報に対応するソフトウェアと、ソフトウェアがインストールされた仮想マシンＶＭと、仮想マシンＶＭを含む物理サーバ１０とを示すソフトウェア情報を仮想管理部２６に出力する（図２（ｇ））。
【００２５】
仮想管理部２６は、インタフェース部２４から受信したソフトウェア情報を管理する（図２（ｈ））。なお、仮想管理部２６は、インタフェース部２４からライセンス情報のみを受信し、ソフトウェアと仮想マシンＶＭと物理サーバ１０との対応を示す情報を物理サーバ１０から取得してもよい。また、ソフトウェアと仮想マシンＶＭと物理サーバ１０との対応を示す情報は、管理サーバ２０に設けられる記憶部に保持されてもよい。この場合、仮想管理部２６は、インタフェース部２４からライセンス情報のみを受信し、ソフトウェアと仮想マシンＶＭと物理サーバ１０との対応を示す情報を管理サーバ２０に設けられる記憶部から取得する。
【００２６】
このように、管理サーバ２０は、利用者によりインストールされたソフトウェアに関する情報であって、インストールする物理サーバ１０に依存して変化するライセンス情報を、端末装置４０を介して利用者に問い合わせることで取得する。そして、管理サーバ２０は、取得したライセンス情報を、ソフトウェアと、ソフトウェアがインストールされた仮想マシンと、仮想マシンＶＭを含む物理サーバ１０との対応を示す情報とともに、ソフトウェア情報として管理する。したがって、管理サーバ２０は、仮想マシンＶＭを含む物理サーバ１０の性能によって、仮想マシンＶＭにインストールされるソフトウェアのライセンス数が異なる場合にも、利用者に問い合わせることで、ライセンス数を含むソフトウェア情報を管理できる。
【００２７】
移動管理部２８は、例えば、管理サーバ２０の管理者が操作する端末装置から仮想マシンＶＭの移動要因が発生したことを示す通知を受信した場合に動作する（図２（ｉ））。移動管理部２８は、移動要因の発生に基づいて、物理サーバ１０間で移動する仮想マシンＶＭに含まれるソフトウェアに対応するソフトウェア情報を仮想管理部２６から取得する（図２（ｊ））。移動管理部２８は、取得したソフトウェア情報に基づいて、仮想マシンＶＭの移動の可否を判定し、判定結果を、例えば、管理サーバ２０の管理者が操作する端末装置に通知する（図２（ｋ）、（ｌ））。
【００２８】
例えば、仮想マシンＶＭの移動先の物理サーバ１０の性能が、仮想マシンＶＭの移動元の物理サーバ１０の性能以下の場合、仮想マシンＶＭの移動により、仮想マシンＶＭにインストールされたソフトウェアのライセンス違反は発生しない。この場合、移動管理部２８は、仮想マシンＶＭを移動可能と判定する。一方、仮想マシンＶＭの移動先の物理サーバ１０の性能が、仮想マシンＶＭの移動元の物理サーバ１０の性能より高い場合、仮想マシンＶＭの移動により、仮想マシンＶＭにインストールされたソフトウェアのライセンス違反が発生する。この場合、移動管理部２８は、仮想マシンＶＭを移動不可と判定する。
【００２９】
このように、利用者により仮想マシンＶＭにインストールされたソフトウェアに必要なライセンス数を含むソフトウェア情報を使用することで、利用者によりソフトウェアがインストールされた仮想マシンＶＭの移動の可否を判定することができる。換言すれば、仮想マシンＶＭを含む物理サーバ１０の性能によって、仮想マシンＶＭにインストールされるソフトウェアのライセンス数が異なる場合にも、仮想マシンＶＭの移動の可否を判定することができる。
【００３０】
以上、図１および図２に示す実施形態では、利用者によりインストールされたソフトウェアに関する情報であって、インストールする物理サーバ１０に依存して変化するライセンス数を含むソフトウェア情報を管理することができる。これにより、例えば、性能の異なる物理サーバ１０間で仮想マシンＶＭを移動する場合に、仮想マシンＶＭの移動により、仮想マシンＶＭにインストールされたソフトウェアにライセンス違反が発生するか否かを判定することができる。すなわち、仮想マシンＶＭの移動の可否を判定することができる。
【００３１】
図３は、情報処理装置、情報処理システムおよびプログラムの別の実施形態を示す。図１に示す情報処理システム１００と同一または同様の要素については、詳細な説明は省略する。図３に示す情報処理システム１００Ａは、管理サーバ２０の代わりに管理サーバ２０Ａを有することを除き、図１に示す情報処理システム１００と同様の構成を有する。情報処理システム１００Ａは、ＩａａＳ（Infrastructure as a Service）等のクラウドサービス等の提供に使用される。なお、情報処理システム１００Ａにより実現されるクラウドサービスは、プライベートクラウドまたはパブリッククラウドのいずれでもよい。
【００３２】
管理サーバ２０Ａは、物理管理部２２Ａ、利用者設定管理部２７Ａ、移動管理部２８Ａ、イメージ管理部２９Ａ、全体管理部３０Ａおよび記憶部３２Ａを有する。記憶部３２Ａは、利用者による設定される仮想マシンの管理と、仮想マシンＶＭにインストールされるソフトウェアのライセンスの管理とに使用される各種テーブルを含むテーブル群３４Ａが割り当てられる記憶領域を有する。また、記憶部３２Ａは、仮想マシンを管理するために実行されるプログラム３６Ａが格納される記憶領域を有する。テーブル群３４Ａの例は、図６に示される。
【００３３】
物理管理部２２Ａは、管理サーバ２０Ａにより管理される物理サーバ１０を検出し、検出した物理サーバ１０からＣＰＵ等の仕様を取得する。物理管理部２２Ａは、取得した仕様を示す仕様情報をテーブル群３４Ａの所定のテーブルに格納する。これにより、利用者設定管理部２７Ａ、移動管理部２８Ａ、イメージ管理部２９Ａおよび全体管理部３０Ａは、テーブル群３４Ａを参照することで、管理対象の物理サーバ１０の仕様を取得可能になる。物理管理部２２Ａの動作の例は、図８に示される。
【００３４】
利用者設定管理部２７Ａは、仮想マシンＶＭに含まれるソフトウェアのうち、テーブル群３４Ａにライセンス情報が設定されていないソフトウェアを検出し、検出したソフトウェアを所有する利用者（端末装置４０）にライセンス情報の入力を促す。そして、利用者設定管理部２７Ａは、利用者により入力されたライセンス情報をテーブル群３４Ａに格納する。また、利用者設定管理部２７Ａは、仮想マシンＶＭが物理サーバ１０から削除された場合、削除された仮想マシンＶＭに対応してテーブル群３４Ａに保持されていた情報を削除する。利用者設定管理部２７Ａの動作の例は、図１１から図１３に示される。
【００３５】
移動管理部２８Ａは、仮想マシンＶＭが物理サーバ１０間で移動される場合、テーブル群３４Ａに保持された情報に基づいて、仮想マシンＶＭが移動可能か否かを管理する。すなわち、移動管理部２８Ａは、仮想マシンＶＭが物理サーバ１０間で移動される場合、仮想マシンＶＭに含まれるソフトウェアのライセンスが違反状態になるか否かを管理する。移動管理部２８Ａの動作の例は、図１４に示される。
【００３６】
イメージ管理部２９Ａは、予め準備された仮想マシンＶＭのテンプレートであるＶＭイメージを使用して仮想マシンＶＭが物理サーバ１０に作成された場合に動作する。ＶＭイメージは、仮想マシンＶＭの構成データと、仮想マシンＶＭに設定されるソフトウェアのプログラムデータとを含むイメージの一例である。イメージ管理部２９Ａは、ＶＭイメージに基づいて物理サーバ１０に作成された仮想マシンＶＭの情報と、仮想マシンＶＭに含まれるソフトウェアの情報とをテーブル群３４Ａの所定のテーブルに格納する。テーブルに格納される情報は、ソフトウェアのライセンス情報を含む。これにより、例えば、ＶＭイメージを使用して物理サーバ１０に作成された仮想マシンＶＭを他の物理サーバ１０に移動する場合、ライセンス情報を参照することで仮想マシンＶＭに含まれるソフトウェアのライセンス違反が発生するか否かを判定することができる。イメージ管理部２９Ａの動作の例は、図９に示される。
【００３７】
全体管理部３０Ａは、物理サーバ１０への仮想マシンＶＭの作成を管理し、物理サーバ１０からの仮想マシンＶＭの削除を管理し、物理サーバ１０間での仮想マシンＶＭの移動を管理する。また、全体管理部３０Ａは、物理サーバ１０のＣＰＵの増設または減設と、仮想マシンＶＭのｖＣＰＵの増設または減設を管理する。ＣＰＵおよびｖＣＰＵの増設を管理する全体管理部３０Ａは、増設管理部の一例である。
【００３８】
ＣＰＵの増設を管理する全体管理部３０Ａの動作の例は、図１７および図１８に示される。ＣＰＵの減設を管理する全体管理部３０Ａの動作の例は、図１９および図２０に示される。ｖＣＰＵの増設を管理する全体管理部３０Ａの動作の例は、図２１に示され、ｖＣＰＵの減設を管理する全体管理部３０Ａの動作の例は、図２２に示される。
【００３９】
物理管理部２２Ａ、利用者設定管理部２７Ａ、移動管理部２８Ａ、イメージ管理部２９Ａおよび全体管理部３０Ａは、管理サーバ２０Ａが有するＣＰＵ等のプロセッサがプログラム３６Ａを実行することで実現される。なお、物理管理部２２Ａ、利用者設定管理部２７Ａ、移動管理部２８Ａ、イメージ管理部２９Ａおよび全体管理部３０Ａは、管理サーバ２０Ａが有するＦＰＧＡ等のハードウェアにより実現されてよい。物理管理部２２Ａ、利用者設定管理部２７Ａ、移動管理部２８Ａ、イメージ管理部２９Ａおよび全体管理部３０Ａの機能は、図７で説明される。
【００４０】
図４は、図３に示す物理サーバ１０に設定される仮想マシンＶＭの一例を示す。以下では、物理サーバ１０ａは、物理サーバＰＳＶａとして説明され、物理サーバ１０ｂは、物理サーバＰＳＶｂとして説明される。なお、情報処理システム１００Ａに含まれる物理サーバＰＳＶであって、管理サーバ２０Ａにより管理される物理サーバＰＳＶは、２つに限定されない。
【００４１】
物理サーバＰＳＶａ、ＰＳＶｂの各々は、４つのＣＰＵコア１２を各々含む２つのＣＰＵ１４を有する。但し、物理サーバＰＳＶｂのＣＰＵ１４の処理性能は、物理サーバＰＳＶａのＣＰＵ１４の処理性能より高い。このため、仮想マシンＶＭにインストールされたソフトウェアを動作させるために必要なライセンス数の算出方法は、物理サーバＰＳＶａ、ＰＳＶｂで互いに異なる。ライセンス数の算出に使用する係数ＣＯＥＦは、物理サーバＰＳＶａでは”０．５”であり、物理サーバＰＳＶｂでは、”０．７５”である。ライセンス数の算出方法の例は、図５で説明される。以下では、ＣＰＵ１４は、ＣＰＵとも称され、ＣＰＵコア１２はコアとも称される。
【００４２】
物理サーバＰＳＶａ、ＰＳＶｂの各々は、ハイパーバイザＨＹＰＶ等を実行することにより、仮想マシンＶＭの作成、移動または削除等を制御する。図４に示す例では、物理サーバＰＳＶａは、４つの仮想マシンＶＭ１、ＶＭ２、ＶＭ３、ＶＭ４を有し、物理サーバＰＳＶｂは、１つの仮想マシンＶＭ５を有する。
【００４３】
仮想マシンＶＭ１には、１つの仮想ＣＰＵ（１ｖＣＰＵ）が割り当てられ、仮想マシンＶＭ１は、オペレーティングシステムＯＳＡおよびソフトウェアＭＷ１、ＭＷ２を含む。仮想マシンＶＭ２には、２つの仮想ＣＰＵ（２ｖＣＰＵ）が割り当てられ、仮想マシンＶＭ２は、オペレーティングシステムＯＳＡを含む。仮想マシンＶＭ３には、１つの仮想ＣＰＵ（１ｖＣＰＵ）が割り当てられ、仮想マシンＶＭ３は、オペレーティングシステムＯＳＡおよびソフトウェアＭＷ３、ＭＷ４を含む。仮想マシンＶＭ４には、２つの仮想ＣＰＵ（２ｖＣＰＵ）が割り当てられ、仮想マシンＶＭ４は、オペレーティングシステムＯＳＡを含む。仮想マシンＶＭ５には、１つの仮想ＣＰＵ（１ｖＣＰＵ）が割り当てられ、仮想マシンＶＭ５は、オペレーティングシステムＯＳＡおよびソフトウェアＭＷＢ、ＭＷ５を含む。以下では、仮想ＣＰＵは、ｖＣＰＵとも称される。
【００４４】
図５は、図４に示す仮想マシンＶＭにインストールされるソフトウェアを動作させるために必要なライセンス数ＬＣＳ−Ｎの一例を示す。各ソフトウェアを動作させるために必要なライセンス数ＬＣＳ−Ｎは、ライセンスの購入単位ＬＣＳ−ＵＮＩＴと、ライセンスタイプＬＣＳ−ＴＹＰＥと、ソフトウェアを動作させるコアの処理性能とに基づいて決められる。
【００４５】
ライセンスの購入単位ＬＣＳ−ＵＮＩＴには、物理サーバ（ＰＳＶ）単位での購入を示す”物理”と、仮想マシン（ＶＭ）単位での購入を示す”仮想”とがある。ライセンスタイプＬＣＳ−ＴＹＰＥには、プロセッサ（ＣＰＵ）の数に応じてライセンス数が決まるプロセッサライセンス（”プロセッサ”）とソフトウェアをインストールするサーバの台数に応じてライセンス数が決まるサーバライセンス（”サーバ”）とがある。
【００４６】
この他、ライセンスタイプＬＣＳ−ＴＹＰＥには、登録する利用者の数に応じてライセンス数が決まる利用者ライセンスがある。さらに、ライセンスタイプＬＣＳ−ＴＹＰＥには、ソフトウェアをインストールする物理サーバＰＳＶの性能（機種クラス）に応じてライセンス数が決まる機種クラス別サーバライセンス等がある。なお、ライセンスの購入単位ＬＣＳ−ＵＮＩＴおよびライセンスタイプＬＣＳ−ＴＹＰＥは、ソフトウェア毎に予め決められる。このため、ライセンス数ＬＣＳ−Ｎは、ソフトウェアと、ソフトウェアがインストールされる物理サーバＰＳＶの環境に応じて決定される。
【００４７】
ライセンスの購入単位ＬＣＳ−ＵＮＩＴが”物理”で、ライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”の場合、ライセンス数ＬＣＳ−Ｎは、物理サーバＰＳＶに含まれるＣＰＵコアの総数ＣＯＲＥ−Ｎと係数ＣＯＥＦとを乗じることにより算出される。ライセンスの購入単位ＬＣＳ−ＵＮＩＴが”仮想”で、ライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”の場合、まず、仮想マシンＶＭに割り当てられた仮想ＣＰＵの総数ｖＣＰＵ−Ｎがスレッド数ＴＨ−Ｎで除される。そして、ライセンス数ＬＣＳ−Ｎは、仮想ＣＰＵの総数ｖＣＰＵ−Ｎをスレッド数ＴＨ−Ｎで除した値と、係数ＣＯＥＦとを乗じることにより算出される。例えば、スレッド数ＴＨ−Ｎは、コアを分割して動作させるハイパースレッディング機能がオフの場合”１”に設定され、ハイパースレッディング機能がオンの場合”２”に設定される。以下では、ハイパースレッディング機能がオフの場合（すなわち、スレッド数ＴＨ−Ｎ＝”１”）について説明される。このため、ライセンスの購入単位ＬＣＳ−ＵＮＩＴが”仮想”で、ライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”の場合、ライセンス数ＬＣＳ−Ｎは、仮想ＣＰＵの総数ｖＣＰＵ−Ｎと係数ＣＯＥＦとの積により算出される。
【００４８】
なお、算出されたライセンス数ＬＣＳ−Ｎに小数点以下の値が含まれる場合、小数点以下は切り上げられる。また、ライセンスタイプＬＣＳ−ＴＹＰＥがサーバライセンスで、ソフトウェアが１台のサーバにインストールされる場合、ライセンス数ＬＣＳ−Ｎは”１”に設定される。利用者により仮想マシンＶＭにインストールされるソフトウェアのライセンス数ＬＣＳ−Ｎは、利用者により算出される。以下では、ＣＰＵコアの総数ＣＯＲＥ−Ｎは、コア数ＣＯＲＥ−Ｎとも称され、仮想ＣＰＵの総数ｖＣＰＵ−Ｎは、コア数ｖＣＰＵ−Ｎとも称される。
【００４９】
図６は、図３に示すテーブル群３４Ａに含まれる各種テーブルの一例を示す。図６に示すテーブル群３４Ａの状態は、図４に示したように、物理サーバＰＳＶａに仮想マシンＶＭ１−ＶＭ４が作成され、物理サーバＰＳＶｂに仮想マシンＶＭ５が作成された状態を示す。
【００５０】
テーブル群３４Ａは、物理サーバＰＳＶのハードウェアの仕様情報が格納されるテーブルＰＳＶ−ＳＰＣと、クラウドサービス等を提供する事業者等により予め準備されたＶＭイメージのライセンス情報が格納されるテーブルＩＭＧ−ＬＣＳとを含む。また、テーブル群３４Ａは、物理サーバＰＳＶと、物理サーバＰＳＶに割り当てられる仮想マシンＶＭとの関係を示すＶＭ情報が格納されるテーブルＰＳＶ−ＶＭを有する。さらに、テーブル群３４Ａは、仮想マシンＶＭにインストールされるソフトウェアのライセンス情報が格納されるテーブルＳＷ−ＬＣＳと、未使用のソフトウェアのライセンス情報が格納されるテーブルＵＵＳＥ−ＬＣＳとを有する。
【００５１】
テーブルＰＳＶ−ＳＰＣは、物理サーバＰＳＶのサーバ名ＰＳＶ−ＮＡＭと、物理サーバＰＳＶに含まれるコア数ＣＯＲＥ−Ｎと、係数ＣＯＥＦとが格納される領域をそれぞれ含む複数のレコードを有する。コア数ＣＯＲＥ−Ｎおよび係数ＣＯＥＦは、物理サーバ１０の性能に依存する性能情報の一例である。物理サーバ１０に含まれるＣＰＵが１つのコアを有する場合、コア数ＣＯＲＥ−ＮはＣＰＵの数に等しい。
【００５２】
なお、テーブルＰＳＶ−ＳＰＣの各レコードは、各ＣＰＵコアに割り当てるスレッド数ＴＨ−Ｎが格納される領域と、物理サーバＰＳＶの機種クラスを示す情報が格納される領域とを有してもよい。スレッド数ＴＨ−Ｎは、図５で説明したように、ライセンスの購入単位ＬＣＳ−ＵＮＩＴが”仮想”で、ライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”の場合にライセンス数を算出されるために使用される。機種クラスは、物理サーバＰＳＶの機種クラスに応じてライセンス数が決まる機種クラス別サーバライセンスの場合に、ライセンス数を算出されるために使用される。
【００５３】
テーブルＩＭＧ−ＬＣＳは、ＶＭイメージ名ＩＭＧ−ＮＡＭと、ソフトウェア名ＳＷ−ＮＡＭと、ライセンスの購入単位ＬＣＳ−ＵＮＩＴと、ライセンスタイプＬＣＳ−ＴＹＰＥとが格納される領域をそれぞれ含む複数のレコードを有する。ＶＭイメージ名ＩＭＧ−ＮＡＭは、ＶＭイメージを識別するための名称であり、ソフトウェア名ＳＷ−ＮＡＭは、ＶＭイメージに含まれるソフトウェアを識別するための名称である。なお、テーブルＩＭＧ−ＬＣＳには、事業者等によりＶＭイメージが準備される毎に、準備したＶＭイメージに関する情報が管理者が操作する端末装置３８を介して管理者等により入力される。端末装置３８は、管理者端末の一例である。
【００５４】
テーブルＰＳＶ−ＶＭは、物理サーバＰＳＶを識別するサーバ名ＰＳＶ−ＮＡＭと、物理サーバＰＳＶに割り当てられる仮想マシンＶＭを識別する仮想マシン名ＶＭ−ＮＡＭとが格納される領域をそれぞれ含む複数のレコードを有する。
【００５５】
テーブルＳＷ−ＬＣＳは、仮想マシン名ＶＭ−ＮＡＭと、ソフトウェア名ＳＷ−ＮＡＭと、購入単位ＬＣＳ−ＵＮＩＴと、ライセンスタイプＬＣＳ−ＴＹＰＥと、ライセンス数ＬＣＳ−Ｎと、管理元ＭＮＧとが格納される領域をそれぞれ含む複数のレコードを有する。
【００５６】
仮想マシン名ＶＭ−ＮＡＭおよびソフトウェア名ＳＷ−ＮＡＭは、インストール情報の一例である。ライセンスの購入単位ＬＣＳ−ＵＮＩＴ、ライセンスタイプＬＣＳ−ＴＹＰＥ、およびライセンス数ＬＣＳ−Ｎは、ライセンス情報の一例である。また、ライセンスの購入単位ＬＣＳ−ＵＮＩＴおよびライセンスタイプＬＣＳ−ＴＹＰＥは、第１のライセンス情報の一例である。仮想マシン名ＶＭ−ＮＡＭ、ソフトウェア名ＳＷ−ＮＡＭ、ライセンスの購入単位ＬＣＳ−ＵＮＩＴ、ライセンスタイプＬＣＳ−ＴＹＰＥおよびライセンス数ＬＣＳ−Ｎは、ソフトウェア情報の一例である。すなわち、ソフトウェア情報は、インストール情報とライセンス情報とを含む。ソフトウェア情報を保持するテーブルＳＷ−ＬＣＳは、ソフトウェア情報保持部の一例である。
【００５７】
なお、管理元ＭＮＧの領域には、事業者を介することなく利用者が購入て管理するソフトウェアでは利用者を示す情報が格納され、事業者が管理するソフトウェアでは事業者を示す情報が格納される。例えば、ＶＭイメージに含まれるＯＳ等のソフトウェアは、事業者により管理されるため、管理元ＭＮＧの領域には、事業者を示す情報が格納される。なお、管理元ＭＮＧの領域に格納される利用者を示す情報は、利用者を識別可能なＩＤ（Identification）等の情報を含む。
【００５８】
テーブルＵＵＳＥ−ＬＣＳは、ソフトウェア名ＳＷ−ＮＡＭと、ライセンスの購入単位ＬＣＳ−ＵＮＩＴと、ライセンスタイプＬＣＳ−ＴＹＰＥと、未使用のライセンス数ＵＵＳＥ−ＬＣＳ−Ｎとが格納される領域をそれぞれ含む複数のレコードを有する。
【００５９】
図７は、図３に示す情報処理システム１００Ａの動作の概要を示す。なお、図７は、動作を時系列順に示すものではない。
【００６０】
管理サーバ２０Ａの物理管理部２２Ａは、端末装置３８を介して管理者から物理サーバＰＳＶの仕様情報を登録する指示を受けた場合、物理サーバＰＳＶの仕様に関する仕様情報を各物理サーバＰＳＶから取得する。そして、物理管理部２２Ａは、取得した仕様情報をテーブルＰＳＶ−ＳＰＣに登録する（図７（ａ））。例えば、仕様情報は、各物理サーバＰＳＶに含まれるコア数ＣＯＲＥ−Ｎ、各ＣＰＵコアに割り当てるスレッド数ＴＨ−Ｎおよび機種クラスを含む。
【００６１】
管理サーバ２０Ａのイメージ管理部２９Ａは、端末装置３８を介して管理者から利用者に提供するＶＭイメージの情報を登録する指示を受けた場合、ＶＭイメージに関する情報を、ＶＭイメージのライブラリ等から取得する。そして、イメージ管理部２９Ａは、取得した情報をテーブルＩＭＧ−ＬＣＳに登録する（図７（ｂ））。ＶＭイメージに関する情報は、ＶＭイメージ名ＩＭＧ−ＮＡＭ、ソフトウェア名ＳＷ−ＮＡＭ、ライセンスの購入単位ＬＣＳ−ＵＮＩＴおよびライセンスタイプＬＣＳ−ＴＹＰＥを含む。
【００６２】
管理サーバ２０Ａの全体管理部３０Ａは、端末装置４０を介して利用者から仮想マシンＶＭを作成する指示を受けた場合、物理サーバＰＳＶのいずれかに仮想マシンＶＭの作成を指示する。利用者設定管理部２７Ａは、物理サーバ１０に仮想マシンＶＭが作成されたことに基づいて、仮想マシンＶＭと、仮想マシンＶＭを作成した物理サーバＰＳＶとの関係を示すＶＭ情報をテーブルＰＳＶ−ＶＭに格納する（図７（ｃ））。ＶＭ情報は、サーバ名ＰＳＶ−ＮＡＭおよび仮想マシン名ＶＭ−ＮＡＭを含む。また、利用者設定管理部２７Ａは、仮想マシン名ＶＭ−ＮＡＭとソフトウェア名ＳＷ−ＮＡＭとを含むインストール情報をテーブルＳＷ−ＬＣＳに格納する。
【００６３】
利用者設定管理部２７Ａは、利用者が端末装置４０を介して仮想マシンＶＭのいずれかにソフトウェアをインストールした場合、インストール情報をテーブルＳＷ−ＬＣＳに格納する。インストール情報は、ソフトウェアがインストールされた仮想マシン名ＶＭ−ＮＡＭとソフトウェア名ＳＷ−ＮＡＭとを含む。また、利用者設定管理部２７Ａは、ソフトウェアをインストールした利用者に対して、インストールしたソフトウェアに関するライセンス情報の入力を要求する。利用者設定管理部２７Ａは、端末装置４０を介して利用者から受信したライセンス情報と、利用者を識別可能なＩＤ等を含む利用者情報とをテーブルＳＷ−ＬＣＳに格納する。利用者情報は、テーブルＳＷ−ＬＣＳの管理元ＭＮＧの領域に格納される。すなわち、利用者設定管理部２７Ａは、ソフトウェアの仮想マシンＶＭへのインストールに基づいて、インストール情報とライセンス情報とを含むソフトウェア情報をテーブルＳＷ−ＬＣＳに格納する（図７（ｄ））。なお、利用者にライセンス情報の入力を要求するウインドウは、例えば、情報処理システム１００Ａにより実現されるクラウドサービスに利用者がログインしたことに基づいて、利用者が操作する端末装置４０の画面に表示される。
【００６４】
全体管理部３０Ａは、端末装置４０を介して利用者からＶＭイメージを用いて仮想マシンＶＭを物理サーバＰＳＶに作成する指示を受けた場合、指示を受けたＶＭイメージに対応する仮想マシンＶＭを物理サーバＰＳＶのいずれかに作成させる。ＶＭイメージを使用して物理サーバＰＳＶに作成された仮想マシンＶＭは、ＶＭイメージ内のソフトウェアを含む。イメージ管理部２９Ａは、ＶＭイメージに基づいて物理サーバ１０に仮想マシンＶＭが作成されたことに基づいて、仮想マシンＶＭと、仮想マシンＶＭを作成した物理サーバＰＳＶとの関係を示すＶＭ情報をテーブルＰＳＶ−ＶＭに格納する（図７（ｅ））。
【００６５】
また、イメージ管理部２９Ａは、仮想マシンＶＭの作成に使用したＶＭイメージに関する情報をテーブルＩＭＧ−ＬＣＳから取得する。イメージ管理部２９Ａは、取得した情報とテーブルＰＳＶ−ＳＰＣに保持された情報とに基づいて、ＶＭイメージに含まれるソフトウェアに必要なライセンス数を算出する。イメージ管理部２９Ａは、ＶＭイメージに基づいて作成された仮想マシンＶＭに含まれるソフトウェアのインストール情報をテーブルＳＷ−ＬＣＳに格納する。そして、イメージ管理部２９Ａは、算出したライセンス数を含むライセンス情報とインストール情報とを含むソフトウェア情報を、管理元ＭＮＧを示す情報（＝”事業者”）とともにテーブルＳＷ−ＬＣＳに格納する（図７（ｆ））。ＶＭイメージに含まれるソフトウェアに関するライセンス情報は、管理サーバ２０Ａを運用する事業者により管理される。このため、ＶＭイメージに含まれるソフトウェアに関するライセンス情報の入力は、利用者に要求されない。
【００６６】
全体管理部３０Ａは、端末装置４０を介して利用者から物理サーバＰＳＶのいずれかに作成した仮想マシンＶＭを削除する指示を受けた場合、指示を受けた仮想マシンＶＭを含む物理サーバＰＳＶに仮想マシンＶＭを削除させる。利用者設定管理部２７Ａは、仮想マシンＶＭが物理サーバ１０から削除されたことに基づいて、削除した仮想マシンＶＭに対応するレコードに保持されたＶＭ情報をテーブルＰＳＶ−ＶＭから削除する（図７（ｇ））。利用者設定管理部２７Ａは、削除した仮想マシンＶＭに対応するレコードに保持されたソフトウェア情報および管理元ＭＮＧを示す情報をテーブルＳＷ−ＬＣＳから削除する（図７（ｈ））。さらに、利用者設定管理部２７Ａは、仮想マシンＶＭの削除により、仮想マシンＶＭにインストールされていたソフトウェアが削除された場合、削除されたソフトウェアに割り当てていたライセンス数を未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎとする。そして、利用者設定管理部２７Ａは、未使用ライセンス数ＵＵＳＥ−ＬＣＳ−ＮをテーブルＵＵＳＥ−ＬＣＳに格納する（図７（ｉ））。
【００６７】
全体管理部３０Ａは、端末装置３８を介して管理者から仮想マシンＶＭを物理サーバＰＳＶ間で移動する指示を受けた場合、移動の可否の判定を移動管理部２８Ａに指示する。例えば、仮想マシンＶＭの物理サーバＰＳＶ間での移動は、物理サーバＰＳＶのメンテナンス、物理サーバＰＳＶのＣＰＵの増設または減設等を実施する場合に行われる。
【００６８】
移動管理部２８Ａは、全体管理部３０Ａからの指示に基づいて、仮想マシンＶＭの移動の可否を判定し、判定結果を全体管理部３０Ａに通知する。全体管理部３０Ａは、判定結果が移動可能であることを示す場合、移動元の物理サーバＰＳＶと移動先の物理サーバＰＳＶとに仮想マシンＶＭの移動を指示する。利用者設定管理部２７Ａは、仮想マシンＶＭが移動されたことに基づいて、テーブルＰＳＶ−ＶＭに保持されたＶＭ情報を更新する（図７（ｊ））。
【００６９】
全体管理部３０Ａは、端末装置３８を介して管理者から物理サーバＰＳＶのいずれかのＣＰＵの増設の可否を確認する指示を受けた場合、テーブルＰＳＶ−ＶＭ、ＳＷ−ＬＣＳ、ＵＵＳＥ−ＬＣＳに保持された情報を参照する。そして、全体管理部３０Ａは、ＣＰＵの増設の可否を判定し、判定結果を端末装置３８に通知する（図７（ｋ））。
【００７０】
全体管理部３０Ａは、端末装置３８を介して管理者から物理サーバＰＳＶのいずれかのＣＰＵの減設の可否を確認する指示を受けた場合、テーブルＰＳＶ−ＶＭ、ＳＷ−ＬＣＳに保持された情報を参照する。そして、全体管理部３０Ａは、ＣＰＵの減設の可否を判定し、判定結果を端末装置３８に通知する（図７（ｌ））。
【００７１】
全体管理部３０Ａは、端末装置４０を介して利用者から仮想マシンＶＭのいずれかのｖＣＰＵの増設の可否を確認する指示を受けた場合、テーブルＳＷ−ＬＣＳ、ＵＵＳＥ−ＬＣＳに保持された情報を参照する。また、全体管理部３０Ａは、端末装置４０を介して利用者から仮想マシンＶＭのいずれかのｖＣＰＵの減設の可否を確認する指示を受けた場合、テーブルＳＷ−ＬＣＳに保持された情報を参照する。そして、全体管理部３０Ａは、ｖＣＰＵの増設または減設の可否を判定し、判定結果を端末装置４０に通知する（図７（ｍ））。
【００７２】
ＣＰＵの増設が可能との判定結果に基づいて、物理サーバＰＳＶのいずれかのＣＰＵが増設された場合、全体管理部３０Ａは、テーブルＰＳＶ−ＳＰＣ、ＳＷ−ＬＣＳ、ＵＵＳＥ−ＬＣＳを更新する。ＣＰＵの減設が可能との判定結果に基づいて、物理サーバＰＳＶのいずれかのＣＰＵが減設された場合、全体管理部３０Ａは、テーブルＰＳＶ−ＳＰＣ、ＳＷ−ＬＣＳ、ＵＵＳＥ−ＬＣＳを更新する（図７（ｎ））。
【００７３】
ｖＣＰＵの増設が可能との判定結果に基づいて、仮想マシンＶＭのいずれかのｖＣＰＵが増設された場合、全体管理部３０Ａは、テーブルＳＷ−ＬＣＳ、ＵＵＳＥ−ＬＣＳを更新する。また、仮想マシンＶＭのいずれかのｖＣＰＵが減設された場合、全体管理部３０Ａは、テーブルＳＷ−ＬＣＳ、ＵＵＳＥ−ＬＣＳを更新する（図７（ｏ））。なお、テーブルＰＳＶ−ＳＰＣ、ＳＷ−ＬＣＳ、ＵＵＳＥ−ＬＣＳの更新は、全体管理部３０Ａからの指示に基づいて、利用者設定管理部２７Ａにより実行されてもよい。テーブルＰＳＶ−ＳＰＣを更新する例は、図８に示され、テーブルＳＷ−ＬＣＳを更新する例は、図９および図１１に示され、テーブルＵＵＳＥ−ＬＣＳを更新する例は、図１３に示される。
【００７４】
図８は、図３に示す物理管理部２２Ａの動作の一例を示す。すなわち、図８は、管理サーバ２０Ａによる情報処理方法および管理サーバ２０Ａが実行するプログラムの一例を示す。図８に示す動作は、端末装置３８を介して管理者から管理サーバ２０Ａに、物理サーバＰＳＶの仕様情報をテーブルＰＳＶ−ＳＰＣに登録する指示が発行された場合に開始される。
【００７５】
まず、ステップＳ１００において、物理管理部２２Ａは、ネットワークＬＮＷを介して接続された物理サーバＰＳＶを、管理する物理サーバＰＳＶとして検出する。次に、ステップＳ１０２において、物理管理部２２Ａは、ステップＳ１００で検出した物理サーバＰＳＶの１つを選択する。次に、ステップＳ１０４において、物理管理部２２Ａは、ステップＳ１０２で選択した物理サーバＰＳＶから仕様情報を取得する。例えば、物理サーバＰＳＶから取得する仕様情報は、コア数ＣＯＲＥ−Ｎ、各ＣＰＵコアに割り当てるスレッド数ＴＨ−Ｎおよび機種クラスである。
【００７６】
次に、ステップＳ１０６において、物理管理部２２Ａは、取得した仕様情報を、物理サーバＰＳＶを識別するサーバ名ＰＳＶ−ＮＡＭとともにテーブルＰＳＶ−ＳＰＣに格納する。次に、ステップＳ１０８において、物理管理部２２Ａは、係数ＣＯＥＦのデフォルト値（＝”１”）をテーブルＰＳＶ−ＳＰＣに格納する。係数ＣＯＥＦのデフォルト値は、設定可能な係数ＣＯＥＦの最大値である。なお、係数ＣＯＥＦは、物理サーバＰＳＶの処理性能に基づいて決められるが、固定の値ではない。例えば、新たに物理サーバＰＳＶの開発等により、既存の物理サーバＰＳＶの処理性能が相対的に低下する場合、既存の物理サーバＰＳＶの係数ＣＯＥＦは下げられる場合がある。また、係数ＣＯＥＦは、処理性能が高いほど大きい値に設定される。
【００７７】
係数ＣＯＥＦは、物理サーバＰＳＶの相対的な処理性能に応じて変更されるため、情報処理システム１００Ａの管理者等が端末装置３８を介してテーブルＰＳＶ−ＳＰＣに設定する。すなわち、管理サーバ２０Ａの管理者が操作する端末装置３８から正しい係数ＣＯＥＦを受信するまで、テーブルＰＳＶ−ＳＰＣの係数ＣＯＥＦは、設定可能な最大の値に保持される。物理管理部２２ＡによりテーブルＰＳＶ−ＳＰＣの係数ＣＯＥＦを最大値（＝”１”）を設定することで、管理者等が係数ＣＯＥＦを設定し忘れた場合にも、係数ＣＯＥＦのデフォルト値を使用して、暫定のライセンス数を算出することができる。
【００７８】
この際、係数ＣＯＥＦは、実際のライセンス数より厳しいライセンス数が算出される最大値に設定されるため、係数ＣＯＥＦを用いて算出したライセンス数に基づいてライセンスを管理することで、ライセンス違反の発生を抑止することができる。これに対して、例えば、真の係数ＣＯＥＦより小さい値のデフォルト値を使用してライセンス数が算出される場合、算出されるライセンス数は、実際に必要なライセンス数より少なくなるおそれがあり、ライセンス違反が発生するおそれがある。
【００７９】
なお、ステップＳ１０８の処理は、ステップＳ１０２、Ｓ１０４の間、またはステップＳ１０４、Ｓ１０６の間に実行されてもよい。また、係数ＣＯＥＦが、物理サーバＰＳＶ内に読み出し可能に保持され、係数ＣＯＥＦの変更毎に更新されるとする。この場合、物理サーバＰＳＶから読み出した正しい係数ＣＯＥＦをテーブルＰＳＶ−ＳＰＣに設定できるため、デフォルト値（最大値）をテーブルＰＳＶ−ＳＰＣに設定するステップＳ１０８の処理は省略される。
【００８０】
次に、ステップＳ１１０において、物理管理部２２Ａは、管理対象の物理サーバＰＳＶの中に、ステップＳ１０２で選択していない物理サーバＰＳＶが存在するか否かを判定する。選択していない物理サーバＰＳＶが存在する場合、処理は、ステップＳ１０２に戻され、全ての物理サーバＰＳＶが選択済みである場合、処理は終了する。なお、図８に示す処理が完了した後、管理者により操作される端末装置３８から出力される真の係数ＣＯＥＦがテーブルＰＳＶ−ＳＰＣに格納される。これにより、情報処理システム１００Ａが図４に示す物理サーバＰＳＶａ、ＰＳＶｂを有する場合、テーブルＰＳＶ−ＳＰＣは、図６に示す状態になる。
【００８１】
図９は、図３に示すイメージ管理部２９Ａの動作の一例を示す。すなわち、図９は、管理サーバ２０Ａによる情報処理方法および管理サーバ２０Ａが実行するプログラムの一例を示す。図９に示す動作は、端末装置４０を介した利用者からの指示に基づいて、仮想マシンＶＭがＶＭイメージを用いて物理サーバＰＳＶのいずれかに作成されたことに基づいて開始される。
【００８２】
まず、ステップＳ２００において、イメージ管理部２９Ａは、ＶＭイメージを用いて作成された仮想マシンＶＭと、仮想マシンが作成された物理サーバＰＳＶとの関係を示す情報をテーブルＰＳＶ−ＶＭに格納する。なお、ステップＳ２００の処理は、ステップＳ２０２、Ｓ２０４、Ｓ２０６の後、ステップＳ２１２の前、ステップＳ２１２の後、または、ステップＳ２１４の後に実行されてもよい。
【００８３】
次に、ステップＳ２０２において、イメージ管理部２９Ａは、ＶＭイメージを用いて作成された仮想マシンＶＭを識別する仮想マシン名ＶＭ−ＮＡＭと、仮想マシンＶＭに含まれるソフトウェアのソフトウェア名ＳＷ−ＮＡＭとをテーブルＳＷ−ＬＣＳに格納する。すなわち、イメージ管理部２９Ａは、ＶＭイメージに対応するソフトウェア情報をテーブルＳＷ−ＬＣＳに格納する。
【００８４】
次に、ステップＳ２０４において、イメージ管理部２９Ａは、仮想マシンＶＭを作成したＶＭイメージに含まれるソフトウェアに対応するライセンスの購入単位ＬＣＳ−ＵＮＩＴおよびライセンスタイプＬＣＳ−ＴＹＰＥをテーブルＩＭＧ−ＬＣＳから取得する。次に、ステップＳ２０６において、イメージ管理部２９Ａは、ステップＳ２０４で取得したライセンスの購入単位ＬＣＳ−ＵＮＩＴおよびライセンスタイプＬＣＳ−ＴＹＰＥを、テーブルＳＷ−ＬＣＳの対応するレコードに格納する。
【００８５】
次に、ステップＳ２０８において、イメージ管理部２９Ａは、ステップＳ２０４で取得したライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”であるか否かを判定する。ライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”である場合、処理はステップＳ２１０に移行され、ライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”でない場合、すなわち、”サーバ”である場合、処理はステップＳ２１２に移行される。ステップＳ２１０において、イメージ管理部２９Ａは、仮想マシンＶＭが作成された物理サーバＰＳＶの仕様情報（コア数ＣＯＲＥ−Ｎと係数ＣＯＥＦ）をテーブルＰＳＶ−ＳＰＣから取得し、処理をステップＳ２１２に移行する。
【００８６】
ステップＳ２１２において、イメージ管理部２９Ａは、仮想マシンＶＭの作成に使用したＶＭイメージに含まれるソフトウェアのライセンス数ＬＣＳ−Ｎを算出し、算出したライセンス数ＬＣＳ−ＮをテーブルＳＷ−ＬＣＳの対応するレコードに格納する。図５で説明したように、ライセンスの購入単位ＬＣＳ−ＵＮＩＴが”物理”で、ライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”の場合、ライセンス数ＬＣＳ−Ｎは、ステップＳ２１０で取得したコア数ＣＯＲＥ−Ｎと係数ＣＯＥＦとを使用して算出される。また、ライセンスの購入単位ＬＣＳ−ＵＮＩＴが”仮想”で、ライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”の場合、ライセンス数ＬＣＳ−Ｎは、コア数ｖＣＰＵ−ＮとステップＳ２１０で取得した係数ＣＯＥＦとを使用して算出される。一方、ライセンスの購入単位ＬＣＳ−ＵＮＩＴが”サーバ”の場合、ライセンス数ＬＣＳ−Ｎは”１”に設定される。
【００８７】
次に、ステップＳ２１４において、イメージ管理部２９Ａは、テーブルＳＷ−ＬＣＳにおいて、対応する管理元ＭＮＧの領域に”事業者”を示す情報を格納し、処理を終了する。なお、ステップＳ２１４の処理は、ステップＳ２００、Ｓ２０２、Ｓ２０４、Ｓ２０６、Ｓ２０８の前、またはステップＳ２１２の前に実行されてもよい。図９に示すイメージ管理部２９Ａの動作により、仮想マシンＶＭがＶＭイメージを用いて物理サーバＰＳＶに作成される毎に、テーブルＳＷ−ＬＣＳの空きのレコードにライセンス情報等が格納され、図１０に示す状態になる。
【００８８】
テーブルＳＷ−ＬＣＳに管理元ＭＮＧの領域を設けることで、利用者から受信するライセンス情報と、事業者が用意したＶＭイメージに含まれるソフトウェアのライセンス情報とを、共通のテーブルＳＷ−ＬＣＳを用いて管理することができる。これにより、図１４で説明するように、仮想マシンＶＭを物理サーバＰＳＶ間で移動する場合にも、共通のテーブルＳＷ−ＬＣＳを利用して、ソフトウェアの管理元に依存せずに仮想マシンＶＭの移動の可否を判定することができる。
【００８９】
図１０は、図９に示す動作がイメージ管理部２９Ａにより実行された後の情報処理システム１００Ａの状態の一例を示す。図１０は、図４および図６において、利用者が仮想マシンＶＭ１、ＶＭ３、ＶＭ５にソフトウェアをインストールする前の状態を示す。テーブル群３４Ａにおいて、テーブルＳＷ−ＬＣＳを除くテーブルＰＳＶ−ＳＰＣ、ＩＭＧ−ＬＣＳ、ＰＳＶ−ＶＭおよびＵＵＳＥ−ＬＣＳの状態は、図６と同じである。
【００９０】
イメージ管理部２９Ａは、各仮想マシンＶＭ１−ＶＭ５が物理サーバＰＳＶに作成される毎に、図６に示すテーブルＰＳＶ−ＶＭに、物理サーバＰＳＶと仮想マシンＶＭとの関係を示す情報を格納する。イメージ管理部２９Ａは、仮想マシン名ＶＭ−ＮＡＭとソフトウェア名ＳＷ−ＮＡＭとをテーブルＳＷ−ＬＣＳに格納する。イメージ管理部２９Ａは、図６に示すテーブルＩＭＧ−ＬＣＳから各ＶＭイメージＩＭＧＡ、ＩＭＧＢに含まれるライセンスに関する情報（ＬＣＳ−ＵＮＩＴ、ＬＣＳ−ＴＹＰＥ）を読み出し、テーブルＳＷ−ＬＣＳに格納する。
【００９１】
また、イメージ管理部２９Ａは、テーブルＳＷ−ＬＣＳに格納された情報に基づいてライセンス数ＬＣＳ−Ｎを算出し、算出したライセンス数ＬＣＳ−ＮをテーブルＳＷ−ＬＣＳに格納する。さらに、イメージ管理部２９Ａは、管理元ＭＮＧとして”事業者”を示す情報をテーブルＳＷ−ＬＣＳに格納する。
【００９２】
ＶＭイメージに対応する仮想マシンＶＭに含まれるソフトウェアのライセンス情報は、利用者ではなく、イメージ管理部２９Ａにより設定される。すなわち、図１０に示すテーブルＳＷ−ＬＣＳにおいて、ＶＭイメージに対応する仮想マシンＶＭと、仮想マシンＶＭに含まれるソフトウェアのライセンス情報とを保持するレコードは、管理元ＭＮＧに”事業者”を示す情報が格納されたレコードである。これにより、仮想マシンＶＭに含まれる全てのソフトウェアのライセンス情報を利用者に入力させる場合に比べて、利用者の負担を軽減することができる。
【００９３】
図１１は、図３に示す利用者設定管理部２７Ａの動作の一例を示す。すなわち、図１１は、管理サーバ２０Ａによる情報処理方法および管理サーバ２０Ａが実行するプログラムの一例を示す。なお、図１２から図１４、図１７から図２２に示す動作フローも、管理サーバ２０Ａによる情報処理方法および管理サーバ２０Ａが実行するプログラムの一例を示す。
【００９４】
図１１に示す動作は、端末装置４０を介して情報処理システム１００Ａにより実現されるクラウドサービスに利用者がログインしたことに基づいて開始される。まず、ステップＳ３００において、利用者設定管理部２７Ａは、利用者が所有する仮想マシンＶＭの中に、テーブルＳＷ−ＬＣＳにライセンス情報が設定されていないソフトウェアを含む仮想マシンＶＭがあるか否かを判定する。利用者が所有する仮想マシンＶＭは、テーブルＳＷ−ＬＣＳにおいて、ログインした利用者を識別する情報が管理元ＭＮＧの領域に保持されたレコードに含まれる仮想マシン名ＶＭ−ＮＡＭにより示される。
【００９５】
テーブルＳＷ−ＬＣＳにライセンス情報が設定されていないソフトウェアを含む仮想マシンＶＭがある場合、処理はステップＳ３０２に移行される。利用者が所有する全ての仮想マシンＶＭにインストールされたソフトウェアのライセンス情報がテーブルＳＷ−ＬＣＳに設定されている場合、処理は終了する。
【００９６】
ここで、ＶＭイメージを利用して作成された仮想マシンＶＭに、ＶＭイメージに含まれるソフトウェアのみが含まれる場合、テーブルＳＷ−ＬＣＳ内の該当レコードにはライセンス情報が格納されているため、処理は終了する。一方、ＶＭイメージを利用して作成された仮想マシンＶＭに、ＶＭイメージに含まれるソフトウェア以外のソフトウェアであって、ライセンス情報が設定されていないソフトウェアが含まれる場合、処理はステップＳ３０２に移行される。
【００９７】
ステップＳ３０２において、利用者設定管理部２７Ａは、テーブルＳＷ−ＬＣＳに保持された情報に基づいて、テーブルＳＷ−ＬＣＳにライセンス情報が設定されていない仮想マシンＶＭの一覧を、利用者がログインした端末装置４０の画面に表示させる。次に、ステップＳ３０４において、利用者設定管理部２７Ａは、端末装置４０を介して利用者に、端末装置４０の画面に表示した仮想マシンＶＭのいずれかを選択させる。
【００９８】
次に、ステップＳ３０６において、利用者設定管理部２７Ａは、テーブルＰＳＶ−ＳＰＣを参照し、利用者が選択した仮想マシンＶＭを含む物理サーバＰＳＶの仕様情報を端末装置４０に出力し、端末装置４０の画面に表示させる。画面に表示される仕様情報は、コア数ＣＯＲＥ−Ｎと係数ＣＯＥＦとを含む。なお、画面に表示される仕様情報には、スレッド数ＴＨ−Ｎおよび機種クラスの少なくともいずれかが含まれてもよい。
【００９９】
次に、ステップＳ３０８において、利用者設定管理部２７Ａは、ライセンスの購入単位ＬＣＳ−ＵＮＩＴ、ライセンスタイプＬＣＳ−ＴＹＰＥおよびライセンス数ＬＣＳ−Ｎを利用者に入力させるウインドウを端末装置４０の画面に表示させる。なお、端末装置４０の画面に表示するウインドウは、ライセンス情報が未入力のソフトウェアを示す情報（例えば、ソフトウェア名ＳＷ−ＮＡＭ）を含む。
【０１００】
そして、利用者設定管理部２７Ａは、端末装置４０を介して利用者が入力するライセンス情報（ライセンスの購入単位ＬＣＳ−ＵＮＩＴ、ライセンスタイプＬＣＳ−ＴＹＰＥおよびライセンス数ＬＣＳ−Ｎ）の受け付け処理を実行する。なお、利用者が選択した仮想マシンＶＭに複数のソフトウェアがインストールされている場合、ライセンスの購入単位ＬＣＳ−ＵＮＩＴ、ライセンスタイプＬＣＳ−ＴＹＰＥ、ライセンス数ＬＣＳ−Ｎをソフトウェア毎に入力させるウインドウが表示されてもよい。
【０１０１】
次に、ステップＳ３１０において、利用者設定管理部２７Ａは、ステップＳ３０８で受け付けたライセンス情報を、テーブルＳＷ−ＬＣＳにおいて、ログイン中の利用者が所有する仮想マシンＶＭに対応するレコードに格納する。すなわち、ライセンスの購入単位ＬＣＳ−ＵＮＩＴ、ライセンスタイプＬＣＳ−ＴＹＰＥおよびライセンス数ＬＣＳ−Ｎが、テーブルＳＷ−ＬＣＳにおいて、ライセンス情報が未設定のソフトウェアに対応するレコードに格納される。
【０１０２】
この後、利用者設定管理部２７Ａは、テーブルＳＷ−ＬＣＳに格納されたライセンス情報およびインストール情報（仮想マシン名ＶＭ−ＮＡＭとソフトウェア名ＳＷ−ＮＡＭ）を管理する。なお、インストール情報は、ソフトウェアが仮想マシンＶＭにインストールされたことに基づいて、テーブルＳＷ−ＬＣＳに格納済みである。ステップＳ３１０の後、処理はステップＳ３００に戻る。そして、図１１に示すフローを繰り返し実行することにより、テーブルＳＷ−ＬＣＳの状態は、図１０に示す状態から図６に示す状態に順次変化する。
【０１０３】
物理サーバＰＳＶの仕様情報を端末装置４０に出力し、ライセンス情報を端末装置４０から受信する利用者設定管理部２７Ａは、インタフェース部の一例である。端末装置４０から受信したライセンス情報と、ライセンス情報に対応するソフトウェアと、ソフトウェアがインストールされた仮想マシンＶＭとの対応を示すソフトウェア情報を管理する利用者設定管理部２７Ａは、仮想管理部の一例である。
【０１０４】
なお、図１１に示す動作を実行中に、利用者がクラウドサービスからログアウトした場合、正しいライセンス情報がテーブルＳＷ−ＬＣＳに設定されないおそれがある。正しいライセンス情報が設定されない状態が続くことを抑止するため、図１２に示す動作が実行される。
【０１０５】
図１２は、図３に示す利用者設定管理部２７Ａの動作の別の例を示す。図１２に示す動作は、所定の周期で繰り返し実行される。
【０１０６】
まず、ステップＳ３２０において、利用者設定管理部２７Ａは、例えば、図６に示すテーブルＰＳＶ−ＳＰＣを参照し、管理サーバ２０Ａが管理する物理サーバＰＳＶを検出する。次に、ステップＳ３２２において、利用者設定管理部２７Ａは、検出した物理サーバＰＳＶのうち、未選択の１つを選択する。次に、ステップＳ３２４において、利用者設定管理部２７Ａは、例えば、図６に示すテーブルＰＳＶ−ＶＭ、ＳＷ−ＬＣＳを参照し、選択した物理サーバＰＳＶに含まれる仮想マシンＶＭの構成情報を取得する。
【０１０７】
次に、ステップＳ３２６において、利用者設定管理部２７Ａは、ステップＳ３２４で取得した構成情報に基づいて、ライセンス情報が設定されていない未知のソフトウェアを含む仮想マシンＶＭがあるか否かを判定する。例えば、未知のソフトウェアは、テーブルＳＷ−ＬＣＳにおいて、ライセンスの購入単位ＬＣＳ−ＵＮＩＴ、ライセンスタイプＬＣＳ−ＴＹＰＥおよびライセンス数ＬＣＳ−Ｎの少なくとも１つを保持していないレコードに対応するソフトウェアである。未知のソフトウェアが仮想マシンＶＭに含まれる場合、処理はステップＳ３２８に移行され、未知のソフトウェアが仮想マシンＶＭに含まれない場合、処理はステップＳ３３０に移行される。
【０１０８】
ステップＳ３２８において、利用者設定管理部２７Ａは、テーブルＳＷ−ＬＣＳにおいて、ライセンス情報が設定されてないレコードの管理元ＭＮＧの領域から利用者を識別する利用者情報を取得する。利用者設定管理部２７Ａは、取得した利用者情報に基づいて、ライセンス情報が設定されていないソフトウェアがあることを利用者毎に通知し、ライセンス情報の更新を促し、処理をステップＳ３３０に移行する。例えば、利用者への通知は、電子メール等で行われる。例えば、電子メールで通知を受けた利用者は、情報処理システム１００Ａにより実現されるクラウドサービスにログインし、利用者設定管理部２７Ａが実行する図１１に示した処理フローにしたがって、端末装置４０にライセンス情報を入力する。なお、利用者がクラウドサービスにログインしている場合、利用者は、図１１に示した処理フローにしたがって、端末装置４０にライセンス情報を入力する。
【０１０９】
ステップＳ３３０において、利用者設定管理部２７Ａは、ステップＳ３２２で選択していない物理サーバＰＳＶがある場合、処理をステップＳ３２２に移行し、全ての物理サーバＰＳＶを選択した場合、処理を終了する。なお、利用者への通知は、全ての物理サーバＰＳＶが選択された後に、利用者毎にまとめて行われてもよい。
【０１１０】
テーブルＳＷ−ＬＣＳを所定の周期で参照し、ライセンス情報が設定されていない未知のソフトウェアを含む仮想マシンＶＭがあるか否かを判定することで、利用者によるライセンス情報の設定漏れを検出でき、利用者にライセンス情報の入力を促すことができる。ライセンス情報の設定漏れを抑止することにより、図１４で説明するように、仮想マシンＶＭを物理サーバＰＳＶ間で移動する場合に、仮想マシンＶＭの移動の可否が誤って判定されることを抑止することができる。
【０１１１】
図１３は、図３に示す利用者設定管理部２７Ａの動作のさらなる別の例を示す。図１３に示す動作は、端末装置４０を介して利用者から仮想マシンＶＭを削除する指示を受け、全体管理部３０Ａが指示された仮想マシンＶＭを削除した場合に開始される。
【０１１２】
まず、ステップＳ４００において、利用者設定管理部２７Ａは、テーブルＰＳＶ−ＶＭを検索し、削除された仮想マシンＶＭを示す仮想マシン名ＶＭ−ＮＡＭを含むレコードを見つけ、見つけたレコードに含まれる情報を削除する。また、利用者設定管理部２７Ａは、テーブルＳＷ−ＬＣＳを検索し、削除された仮想マシンＶＭを示す仮想マシン名ＶＭ−ＮＡＭを含むレコードを見つけ、見つけたレコードに保持された情報を削除する。なお、削除された仮想マシンＶＭにソフトウェアがインストールされていない場合、削除された仮想マシンＶＭに関する情報は、テーブルＳＷ−ＬＣＳに保持されない。
【０１１３】
次に、ステップＳ４０２において、利用者設定管理部２７Ａは、削除された仮想マシンＶＭにソフトウェアがインストールされていた場合、仮想マシンＶＭの削除に伴う余剰のライセンス数を管理するため、処理をステップＳ４０４に移行する。利用者設定管理部２７Ａは、削除された仮想マシンＶＭにソフトウェアがインストールされていない場合、仮想マシンＶＭの削除に伴う余剰のライセンス数の管理が不要なため、処理を終了する。例えば、削除された仮想マシンＶＭにソフトウェアがインストールされていたか否かは、ステップＳ４００でテーブルＳＷ−ＬＣＳのレコードの情報を削除したか否かに基づいて判定可能である。
【０１１４】
ステップＳ４０４において、利用者設定管理部２７Ａは、削除された仮想マシンＶＭに含まれていたソフトウェアと同じソフトウェアを含む他の仮想マシンＶＭが、仮想マシンＶＭが削除された物理サーバＰＳＶ内にあるか否かを判定する。同じソフトウェアを含む他の仮想マシンＶＭがある場合、余剰のライセンス数が発生しないため、処理は終了する。同じソフトウェアを含む他の仮想マシンＶＭがない場合、余剰のライセンス数が発生するため、処理はステップＳ４０６に移行される。
【０１１５】
ステップＳ４０６において、利用者設定管理部２７Ａは、テーブルＳＷ−ＬＣＳから削除した情報をテーブルＵＵＳＥ−ＬＣＳに格納し、処理を終了する。例えば、利用者設定管理部２７Ａは、テーブルＳＷ−ＬＣＳから削除したソフトウェア名ＳＷ−ＮＡＭ、ライセンスの購入単位ＬＣＳ−ＵＮＩＴおよびライセンスタイプＬＣＳ−ＴＹＰＥを、テーブルＵＵＳＥ−ＬＣＳの空きのレコードに格納する。また、利用者設定管理部２７Ａは、テーブルＳＷ−ＬＣＳから削除したライセンス数ＬＣＳ−Ｎを、テーブルＵＵＳＥ−ＬＣＳにおいて、ソフトウェア名ＳＷ−ＮＡＭに対応するレコードに、未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎとして格納する。すなわち、利用者設定管理部２７Ａは、テーブルＳＷ−ＬＣＳから削除した情報を未使用ライセンス情報としてテーブルＵＵＳＥ−ＬＣＳに保持する。
【０１１６】
仮想マシンＶＭの削除時に、削除した仮想マシンＶＭに含まれていたソフトウェアのライセンスを未使用ライセンス数（余剰のライセンス）として保持することで、例えば、ＣＰＵまたはｖＣＰＵを増設する場合に、未使用のライセンスを利用することができる。これにより、利用者による余分なライセンスの購入を抑止することができる。なお、利用者設定管理部２７Ａは、利用者からの要求に基づいて、テーブルＵＵＳＥ−ＬＣＳに保持された未使用ライセンス数を端末装置４０の画面に表示させる機能を有する。これにより、例えば、利用者は、仮想マシンＶＭにｖＣＰＵを増設する場合、仮想マシンＶＭにインストールしたソフトウェアに対してライセンスの追加の購入が必要か否かを、未使用ライセンス数に基づいて判断することができる。
【０１１７】
図１４は、図３に示す移動管理部２８Ａの動作の一例を示す。図１４に示す動作は、管理サーバ２０Ａが仮想マシンＶＭを物理サーバ１０間で移動させる前に、全体管理部３０Ａからの指示に基づいて開始される。
【０１１８】
まず、ステップＳ５００において、移動管理部２８Ａは、テーブルＳＷ−ＬＣＳを参照し、移動対象の仮想マシンＶＭに含まれるソフトウェアのライセンスの購入単位ＬＣＳ−ＵＮＩＴが”物理”であるか否かを判定する。ライセンスの購入単位ＬＣＳ−ＵＮＩＴが”物理”である場合、処理はステップＳ５０２に移行される。ライセンスの購入単位ＬＣＳ−ＵＮＩＴが”物理”でない場合、すなわち、”仮想”の場合、物理サーバＰＳＶ間での仮想マシンＶＭの移動は制限されないため、処理はステップＳ５１２に移行される。なお、移動対象の仮想マシンＶＭに複数のソフトウェアが含まれる場合、ソフトウェアの少なくとも１つのライセンスの購入単位ＬＣＳ−ＵＮＩＴが”物理”である場合、処理はステップＳ５０２に移行される。
【０１１９】
ステップＳ５０２において、移動管理部２８Ａは、テーブルＳＷ−ＬＣＳを参照し、移動対象の仮想マシンＶＭに含まれるソフトウェアのライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”であるか否かを判定する。ライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”である場合、処理はステップＳ５０４に移行される。すなわち、ソフトウェアのライセンスの購入単位ＬＣＳ−ＵＮＩＴが”物理”であり、かつ、ソフトウェアのライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”である場合、処理はステップＳ５０４に移行される。
【０１２０】
ライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”でない場合、すなわち、”サーバ”の場合、物理サーバＰＳＶ間での仮想マシンＶＭの移動は制限されないため、処理はステップＳ５１２に移行される。なお、移動対象の仮想マシンＶＭに複数のソフトウェアが含まれる場合、ソフトウェアの少なくとも１つのライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”である場合、処理はステップＳ５０４に移行される。そして、ライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”であるソフトウェア毎にステップＳ５０４、Ｓ５０６、Ｓ５０８の処理が実行され、複数のソフトウェアの少なくとも１つが”移動不可”の判定を受けた場合、処理はステップＳ５１０に移行される。
【０１２１】
ステップＳ５０４において、移動管理部２８Ａは、仮想マシンＶＭの移動先の物理サーバＰＳＶに、移動対象の仮想マシンＶＭに含まれるソフトウェアと同じソフトウェアを含む仮想マシンＶＭが作成されているか否かを判定する。ソフトウェアのライセンスの購入単位ＬＣＳ−ＵＮＩＴが”物理”の場合、ソフトウェアのライセンスは、物理サーバＰＳＶ単位で複数の仮想マシンで共有可能である。このため、同じソフトウェアを含む仮想マシンＶＭを移動先の物理サーバＰＳＶが有する場合、移動対象の仮想マシンＶＭに含まれるソフトウェアは、移動先の物理サーバＰＳＶの仮想マシンＶＭに含まれるソフトウェアのライセンスを使用して動作可能である。仮想マシンＶＭが移動可能であるため、処理はステップＳ５１２に移行される。一方、移動先の物理サーバＰＳＶに、ライセンスが同じソフトウェアを含む仮想マシンＶＭが作成されていない場合、移動の可能性を探るため、処理はステップＳ５０６に移行される。
【０１２２】
なお、物理サーバＰＳＶ内において、複数の仮想マシンＶＭに互いに同じソフトウェアが含まれる場合、各ソフトウェアは、共通のライセンスにより一体に管理される。換言すれば、互いに同じソフトウェアには、互いに同じライセンスが割り当てられる。このため、移動管理部２８Ａは、ライセンスの購入単位ＬＣＳ−ＵＮＩＴおよびライセンスタイプＬＣＳ−ＴＹＰＥを参照することなく、ソフトウェア名ＳＷ−ＮＡＭを参照することで、同じライセンスを有するソフトウェアを含む仮想マシンを判定できる。
【０１２３】
ステップＳ５０６において、移動管理部２８Ａは、移動対象の仮想マシンＶＭに含まれるソフトウェアと同じソフトウェアを含む他の仮想マシンＶＭが移動元の物理サーバＰＳＶに作成されているか否かを判定する。上述したように、互いに同じソフトウェアには、互いに同じライセンスが割り当てられる。このため、同じソフトウェアを含む複数の仮想マシンＶＭのいずれかを、同じソフトウェアを仮想マシンＶＭに含まない他の物理サーバＰＳＶに移動する場合、ライセンス違反が発生する。ライセンス違反が発生する場合、処理はステップＳ５１０に移行される。移動対象の仮想マシンＶＭに含まれるソフトウェアと同じソフトウェアを含む他の仮想マシンＶＭが移動元の物理サーバＰＳＶに存在しない場合、処理はステップＳ５０８に移行される。
【０１２４】
ステップＳ５０８において、移動管理部２８Ａは、移動元の物理サーバＰＳＶでのソフトウェアに必要なライセンス数ＬＣＳ−Ｎが、移動先の物理サーバＰＳＶでのソフトウェアに必要なライセンス数ＬＣＳ−Ｎ以上であるか否かを判定する。ここで、ソフトウェアに必要なライセンス数ＬＣＳ−Ｎは、物理サーバＰＳＶのコア数ＣＯＲＥ−Ｎと係数ＣＯＥＦとの積により算出される。
【０１２５】
移動元のライセンス数ＬＣＳ−Ｎが移動先のライセンス数ＬＣＳ−Ｎ以上の場合、仮想マシンＶＭの移動後に必要なソフトウェアのライセンス数ＬＣＳ−Ｎは、移動前のライセンス数ＬＣＳ−Ｎで足りる。このため、仮想マシンＶＭを移動可能と判定され、処理はステップＳ５１２に移行される。一方、移動元のライセンス数ＬＣＳ−Ｎが移動先のライセンス数ＬＣＳ−Ｎより少ない場合、仮想マシンＶＭの移動後に必要なソフトウェアのライセンス数ＬＣＳ−Ｎは、移動前のライセンス数ＬＣＳ−Ｎでは足りない。このため、仮想マシンＶＭを移動不可と判定され、処理はステップＳ５１０に移行される。
【０１２６】
ステップＳ５１０において、移動管理部２８Ａは、仮想マシンＶＭの移動が不可であることを示す不可情報を全体管理部３０Ａに通知し、処理を終了する。一方、ステップＳ５１２おいて、移動管理部２８Ａは、仮想マシンＶＭの移動が可能であることを示す可能情報を全体管理部３０Ａに通知し、処理を終了する。
【０１２７】
なお、可能情報を受けた全体管理部３０Ａは、物理サーバＰＳＶ間で仮想マシンＶＭを移動する。そして、全体管理部３０Ａは、テーブルＰＳＶ−ＶＭにおいて、移動した仮想マシンＶＭの仮想マシン名ＶＭ−ＮＡＭを保持するレコードの物理サーバ名ＰＳＶ−ＮＡＭを、移動先の物理サーバＰＳＶを示す情報に変更する。このように、ソフトウェアに必要なライセンス数が、仮想マシンＶＭが設定される物理サーバＰＳＶの性能に依存する場合にも、テーブルＳＷ−ＬＣＳにより管理されるライセンス情報を参照することで、仮想マシンＶＭの移動の可否を判定することができる。例えば、プライベートクラウドまたはパブリッククラウドに設けられる物理サーバＰＳＶ間での仮想マシンＶＭの移動の可否を判定することができる。さらに、プライベートクラウドとパブリッククラウドの各々が、テーブルＳＷ−ＬＣＳを用いてライセンス情報を管理するとする。この場合、プライベートクラウドとパブリッククラウドとの間での仮想マシンＶＭの移動の可否を判定することができる。
【０１２８】
なお、移動元のライセンス数ＬＣＳ−Ｎが移動先のライセンス数ＬＣＳ−Ｎより多い場合、仮想マシンＶＭの移動先の物理サーバＰＳＶへの移動によりライセンス数ＬＣＳ−Ｎが余る。この場合、移動可能の通知を受け、仮想マシンＶＭを移動させた全体管理部３０Ａは、仮想マシンＶＭの移動により余ったライセンス数ＬＣＳ−Ｎを、テーブルＵＵＳＥ−ＬＣＳに未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎとして確保する。
【０１２９】
また、テーブルＵＵＳＥ−ＬＣＳに保持された未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎを利用することで、移動が不可と判定された仮想マシンＶＭを移動させてもよい。例えば、ステップＳ５０６で”Ｙｅｓ”と判定された場合、または、ステップＳ５０８で”Ｎｏ”と判定された場合、未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎが利用されてもよい。未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎが、仮想マシンＶＭの移動後に必要なソフトウェアのライセンス数ＬＣＳ−Ｎより多い場合、未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎを利用して仮想マシンＶＭを移動することができる。
【０１３０】
未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎを利用する場合、全体管理部３０Ａが、仮想マシンＶＭを移動させたことに基づいて、テーブルＵＵＳＥ−ＬＣＳに保持された未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎを更新する。これにより、仮想マシンＶＭを他の物理サーバＰＳＶに移動することで仮想マシンＶＭに含まれるソフトウェアにライセンス違反が発生する場合に、利用者による無駄なライセンスの購入を抑止することができる。
【０１３１】
なお、未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎは、ＣＰＵの増設またはｖＣＰＵの増設にも使用される。テーブルＵＵＳＥ−ＬＣＳの未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎは、ＣＰＵまたはｖＣＰＵが増設された場合に減少し、ＣＰＵまたはｖＣＰＵが減設された場合に増加する。
【０１３２】
図１５は、図３に示す物理サーバＰＳＶに設定される仮想マシンＶＭの別の例を示す。図４と同一または同様の要素については、詳細な説明は省略する。図１５では、情報処理システム１００Ａは、物理サーバＰＳＶｃ、ＰＳＶｄ、ＰＳＶｅ、ＰＳＶｆ、ＰＳＶｇ、ＰＳＶｈを有する。物理サーバＰＳＶｃ、ＰＳＶｄ、ＰＳＶｅの仕様（コア数＝”８”、係数ＣＯＥＦ＝”０．５”）は互いに同じであり、物理サーバＰＳＶｆ、ＰＳＶｇ、ＰＳＶｈの仕様（コア数＝”８”、係数ＣＯＥＦ＝”０．７５”）は互いに同じである。
【０１３３】
物理サーバＰＳＶｃは、仮想マシンＶＭ６、ＶＭ７を含み、物理サーバＰＳＶｄは、仮想マシンＶＭ８を含み、物理サーバＰＳＶｅは、仮想マシンＶＭを含まない。物理サーバＰＳＶｆは、仮想マシンＶＭ９、ＶＭ１０を含み、物理サーバＰＳＶｇは、仮想マシンＶＭ１１を含み、物理サーバＰＳＶｈは、仮想マシンＶＭを含まない。
【０１３４】
各仮想マシンＶＭ６−ＶＭ１１は、ライセンスの購入単位ＬＣＳ−ＵＮＩＴが”物理”であり、ライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”であるソフトウェアＭＷ６を含み、１つのｖＣＰＵが割り当てられる。また、各仮想マシンＶＭ６−ＶＭ８に含まれるソフトウェアに必要なライセンス数ＬＣＳ−Ｎは、”４”であり、各仮想マシンＶＭ９−ＶＭ１１に含まれるソフトウェアに必要なライセンス数ＬＣＳ−Ｎは、”６”である。
【０１３５】
図１６は、図１５に示す仮想マシンＶＭの移動の可否の一例を示す。
【０１３６】
物理サーバＰＳＶｃにおいて、ソフトウェアＭＷ６を含む各仮想マシンＶＭ６、ＶＭ７は、同じソフトウェアＭＷ６を含む物理サーバＰＳＶｄ、ＰＳＶｆ、ＰＳＶｇに移動可能である（ＯＫ（１））。ソフトウェアＭＷ６を含む各仮想マシンＶＭ６、ＶＭ７は、同じソフトウェアＭＷ６を含まない物理サーバＰＳＶｅ、ＰＳＶｈに移動できない（ＮＧ（２））。これは、仮想マシンＶＭ６、ＶＭ７に含まれるソフトウェアＭＷ６のライセンスが一体で維持されないためである。但し、物理サーバＰＳＶｃ内の全てのソフトウェアＭＷ６を含む仮想マシンＶＭ６、ＶＭ７の両方を物理サーバＰＳＶｅに移動することは、ライセンスが一体で維持されるため、可能である（ＮＧ（２）＊１）。一方、物理サーバＰＳＶｃ内の全てのソフトウェアＭＷ６を含む仮想マシンＶＭ６、ＶＭ７の両方を物理サーバＰＳＶｈに移動することは、必要なライセンス数ＬＣＳ−Ｎが”２”足りないため、不可である。
【０１３７】
物理サーバＰＳＶｄにおいて、ソフトウェアＭＷ６を含む仮想マシンＶＭ８は、同じソフトウェアＭＷ６を含む物理サーバＰＳＶｃ、ＰＳＶｆ、ＰＳＶｇに移動可能である（ＯＫ（１））。また、ソフトウェアＭＷ６を含む仮想マシンＶＭ８は、仕様が物理サーバＰＳＶｄと同一である物理サーバＰＳＶｅに移動可能である（ＯＫ（２））。ソフトウェアＭＷ６を含む仮想マシンＶＭ８の物理サーバＰＳＶｈへの移動は、必要なライセンス数ＬＣＳ−Ｎが”２”足りないため、不可である（ＮＧ（１））。
【０１３８】
物理サーバＰＳＶｆにおいて、ソフトウェアＭＷ６を含む各仮想マシンＶＭ９、ＶＭ１０は、同じソフトウェアＭＷ６を含む物理サーバＰＳＶｃ、ＰＳＶｄ、ＰＳＶｇに移動可能である（ＯＫ（１））。ソフトウェアＭＷ６を含む各仮想マシンＶＭ９、ＶＭ１０は、同じソフトウェアＭＷ６を含まない物理サーバＰＳＶｅ、ＰＳＶｈに移動できない（ＮＧ（２））。但し、物理サーバＰＳＶｆ内の全てのソフトウェアＭＷ６を含む仮想マシンＶＭ９、ＶＭ１０の両方を物理サーバＰＳＶｅまたは物理サーバＰＳＶｈに移動することは、ライセンスが一体で維持されるため可能である（ＮＧ（２）＊１）。
【０１３９】
物理サーバＰＳＶｇにおいて、ソフトウェアＭＷ６を含む仮想マシンＶＭ１１は、同じソフトウェアＭＷ６を含む物理サーバＰＳＶｃ、ＰＳＶｄ、ＰＳＶｆに移動可能である（ＯＫ（１））。また、ソフトウェアＭＷ６を含む仮想マシンＶＭ１１は、仕様が物理サーバＰＳＶｇと同一以下である物理サーバＰＳＶｅ、ＰＳＶｈに移動可能である（ＯＫ（２））。
【０１４０】
図１７は、物理サーバＰＳＶのＣＰＵの増設時における図３に示す全体管理部３０Ａの動作の一例を示す。物理サーバＰＳＶのＣＰＵを増設する場合、ＣＰＵを増設する物理サーバＰＳＶに含まれる仮想マシンＶＭは、例えば、ＣＰＵの増設が完了するまでの間、ライブマイグレーション等の手法により他の物理サーバＰＳＶに移動される。図１７に示す動作は、端末装置３８を介して管理者からＣＰＵの増設の可否を判定する指示を受けたことに基づいて開始される。
【０１４１】
まず、ステップＳ６００において、全体管理部３０Ａは、ＣＰＵを増設する対象の物理サーバＰＳＶに仮想マシンＶＭがあるか否かを判定する。対象物理サーバＰＳＶに仮想マシンＶＭがある場合、ＣＰＵの増設の可否を判定するために、処理はステップＳ６１０に移行される。対象物理サーバＰＳＶに仮想マシンＶＭが存在しない場合、ＣＰＵの増設が可能であるため、処理はステップＳ６５０に移行される。
【０１４２】
ステップＳ６１０において、全体管理部３０Ａは、対象物理サーバＰＳＶのＣＰＵの増設の可否を判定する。ステップＳ６１０の処理の例は、図１８に示される。次に、ステップＳ６４０において、全体管理部３０Ａは、対象物理サーバＰＳＶのＣＰＵの増設が可能と判定された場合、処理をステップＳ６５０に移行し、対象物理サーバＰＳＶのＣＰＵの増設が不可と判定された場合、処理をステップＳ６８０に移行する。
【０１４３】
ステップＳ６５０において、全体管理部３０Ａは、ＣＰＵの増設が可能であることを示す情報を端末装置３８に出力することで、管理者に通知する。通知を受けた管理者は、対象物理サーバＰＳＶのＣＰＵを増設する。次に、ステップＳ６６０において、全体管理部３０Ａは、対象物理サーバＰＳＶの仕様に関する仕様情報を対象物理サーバＰＳＶから取得し、ＣＰＵが増設されたか否かを判定する。全体管理部３０Ａは、ＣＰＵが増設されたことを判定するまで、ステップＳ６６０を繰り返し実行し、ＣＰＵが増設されたことを判定した場合、処理をステップＳ６７０に移行する。なお、全体管理部３０Ａは、ＣＰＵの増設後の対象物理サーバＰＳＶのリスタートの検出に基づいて、処理をステップＳ６７０に移行してもよい。また、全体管理部３０Ａは、ステップＳ６５０の後、処理を終了し、ステップＳ６６０の処理の代わりに、ＣＰＵが増設されたことを示す割り込み要求等に基づいて、ステップＳ６７０を開始してもよい。
【０１４４】
ステップＳ６７０において、全体管理部３０Ａは、ＣＰＵが増設される前に、ＣＰＵが増設された物理サーバＰＳＶから他の物理サーバＰＳＶに仮想マシンＶＭを移動したか否かを判定する。すなわち、全体管理部３０Ａは、図１８に示すステップＳ６２２の処理を実行することで、仮想マシンＶＭを他の物理サーバＰＳＶに移動したか否かを判定する。仮想マシンＶＭが移動された場合、処理はステップＳ６７２に移行し、仮想マシンＶＭが移動されていない場合、処理はステップＳ６７４に移行する。ステップＳ６７２において、全体管理部３０Ａは、ライブマイグレーション等により、他の物理サーバに移動した仮想マシンＶＭを、ＣＰＵを増設した物理サーバＰＳＶに戻し、処理をステップＳ６７４に移行する。
【０１４５】
ステップＳ６７４において、全体管理部３０Ａは、ＣＰＵの増設に伴い未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎを使用する場合、処理をステップＳ６７６に移行し、未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎを使用しない場合、処理を終了する。ステップＳ６７６において、全体管理部３０Ａは、使用するライセンス数を、テーブルＵＵＳＥ−ＬＣＳに保持された未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎから引き、処理を終了する。なお、全体管理部３０Ａは、使用するライセンス数を、テーブルＵＵＳＥ−ＬＣＳの複数のレコードに保持された未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎから引いてもよい。ＣＰＵを増設する場合に、未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎを使用することで、利用者による無駄なライセンスの購入を抑止することができる。一方、ステップＳ６９０において、全体管理部３０Ａは、ＣＰＵの増設が不可であることを示す情報を端末装置３８に出力することで、管理者に通知し、処理を終了する。
【０１４６】
図１８は、図１７に示すステップＳ６１０の処理の一例を示す。まず、ステップＳ６１２において、全体管理部３０Ａは、ＣＰＵを増設する対象物理サーバＰＳＶに含まれる仮想マシンＶＭを、判定対象の仮想マシンＶＭとして選択する。次に、ステップＳ６１４において、全体管理部３０Ａは、判定対象の仮想マシンＶＭが他の物理サーバＰＳＶに移動可能か否かを移動管理部２８Ａに判定させる。移動管理部２８Ａは、図１４に示す動作を実行し、判定対象の仮想マシンＶＭが他の物理サーバＰＳＶに移動可能か否かを判定する。
【０１４７】
ステップＳ６１６において、全体管理部３０Ａは、移動管理部２８Ａが仮想マシンＶＭの移動可能を判定した場合、処理をステップＳ６１８に移行する。全体管理部３０Ａは、移動管理部２８Ａが仮想マシンＶＭの移動不可を判定した場合、ＣＰＵを増設するために仮想マシンＶＭを他の物理サーバＰＳＶに移動することが困難なため、処理をステップＳ６２６に移行する。
【０１４８】
ステップＳ６１８において、全体管理部３０Ａは、テーブルＵＵＳＥ−ＬＣＳを参照し、未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎの有無を判定する。全体管理部３０Ａは、未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎがある場合、処理をステップＳ６２０に移行する。全体管理部３０Ａは、未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎがない場合、ＣＰＵを増設した物理サーバＰＳＶに仮想マシンＶＭを戻した場合に発生するソフトウェアのライセンス違反を回避できないため、処理をステップＳ６２６に移行する。
【０１４９】
ステップＳ６２０において、全体管理部３０Ａは、ＣＰＵの増設によりソフトウェアのライセンス違反が発生することを回避するために、未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎを使用可能であるか否かを判定する。すなわち、全体管理部３０Ａは、ＣＰＵを増設した場合に増加するライセンス数ＬＣＳ−Ｎを、未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎを使用することで補えるか否かを判定する。増加するライセンス数ＬＣＳ−Ｎを未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎで補える場合、ＣＰＵの増設が可能なため、処理はステップＳ６２２に移行される。増加するライセンス数ＬＣＳ−Ｎを未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎで補えない場合、ＣＰＵの増設が不可なため、処理はステップＳ６２６に移行される。
【０１５０】
ステップＳ６２２において、全体管理部３０Ａは、ライブマイグレーション等により、ＣＰＵを増設する物理サーバＰＳＶに含まれる仮想マシンＶＭを、他の物理サーバＰＳＶに移動し、処理をステップＳ６２４に移行する。
【０１５１】
ステップＳ６２４において、全体管理部３０Ａは、ＣＰＵの増設が可能であると判定し、図１８に示すステップＳ６１０の処理を終了し、処理を図１７のステップＳ６４０に移行する。一方、ステップＳ６２６において、全体管理部３０Ａは、ＣＰＵの増設が不可であると判定し、ステップＳ６１０の処理を終了し、処理を図１７のステップＳ６４０に移行する。
【０１５２】
図１８に示す処理により、ＣＰＵを増設する物理サーバＰＳＶに設定された仮想マシンＶＭに、物理サーバ１０に依存してライセンス数が変化するソフトウェアが含まれる場合にも、ＣＰＵの増設の可否を判定することができる。すなわち、ＣＰＵを増設するために、他の物理サーバＰＳＶに仮想マシンＶＭを移動する場合に、移動する仮想マシンＶＭに含まれるソフトウェアにライセンス違反が発生するか否かを判定することができる。また、ＣＰＵの増設により、ＣＰＵを増設後の物理サーバＰＳＶに戻される仮想マシンＶＭに含まれるソフトウェアにライセンス違反が発生するか否かを判定することができる。この結果、利用者によりインストールされたソフトウェアにライセンス違反を発生させることなく、物理サーバＰＳＶのＣＰＵを増設することができる。
【０１５３】
図１９は、物理サーバＰＳＶのＣＰＵの減設時における図３に示す全体管理部３０Ａの動作の一例を示す。物理サーバＰＳＶのＣＰＵを減設する場合、ＣＰＵを減設する物理サーバＰＳＶに含まれる仮想マシンＶＭは、例えば、ＣＰＵの減設が完了するまでの間、ライブマイグレーション等の手法により他の物理サーバＰＳＶに移動される。図１９に示す動作は、端末装置３８を介して管理者からＣＰＵの減設の可否を判定する指示を受けたことに基づいて開始される。
【０１５４】
まず、ステップＳ７００において、全体管理部３０Ａは、ＣＰＵを減設する対象の物理サーバＰＳＶに仮想マシンＶＭが存在するか否かを判定する。対象物理サーバＰＳＶに仮想マシンＶＭが存在する場合、ＣＰＵの減設の可否を判定するために、処理はステップＳ７１０に移行される。対象物理サーバＰＳＶに仮想マシンＶＭが存在しない場合、ＣＰＵの減設が可能であるため、処理はステップ７５０に移行される。
【０１５５】
ステップＳ７１０において、全体管理部３０Ａは、対象物理サーバＰＳＶのＣＰＵの減設の可否を判定する。ステップＳ７１０の処理の例は、図２０に示される。次に、ステップＳ７４０において、全体管理部３０Ａは、対象物理サーバＰＳＶのＣＰＵの減設が可能と判定された場合、処理をステップＳ７５０に移行し、対象物理サーバＰＳＶのＣＰＵの減設が不可と判定された場合、処理をステップＳ７８０に移行する。
【０１５６】
ステップＳ７５０において、全体管理部３０Ａは、ＣＰＵの減設が可能であることを示す情報を端末装置３８に出力することで、管理者に通知する。通知を受けた管理者は、対象物理サーバＰＳＶのＣＰＵを減設する。次に、ステップＳ７６０において、全体管理部３０Ａは、対象物理サーバＰＳＶの仕様に関する仕様情報を対象物理サーバＰＳＶから取得し、ＣＰＵが減設されたか否かを判定する。全体管理部３０Ａは、ＣＰＵが減設されたことを判定するまで、ステップＳ７６０を繰り返し実行し、ＣＰＵが減設されたことを判定した場合、処理をステップＳ７７０に移行する。なお、全体管理部３０Ａは、ＣＰＵの減設後の対象物理サーバＰＳＶのリスタートの検出に基づいて、処理をステップＳ７７０に移行してもよい。また、全体管理部３０Ａは、ステップＳ７５０の後、処理を終了し、ステップＳ７６０の処理の代わりに、ＣＰＵが減設されたことを示す割り込み要求等に基づいて、ステップＳ７７０の処理を開始してもよい。
【０１５７】
ステップＳ７７０において、全体管理部３０Ａは、ＣＰＵが減設された物理サーバＰＳＶから他の物理サーバＰＳＶに仮想マシンＶＭを移動したか否かを判定する。すなわち、全体管理部３０Ａは、図２０に示すステップＳ７２０の処理を実行することで、仮想マシンＶＭを他の物理サーバＰＳＶに移動したか否かを判定する。仮想マシンＶＭが移動された場合、処理はステップＳ７７２に移行し、仮想マシンＶＭが移動されていない場合、処理はステップＳ７７４に移行する。ステップＳ７７２において、全体管理部３０Ａは、ライブマイグレーション等により、他の物理サーバに移動した仮想マシンＶＭを、ＣＰＵを減設した物理サーバＰＳＶに戻し、処理をステップＳ７７４に移行する。
【０１５８】
ステップＳ７７４において、全体管理部３０Ａは、ＣＰＵの減設に伴い未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎが発生する場合、処理をステップＳ７７６に移行し、未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎが発生しない場合、処理を終了する。ステップＳ７７６において、全体管理部３０Ａは、発生した未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎを、テーブルＵＵＳＥ−ＬＣＳに追加し、処理を終了する。ＣＰＵの減設により余るライセンス数を未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎとして保持することで、その後の仮想マシンＶＭの他の物理サーバＰＳＶへの移動する場合にライセンス違反が発生する可能性を低くすることができる。すなわち、利用者が購入したライセンスを無駄にすることなく、有効に利用することができる。一方、ステップＳ７８０において、全体管理部３０Ａは、ＣＰＵの減設が不可であることを示す情報を端末装置３８に出力することで、管理者に通知し、処理を終了する。
【０１５９】
図２０は、図１９に示すステップＳ７１０の処理の一例を示す。図１８と同一または同様の処理については、詳細な説明は省略する。まず、ステップＳ７１２において、全体管理部３０Ａは、ＣＰＵを減設する対象物理サーバＰＳＶに含まれる仮想マシンＶＭを、判定対象の仮想マシンＶＭとして選択する。次に、ステップＳ７１４において、全体管理部３０Ａは、判定対象の仮想マシンＶＭが他の物理サーバＰＳＶに移動可能か否かを移動管理部２８Ａに判定させる。移動管理部２８Ａは、図１４に示す動作を実行し、判定対象の仮想マシンＶＭが他の物理サーバＰＳＶに移動可能か否かを判定する。
【０１６０】
ステップＳ７１６において、全体管理部３０Ａは、物理サーバＰＳＶの仕様に依存するライセンスを有するソフトウェアを含む全ての仮想マシンＶＭを他の物理サーバＰＳＶに移動可能な場合、処理をステップＳ７２０に移行する。全体管理部３０Ａは、仮想マシンＶＭを他の物理サーバＰＳＶに移動できない場合、処理をステップＳ７２４に移行する。
【０１６１】
ステップＳ７２０において、全体管理部３０Ａは、ライブマイグレーション等により、ＣＰＵを減設する物理サーバＰＳＶに含まれる仮想マシンＶＭを、他の物理サーバＰＳＶに移動し、処理をステップＳ７２２に移行する。ステップＳ７２２において、全体管理部３０Ａは、ＣＰＵの減設が可能であると判定し、図２０に示すステップＳ７１０の処理を終了し、処理を図１９のステップＳ７４０に移行する。一方、ステップＳ７２４において、全体管理部３０Ａは、ＣＰＵの減設が不可であると判定し、ステップＳ７１０の処理を終了し、処理を図１９のステップＳ７４０に移行する。
【０１６２】
図２０に示す処理により、ＣＰＵを減設する物理サーバＰＳＶに設定された仮想マシンＶＭに、物理サーバ１０に依存してライセンス数が変化するソフトウェアが含まれる場合にも、ＣＰＵの減設の可否を判定することができる。すなわち、ＣＰＵを減設するために、他の物理サーバＰＳＶに仮想マシンＶＭを移動する場合に、移動する仮想マシンＶＭに含まれるソフトウェアにライセンス違反が発生するか否かを判定することができる。この結果、利用者によりインストールされたソフトウェアにライセンス違反を発生させることなく、物理サーバＰＳＶのＣＰＵを減設することができる。
【０１６３】
図２１は、仮想マシンＶＭのｖＣＰＵの増設時における図３に示す全体管理部３０Ａの動作の一例を示す。図２１に示す動作は、利用者が操作する端末装置４０からｖＣＰＵの増設の可否の問い合わせを受けたことに基づいて開始される。
【０１６４】
まず、ステップＳ８００において、全体管理部３０Ａは、テーブルＳＷ−ＬＣＳを参照し、ｖＣＰＵの増設の可否を判定する仮想マシンＶＭに含まれるソフトウェアのライセンス情報を取得する。次に、ステップＳ８０２において、全体管理部３０Ａは、判定対象の仮想マシンＶＭに含まれるソフトウェアのライセンスの購入単位ＬＣＳ−ＵＮＩＴが”仮想”であり、かつ、ライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”であるか否かを判定する。ライセンスの購入単位ＬＣＳ−ＵＮＩＴが”仮想”であり、かつ、ライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”である場合、処理はステップＳ８０４に移行される。ライセンスの購入単位ＬＣＳ−ＵＮＩＴが”物理”であるか、または、ライセンスタイプＬＣＳ−ＴＹＰＥが”サーバ”である場合、処理はステップＳ８０８に移行される。
【０１６５】
ステップＳ８０４において、全体管理部３０Ａは、テーブルＵＵＳＥ−ＬＣＳを参照し、未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎがある場合、処理をステップＳ８０６に移行する。一方、全体管理部３０Ａは、テーブルＵＵＳＥ−ＬＣＳに未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎがない場合、処理をステップＳ８１４に移行する。
【０１６６】
ステップＳ８０６において、全体管理部３０Ａは、ｖＣＰＵの増設のために、未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎを使用可能であるか否かを判定する。すなわち、全体管理部３０Ａは、ｖＣＰＵを増設した場合に増加するライセンス数ＬＣＳ−Ｎを、未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎを使用することで補えるか否かを判定する。増加するライセンス数ＬＣＳ−Ｎを未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎで補える場合、処理はステップＳ８０８に移行され、増加するライセンス数ＬＣＳ−Ｎを未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎで補えない場合、処理はステップＳ８１４に移行される。
【０１６７】
ステップＳ８０８において、全体管理部３０Ａは、ｖＣＰＵの増設が可能であることを示す情報を端末装置４０に出力することで、利用者に通知する。例えば、通知を受けた利用者は、判定対象の仮想マシンＶＭのｖＣＰＵを増設する。次に、ステップＳ８１０において、全体管理部３０Ａは、判定対象の仮想マシンＶＭを含む物理サーバＰＳＶに保持された情報に基づいて、ｖＣＰＵが利用者により増設されたか否かを判定する。全体管理部３０Ａは、ｖＣＰＵの増設を判定するまで、ステップＳ８１０を繰り返し実行し、ｖＣＰＵの増設を判定した場合、処理をステップＳ８１２に移行する。なお、全体管理部３０Ａは、ステップＳ８０８の後、処理を終了し、ステップＳ８１０の処理の代わりに、ｖＣＰＵが増設されたことを示す割り込み要求等に基づいて、ステップＳ８１０を開始してもよい。
【０１６８】
ステップＳ８１２において、全体管理部３０Ａは、ｖＣＰＵの増設のために使用するライセンス数を、テーブルＵＵＳＥ−ＬＣＳに保持された未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎから引き、処理を終了する。一方、ステップＳ８１４において、全体管理部３０Ａは、ｖＣＰＵの増設が不可であることを示す情報を端末装置４０に出力することで、利用者に通知し、処理を終了する。
【０１６９】
図２２は、仮想マシンＶＭのｖＣＰＵの減設時における図３に示す全体管理部３０Ａの動作の一例を示す。図２２に示す動作は、利用者により所定の仮想マシンＶＭのｖＣＰＵが減設されたことに基づいて開始される。
【０１７０】
まず、ステップＳ９００において、全体管理部３０Ａは、テーブルＳＷ−ＬＣＳを参照し、ｖＣＰＵが減設された仮想マシンＶＭに含まれるソフトウェアのライセンス情報を取得する。次に、ステップＳ９０２において、全体管理部３０Ａは、ｖＣＰＵが減設された仮想マシンＶＭに含まれるソフトウェアのライセンスの購入単位ＬＣＳ−ＵＮＩＴが”仮想”、かつ、ライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”であるか否かを判定する。ライセンスの購入単位ＬＣＳ−ＵＮＩＴが”仮想”であり、かつ、ライセンスタイプＬＣＳ−ＴＹＰＥが”プロセッサ”である場合、処理はステップＳ９０４に移行される。ライセンスの購入単位ＬＣＳ−ＵＮＩＴが”物理”であるか、または、ライセンスタイプＬＣＳ−ＴＹＰＥが”サーバ”である場合、処理は終了する。ステップＳ９０４において、全体管理部３０Ａは、ｖＣＰＵの減設に伴って発生した未使用ライセンス数ＵＵＳＥ−ＬＣＳ−Ｎを、テーブルＵＵＳＥ−ＬＣＳに追加し、処理を終了する。
【０１７１】
以上、図３から図２２に示す実施形態においても、図１および図２に示す実施形態と同様の効果を得ることができる。例えば、利用者によりインストールされたソフトウェアに関する情報であって、インストールする物理サーバ１０に依存して変化するライセンス数を含むソフトウェア情報を管理することができる。これにより、利用者によりソフトウェアがインストールされた仮想マシンＶＭの物理サーバＰＳＶ間での移動の可否を判定することができる。さらに、図３から図２２に示す実施形態では、以下に示す効果を得ることができる。
【０１７２】
ＣＰＵを増設するために、他の物理サーバＰＳＶに仮想マシンＶＭを移動する場合に、移動する仮想マシンＶＭに含まれるソフトウェアにライセンス違反が発生するか否かを判定することができる。また、ＣＰＵを増設または減設するために、他の物理サーバＰＳＶに仮想マシンＶＭを移動する場合に、移動する仮想マシンＶＭに含まれるソフトウェアにライセンス違反が発生するか否かを判定することができる。さらに、ＣＰＵの増設により、ＣＰＵを増設後の物理サーバＰＳＶに戻される仮想マシンＶＭに含まれるソフトウェアにライセンス違反が発生するか否かを判定することができる。ｖＣＰＵを増設する場合に、ｖＣＰＵを増設する仮想マシンＶＭに含まれるソフトウェアにライセンス違反が発生するか否かを判定することができる。この結果、利用者によりインストールされたソフトウェアにライセンス違反を発生させることなく、物理サーバＰＳＶのＣＰＵを増設または減設することができ、ｖＣＰＵを増設することができる。
【０１７３】
仮想マシンＶＭの削除時、ＣＰＵの減設時およびｖＣＰＵの減設時に余るソフトウェアのライセンスを示す未使用ライセンス数を管理することで、例えば、ＣＰＵまたはｖＣＰＵを増設する場合に、未使用ライセンス数を利用することができる。これにより、利用者による余分なライセンスの購入を抑止することができる。
【０１７４】
物理管理部２２ＡによりテーブルＰＳＶ−ＳＰＣの係数ＣＯＥＦの領域に最大値を設定することで、管理者等が係数ＣＯＥＦを設定し忘れた場合にも、係数ＣＯＥＦのデフォルト値を使用して、暫定のライセンス数を算出することができる。この際、係数ＣＯＥＦは、設定可能な最大値に設定されるため、係数ＣＯＥＦを用いて算出したライセンス数に基づいてライセンスを管理することで、ライセンス違反の発生を抑止することができる。
【０１７５】
テーブルＳＷ−ＬＣＳに管理元ＭＮＧの領域を設けることで、利用者から受信するライセンス情報と、事業者が用意したＶＭイメージに含まれるソフトウェアのライセンス情報とを、共通のテーブルＳＷ−ＬＣＳを用いて管理することができる。これにより、仮想マシンＶＭを物理サーバＰＳＶ間で移動する場合にも、共通のテーブルＳＷ−ＬＣＳを利用して、ソフトウェアの管理元に依存せずに仮想マシンＶＭの移動の可否を判定することができる。
【０１７６】
テーブルＳＷ−ＬＣＳを所定の周期で参照し、ライセンス情報が設定されていない未知のソフトウェアを含む仮想マシンＶＭがあるか否かを判定することで、利用者によるライセンス情報の設定漏れを検出し、利用者にライセンス情報の入力を促すことができる。ライセンス情報の設定漏れを抑止することにより、仮想マシンＶＭを物理サーバＰＳＶ間で移動する場合に、仮想マシンＶＭの移動の可否が誤って判定されることを抑止することができる。
【０１７７】
図２３は、情報処理装置、情報処理システムおよびプログラムの別の実施形態を示す。図１から図２２に示す実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。
【０１７８】
図２３に示す情報処理システム１００Ｂは、図３に示す情報処理システム１００Ａの管理サーバ２０Ａの代わりに管理サーバ２０Ｂを有する。管理サーバ２０Ｂは、情報処理装置の一例である。管理サーバ２０Ｂは、図３に示す利用者設定管理部２７Ａ、移動管理部２８Ａ、全体管理部３０Ａおよびテーブル群３４Ａの代わりに利用者設定管理部２７Ｂ、移動管理部２８Ｂ、全体管理部３０Ｂおよびテーブル群３４Ｂを有する。利用者設定管理部２７Ｂは、インタフェース部および仮想管理部の一例である。情報処理システム１００Ｂのその他の構成は、図３に示す情報処理システム１００Ａと同一または同様である。管理サーバ２０Ｂは、管理者により操作される端末装置３８に接続され、ネットワークＮＷを介して、仮想マシンＶＭを使用する利用者により操作される端末装置４０に接続される。
【０１７９】
この実施形態では、管理サーバ２０Ｂは、テーブルＳＷ−ＬＣＳ（図２４）に設定されたライセンス情報に基づいて仮想マシンＶＭの移動を管理するだけでなく、仮想マシンＶＭ毎に指定される移動の規則に基づいて、仮想マシンＶＭの移動を管理する。このため、テーブル群３４Ｂには、仮想マシンＶＭ毎に移動の規則が格納されるテーブルが、図３に示すテーブル群３４Ａに対して追加される。利用者設定管理部２７Ｂおよび移動管理部２８Ｂには、仮想マシンＶＭの移動の規則に基づいて仮想マシンＶＭの移動を管理する機能が、図３に示す利用者設定管理部２７Ａおよび移動管理部２８Ａに対して追加される。利用者設定管理部２７Ｂの動作の例は、図２５に示され、移動管理部２８Ｂの動作の例は、図２６に示される。テーブル群３４Ｂの例は、図２４に示される。
【０１８０】
図２４は、図２３に示すテーブル群３４Ｂに含まれる各種テーブルの一例を示す。図６と同じ要素ついては、同じ符号を付し、詳細な説明は省略する。テーブル群３４Ｂは、図６に示すテーブル群３４Ａに含まれるテーブルＰＳＶ−ＳＰＣ、ＩＭＧ−ＬＣＳ、ＰＳＶ−ＶＭ、ＳＷ−ＬＣＳ、ＵＵＳＥ−ＬＣＳに加えて、テーブルＶＭ−ＬＣＳを有する。
【０１８１】
テーブルＶＭ−ＬＣＳは、仮想マシン名ＶＭ−ＮＡＭと、設定モードＳＭＯＤＥと、規則ＲＵＬＥとが格納される領域をそれぞれ含む複数のレコードを有する。テーブルＶＭ−ＬＣＳは、利用者設定管理部２７Ｂにより管理される。利用者設定管理部２７Ｂは、物理サーバ１０に仮想マシンＶＭが作成されたことに基づいて、テーブルＰＳＶ−ＶＭに仮想マシンＶＭと物理サーバＰＳＶとの関係を示すＶＭ情報を格納するとともに、テーブルＶＭ−ＬＣＳに仮想マシン名ＶＭ−ＮＡＭを格納する。
【０１８２】
設定モードＳＭＯＤＥの領域には、仮想マシンＶＭに含まれるソフトウェアのうち、利用者によりインストールされたソフトウェアのライセンス情報を詳細に設定するか（”詳細”）、簡易に設定するか（”簡易”）のいずれかを示す情報が格納される。設定モードＳＭＯＤＥが”詳細”に設定された場合、利用者によりインストールされたソフトウェアのライセンス情報は、利用者からの入力に基づいて利用者設定管理部２７ＢによりテーブルＳＷ−ＬＣＳに設定される。以下では、設定モードＳＭＯＤＥが”詳細”に設定された状態は、詳細モードとも称され、設定モードＳＭＯＤＥが”簡易”に設定された状態は、簡易モードとも称される。
【０１８３】
規則ＲＵＬＥは、設定モードＳＭＯＤＥに”簡易”が設定された場合、利用者からの仮想マシンＶＭを物理サーバＰＳＶ間で移動する場合の移動の規則の入力に基づいて利用者設定管理部２７Ｂにより設定される。規則ＲＵＬＥの領域には、例えば、”ＵＮＬＯＣＫ”、”ＬＯＣＫ”、”Ｐ＿ＬＯＣＫ”、”Ｐ＿ＰＥＲＦ”のいずれかが格納される。
【０１８４】
”ＵＮＬＯＣＫ”は、物理サーバＰＳＶ間で仮想マシンＶＭを移動可能であることを示す。”ＬＯＣＫ”は、物理サーバＰＳＶ間で仮想マシンＶＭを移動不可であることを示す。”Ｐ＿ＬＯＣＫ”は、仮想マシンＶＭの移動元の物理サーバＰＳＶの仕様と、仮想マシンＶＭの移動先の物理サーバＰＳＶの仕様とが同じ場合、仮想マシンＶＭを移動可能であることを示す。例えば、物理サーバＰＳＶの仕様は、物理サーバＰＳＶに含まれるＣＰＵコアの総数ＣＯＲＥ−Ｎと係数ＣＯＥＦとの積で示される。
【０１８５】
”Ｐ＿ＰＥＲＦ”は、仮想マシンＶＭの移動元の物理サーバＰＳＶの仕様が、仮想マシンＶＭの移動先の物理サーバＰＳＶの仕様以上の場合、仮想マシンＶＭを移動可能であることを示す。規則ＲＵＬＥは、ソフトウェアがインストールされた仮想マシンＶＭの他の物理サーバ１０への移動の可否を示す移動可否情報の一例である。以下では、規則ＲＵＬＥは、移動の規則とも称される。また、テーブルＶＭ−ＬＣＳにおいて、設定モードＳＭＯＤＥの”簡易”と規則ＲＵＬＥとのペアは、ライセンス情報と称される場合がある。
【０１８６】
端末装置４０を操作する利用者は、仮想マシンＶＭにインストールしたソフトウェアのライセンス情報を詳細に設定する場合、詳細モードに選択し、端末装置４０の設定画面にライセンス情報を入力する。利用者設定管理部２７Ｂは、詳細モード中に利用者から入力されたライセンス情報を設定画面テーブルＳＷ−ＬＣＳに格納する。これにより、移動管理部２８Ｂは、テーブルＳＷ−ＬＣＳに格納されたライセンス情報に基づいて、物理サーバＰＳＶ間での仮想マシンＶＭの移動の可否を判定できる。
【０１８７】
また、利用者は、仮想マシンＶＭにインストールしたソフトウェアのライセンス情報を簡易に設定する場合、簡易モードに選択し、端末装置４０の設定画面に仮想マシンＶＭの移動の規則を入力する。利用者設定管理部２７Ｂは、簡易モード中に利用者から入力された仮想マシンＶＭの移動の規則を、テーブルＶＭ−ＬＣＳの規則ＲＵＬＥの領域に格納する。これにより、移動管理部２８Ｂは、テーブルＶＭ−ＬＣＳに格納された規則ＲＵＬＥに基づいて、仮想マシンＶＭ毎に、物理サーバＰＳＶ間での仮想マシンＶＭの移動の可否を判定できる。なお、利用者設定管理部２７Ｂは、利用者が詳細モードを選択した場合、テーブルＶＭ−ＬＣＳの設定モードＳＭＯＤＥの領域に”詳細”を示す情報を格納する。また、利用者設定管理部２７Ｂは、利用者が簡易モードを選択した場合、テーブルＶＭ−ＬＣＳの設定モードＳＭＯＤＥの領域に”簡易”を示す情報を格納する。
【０１８８】
テーブルＶＭ−ＬＣＳを設けることにより、仮想マシンＶＭに含まれる全てのソフトウェアの詳細なライセンス情報を利用者に詳細に設定させることなく、移動管理部２８Ｂは、物理サーバＰＳＶ間での仮想マシンＶＭの移動の可否を判定できる。したがって、テーブルＳＷ−ＬＣＳのみを使用してライセンス情報を設定する場合に比べて、テーブルＳＷ−ＬＣＳにライセンス情報を格納する利用者の負荷を減らすことができる。例えば、利用者が仮想マシンＶＭにインストールしたソフトウェアの数が多い場合、ソフトウェア毎にソフトウェア情報を設定するのは利用者の負荷が大きい。ソフトウェアのライセンスの管理が仮想マシン単位で可能な場合、ライセンス情報の代わりに移動の規則を簡易モードで設定することで、利用者の負担を減らすことができる。なお、例えば、仮想マシンＶＭにインストールされたソフトウェアのライセンスの種類が互いに異なる場合、一番厳しいライセンスに合わせて移動の規則が簡易モードで設定されてもよい。これにより、ライセンス情報の代わりに移動の規則を仮想マシンＶＭ単位で設定する場合、他の物理サーバＰＳＶに移動される仮想マシンＶＭに含まれるライセンスの種類が異なる複数のソフトウェアにライセンス違反が発生することを抑止することができる。
【０１８９】
なお、利用者は、設定モードＳＭＯＤＥを簡易モードに設定し、一時的に、規則ＲＵＬＥを”ＬＯＣＫ”等に設定し、その後、設定モードＳＭＯＤＥを詳細モードに設定して、テーブルＳＷ−ＬＣＳにライセンス情報を格納することも可能である。
【０１９０】
図２５は、図２３に示す利用者設定管理部２７Ｂの動作の一例を示す。すなわち、図２５は、管理サーバ２０Ｂによる情報処理方法および管理サーバ２０Ｂが実行するプログラムの一例を示す。図１１と同一または同様の処理については、同じ符号を付し、詳細な説明は省略する。図２３に示す動作は、利用者が端末装置４０を介して情報処理システム１００Ｂにより実現されるクラウドサービスにログインしたことに基づいて開始される。
【０１９１】
まず、ステップＳ３００Ａにおいて、利用者設定管理部２７Ｂは、ログインした利用者が所有する仮想マシンＶＭの中に、テーブルＳＷ−ＬＣＳ、ＶＭ−ＬＣＳにライセンス情報が設定されていない仮想マシンＶＭがあるか否かを判定する。テーブルＳＷ−ＬＣＳ、ＶＭ−ＬＣＳにライセンス情報が設定されていない仮想マシンＶＭがある場合、処理はステップＳ３０２Ａに移行される。全ての仮想マシンＶＭにライセンス情報が設定されている場合、処理は終了する。
【０１９２】
ここで、利用者設定管理部２７Ｂは、利用者が所有する仮想マシンＶＭを示す仮想マシン名ＶＭ−ＮＡＭを含むテーブルＶＭ−ＬＣＳのレコードに設定モードＳＭＯＤＥが格納されていない場合、ライセンス情報が設定されていないと判定する。また、利用者設定管理部２７Ｂは、利用者が所有する仮想マシンＶＭを示す仮想マシン名ＶＭ−ＮＡＭを含むテーブルＳＷ−ＬＣＳのレコードにライセンス情報が格納されていない場合、ライセンス情報が設定されていないと判定する。
【０１９３】
ステップＳ３０２Ａにおいて、利用者設定管理部２７Ｂは、テーブルＶＭ−ＬＣＳ、ＳＷ−ＬＣＳにおいて、ライセンス情報が設定されていないと判定した仮想マシンＶＭを示す仮想マシン名ＶＭ−ＮＡＭを利用者がログインした端末装置４０の画面に表示させる。なお、利用者設定管理部２７Ｂは、ステップＳ３００Ａの処理を省略し、ライセンス情報が設定されていない仮想マシンＶＭがない場合にも、ステップＳ３０２Ａの処理を実行し、利用者が使用している全ての仮想マシンＶＭを表示してもよい。これにより、利用者は、一度設定したライセンス情報を変更することができる。例えば、利用者は、テーブルＶＭ−ＬＣＳの設定モードＳＭＯＤＥと規則ＲＵＬＥとを一時的に”簡易”と”ＬＯＣＫ”とに設定した後、設定モードＳＭＯＤＥを詳細モードに設定して、テーブルＳＷ−ＬＣＳにライセンス情報を格納することができる。
【０１９４】
次に、ステップＳ３０４において、利用者設定管理部２７Ｂは、端末装置４０を介して利用者に、端末装置４０の画面に表示した仮想マシンＶＭのいずれかを選択させる。次に、ステップＳ３０６において、利用者設定管理部２７Ｂは、利用者が選択した仮想マシンＶＭを含む物理サーバＰＳＶの仕様情報を端末装置４０の画面に表示させる。画面に表示される仕様情報は、コア数ＣＯＲＥ−Ｎと係数ＣＯＥＦとを含む。
【０１９５】
次に、ステップＳ３０７において、利用者設定管理部２７Ｂは、ライセンス情報を、簡易モードで入力するか詳細モードで入力するかを利用者に選択させるウインドウを、利用者がログインした端末装置４０の画面に表示させる。利用者が簡易モードを選択した場合、処理はステップＳ３１４に移行され、利用者が詳細モードを選択した場合、処理はステップＳ３０８に移行される。なお、利用者設定管理部２７Ｂは、簡易モードと詳細モードとの両方のウインドウを端末装置４０の画面に表示し、利用者が入力する情報に基づいて、処理をステップＳ３０８、Ｓ３１４のいずれに移行するかを決めてもよい。
【０１９６】
ステップＳ３０８、Ｓ３１０の処理は、図１１のステップＳ３０８、Ｓ３１０と同様である。すなわち、利用者設定管理部２７Ｂは、仮想マシン名ＶＭ−ＮＡＭ、ソフトウェア名ＳＷ−ＮＡＭおよび”利用者”を示す情報をテーブルＳＷ−ＬＣＳの空いているレコードに格納する。また、利用者設定管理部２７Ｂは、利用者により入力されたライセンスの購入単位ＬＣＳ−ＵＮＩＴ、ライセンスタイプＬＣＳ−ＴＹＰＥおよびライセンス数ＬＣＳ−Ｎを、テーブルＳＷ−ＬＣＳにおいて仮想マシン名ＶＭ−ＮＡＭを保持するレコードに格納する。次に、ステップＳ３１２において、利用者設定管理部２７Ｂは、テーブルＶＭ−ＬＣＳにおいて、利用者により選択された仮想マシンＶＭに対応するレコードの設定モードＳＭＯＤＥの領域に”詳細”を示す情報を格納し、処理をステップＳ３００Ａに戻す。
【０１９７】
一方、簡易モードが選択された場合、ステップＳ３１４において、利用者設定管理部２７Ｂは、仮想マシンＶＭの移動規則である規則ＲＵＬＥを利用者に入力させるウインドウを端末装置４０の画面に表示させる。利用者設定管理部２７Ｂは、端末装置４０を介して利用者が入力する規則ＲＵＬＥの受け付け処理を実行する。次に、ステップＳ３１６において、利用者設定管理部２７Ｂは、テーブルＶＭ−ＬＣＳにおいて、利用者により選択された仮想マシンＶＭに対応するレコードの規則ＲＵＬＥの領域に、利用者により入力された規則ＲＵＬＥを格納する。次にステップＳ３１８において、利用者設定管理部２７Ｂは、テーブルＶＭ−ＬＣＳにおいて、利用者により選択された仮想マシンＶＭに対応するレコードの設定モードＳＭＯＤＥの領域に”簡易”を示す情報を格納し、処理をステップＳ３００Ａに戻す。
【０１９８】
なお、利用者設定管理部２７Ｂは、端末装置４０を介して利用者から仮想マシンＶＭの削除する指示を受けた場合、図１３に示した動作を実行する。この場合、利用者設定管理部２７Ｂは、図１３のステップＳ４００において、テーブルＳＷ−ＬＣＳだけでなくテーブルＶＭ−ＬＣＳも検索し、削除された仮想マシンＶＭを示す仮想マシン名ＶＭ−ＮＡＭを含むレコードを見つける。そして、利用者設定管理部２７Ｂは、見つけたレコードに保持された情報を削除する。
【０１９９】
図２６は、図２３に示す移動管理部２８Ｂの動作の一例を示す。すなわち、図２６は、管理サーバ２０Ｂによる情報処理方法および管理サーバ２０Ｂが実行するプログラムの一例を示す。図２６に示す動作は、管理サーバ２０Ｂが仮想マシンＶＭを物理サーバ１０間で移動させる前に、全体管理部３０Ｂからの指示に基づいて開始される。移動管理部２８Ｂの動作は、図２６に示すフローと図１４に示すフローとにより示される。
【０２００】
まず、ステップＳ５２０において、移動管理部２８Ｂは、テーブルＶＭ−ＬＣＳを参照し、移動対象の仮想マシンＶＭに設定された設定モードＳＭＯＤＥが”詳細”であるか否かを判定する。設定モードＳＭＯＤＥが”詳細”である場合、テーブルＳＷ−ＬＣＳに保持された情報に基づいて仮想マシンＶＭの移動の可否を判定するため、処理は図１４のステップＳ５００に移行される。設定モードＳＭＯＤＥが”詳細”でない場合、すなわち、”簡易”の場合、処理はステップＳ５２２に移行される。
【０２０１】
ステップＳ５２２において、移動管理部２８Ｂは、テーブルＶＭ−ＬＣＳを参照し、移動対象の仮想マシンＶＭに設定された規則ＲＵＬＥが”Ｐ＿ＬＯＣＫ”であるか否かを判定する。規則ＲＵＬＥが”Ｐ＿ＬＯＣＫ”である場合、処理はステップＳ５２８に移行され、規則ＲＵＬＥが”Ｐ＿ＬＯＣＫ”でない場合、処理はステップＳ５２４に移行される。
【０２０２】
ステップＳ５２４において、移動管理部２８Ｂは、テーブルＶＭ−ＬＣＳを参照し、移動対象の仮想マシンＶＭに設定された規則ＲＵＬＥが”Ｐ＿ＰＥＲＦ”であるか否かを判定する。規則ＲＵＬＥが”Ｐ＿ＰＥＲＦ”である場合、処理はステップＳ５３０に移行され、規則ＲＵＬＥが”Ｐ＿ＰＥＲＦ”でない場合、処理はステップＳ５２６に移行される。
【０２０３】
ステップＳ５２６において、移動管理部２８Ｂは、テーブルＶＭ−ＬＣＳを参照し、移動対象の仮想マシンＶＭに設定された規則ＲＵＬＥが”ＬＯＣＫ”であるか否かを判定する。規則ＲＵＬＥが”ＬＯＣＫ”である場合、仮想マシンＶＭの移動が不可なため、処理はステップＳ５３２に移行される。規則ＲＵＬＥが”ＬＯＣＫ”でない場合、すなわち、”ＵＮＬＯＣＫ”の場合、仮想マシンＶＭの移動が可能なため、処理はステップＳ５３４に移行される。
【０２０４】
ステップＳ５２８において、移動管理部２８Ｂは、例えば、テーブルＰＳＶ−ＳＰＣを参照し、仮想マシンＶＭの移動元の物理サーバＰＳＶの仕様と、仮想マシンＶＭの移動先の物理サーバＰＳＶの仕様とが同じであるか否かを判定する。物理サーバＰＳＶの仕様が互いに同じ場合、仮想マシンＶＭの移動が可能なため、処理はステップＳ５３４に移行される。物理サーバＰＳＶの仕様が互いに異なる場合、仮想マシンＶＭの移動が不可なため、処理はステップＳ５３２に移行される。
【０２０５】
ステップＳ５３０において、移動管理部２８Ｂは、例えば、テーブルＰＳＶ−ＳＰＣを参照し、仮想マシンＶＭの移動元の物理サーバＰＳＶの仕様が、仮想マシンＶＭの移動先の物理サーバＰＳＶの仕様以上であるか否かを判定する。移動元の物理サーバＰＳＶの仕様が、移動先の物理サーバＰＳＶの仕様以上である場合、仮想マシンＶＭの移動が可能なため、処理はステップＳ５３４に移行される。移動元の物理サーバＰＳＶの仕様が、移動先の物理サーバＰＳＶの仕様未満である場合、仮想マシンＶＭの移動が不可なため、処理はステップＳ５３２に移行される。
【０２０６】
ステップＳ５３２において、移動管理部２８Ｂは、仮想マシンＶＭの移動が不可であることを示す不可情報を全体管理部３０Ｂに通知し、処理を終了する。不可情報を受けた全体管理部３０Ｂは、例えば、ライセンス数の不足により仮想マシンＶＭの移動ができないことを、端末装置４０を介して利用者に通知し、ライセンスの購入を促す。
【０２０７】
一方、ステップＳ５３４おいて、移動管理部２８Ｂは、仮想マシンＶＭの移動が可能であることを示す可能情報を全体管理部３０Ｂに通知し、処理を終了する。不可情報を受けた全体管理部３０Ｂの動作、および可能情報を受けた全体管理部３０Ｂの動作は、図１４のステップＳ５１０、Ｓ５１２で説明した動作と同様である。
【０２０８】
全体管理部３０Ｂの動作は、図３から図２３で説明した全体管理部３０Ａの動作と同様である。但し、全体管理部３０Ｂは、図１８のステップＳ６１４において、ＣＰＵの増設の可否を、図３に示す移動管理部２８Ａの代わりに移動管理部２８Ｂに判定させる。また、全体管理部３０Ｂは、図２０のステップＳ７１４において、ＣＰＵの減設の可否を図３に示す移動管理部２８Ａの代わりに移動管理部２８Ｂに判定させる。
【０２０９】
また、全体管理部３０Ｂは、図２１のステップＳ８００において、判定対象の仮想マシンＶＭに対応してテーブルＶＭ−ＬＣＳに保持された設定モードＳＭＯＤＥが”簡易”の場合、規則ＲＵＬＥの領域に保持された情報をライセンス情報として取得する。全体管理部３０Ｂは、図２１のステップＳ８０２において、判定対象の仮想マシンＶＭに対応してテーブルＶＭ−ＬＣＳに保持された規則ＲＵＬＥが”ＵＮＬＯＣＫ”の場合、処理をステップＳ８０８に移行する。全体管理部３０Ｂは、ステップＳ８０２において、判定対象の仮想マシンＶＭに対応してテーブルＶＭ−ＬＣＳに保持された規則ＲＵＬＥが”Ｐ＿ＬＯＣＫ”または”Ｐ＿ＰＥＲＦ”の場合、処理をステップＳ８０４に移行する。全体管理部３０Ｂは、ステップＳ８０２において、判定対象の仮想マシンＶＭに対応してテーブルＶＭ−ＬＣＳに保持された規則ＲＵＬＥが”ＬＯＣＫ”の場合、処理をステップＳ８１４に移行する。
【０２１０】
全体管理部３０Ｂは、図２２のステップＳ９００において、ｖＣＰＵが減設された仮想マシンＶＭに対応してテーブルＶＭ−ＬＣＳに保持された設定モードＳＭＯＤＥが”簡易”の場合、規則ＲＵＬＥの領域に保持された情報をライセンス情報として取得する。全体管理部３０Ｂは、図２２のステップＳ９０２において、ｖＣＰＵが減設された仮想マシンＶＭに対応してテーブルＶＭ−ＬＣＳに保持された規則ＲＵＬＥが”ＵＮＬＯＣＫ”の場合、処理をステップＳ９０４に移行する。全体管理部３０Ｂは、ステップＳ８０２において、ｖＣＰＵが減設された仮想マシンＶＭに対応してテーブルＶＭ−ＬＣＳに保持された規則ＲＵＬＥが”Ｐ＿ＬＯＣＫ”、”Ｐ＿ＰＥＲＦ” または”ＬＯＣＫ”の場合、処理を終了する。
【０２１１】
以上、図２３から図２６に示す実施形態においても、図１から図２２に示す実施形態と同様の効果を得ることができる。例えば、テーブル群３４Ｂにより、利用者によりインストールされたソフトウェアのソフトウェア情報を管理できるため、利用者によりソフトウェアがインストールされた仮想マシンＶＭの物理サーバＰＳＶ間での移動の可否を判定することができる。具体的には、物理サーバＰＳＶのＣＰＵの増設または減設に伴い、仮想マシンＶＭを物理サーバＰＳＶ間で移動する場合に、ソフトウェアにライセンス違反が発生するか否かを判定することができる。換言すれば、利用者によりインストールされたソフトウェアにライセンス違反を発生させることなく、物理サーバＰＳＶのＣＰＵを増設または減設することができる。
【０２１２】
仮想マシンＶＭの削除時に発生する未使用ライセンス数を管理することで、例えば、ＣＰＵまたはｖＣＰＵの増設時に未使用ライセンス数を利用することができ、利用者による余分なライセンスの購入を抑止することができる。利用者から受信するライセンス情報と、事業者が用意したＶＭイメージに含まれるソフトウェアのライセンス情報とを共通のテーブルＳＷ−ＬＣＳを用いて管理することで、ソフトウェアの管理元に依存せずに仮想マシンＶＭの移動の可否を判定することができる。
【０２１３】
さらに、図２３から図２６に示す実施形態では、仮想マシンＶＭの移動の規則を設定可能なテーブルＶＭ−ＬＣＳを設けることで、利用者に、ソフトウェア単位ではなく、仮想マシンＶＭ単位でライセンス情報を設定させることができる。これにより、利用者が入力するライセンス情報の情報量を減らすことができ、利用者の負荷を減らすことができる。管理サーバ２０Ｂは、ライセンス情報が簡易モードにより設定された場合にも、物理サーバＰＳＶ間での仮想マシンＶＭの移動の可否を判定できる。この結果、利用者によりインストールされたソフトウェアにライセンス違反を発生させることなく、物理サーバＰＳＶのＣＰＵを増設または減設することができる。
【０２１４】
図２７は、図１、図３および図２３に示す管理サーバのハードウェア構成の一例を示す。図１に示す管理サーバ２０、図３に示す管理サーバ２０Ａおよび図２３に示す管理サーバ２０Ｂのハードウェア構成は、互いに同様のため、以下では、管理サーバ２０の構成が説明される。なお、図３に示す物理サーバ１０および端末装置３８、４０も、図２７と同一または同様のハードウェア構成を有する。
【０２１５】
管理サーバ２０は、マザーボード等の本体部７０と、本体部７０に接続されるモニタ８０、マウス８２およびキーボード８４とを有する。本体部７０は、バスＢＵＳを介して相互に接続されるＣＰＵ等のプロセッサ７１、メモリ７２、７３、グラフィック処理部７４、ＨＤＤ（Hard Disk Drive）７５、入力インタフェース７６、入出力インタフェース７７および通信インタフェース７８を有する。なお、本体部７０は、ＦＰＧＡを有してもよい。
【０２１６】
プロセッサ７１は、演算処理を実行する複数のプロセッサコア７１ａを有する。なお、本体部７０は、複数のプロセッサ７１を有してもよい。プロセッサコア７１ａのいずれかは、プログラムを実行することで、図１に示す管理サーバ２０、図３に示す管理サーバ２０Ａまたは図２３に示す管理サーバ２０Ｂの機能を実現する。なお、本体部７０に複数のプロセッサ７１が設けられる場合、複数のプロセッサ７１のいずれかにプログラムを実行させてもよい。
【０２１７】
例えば、メモリ７２は、複数のＳＤＲＡＭが搭載されたメモリモジュールであり、メモリ７３は、フラッシュメモリである。グラフィック処理部７４は、プロセッサ７１からの指示に基づいて、モニタ８０の画面に表示させる画像データ等をモニタ８０に出力する。ＨＤＤ７５は、プロセッサ７１が実行する各種プログラム等を保持する。なお、プロセッサ７１は、ＨＤＤ７５からメモリ７２に転送された各種プログラムを実行する。
【０２１８】
入力インタフェース７６は、マウス８２およびキーボード８４等の入力装置から受信する信号をプロセッサ７１に送信する。入出力インタフェース７７は、プロセッサ７１からの指示に基づいて、記録媒体８６から各種プログラムまたはデータ等の情報を読み出し、読み出した情報をＨＤＤ７５等に書き込む。また、入出力インタフェース７７は、プロセッサ７１からの指示に基づいて、ＨＤＤ７５等に格納された情報を読み出し、読み出した情報を記録媒体８６に書き込む。記録媒体８６は、ＣＤ（Compact Disc：登録商標）、ＤＶＤ（Digital Versatile Disc：登録商標）またはＵＳＢ（Universal Serial Bus）メモリ等である。通信インタフェース７８は、ネットワークＮＷ等のネットワークを介して、ネットワークに接続される他の装置との間で情報を送受信する。
【０２１９】
以上の図１から図２７に示す実施形態に関し、さらに以下の付記を開示する。
（付記１）
利用者が使用する仮想マシンが設定される物理マシンを管理する情報処理装置において、
前記仮想マシン上で動作させるソフトウェアに割り当てるライセンスの数であるライセンス数の算出に使用される情報であって、前記物理マシンの性能に依存する性能情報を前記物理マシン毎に管理する物理管理部と、
ソフトウェアが前記仮想マシンにインストールされた後、前記利用者が操作する利用者端末に前記性能情報を出力し、インストールされたソフトウェアに割り当てるライセンス数を含むライセンス情報を前記利用者端末から受信するインタフェース部と、
前記インタフェース部が受信した前記ライセンス情報と、該ライセンス情報に含まれるライセンス数が割り当てられるソフトウェアと、該ソフトウェアがインストールされた前記仮想マシンとの対応を示すソフトウェア情報を管理する仮想管理部と
を備えることを特徴とする情報処理装置。
（付記２）
前記仮想管理部が管理する前記ライセンス情報に基づいて、他の前記物理マシンへの前記仮想マシンの移動の可否を判定する移動管理部をさらに備えることを特徴とする付記１に記載の情報処理装置。
（付記３）
前記移動管理部は、前記仮想管理部が管理する前記ライセンス情報に、前記ライセンスが物理マシン単位で設定され、かつ、前記ライセンスが前記物理マシンに含まれるプロセッサのコア数に依存して設定されることを示す第１のライセンス情報が含まれる場合であって、前記ライセンス情報に含まれるライセンス数が、前記仮想マシンの移動先の前記物理マシンの前記性能情報から算出されるライセンス数以上の場合、前記仮想マシンの移動を許可することを特徴とする付記２に記載の情報処理装置。
（付記４）
前記移動管理部は、前記仮想管理部が管理する前記ライセンス情報に前記第１のライセンス情報が含まれる場合であって、移動する前記仮想マシンに含まれるソフトウェアと同じソフトウェアを含む前記仮想マシンが、前記仮想マシンの移動先の前記物理マシンに設定されている場合、前記ライセンス情報に含まれるライセンス数に拘わらず、前記仮想マシンの移動を許可することを特徴とする付記３に記載の情報処理装置。
（付記５）
前記移動管理部は、前記仮想管理部が管理する前記ライセンス情報に前記第１のライセンス情報が含まれる場合であって、移動する前記仮想マシンに含まれるソフトウェアと同じソフトウェアを含む他の前記仮想マシンが、前記仮想マシンの移動元の前記物理マシンに設定されている場合、前記ライセンス情報に含まれるライセンス数に拘わらず、前記仮想マシンの移動を不可とすることを特徴とする付記３に記載の情報処理装置。
（付記６）
前記移動管理部は、前記仮想管理部が管理する前記ライセンス情報に、前記ライセンスが仮想マシン単位で設定されることを示す情報が含まれる場合、または、ソフトウェアがインストールされた前記仮想マシンが設定された前記物理マシンの台数に依存して前記ライセンスが設定されることを示す情報が含まれる場合、前記ライセンス情報に含まれるライセンス数に拘わらず、前記仮想マシンの移動を許可することを特徴とする付記３に記載の情報処理装置。
（付記７）
前記インタフェース部は、前記性能情報を前記利用者端末に出力した後、前記ライセンス情報、または、ソフトウェアがインストールされた前記仮想マシンの他の前記物理マシンへの移動の可否を示す移動可否情報のいずれかを前記利用者端末から受信し、
前記仮想管理部は、前記利用者端末から前記ライセンス情報を受信した場合、ソフトウェア毎に前記ソフトウェア情報を管理し、前記利用者端末から前記移動可否情報を受信した場合、前記仮想マシン毎に前記移動可否情報を管理することを特徴とする付記１ないし付記６のいずれか１項に記載の情報処理装置。
（付記８）
前記仮想管理部が管理する情報に基づいて、ソフトウェアがインストールされた前記仮想マシンが設定された前記物理マシンに含まれるプロセッサの増設の可否を判定する増設管理部をさらに備えることを特徴とする付記１ないし付記７のいずれか１項に記載の情報処理装置。
（付記９）
前記増設管理部は、プロセッサを増設する前記物理マシンに設定された前記仮想マシンにインストールされたソフトウェアにおいて、前記仮想管理部が管理する前記ライセンス情報に、前記ライセンスが物理マシン単位で設定され、かつ、前記ライセンスが前記物理マシンに含まれるプロセッサのコア数に依存して設定されることを示す第１のライセンス情報が含まれる場合であって、前記ライセンス情報に含まれるライセンス数が、前記プロセッサを増設する前記物理マシンから移動する前記仮想マシンの移動先の前記物理マシンの前記性能情報から算出されるライセンス数以上の場合、プロセッサの増設を許可することを特徴とする付記８に記載の情報処理装置。
（付記１０）
前記仮想管理部は、ソフトウェアがインストールされた前記仮想マシンが前記物理マシンから削除された場合、削除された前記仮想マシンに対応して管理していた前記ソフトウェア情報を削除し、削除したソフトウェア情報に含まれていたライセンス数を未使用ライセンス数として管理することを特徴とする付記１ないし付記９のいずれか１項に記載の情報処理装置。
（付記１１）
前記性能情報は、前記物理マシンが有するプロセッサのコア数と、該コア数に乗ずる係数とを含み、
ソフトウェアに要求されるライセンスが、物理マシン単位で設定され、かつ、前記物理マシンに含まれる前記プロセッサの前記コア数に依存して設定される場合、ライセンス数は、前記コア数と前記係数との積で示され、
前記物理管理部は、前記情報処理装置の管理者が操作する管理者端末から正しい係数を受信するまで、前記係数を設定可能な最大の値を設定することを特徴とする付記１ないし付記１０のいずれか１項に記載の情報処理装置。
（付記１２）
前記仮想マシンの構成データと、前記仮想マシンに設定されるソフトウェアのプログラムデータとを含むイメージを使用して前記仮想マシンが前記物理マシンに設定された場合、前記イメージに含まれるソフトウェアと、該ソフトウェアに割り当てるライセンス数を含む前記ライセンス情報と、前記イメージを使用して前記物理マシンに設定された前記仮想マシンとの対応を示すソフトウェア情報を、前記仮想管理部が管理するソフトウェア情報と共通に管理するイメージ管理部をさらに備えることを特徴とする付記１ないし付記１１のいずれか１項に記載の情報処理装置。
（付記１３）
前記ソフトウェア情報を保持するソフトウェア情報保持部をさらに備え、
前記仮想管理部は、
前記仮想マシンへのソフトウェアのインストールに基づいて、インストールされたソフトウェアと、該ソフトウェアがインストールされた前記仮想マシンとを示すインストール情報を前記ソフトウェア情報保持部に格納し、
前記インストール情報に対応するライセンス数が前記ソフトウェア情報として前記ソフトウェア情報保持部に保持されているかを所定の周期で検出し、
前記インストール情報に対応するライセンス数が前記ソフトウェア情報保持部に保持されていない場合、前記利用者に向けてライセンス数の入力を要求する指示を前記インタフェース部に発行し、
前記利用者端末から受信するライセンス数を前記ソフトウェア情報保持部に格納すること
を特徴とする付記１ないし付記１２のいずれか１項に記載の情報処理装置。
（付記１４）
利用者が使用する仮想マシンが設定される物理マシンと、前記物理マシンを管理する情報処理装置とを有する情報処理システムにおいて、
前記情報処理装置は、
前記仮想マシン上で動作させるソフトウェアに割り当てるライセンスの数であるライセンス数の算出に使用される情報であって、前記物理マシンの性能に依存する性能情報を前記物理マシン毎に管理する物理管理部と、
ソフトウェアが前記仮想マシンにインストールされた後、前記利用者が操作する利用者端末に前記性能情報を出力し、インストールされたソフトウェアに割り当てるライセンス数を含むライセンス情報を前記利用者端末から受信するインタフェース部と、
前記インタフェース部が受信した前記ライセンス情報と、該ライセンス情報に含まれるライセンス数が割り当てられるソフトウェアと、該ソフトウェアがインストールされた前記仮想マシンとの対応を示すソフトウェア情報を管理する仮想管理部と
を備えることを特徴とする情報処理システム。
（付記１５）
利用者が使用する仮想マシンが設定される物理マシンを管理する情報処理装置に、
前記仮想マシン上で動作させるソフトウェアに割り当てるライセンスの数であるライセンス数の算出に使用される情報であって、前記物理マシンの性能に依存する性能情報を前記物理マシン毎に管理し、
ソフトウェアが前記仮想マシンにインストールされた後、前記利用者が操作する利用者端末に前記性能情報を出力し、
インストールされたソフトウェアに割り当てるライセンス数を含むライセンス情報を前記利用者端末から受信し、
受信した前記ライセンス情報と、該ライセンス情報に含まれるライセンス数が割り当てられるソフトウェアと、該ソフトウェアがインストールされた前記仮想マシンとの対応を示すソフトウェア情報を管理する
処理を実行させることを特徴とするプログラム。
（付記１６）
利用者が使用する仮想マシンが設定される物理マシンを管理する情報処理装置に、
前記仮想マシン上で動作させるソフトウェアに割り当てるライセンスの数であるライセンス数の算出に使用される情報であって、前記物理マシンの性能に依存する性能情報を前記物理マシン毎に管理し、
ソフトウェアが前記仮想マシンにインストールされた後、前記利用者が操作する利用者端末に前記性能情報を出力し、
インストールされたソフトウェアに割り当てるライセンス数を含むライセンス情報を前記利用者端末から受信し、
受信した前記ライセンス情報と、該ライセンス情報に含まれるライセンス数が割り当てられるソフトウェアと、該ソフトウェアがインストールされた前記仮想マシンとの対応を示すソフトウェア情報を管理する
処理を実行させるプログラムを記憶したことを特徴とする記録媒体。
【０２２０】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【０２２１】
１０（１０ａ、１０ｂ）…物理サーバ；１２…ＣＰＵコア；１４…ＣＰＵ；１６…記憶装置；１８…ディスク装置；２０、２０Ａ、２０Ｂ…管理サーバ；２２、２２Ａ…物理管理部；２４…インタフェース部；２６…仮想管理部；２７Ａ、２７Ｂ…利用者設定管理部；２８、２８Ａ、２８Ｂ…移動管理部；２９Ａ…イメージ管理部；３０Ａ、３０Ｂ…全体管理部；３２Ａ…記憶部；３４Ａ、３４Ｂ…テーブル群；３６Ａ…プログラム；３８、４０…端末装置；１００、１００Ａ、１００Ｂ…情報処理システム；ＣＯＥＦ…係数；ＣＯＲＥ−Ｎ…コア数；ＨＹＰＶ…ハイパーバイザ；ＩＭＧ−ＬＣＳＶＭ…テーブル；ＩＭＧ−ＮＡＭ…イメージ名；ＬＣＳ−Ｎ…ライセンス数；ＬＣＳ−ＵＮＩＴ…購入単位；ＬＣＳ−ＴＹＰＥ…ライセンスタイプ；ＬＮＷ…ネットワーク；ＭＮＧ…管理元；ＭＷ…ソフトウェア；ＮＷ…ネットワーク；ＰＳＶ…物理サーバ；ＰＳＶ−ＮＡＭ…サーバ名；ＰＳＶ−ＳＰＣ…テーブル；ＰＳＶ−ＶＭ…テーブル；ＳＷ−ＬＣＳ…テーブル；ＳＷ−ＮＡＭ…ソフトウェア名；ＵＵＳＥ−ＬＣＳ…テーブル；ＵＵＳＥ−ＬＣＳ−Ｎ…ライセンス数；ＶＭ…仮想マシン；ＶＭ−ＮＡＭ…仮想マシン名
【図１】
2019125300.tif 000003
【図２】
2019125300.tif 000004
【図３】
2019125300.tif 000005
【図４】
2019125300.tif 000006
【図５】
2019125300.tif 000007
【図６】
2019125300.tif 000008
【図７】
2019125300.tif 000009
【図８】
2019125300.tif 000010
【図９】
2019125300.tif 000011
【図１０】
2019125300.tif 000012
【図１１】
2019125300.tif 000013
【図１２】
2019125300.tif 000014
【図１３】
2019125300.tif 000015
【図１４】
2019125300.tif 000016
【図１５】
2019125300.tif 000017
【図１６】
2019125300.tif 000018
【図１７】
2019125300.tif 000019
【図１８】
2019125300.tif 000020
【図１９】
2019125300.tif 000021
【図２０】
2019125300.tif 000022
【図２１】
2019125300.tif 000023
【図２２】
2019125300.tif 000024
【図２３】
2019125300.tif 000025
【図２４】
2019125300.tif 000026
【図２５】
2019125300.tif 000027
【図２６】
2019125300.tif 000028
【図２７】
2019125300.tif 000029