JP2017049643A - 情報処理装置、ライセンス管理プログラム、及び、ライセンス管理方法 - Google Patents

情報処理装置、ライセンス管理プログラム、及び、ライセンス管理方法 Download PDF

Info

Publication number
JP2017049643A
JP2017049643A JP2015170309A JP2015170309A JP2017049643A JP 2017049643 A JP2017049643 A JP 2017049643A JP 2015170309 A JP2015170309 A JP 2015170309A JP 2015170309 A JP2015170309 A JP 2015170309A JP 2017049643 A JP2017049643 A JP 2017049643A
Authority
JP
Japan
Prior art keywords
license
virtual machine
software
amount
license amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015170309A
Other languages
English (en)
Inventor
良明 大西
Yoshiaki Onishi
良明 大西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015170309A priority Critical patent/JP2017049643A/ja
Publication of JP2017049643A publication Critical patent/JP2017049643A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】処理能力に応じてライセンス量を管理する情報処理装置、ライセンス管理プログラム、及び、ライセンス管理方法を提供する。【解決手段】仮想マシンの起動に応じて、前記仮想マシンが第1のソフトウェアを実行する際の、処理能力に関する性能値を測定する第2のソフトウェアのインストールと、前記第2のソフトウェアの実行とを、前記仮想マシンに指示する第1の指示部と、前記実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第1のソフトウェアのライセンス量を決定する決定部と、前記ライセンス量に応じた前記第1のソフトウェアのインストールを、前記仮想マシンに指示する第2の指示部と、を有する。【選択図】図4

Description

