(57)【要約】【課題】処理能力に応じてライセンス量を管理する情報処理装置、ライセンス管理プログラム、及び、ライセンス管理方法を提供する。【解決手段】仮想マシンの起動に応じて、前記仮想マシンが第１のソフトウェアを実行する際の、処理能力に関する性能値を測定する第２のソフトウェアのインストールと、前記第２のソフトウェアの実行とを、前記仮想マシンに指示する第１の指示部と、前記実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第１のソフトウェアのライセンス量を決定する決定部と、前記ライセンス量に応じた前記第１のソフトウェアのインストールを、前記仮想マシンに指示する第２の指示部と、を有する。【選択図】図４
2017049643.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンの起動に応じて、前記仮想マシンが第１のソフトウェアを実行する際の、処理能力に関する性能値を測定する第２のソフトウェアのインストールと、前記第２のソフトウェアの実行とを、前記仮想マシンに指示する第１の指示部と、
前記実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第１のソフトウェアのライセンス量を決定する決定部と、
前記ライセンス量に応じた前記第１のソフトウェアのインストールを、前記仮想マシンに指示する第２の指示部と、
を有する情報処理装置。
【請求項２】
請求項１において、
前記性能値は、前記仮想マシンに割り当てられるハードウェアに応じて変化する、
情報処理装置。
【請求項３】
請求項１または２において、
前記第２の指示部は、複数の前記仮想マシンの前記ライセンス量の合計が所定値を超える場合に、前記複数の仮想マシンのうち一部の前記仮想マシンに、前記ライセンス量に応じた前記第１のソフトウェアのインストールを指示する、
情報処理装置。
【請求項４】
請求項１または２において、
前記第２の指示部は、前記仮想マシンの前記ライセンス量が所定値を超える場合に、前記ライセンス量のうち一部のライセンス量に応じた前記第１のソフトウェアのインストールを、前記仮想マシンに指示する、
情報処理装置。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記第１の指示部は、前記仮想マシンに割り当てられたハードウェアの変更に応じて、前記第２のソフトウェアの再実行を指示し、
前記決定部は、前記再実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第１のソフトウェアのライセンス量を再決定し、
前記第２の指示部は、再決定した前記ライセンス量に応じた前記第１のソフトウェアのインストールを、前記仮想マシンに指示する、
情報処理装置。
【請求項６】
コンピュータに、
仮想マシンの起動に応じて、前記仮想マシンが第１のソフトウェアを実行する際の、処理能力に関する性能値を測定する第２のソフトウェアのインストールと、前記第２のソフトウェアの実行とを、前記仮想マシンに指示し、
前記実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第１のソフトウェアのライセンス量を決定し、
前記ライセンス量に応じた前記第１のソフトウェアのインストールを、前記仮想マシンに指示する、
ことを実行させることを特徴とするライセンス管理プログラム。
【請求項７】
処理部は、仮想マシンの起動に応じて、前記仮想マシンが第１のソフトウェアを実行する際の、処理能力に関する性能値を測定する第２のソフトウェアのインストールと、前記第２のソフトウェアの実行とを、前記仮想マシンに指示し、
処理部は、前記実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第１のソフトウェアのライセンス量を決定し、
処理部は、前記ライセンス量に応じた前記第１のソフトウェアのインストールを、前記仮想マシンに指示する、
ライセンス管理方法。
【請求項８】
情報処理装置は、仮想マシンの起動に応じて、前記仮想マシンが第１のソフトウェアを実行する際の、処理能力に関する性能値を測定する第２のソフトウェアのインストールと、前記第２のソフトウェアの実行とを、前記仮想マシンに指示し、
前記仮想マシンは、前記第２のソフトウェアをインストールし、前記第２のソフトウェアを実行して前記性能値を測定し、
前記情報処理装置は、前記性能値に基づいて、前記仮想マシンにおける前記第１のソフトウェアのライセンス量を決定し、前記ライセンス量に応じた前記第１のソフトウェアのインストールを、前記仮想マシンに指示し、
前記仮想マシンは、前記第１のソフトウェアを前記ライセンス量に応じて実行する、
ライセンス管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ライセンス管理プログラム、及び、ライセンス管理方法に関する。
【背景技術】
【０００２】
近年、ＩＰ（Internet Protocol：ＩＰ）電話システムでは、ＳＩＰ（Session Initiation Protocol：ＳＩＰ）プロトコルが広く利用されている。また、携帯電話システムのＩＰコアシステムのアーキテクチャについて、３ＧＰＰ（Third Generation Partnership Project：３ＧＰＰ）では、ＩＭＳ（IP Multimedia Subsystem：ＩＭＳ）が規定される。ＩＭＳを形成する各システムは、例えば、情報処理装置（ハードウェア）に、ネットワークを制御する通信制御ソフトウェアを実装することによって実現する。
【０００３】
通信制御ソフトウェアを提供する通信機器ベンダーは、例えば、通信制御ソフトウェアを実装するハードウェアを予め選定し、選定したハードウェアと通信制御ソフトとを組み合わせて、通信サービス事業者に提供する。通信サービス事業者は、ＩＰ電話システム等の情報処理サービスを提供する事業者である。
【０００４】
また、通信機器ベンダーは、通信サービス事業者とライセンス契約を交わし、契約したライセンス量に応じた通信制御ソフトウェアの使用を、通信サービス事業者に許可する。例えば、通信機器ベンダーは、ハードウェア上で通信制御ソフトウェアを動作させた場合の処理能力に基づいて、ライセンス量を決定する。
【０００５】
一方、ＮＦＶ（Network Functions Virtualization：ＮＦＶ）と称するネットワーク機能の仮想化が進んでいる。ＮＦＶに伴い、通信制御ソフトウェアは、ハードウェア上に構築される仮想マシンで動作する。
【０００６】
性能の評価に関しては、例えば、特許文献１に、ライセンス量に応じた制御に関しては、例えば、特許文献２、３に記載される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−２４５２８２号公報
【特許文献２】特開２００５−３８１６７号公報
【特許文献３】特開２００９−２３２１３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、通信制御ソフトを仮想マシンで動作させる場合、通信サービス事業者が、仮想マシンを構成するハードウェアを選定するケースが多い。したがって、例えば、通信機器ベンダーは、通信サービス事業者が選定したハードウェアと同一のハードウェアを購入し、処理能力を測定し、ライセンス量を決定する。ただし、通信サービス事業者が選定したハードウェアと同一のハードウェアを購入することにより、コストがかかる。
【０００９】
このように、仮想マシンで動作する通信制御ソフトウェアの処理能力に応じて、ライセンス量を管理することは容易ではない。
【００１０】
１つの側面では、本発明は、処理能力に応じてライセンス量を管理する情報処理装置、ライセンス管理プログラム、及び、ライセンス管理方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
第１の態様によれば、仮想マシンの起動に応じて、前記仮想マシンが第１のソフトウェアを実行する際の、処理能力に関する性能値を測定する第２のソフトウェアのインストールと、前記第２のソフトウェアの実行とを、前記仮想マシンに指示する第１の指示部と、前記実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第１のソフトウェアのライセンス量を決定する決定部と、前記ライセンス量に応じた前記第１のソフトウェアのインストールを、前記仮想マシンに指示する第２の指示部と、を有する。
【発明の効果】
【００１２】
１つの側面では、処理能力に応じてライセンス量を管理する。
【図面の簡単な説明】
【００１３】
【図１】ＮＦＶ（Network Functions Virtualisation：ＮＦＶ）アーキテクチャを説明する図である。
【図２】通信機器ベンダーによるソフトウェアの提供例を説明する図である。
【図３】図２の（Ｂ）の例における、通信制御ソフトウェア４００の処理能力を測定する方法の別の例を模式的に説明する図である。
【図４】本実施の形態における、通信制御ソフトウェア４００のライセンス量の管理処理を模式的に説明する図である。
【図５】本実施の形態における情報処理システムの構成の一例を説明する図である。
【図６】図５に示した、ライセンス管理サーバ２００のハードウェア構成図である。
【図７】図６に示した利用ライセンス管理データ２３０の一例を示す図である。
【図８】図６に示したライセンス管理プログラム２２０のソフトウェアブロック図である。
【図９】図５に示したライセンス利用サーバ（物理マシン）１０ａのハードウェア構成を説明する図である。
【図１０】図９に示した、通信制御ソフトウェア４００のソフトウェアブロックを説明する図である。
【図１１】図７に示した、管理サーバのライセンス管理プログラム２２０の処理の流れを説明する図である。
【図１２】図１１で説明した、ライセンス管理プログラム２２０の処理の流れを説明するシーケンス図である。
【図１３】図１１、図１２で説明した工程Ｓ１の処理の詳細を説明するフローチャート図である。
【図１４】図１１、図１２で説明した工程Ｓ２、Ｓ３の処理を模式的に説明する図である。
【図１５】図１４で説明した、ライセンス管理プログラム２２０の処理の流れを説明するシーケンス図である。
【図１６】図１１、図１２で説明した工程Ｓ４に示す、ライセンス量の制御処理の詳細を説明するフローチャート図である。
【図１７】ライセンス量の制御処理の第１の例を模式的に説明する図である。
【図１８】図１７で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。
【図１９】ライセンス量の制御処理の第２の例を模式的に説明する図である。
【図２０】図１９で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。
【図２１】ライセンス量の制御処理の第３の例を模式的に説明する図である。
【図２２】図２１で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。
【図２３】ライセンス量の制御処理の第４の例を模式的に説明する図である。
【図２４】図２３で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。
【図２５】ライセンス量の制御処理の第５の例を模式的に説明する図である。
【図２６】図２５で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。
【図２７】ライセンス量の制御処理の第６の例を模式的に説明する図である。
【図２８】図２７で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。
【図２９】仮想マシン１００で動作する、ベンチマークテストプログラム４０３の処理の流れを説明する図である。
【図３０】図２９のフローチャート図で説明した処理の結果を示す、呼量（ＢＨＣＡ）とＣＰＵ使用率との対応関係を示す図である。
【図３１】図１０で説明した、通信制御ソフトウェア４００のライセンス制御処理の流れを説明するフローチャート図である。
【図３２】仮想マシン１００の再起動の際の、通信制御ソフトウェア４００のライセンス管理処理の流れを説明するフローチャート図である。
【図３３】通信サービス制御モジュール４１１のソフトウェアブロック図である。
【図３４】図３３に示した、通信サービス制御モジュール４１１の処理の流れを説明するシーケンス図である。
【図３５】図３４で説明した通信サービス制御モジュール４１１の信号受信時の処理を説明するフローチャート図である。
【発明を実施するための形態】
【００１４】
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１５】
［ＮＦＶアーキテクチャ］
図１は、ＮＦＶ（Network Functions Virtualisation：ＮＦＶ）アーキテクチャを説明する図である。ＮＦＶアーキテクチャは、ネットワークを制御する通信機器の機能を、ソフトウェアとして実装し、仮想化されたサーバ（仮想マシン）上で実行するアーキテクチャである。即ち、ＮＦＶアーキテクチャは、通信機器の機能を仮想化基盤にしたがって実行する。
【００１６】
図１によると、ＮＦＶアーキテクチャは、ＶＮＦ（Virtual Network Function：ＶＮＦ）４００、ＮＦＶ基盤３００、NFV Management and Orchestration５００を有する。
【００１７】
ＮＦＶ基盤３００は、仮想化基盤を構築する物理リソースである。ＮＦＶ基盤３００は、例えば、仮想マシン１００、仮想ストレージ３０１、仮想ネットワーク３０２、仮想化層３０３、及び、ハードウェア資源１４０を含む。ハードウェア資源１４０は、例えば、物理マシン１０、物理ストレージ１６０、及び、物理ネットワーク１７０を含む。仮想化層３０３は、例えば、ハイパーバイザ（hypervisor）等である。仮想化層３０３は、ハードウェア資源１４０に基づいて、仮想化基盤（仮想マシン１００、仮想ストレージ３０１、仮想ネットワーク３０２）を構築する。
【００１８】
ＶＮＦ４００は、通信機能を実現する各ソフトウェア４００ａ〜４００ｄを示す。ＶＮＦ４００は、例えば、携帯コア網における接続制御を行うＩＢＣＦ（Interconnection Border Control Function：ＩＢＣＦ）、携帯コア網における制御系ノードであるＭＭＥ（Mobility Management Entity）等の機能を実行するソフトウェアである。または、ＶＮＦ４００は、例えば、パケットを伝送するノードであるＳ-ＧＷ（Serving Gateway）や、Ｐ-ＧＷ（PDN Gateway）等の機能を実行するソフトウェアである。以下、本実施の形態では、ＶＮＦ４００を、通信制御ソフトウェア４００と称する。
【００１９】
仮想マシン１００は、通信制御ソフトウェア４００をインストールし、仮想ストレージ３０１や仮想ネットワーク３０２を使用して、通信機器の機能を実現する。また、NFV Management and Orchestration５００は、ＮＦＶ基盤３００に対応する物理リソース、及び、ＶＮＦ４００に対応するソフトウェアのリソースの管理や調整等を行う。
【００２０】
図１に示すように、通信機器の機能をＮＦＶ基盤３００にしたがって仮想化することにより、複数の通信機器の機能を、１つの物理マシン１０にしたがって実現可能になる。ハードウェア資源１４０の集約、及び、高密度化を進めることにより、管理コストや消費電力の低減を実現可能になる。また、特定の機能に対する需要の増減や、構成の変更に柔軟に対応することが可能になる。
【００２１】
［通信制御ソフトウェアのライセンス］
ここで、本実施の形態における、図１で説明した通信制御ソフトウェア（ＶＮＦ）４００のライセンスの提供方法を説明する。本実施の形態では、通信制御ソフトウェア４００が、ＩＢＣＦの機能を実行するソフトウェアである場合を例示する。
【００２２】
ライセンスの提供方法には、例えば、通信制御ソフトウェア４００が動作する際に、所定の条件量に制限をかける方式等がある。所定の条件量は、例えば、利用可能な加入者情報のデータ数や、通話に利用する回線数、システムで同時利用できるセッション数、処理可能な呼量（Busy Hour Call Attempts：ＢＨＣＡ）等である。
【００２３】
呼量は、電話等の回線数の見積もりの際に使用する用語である。呼は、１回の通話を示し、呼量は、呼の延べ利用時間を単位時間で除算した値を示す。本実施の形態では、通信制御ソフトウェア４００の実行中に、ライセンス量に応じて、処理可能な呼量（ＢＨＣＡ）に制限をかける場合を例示する。
【００２４】
［通信制御ソフトウェア４００の提供例］
次に、図２にしたがって、通信サービス事業者に対する、図１に示した通信制御ソフトウェア４００の提供例を説明する。
【００２５】
図２は、通信機器ベンダーによるソフトウェアの提供例を説明する図である。図２において、図１で示したものと同一のものは、同一の記号で示す。図２の（Ａ）は、通信機器ベンダーがハードウェア資源１４０と通信制御ソフトウェア４００とを組み合わせて提供する例を示す。一方、図２の（Ｂ）は、図１に示したＮＦＶアーキテクチャに基づく通信制御ソフトウェア４００の提供例を示し、通信機器ベンダーが通信制御ソフトウェア４００のみを提供する例を示す。
【００２６】
図２の（Ａ）の例では、通信機器ベンダーは、通信制御ソフトウェア４００を、ハードウェア資源１４０、ミドルウェア４０１、オペレーションシステム４０２等と組み合わせて、通信サービス事業者に提供する。即ち、通信機器ベンダーは、ハードウェア資源１４０を選定し、選定したハードウェア資源１４０と通信制御ソフトウェア４００とを組み合わせて通信サービス事業者に提供する。
【００２７】
したがって、図２の（Ａ）によると、通信機器ベンダーは、通信制御ソフトウェア４００が動作するハードウェア資源１４０との組合せに基づいて、予め、通信制御ソフトウェア４００の処理能力（呼量：ＢＨＣＡ）を測定できる。通信機器ベンダーは、測定した処理能力に応じて、通信制御ソフトウェア４００のライセンス量を決定する。
【００２８】
一方、図２の（Ｂ）の例によると、通信制御ソフトウェア４００は、ＮＦＶ基盤３００上で動作する。ＮＦＶ基盤３００によると、１つの物理マシン１０が、複数の通信機器の機能を実現する場合がある。したがって、図２の（Ｂ）の場合、ＮＦＶ基盤３００を構築するハードウェア資源１４０を、通信サービス事業者が選定するケースが多い。または、通信サービス事業者が基盤提供サービスを利用する場合、基盤提供サービス事業者等が、ハードウェア資源１４０を選定する。
【００２９】
したがって、図２の（Ｂ）の例によると、通信機器ベンダーは、通信制御ソフトウェア４００のみを、通信サービス事業者に提供する。この場合、ハードウェア資源１４０と通信制御ソフトウェア４００との組合せに応じた処理能力（呼量：ＢＨＣＡ）を測定できない。したがって、通信機器ベンダーは、通信制御ソフトウェア４００のライセンス量を適切な値に決定できない。
【００３０】
仮に、図２の（Ｂ）の例において、ライセンス量を適切に決定しようとする場合、例えば、通信機器ベンダーは、通信サービス事業者が用意するハードウェア資源１４０と同一のハードウェア資源を購入する。そして、通信機器ベンダーは、購入したハードウェア資源１４０に仮想マシン１００を構築し、通信制御ソフトウェア４００を実行して処理能力を測定する。これにより、通信機器ベンダーは、ライセンス量を適切に決定できるものの、ハードウェア資源１４０を購入することによるコストが生じる。
【００３１】
また、図２の（Ｂ）の例によると、仮想マシン１００では、通信制御ソフトウェア４００に加え、仮想ルータやセキュリティソフトウェア等の他のソフトウェアが動作する場合がある。他のソフトウェアの動作状況に応じて、仮想マシン１００の負荷状態やリソースの使用状況が変化することにより、通信制御ソフトウェア４００の処理能力も変化する場合がある。したがって、実際の運用環境における通信制御ソフトウェア４００の処理能力を測定することは容易ではない。
【００３２】
図３は、図２の（Ｂ）の例における、通信制御ソフトウェア４００の処理能力を測定する別の例を模式的に説明する図である。図３は、通信制御ソフトウェア４００が動作する仮想マシン１００と、通信疑似装置６００とを示す。通信疑似装置６００は、通信機器ベンダーが用意する情報処理装置である。また、通信疑似装置６００は、ＩＰ（Internet Protocol）ネットワーク７００を介して、通信サービス事業者の実際の運用環境における仮想マシン１００と接続する。
【００３３】
通信疑似装置６００は、処理能力を測定するために、イベント（制御信号）を、ＩＰネットワーク７００を介して、通信制御ソフトウェア４００に出力する。仮想マシン１００で動作する通信制御ソフトウェア４００は、通信疑似装置６００から受信したイベントに応答して処理を行うことによって、処理能力を測定する。これにより、通信機器ベンダーは、測定した処理能力に基づいて、ライセンス量を適切に決定する。
【００３４】
ただし、図３の例によると、通信機器ベンダーは、通信疑似装置６００及びＩＰネットワーク７００を構築する必要が生じ、コストがかかる。また、仮想マシン１００と、運用環境の外部の通信疑似装置６００とを接続するＩＰネットワーク７００を構築することにより、ネットワークの構成が複雑化するとともに、ネットワークにノイズが生じる場合がある。
【００３５】
このように、ＮＦＶ基盤３００で動作する通信制御ソフトウェア４００の処理能力を、適切に測定することは容易ではない。
【００３６】
なお、図２の（Ａ）の例では、通信機器の機能を専用の情報処理装置にしたがって実現するケースが多いのに対し、図２の（Ｂ）の例では、ＮＦＶ基盤３００を構成する物理マシン１０は汎用的な情報処理装置である場合が多い。汎用的な情報処理装置は、専用の情報処理装置に対して、交換頻度が高い傾向にある。情報処理装置の交換に伴い、ハードウェア資源１４０が変化し処理能力も変化する。したがって、図２の（Ｂ）の例によると、図２の（Ａ）の例に対して、通信制御ソフトウェア４００の処理能力の変化が生じ易い傾向にある。
【００３７】
また、図２の（Ｂ）の例によると、マイグレーションの発生に伴い、通信制御ソフトウェア４００が動作する仮想マシン１００が、別のハードウェア資源１４０に移行する場合がある。これにより、仮想マシン１００に割り当てられるハードウェア資源１４０が変化し、通信制御ソフトウェア４００の処理能力が変化する場合がある。
【００３８】
［本実施の形態の概要］
したがって、本実施の形態におけるライセンス管理サーバ２００は、仮想マシン１００の起動に応じて、第２のソフトウェアのインストールと、第２のソフトウェアの実行とを、仮想マシン１００に指示する。第２のソフトウェアは、仮想マシン１００が第１のソフトウェア（通信制御ソフトウェア４００）を実行する際の、処理能力に関する性能値を測定するソフトウェア（ベンチマークテストプログラムともいう）である。
【００３９】
また、ライセンス管理サーバ２００は、仮想マシン１００による第２のソフトウェアの実行によって測定された性能値に基づいて、仮想マシン１００における第１のソフトウェアのライセンス量を決定する。そして、ライセンス管理サーバ２００は、決定したライセンス量に応じた第１のソフトウェア（通信制御ソフトウェア４００）のインストールを、仮想マシン１００に指示する。
【００４０】
図４は、本実施の形態における、通信制御ソフトウェア４００のライセンス量の管理処理を模式的に説明する図である。図４において、図１、図２で示したものと同一のものは、同一の記号で示す。
【００４１】
図４に示すライセンス管理サーバ２００は、仮想マシン１００と接続し、仮想マシン１００で動作する通信制御ソフトウェア４００のライセンス量を管理する。また、図４の例において、仮想マシン１００に割り当てられたハードウェア資源１４０は、例えば、値「ＣＰＵ：１コア、メモリ：１Ｇ、ディスク容量：１００Ｇ」である。
【００４２】
ライセンス管理サーバ２００は、仮想マシン１００の起動に応じて、仮想マシン１００に、通信制御ソフトウェア４００の処理能力を測定するベンチマークテストプログラムのインストール、及び、その実行を指示する。仮想マシン１００は、指示に応じて、ベンチマークテストプログラムをインストールし実行することにより、通信制御ソフトウェア４００の性能値（処理可能な呼量）を測定する。本実施の形態において、ベンチマークテストプログラムは、処理能力の基準値を示す呼量をシミュレートすることによって、仮想マシン１００で処理可能な呼量を、性能値として測定する。
【００４３】
ライセンス管理サーバ２００は、仮想マシン１００から性能値を受信すると、性能値に基づいて、通信制御ソフトウェア４００のライセンス量（測定ライセンス量ともいう）を決定する。そして、ライセンス管理サーバ２００は、測定ライセンス量に応じた通信制御ソフトウェア４００のインストールを、仮想マシン１００に指示する。これにより、通信制御ソフトウェア４００は、測定ライセンス量に対応する呼量の範囲内で動作する。
【００４４】
このように、ライセンス管理サーバ２００は、通信制御ソフトウェア４００のみを提供する場合であっても、ライセンス量を、ハードウェア資源１４０と通信制御ソフトウェア４００との組合せに基づいた処理能力に応じた値に決定できる。
【００４５】
これにより、ライセンス管理サーバ２００は、実際の処理能力に応じた適切なライセンス量に基づいて、通信制御ソフトウェア４００の処理を管理できる。また、ライセンス管理サーバ２００は、仮想マシン１００に割り当てられたハードウェア資源１４０に応じて、仮想マシン１００毎に、ライセンス量を適切な値に設定できる。
【００４６】
また、ライセンス管理サーバ２００は、処理能力に基づくライセンス量に応じて、通信制御ソフトウェア４００の処理を管理する。これにより、運用時に、通信制御ソフトウェア４００が、購入したライセンス量に応じた処理能力を実現できないケースや、実際の処理能力に対して購入したライセンス量が少なく、ハードウェア資源１４０を有効活用できないケースを回避可能になる。即ち、ライセンス管理プログラム２２０は、ライセンス量に応じた処理能力（呼量）を保証できるとともに、ライセンス量を、ハードウェア資源１４０を効率的に利用可能な値に設定できる。
【００４７】
また、通信制御ソフトウェア４００が仮想マシン１００で動作する場合、マイグレーションやサービスの拡縮等に応じて、仮想マシン１００を構築するハードウェア資源１４０が生じる場合がある。本実施の形態におけるライセンス管理サーバ２００は、性能値を測定し、測定した性能値に応じてライセンス量を決定する。これにより、ハードウェア資源１４０の変化に伴い通信制御ソフトウェア４００の性能値が変化した場合であっても、変化に応じた処理能力に応じたライセンス量に基づいて、通信制御ソフトウェア４００の処理を管理できる。
【００４８】
また、通信機器ベンダーは、ライセンス量を決定するために、通信サービス事業者が使用するハードウェアと同一のハードウェアを用意する必要がない。また、通信機器ベンダーは、図３に示したような通信疑似装置６００及びＩＰネットワーク７００を用意する必要がない。したがって、ライセンス量を決定するためのコストや工数を抑えることが可能になる。
【００４９】
なお、ベンチマークテストプログラムは、通信制御ソフトウェア４００と同一のソフトウェアであってもよいし、通信制御ソフトウェア４００が有するサブルーチンの一部のサブルーチンを有するソフトウェアであってもよい。本実施の形態において、当該一部のサブルーチンは、例えば、通話の開始処理や終了処理に関するサブルーチンを示す。
【００５０】
次に、図５にしたがって、本実施の形態における情報処理システムの構成の一例を説明する。また、図６〜図１０にしたがって、情報処理システムを構成する、ライセンス管理サーバ２００及びライセンス利用サーバの、ハードウェア構成及びソフトウェアブロック図を説明する。
【００５１】
［情報処理システム］
図５は、本実施の形態における情報処理システムの構成の一例を説明する図である。図５に示す情報処理システムは、ライセンス管理サーバ２００（図４）と、２つのライセンス利用サーバ１０ａ、１０ｂ（ライセンス利用サーバ１０、物理マシン１０ともいう、図４）とを有する。
【００５２】
図５の例において、ライセンス利用サーバ１０ａは、３つの仮想マシン１００ａ〜１００ｃを実行し、ライセンス利用サーバ１０ｂは１つの仮想マシン１００ｄを実行する。ライセンス管理サーバ２００は、各ライセンス利用サーバ１０ａ、１０ｂの、仮想マシン１００ａ〜１００ｄ（仮想マシン１００ともいう）のそれぞれと接続する。
【００５３】
ライセンス管理サーバ２００は、通信サービス事業者が購入したライセンス量（以下、基本ライセンス量と称する）や、各仮想マシン１００に払い出されたライセンス量（以下、利用ライセンス量と称する）を管理する。図５の例によると、基本ライセンス量は、値「３００万ＢＨＣＡ」である。
【００５４】
また、図５の例によると、ライセンス利用サーバ１０ａが備えるハードウェアのスペックは、値「ＣＰＵ：２０コア、メモリ：１０Ｇ、ディスク容量：１０００Ｇ」である。各仮想マシン１００ａ〜１００ｃに割り当てられるハードウェア資源１４０は、仮想マシン１００毎に異なる。
【００５５】
図５の例によると、仮想マシン１００ａに割り当てられたハードウェア資源１４０は値「ＣＰＵ：１コア、メモリ：１Ｇ、ディスク容量：１００Ｇ」である。また、仮想マシン１００ｂに割り当てられたハードウェア資源１４０は値「ＣＰＵ：４コア、メモリ：４Ｇ、ディスク容量：４００Ｇ」である。また、仮想マシン１００ｃに割り当てられたハードウェア資源１４０は値「ＣＰＵ：１０コア、メモリ：１０Ｇ、ディスク容量：４００Ｇ」である。
【００５６】
また、図５の例によると、ライセンス利用サーバ１０ｂが備えるハードウェアのスペックは、値「ＣＰＵ：１０コア、メモリ：１０Ｇ、ディスク容量：５００Ｇ」である。また、仮想マシン１００ｄに割り当てられたハードウェア資源１４０は、値「ＣＰＵ：５コア、メモリ：５Ｇ、ディスク容量：３００Ｇ」である。
【００５７】
図５に示す仮想マシン１００ａ〜１００ｄで通信制御ソフトウェア４００を実行する場合、各仮想マシン１００のハードウェア資源１４０が異なることから、各仮想マシン１００における通信制御ソフトウェア４００の処理能力も異なる。なお、仮に、ハードウェア資源１４０が同一であっても、仮想マシン１００で動作する他のソフトウェアや、通信処理の負荷等に応じて、処理能力が異なる場合がある。
【００５８】
［ライセンス管理サーバ２００のハードウェア構成］
図６は、図５に示した、ライセンス管理サーバ２００のハードウェア構成図である。ライセンス管理サーバ２００は、例えば、ＣＰＵ（Central Processing Unit：ＣＰＵ）２０１、メインメモリ２１０や補助記憶装置２１１等を備えるメモリ２０２、通信インタフェース部２０３、外部インタフェース部２０４を有する。各部は、バス２０６を介して相互に接続する。
【００５９】
ＣＰＵ２０１は、バス２０６を介してメモリ２０２等と接続するとともに、ライセンス管理サーバ２００全体の制御を行う。通信インタフェース部２０３は、イントラネット等を介して、ライセンス利用サーバ１０（図５）と接続し、情報の送受信を行う。ＲＡＭ（Random Access Memory：ＲＡＭ）等を示すメインメモリ２１０は、ＣＰＵ２０１が処理を行うデータ等を記憶する。また、外部インタフェース部２０４は、ストレージ装置等の外部の機器（図示せず）と接続する。
【００６０】
補助記憶装置２１１は、ＣＰＵ２０１が実行するオペレーションシステムのプログラムを格納する領域（図示せず）を備える。また、補助記憶装置２１１は、ライセンス管理プログラム格納領域２２０、利用ライセンス管理データ格納領域２３０、基本ライセンス管理データ格納領域２３０を有する。また、補助記憶装置２１１は、通信制御ソフトウェア格納領域４００、ベンチマークテストプログラム格納領域４０３を有する。補助記憶装置２１１は、ＨＤＤ（Hard disk drive：ＨＤＤ）、不揮発性半導体メモリ等を示す。
【００６１】
ライセンス管理プログラム格納領域２２０のライセンス管理プログラム（以下、ライセンス管理プログラム２２０と称する）は、ＣＰＵ２０１の実行によって、ライセンス管理プログラム２２０の処理を実現する。ライセンス管理プログラム２２０の処理の詳細は、図８にしたがって後述する。
【００６２】
利用ライセンス管理データ格納領域２３０の利用ライセンス管理データ（以下、利用ライセンス管理データ２３０と称する）は、各仮想マシン１００の、通信制御ソフトウェア４００の利用ライセンス量を管理するテーブルである。利用ライセンス管理データ２３０の詳細は、図７にしたがって後述する。
【００６３】
基本ライセンス管理データ格納領域２４０の基本ライセンス管理データ（以下、基本ライセンス管理データ２４０と称する）は、通信サービス事業者（顧客）が購入した、合計の基本ライセンス量を管理するデータである。本実施の形態における基本ライセンス管理データ２４０は、基本ライセンス量が値「３００万ＢＨＣＡ」である旨の情報を有する。
【００６４】
通信制御ソフトウェア格納領域４００の通信制御ソフトウェア（以下、通信制御ソフトウェア４００と称する）は、ＣＰＵ２０１の実行によって、図１で前述した通信制御ソフトウェア４００の処理を実現する。ベンチマークテストプログラム格納領域４０３のベンチマークテストプログラム（以下、ベンチマークテストプログラム４０３と称する）は、ＣＰＵ２０１の実行によって、ベンチマークテストプログラム４０３の処理を実現する。
【００６５】
［利用ライセンス管理データ２３０］
図７は、図６に示した利用ライセンス管理データ２３０の一例を示す図である。利用ライセンス管理データ２３０は、仮想マシン毎に、利用ライセンス量やハードウェア資源等を管理するデータである。図７に示す利用ライセンス管理データ２３０は、図５に示した仮想マシン１００ａに関するデータを示す。
【００６６】
利用ライセンス管理データ２３０は、例えば、登録名称、ＩＰアドレス、ハードウェア情報（ＣＰＵ、メモリ、ディスク容量）、測定ライセンス量、ライセンスの利用状態、利用ライセンス量等の項目の情報を有する。
【００６７】
登録名称は、仮想マシン１００ａの登録名称を示し、仮想マシン１００ａを識別する情報である。図７の例によると、仮想マシン１００ａの登録名称は「サーバＡ」である。ＩＰアドレスは、ライセンス管理サーバ２００がアクセスする、仮想マシン１００ａのＩＰアドレスを示す。図７の例によると、仮想マシン１００ａのＩＰアドレスは、アドレス「192.168.1.10」である。
【００６８】
ハードウェア情報（ＣＰＵ、メモリ、ディスク容量）は、仮想マシン１００ａに割り当てられたハードウェア資源の情報を示し、例えば、ＣＰＵコアの数、メモリの容量、及び、ディスク容量等の情報を含む。図５で前述したとおり、仮想マシン１００ａには、例えば、１つのＣＰＵコア、１ＧＢｙｔｅのメモリ、１００ＧＢｙｔｅのディスク容量が割り当てられる。
【００６９】
測定ライセンス量（システム適用ライセンス量ともいう）は、仮想マシン１００ａでベンチマークテストプログラム４０３を実行して測定した処理能力（呼量）に対応するライセンス量を示す。図７の例によると、仮想マシン１００ａの測定ライセンス量は、「２００万ＢＨＣＡ」である。
【００７０】
ライセンスの利用状態は、仮想マシン１００ａがライセンスを利用中の状態であるか否かを示す。利用ライセンス量は、測定ライセンス量のうち、仮想マシン１００に実際に払い出されたライセンス量を示す。図７の例によると、払い出されたライセンス量は、測定ライセンス量「２００万ＢＨＣＡ」のうち「１００万ＢＨＣＡ」である。
【００７１】
［ライセンス管理サーバ２００のソフトウェアブロック］
図８は、図６に示したライセンス管理プログラム２２０のソフトウェアブロック図である。図８に示すライセンス管理プログラム２２０は、データ管理モジュール３１０、制御モジュール３２０、保守制御モジュール３３０、ファイル管理モジュール３４０を有する。なお、ライセンス管理プログラム２２０の処理の詳細は、図１１〜図２８にしたがって後述する。
【００７２】
データ管理モジュール３１０は、基本ライセンスデータ管理モジュール３１１、及び、利用ライセンスデータ管理モジュール３１２を有する。基本ライセンスデータ管理モジュール３１１は、顧客毎に、顧客と契約したライセンス量を管理し、基本ライセンス管理データ２４０に記憶する。本実施の形態では、基本ライセンス管理データ２４０は、顧客が契約したライセンス量が、「３００万ＢＨＣＡ」である旨の情報を有する。利用ライセンスデータ管理モジュール３１２は、仮想マシン毎に、図７に示した利用ライセンス管理データ２３０の情報を管理する。
【００７３】
ファイル管理モジュール３４０は、ベンチマーク制御ソフト管理モジュール３４１と、通信制御ソフト管理モジュール３４２とを有する。ベンチマーク制御ソフト管理モジュール３４１は、ベンチマークテストプログラム４０３のインストールを制御する。通信制御ソフト管理モジュール３４２は、通信制御ソフトウェア４００のインストールを制御する。
【００７４】
制御モジュール３２０のライセンス制御モジュール３２１は、基本ライセンスデータ管理モジュール３１１、及び、利用ライセンスデータ管理モジュール３１２を介して、通信制御ソフトウェア４００のライセンス量を管理する。また、ライセンス制御モジュール３２１は、ベンチマーク制御ソフト管理モジュール３４１、及び、通信制御ソフト管理モジュール３４２を介して、ベンチマークテストプログラム４０３及び通信制御ソフトウェア４００のインストールを制御する。
【００７５】
保守制御モジュール３３０のコマンド制御モジュール３３１は、コマンド入力画面等のユーザインタフェースを介して、保守者５０からの指示や情報の登録を受け付け、ライセンス制御モジュール３２１に通知する。また、コマンド制御モジュール３３１は、指示の結果をユーザインタフェースに出力する。
【００７６】
［ライセンス利用サーバ１０のハードウェア構成］
図９は、図５に示したライセンス利用サーバ（物理マシン）１０ａのハードウェア構成を説明する図である。なお、ライセンス利用サーバ１０ｂも、ライセンス利用サーバ１０ａと同様の構成を有する。
【００７７】
ライセンス利用サーバ１０ａは、例えば、ＣＰＵ（Central Processing Unit：ＣＰＵ）１０１、メインメモリ１１０や補助記憶装置１１１等を備えるメモリ１０２、通信インタフェース部１０３、外部インタフェース部１０４を有する。各部は、バス１０６を介して相互に接続する。
【００７８】
ＣＰＵ１０１は、バス１０６を介してメモリ１０２等と接続するとともに、ライセンス利用サーバ１０ａ全体の制御を行う。通信インタフェース部（図１の物理ネットワーク１７０に対応）１０３は、イントラネット等を介して、他の装置と接続し、データの送受信を行う。ＲＡＭ（Random Access Memory：ＲＡＭ）等を示すメインメモリ１１０は、ＣＰＵ１０１が処理を行うデータ等を記憶する。また、外部インタフェース部１０４は、ストレージ装置（図１の物理ストレージ１６０に対応）等の機器と接続する。
【００７９】
補助記憶装置１１１は、ＣＰＵ１０１が処理を行うデータ等を記憶する。また、補助記憶装置１１１は、ハイパーバイザプログラム格納領域１２０、仮想マシン１００ａのデータ格納領域１３０ａ、仮想マシン１００ｂのデータ格納領域１３１ｂ、仮想マシン１００ｃのデータ格納領域１３０ｃを備える。また、補助記憶装置１１１は、仮想マシン１００ａの通信制御ソフトウェア格納領域４００ａ、仮想マシン１００ｂの通信制御ソフトウェア格納領域４００ｂ、仮想マシン１００ｃの通信制御ソフトウェア格納領域４００ｃを備える。補助記憶装置１１１は、ＨＤＤ（Hard disk drive：ＨＤＤ）、不揮発性半導体メモリ等を示す。
【００８０】
ハイパーバイザプログラム格納領域１２０のハイパーバイザプログラム（以下、ハイパーバイザプログラム１２０と称する）は、ＣＰＵ１０１の実行によって、本実施の形態例におけるハイパーバイザ（図１の仮想化層３０３に対応）の処理を実現する。
【００８１】
仮想マシン１００ａのデータ格納領域の仮想マシン１００ａデータ（以下、仮想マシン１００ａデータ１３０ａと称する）は、ハイパーバイザプログラム１２０によって参照または更新され、仮想マシン１００ａとして動作する。同様にして、データ格納領域１３０ｂの仮想マシン１００ｂのデータは仮想マシン１００ｂとして動作し、データ格納領域１３０ｃの仮想マシン１００ｃのデータは仮想マシン１００ｃとして動作する。
【００８２】
通信制御ソフトウェア格納領域４００ａの通信制御ソフトウェア（以下、通信制御ソフトウェア４００ａ）は、仮想マシン１００ａにしたがって、通信制御ソフトウェア４００ａの処理を実現する。本実施の形態における通信制御ソフトウェア４００ａの処理の詳細は、図１０にしたがって後述する。
【００８３】
同様にして、通信制御ソフトウェア格納領域４００ｂの通信制御ソフトウェアは、仮想マシン１００ｂにしたがって、通信制御ソフトウェア４００ｂの処理を実現する。また、通信制御ソフトウェア格納領域４００ｃの通信制御ソフトウェアは、仮想マシン１００ｃにしたがって、通信制御ソフトウェア４００ｃの処理を実現する。
【００８４】
［ライセンス利用サーバ１０のソフトウェアブロック］
図１０は、図９に示した、通信制御ソフトウェア４００のソフトウェアブロックを説明する図である。図１０に示す通信制御ソフトウェア４００は、アプリケーション制御モジュール４１０、ライセンス管理モジュール４２０、通信制御モジュール４３０、再開制御モジュール４４０を有する。各モジュール４１０〜４４０は互いに接続する。通信制御ソフトウェア４００の処理の詳細は、図３１〜図３５にしたがって後述する。
【００８５】
アプリケーション制御モジュール４１０は、通信サービス制御モジュール４１１、通信状態制御モジュール４１２、規制制御モジュール４１３を有する。通信サービス制御モジュール４１１は、通信制御ソフトウェア４００が提供する通話サービスを制御する。通信状態制御モジュール４１２は、他の仮想マシン１００や装置との通信状態を制御する。規制制御モジュール４１３は、通信制御ソフトウェア４００に払い出されたライセンス量に応じて、通話サービスの信号を規制する。
【００８６】
ライセンス管理モジュール４２０のライセンス制御モジュール４２１は、通信制御ソフトウェア４００が、払い出されたライセンス量の範囲内で動作しているか否かを判定する。また、ライセンス制御モジュール４２１は、払い出されたライセンス量を超えて動作する場合に、信号の規制を規制制御モジュール４１３に指示する。
【００８７】
通信制御モジュール４３０の接続通信制御モジュール４３１は、他の仮想マシン１００や装置との接続を制御するとともに、通信状態制御モジュール４１２に通信状態を通知する。再開制御モジュール４４０の再開処理制御モジュール４４１は、仮想マシン１００の再起動に応じて、割り当てられたハードウェア資源が変化している場合に、性能値を再測定する。
【００８８】
［ライセンス管理サーバ２００の処理］
次に、図１１、図１２にしたがって、図８で説明した、ライセンス管理サーバ２００のライセンス管理プログラム２２０の処理の流れを説明する。
【００８９】
図１１は、図８に示した、管理サーバのライセンス管理プログラム２２０の処理の流れを説明する図である。図１１において、図１、図２、図５で示したものと同一のものは、同一の記号で示す。図１１は、仮想マシン１００ａの通信制御ソフトウェア４００のライセンス量を管理する場合を例示する。ライセンス管理プログラム２２０の処理は、４つの工程Ｓ１〜Ｓ４を有する。
【００９０】
Ｓ１：ライセンス管理プログラム２２０は、基本ライセンス量の登録を受け付け、基本ライセンス管理データ２４０に記憶する。本実施の形態において、基本ライセンス量は、値「３００万ＢＨＣＡ」である。
【００９１】
具体的に、ライセンス管理プログラム２２０のコマンド制御モジュール３３１は、ユーザインタフェース等を介して基本ライセンス量の登録を受け付け、基本ライセンスデータ管理モジュール３１１に通知する。基本ライセンスデータ管理モジュール３１１は、基本ライセンス量を基本ライセンス管理データ２４０に記憶する。工程Ｓ１の処理の詳細は、図１３にしたがって後述する。
【００９２】
Ｓ２：ライセンス管理プログラム２２０は、仮想マシン１００ａに割り当てられたハードウェア資源の登録を受け付け、利用ライセンス管理データ２３０（図７）に記憶する。
【００９３】
具体的に、コマンド制御モジュール３３１は、仮想マシン１００ａに割り当てられたハードウェア資源の情報の登録を受け付け、ライセンス制御モジュール３２１を介して、利用ライセンスデータ管理モジュール３１２に通知する。利用ライセンスデータ管理モジュール３１２は、通知された情報に基づいて、利用ライセンス管理データ２３０に記憶する。
【００９４】
Ｓ３：ライセンス管理プログラム２２０は、仮想マシン１００ａに、ベンチマークテストプログラム４０３のインストール、及び、実行を指示する。また、ライセンス管理プログラム２２０は、ベンチマークテストプログラム４０３の実行結果を示す性能値に基づいて、仮想マシン１００ａで動作する通信制御ソフトウェア４００のライセンス量（測定ライセンス量）を決定する。
【００９５】
具体的に、ベンチマーク制御ソフト管理モジュール３４１は、仮想マシン１００ａに、ベンチマークテストプログラム４０３のインストール及び実行の指示を出力する。ベンチマークテストプログラム４０３は、仮想マシン１００における処理能力（呼量）を示す性能値を測定し、ライセンス管理プログラム２２０に通知する。
【００９６】
性能値は、仮想マシン１００に割り当てられるハードウェア資源に応じて変化する。したがって、実際の運用環境でベンチマークテストプログラム４０３を実行して性能値を測定することによって、ハードウェア資源１４０と通信制御ソフトウェア４００との組合せに基づく性能値を正確に測定可能になる。
【００９７】
ライセンス制御モジュール３２１は、受信した性能値（例えば、「２０万ＢＨＣＡ」）に応じたライセンス量（「２０万ＢＨＣＡ」）を、仮想マシン１００ａの測定ライセンス量として決定する。そして、ライセンス制御モジュール３２１は、利用ライセンスデータ管理モジュール３１２を介して、測定ライセンス量「２０万ＢＨＣＡ」を利用ライセンス管理データ２３０に記憶する。工程Ｓ２、Ｓ３の処理を、図１４にしたがって後述する。
【００９８】
Ｓ４：ライセンス管理プログラム２２０は、仮想マシン１００ａに、決定したライセンス量に応じた、通信制御ソフトウェア４００のインストールを指示する。例えば、ライセンス管理プログラム２２０は、決定したライセンス量を通信制御ソフトウェア４００に指定し、当該通信制御ソフトウェア４００のインストールを指示する。
【００９９】
具体的に、ライセンス制御モジュール３２１は、工程Ｓ１で登録された基本ライセンス量の範囲内で、決定したライセンス量の払い出し処理を行い、利用ライセンス量を決定する。ライセンス量の払い出し処理の詳細を、図１６にしたがって後述する。
【０１００】
そして、通信制御ソフト管理モジュール３４２は、利用ライセンス量を指定した、通信制御ソフトウェア４００のインストールを指示する。また、ライセンス制御モジュール３２１は、利用ライセンスデータ管理モジュール３１２を介して、利用ライセンス量及びライセンス量の利用状態を、利用ライセンス管理データ２３０（図７）に記憶する。
【０１０１】
このように、ライセンス管理サーバ２００は、通信制御ソフトウェア４００が仮想マシン１００で動作する場合であっても、ライセンス量を、ハードウェア資源１４０と通信制御ソフトウェア４００との組合せに基づいた処理能力に応じた値に設定できる。そして、ライセンス管理サーバ２００は、実際の処理能力に応じた適切なライセンス量に基づいて、通信制御ソフトウェア４００の処理を管理できる。
【０１０２】
また、仮想マシン１００は、利用ライセンス量の情報を有する通信制御ソフトウェア４００を、インストールして実行することにより、利用ライセンス量に応じた呼量の範囲内で処理を行う。利用ライセンス量に応じた処理の制御を、図３１にしたがって後述する。
【０１０３】
また、通信制御ソフトウェア４００は、仮想マシン１００の再起動の際に、割り当てられたハードウェア資源１４０に変更が生じた場合に、性能値を再測定する。これにより、ハードウェア資源１４０が変化した場合であっても、処理能力に応じたライセンス量に基づく、通信制御ソフトウェア４００の制御が可能になる。再起動の際の処理の詳細を、図３２にしたがって後述する。
【０１０４】
（シーケンス図）
図１２は、図１１で説明した、ライセンス管理プログラム２２０の処理の流れを説明するシーケンス図である。図１２に示すシーケンス図は、通信サービス事業者の保守者５０と、ライセンス管理サーバ２００のライセンス管理プログラム２２０と、仮想マシン１００との処理の流れを説明する。
【０１０５】
保守者５０は、ライセンス管理プログラム２２０に、基本ライセンスを登録する（Ｓ１）。次に、保守者５０は、ライセンス管理プログラム２２０に、仮想マシン１００に割り当てられたハードウェア資源の情報を登録する（Ｓ２）。
【０１０６】
そして、ライセンス管理プログラム２２０は、仮想マシン１００に対して、ベンチマークテストプログラム４０３のインストールを指示する（Ｓ３−１）。仮想マシン１００は、ベンチマークテストプログラム４０３のインストールを完了すると、完了した旨をライセンス管理プログラム２２０に通知する（Ｓ３−２）。
【０１０７】
そして、ライセンス管理プログラム２２０は、インストールの完了に応答して、仮想マシン１００に、ベンチマークテストプログラム４０３の実行を指示する（Ｓ３−３）。仮想マシン１００は、ベンチマークテストプログラム４０３の実行を完了すると、実行結果である性能値（ＢＨＣＡ）をライセンス管理プログラム２２０に通知する（Ｓ３−４）。
【０１０８】
保守者５０は、ライセンス量の利用開始指示を通知する（Ｓ４−１）。ライセンス管理プログラム２２０は、通知に応答して、ライセンス量を組み込んだ通信制御ソフトウェア４００のインストールを仮想マシン１００に指示する（Ｓ４−２）。通信制御ソフトウェア４００のインストールを完了すると、仮想マシン１００は当該完了をライセンス管理プログラム２２０に通知し（Ｓ４−３）、ライセンス管理プログラム２２０は、当該完了を保守者５０に通知する（Ｓ４−４）。
【０１０９】
［（図１１のＳ１）］
図１３は、図１１、図１２で説明した工程Ｓ１の処理の詳細を説明するフローチャート図である。基本ライセンス量を登録する前、登録状態は「未登録」を示す。
【０１１０】
Ｓ１１：コマンド制御モジュール３３１は、保守者５０から、購入した基本ライセンス量（本実施の形態では、「３００万ＢＨＣＡ」）の登録を受け付け、ライセンス制御モジュール３２１に通知する。
【０１１１】
Ｓ１２：ライセンス制御モジュール３２１は、基本ライセンスデータ管理モジュール３１１を介して、基本ライセンス管理データ２４０に、基本ライセンス量「３００万ＢＨＣＡ」を記憶する。
【０１１２】
Ｓ１３：コマンド制御モジュール３３１を介して、基本ライセンス量の追加購入の登録を受け付けた場合、ライセンス制御モジュール３２１は、基本ライセンス量を更新する。例えば、ライセンス量「１００万ＢＨＣＡ」の追加購入を受け付けた場合、基本ライセンスデータ管理モジュール３１１は、ライセンス量「４００万（＝３００万＋１００万）ＢＨＣＡ」を基本ライセンス管理データ２４０に記憶（登録）する。
【０１１３】
Ｓ１４：コマンド制御モジュール３３１を介して、基本ライセンス量の削減を受け付けた場合、ライセンス制御モジュール３２１は、基本ライセンス量を更新する。例えば、ライセンス量「１００万ＢＨＣＡ」の削減を受け付けた場合、基本ライセンスデータ管理モジュール３１１は、ライセンス量「２００万（＝３００万−１００万）ＢＨＣＡ」を基本ライセンス管理データ２４０に記憶（登録）する。
【０１１４】
［（図１１のＳ２、Ｓ３）］
図１４は、図１１、図１２で説明した工程Ｓ２、Ｓ３の処理を模式的に説明する図である。図１４において、図５、図１１で示したものと同一のものは、同一の記号で示す。図１４に示す、各物理マシン（ライセンス利用サーバ）１０、及び、ライセンス利用サーバ１０が実行する各仮想マシン１００に割り当てられたハードウェア資源１４０は、図５で説明したとおりである。
【０１１５】
保守者５０は、各仮想マシン１００に割り当てられたハードウェア資源１４０の情報を、ライセンス管理プログラム２２０に登録する（図１１のＳ２）。ハードウェア資源１４０の情報は、例えば、ＣＰＵコアの数やメモリサイズ、ディスク容量等の情報を含む。また、ハードウェア資源１４０の情報は、さらに、ＣＰＵコアの種別や仕様、及び、メモリやディスクの種別等の情報を含んでいてもよい。
【０１１６】
また、図１４は、各仮想マシン１００の、ハードウェア資源１４０に対応する処理能力（ハード性能）と、通信制御ソフトウェア４００に対応する処理能力（ソフト性能）とを示す。ハード性能は、仮想マシン１００に割り当てられたハードウェア資源１４０に基づいて、算出した処理能力に対応する。また、ソフト性能は、例えば、仮想マシン１００に割り当てられたハードウェア資源１４０と同程度のハードウェア資源１４０を備える情報処理装置が、ベンチマークテストを行って測定した処理能力を示す。
【０１１７】
図１４の例によると、仮想マシン１００ａのハード性能は値「２０万ＢＨＣＡ」であって、ソフト性能は値「１０万ＢＨＣＡ」である。図１４に示すように、ベンチマークテストプログラム４０３にしたがって測定する場合の性能値は、例えば、ハード性能とソフト性能のうち、値が小さい方の処理能力を示す。図１４の例によると、仮想マシン１００ａにおけるベンチマークテストプログラム４０３の性能値は、値「１０万ＢＨＣＡ」となる。
【０１１８】
同様にして、仮想マシン１００ｄのハード性能は値「１００万ＢＨＣＡ」であって、ソフト性能は値「１５０万ＢＨＣＡ」である。したがって、仮想マシン１００ｄにおけるベンチマークテストプログラム４０３の性能値は、値「１００万ＢＨＣＡ」となる。同様にして、仮想マシン１００ｂの性能値は値「４０万ＢＨＣＡ」に、仮想マシン１００ｃの性能値は値「１００万ＢＨＣＡ」となる。
【０１１９】
このように、ベンチマークテストプログラム４０３を実際の運用環境で実行することによって、ハードウェア資源１４０と通信制御ソフトウェア４００との組合せに基づく、正確な性能値を測定可能になる。
【０１２０】
（シーケンス図）
図１５は、図１４で説明した、ライセンス管理プログラム２２０の処理の流れを説明するシーケンス図である。図１５に示すシーケンス図は、通信サービス事業者の保守者５０と、ライセンス管理サーバ２００のライセンス管理プログラム２２０と、各仮想マシン１００との処理の流れを説明する。
【０１２１】
保守者５０は、ライセンス管理プログラム２２０に、各仮想マシン１００ａ〜１００ｄに割り当てられたハードウェア資源１４０を登録する（Ｓ２）。そして、ライセンス管理プログラム２２０は、仮想マシン１００ａに、ベンチマークテストプログラム４０３のインストール（Ｓ３−１ａ）、及び、ベンチマークテストプログラム４０３の実行を指示する（Ｓ３−２ａ）。
【０１２２】
同様にして、ライセンス管理プログラム２２０は、順次、各仮想マシン１００ｂ〜１００ｄに、ベンチマークテストプログラム４０３のインストール（Ｓ３−１ｂ〜Ｓ３−１ｄ）、及び、その実行を指示する（Ｓ３−２ｂ〜Ｓ３−２ｄ）。
【０１２３】
図１５に図示していないが、各仮想マシン１００ａ〜１００ｄは、ベンチマークテストプログラム４０３の実行を完了すると、実行結果である性能値をライセンス管理プログラム２２０に通知する。ライセンス管理プログラム２２０は、性能値に基づいて、各仮想マシン１００で動作する通信制御ソフトウェア４００のライセンス量（測定ライセンス量）を決定する。
【０１２４】
［（図１１のＳ４）］
図１６は、図１１、図１２で説明した工程Ｓ４に示す、ライセンス量の制御処理の詳細を説明するフローチャート図である。ライセンス制御モジュール３２１は、基本ライセンス量に収まるように、測定ライセンス量に基づいて、払い出す利用ライセンス量を決定する。
【０１２５】
Ｓ２１：ライセンス制御モジュール３２１は、基本ライセンス量（本実施の形態では、「３００万ＢＨＣＡ」）の情報を有する。また、例えば、各仮想マシン１００に払い出し済みの利用ライセンス量の合計が値「Ｘ万ＢＨＣＡ」である場合、残ライセンス量は、値「Ｙ（＝３００−Ｘ）万ＢＨＣＡ」である。
【０１２６】
Ｓ２２：ライセンス制御モジュール３２１は、非活性（非利用状態）となったライセンス量の払い戻しに応答して、ライセンス量（例えば、「１００万ＢＨＣＡ」）を払い戻す。
【０１２７】
Ｓ２３：ライセンス制御モジュール３２１は、利用ライセンス量の合計（「Ｘ−１００万ＢＨＣＡ」）、及び、残ライセンス量（「Ｙ＋１００万ＢＨＣＡ」）を算出する。
【０１２８】
Ｓ２４：払い戻しが成功したことにより、ライセンス制御モジュール３２１は、ライセンス制御が正常に行われた旨、応答する。
【０１２９】
Ｓ２５：ライセンス制御モジュール３２１は、残ライセンス量「Ｙ」以下のライセンス量「Ｚ」の払い出しの要求に応じて、ライセンス量「Ｙ（例えば、「１００万ＢＨＣＡ」、利用ライセンス量）」を払い出す。
【０１３０】
Ｓ２６：ライセンス制御モジュール３２１は、利用ライセンス量の合計（「Ｘ＋１００万ＢＨＣＡ」）、及び、残ライセンス量（「Ｙ−１００万ＢＨＣＡ」）を算出する。
【０１３１】
Ｓ２７：払い出しが成功したことにより、ライセンス制御モジュール３２１は、ライセンス制御が正常に行われた旨、応答する。
【０１３２】
Ｓ２８：ライセンス制御モジュール３２１は、残ライセンス量「Ｙ」より多いライセンス量「Ｚ」の払い出しの要求に応じて、基本ライセンス量の範囲内で払い出し可能なライセンス量「Ｙ」（利用ライセンス量）を払い出す。
【０１３３】
Ｓ２９：ライセンス制御モジュール３２１は、利用ライセンス量の合計（「３００（＝Ｘ＋Ｙ）万ＢＨＣＡ」）、及び、残ライセンスを値「０万ＢＨＣＡ」を算出する。
【０１３４】
Ｓ３０：ライセンス制御モジュール３２１は、払い出したライセンス量「Ｙ万ＢＨＣＡ」とともに、ライセンス制御が正常に行われた旨、応答する。
【０１３５】
Ｓ３１：残ライセンスが値「０万ＢＨＣＡ」である場合、ライセンス制御モジュール３２１は払い出しを行わない。
【０１３６】
Ｓ３２：ライセンス制御モジュール３２１は、利用ライセンス量の合計（「３００万ＢＨＣＡ」）、及び、残ライセンス量（「０万ＢＨＣＡ」）を算出する。
【０１３７】
Ｓ３３：ライセンス制御モジュール３２１は、残ライセンス量が値「０万ＢＨＣＡ」である旨の情報とともに、ライセンス制御に異常が生じた旨、応答する。
【０１３８】
次に、図１７〜図２８にしたがって、図１６で説明したライセンス量の制御処理の例を順次、説明する。
【０１３９】
（例１）
図１７は、ライセンス量の制御処理の第１の例を模式的に説明する図である。図１７において、図５、図１４で示したものと同一のものは、同一の記号で示す。また、図１７に示す、各物理マシン１０及び各仮想マシン１００のハードウェア資源１４０は、図５で説明したとおりである。
【０１４０】
図１７は、払い出し対象のライセンス量の合計が、基本ライセンス量に収まる場合を示す。図１７の例によると、仮想マシン１００ａの測定ライセンス量は値「１０万ＢＨＣＡ」であって、仮想マシン１００ｂの測定ライセンス量は値「４０万ＢＨＣＡ」である。また、仮想マシン１００ｃの測定ライセンス量は値「１００万ＢＨＣＡ」であって、仮想マシン１００ｄの測定ライセンス量は値「１００万ＢＨＣＡ」である。
【０１４１】
したがって、仮想マシン１００ａ〜１００ｄの測定ライセンス量の合計「２５０万ＢＨＣＡ」は、基本ライセンス量「３００万ＢＨＣＡ」に収まる。各仮想マシン１００ａ〜１００ｄの測定ライセンス量をすべて利用可能であるため、ライセンス制御モジュール３２１は、各仮想マシン１００ａ〜１００ｄに測定ライセンス量を払い出す。これにより、各仮想マシン１００ａ〜１００ｄのライセンス量の利用状態は、状態「利用」となり、利用ライセンス量の合計は、値「２５０万ＢＨＣＡ」となる。
【０１４２】
このように、ライセンス管理プログラム２２０は、測定ライセンス量の合計が基本ライセンス量に収まる場合、処理能力に応じた測定ライセンス量を、各仮想マシン１００に払い出す。これにより、ライセンス管理プログラム２２０は、各仮想マシン１００の通信制御ソフトウェア４００の処理を、処理能力に対応する適切なライセンス量にしたがって管理できる。
【０１４３】
（シーケンス図）
図１８は、図１７で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。図１８に示すシーケンス図は、通信サービス事業者の保守者５０と、ライセンス管理サーバ２００のライセンス管理プログラム２２０と、各仮想マシン１００との処理の流れを説明する。
【０１４４】
保守者５０は、仮想マシン１００ａのライセンス利用開始指示を、ライセンス管理プログラム２２０に送信する（Ｓ４−１ａ）。ライセンス管理プログラム２２０は、指示に応答して、仮想マシン１００ａに、測定ライセンス量「１０万ＢＨＣＡ」を指定した通信制御ソフトウェア４００のインストールを指示する（Ｓ４−２ａ）。インストールが完了すると、仮想マシン１００ａは、インストールの完了をライセンス管理プログラム２２０に通知する（Ｓ４−３ａ）。ライセンス管理プログラム２２０は、インストールの完了を保守者５０に通知する（Ｓ４−４ａ）。
【０１４５】
同様にして、保守者５０は、他の仮想マシン１００ｂ〜１００ｄのライセンス利用開始指示を、ライセンス管理プログラム２２０に順次、送信する（Ｓ４−１ｂ〜Ｓ４−１ｄ）。ライセンス管理プログラム２２０は、各仮想マシン１００ｂ〜１００ｄに、測定ライセンス量を指定した通信制御ソフトウェア４００のインストールを指示する（Ｓ４−２ｂ〜Ｓ４−２ｄ）。
【０１４６】
インストールが完了すると、各仮想マシン１００ｂ〜１００ｄは、当該完了をライセンス管理プログラム２２０に通知し、ライセンス管理プログラム２２０は、当該完了を保守者５０に通知する（Ｓ４−３ｂ〜Ｓ４−３ｄ、Ｓ４−４ｂ〜Ｓ４−４ｄ）。なお、ライセンス利用開始指示、及び、インストール指示を行う仮想マシン１００ａ〜１００ｄの順序は、図１８の例に限定されるものではない。
【０１４７】
（例２）
図１９は、ライセンス量の制御処理の第２の例を模式的に説明する図である。図１９において、図５、図１４で示したものと同一のものは、同一の記号で示す。また、図１９に示す、各物理マシン１０及び各仮想マシン１００のハードウェア資源１４０は、図５で説明したとおりである。
【０１４８】
図１９は、払い出し対象のライセンス量の合計が、基本ライセンス量に収まらない場合であって、一部の仮想マシン１００ｄにライセンス量の払い出しを行わない場合を示す。図１９の例によると、仮想マシン１００ａの測定ライセンス量は値「２０万ＢＨＣＡ」であって、仮想マシン１００ｂの測定ライセンス量は値「８０万ＢＨＣＡ」である。また、仮想マシン１００ｃの測定ライセンス量は値「２００万ＢＨＣＡ」であって、仮想マシン１００ｄの測定ライセンス量は値「１５０万ＢＨＣＡ」である。
【０１４９】
したがって、仮想マシン１００ａ〜１００ｄの測定ライセンス量の合計「４５０万ＢＨＣＡ」は、基本ライセンス量「３００万ＢＨＣＡ」に収まらない。一方、仮想マシン１００ｄを除く、仮想マシン１００ａ〜１００ｃの測定ライセンス量の合計「３００万ＢＨＣＡ」は、基本ライセンス量「３００万ＢＨＣＡ」に収まる。
【０１５０】
したがって、例えば、ライセンス制御モジュール３２１は、仮想マシン１００ｄを除く、仮想マシン１００ａ〜１００ｃに測定ライセンス量を払い出す。これにより、各仮想マシン１００ａ〜１００ｃのライセンス量の利用状態は状態「利用」となり、仮想マシン１００ｄのライセンス量の利用状態は状態「未利用」となる。また、利用ライセンス量の合計は、値「３００万ＢＨＣＡ」となる。
【０１５１】
このように、ライセンス管理プログラム２２０は、複数の仮想マシン１００ａ〜１００ｄの測定ライセンス量の合計が、所定値（基本ライセンス量）を超える場合がある。この場合、ライセンス管理プログラム２２０は、複数の仮想マシン１００ａ〜１００ｄのうち一部の仮想マシン１００ａ〜１００ｃに、測定ライセンス量に応じた通信制御ソフトウェア４００のインストールを指示する。
【０１５２】
つまり、ライセンス管理プログラム２２０は、仮想マシン１００の単位に、ライセンス量の利用状態を制御する。これにより、ライセンス管理プログラム２２０は、基本ライセンス量の範囲に収まるように、ハードウェア資源１４０と通信制御ソフトウェア４００との処理能力に応じた測定ライセンス量を、仮想マシン１００に払い出すことができる。
【０１５３】
（シーケンス図）
図２０は、図１９で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。図２０に示すシーケンス図は、通信サービス事業者の保守者５０と、ライセンス管理サーバ２００のライセンス管理プログラム２２０と、各仮想マシン１００との処理の流れを説明する。
【０１５４】
図１８と同様にして、保守者５０は、仮想マシン１００ｂ〜１００ｃのライセンス利用開始指示を、ライセンス管理プログラム２２０に順次、送信する（Ｓ４−１ａ〜Ｓ４−１ｃ）。ライセンス管理プログラム２２０は、指示に応答して、各仮想マシン１００ｂ〜１００ｃに、測定ライセンス量のうちすべてのライセンス量を指定した通信制御ソフトウェア４００のインストールを指示する（Ｓ４−２ａ〜Ｓ４−２ｃ）。インストールが完了すると、各仮想マシン１００ｂ〜１００ｃは、当該完了をライセンス管理プログラム２２０に通知し、ライセンス管理プログラム２２０は、当該完了を保守者５０に通知する（Ｓ４−３ａ〜４−３ｃ、Ｓ４−４ａ〜Ｓ４−４ｃ）。
【０１５５】
また、保守者５０は、仮想マシン１００ｄのライセンス利用開始指示を、ライセンス管理プログラム２２０に送信する（Ｓ４−１ｄ）。ただし、図１９で前述したとおり、仮想マシン１００ａ〜１００ｃの測定ライセンス量の合計は、基本ライセンス量「３００万ＢＨＣＡ」に達している。したがって、ライセンス管理プログラム２２０は、仮想マシン１００ｄに、通信制御ソフトウェア４００のインストールを指示することなく、インストールが完了していない旨の情報を保守者５０に通知する（Ｓ４−４ｄ）。
【０１５６】
（例３）
図２１は、ライセンス量の制御処理の第３の例を模式的に説明する図である。図２１において、図５、図１４で示したものと同一のものは、同一の記号で示す。また、図２１に示す、各物理マシン１０及び各仮想マシン１００のハードウェア資源１４０は、図５で説明したとおりである。
【０１５７】
図２１は、払い出し対象のライセンス量の合計が、基本ライセンス量に収まらない場合であって、ある仮想マシン１００に、測定ライセンス量のうち一部のライセンス量を払い出す場合を示す。図２１の例によると、仮想マシン１００ａの測定ライセンス量は値「２０万ＢＨＣＡ」であって、仮想マシン１００ｂの測定ライセンス量は値「８０万ＢＨＣＡ」である。また、仮想マシン１００ｃの測定ライセンス量は値「１００万ＢＨＣＡ」であって、仮想マシン１００ｄの測定ライセンス量は値「１５０万ＢＨＣＡ」である。
【０１５８】
したがって、仮想マシン１００ａ〜１００ｄの測定ライセンス量の合計「３５０万ＢＨＣＡ」は、基本ライセンス量「３００万ＢＨＣＡ」に収まらない。一方、仮想マシン１００ｄを除く、仮想マシン１００ａ〜１００ｃの測定ライセンス量の合計「２００万ＢＨＣＡ」は、基本ライセンス量「３００万ＢＨＣＡ」に収まり、ライセンス量「１００万ＢＨＣＡ」分の余裕がある。
【０１５９】
したがって、例えば、ライセンス制御モジュール３２１は、仮想マシン１００ａ〜１００ｃに測定ライセンス量を、仮想マシン１００ｄに測定ライセンス量「１５０万ＢＨＣＡ」のうちライセンス量「１００万ＢＨＣＡ」を払い出す。これにより、各仮想マシン１００ａ〜１００ｄのライセンス量の利用状態は状態「利用」となり、利用ライセンス量の合計は、値「３００万ＢＨＣＡ」となる。
【０１６０】
このように、ライセンス管理プログラム２２０は、仮想マシン１００ａ〜１００ｄの測定ライセンス量が所定値（基本ライセンス量）を超える場合がある。この場合、ライセンス管理プログラム２２０は、測定ライセンス量のうち、一部のライセンス量に応じた通信制御ソフトウェア４００のインストールを、仮想マシン１００ｄに指示する。
【０１６１】
つまり、ライセンス管理プログラム２２０は、仮想マシン１００に対して、ハードウェア資源１４０と通信制御ソフトウェア４００との処理能力に応じた測定ライセンス量の一部のライセンス量を払い出すことができる。これにより、ライセンス管理プログラム２２０は、基本ライセンス量の範囲に収まるように、ライセンス量を仮想マシン１００に払い出すことができる。
【０１６２】
（シーケンス図）
図２２は、図２１で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。図２２に示すシーケンス図は、通信サービス事業者の保守者５０と、ライセンス管理サーバ２００のライセンス管理プログラム２２０と、各仮想マシン１００との処理の流れを説明する。
【０１６３】
図２０と同様にして、ライセンス管理プログラム２２０は、各仮想マシン１００ｂ〜１００ｃに、順次、測定ライセンス量を指定した通信制御ソフトウェア４００のインストールを指示する（Ｓ４−１ａ〜Ｓ４−１ｃ、Ｓ４−２ａ〜Ｓ４−２ｃ）。また、各仮想マシン１００ｂ〜１００ｃは、インストールの完了をライセンス管理プログラム２２０に通知し、ライセンス管理プログラム２２０は、当該完了を保守者５０に通知する（Ｓ４−３ａ〜Ｓ４−３ｃ、Ｓ４−４ａ〜Ｓ４−４ｃ）。
【０１６４】
また、保守者５０は、仮想マシン１００ｄのライセンス利用開始指示を、ライセンス管理プログラム２２０に送信する（Ｓ４−１ｄ）。ただし、図２１で前述したとおり、仮想マシン１００ａ〜１００ｄの測定ライセンス量の合計は、基本ライセンス量「３００万ＢＨＣＡ」を超える。したがって、ライセンス管理プログラム２２０は、仮想マシン１００ｄに、測定ライセンス量「１５０万ＢＨＣＡ」のうち、ライセンス量「１００万ＢＨＣＡ」を指定した通信制御ソフトウェア４００のインストールを指示する（Ｓ４−２ｄ）。
【０１６５】
同様に、仮想マシン１００ｄは、インストールの完了をライセンス管理プログラム２２０に通知し、ライセンス管理プログラム２２０は、当該完了の情報に加えて、払い出した利用ライセンス量「１００万ＢＨＣＡ」を保守者５０に通知する（Ｓ４−３ｄ、Ｓ４−４ｄ）。
【０１６６】
（例４）
図２３は、ライセンス量の制御処理の第４の例を模式的に説明する図である。図２３において、図５、図１４で示したものと同一のものは、同一の記号で示す。また、図２３に示す、各物理マシン１０及び各仮想マシン１００のハードウェア資源１４０は、図５で説明したとおりである。
【０１６７】
図２３は、利用者の増加等に起因した呼量の増大により、利用ライセンス量を拡張する場合を示す。図２３の例によると、仮想マシン１００ａのライセンス量の利用状態は「利用」であって、仮想マシン１００ｂ〜１００ｄのライセンス量の利用状態「未利用」である。したがって、図２３の例における利用ライセンス量の合計は、値「２０万ＢＨＣＡ」である。
【０１６８】
図２３の例によると、保守者５０は、例えば、利用状態「利用」の仮想マシン１００を、仮想マシン１００ａから、測定ライセンス量の多い仮想マシン１００ｃに変更することによって、ライセンス量を拡張する。したがって、ライセンス制御モジュール３２１は、仮想マシン１００ａの測定ライセンス量「２０万ＢＨＣＡ」を払い戻すとともに、仮想マシン１００ｃの測定ライセンス量「２００万ＢＨＣＡ」を払い出す。
【０１６９】
これにより、仮想マシン１００ａのライセンス量の利用状態は状態「未利用」に変化し、仮想マシン１００ｃのライセンス量の利用状態は状態「利用」に変化する。そして、利用ライセンス量の合計は、値「２０万ＢＨＣＡ」から値「２００万ＢＨＣＡ」に変化する。
【０１７０】
このように、ライセンス管理プログラム２２０は、仮想マシン１００の単位に、処理能力に応じた測定ライセンス量の利用状態を制御することによって、利用ライセンス量の合計を管理する。これにより、ライセンス管理プログラム２２０は、通信サービスで求められる処理能力に応じたライセンス量を、柔軟に、仮想マシン１００に払い出すことができる。
【０１７１】
（シーケンス図）
図２４は、図２３で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。図２４に示すシーケンス図は、通信サービス事業者の保守者５０と、ライセンス管理サーバ２００のライセンス管理プログラム２２０と、各仮想マシン１００との処理の流れを説明する。
【０１７２】
初め、仮想マシン１００ａは、ライセンス量「２０万ＢＨＣＡ」を利用中の状態である。保守者５０は、仮想マシン１００ｃのライセンス利用開始指示をライセンス管理プログラム２２０に送信する（Ｓ４−１ｃ）。ライセンス管理プログラム２２０は、指示に応答して、測定ライセンス量の通信制御ソフトウェア４００のインストールを仮想マシン１００ｃに指示する（Ｓ４−２ｃ）。これにより、ライセンス制御モジュール３２１は、仮想マシン１００ｃにライセンス量「２００万ＢＨＣＡ」を払い出し、保守者５０にライセンス利用開始指示の完了を通知する（Ｓ４−３ｃ、Ｓ４−４ｃ）。
【０１７３】
次に、保守者５０は、仮想マシン１００ａのライセンス利用停止指示を、ライセンス管理プログラム２２０に送信する（Ｓ４−１ａ）。ライセンス管理プログラム２２０は、指示に応答して、仮想マシン１００ａに、通信制御ソフトウェア４００のアンインストールを指示する（Ｓ４−２ａ）。これにより、ライセンス制御モジュール３２１は、ライセンス量「２０万ＢＨＣＡ」を払い戻し、保守者５０にライセンス利用停止指示の完了を通知する（Ｓ４−３ａ、Ｓ４−４ａ）。
【０１７４】
（例５）
図２５は、ライセンス量の制御処理の第５の例を模式的に説明する図である。図２５において、図５、図１４で示したものと同一のものは、同一の記号で示す。また、図２５に示す、各物理マシン１０及び各仮想マシン１００のハードウェア資源１４０は、図５で説明したとおりである。
【０１７５】
図２５は、利用者の減少等に起因した呼量の低減により、利用ライセンス量を縮小する場合を示す。図２５の例によると、仮想マシン１００ｃのライセンス量の利用状態は状態「利用」であって、仮想マシン１００ａ、１００ｂ、１００ｄのライセンス量の利用状態は状態「未利用」である。したがって、図２５の例における利用ライセンス量の合計は、値「２００万ＢＨＣＡ」である。
【０１７６】
図２５の例によると、保守者５０は、例えば、利用状態「利用」の仮想マシン１００を、仮想マシン１００ｃから、測定ライセンス量の少ない仮想マシン１００ａに変更することによって、ライセンス量を縮小する。したがって、ライセンス制御モジュール３２１は、仮想マシン１００ｃの測定ライセンス量「２００万ＢＨＣＡ」を払い戻すとともに、仮想マシン１００ａの測定ライセンス量「２０万ＢＨＣＡ」を払い出す。
【０１７７】
これにより、仮想マシン１００ｃのライセンス量の利用状態は状態「未利用」に変化し、仮想マシン１００ａのライセンス量の利用状態は状態「利用」に変化する。そして、利用ライセンス量の合計は、値「２００万ＢＨＣＡ」から値「２０万ＢＨＣＡ」に変化する。
【０１７８】
図２３、図２４の例と同様にして、ライセンス管理プログラム２２０は、仮想マシン１００の単位に、処理能力に応じた測定ライセンス量の利用状態を制御することによって、利用ライセンス量の合計を管理する。これにより、ライセンス管理プログラム２２０は、通信サービスで求められる処理能力に応じたライセンス量を、柔軟に、仮想マシン１００に払い出すことができる。
【０１７９】
（シーケンス図）
図２６は、図２５で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。図２６に示すシーケンス図は、通信サービス事業者の保守者５０と、ライセンス管理サーバ２００のライセンス管理プログラム２２０と、各仮想マシン１００との処理の流れを説明する。
【０１８０】
初め、仮想マシン１００ｃは、ライセンス量「２００万ＢＨＣＡ」を利用中の状態である。保守者５０は、仮想マシン１００ａのライセンス利用開始指示をライセンス管理プログラム２２０に送信する（Ｓ４−１ａ）。ライセンス管理プログラム２２０は、指示に応答して、測定ライセンス量の通信制御ソフトウェア４００のインストールを仮想マシン１００ａに指示する（Ｓ４−２ａ）。これにより、ライセンス制御モジュール３２１は、仮想マシン１００ａにライセンス量「２０万ＢＨＣＡ」を払い出し、保守者５０にライセンス利用開始指示の完了を通知する（Ｓ４−３ａ、Ｓ４−４ａ）。
【０１８１】
次に、保守者５０は、仮想マシン１００ｃのライセンス利用停止指示を、ライセンス管理プログラム２２０に送信する（Ｓ４−１ｃ）。ライセンス管理プログラム２２０は、指示に応答して、仮想マシン１００ｃに、通信制御ソフトウェア４００のアンインストールを指示する（Ｓ４−２ｃ）。これにより、ライセンス制御モジュール３２１は、ライセンス量「２００万ＢＨＣＡ」を払い戻し、保守者５０にライセンス利用停止指示の完了を通知する（Ｓ４−３ｃ、Ｓ４−４ｃ）。
【０１８２】
（例６）
図２７は、ライセンス量の制御処理の第６の例を模式的に説明する図である。図２７において、図５、図１４で示したものと同一のものは、同一の記号で示す。また、図２７に示す、各物理マシン１０及び各仮想マシン１００のハードウェア資源１４０は、図５で説明したとおりである。
【０１８３】
図２７は、例えば、物理マシン１０の故障発生により、仮想マシン１００ａ〜１００ｃを利用できなくなった場合を示す。図２７の例によると、仮想マシン１００ａ〜１００ｃのライセンス量の利用状態は状態「利用」であって、仮想マシン１００ｄのライセンス量の利用状態は状態「未利用」である。したがって、図２７の例において、利用ライセンス量の合計は、値「３００万ＢＨＣＡ」である。
【０１８４】
物理マシン１０が故障した場合、ライセンス制御モジュール３２１は、仮想マシン１００ａ〜１００ｃの測定ライセンス量「３００万ＢＨＣＡ」を払い戻すとともに、仮想マシン１００ｄの測定ライセンス量「２５０万ＢＨＣＡ」を払い出す。これにより、仮想マシン１００ａ〜１００ｃのライセンス量の利用状態は状態「未利用」に変化し、仮想マシン１００ｄのライセンス量の利用状態は状態「利用」に変化する。また、利用ライセンス量の合計は、値「３００万ＢＨＣＡ」から値「２５０万ＢＨＣＡ」に変化する。
【０１８５】
このように、ライセンス管理プログラム２２０は、仮想マシン１００の単位に、ライセンス量の利用状態を制御することによって、利用ライセンス量を管理できる。これにより、ライセンス管理プログラム２２０は、物理マシン１０の故障が発生した場合に、各仮想マシン１００のライセンスの利用状態を制御することによって、適宜、ライセンス量を仮想マシン１００に払い出すことができる。
【０１８６】
（シーケンス図）
図２８は、図２７で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。図２８に示すシーケンス図は、通信サービス事業者の保守者５０と、ライセンス管理サーバ２００のライセンス管理プログラム２２０と、各仮想マシン１００との処理の流れを説明する。
【０１８７】
仮想マシン１００ａ〜１００ｃは、ライセンス量「３００万ＢＨＣＡ」を利用中である。保守者５０は、物理マシン１０の故障の発生に伴い、仮想マシン１００ａ〜１００ｃのライセンス利用停止指示を、ライセンス管理プログラム２２０に順次、送信する（Ｓ４−１ａ〜Ｓ４−１ｃ）。ライセンス管理プログラム２２０は、指示に応答して、仮想マシン１００ａ〜１００ｃに、通信制御ソフトウェア４００のアンインストールを指示する（Ｓ４−２ａ〜Ｓ４−２ｃ）。これにより、ライセンス制御モジュール３２１は、ライセンス「３００万ＢＨＣＡ」を払い戻し、保守者５０にライセンス利用停止指示の完了を通知する（Ｓ４−３ａ〜Ｓ４−３ｃ、Ｓ４−４ａ〜Ｓ４−４ｃ）。
【０１８８】
次に、保守者５０は、仮想マシン１００ｄのライセンス利用開始指示をライセンス管理プログラム２２０に送信する（Ｓ４−１ｄ）。ライセンス管理プログラム２２０は、指示に応答して、測定ライセンス量の通信制御ソフトウェア４００のインストールを仮想マシン１００ｄに指示する（Ｓ４−２ｄ）。これにより、ライセンス制御モジュール３２１は、仮想マシン１００ｄにライセンス量「２５０万ＢＨＣＡ」を払い出し、保守者５０にライセンス利用開始指示の完了を通知する（Ｓ４−３ｄ、Ｓ４−４ｄ）。
【０１８９】
なお、物理マシン１０の故障により、通信制御ソフトウェア４００のアンインストール指示を行えない場合、ライセンス制御モジュール３２１は、物理マシン１０の復旧後に、アンインストール指示を行ってもよい。
【０１９０】
［仮想マシン１００の処理］
次に、図２９〜図３５にしたがって、仮想マシン１００における処理を説明する。図２９〜図３０にしたがって、図１４、図１５で説明した、ベンチマークテストプログラム４０３の処理を説明する。
【０１９１】
［ベンチマークテストプログラム４０３の処理］
図２９は、仮想マシン１００で動作する、ベンチマークテストプログラム４０３の処理の流れを説明する図である。
【０１９２】
Ｓ４１：ベンチマークテストプログラム４０３は、仮想マシン１００に割り当てられたハードウェア資源１４０の情報を収集する。
【０１９３】
Ｓ４２：ベンチマークテストプログラム４０３は、収集したハードウェア資源１４０の情報に基づいて、初期の呼量（ＢＨＣＡ）を決定する。例えば、ベンチマークテストプログラム４０３は、ＣＰＵコアの数や、ＣＰＵの種別等に応じて、初期の呼量を決定する。
【０１９４】
Ｓ４３：ベンチマークテストプログラム４０３は、決定した呼量をシミュレートするとともに、シミュレートした際のＣＰＵ使用率を測定する。
【０１９５】
Ｓ４４：ベンチマークテストプログラム４０３は、呼量をシミュレートした際の処理において、異常（ＮＧ）終了したテスト項目がないか否かを判定する。
【０１９６】
Ｓ４５：異常終了したテスト項目がない場合（Ｓ４４のＹｅｓ）、ベンチマークテストプログラム４０３は、工程Ｓ４３で測定したＣＰＵ使用率が、規定最大値以下であるか否かを判定する。
【０１９７】
Ｓ４６：ＣＰＵ使用率が規定最大値以下である場合（Ｓ４５のＹｅｓ）、ベンチマークテストプログラム４０３は、シミュレートする呼量を変更する。即ち、ベンチマークテストプログラム４０３は、異常終了したテスト項目がなく（Ｓ４４のＹｅｓ）、ＣＰＵ使用率が規定最大値以下である場合（Ｓ４５のＹｅｓ）、呼量の値を上げて、再度、工程Ｓ４３〜Ｓ４６の処理を行う。
【０１９８】
Ｓ４７：一方、異常終了したテスト項目がある場合（Ｓ４４のＮｏ）、または、規定最大値を超えた場合（Ｓ４５のＮｏ）、ベンチマークテストプログラム４０３は、前回の呼量を、最大処理能力（性能値）として設定する。そして、ベンチマークテストプログラム４０３は、収集したハードウェア資源１４０の情報、及び、測定した最大処理能力（性能値）をライセンス管理サーバ２００に通知する。
【０１９９】
このように、ベンチマークテストプログラム４０３は、仮想マシン１００に割り当てられたハードウェア資源１４０と、通信制御ソフトウェア４００の組合せに基づく、性能値を測定することができる。これにより、ライセンス管理プログラム２２０は、ライセンス量に応じた処理能力（呼量）を保証できるとともに、ライセンス量を、ハードウェア資源１４０を効率的に利用可能な値に設定できる。
【０２００】
図３０は、図２９のフローチャート図で説明した処理の結果を示す、呼量（ＢＨＣＡ）とＣＰＵ使用率との対応関係を示す図である。図３０は、ベンチマークテストプログラム４０３が、各呼量（ＢＨＣＡ）をシミュレートした際のＣＰＵ使用率のプロットを有する。
【０２０１】
図３０に点線で示すように、本実施の形態におけるＣＰＵ使用率の規定最大値は６０％である。即ち、本実施の形態におけるベンチマークテストプログラム４０３は、ＣＰＵ使用率が６０％を超えない範囲内における最大呼量を、最大処理能力（性能値）として決定する。図３０の例によると、ＣＰＵ使用率が６０％を超えない範囲内の、最大の呼量は値「３００万ＢＨＣＡ」である。したがって、ベンチマークテストプログラム４０３は、呼量「３００万ＢＨＣＡ」を、性能値としてライセンス管理サーバ２００に通知する。
【０２０２】
［通信制御ソフトウェア４００の処理］
次に、図３１〜図３５にしたがって、図１０で説明した通信制御ソフトウェア４００の処理を説明する。まず、図３１にしたがって、図１０で説明した、通信制御ソフトウェア４００におけるライセンス制御処理を説明する。
【０２０３】
（ライセンス制御処理の流れ）
図３１は、図１０で説明した、通信制御ソフトウェア４００のライセンス制御処理の流れを説明するフローチャート図である。
【０２０４】
Ｓ５１：通信制御ソフトウェア４００のライセンス制御モジュール４２１は、信号の受信イベントの発生に応じて、信号内容を取得する。
【０２０５】
Ｓ５２：ライセンス制御モジュール４２１は、信号の内容に基づいて、信号が初期信号であるか継続信号であるかを判定する。
【０２０６】
Ｓ５３：信号が継続信号である場合（Ｓ５２の継続信号）、ライセンス制御モジュール４２１は、信号を受信して、信号に応じた処理を継続する。
【０２０７】
Ｓ５４：一方、信号が初期信号である場合（Ｓ５２の初期信号）、ライセンス制御モジュール４２１は、利用ライセンス量（ＢＨＣＡ）に対応する、単位時間あたりの呼数（例えば、１秒当たりの呼量）を取得する。
【０２０８】
Ｓ５５：ライセンス制御モジュール４２１は、現在、処理している単位時間当たりの呼量が、工程Ｓ５４で取得した、利用ライセンス量に対応する呼量以内であるか否かを判定する。
【０２０９】
Ｓ５６：利用ライセンス量に対応する呼量以内である場合（Ｓ５５のＹｅｓ）、通信サービス制御モジュール４１１は、信号を受信して、信号に応じた処理を継続する。
【０２１０】
Ｓ５７：一方、利用ライセンス量に対応する呼量を超える場合（Ｓ５５のＮｏ）、通信制御ソフトウェア４００の規制制御モジュール４１３は、受信した信号を廃棄する。
【０２１１】
Ｓ５８：信号を廃棄した後、通信サービス制御モジュール４１１は、信号受信処理を異常終了する。
【０２１２】
このように、通信制御ソフトウェア４００は、通信制御ソフトウェア４００に指定された利用ライセンス量に対応する処理能力（ＢＨＣＡ）の範囲内で、処理を行う。これにより、利用ライセンス量に基づく、通信制御ソフトウェア４００の処理の管理が可能になる。
【０２１３】
（再開処理制御モジュール４４１）
次に、図３２にしたがって、図１０で説明した、通信制御ソフトウェア４００の再開処理制御モジュール４４１の処理を説明する。本実施の形態における通信制御ソフトウェア４００は、仮想マシン１００上で動作する。したがって、仮想マシン１００の運用に応じて、仮想マシン１００のマイグレーションに伴うハードウェア資源１４０の変更や、ハードウェア資源１４０の割り当ての調整が生じる場合がある。
【０２１４】
したがって、再開処理制御モジュール４４１は、仮想マシン１００に割り当てられたハードウェア資源１４０の変更に応じて、ベンチマークテストプログラム４０３の再実行を指示する。そして、再開処理制御モジュール４４１は、再実行によって測定された性能値に基づいて、仮想マシン１００における通信制御ソフトウェア４００のライセンス量を再決定する。そして、再開処理制御モジュール４４１は、再決定したライセンス量に応じた通信制御ソフトウェア４００のインストールを、仮想マシン１００に指示する。
【０２１５】
これにより、ライセンス管理サーバ２００は、仮想マシン１００に割り当てられたハードウェア資源１４０が変化した場合であっても、ライセンス量を、実際の処理能力に応じたライセンス量に設定できる。これにより、ライセンス管理サーバ２００は、通信制御ソフトウェア４００が仮想基盤上で動作する場合であっても、通信制御ソフトウェア４００のライセンス量を適切に管理することができる。
【０２１６】
図３２は、仮想マシン１００の再起動の際の、通信制御ソフトウェア４００のライセンス管理処理の流れを説明するフローチャート図である。
【０２１７】
Ｓ６１：通信制御ソフトウェア４００の再開処理制御モジュール４４１は、仮想マシン１００の再起動に応じて、仮想マシン１００に割り当てられたハードウェア資源１４０の情報を収集する。
【０２１８】
Ｓ６２：再開処理制御モジュール４４１は、工程Ｓ６１で取得した情報を、ライセンス制御モジュール４２１が保持する再起動前のハードウェア資源１４０の情報と照合する。
【０２１９】
Ｓ６３：再開処理制御モジュール４４１は、照合結果が一致するか否かを判定する。
【０２２０】
Ｓ６４：一致する場合（Ｓ６３のＹｅｓ）、再開処理制御モジュール４４１は、再起動後の処理を継続して行う（正常終了）。
【０２２１】
Ｓ６５：一方、一致しない場合（Ｓ６３のＮｏ）、再開処理制御モジュール４４１は、ベンチマークテストプログラム４０３にしたがって、図２９のフローチャート図の処理を実行し、性能値を再測定する。なお、再開処理制御モジュール４４１は、ベンチマークテストプログラム４０３と同様の処理を行って、性能値を測定してもよい。
【０２２２】
Ｓ６６：再開処理制御モジュール４４１は、ハードウェア資源１４０の情報の変更、及び、再測定した性能値を、ライセンス管理サーバ２００及び保守者５０に通知する（異常終了）。
【０２２３】
次に、図３３〜図３５にしたがって、図１０で説明した、通信制御ソフトウェア４００の通信サービス制御モジュール４１１の処理を説明する。
【０２２４】
（通信サービス制御モジュール４１１の処理）
図３３は、通信サービス制御モジュール４１１のソフトウェアブロック図である。前述したとおり、本実施の形態における通信制御ソフトウェア４００は、携帯コア網における通話の接続制御を行うＩＢＣＦソフトウェアである。したがって、本実施の形態における通信サービス制御モジュール４１１は、通話の接続制御を行う。
【０２２５】
図３３に示す、通信サービス制御モジュール４１１は、呼制御モジュール４５１、ルーチング制御モジュール４５２、通話回線制御モジュール４５３を有する。呼制御モジュール４５１は、通話の呼び出し制御や切断制御を行うとともに、ルーチング制御モジュール４５２にイベントを通知する。ルーチング制御モジュール４５２は、通話の接続先を決定処理を行うとともに、接続先情報に基づく音声通話用の回線を補足指示を通話回線制御モジュール４５３に出力する。通話回線制御モジュール４５３は、回線捕捉処理の制御を行う。
【０２２６】
図３４は、図３３に示した、通信サービス制御モジュール４１１（ＩＢＣＦ）の処理の流れを説明するシーケンス図である。
【０２２７】
（発信）
通信サービス制御モジュール４１１は、発信側から信号「INVITE」を受信すると、インスタンスを生成し、生成したインスタンスの呼制御モジュール４５１にイベントを通知する。呼制御モジュール４５１は、接続先を判定するために、イベントをルーチング制御モジュール４５２に通知する。ルーチング制御モジュール４５２は、接続先の電話番号に基づいて、接続先を決定し、通話回線制御モジュール４５３に回線捕捉を指示する。通話回線制御モジュール４５３は、接続先情報に基づいて、音声通話用の回線を補足する。呼制御モジュール４５１は、回線捕捉の完了を検出すると、信号を生成し、信号を着信側の端末に送信する。
【０２２８】
通信サービス制御モジュール４１１は、着信側の端末の呼び出しが行われていることを示す信号「180_Ringing」を受信すると、生成したインスタンスの呼制御モジュール４５１にイベントを通知する。呼制御モジュール４５１は、信号を生成し、発信側の端末に送信する。これにより、通話は呼出し中の状態に遷移する。
【０２２９】
（応答）
次に、通信サービス制御モジュール４１１は、着信側の端末が応答したことを示す信号「200_OK」を受信すると、生成したインスタンスの呼制御モジュール４５１にイベントを通知する。呼制御モジュール４５１は、着信側の端末が応答したことを検出し、通話回線制御モジュール４５３に、双方向の通話パスの接続イベントを通知する。呼制御モジュール４５１は、信号を生成し、発信側の端末に送信する。通信サービス制御モジュール４１１が信号「ACK」を受信すると、通話は通話中の状態に遷移する。
【０２３０】
（切断）
通話の完了を契機に通知される信号「BYE」を受信すると、通信サービス制御モジュール４１１は、生成したインスタンスの呼制御モジュール４５１にイベントを通知する。呼制御モジュール４５１は、発信側の端末による切断を検知し、通話回線制御モジュール４５３に、通話パスの切断を行うイベントを通知する。呼制御モジュール４５１は、信号を生成し、着信側の端末に送信する。通信サービス制御モジュール４１１が、着信側の端末が応答したことを示す信号「200_OK」を受信すると、通話は切断状態に遷移する。
【０２３１】
（フローチャート）
図３５は、図３４で説明した通信サービス制御モジュール４１１の信号受信時の処理を説明するフローチャート図である。図３１で前述したとおり、現在、処理している単位時間当たりの呼量が、利用ライセンス量に対応する呼量に収まる場合（図３１のＳ５５のＹｅｓ）、通信サービス制御モジュール４１１は、信号を受信して、信号に応じた処理を継続する。
【０２３２】
Ｓ７１：通信サービス制御モジュール４１１は、信号の受信に応答して、信号内容を取得する。図３４で説明したとおり、通信サービス制御モジュール４１１は、例えば、信号「INVITE」、信号「180_Ringing」、信号「BYE」を受信する。
【０２３３】
Ｓ７２：通信サービス制御モジュール４１１は、受信した信号が初期信号であるか継続信号であるかを判定する。
【０２３４】
Ｓ７３：信号が継続信号である場合（Ｓ７２の継続信号）、通信サービス制御モジュール４１１は、対応するインスタンスの呼制御モジュール４５１に信号を振り分けて、通知する。
【０２３５】
Ｓ７４：一方、信号が初期信号である場合（Ｓ７２の初期信号）、通信サービス制御モジュール４１１は、インスタンスを生成し、生成したインスタンスの呼制御モジュール４５１にイベントを通知する。
【０２３６】
Ｓ７５：呼制御モジュール４５１は、図３４で前述したとおり、信号の内容に応じた処理を行う。信号「INVITE」を受信した場合、呼制御モジュール４５１は、接続先を判定するために、イベントをルーチング制御モジュール４５２に通知する（Ｓ７５−１）。信号「200_OK」または信号「BYE」を受信した場合、呼制御モジュール４５１は、接続イベントまたは切断イベントを、通話回線制御モジュール４５３に通知する（Ｓ７５−２）。
【０２３７】
Ｓ７６：呼制御モジュール４５１は、信号の内容に応じて、着信側の端末、または、発信側の端末に送信する信号を生成する。
【０２３８】
Ｓ７７：呼制御モジュール４５１は、生成した信号を、信号の内容に応じて、着信側または発信側の端末に送信する。
【０２３９】
［他の実施の形態］
なお、本実施の形態では、測定ライセンス量を管理する対象のソフトウェアが、通信機能を実行する通信制御ソフトウェア４００である場合を例示する。ただし、この例に限定されるものではない。測定ライセンス量を管理する対象のソフトウェアは、通信機能とは異なる機能を実行するソフトウェアであってもよい。
【０２４０】
また、本実施の形態では、性能値を示す処理能力が、呼量である場合を例示した。ただし、この例に限定されるものではない。性能値を示す処理能力は、例えば、同時接続数や単位時間当たりのイベント数等であってもよい。
【０２４１】
以上の実施の形態をまとめると、次の付記のとおりである。
【０２４２】
（付記１）
仮想マシンの起動に応じて、前記仮想マシンが第１のソフトウェアを実行する際の、処理能力に関する性能値を測定する第２のソフトウェアのインストールと、前記第２のソフトウェアの実行とを、前記仮想マシンに指示する第１の指示部と、
前記実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第１のソフトウェアのライセンス量を決定する決定部と、
前記ライセンス量に応じた前記第１のソフトウェアのインストールを、前記仮想マシンに指示する第２の指示部と、
を有する情報処理装置。
【０２４３】
（付記２）
付記１において、
前記性能値は、前記仮想マシンに割り当てられるハードウェアに応じて変化する、
情報処理装置。
【０２４４】
（付記３）
付記１または２において、
前記第２の指示部は、複数の前記仮想マシンの前記ライセンス量の合計が所定値を超える場合に、前記複数の仮想マシンのうち一部の前記仮想マシンに、前記ライセンス量に応じた前記第１のソフトウェアのインストールを指示する、
情報処理装置。
【０２４５】
（付記４）
付記１または２において、
前記第２の指示部は、前記仮想マシンの前記ライセンス量が所定値を超える場合に、前記ライセンス量のうち一部のライセンス量に応じた前記第１のソフトウェアのインストールを、前記仮想マシンに指示する、
情報処理装置。
【０２４６】
（付記５）
付記１乃至４のいずれかにおいて、
前記第１の指示部は、前記仮想マシンに割り当てられたハードウェアの変更に応じて、前記第２のソフトウェアの再実行を指示し、
前記決定部は、前記再実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第１のソフトウェアのライセンス量を再決定し、
前記第２の指示部は、再決定した前記ライセンス量に応じた前記第１のソフトウェアのインストールを、前記仮想マシンに指示する、
情報処理装置。
【０２４７】
（付記６）
付記１乃至５のいずれかにおいて、
前記第２のソフトウェアは、第１のソフトウェアと同一のソフトウェア、または、第１のソフトウェアの一部のサブルーチンを有するソフトウェアである、
情報処理装置。
【０２４８】
（付記７）
コンピュータに、
仮想マシンの起動に応じて、前記仮想マシンが第１のソフトウェアを実行する際の、処理能力に関する性能値を測定する第２のソフトウェアのインストールと、前記第２のソフトウェアの実行とを、前記仮想マシンに指示し、
前記実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第１のソフトウェアのライセンス量を決定し、
前記ライセンス量に応じた前記第１のソフトウェアのインストールを、前記仮想マシンに指示する、
ことを実行させることを特徴とするライセンス管理プログラム。
【０２４９】
（付記８）
付記７において、
前記性能値は、前記仮想マシンに割り当てられるハードウェアに応じて変化する、
ライセンス管理プログラム。
【０２５０】
（付記９）
付記７または８において、
前記第１のソフトウェアのインストールの前記指示は、複数の前記仮想マシンの前記ライセンス量の合計が所定値を超える場合に、前記複数の仮想マシンのうち一部の前記仮想マシンに、前記ライセンス量に応じた前記第１のソフトウェアのインストールを指示する、
ライセンス管理プログラム。
【０２５１】
（付記１０）
付記７または８において、
前記第１のソフトウェアのインストールの前記指示は、前記仮想マシンの前記ライセンス量が所定値を超える場合に、前記ライセンス量のうち一部のライセンス量に応じた前記第１のソフトウェアのインストールを、前記仮想マシンに指示する、
ライセンス管理プログラム。
【０２５２】
（付記１１）
付記７乃至１０のいずれかにおいて、
前記第２のソフトウェアのインストール及び実行の前記指示は、前記仮想マシンに割り当てられたハードウェアの変更に応じて、前記第２のソフトウェアの再実行を指示し、
前記決定は、前記再実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第１のソフトウェアのライセンス量を再決定し、
前記第１のソフトウェアのインストールの前記指示は、再決定した前記ライセンス量に応じた前記第１のソフトウェアのインストールを、前記仮想マシンに指示する、
ライセンス管理プログラム。
【０２５３】
（付記１２）
付記７乃至１１のいずれかにおいて、
前記第２のソフトウェアは、第１のソフトウェアと同一のソフトウェア、または、第１のソフトウェアの一部のサブルーチンを有するソフトウェアである、
ライセンス管理プログラム。
【０２５４】
（付記１３）
処理部は、仮想マシンの起動に応じて、前記仮想マシンが第１のソフトウェアを実行する際の、処理能力に関する性能値を測定する第２のソフトウェアのインストールと、前記第２のソフトウェアの実行とを、前記仮想マシンに指示し、
処理部は、前記実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第１のソフトウェアのライセンス量を決定し、
処理部は、前記ライセンス量に応じた前記第１のソフトウェアのインストールを、前記仮想マシンに指示する、
ライセンス管理方法。
【０２５５】
（付記１４）
付記１３において、
前記性能値は、前記仮想マシンに割り当てられるハードウェアに応じて変化する、
ライセンス管理方法。
【０２５６】
（付記１５）
付記１３または１４において、
前記第１のソフトウェアのインストールの前記指示は、複数の前記仮想マシンの前記ライセンス量の合計が所定値を超える場合に、前記複数の仮想マシンのうち一部の前記仮想マシンに、前記ライセンス量に応じた前記第１のソフトウェアのインストールを指示する、
ライセンス管理方法。
【０２５７】
（付記１６）
付記１３または１４において、
前記第１のソフトウェアのインストールの前記指示は、前記仮想マシンの前記ライセンス量が所定値を超える場合に、前記ライセンス量のうち一部のライセンス量に応じた前記第１のソフトウェアのインストールを、前記仮想マシンに指示する、
ライセンス管理方法。
【０２５８】
（付記１７）
付記１３乃至１６のいずれかにおいて、
前記第２のソフトウェアのインストール及び実行の前記指示は、前記仮想マシンに割り当てられたハードウェアの変更に応じて、前記第２のソフトウェアの再実行を指示し、
前記決定は、前記再実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第１のソフトウェアのライセンス量を再決定し、
前記第１のソフトウェアのインストールの前記指示は、再決定した前記ライセンス量に応じた前記第１のソフトウェアのインストールを、前記仮想マシンに指示する、
ライセンス管理方法。
【０２５９】
（付記１８）
付記１３乃至１７のいずれかにおいて、
前記第２のソフトウェアは、第１のソフトウェアと同一のソフトウェア、または、第１のソフトウェアの一部のサブルーチンを有するソフトウェアである、
ライセンス管理方法。
【０２６０】
（付記１９）
情報処理装置は、仮想マシンの起動に応じて、前記仮想マシンが第１のソフトウェアを実行する際の、処理能力に関する性能値を測定する第２のソフトウェアのインストールと、前記第２のソフトウェアの実行とを、前記仮想マシンに指示し、
前記仮想マシンは、前記第２のソフトウェアをインストールし、前記第２のソフトウェアを実行して前記性能値を測定し、
前記情報処理装置は、前記性能値に基づいて、前記仮想マシンにおける前記第１のソフトウェアのライセンス量を決定し、前記ライセンス量に応じた前記第１のソフトウェアのインストールを、前記仮想マシンに指示し、
前記仮想マシンは、前記第１のソフトウェアを前記ライセンス量に応じて実行する、
ライセンス管理方法。
【符号の説明】
【０２６１】
１０ａ、１０ｂ（１０）：ライセンス利用サーバ、１００ａ〜１００ｄ：仮想マシン、２００：ライセンス管理サーバ、４００：通信制御ソフトウェア、４０３：ベンチマークテストプログラム
【図１】
2017049643.tif 000003
【図２】
2017049643.tif 000004
【図３】
2017049643.tif 000005
【図４】
2017049643.tif 000006
【図５】
2017049643.tif 000007
【図６】
2017049643.tif 000008
【図７】
2017049643.tif 000009
【図８】
2017049643.tif 000010
【図９】
2017049643.tif 000011
【図１０】
2017049643.tif 000012
【図１１】
2017049643.tif 000013
【図１２】
2017049643.tif 000014
【図１３】
2017049643.tif 000015
【図１４】
2017049643.tif 000016
【図１５】
2017049643.tif 000017
【図１６】
2017049643.tif 000018
【図１７】
2017049643.tif 000019
【図１８】
2017049643.tif 000020
【図１９】
2017049643.tif 000021
【図２０】
2017049643.tif 000022
【図２１】
2017049643.tif 000023
【図２２】
2017049643.tif 000024
【図２３】
2017049643.tif 000025
【図２４】
2017049643.tif 000026
【図２５】
2017049643.tif 000027
【図２６】
2017049643.tif 000028
【図２７】
2017049643.tif 000029
【図２８】
2017049643.tif 000030
【図２９】
2017049643.tif 000031
【図３０】
2017049643.tif 000032
【図３１】
2017049643.tif 000033
【図３２】
2017049643.tif 000034
【図３３】
2017049643.tif 000035
【図３４】
2017049643.tif 000036
【図３５】
2017049643.tif 000037