本発明は、情報処理装置、ライセンス管理プログラム、及び、ライセンス管理方法に関する。
近年、IP(Internet Protocol:IP)電話システムでは、SIP(Session Initiation Protocol:SIP)プロトコルが広く利用されている。また、携帯電話システムのIPコアシステムのアーキテクチャについて、3GPP(Third Generation Partnership Project:3GPP)では、IMS(IP Multimedia Subsystem:IMS)が規定される。IMSを形成する各システムは、例えば、情報処理装置(ハードウェア)に、ネットワークを制御する通信制御ソフトウェアを実装することによって実現する。
通信制御ソフトウェアを提供する通信機器ベンダーは、例えば、通信制御ソフトウェアを実装するハードウェアを予め選定し、選定したハードウェアと通信制御ソフトとを組み合わせて、通信サービス事業者に提供する。通信サービス事業者は、IP電話システム等の情報処理サービスを提供する事業者である。
また、通信機器ベンダーは、通信サービス事業者とライセンス契約を交わし、契約したライセンス量に応じた通信制御ソフトウェアの使用を、通信サービス事業者に許可する。例えば、通信機器ベンダーは、ハードウェア上で通信制御ソフトウェアを動作させた場合の処理能力に基づいて、ライセンス量を決定する。
一方、NFV(Network Functions Virtualization:NFV)と称するネットワーク機能の仮想化が進んでいる。NFVに伴い、通信制御ソフトウェアは、ハードウェア上に構築される仮想マシンで動作する。
性能の評価に関しては、例えば、特許文献1に、ライセンス量に応じた制御に関しては、例えば、特許文献2、3に記載される。
特開2002−245282号公報 特開2005−38167号公報 特開2009−232136号公報
しかしながら、通信制御ソフトを仮想マシンで動作させる場合、通信サービス事業者が、仮想マシンを構成するハードウェアを選定するケースが多い。したがって、例えば、通信機器ベンダーは、通信サービス事業者が選定したハードウェアと同一のハードウェアを購入し、処理能力を測定し、ライセンス量を決定する。ただし、通信サービス事業者が選定したハードウェアと同一のハードウェアを購入することにより、コストがかかる。
このように、仮想マシンで動作する通信制御ソフトウェアの処理能力に応じて、ライセンス量を管理することは容易ではない。
1つの側面では、本発明は、処理能力に応じてライセンス量を管理する情報処理装置、ライセンス管理プログラム、及び、ライセンス管理方法を提供することを目的とする。
第1の態様によれば、仮想マシンの起動に応じて、前記仮想マシンが第1のソフトウェアを実行する際の、処理能力に関する性能値を測定する第2のソフトウェアのインストールと、前記第2のソフトウェアの実行とを、前記仮想マシンに指示する第1の指示部と、前記実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第1のソフトウェアのライセンス量を決定する決定部と、前記ライセンス量に応じた前記第1のソフトウェアのインストールを、前記仮想マシンに指示する第2の指示部と、を有する。
1つの側面では、処理能力に応じてライセンス量を管理する。
NFV(Network Functions Virtualisation:NFV)アーキテクチャを説明する図である。 通信機器ベンダーによるソフトウェアの提供例を説明する図である。 図2の(B)の例における、通信制御ソフトウェア400の処理能力を測定する方法の別の例を模式的に説明する図である。 本実施の形態における、通信制御ソフトウェア400のライセンス量の管理処理を模式的に説明する図である。 本実施の形態における情報処理システムの構成の一例を説明する図である。 図5に示した、ライセンス管理サーバ200のハードウェア構成図である。 図6に示した利用ライセンス管理データ230の一例を示す図である。 図6に示したライセンス管理プログラム220のソフトウェアブロック図である。 図5に示したライセンス利用サーバ(物理マシン)10aのハードウェア構成を説明する図である。 図9に示した、通信制御ソフトウェア400のソフトウェアブロックを説明する図である。 図7に示した、管理サーバのライセンス管理プログラム220の処理の流れを説明する図である。 図11で説明した、ライセンス管理プログラム220の処理の流れを説明するシーケンス図である。 図11、図12で説明した工程S1の処理の詳細を説明するフローチャート図である。 図11、図12で説明した工程S2、S3の処理を模式的に説明する図である。 図14で説明した、ライセンス管理プログラム220の処理の流れを説明するシーケンス図である。 図11、図12で説明した工程S4に示す、ライセンス量の制御処理の詳細を説明するフローチャート図である。 ライセンス量の制御処理の第1の例を模式的に説明する図である。 図17で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。 ライセンス量の制御処理の第2の例を模式的に説明する図である。 図19で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。 ライセンス量の制御処理の第3の例を模式的に説明する図である。 図21で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。 ライセンス量の制御処理の第4の例を模式的に説明する図である。 図23で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。 ライセンス量の制御処理の第5の例を模式的に説明する図である。 図25で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。 ライセンス量の制御処理の第6の例を模式的に説明する図である。 図27で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。 仮想マシン100で動作する、ベンチマークテストプログラム403の処理の流れを説明する図である。 図29のフローチャート図で説明した処理の結果を示す、呼量(BHCA)とCPU使用率との対応関係を示す図である。 図10で説明した、通信制御ソフトウェア400のライセンス制御処理の流れを説明するフローチャート図である。 仮想マシン100の再起動の際の、通信制御ソフトウェア400のライセンス管理処理の流れを説明するフローチャート図である。 通信サービス制御モジュール411のソフトウェアブロック図である。 図33に示した、通信サービス制御モジュール411の処理の流れを説明するシーケンス図である。 図34で説明した通信サービス制御モジュール411の信号受信時の処理を説明するフローチャート図である。
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
[NFVアーキテクチャ]
図1は、NFV(Network Functions Virtualisation:NFV)アーキテクチャを説明する図である。NFVアーキテクチャは、ネットワークを制御する通信機器の機能を、ソフトウェアとして実装し、仮想化されたサーバ(仮想マシン)上で実行するアーキテクチャである。即ち、NFVアーキテクチャは、通信機器の機能を仮想化基盤にしたがって実行する。
図1によると、NFVアーキテクチャは、VNF(Virtual Network Function:VNF)400、NFV基盤300、NFV Management and Orchestration500を有する。
NFV基盤300は、仮想化基盤を構築する物理リソースである。NFV基盤300は、例えば、仮想マシン100、仮想ストレージ301、仮想ネットワーク302、仮想化層303、及び、ハードウェア資源140を含む。ハードウェア資源140は、例えば、物理マシン10、物理ストレージ160、及び、物理ネットワーク170を含む。仮想化層303は、例えば、ハイパーバイザ(hypervisor)等である。仮想化層303は、ハードウェア資源140に基づいて、仮想化基盤(仮想マシン100、仮想ストレージ301、仮想ネットワーク302)を構築する。
VNF400は、通信機能を実現する各ソフトウェア400a〜400dを示す。VNF400は、例えば、携帯コア網における接続制御を行うIBCF(Interconnection Border Control Function:IBCF)、携帯コア網における制御系ノードであるMME(Mobility Management Entity)等の機能を実行するソフトウェアである。または、VNF400は、例えば、パケットを伝送するノードであるS-GW(Serving Gateway)や、P-GW(PDN Gateway)等の機能を実行するソフトウェアである。以下、本実施の形態では、VNF400を、通信制御ソフトウェア400と称する。
仮想マシン100は、通信制御ソフトウェア400をインストールし、仮想ストレージ301や仮想ネットワーク302を使用して、通信機器の機能を実現する。また、NFV Management and Orchestration500は、NFV基盤300に対応する物理リソース、及び、VNF400に対応するソフトウェアのリソースの管理や調整等を行う。
図1に示すように、通信機器の機能をNFV基盤300にしたがって仮想化することにより、複数の通信機器の機能を、1つの物理マシン10にしたがって実現可能になる。ハードウェア資源140の集約、及び、高密度化を進めることにより、管理コストや消費電力の低減を実現可能になる。また、特定の機能に対する需要の増減や、構成の変更に柔軟に対応することが可能になる。
[通信制御ソフトウェアのライセンス]
ここで、本実施の形態における、図1で説明した通信制御ソフトウェア(VNF)400のライセンスの提供方法を説明する。本実施の形態では、通信制御ソフトウェア400が、IBCFの機能を実行するソフトウェアである場合を例示する。
ライセンスの提供方法には、例えば、通信制御ソフトウェア400が動作する際に、所定の条件量に制限をかける方式等がある。所定の条件量は、例えば、利用可能な加入者情報のデータ数や、通話に利用する回線数、システムで同時利用できるセッション数、処理可能な呼量(Busy Hour Call Attempts:BHCA)等である。
呼量は、電話等の回線数の見積もりの際に使用する用語である。呼は、1回の通話を示し、呼量は、呼の延べ利用時間を単位時間で除算した値を示す。本実施の形態では、通信制御ソフトウェア400の実行中に、ライセンス量に応じて、処理可能な呼量(BHCA)に制限をかける場合を例示する。
[通信制御ソフトウェア400の提供例]
次に、図2にしたがって、通信サービス事業者に対する、図1に示した通信制御ソフトウェア400の提供例を説明する。
図2は、通信機器ベンダーによるソフトウェアの提供例を説明する図である。図2において、図1で示したものと同一のものは、同一の記号で示す。図2の(A)は、通信機器ベンダーがハードウェア資源140と通信制御ソフトウェア400とを組み合わせて提供する例を示す。一方、図2の(B)は、図1に示したNFVアーキテクチャに基づく通信制御ソフトウェア400の提供例を示し、通信機器ベンダーが通信制御ソフトウェア400のみを提供する例を示す。
図2の(A)の例では、通信機器ベンダーは、通信制御ソフトウェア400を、ハードウェア資源140、ミドルウェア401、オペレーションシステム402等と組み合わせて、通信サービス事業者に提供する。即ち、通信機器ベンダーは、ハードウェア資源140を選定し、選定したハードウェア資源140と通信制御ソフトウェア400とを組み合わせて通信サービス事業者に提供する。
したがって、図2の(A)によると、通信機器ベンダーは、通信制御ソフトウェア400が動作するハードウェア資源140との組合せに基づいて、予め、通信制御ソフトウェア400の処理能力(呼量:BHCA)を測定できる。通信機器ベンダーは、測定した処理能力に応じて、通信制御ソフトウェア400のライセンス量を決定する。
一方、図2の(B)の例によると、通信制御ソフトウェア400は、NFV基盤300上で動作する。NFV基盤300によると、1つの物理マシン10が、複数の通信機器の機能を実現する場合がある。したがって、図2の(B)の場合、NFV基盤300を構築するハードウェア資源140を、通信サービス事業者が選定するケースが多い。または、通信サービス事業者が基盤提供サービスを利用する場合、基盤提供サービス事業者等が、ハードウェア資源140を選定する。
したがって、図2の(B)の例によると、通信機器ベンダーは、通信制御ソフトウェア400のみを、通信サービス事業者に提供する。この場合、ハードウェア資源140と通信制御ソフトウェア400との組合せに応じた処理能力(呼量:BHCA)を測定できない。したがって、通信機器ベンダーは、通信制御ソフトウェア400のライセンス量を適切な値に決定できない。
仮に、図2の(B)の例において、ライセンス量を適切に決定しようとする場合、例えば、通信機器ベンダーは、通信サービス事業者が用意するハードウェア資源140と同一のハードウェア資源を購入する。そして、通信機器ベンダーは、購入したハードウェア資源140に仮想マシン100を構築し、通信制御ソフトウェア400を実行して処理能力を測定する。これにより、通信機器ベンダーは、ライセンス量を適切に決定できるものの、ハードウェア資源140を購入することによるコストが生じる。
また、図2の(B)の例によると、仮想マシン100では、通信制御ソフトウェア400に加え、仮想ルータやセキュリティソフトウェア等の他のソフトウェアが動作する場合がある。他のソフトウェアの動作状況に応じて、仮想マシン100の負荷状態やリソースの使用状況が変化することにより、通信制御ソフトウェア400の処理能力も変化する場合がある。したがって、実際の運用環境における通信制御ソフトウェア400の処理能力を測定することは容易ではない。
図3は、図2の(B)の例における、通信制御ソフトウェア400の処理能力を測定する別の例を模式的に説明する図である。図3は、通信制御ソフトウェア400が動作する仮想マシン100と、通信疑似装置600とを示す。通信疑似装置600は、通信機器ベンダーが用意する情報処理装置である。また、通信疑似装置600は、IP(Internet Protocol)ネットワーク700を介して、通信サービス事業者の実際の運用環境における仮想マシン100と接続する。
通信疑似装置600は、処理能力を測定するために、イベント(制御信号)を、IPネットワーク700を介して、通信制御ソフトウェア400に出力する。仮想マシン100で動作する通信制御ソフトウェア400は、通信疑似装置600から受信したイベントに応答して処理を行うことによって、処理能力を測定する。これにより、通信機器ベンダーは、測定した処理能力に基づいて、ライセンス量を適切に決定する。
ただし、図3の例によると、通信機器ベンダーは、通信疑似装置600及びIPネットワーク700を構築する必要が生じ、コストがかかる。また、仮想マシン100と、運用環境の外部の通信疑似装置600とを接続するIPネットワーク700を構築することにより、ネットワークの構成が複雑化するとともに、ネットワークにノイズが生じる場合がある。
このように、NFV基盤300で動作する通信制御ソフトウェア400の処理能力を、適切に測定することは容易ではない。
なお、図2の(A)の例では、通信機器の機能を専用の情報処理装置にしたがって実現するケースが多いのに対し、図2の(B)の例では、NFV基盤300を構成する物理マシン10は汎用的な情報処理装置である場合が多い。汎用的な情報処理装置は、専用の情報処理装置に対して、交換頻度が高い傾向にある。情報処理装置の交換に伴い、ハードウェア資源140が変化し処理能力も変化する。したがって、図2の(B)の例によると、図2の(A)の例に対して、通信制御ソフトウェア400の処理能力の変化が生じ易い傾向にある。
また、図2の(B)の例によると、マイグレーションの発生に伴い、通信制御ソフトウェア400が動作する仮想マシン100が、別のハードウェア資源140に移行する場合がある。これにより、仮想マシン100に割り当てられるハードウェア資源140が変化し、通信制御ソフトウェア400の処理能力が変化する場合がある。
[本実施の形態の概要]
したがって、本実施の形態におけるライセンス管理サーバ200は、仮想マシン100の起動に応じて、第2のソフトウェアのインストールと、第2のソフトウェアの実行とを、仮想マシン100に指示する。第2のソフトウェアは、仮想マシン100が第1のソフトウェア(通信制御ソフトウェア400)を実行する際の、処理能力に関する性能値を測定するソフトウェア(ベンチマークテストプログラムともいう)である。
また、ライセンス管理サーバ200は、仮想マシン100による第2のソフトウェアの実行によって測定された性能値に基づいて、仮想マシン100における第1のソフトウェアのライセンス量を決定する。そして、ライセンス管理サーバ200は、決定したライセンス量に応じた第1のソフトウェア(通信制御ソフトウェア400)のインストールを、仮想マシン100に指示する。
図4は、本実施の形態における、通信制御ソフトウェア400のライセンス量の管理処理を模式的に説明する図である。図4において、図1、図2で示したものと同一のものは、同一の記号で示す。
図4に示すライセンス管理サーバ200は、仮想マシン100と接続し、仮想マシン100で動作する通信制御ソフトウェア400のライセンス量を管理する。また、図4の例において、仮想マシン100に割り当てられたハードウェア資源140は、例えば、値「CPU:1コア、メモリ:1G、ディスク容量:100G」である。
ライセンス管理サーバ200は、仮想マシン100の起動に応じて、仮想マシン100に、通信制御ソフトウェア400の処理能力を測定するベンチマークテストプログラムのインストール、及び、その実行を指示する。仮想マシン100は、指示に応じて、ベンチマークテストプログラムをインストールし実行することにより、通信制御ソフトウェア400の性能値(処理可能な呼量)を測定する。本実施の形態において、ベンチマークテストプログラムは、処理能力の基準値を示す呼量をシミュレートすることによって、仮想マシン100で処理可能な呼量を、性能値として測定する。
ライセンス管理サーバ200は、仮想マシン100から性能値を受信すると、性能値に基づいて、通信制御ソフトウェア400のライセンス量(測定ライセンス量ともいう)を決定する。そして、ライセンス管理サーバ200は、測定ライセンス量に応じた通信制御ソフトウェア400のインストールを、仮想マシン100に指示する。これにより、通信制御ソフトウェア400は、測定ライセンス量に対応する呼量の範囲内で動作する。
このように、ライセンス管理サーバ200は、通信制御ソフトウェア400のみを提供する場合であっても、ライセンス量を、ハードウェア資源140と通信制御ソフトウェア400との組合せに基づいた処理能力に応じた値に決定できる。
これにより、ライセンス管理サーバ200は、実際の処理能力に応じた適切なライセンス量に基づいて、通信制御ソフトウェア400の処理を管理できる。また、ライセンス管理サーバ200は、仮想マシン100に割り当てられたハードウェア資源140に応じて、仮想マシン100毎に、ライセンス量を適切な値に設定できる。
また、ライセンス管理サーバ200は、処理能力に基づくライセンス量に応じて、通信制御ソフトウェア400の処理を管理する。これにより、運用時に、通信制御ソフトウェア400が、購入したライセンス量に応じた処理能力を実現できないケースや、実際の処理能力に対して購入したライセンス量が少なく、ハードウェア資源140を有効活用できないケースを回避可能になる。即ち、ライセンス管理プログラム220は、ライセンス量に応じた処理能力(呼量)を保証できるとともに、ライセンス量を、ハードウェア資源140を効率的に利用可能な値に設定できる。
また、通信制御ソフトウェア400が仮想マシン100で動作する場合、マイグレーションやサービスの拡縮等に応じて、仮想マシン100を構築するハードウェア資源140が生じる場合がある。本実施の形態におけるライセンス管理サーバ200は、性能値を測定し、測定した性能値に応じてライセンス量を決定する。これにより、ハードウェア資源140の変化に伴い通信制御ソフトウェア400の性能値が変化した場合であっても、変化に応じた処理能力に応じたライセンス量に基づいて、通信制御ソフトウェア400の処理を管理できる。
また、通信機器ベンダーは、ライセンス量を決定するために、通信サービス事業者が使用するハードウェアと同一のハードウェアを用意する必要がない。また、通信機器ベンダーは、図3に示したような通信疑似装置600及びIPネットワーク700を用意する必要がない。したがって、ライセンス量を決定するためのコストや工数を抑えることが可能になる。
なお、ベンチマークテストプログラムは、通信制御ソフトウェア400と同一のソフトウェアであってもよいし、通信制御ソフトウェア400が有するサブルーチンの一部のサブルーチンを有するソフトウェアであってもよい。本実施の形態において、当該一部のサブルーチンは、例えば、通話の開始処理や終了処理に関するサブルーチンを示す。
次に、図5にしたがって、本実施の形態における情報処理システムの構成の一例を説明する。また、図6〜図10にしたがって、情報処理システムを構成する、ライセンス管理サーバ200及びライセンス利用サーバの、ハードウェア構成及びソフトウェアブロック図を説明する。
[情報処理システム]
図5は、本実施の形態における情報処理システムの構成の一例を説明する図である。図5に示す情報処理システムは、ライセンス管理サーバ200(図4)と、2つのライセンス利用サーバ10a、10b(ライセンス利用サーバ10、物理マシン10ともいう、図4)とを有する。
図5の例において、ライセンス利用サーバ10aは、3つの仮想マシン100a〜100cを実行し、ライセンス利用サーバ10bは1つの仮想マシン100dを実行する。ライセンス管理サーバ200は、各ライセンス利用サーバ10a、10bの、仮想マシン100a〜100d(仮想マシン100ともいう)のそれぞれと接続する。
ライセンス管理サーバ200は、通信サービス事業者が購入したライセンス量(以下、基本ライセンス量と称する)や、各仮想マシン100に払い出されたライセンス量(以下、利用ライセンス量と称する)を管理する。図5の例によると、基本ライセンス量は、値「300万BHCA」である。
また、図5の例によると、ライセンス利用サーバ10aが備えるハードウェアのスペックは、値「CPU:20コア、メモリ:10G、ディスク容量:1000G」である。各仮想マシン100a〜100cに割り当てられるハードウェア資源140は、仮想マシン100毎に異なる。
図5の例によると、仮想マシン100aに割り当てられたハードウェア資源140は値「CPU:1コア、メモリ:1G、ディスク容量:100G」である。また、仮想マシン100bに割り当てられたハードウェア資源140は値「CPU:4コア、メモリ:4G、ディスク容量:400G」である。また、仮想マシン100cに割り当てられたハードウェア資源140は値「CPU:10コア、メモリ:10G、ディスク容量:400G」である。
また、図5の例によると、ライセンス利用サーバ10bが備えるハードウェアのスペックは、値「CPU:10コア、メモリ:10G、ディスク容量:500G」である。また、仮想マシン100dに割り当てられたハードウェア資源140は、値「CPU:5コア、メモリ:5G、ディスク容量:300G」である。
図5に示す仮想マシン100a〜100dで通信制御ソフトウェア400を実行する場合、各仮想マシン100のハードウェア資源140が異なることから、各仮想マシン100における通信制御ソフトウェア400の処理能力も異なる。なお、仮に、ハードウェア資源140が同一であっても、仮想マシン100で動作する他のソフトウェアや、通信処理の負荷等に応じて、処理能力が異なる場合がある。
[ライセンス管理サーバ200のハードウェア構成]
図6は、図5に示した、ライセンス管理サーバ200のハードウェア構成図である。ライセンス管理サーバ200は、例えば、CPU(Central Processing Unit:CPU)201、メインメモリ210や補助記憶装置211等を備えるメモリ202、通信インタフェース部203、外部インタフェース部204を有する。各部は、バス206を介して相互に接続する。
CPU201は、バス206を介してメモリ202等と接続するとともに、ライセンス管理サーバ200全体の制御を行う。通信インタフェース部203は、イントラネット等を介して、ライセンス利用サーバ10(図5)と接続し、情報の送受信を行う。RAM(Random Access Memory:RAM)等を示すメインメモリ210は、CPU201が処理を行うデータ等を記憶する。また、外部インタフェース部204は、ストレージ装置等の外部の機器(図示せず)と接続する。
補助記憶装置211は、CPU201が実行するオペレーションシステムのプログラムを格納する領域(図示せず)を備える。また、補助記憶装置211は、ライセンス管理プログラム格納領域220、利用ライセンス管理データ格納領域230、基本ライセンス管理データ格納領域230を有する。また、補助記憶装置211は、通信制御ソフトウェア格納領域400、ベンチマークテストプログラム格納領域403を有する。補助記憶装置211は、HDD(Hard disk drive:HDD)、不揮発性半導体メモリ等を示す。
ライセンス管理プログラム格納領域220のライセンス管理プログラム(以下、ライセンス管理プログラム220と称する)は、CPU201の実行によって、ライセンス管理プログラム220の処理を実現する。ライセンス管理プログラム220の処理の詳細は、図8にしたがって後述する。
利用ライセンス管理データ格納領域230の利用ライセンス管理データ(以下、利用ライセンス管理データ230と称する)は、各仮想マシン100の、通信制御ソフトウェア400の利用ライセンス量を管理するテーブルである。利用ライセンス管理データ230の詳細は、図7にしたがって後述する。
基本ライセンス管理データ格納領域240の基本ライセンス管理データ(以下、基本ライセンス管理データ240と称する)は、通信サービス事業者(顧客)が購入した、合計の基本ライセンス量を管理するデータである。本実施の形態における基本ライセンス管理データ240は、基本ライセンス量が値「300万BHCA」である旨の情報を有する。
通信制御ソフトウェア格納領域400の通信制御ソフトウェア(以下、通信制御ソフトウェア400と称する)は、CPU201の実行によって、図1で前述した通信制御ソフトウェア400の処理を実現する。ベンチマークテストプログラム格納領域403のベンチマークテストプログラム(以下、ベンチマークテストプログラム403と称する)は、CPU201の実行によって、ベンチマークテストプログラム403の処理を実現する。
[利用ライセンス管理データ230]
図7は、図6に示した利用ライセンス管理データ230の一例を示す図である。利用ライセンス管理データ230は、仮想マシン毎に、利用ライセンス量やハードウェア資源等を管理するデータである。図7に示す利用ライセンス管理データ230は、図5に示した仮想マシン100aに関するデータを示す。
利用ライセンス管理データ230は、例えば、登録名称、IPアドレス、ハードウェア情報(CPU、メモリ、ディスク容量)、測定ライセンス量、ライセンスの利用状態、利用ライセンス量等の項目の情報を有する。
登録名称は、仮想マシン100aの登録名称を示し、仮想マシン100aを識別する情報である。図7の例によると、仮想マシン100aの登録名称は「サーバA」である。IPアドレスは、ライセンス管理サーバ200がアクセスする、仮想マシン100aのIPアドレスを示す。図7の例によると、仮想マシン100aのIPアドレスは、アドレス「192.168.1.10」である。
ハードウェア情報(CPU、メモリ、ディスク容量)は、仮想マシン100aに割り当てられたハードウェア資源の情報を示し、例えば、CPUコアの数、メモリの容量、及び、ディスク容量等の情報を含む。図5で前述したとおり、仮想マシン100aには、例えば、1つのCPUコア、1GByteのメモリ、100GByteのディスク容量が割り当てられる。
測定ライセンス量(システム適用ライセンス量ともいう)は、仮想マシン100aでベンチマークテストプログラム403を実行して測定した処理能力(呼量)に対応するライセンス量を示す。図7の例によると、仮想マシン100aの測定ライセンス量は、「200万BHCA」である。
ライセンスの利用状態は、仮想マシン100aがライセンスを利用中の状態であるか否かを示す。利用ライセンス量は、測定ライセンス量のうち、仮想マシン100に実際に払い出されたライセンス量を示す。図7の例によると、払い出されたライセンス量は、測定ライセンス量「200万BHCA」のうち「100万BHCA」である。
[ライセンス管理サーバ200のソフトウェアブロック]
図8は、図6に示したライセンス管理プログラム220のソフトウェアブロック図である。図8に示すライセンス管理プログラム220は、データ管理モジュール310、制御モジュール320、保守制御モジュール330、ファイル管理モジュール340を有する。なお、ライセンス管理プログラム220の処理の詳細は、図11〜図28にしたがって後述する。
データ管理モジュール310は、基本ライセンスデータ管理モジュール311、及び、利用ライセンスデータ管理モジュール312を有する。基本ライセンスデータ管理モジュール311は、顧客毎に、顧客と契約したライセンス量を管理し、基本ライセンス管理データ240に記憶する。本実施の形態では、基本ライセンス管理データ240は、顧客が契約したライセンス量が、「300万BHCA」である旨の情報を有する。利用ライセンスデータ管理モジュール312は、仮想マシン毎に、図7に示した利用ライセンス管理データ230の情報を管理する。
ファイル管理モジュール340は、ベンチマーク制御ソフト管理モジュール341と、通信制御ソフト管理モジュール342とを有する。ベンチマーク制御ソフト管理モジュール341は、ベンチマークテストプログラム403のインストールを制御する。通信制御ソフト管理モジュール342は、通信制御ソフトウェア400のインストールを制御する。
制御モジュール320のライセンス制御モジュール321は、基本ライセンスデータ管理モジュール311、及び、利用ライセンスデータ管理モジュール312を介して、通信制御ソフトウェア400のライセンス量を管理する。また、ライセンス制御モジュール321は、ベンチマーク制御ソフト管理モジュール341、及び、通信制御ソフト管理モジュール342を介して、ベンチマークテストプログラム403及び通信制御ソフトウェア400のインストールを制御する。
保守制御モジュール330のコマンド制御モジュール331は、コマンド入力画面等のユーザインタフェースを介して、保守者50からの指示や情報の登録を受け付け、ライセンス制御モジュール321に通知する。また、コマンド制御モジュール331は、指示の結果をユーザインタフェースに出力する。
[ライセンス利用サーバ10のハードウェア構成]
図9は、図5に示したライセンス利用サーバ(物理マシン)10aのハードウェア構成を説明する図である。なお、ライセンス利用サーバ10bも、ライセンス利用サーバ10aと同様の構成を有する。
ライセンス利用サーバ10aは、例えば、CPU(Central Processing Unit:CPU)101、メインメモリ110や補助記憶装置111等を備えるメモリ102、通信インタフェース部103、外部インタフェース部104を有する。各部は、バス106を介して相互に接続する。
CPU101は、バス106を介してメモリ102等と接続するとともに、ライセンス利用サーバ10a全体の制御を行う。通信インタフェース部(図1の物理ネットワーク170に対応)103は、イントラネット等を介して、他の装置と接続し、データの送受信を行う。RAM(Random Access Memory:RAM)等を示すメインメモリ110は、CPU101が処理を行うデータ等を記憶する。また、外部インタフェース部104は、ストレージ装置(図1の物理ストレージ160に対応)等の機器と接続する。
補助記憶装置111は、CPU101が処理を行うデータ等を記憶する。また、補助記憶装置111は、ハイパーバイザプログラム格納領域120、仮想マシン100aのデータ格納領域130a、仮想マシン100bのデータ格納領域131b、仮想マシン100cのデータ格納領域130cを備える。また、補助記憶装置111は、仮想マシン100aの通信制御ソフトウェア格納領域400a、仮想マシン100bの通信制御ソフトウェア格納領域400b、仮想マシン100cの通信制御ソフトウェア格納領域400cを備える。補助記憶装置111は、HDD(Hard disk drive:HDD)、不揮発性半導体メモリ等を示す。
ハイパーバイザプログラム格納領域120のハイパーバイザプログラム(以下、ハイパーバイザプログラム120と称する)は、CPU101の実行によって、本実施の形態例におけるハイパーバイザ(図1の仮想化層303に対応)の処理を実現する。
仮想マシン100aのデータ格納領域の仮想マシン100aデータ(以下、仮想マシン100aデータ130aと称する)は、ハイパーバイザプログラム120によって参照または更新され、仮想マシン100aとして動作する。同様にして、データ格納領域130bの仮想マシン100bのデータは仮想マシン100bとして動作し、データ格納領域130cの仮想マシン100cのデータは仮想マシン100cとして動作する。
通信制御ソフトウェア格納領域400aの通信制御ソフトウェア(以下、通信制御ソフトウェア400a)は、仮想マシン100aにしたがって、通信制御ソフトウェア400aの処理を実現する。本実施の形態における通信制御ソフトウェア400aの処理の詳細は、図10にしたがって後述する。
同様にして、通信制御ソフトウェア格納領域400bの通信制御ソフトウェアは、仮想マシン100bにしたがって、通信制御ソフトウェア400bの処理を実現する。また、通信制御ソフトウェア格納領域400cの通信制御ソフトウェアは、仮想マシン100cにしたがって、通信制御ソフトウェア400cの処理を実現する。
[ライセンス利用サーバ10のソフトウェアブロック]
図10は、図9に示した、通信制御ソフトウェア400のソフトウェアブロックを説明する図である。図10に示す通信制御ソフトウェア400は、アプリケーション制御モジュール410、ライセンス管理モジュール420、通信制御モジュール430、再開制御モジュール440を有する。各モジュール410〜440は互いに接続する。通信制御ソフトウェア400の処理の詳細は、図31〜図35にしたがって後述する。
アプリケーション制御モジュール410は、通信サービス制御モジュール411、通信状態制御モジュール412、規制制御モジュール413を有する。通信サービス制御モジュール411は、通信制御ソフトウェア400が提供する通話サービスを制御する。通信状態制御モジュール412は、他の仮想マシン100や装置との通信状態を制御する。規制制御モジュール413は、通信制御ソフトウェア400に払い出されたライセンス量に応じて、通話サービスの信号を規制する。
ライセンス管理モジュール420のライセンス制御モジュール421は、通信制御ソフトウェア400が、払い出されたライセンス量の範囲内で動作しているか否かを判定する。また、ライセンス制御モジュール421は、払い出されたライセンス量を超えて動作する場合に、信号の規制を規制制御モジュール413に指示する。
通信制御モジュール430の接続通信制御モジュール431は、他の仮想マシン100や装置との接続を制御するとともに、通信状態制御モジュール412に通信状態を通知する。再開制御モジュール440の再開処理制御モジュール441は、仮想マシン100の再起動に応じて、割り当てられたハードウェア資源が変化している場合に、性能値を再測定する。
[ライセンス管理サーバ200の処理]
次に、図11、図12にしたがって、図8で説明した、ライセンス管理サーバ200のライセンス管理プログラム220の処理の流れを説明する。
図11は、図8に示した、管理サーバのライセンス管理プログラム220の処理の流れを説明する図である。図11において、図1、図2、図5で示したものと同一のものは、同一の記号で示す。図11は、仮想マシン100aの通信制御ソフトウェア400のライセンス量を管理する場合を例示する。ライセンス管理プログラム220の処理は、4つの工程S1〜S4を有する。
S1:ライセンス管理プログラム220は、基本ライセンス量の登録を受け付け、基本ライセンス管理データ240に記憶する。本実施の形態において、基本ライセンス量は、値「300万BHCA」である。
具体的に、ライセンス管理プログラム220のコマンド制御モジュール331は、ユーザインタフェース等を介して基本ライセンス量の登録を受け付け、基本ライセンスデータ管理モジュール311に通知する。基本ライセンスデータ管理モジュール311は、基本ライセンス量を基本ライセンス管理データ240に記憶する。工程S1の処理の詳細は、図13にしたがって後述する。
S2:ライセンス管理プログラム220は、仮想マシン100aに割り当てられたハードウェア資源の登録を受け付け、利用ライセンス管理データ230(図7)に記憶する。
具体的に、コマンド制御モジュール331は、仮想マシン100aに割り当てられたハードウェア資源の情報の登録を受け付け、ライセンス制御モジュール321を介して、利用ライセンスデータ管理モジュール312に通知する。利用ライセンスデータ管理モジュール312は、通知された情報に基づいて、利用ライセンス管理データ230に記憶する。
S3:ライセンス管理プログラム220は、仮想マシン100aに、ベンチマークテストプログラム403のインストール、及び、実行を指示する。また、ライセンス管理プログラム220は、ベンチマークテストプログラム403の実行結果を示す性能値に基づいて、仮想マシン100aで動作する通信制御ソフトウェア400のライセンス量(測定ライセンス量)を決定する。
具体的に、ベンチマーク制御ソフト管理モジュール341は、仮想マシン100aに、ベンチマークテストプログラム403のインストール及び実行の指示を出力する。ベンチマークテストプログラム403は、仮想マシン100における処理能力(呼量)を示す性能値を測定し、ライセンス管理プログラム220に通知する。
性能値は、仮想マシン100に割り当てられるハードウェア資源に応じて変化する。したがって、実際の運用環境でベンチマークテストプログラム403を実行して性能値を測定することによって、ハードウェア資源140と通信制御ソフトウェア400との組合せに基づく性能値を正確に測定可能になる。
ライセンス制御モジュール321は、受信した性能値(例えば、「20万BHCA」)に応じたライセンス量(「20万BHCA」)を、仮想マシン100aの測定ライセンス量として決定する。そして、ライセンス制御モジュール321は、利用ライセンスデータ管理モジュール312を介して、測定ライセンス量「20万BHCA」を利用ライセンス管理データ230に記憶する。工程S2、S3の処理を、図14にしたがって後述する。
S4:ライセンス管理プログラム220は、仮想マシン100aに、決定したライセンス量に応じた、通信制御ソフトウェア400のインストールを指示する。例えば、ライセンス管理プログラム220は、決定したライセンス量を通信制御ソフトウェア400に指定し、当該通信制御ソフトウェア400のインストールを指示する。
具体的に、ライセンス制御モジュール321は、工程S1で登録された基本ライセンス量の範囲内で、決定したライセンス量の払い出し処理を行い、利用ライセンス量を決定する。ライセンス量の払い出し処理の詳細を、図16にしたがって後述する。
そして、通信制御ソフト管理モジュール342は、利用ライセンス量を指定した、通信制御ソフトウェア400のインストールを指示する。また、ライセンス制御モジュール321は、利用ライセンスデータ管理モジュール312を介して、利用ライセンス量及びライセンス量の利用状態を、利用ライセンス管理データ230(図7)に記憶する。
このように、ライセンス管理サーバ200は、通信制御ソフトウェア400が仮想マシン100で動作する場合であっても、ライセンス量を、ハードウェア資源140と通信制御ソフトウェア400との組合せに基づいた処理能力に応じた値に設定できる。そして、ライセンス管理サーバ200は、実際の処理能力に応じた適切なライセンス量に基づいて、通信制御ソフトウェア400の処理を管理できる。
また、仮想マシン100は、利用ライセンス量の情報を有する通信制御ソフトウェア400を、インストールして実行することにより、利用ライセンス量に応じた呼量の範囲内で処理を行う。利用ライセンス量に応じた処理の制御を、図31にしたがって後述する。
また、通信制御ソフトウェア400は、仮想マシン100の再起動の際に、割り当てられたハードウェア資源140に変更が生じた場合に、性能値を再測定する。これにより、ハードウェア資源140が変化した場合であっても、処理能力に応じたライセンス量に基づく、通信制御ソフトウェア400の制御が可能になる。再起動の際の処理の詳細を、図32にしたがって後述する。
(シーケンス図)
図12は、図11で説明した、ライセンス管理プログラム220の処理の流れを説明するシーケンス図である。図12に示すシーケンス図は、通信サービス事業者の保守者50と、ライセンス管理サーバ200のライセンス管理プログラム220と、仮想マシン100との処理の流れを説明する。
保守者50は、ライセンス管理プログラム220に、基本ライセンスを登録する(S1)。次に、保守者50は、ライセンス管理プログラム220に、仮想マシン100に割り当てられたハードウェア資源の情報を登録する(S2)。
そして、ライセンス管理プログラム220は、仮想マシン100に対して、ベンチマークテストプログラム403のインストールを指示する(S3−1)。仮想マシン100は、ベンチマークテストプログラム403のインストールを完了すると、完了した旨をライセンス管理プログラム220に通知する(S3−2)。
そして、ライセンス管理プログラム220は、インストールの完了に応答して、仮想マシン100に、ベンチマークテストプログラム403の実行を指示する(S3−3)。仮想マシン100は、ベンチマークテストプログラム403の実行を完了すると、実行結果である性能値(BHCA)をライセンス管理プログラム220に通知する(S3−4)。
保守者50は、ライセンス量の利用開始指示を通知する(S4−1)。ライセンス管理プログラム220は、通知に応答して、ライセンス量を組み込んだ通信制御ソフトウェア400のインストールを仮想マシン100に指示する(S4−2)。通信制御ソフトウェア400のインストールを完了すると、仮想マシン100は当該完了をライセンス管理プログラム220に通知し(S4−3)、ライセンス管理プログラム220は、当該完了を保守者50に通知する(S4−4)。
[(図11のS1)]
図13は、図11、図12で説明した工程S1の処理の詳細を説明するフローチャート図である。基本ライセンス量を登録する前、登録状態は「未登録」を示す。
S11:コマンド制御モジュール331は、保守者50から、購入した基本ライセンス量(本実施の形態では、「300万BHCA」)の登録を受け付け、ライセンス制御モジュール321に通知する。
S12:ライセンス制御モジュール321は、基本ライセンスデータ管理モジュール311を介して、基本ライセンス管理データ240に、基本ライセンス量「300万BHCA」を記憶する。
S13:コマンド制御モジュール331を介して、基本ライセンス量の追加購入の登録を受け付けた場合、ライセンス制御モジュール321は、基本ライセンス量を更新する。例えば、ライセンス量「100万BHCA」の追加購入を受け付けた場合、基本ライセンスデータ管理モジュール311は、ライセンス量「400万(=300万+100万)BHCA」を基本ライセンス管理データ240に記憶(登録)する。
S14:コマンド制御モジュール331を介して、基本ライセンス量の削減を受け付けた場合、ライセンス制御モジュール321は、基本ライセンス量を更新する。例えば、ライセンス量「100万BHCA」の削減を受け付けた場合、基本ライセンスデータ管理モジュール311は、ライセンス量「200万(=300万−100万)BHCA」を基本ライセンス管理データ240に記憶(登録)する。
[(図11のS2、S3)]
図14は、図11、図12で説明した工程S2、S3の処理を模式的に説明する図である。図14において、図5、図11で示したものと同一のものは、同一の記号で示す。図14に示す、各物理マシン(ライセンス利用サーバ)10、及び、ライセンス利用サーバ10が実行する各仮想マシン100に割り当てられたハードウェア資源140は、図5で説明したとおりである。
保守者50は、各仮想マシン100に割り当てられたハードウェア資源140の情報を、ライセンス管理プログラム220に登録する(図11のS2)。ハードウェア資源140の情報は、例えば、CPUコアの数やメモリサイズ、ディスク容量等の情報を含む。また、ハードウェア資源140の情報は、さらに、CPUコアの種別や仕様、及び、メモリやディスクの種別等の情報を含んでいてもよい。
また、図14は、各仮想マシン100の、ハードウェア資源140に対応する処理能力(ハード性能)と、通信制御ソフトウェア400に対応する処理能力(ソフト性能)とを示す。ハード性能は、仮想マシン100に割り当てられたハードウェア資源140に基づいて、算出した処理能力に対応する。また、ソフト性能は、例えば、仮想マシン100に割り当てられたハードウェア資源140と同程度のハードウェア資源140を備える情報処理装置が、ベンチマークテストを行って測定した処理能力を示す。
図14の例によると、仮想マシン100aのハード性能は値「20万BHCA」であって、ソフト性能は値「10万BHCA」である。図14に示すように、ベンチマークテストプログラム403にしたがって測定する場合の性能値は、例えば、ハード性能とソフト性能のうち、値が小さい方の処理能力を示す。図14の例によると、仮想マシン100aにおけるベンチマークテストプログラム403の性能値は、値「10万BHCA」となる。
同様にして、仮想マシン100dのハード性能は値「100万BHCA」であって、ソフト性能は値「150万BHCA」である。したがって、仮想マシン100dにおけるベンチマークテストプログラム403の性能値は、値「100万BHCA」となる。同様にして、仮想マシン100bの性能値は値「40万BHCA」に、仮想マシン100cの性能値は値「100万BHCA」となる。
このように、ベンチマークテストプログラム403を実際の運用環境で実行することによって、ハードウェア資源140と通信制御ソフトウェア400との組合せに基づく、正確な性能値を測定可能になる。
(シーケンス図)
図15は、図14で説明した、ライセンス管理プログラム220の処理の流れを説明するシーケンス図である。図15に示すシーケンス図は、通信サービス事業者の保守者50と、ライセンス管理サーバ200のライセンス管理プログラム220と、各仮想マシン100との処理の流れを説明する。
保守者50は、ライセンス管理プログラム220に、各仮想マシン100a〜100dに割り当てられたハードウェア資源140を登録する(S2)。そして、ライセンス管理プログラム220は、仮想マシン100aに、ベンチマークテストプログラム403のインストール(S3−1a)、及び、ベンチマークテストプログラム403の実行を指示する(S3−2a)。
同様にして、ライセンス管理プログラム220は、順次、各仮想マシン100b〜100dに、ベンチマークテストプログラム403のインストール(S3−1b〜S3−1d)、及び、その実行を指示する(S3−2b〜S3−2d)。
図15に図示していないが、各仮想マシン100a〜100dは、ベンチマークテストプログラム403の実行を完了すると、実行結果である性能値をライセンス管理プログラム220に通知する。ライセンス管理プログラム220は、性能値に基づいて、各仮想マシン100で動作する通信制御ソフトウェア400のライセンス量(測定ライセンス量)を決定する。
[(図11のS4)]
図16は、図11、図12で説明した工程S4に示す、ライセンス量の制御処理の詳細を説明するフローチャート図である。ライセンス制御モジュール321は、基本ライセンス量に収まるように、測定ライセンス量に基づいて、払い出す利用ライセンス量を決定する。
S21:ライセンス制御モジュール321は、基本ライセンス量(本実施の形態では、「300万BHCA」)の情報を有する。また、例えば、各仮想マシン100に払い出し済みの利用ライセンス量の合計が値「X万BHCA」である場合、残ライセンス量は、値「Y(=300−X)万BHCA」である。
S22:ライセンス制御モジュール321は、非活性(非利用状態)となったライセンス量の払い戻しに応答して、ライセンス量(例えば、「100万BHCA」)を払い戻す。
S23:ライセンス制御モジュール321は、利用ライセンス量の合計(「X−100万BHCA」)、及び、残ライセンス量(「Y+100万BHCA」)を算出する。
S24:払い戻しが成功したことにより、ライセンス制御モジュール321は、ライセンス制御が正常に行われた旨、応答する。
S25:ライセンス制御モジュール321は、残ライセンス量「Y」以下のライセンス量「Z」の払い出しの要求に応じて、ライセンス量「Y(例えば、「100万BHCA」、利用ライセンス量)」を払い出す。
S26:ライセンス制御モジュール321は、利用ライセンス量の合計(「X+100万BHCA」)、及び、残ライセンス量(「Y−100万BHCA」)を算出する。
S27:払い出しが成功したことにより、ライセンス制御モジュール321は、ライセンス制御が正常に行われた旨、応答する。
S28:ライセンス制御モジュール321は、残ライセンス量「Y」より多いライセンス量「Z」の払い出しの要求に応じて、基本ライセンス量の範囲内で払い出し可能なライセンス量「Y」(利用ライセンス量)を払い出す。
S29:ライセンス制御モジュール321は、利用ライセンス量の合計(「300(=X+Y)万BHCA」)、及び、残ライセンスを値「0万BHCA」を算出する。
S30:ライセンス制御モジュール321は、払い出したライセンス量「Y万BHCA」とともに、ライセンス制御が正常に行われた旨、応答する。
S31:残ライセンスが値「0万BHCA」である場合、ライセンス制御モジュール321は払い出しを行わない。
S32:ライセンス制御モジュール321は、利用ライセンス量の合計(「300万BHCA」)、及び、残ライセンス量(「0万BHCA」)を算出する。
S33:ライセンス制御モジュール321は、残ライセンス量が値「0万BHCA」である旨の情報とともに、ライセンス制御に異常が生じた旨、応答する。
次に、図17〜図28にしたがって、図16で説明したライセンス量の制御処理の例を順次、説明する。
(例1)
図17は、ライセンス量の制御処理の第1の例を模式的に説明する図である。図17において、図5、図14で示したものと同一のものは、同一の記号で示す。また、図17に示す、各物理マシン10及び各仮想マシン100のハードウェア資源140は、図5で説明したとおりである。
図17は、払い出し対象のライセンス量の合計が、基本ライセンス量に収まる場合を示す。図17の例によると、仮想マシン100aの測定ライセンス量は値「10万BHCA」であって、仮想マシン100bの測定ライセンス量は値「40万BHCA」である。また、仮想マシン100cの測定ライセンス量は値「100万BHCA」であって、仮想マシン100dの測定ライセンス量は値「100万BHCA」である。
したがって、仮想マシン100a〜100dの測定ライセンス量の合計「250万BHCA」は、基本ライセンス量「300万BHCA」に収まる。各仮想マシン100a〜100dの測定ライセンス量をすべて利用可能であるため、ライセンス制御モジュール321は、各仮想マシン100a〜100dに測定ライセンス量を払い出す。これにより、各仮想マシン100a〜100dのライセンス量の利用状態は、状態「利用」となり、利用ライセンス量の合計は、値「250万BHCA」となる。
このように、ライセンス管理プログラム220は、測定ライセンス量の合計が基本ライセンス量に収まる場合、処理能力に応じた測定ライセンス量を、各仮想マシン100に払い出す。これにより、ライセンス管理プログラム220は、各仮想マシン100の通信制御ソフトウェア400の処理を、処理能力に対応する適切なライセンス量にしたがって管理できる。
(シーケンス図)
図18は、図17で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。図18に示すシーケンス図は、通信サービス事業者の保守者50と、ライセンス管理サーバ200のライセンス管理プログラム220と、各仮想マシン100との処理の流れを説明する。
保守者50は、仮想マシン100aのライセンス利用開始指示を、ライセンス管理プログラム220に送信する(S4−1a)。ライセンス管理プログラム220は、指示に応答して、仮想マシン100aに、測定ライセンス量「10万BHCA」を指定した通信制御ソフトウェア400のインストールを指示する(S4−2a)。インストールが完了すると、仮想マシン100aは、インストールの完了をライセンス管理プログラム220に通知する(S4−3a)。ライセンス管理プログラム220は、インストールの完了を保守者50に通知する(S4−4a)。
同様にして、保守者50は、他の仮想マシン100b〜100dのライセンス利用開始指示を、ライセンス管理プログラム220に順次、送信する(S4−1b〜S4−1d)。ライセンス管理プログラム220は、各仮想マシン100b〜100dに、測定ライセンス量を指定した通信制御ソフトウェア400のインストールを指示する(S4−2b〜S4−2d)。
インストールが完了すると、各仮想マシン100b〜100dは、当該完了をライセンス管理プログラム220に通知し、ライセンス管理プログラム220は、当該完了を保守者50に通知する(S4−3b〜S4−3d、S4−4b〜S4−4d)。なお、ライセンス利用開始指示、及び、インストール指示を行う仮想マシン100a〜100dの順序は、図18の例に限定されるものではない。
(例2)
図19は、ライセンス量の制御処理の第2の例を模式的に説明する図である。図19において、図5、図14で示したものと同一のものは、同一の記号で示す。また、図19に示す、各物理マシン10及び各仮想マシン100のハードウェア資源140は、図5で説明したとおりである。
図19は、払い出し対象のライセンス量の合計が、基本ライセンス量に収まらない場合であって、一部の仮想マシン100dにライセンス量の払い出しを行わない場合を示す。図19の例によると、仮想マシン100aの測定ライセンス量は値「20万BHCA」であって、仮想マシン100bの測定ライセンス量は値「80万BHCA」である。また、仮想マシン100cの測定ライセンス量は値「200万BHCA」であって、仮想マシン100dの測定ライセンス量は値「150万BHCA」である。
したがって、仮想マシン100a〜100dの測定ライセンス量の合計「450万BHCA」は、基本ライセンス量「300万BHCA」に収まらない。一方、仮想マシン100dを除く、仮想マシン100a〜100cの測定ライセンス量の合計「300万BHCA」は、基本ライセンス量「300万BHCA」に収まる。
したがって、例えば、ライセンス制御モジュール321は、仮想マシン100dを除く、仮想マシン100a〜100cに測定ライセンス量を払い出す。これにより、各仮想マシン100a〜100cのライセンス量の利用状態は状態「利用」となり、仮想マシン100dのライセンス量の利用状態は状態「未利用」となる。また、利用ライセンス量の合計は、値「300万BHCA」となる。
このように、ライセンス管理プログラム220は、複数の仮想マシン100a〜100dの測定ライセンス量の合計が、所定値(基本ライセンス量)を超える場合がある。この場合、ライセンス管理プログラム220は、複数の仮想マシン100a〜100dのうち一部の仮想マシン100a〜100cに、測定ライセンス量に応じた通信制御ソフトウェア400のインストールを指示する。
つまり、ライセンス管理プログラム220は、仮想マシン100の単位に、ライセンス量の利用状態を制御する。これにより、ライセンス管理プログラム220は、基本ライセンス量の範囲に収まるように、ハードウェア資源140と通信制御ソフトウェア400との処理能力に応じた測定ライセンス量を、仮想マシン100に払い出すことができる。
(シーケンス図)
図20は、図19で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。図20に示すシーケンス図は、通信サービス事業者の保守者50と、ライセンス管理サーバ200のライセンス管理プログラム220と、各仮想マシン100との処理の流れを説明する。
図18と同様にして、保守者50は、仮想マシン100b〜100cのライセンス利用開始指示を、ライセンス管理プログラム220に順次、送信する(S4−1a〜S4−1c)。ライセンス管理プログラム220は、指示に応答して、各仮想マシン100b〜100cに、測定ライセンス量のうちすべてのライセンス量を指定した通信制御ソフトウェア400のインストールを指示する(S4−2a〜S4−2c)。インストールが完了すると、各仮想マシン100b〜100cは、当該完了をライセンス管理プログラム220に通知し、ライセンス管理プログラム220は、当該完了を保守者50に通知する(S4−3a〜4−3c、S4−4a〜S4−4c)。
また、保守者50は、仮想マシン100dのライセンス利用開始指示を、ライセンス管理プログラム220に送信する(S4−1d)。ただし、図19で前述したとおり、仮想マシン100a〜100cの測定ライセンス量の合計は、基本ライセンス量「300万BHCA」に達している。したがって、ライセンス管理プログラム220は、仮想マシン100dに、通信制御ソフトウェア400のインストールを指示することなく、インストールが完了していない旨の情報を保守者50に通知する(S4−4d)。
(例3)
図21は、ライセンス量の制御処理の第3の例を模式的に説明する図である。図21において、図5、図14で示したものと同一のものは、同一の記号で示す。また、図21に示す、各物理マシン10及び各仮想マシン100のハードウェア資源140は、図5で説明したとおりである。
図21は、払い出し対象のライセンス量の合計が、基本ライセンス量に収まらない場合であって、ある仮想マシン100に、測定ライセンス量のうち一部のライセンス量を払い出す場合を示す。図21の例によると、仮想マシン100aの測定ライセンス量は値「20万BHCA」であって、仮想マシン100bの測定ライセンス量は値「80万BHCA」である。また、仮想マシン100cの測定ライセンス量は値「100万BHCA」であって、仮想マシン100dの測定ライセンス量は値「150万BHCA」である。
したがって、仮想マシン100a〜100dの測定ライセンス量の合計「350万BHCA」は、基本ライセンス量「300万BHCA」に収まらない。一方、仮想マシン100dを除く、仮想マシン100a〜100cの測定ライセンス量の合計「200万BHCA」は、基本ライセンス量「300万BHCA」に収まり、ライセンス量「100万BHCA」分の余裕がある。
したがって、例えば、ライセンス制御モジュール321は、仮想マシン100a〜100cに測定ライセンス量を、仮想マシン100dに測定ライセンス量「150万BHCA」のうちライセンス量「100万BHCA」を払い出す。これにより、各仮想マシン100a〜100dのライセンス量の利用状態は状態「利用」となり、利用ライセンス量の合計は、値「300万BHCA」となる。
このように、ライセンス管理プログラム220は、仮想マシン100a〜100dの測定ライセンス量が所定値(基本ライセンス量)を超える場合がある。この場合、ライセンス管理プログラム220は、測定ライセンス量のうち、一部のライセンス量に応じた通信制御ソフトウェア400のインストールを、仮想マシン100dに指示する。
つまり、ライセンス管理プログラム220は、仮想マシン100に対して、ハードウェア資源140と通信制御ソフトウェア400との処理能力に応じた測定ライセンス量の一部のライセンス量を払い出すことができる。これにより、ライセンス管理プログラム220は、基本ライセンス量の範囲に収まるように、ライセンス量を仮想マシン100に払い出すことができる。
(シーケンス図)
図22は、図21で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。図22に示すシーケンス図は、通信サービス事業者の保守者50と、ライセンス管理サーバ200のライセンス管理プログラム220と、各仮想マシン100との処理の流れを説明する。
図20と同様にして、ライセンス管理プログラム220は、各仮想マシン100b〜100cに、順次、測定ライセンス量を指定した通信制御ソフトウェア400のインストールを指示する(S4−1a〜S4−1c、S4−2a〜S4−2c)。また、各仮想マシン100b〜100cは、インストールの完了をライセンス管理プログラム220に通知し、ライセンス管理プログラム220は、当該完了を保守者50に通知する(S4−3a〜S4−3c、S4−4a〜S4−4c)。
また、保守者50は、仮想マシン100dのライセンス利用開始指示を、ライセンス管理プログラム220に送信する(S4−1d)。ただし、図21で前述したとおり、仮想マシン100a〜100dの測定ライセンス量の合計は、基本ライセンス量「300万BHCA」を超える。したがって、ライセンス管理プログラム220は、仮想マシン100dに、測定ライセンス量「150万BHCA」のうち、ライセンス量「100万BHCA」を指定した通信制御ソフトウェア400のインストールを指示する(S4−2d)。
同様に、仮想マシン100dは、インストールの完了をライセンス管理プログラム220に通知し、ライセンス管理プログラム220は、当該完了の情報に加えて、払い出した利用ライセンス量「100万BHCA」を保守者50に通知する(S4−3d、S4−4d)。
(例4)
図23は、ライセンス量の制御処理の第4の例を模式的に説明する図である。図23において、図5、図14で示したものと同一のものは、同一の記号で示す。また、図23に示す、各物理マシン10及び各仮想マシン100のハードウェア資源140は、図5で説明したとおりである。
図23は、利用者の増加等に起因した呼量の増大により、利用ライセンス量を拡張する場合を示す。図23の例によると、仮想マシン100aのライセンス量の利用状態は「利用」であって、仮想マシン100b〜100dのライセンス量の利用状態「未利用」である。したがって、図23の例における利用ライセンス量の合計は、値「20万BHCA」である。
図23の例によると、保守者50は、例えば、利用状態「利用」の仮想マシン100を、仮想マシン100aから、測定ライセンス量の多い仮想マシン100cに変更することによって、ライセンス量を拡張する。したがって、ライセンス制御モジュール321は、仮想マシン100aの測定ライセンス量「20万BHCA」を払い戻すとともに、仮想マシン100cの測定ライセンス量「200万BHCA」を払い出す。
これにより、仮想マシン100aのライセンス量の利用状態は状態「未利用」に変化し、仮想マシン100cのライセンス量の利用状態は状態「利用」に変化する。そして、利用ライセンス量の合計は、値「20万BHCA」から値「200万BHCA」に変化する。
このように、ライセンス管理プログラム220は、仮想マシン100の単位に、処理能力に応じた測定ライセンス量の利用状態を制御することによって、利用ライセンス量の合計を管理する。これにより、ライセンス管理プログラム220は、通信サービスで求められる処理能力に応じたライセンス量を、柔軟に、仮想マシン100に払い出すことができる。
(シーケンス図)
図24は、図23で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。図24に示すシーケンス図は、通信サービス事業者の保守者50と、ライセンス管理サーバ200のライセンス管理プログラム220と、各仮想マシン100との処理の流れを説明する。
初め、仮想マシン100aは、ライセンス量「20万BHCA」を利用中の状態である。保守者50は、仮想マシン100cのライセンス利用開始指示をライセンス管理プログラム220に送信する(S4−1c)。ライセンス管理プログラム220は、指示に応答して、測定ライセンス量の通信制御ソフトウェア400のインストールを仮想マシン100cに指示する(S4−2c)。これにより、ライセンス制御モジュール321は、仮想マシン100cにライセンス量「200万BHCA」を払い出し、保守者50にライセンス利用開始指示の完了を通知する(S4−3c、S4−4c)。
次に、保守者50は、仮想マシン100aのライセンス利用停止指示を、ライセンス管理プログラム220に送信する(S4−1a)。ライセンス管理プログラム220は、指示に応答して、仮想マシン100aに、通信制御ソフトウェア400のアンインストールを指示する(S4−2a)。これにより、ライセンス制御モジュール321は、ライセンス量「20万BHCA」を払い戻し、保守者50にライセンス利用停止指示の完了を通知する(S4−3a、S4−4a)。
(例5)
図25は、ライセンス量の制御処理の第5の例を模式的に説明する図である。図25において、図5、図14で示したものと同一のものは、同一の記号で示す。また、図25に示す、各物理マシン10及び各仮想マシン100のハードウェア資源140は、図5で説明したとおりである。
図25は、利用者の減少等に起因した呼量の低減により、利用ライセンス量を縮小する場合を示す。図25の例によると、仮想マシン100cのライセンス量の利用状態は状態「利用」であって、仮想マシン100a、100b、100dのライセンス量の利用状態は状態「未利用」である。したがって、図25の例における利用ライセンス量の合計は、値「200万BHCA」である。
図25の例によると、保守者50は、例えば、利用状態「利用」の仮想マシン100を、仮想マシン100cから、測定ライセンス量の少ない仮想マシン100aに変更することによって、ライセンス量を縮小する。したがって、ライセンス制御モジュール321は、仮想マシン100cの測定ライセンス量「200万BHCA」を払い戻すとともに、仮想マシン100aの測定ライセンス量「20万BHCA」を払い出す。
これにより、仮想マシン100cのライセンス量の利用状態は状態「未利用」に変化し、仮想マシン100aのライセンス量の利用状態は状態「利用」に変化する。そして、利用ライセンス量の合計は、値「200万BHCA」から値「20万BHCA」に変化する。
図23、図24の例と同様にして、ライセンス管理プログラム220は、仮想マシン100の単位に、処理能力に応じた測定ライセンス量の利用状態を制御することによって、利用ライセンス量の合計を管理する。これにより、ライセンス管理プログラム220は、通信サービスで求められる処理能力に応じたライセンス量を、柔軟に、仮想マシン100に払い出すことができる。
(シーケンス図)
図26は、図25で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。図26に示すシーケンス図は、通信サービス事業者の保守者50と、ライセンス管理サーバ200のライセンス管理プログラム220と、各仮想マシン100との処理の流れを説明する。
初め、仮想マシン100cは、ライセンス量「200万BHCA」を利用中の状態である。保守者50は、仮想マシン100aのライセンス利用開始指示をライセンス管理プログラム220に送信する(S4−1a)。ライセンス管理プログラム220は、指示に応答して、測定ライセンス量の通信制御ソフトウェア400のインストールを仮想マシン100aに指示する(S4−2a)。これにより、ライセンス制御モジュール321は、仮想マシン100aにライセンス量「20万BHCA」を払い出し、保守者50にライセンス利用開始指示の完了を通知する(S4−3a、S4−4a)。
次に、保守者50は、仮想マシン100cのライセンス利用停止指示を、ライセンス管理プログラム220に送信する(S4−1c)。ライセンス管理プログラム220は、指示に応答して、仮想マシン100cに、通信制御ソフトウェア400のアンインストールを指示する(S4−2c)。これにより、ライセンス制御モジュール321は、ライセンス量「200万BHCA」を払い戻し、保守者50にライセンス利用停止指示の完了を通知する(S4−3c、S4−4c)。
(例6)
図27は、ライセンス量の制御処理の第6の例を模式的に説明する図である。図27において、図5、図14で示したものと同一のものは、同一の記号で示す。また、図27に示す、各物理マシン10及び各仮想マシン100のハードウェア資源140は、図5で説明したとおりである。
図27は、例えば、物理マシン10の故障発生により、仮想マシン100a〜100cを利用できなくなった場合を示す。図27の例によると、仮想マシン100a〜100cのライセンス量の利用状態は状態「利用」であって、仮想マシン100dのライセンス量の利用状態は状態「未利用」である。したがって、図27の例において、利用ライセンス量の合計は、値「300万BHCA」である。
物理マシン10が故障した場合、ライセンス制御モジュール321は、仮想マシン100a〜100cの測定ライセンス量「300万BHCA」を払い戻すとともに、仮想マシン100dの測定ライセンス量「250万BHCA」を払い出す。これにより、仮想マシン100a〜100cのライセンス量の利用状態は状態「未利用」に変化し、仮想マシン100dのライセンス量の利用状態は状態「利用」に変化する。また、利用ライセンス量の合計は、値「300万BHCA」から値「250万BHCA」に変化する。
このように、ライセンス管理プログラム220は、仮想マシン100の単位に、ライセンス量の利用状態を制御することによって、利用ライセンス量を管理できる。これにより、ライセンス管理プログラム220は、物理マシン10の故障が発生した場合に、各仮想マシン100のライセンスの利用状態を制御することによって、適宜、ライセンス量を仮想マシン100に払い出すことができる。
(シーケンス図)
図28は、図27で説明した、ライセンス量の制御処理の流れを説明するシーケンス図である。図28に示すシーケンス図は、通信サービス事業者の保守者50と、ライセンス管理サーバ200のライセンス管理プログラム220と、各仮想マシン100との処理の流れを説明する。
仮想マシン100a〜100cは、ライセンス量「300万BHCA」を利用中である。保守者50は、物理マシン10の故障の発生に伴い、仮想マシン100a〜100cのライセンス利用停止指示を、ライセンス管理プログラム220に順次、送信する(S4−1a〜S4−1c)。ライセンス管理プログラム220は、指示に応答して、仮想マシン100a〜100cに、通信制御ソフトウェア400のアンインストールを指示する(S4−2a〜S4−2c)。これにより、ライセンス制御モジュール321は、ライセンス「300万BHCA」を払い戻し、保守者50にライセンス利用停止指示の完了を通知する(S4−3a〜S4−3c、S4−4a〜S4−4c)。
次に、保守者50は、仮想マシン100dのライセンス利用開始指示をライセンス管理プログラム220に送信する(S4−1d)。ライセンス管理プログラム220は、指示に応答して、測定ライセンス量の通信制御ソフトウェア400のインストールを仮想マシン100dに指示する(S4−2d)。これにより、ライセンス制御モジュール321は、仮想マシン100dにライセンス量「250万BHCA」を払い出し、保守者50にライセンス利用開始指示の完了を通知する(S4−3d、S4−4d)。
なお、物理マシン10の故障により、通信制御ソフトウェア400のアンインストール指示を行えない場合、ライセンス制御モジュール321は、物理マシン10の復旧後に、アンインストール指示を行ってもよい。
[仮想マシン100の処理]
次に、図29〜図35にしたがって、仮想マシン100における処理を説明する。図29〜図30にしたがって、図14、図15で説明した、ベンチマークテストプログラム403の処理を説明する。
[ベンチマークテストプログラム403の処理]
図29は、仮想マシン100で動作する、ベンチマークテストプログラム403の処理の流れを説明する図である。
S41:ベンチマークテストプログラム403は、仮想マシン100に割り当てられたハードウェア資源140の情報を収集する。
S42:ベンチマークテストプログラム403は、収集したハードウェア資源140の情報に基づいて、初期の呼量(BHCA)を決定する。例えば、ベンチマークテストプログラム403は、CPUコアの数や、CPUの種別等に応じて、初期の呼量を決定する。
S43:ベンチマークテストプログラム403は、決定した呼量をシミュレートするとともに、シミュレートした際のCPU使用率を測定する。
S44:ベンチマークテストプログラム403は、呼量をシミュレートした際の処理において、異常(NG)終了したテスト項目がないか否かを判定する。
S45:異常終了したテスト項目がない場合(S44のYes)、ベンチマークテストプログラム403は、工程S43で測定したCPU使用率が、規定最大値以下であるか否かを判定する。
S46:CPU使用率が規定最大値以下である場合(S45のYes)、ベンチマークテストプログラム403は、シミュレートする呼量を変更する。即ち、ベンチマークテストプログラム403は、異常終了したテスト項目がなく(S44のYes)、CPU使用率が規定最大値以下である場合(S45のYes)、呼量の値を上げて、再度、工程S43〜S46の処理を行う。
S47:一方、異常終了したテスト項目がある場合(S44のNo)、または、規定最大値を超えた場合(S45のNo)、ベンチマークテストプログラム403は、前回の呼量を、最大処理能力(性能値)として設定する。そして、ベンチマークテストプログラム403は、収集したハードウェア資源140の情報、及び、測定した最大処理能力(性能値)をライセンス管理サーバ200に通知する。
このように、ベンチマークテストプログラム403は、仮想マシン100に割り当てられたハードウェア資源140と、通信制御ソフトウェア400の組合せに基づく、性能値を測定することができる。これにより、ライセンス管理プログラム220は、ライセンス量に応じた処理能力(呼量)を保証できるとともに、ライセンス量を、ハードウェア資源140を効率的に利用可能な値に設定できる。
図30は、図29のフローチャート図で説明した処理の結果を示す、呼量(BHCA)とCPU使用率との対応関係を示す図である。図30は、ベンチマークテストプログラム403が、各呼量(BHCA)をシミュレートした際のCPU使用率のプロットを有する。
図30に点線で示すように、本実施の形態におけるCPU使用率の規定最大値は60%である。即ち、本実施の形態におけるベンチマークテストプログラム403は、CPU使用率が60%を超えない範囲内における最大呼量を、最大処理能力(性能値)として決定する。図30の例によると、CPU使用率が60%を超えない範囲内の、最大の呼量は値「300万BHCA」である。したがって、ベンチマークテストプログラム403は、呼量「300万BHCA」を、性能値としてライセンス管理サーバ200に通知する。
[通信制御ソフトウェア400の処理]
次に、図31〜図35にしたがって、図10で説明した通信制御ソフトウェア400の処理を説明する。まず、図31にしたがって、図10で説明した、通信制御ソフトウェア400におけるライセンス制御処理を説明する。
(ライセンス制御処理の流れ)
図31は、図10で説明した、通信制御ソフトウェア400のライセンス制御処理の流れを説明するフローチャート図である。
S51:通信制御ソフトウェア400のライセンス制御モジュール421は、信号の受信イベントの発生に応じて、信号内容を取得する。
S52:ライセンス制御モジュール421は、信号の内容に基づいて、信号が初期信号であるか継続信号であるかを判定する。
S53:信号が継続信号である場合(S52の継続信号)、ライセンス制御モジュール421は、信号を受信して、信号に応じた処理を継続する。
S54:一方、信号が初期信号である場合(S52の初期信号)、ライセンス制御モジュール421は、利用ライセンス量(BHCA)に対応する、単位時間あたりの呼数(例えば、1秒当たりの呼量)を取得する。
S55:ライセンス制御モジュール421は、現在、処理している単位時間当たりの呼量が、工程S54で取得した、利用ライセンス量に対応する呼量以内であるか否かを判定する。
S56:利用ライセンス量に対応する呼量以内である場合(S55のYes)、通信サービス制御モジュール411は、信号を受信して、信号に応じた処理を継続する。
S57:一方、利用ライセンス量に対応する呼量を超える場合(S55のNo)、通信制御ソフトウェア400の規制制御モジュール413は、受信した信号を廃棄する。
S58:信号を廃棄した後、通信サービス制御モジュール411は、信号受信処理を異常終了する。
このように、通信制御ソフトウェア400は、通信制御ソフトウェア400に指定された利用ライセンス量に対応する処理能力(BHCA)の範囲内で、処理を行う。これにより、利用ライセンス量に基づく、通信制御ソフトウェア400の処理の管理が可能になる。
(再開処理制御モジュール441)
次に、図32にしたがって、図10で説明した、通信制御ソフトウェア400の再開処理制御モジュール441の処理を説明する。本実施の形態における通信制御ソフトウェア400は、仮想マシン100上で動作する。したがって、仮想マシン100の運用に応じて、仮想マシン100のマイグレーションに伴うハードウェア資源140の変更や、ハードウェア資源140の割り当ての調整が生じる場合がある。
したがって、再開処理制御モジュール441は、仮想マシン100に割り当てられたハードウェア資源140の変更に応じて、ベンチマークテストプログラム403の再実行を指示する。そして、再開処理制御モジュール441は、再実行によって測定された性能値に基づいて、仮想マシン100における通信制御ソフトウェア400のライセンス量を再決定する。そして、再開処理制御モジュール441は、再決定したライセンス量に応じた通信制御ソフトウェア400のインストールを、仮想マシン100に指示する。
これにより、ライセンス管理サーバ200は、仮想マシン100に割り当てられたハードウェア資源140が変化した場合であっても、ライセンス量を、実際の処理能力に応じたライセンス量に設定できる。これにより、ライセンス管理サーバ200は、通信制御ソフトウェア400が仮想基盤上で動作する場合であっても、通信制御ソフトウェア400のライセンス量を適切に管理することができる。
図32は、仮想マシン100の再起動の際の、通信制御ソフトウェア400のライセンス管理処理の流れを説明するフローチャート図である。
S61:通信制御ソフトウェア400の再開処理制御モジュール441は、仮想マシン100の再起動に応じて、仮想マシン100に割り当てられたハードウェア資源140の情報を収集する。
S62:再開処理制御モジュール441は、工程S61で取得した情報を、ライセンス制御モジュール421が保持する再起動前のハードウェア資源140の情報と照合する。
S63:再開処理制御モジュール441は、照合結果が一致するか否かを判定する。
S64:一致する場合(S63のYes)、再開処理制御モジュール441は、再起動後の処理を継続して行う(正常終了)。
S65:一方、一致しない場合(S63のNo)、再開処理制御モジュール441は、ベンチマークテストプログラム403にしたがって、図29のフローチャート図の処理を実行し、性能値を再測定する。なお、再開処理制御モジュール441は、ベンチマークテストプログラム403と同様の処理を行って、性能値を測定してもよい。
S66:再開処理制御モジュール441は、ハードウェア資源140の情報の変更、及び、再測定した性能値を、ライセンス管理サーバ200及び保守者50に通知する(異常終了)。
次に、図33〜図35にしたがって、図10で説明した、通信制御ソフトウェア400の通信サービス制御モジュール411の処理を説明する。
(通信サービス制御モジュール411の処理)
図33は、通信サービス制御モジュール411のソフトウェアブロック図である。前述したとおり、本実施の形態における通信制御ソフトウェア400は、携帯コア網における通話の接続制御を行うIBCFソフトウェアである。したがって、本実施の形態における通信サービス制御モジュール411は、通話の接続制御を行う。
図33に示す、通信サービス制御モジュール411は、呼制御モジュール451、ルーチング制御モジュール452、通話回線制御モジュール453を有する。呼制御モジュール451は、通話の呼び出し制御や切断制御を行うとともに、ルーチング制御モジュール452にイベントを通知する。ルーチング制御モジュール452は、通話の接続先を決定処理を行うとともに、接続先情報に基づく音声通話用の回線を補足指示を通話回線制御モジュール453に出力する。通話回線制御モジュール453は、回線捕捉処理の制御を行う。
図34は、図33に示した、通信サービス制御モジュール411(IBCF)の処理の流れを説明するシーケンス図である。
(発信)
通信サービス制御モジュール411は、発信側から信号「INVITE」を受信すると、インスタンスを生成し、生成したインスタンスの呼制御モジュール451にイベントを通知する。呼制御モジュール451は、接続先を判定するために、イベントをルーチング制御モジュール452に通知する。ルーチング制御モジュール452は、接続先の電話番号に基づいて、接続先を決定し、通話回線制御モジュール453に回線捕捉を指示する。通話回線制御モジュール453は、接続先情報に基づいて、音声通話用の回線を補足する。呼制御モジュール451は、回線捕捉の完了を検出すると、信号を生成し、信号を着信側の端末に送信する。
通信サービス制御モジュール411は、着信側の端末の呼び出しが行われていることを示す信号「180_Ringing」を受信すると、生成したインスタンスの呼制御モジュール451にイベントを通知する。呼制御モジュール451は、信号を生成し、発信側の端末に送信する。これにより、通話は呼出し中の状態に遷移する。
(応答)
次に、通信サービス制御モジュール411は、着信側の端末が応答したことを示す信号「200_OK」を受信すると、生成したインスタンスの呼制御モジュール451にイベントを通知する。呼制御モジュール451は、着信側の端末が応答したことを検出し、通話回線制御モジュール453に、双方向の通話パスの接続イベントを通知する。呼制御モジュール451は、信号を生成し、発信側の端末に送信する。通信サービス制御モジュール411が信号「ACK」を受信すると、通話は通話中の状態に遷移する。
(切断)
通話の完了を契機に通知される信号「BYE」を受信すると、通信サービス制御モジュール411は、生成したインスタンスの呼制御モジュール451にイベントを通知する。呼制御モジュール451は、発信側の端末による切断を検知し、通話回線制御モジュール453に、通話パスの切断を行うイベントを通知する。呼制御モジュール451は、信号を生成し、着信側の端末に送信する。通信サービス制御モジュール411が、着信側の端末が応答したことを示す信号「200_OK」を受信すると、通話は切断状態に遷移する。
(フローチャート)
図35は、図34で説明した通信サービス制御モジュール411の信号受信時の処理を説明するフローチャート図である。図31で前述したとおり、現在、処理している単位時間当たりの呼量が、利用ライセンス量に対応する呼量に収まる場合(図31のS55のYes)、通信サービス制御モジュール411は、信号を受信して、信号に応じた処理を継続する。
S71:通信サービス制御モジュール411は、信号の受信に応答して、信号内容を取得する。図34で説明したとおり、通信サービス制御モジュール411は、例えば、信号「INVITE」、信号「180_Ringing」、信号「BYE」を受信する。
S72:通信サービス制御モジュール411は、受信した信号が初期信号であるか継続信号であるかを判定する。
S73:信号が継続信号である場合(S72の継続信号)、通信サービス制御モジュール411は、対応するインスタンスの呼制御モジュール451に信号を振り分けて、通知する。
S74:一方、信号が初期信号である場合(S72の初期信号)、通信サービス制御モジュール411は、インスタンスを生成し、生成したインスタンスの呼制御モジュール451にイベントを通知する。
S75:呼制御モジュール451は、図34で前述したとおり、信号の内容に応じた処理を行う。信号「INVITE」を受信した場合、呼制御モジュール451は、接続先を判定するために、イベントをルーチング制御モジュール452に通知する(S75−1)。信号「200_OK」または信号「BYE」を受信した場合、呼制御モジュール451は、接続イベントまたは切断イベントを、通話回線制御モジュール453に通知する(S75−2)。
S76:呼制御モジュール451は、信号の内容に応じて、着信側の端末、または、発信側の端末に送信する信号を生成する。
S77:呼制御モジュール451は、生成した信号を、信号の内容に応じて、着信側または発信側の端末に送信する。
[他の実施の形態]
なお、本実施の形態では、測定ライセンス量を管理する対象のソフトウェアが、通信機能を実行する通信制御ソフトウェア400である場合を例示する。ただし、この例に限定されるものではない。測定ライセンス量を管理する対象のソフトウェアは、通信機能とは異なる機能を実行するソフトウェアであってもよい。
また、本実施の形態では、性能値を示す処理能力が、呼量である場合を例示した。ただし、この例に限定されるものではない。性能値を示す処理能力は、例えば、同時接続数や単位時間当たりのイベント数等であってもよい。
以上の実施の形態をまとめると、次の付記のとおりである。
(付記1)
仮想マシンの起動に応じて、前記仮想マシンが第1のソフトウェアを実行する際の、処理能力に関する性能値を測定する第2のソフトウェアのインストールと、前記第2のソフトウェアの実行とを、前記仮想マシンに指示する第1の指示部と、
前記実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第1のソフトウェアのライセンス量を決定する決定部と、
前記ライセンス量に応じた前記第1のソフトウェアのインストールを、前記仮想マシンに指示する第2の指示部と、
を有する情報処理装置。
(付記2)
付記1において、
前記性能値は、前記仮想マシンに割り当てられるハードウェアに応じて変化する、
情報処理装置。
(付記3)
付記1または2において、
前記第2の指示部は、複数の前記仮想マシンの前記ライセンス量の合計が所定値を超える場合に、前記複数の仮想マシンのうち一部の前記仮想マシンに、前記ライセンス量に応じた前記第1のソフトウェアのインストールを指示する、
情報処理装置。
(付記4)
付記1または2において、
前記第2の指示部は、前記仮想マシンの前記ライセンス量が所定値を超える場合に、前記ライセンス量のうち一部のライセンス量に応じた前記第1のソフトウェアのインストールを、前記仮想マシンに指示する、
情報処理装置。
(付記5)
付記1乃至4のいずれかにおいて、
前記第1の指示部は、前記仮想マシンに割り当てられたハードウェアの変更に応じて、前記第2のソフトウェアの再実行を指示し、
前記決定部は、前記再実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第1のソフトウェアのライセンス量を再決定し、
前記第2の指示部は、再決定した前記ライセンス量に応じた前記第1のソフトウェアのインストールを、前記仮想マシンに指示する、
情報処理装置。
(付記6)
付記1乃至5のいずれかにおいて、
前記第2のソフトウェアは、第1のソフトウェアと同一のソフトウェア、または、第1のソフトウェアの一部のサブルーチンを有するソフトウェアである、
情報処理装置。
(付記7)
コンピュータに、
仮想マシンの起動に応じて、前記仮想マシンが第1のソフトウェアを実行する際の、処理能力に関する性能値を測定する第2のソフトウェアのインストールと、前記第2のソフトウェアの実行とを、前記仮想マシンに指示し、
前記実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第1のソフトウェアのライセンス量を決定し、
前記ライセンス量に応じた前記第1のソフトウェアのインストールを、前記仮想マシンに指示する、
ことを実行させることを特徴とするライセンス管理プログラム。
(付記8)
付記7において、
前記性能値は、前記仮想マシンに割り当てられるハードウェアに応じて変化する、
ライセンス管理プログラム。
(付記9)
付記7または8において、
前記第1のソフトウェアのインストールの前記指示は、複数の前記仮想マシンの前記ライセンス量の合計が所定値を超える場合に、前記複数の仮想マシンのうち一部の前記仮想マシンに、前記ライセンス量に応じた前記第1のソフトウェアのインストールを指示する、
ライセンス管理プログラム。
(付記10)
付記7または8において、
前記第1のソフトウェアのインストールの前記指示は、前記仮想マシンの前記ライセンス量が所定値を超える場合に、前記ライセンス量のうち一部のライセンス量に応じた前記第1のソフトウェアのインストールを、前記仮想マシンに指示する、
ライセンス管理プログラム。
(付記11)
付記7乃至10のいずれかにおいて、
前記第2のソフトウェアのインストール及び実行の前記指示は、前記仮想マシンに割り当てられたハードウェアの変更に応じて、前記第2のソフトウェアの再実行を指示し、
前記決定は、前記再実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第1のソフトウェアのライセンス量を再決定し、
前記第1のソフトウェアのインストールの前記指示は、再決定した前記ライセンス量に応じた前記第1のソフトウェアのインストールを、前記仮想マシンに指示する、
ライセンス管理プログラム。
(付記12)
付記7乃至11のいずれかにおいて、
前記第2のソフトウェアは、第1のソフトウェアと同一のソフトウェア、または、第1のソフトウェアの一部のサブルーチンを有するソフトウェアである、
ライセンス管理プログラム。
(付記13)
処理部は、仮想マシンの起動に応じて、前記仮想マシンが第1のソフトウェアを実行する際の、処理能力に関する性能値を測定する第2のソフトウェアのインストールと、前記第2のソフトウェアの実行とを、前記仮想マシンに指示し、
処理部は、前記実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第1のソフトウェアのライセンス量を決定し、
処理部は、前記ライセンス量に応じた前記第1のソフトウェアのインストールを、前記仮想マシンに指示する、
ライセンス管理方法。
(付記14)
付記13において、
前記性能値は、前記仮想マシンに割り当てられるハードウェアに応じて変化する、
ライセンス管理方法。
(付記15)
付記13または14において、
前記第1のソフトウェアのインストールの前記指示は、複数の前記仮想マシンの前記ライセンス量の合計が所定値を超える場合に、前記複数の仮想マシンのうち一部の前記仮想マシンに、前記ライセンス量に応じた前記第1のソフトウェアのインストールを指示する、
ライセンス管理方法。
(付記16)
付記13または14において、
前記第1のソフトウェアのインストールの前記指示は、前記仮想マシンの前記ライセンス量が所定値を超える場合に、前記ライセンス量のうち一部のライセンス量に応じた前記第1のソフトウェアのインストールを、前記仮想マシンに指示する、
ライセンス管理方法。
(付記17)
付記13乃至16のいずれかにおいて、
前記第2のソフトウェアのインストール及び実行の前記指示は、前記仮想マシンに割り当てられたハードウェアの変更に応じて、前記第2のソフトウェアの再実行を指示し、
前記決定は、前記再実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第1のソフトウェアのライセンス量を再決定し、
前記第1のソフトウェアのインストールの前記指示は、再決定した前記ライセンス量に応じた前記第1のソフトウェアのインストールを、前記仮想マシンに指示する、
ライセンス管理方法。
(付記18)
付記13乃至17のいずれかにおいて、
前記第2のソフトウェアは、第1のソフトウェアと同一のソフトウェア、または、第1のソフトウェアの一部のサブルーチンを有するソフトウェアである、
ライセンス管理方法。
(付記19)
情報処理装置は、仮想マシンの起動に応じて、前記仮想マシンが第1のソフトウェアを実行する際の、処理能力に関する性能値を測定する第2のソフトウェアのインストールと、前記第2のソフトウェアの実行とを、前記仮想マシンに指示し、
前記仮想マシンは、前記第2のソフトウェアをインストールし、前記第2のソフトウェアを実行して前記性能値を測定し、
前記情報処理装置は、前記性能値に基づいて、前記仮想マシンにおける前記第1のソフトウェアのライセンス量を決定し、前記ライセンス量に応じた前記第1のソフトウェアのインストールを、前記仮想マシンに指示し、
前記仮想マシンは、前記第1のソフトウェアを前記ライセンス量に応じて実行する、
ライセンス管理方法。
10a、10b(10):ライセンス利用サーバ、100a〜100d:仮想マシン、200:ライセンス管理サーバ、400:通信制御ソフトウェア、403:ベンチマークテストプログラム

Claims (8)

  1. 仮想マシンの起動に応じて、前記仮想マシンが第1のソフトウェアを実行する際の、処理能力に関する性能値を測定する第2のソフトウェアのインストールと、前記第2のソフトウェアの実行とを、前記仮想マシンに指示する第1の指示部と、
    前記実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第1のソフトウェアのライセンス量を決定する決定部と、
    前記ライセンス量に応じた前記第1のソフトウェアのインストールを、前記仮想マシンに指示する第2の指示部と、
    を有する情報処理装置。
  2. 請求項1において、
    前記性能値は、前記仮想マシンに割り当てられるハードウェアに応じて変化する、
    情報処理装置。
  3. 請求項1または2において、
    前記第2の指示部は、複数の前記仮想マシンの前記ライセンス量の合計が所定値を超える場合に、前記複数の仮想マシンのうち一部の前記仮想マシンに、前記ライセンス量に応じた前記第1のソフトウェアのインストールを指示する、
    情報処理装置。
  4. 請求項1または2において、
    前記第2の指示部は、前記仮想マシンの前記ライセンス量が所定値を超える場合に、前記ライセンス量のうち一部のライセンス量に応じた前記第1のソフトウェアのインストールを、前記仮想マシンに指示する、
    情報処理装置。
  5. 請求項1乃至4のいずれかにおいて、
    前記第1の指示部は、前記仮想マシンに割り当てられたハードウェアの変更に応じて、前記第2のソフトウェアの再実行を指示し、
    前記決定部は、前記再実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第1のソフトウェアのライセンス量を再決定し、
    前記第2の指示部は、再決定した前記ライセンス量に応じた前記第1のソフトウェアのインストールを、前記仮想マシンに指示する、
    情報処理装置。
  6. コンピュータに、
    仮想マシンの起動に応じて、前記仮想マシンが第1のソフトウェアを実行する際の、処理能力に関する性能値を測定する第2のソフトウェアのインストールと、前記第2のソフトウェアの実行とを、前記仮想マシンに指示し、
    前記実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第1のソフトウェアのライセンス量を決定し、
    前記ライセンス量に応じた前記第1のソフトウェアのインストールを、前記仮想マシンに指示する、
    ことを実行させることを特徴とするライセンス管理プログラム。
  7. 処理部は、仮想マシンの起動に応じて、前記仮想マシンが第1のソフトウェアを実行する際の、処理能力に関する性能値を測定する第2のソフトウェアのインストールと、前記第2のソフトウェアの実行とを、前記仮想マシンに指示し、
    処理部は、前記実行によって測定された前記性能値に基づいて、前記仮想マシンにおける前記第1のソフトウェアのライセンス量を決定し、
    処理部は、前記ライセンス量に応じた前記第1のソフトウェアのインストールを、前記仮想マシンに指示する、
    ライセンス管理方法。
  8. 情報処理装置は、仮想マシンの起動に応じて、前記仮想マシンが第1のソフトウェアを実行する際の、処理能力に関する性能値を測定する第2のソフトウェアのインストールと、前記第2のソフトウェアの実行とを、前記仮想マシンに指示し、
    前記仮想マシンは、前記第2のソフトウェアをインストールし、前記第2のソフトウェアを実行して前記性能値を測定し、
    前記情報処理装置は、前記性能値に基づいて、前記仮想マシンにおける前記第1のソフトウェアのライセンス量を決定し、前記ライセンス量に応じた前記第1のソフトウェアのインストールを、前記仮想マシンに指示し、
    前記仮想マシンは、前記第1のソフトウェアを前記ライセンス量に応じて実行する、
    ライセンス管理方法。
JP2015170309A 2015-08-31 2015-08-31 情報処理装置、ライセンス管理プログラム、及び、ライセンス管理方法 Pending JP2017049643A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015170309A JP2017049643A (ja) 2015-08-31 2015-08-31 情報処理装置、ライセンス管理プログラム、及び、ライセンス管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015170309A JP2017049643A (ja) 2015-08-31 2015-08-31 情報処理装置、ライセンス管理プログラム、及び、ライセンス管理方法

Publications (1)

Publication Number Publication Date
JP2017049643A true JP2017049643A (ja) 2017-03-09

Family

ID=58279410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015170309A Pending JP2017049643A (ja) 2015-08-31 2015-08-31 情報処理装置、ライセンス管理プログラム、及び、ライセンス管理方法

Country Status (1)

Country Link
JP (1) JP2017049643A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019144866A (ja) * 2018-02-21 2019-08-29 日本電気通信システム株式会社 ライセンス管理装置、ライセンス管理方法及びプログラム
CN113282371A (zh) * 2021-05-27 2021-08-20 杭州迪普科技股份有限公司 虚拟化网络设备的性能管理方法及装置
JP2023039385A (ja) * 2021-09-08 2023-03-20 財團法人工業技術研究院 仮想機能性能分析システムおよびその分析方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019144866A (ja) * 2018-02-21 2019-08-29 日本電気通信システム株式会社 ライセンス管理装置、ライセンス管理方法及びプログラム
JP7092333B2 (ja) 2018-02-21 2022-06-28 日本電気通信システム株式会社 ライセンス管理装置、ライセンス管理方法及びプログラム
CN113282371A (zh) * 2021-05-27 2021-08-20 杭州迪普科技股份有限公司 虚拟化网络设备的性能管理方法及装置
JP2023039385A (ja) * 2021-09-08 2023-03-20 財團法人工業技術研究院 仮想機能性能分析システムおよびその分析方法

Similar Documents

Publication Publication Date Title
US11029994B2 (en) Service creation and management
JP5513997B2 (ja) 通信システムおよび通信システム更新方法
US10313424B2 (en) Cloud application processing method, cloud application deployment method, and related apparatus and system
CN106209402B (zh) 一种虚拟网络功能的伸缩方法和设备
US20110122776A1 (en) Method, Apparatus, and Computer Program Product for Traffic Simulation Tool for Networks
CN104636184A (zh) 虚拟机实例的部署方法和装置及设备
US20170337077A1 (en) End-to-End Validation of Virtual Machines
KR20170024606A (ko) 소프트웨어 정의 네트워크 중의 서비스 편성 방법 및 장치, 저장 매체
US11863419B2 (en) Network service management system and network service management method
CN108141378A (zh) Vnfd中的休眠vdu
JP2017049643A (ja) 情報処理装置、ライセンス管理プログラム、及び、ライセンス管理方法
CN104572054A (zh) 一种能力调用方法和设备
KR20160147927A (ko) 모바일 네트워크의 용량 확장 최적화
EP2520068B1 (en) Managing an execution of a composite service
US20230040842A1 (en) Network service management system and network service management method
JP6509358B2 (ja) Sdnネットワークにおけるデータフローに対して課金する方法、装置およびシステム
CN112448833B (zh) 一种多管理域的通信方法和装置
CN108228310B (zh) 虚拟网络功能的均衡部署方法及装置
Zhao et al. An efficient VNF deployment algorithm for SFC scaling-out based on the proposed scaling management mechanism
CN105812434B (zh) 用户手持设备虚拟化后的业务链控制方法及装置
US12026539B2 (en) Service creation and management
Dudouet et al. Reliable cloud-applications: an implementation through service orchestration
CN113098705B (zh) 网络业务的生命周期管理的授权方法及装置
CN110808866B (zh) 一种配置数据传输资源的系统
CN110830316B (zh) 一种基于服务层级配置网络资源的方法、装置和电子设备