(57)【特許請求の範囲】
【請求項１】
物理サーバ上に設けられた仮想サーバでソフトウェアを稼動して利用する場合に、ソフトウェアのライセンス違反を検知するライセンス管理システムであって、
ソフトウェアと当該ソフトウェアのライセンス条件とを対応付けて記憶するためのライセンス管理テーブルと、
仮想サーバと当該仮想サーバで利用されているソフトウェアとを対応付けて記憶するための仮想サーバ管理テーブルと、
物理サーバと当該物理サーバ上に設けられている仮想サーバとを対応つけて記憶するための物理サーバ管理テーブルと、
前記仮想サーバの状態を監視し、仮想サーバの障害を検知する障害検知手段と、
前記３つのテーブルを参照し、物理サーバ上に設けられた仮想サーバがソフトウェアを利用するときの状態が、ソフトウェアのライセンス条件に違反するかどうかを判定するライセンス管理手段と、
前記障害検知手段から障害を検知した旨の通知を受けた場合に、仮想サーバを障害検知時とは異なる物理サーバ上に再配備してソフトウェアを使用するときの状態が、ライセンス条件に違反するかどうかを前記ライセンス管理手段に問い合わせ、ライセンス条件に違反しないように、仮想サーバを障害検知時とは異なる物理サーバ上に再配備する仮想サーバ管理手段と、
を備えることを特徴とするライセンス管理システム。
【請求項２】
さらに、
仮想サーバの負荷状況を記憶するための負荷状況管理テーブル、
を備え、
前記仮想サーバ管理手段は、前記負荷状況管理テーブルを確認し、高負荷の仮想サーバを検知した場合に、仮想サーバを高負荷検知時とは異なる物理サーバ上に再配備してソフトウェアを使用するときの状態が、ライセンス条件に違反するかどうかを前記ライセンス管理手段に問い合わせ、ライセンス条件に違反しないように、仮想サーバを高負荷検知時とは異なる物理サーバ上に再配備する、
ことを特徴とする請求項１に記載のライセンス管理システム。
【請求項３】
前記仮想サーバ管理手段は、仮想サーバを新規に配備する場合に、仮想サーバを物理サーバ上に配備してソフトウェアを使用するときの状態が、ライセンス条件に違反するかどうかを前記ライセンス管理手段に問い合わせ、ライセンス条件に違反しないように、仮想サーバを物理サーバ上に配備する、
ことを特徴とする請求項１または２に記載のライセンス管理システム。
【請求項４】
さらに、
前記仮想サーバ管理手段がライセンス条件を違反せずに物理サーバ上に仮想サーバを配備できなかった場合に、管理者にライセンス違反が発生したことを通知するライセンス違反通知手段、
を備えることを特徴とする請求項１，２または３に記載のライセンス管理システム。
【請求項５】
さらに、
ソフトウェアの使用本数を記録するためのソフトウェア使用本数管理テーブルと、
管理者に遊休ライセンスがある旨を通知する遊休ライセンス通知手段と、
を備え、
前記ライセンス管理手段は、前記仮想サーバ管理テーブルを所定の間隔で参照してソフトウェアの使用本数を確認し、前記ソフトウェア使用本数管理テーブルにソフトウェアの使用本数を記録し、所定の回数だけ使用本数を記録した後、ソフトウェアごとに、前記ライセンス管理テーブルのライセンス条件に含まれる所有本数と前記ソフトウェア使用本数管理テーブルの使用本数とを比較し、比較した結果、前記使用本数が前記所有本数に対して規定の割合に達していないソフトウェアを遊休ソフトウェアとし、前記遊休ライセンス通知手段を用いて管理者に通知を行う、
ことを特徴とする請求項１，２または３に記載のライセンス管理システム。
【請求項６】
さらに、
ソフトウェアの使用本数を記録するためのソフトウェア使用本数管理テーブルと、
管理者に遊休ライセンスがある旨を通知する遊休ライセンス通知手段と、
を備え、
前記ライセンス管理手段は、前記仮想サーバ管理テーブルを所定の間隔で参照してソフトウェアの使用本数を確認し、前記ソフトウェア使用本数管理テーブルにソフトウェアの使用本数を記録し、所定の回数だけ使用本数を記録した後、ソフトウェアごとに、前記ライセンス管理テーブルのライセンス条件に含まれる所有本数と前記ソフトウェア使用本数管理テーブルの使用本数とを比較し、比較した結果、前記使用本数が前記所有本数に対して規定の割合に達していないソフトウェアを遊休ソフトウェアとし、前記遊休ライセンス通知手段を用いて管理者に通知を行う、
ことを特徴とする請求項４に記載のライセンス管理システム。
【請求項７】
前記遊休ライセンス通知手段と前記ライセンス違反通知手段を同一の通知手段とする、
ことを特徴とする請求項６に記載のライセンス管理システム。
【請求項８】
物理サーバ上に設けられた仮想サーバでソフトウェアを稼動して利用する場合に、ソフトウェアのライセンス違反を検知するライセンス管理システムにおけるライセンス管理方法であって、
前記ライセンス管理システムが、
ソフトウェアと当該ソフトウェアのライセンス条件とを対応付けて記憶するためのライセンス管理テーブルと、
仮想サーバと当該仮想サーバで利用されているソフトウェアとを対応付けて記憶するための仮想サーバ管理テーブルと、
物理サーバと当該物理サーバ上に設けられている仮想サーバとを対応つけて記憶するための物理サーバ管理テーブルと、
を備える場合に、
前記ライセンス管理システムが、前記仮想サーバの状態を監視し、仮想サーバの障害を検知する障害検知ステップと、
前記ライセンス管理システムが、仮想サーバの障害を検知した場合に、前記３つのテーブルを参照し、仮想サーバを障害検知時とは異なる物理サーバ上に再配備してソフトウェアを使用するときの状態が、ソフトウェアのライセンス条件に違反するかどうかを判定するライセンス管理ステップと、
前記ライセンス管理システムが、前記ライセンス管理ステップの判定に従って、ライセンス条件に違反しないように、仮想サーバを障害検知時とは異なる物理サーバ上に再配備する仮想サーバ管理ステップと、
を含むことを特徴とするライセンス管理方法。
【請求項９】
さらに、前記ライセンス管理システムが、
仮想サーバの負荷状況を記憶するための負荷状況管理テーブル、
を備え、
前記ライセンス管理システムが、前記負荷状況管理テーブルを確認し、高負荷の仮想サーバを検知する高負荷検知ステップ、
を含む場合に、
前記ライセンス管理ステップでは、仮想サーバの高負荷を検知した場合に、前記ライセンス管理テーブル、前記仮想サーバ管理テーブル、および前記物理サーバ管理テーブルの３つのテーブルを参照し、仮想サーバを高負荷検知時とは異なる物理サーバ上に再配備してソフトウェアを使用するときの状態が、ライセンス条件に違反するかどうかを判定し、
前記仮想サーバ管理ステップでは、前記ライセンス管理ステップの判定に従って、ライセンス条件に違反しないように、仮想サーバを高負荷検知時とは異なる物理サーバ上に再配備する、
ことを特徴とする請求項８に記載のライセンス管理方法。
【請求項１０】
前記ライセンス管理ステップでは、前記ライセンス管理テーブル、前記仮想サーバ管理テーブル、および前記物理サーバ管理テーブルの３つのテーブルを参照し、仮想サーバを新規に物理サーバ上に配備してソフトウェアを使用するときの状態が、ライセンス条件に違反するかどうかを判定し、
前記仮想サーバ管理ステップでは、前記ライセンス管理ステップの判定に従って、ライセンス条件に違反しないように、仮想サーバを新規に物理サーバ上に配備する、
ことを特徴とする請求項８または９に記載のライセンス管理方法。
【請求項１１】
さらに、
前記ライセンス管理システムが、前記仮想サーバ管理ステップにおいてライセンス条件を違反せずに物理サーバ上に仮想サーバを配備できなかった場合に、管理者にライセンス違反が発生したことを通知するライセンス違反通知ステップ、
を含むことを特徴とする請求項８，９または１０に記載のライセンス管理方法。
【請求項１２】
さらに、前記ライセンス管理システムが、
ソフトウェアの使用本数を記録するためのソフトウェア使用本数管理テーブル、
を備える場合に、
前記ライセンス管理システムが、前記仮想サーバ管理テーブルを所定の間隔で参照してソフトウェアの使用本数を確認し、前記ソフトウェア使用本数管理テーブルにソフトウェアの使用本数を記録するソフトウェア使用本数管理ステップと、
前記ライセンス管理システムが、所定の回数だけ使用本数を記録した後、ソフトウェアごとに、前記ライセンス管理テーブルのライセンス条件に含まれる所有本数と前記ソフトウェア使用本数管理テーブルの使用本数とを比較し、比較した結果、前記使用本数が前記所有本数に対して規定の割合に達していないソフトウェアを遊休ソフトウェアとする遊休ソフトウェア判定ステップと、
前記ライセンス管理システムが、管理者に遊休ライセンスがある旨を通知する遊休ライセンス通知ステップと、
を含むことを特徴とする請求項８から１１のいずれか１つに記載のライセンス管理方法。
【請求項１３】
請求項８から１２に記載のライセンス管理方法をコンピュータに実行させることを特徴とするライセンス管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウド環境において仮想サーバで使用されるソフトウェアのライセンスを管理するライセンス管理システムに関する。
【背景技術】
【０００２】
従来、クラウド環境では、一般的に、仮想サーバ上でアプリケーションが稼動し、仮想サーバは、ハードウェアスペックが一定でない物理サーバ上で稼動している。このようなクラウド環境で使用されるソフトウェアは、通常、使用本数や使用される物理サーバのＣＰＵ（Central  Processing  Unit）数等によりライセンス料金が決められており、契約しているＣＰＵ数よりも多い物理サーバで使用した場合にはライセンス違反となる。例えば、下記特許文献１には、グリッドシステムにおいて、環境負荷等を考慮して、ライセンス条件を満足するように仮想サーバを物理サーバに割り当てる技術が開示されている。
【０００３】
また、ある仮想サーバの負荷が高くなった場合に、現在の物理サーバから、より性能の高い他の物理サーバに再配備する変更が一般的に行われている。例えば、下記特許文献２には、仮想サーバが設けられた複数の物理サーバから構成されるシステムにおいて、高負荷時等に、予め設定されたグループ条件等に従って仮想サーバを再配備する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２６５１９３号公報
【特許文献２】特開２００９−１９９３９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の技術によれば、障害発生時やサーバ高負荷時の対策としてライブマイグレーションの設定をした場合、仮想サーバを別の物理サーバに自動的に再配備し、サービスを安定供給することが可能となるが、仮想サーバが現状よりも高スペックの物理サーバに配備されることによって、ソフトウェアのライセンス違反を招く可能性がある。すなわち、障害の発生等に対して仮想サーバの再配備を行う場合に、ライセンス違反が生じる可能性がある、という問題があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、障害の発生等に対して仮想サーバの再配備を行う場合に、ソフトウェアのライセンス違反を回避することが可能なライセンス管理システムを得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、物理サーバ上に設けられた仮想サーバでソフトウェアを稼動して利用する場合に、ソフトウェアのライセンス違反を検知するライセンス管理システムであって、ソフトウェアと当該ソフトウェアのライセンス条件とを対応付けて記憶するためのライセンス管理テーブルと、仮想サーバと当該仮想サーバで利用されているソフトウェアとを対応付けて記憶するための仮想サーバ管理テーブルと、物理サーバと当該物理サーバ上に設けられている仮想サーバとを対応つけて記憶するための物理サーバ管理テーブルと、前記仮想サーバの状態を監視し、仮想サーバの障害を検知する障害検知手段と、前記３つのテーブルを参照し、物理サーバ上に設けられた仮想サーバがソフトウェアを利用するときの状態が、ソフトウェアのライセンス条件に違反するかどうかを判定するライセンス管理手段と、前記障害検知手段から障害を検知した旨の通知を受けた場合に、仮想サーバを障害検知時とは異なる物理サーバ上に再配備してソフトウェアを使用するときの状態が、ライセンス条件に違反するかどうかを前記ライセンス管理手段に問い合わせ、ライセンス条件に違反しないように、仮想サーバを障害検知時とは異なる物理サーバ上に再配備する仮想サーバ管理手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、障害の発生等に対して仮想サーバの再配備を行う場合に、ソフトウェアのライセンス違反を回避することができる、という効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、ライセンス管理システムの構成例を示す図である。
【図２】図２は、Ｓ／Ｗ使用本数管理テーブルの構成例を示す図である。
【図３】図３は、ライセンス管理テーブルの構成例を示す図である。
【図４】図４は、仮想サーバ管理テーブルの構成例を示す図である。
【図５】図５は、物理サーバ管理テーブルの構成例を示す図である。
【図６】図６は、負荷状況管理テーブルの構成例を示す図である。
【図７】図７は、ライセンス違反の確認処理を示すフローチャートである。
【図８】図８は、遊休ライセンスの確認処理を示すフローチャートである。
【図９】図９は、ライセンス管理プログラムを実行可能な電子計算機の構成例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本発明にかかるライセンス管理システムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態．
図１は、本実施の形態のライセンス管理システムの構成例を示す図である。ライセンス管理システムは、仮想サーバ管理部１と、ライセンス管理部２と、Ｓ／Ｗ（ソフトウェア）使用本数管理テーブル３と、ライセンス管理テーブル４と、ライセンス情報入力部５と、仮想サーバ管理テーブル６と、仮想サーバ情報収集部７と、物理サーバ管理テーブル８と、物理サーバ情報収集部９と、負荷状況管理テーブル１０と、負荷状況管理部１１と、障害検知部１２と、アラート通知部１３と、を備える。
【００１２】
仮想サーバ管理部１は、仮想サーバの新規配備、または仮想サーバの高負荷、障害を検知した際に、ライセンス管理部２に問い合わせて、ソフトウェアのライセンス違反がないように物理サーバに仮想サーバを配備する。
【００１３】
ライセンス管理部２は、ライセンス管理テーブル４、仮想サーバ管理テーブル６、および物理サーバ管理テーブル８を参照し、所有ライセンスと使用ライセンスとを比較して、ライセンス違反を検知する。また、Ｓ／Ｗ使用本数管理テーブル３にソフトウェアの使用本数を記録し、所有ライセンスと比較して遊休ソフトウェアの判定を行う。
【００１４】
Ｓ／Ｗ使用本数管理テーブル３は、ソフトウェアの使用本数を記録・管理するための記憶部である。
【００１５】
図２は、Ｓ／Ｗ使用本数管理テーブル３の構成例を示す図である。Ｓ／Ｗ使用本数管理テーブル３は、Ｓ／Ｗと、使用本数と、から構成される。例えば、「Ｏｒａｃｌｅ」のソフトウェアは、１１／８に「２」本、１１／９に「１」本、１１／１０に「１」本、１１／１１に「２」本、１１／１２に「１」本、使用されたことを示す。なお、一例として、使用本数を記録する間隔を１日としているが、これに限定するものではない。１日のうちで複数回（例えば、業務時間内で１時間ごとに）使用本数を記録するようにしてもよい。
【００１６】
ライセンス管理テーブル４は、どのユーザがどのソフトウェアのライセンスを何本所有しているかを記録・管理するための記憶部である。
【００１７】
図３は、ライセンス管理テーブル４の構成例を示す図である。ライセンス管理テーブル４は、仮想サーバ管理者と、Ｓ／Ｗと、所有ライセンス形態と、本数と、アラート通知先と、から構成される。ソフトウェアごとにライセンス条件を対応つけて記憶したものである。例えば、「Ａｄｍｉｎ１」の仮想サーバ管理者は、「Ｏｒａｃｌｅ」のソフトウェアを本数「２本」所有しており、その所有ライセンス形態は「ＣＰＵライセンス」である。また、当該ソフトウェアでライセンス違反等があった場合のアラート通知先が「ＡＢＣ＠ＡＡＡ．ｃｏ．ｊｐ」であることを示す。
【００１８】
ライセンス情報入力部５は、ユーザが、所有するソフトウェアの情報を、ライセンス管理テーブル４に登録するための入力部である。電子計算機等におけるキーボードなどがあるが、これに限定するものではない。
【００１９】
仮想サーバ管理テーブル６は、どの仮想サーバでどのソフトウェアが利用されているかを記録・管理するためのテーブルである。
【００２０】
図４は、仮想サーバ管理テーブル６の構成例を示す図である。仮想サーバ管理テーブル６は、仮想サーバと、仮想サーバ管理者と、利用Ｓ／Ｗと、から構成される。仮想サーバごとに、利用しているソフトウェアを対応つけて記憶したものである。例えば、仮想サーバ「Ｖｉｒｔｕａｌ１」で、仮想サーバ管理者「Ａｄｍｉｎ１」が、「Ｏｒａｃｌｅ」のソフトウェアを利用していることを示す。
【００２１】
仮想サーバ情報収集部７は、仮想サーバ上でどのソフトウェアが使用されているのかの情報を収集するエージェントである。
【００２２】
物理サーバ管理テーブル８は、どの物理サーバでどの仮想サーバが稼動しているのかを記録・管理するためのテーブルである。
【００２３】
図５は、物理サーバ管理テーブル８の構成例を示す図である。物理サーバ管理テーブル８は、物理サーバと、使用ＣＰＵと、利用仮想サーバと、から構成される。物理サーバごとに、当該物理サーバ上に設けられている仮想サーバを対応つけて記憶したものである。例えば、「Ｐｈｙｓｉｃａｌ１」の物理サーバは、ＣＰＵの数が「２」であり、「Ｖｉｒｔｕａｌ１、Ｖｉｒｔｕａｌ２」の２つの仮想サーバが、現在利用中であることを示す。
【００２４】
物理サーバ情報収集部９は、物理サーバ上でどの仮想サーバが稼動しているのかの情報を収集するエージェントである。
【００２５】
負荷状況管理テーブル１０は、仮想サーバの負荷状況を記録・管理するためのテーブルである。
【００２６】
図６は、負荷状況管理テーブル１０の構成例を示す図である。負荷状況管理テーブル１０は、仮想サーバと、負荷状況（ＣＰＵ）と、負荷状況（メモリ）と、負荷状況（ユーザ数）と、から構成される。例えば、「Ｖｉｒｔｕａｌ１」の仮想サーバでは、ＣＰＵの使用状況が「７０％」、メモリの使用状況が「８０％」、使用ユーザ数が「５００００」人であることを示す。一例として、ＣＰＵ、メモリ、使用ユーザ数の３項目に基づいて負荷状況を判定しているが、これに限定するものではなく、いずれか１〜２項目としてもよいし、他の項目を用いてもよい。
【００２７】
負荷状況管理部１１は、仮想サーバから負荷状況を収集し、負荷状況管理テーブル１０に記録して負荷状況を管理する。
【００２８】
障害検知部１２は、仮想サーバの状態を監視し、仮想サーバに発生した障害を検知する。障害の検知方法としては、例えば、ソフトウェアを起動中の仮想サーバに対して定期的に信号を送信して、その応答に基づいて障害を判定する方法がある。また、仮想サーバのリソース（メモリ、ＣＰＵ、ＤＩＳＣ等）を確認して障害を判定する方法があるが、これらに限定するものではなく、他の方法を用いてもよい。
【００２９】
アラート通知部１３は、ライセンス違反を検知した場合等に、ユーザにアラートを通知する。通知する方法としては、メールや画面上へのポップアップ等があるが、これに限定するものではない。
【００３０】
つづいて、ライセンス管理システムにおけるライセンス違反の確認処理について説明する。図７は、ライセンス違反の確認処理を示すフローチャートである。
【００３１】
まず、ライセンス情報入力部５がライセンス管理テーブル４に情報を入力し、または、仮想サーバ情報収集部７が仮想サーバに関する情報を収集して仮想サーバ管理テーブル６に記録し、物理サーバ情報収集部９が物理サーバに関する情報を収集して物理サーバ管理テーブル８に記録し、負荷状況管理部１１が各仮想サーバの負荷状況を取得して負荷状況管理テーブル１０に記録する。なお、情報の入力または記録は、４つ全てを同時に行う必要はなく、いずれか１つでもよい。
【００３２】
仮想サーバ管理部１では、ライセンス管理部２を経由して、ライセンス情報入力部５からライセンス管理テーブル４に入力があったかどうか、仮想サーバ情報収集部７が仮想サーバに関する情報を収集して仮想サーバ管理テーブル６に記録したかどうか、物理サーバ情報収集部９が物理サーバに関する情報を収集して物理サーバ管理テーブル８に記録したかどうか、を確認し、また、負荷状況管理部１１が各仮想サーバの負荷状況を取得して負荷状況管理テーブル１０に記録したかどうか、情報の確認を行う（ステップＳ１０１）。
【００３３】
つぎに、仮想サーバ管理部１は、仮想サーバを新規に作成しない場合は（ステップＳ１０２：Ｎｏ）、さらに、入力情報に基づいて、仮想サーバを再配備するような障害が発生したか、または高負荷を検知したかどうかを確認する（ステップＳ１０３）。
【００３４】
障害または高負荷を検知した場合（ステップＳ１０３：Ｙｅｓ）、仮想サーバ管理部１は、仮想サーバの配備を設定する（ステップＳ１０４）。すなわち、障害または高負荷が検知された仮想サーバを、現在の障害または高負荷を検知したときの物理サーバとは異なる、他のどの物理サーバに配備するのかを設定する。なお、障害または高負荷を検知しなかった場合（ステップＳ１０３：Ｎｏ）、ステップＳ１０１に戻って情報の確認を行う。
【００３５】
そして、仮想サーバ管理部１は、ライセンス管理部２に対して、ステップＳ１０４で設定した配備において、ソフトウェアのライセンス違反の有無を問い合わせる（ステップＳ１０５）。ライセンス管理部２は、ライセンス管理テーブル４、仮想サーバ管理テーブル６、および物理サーバ管理テーブル８に記録された情報を比較することによって、ライセンス違反の有無を確認し、確認した結果を、仮想サーバ管理部１へ通知する（ステップＳ１０６）。ライセンス違反の確認方法は、例えば、ライセンス条件が所有本数であれば、その時点におけるソフトウェアの使用本数が所有本数以下であるかどうかを確認し、ライセンス条件がＣＰＵ数であれば、ソフトウェアを利用している仮想サーバが設けられている物理サーバのＣＰＵ数を確認する。
【００３６】
ライセンス違反があった場合（ステップＳ１０７：Ｙｅｓ）、仮想サーバ管理部１は、さらに、別の物理サーバへの再配備が可能かどうかを確認する（ステップＳ１０８）。再配備できる場合（ステップＳ１０８：Ｙｅｓ）、ステップＳ１０４に戻って、再度、障害または高負荷が検知された仮想サーバをどの物理サーバに配備するのかを設定する（ステップＳ１０４）。上記処理（ステップＳ１０４〜Ｓ１０７）を実行した結果、別の物理サーバへの再配備ができなかった場合（ステップＳ１０８：Ｎｏ）、仮想サーバ管理部１は、アラート通知部１３を用いて、システムの管理者にライセンス違反が生じた旨のアラート通知を行う（ステップＳ１０９）。
【００３７】
一方、ステップＳ１０７において、ライセンスに違反がなかった場合（ステップＳ１０７：Ｎｏ）、仮想サーバ管理部１は、設定した物理サーバへ仮想サーバを実際に配備して、処理を終了する。すなわち、仮想サーバの運用を開始することができる。
【００３８】
ステップＳ１０２に戻って、仮想サーバ管理部１が仮想サーバを新規作成する場合（ステップＳ１０２：Ｙｅｓ）、仮想サーバ管理部１は、仮想サーバを新規に作成して物理サーバに配備する（ステップＳ１１０）。そして、ステップＳ１０５へ移行し、以降の処理は前述のとおりである。
【００３９】
このように、仮想サーバ管理部１は、仮想サーバの障害や高負荷を検知した場合、または仮想サーバの新規作成時、仮想サーバを物理サーバに配備する。このとき、仮想サーバ管理部１は、ライセンス管理部２に、仮想サーバを物理サーバに配備した状態においてソフトウェアのライセンス違反の有無を確認し、ライセンス違反が有るときは再配備を行い、ライセンス違反が無いことを確認して実際に配備して運用を開始する。
【００４０】
また、ライセンス管理システムでは、さらに、所有するソフトウェアのライセンスについて、遊休ライセンス、すなわち使用されていないライセンスがあるかどうかを確認することが可能である。図８は、遊休ライセンスの確認処理を示すフローチャートである。
【００４１】
まず、ライセンス管理部２は、仮想サーバで使用されているソフトウェアの使用本数を確認する（ステップＳ２０１）。所定の確認時間が来るまでは待機し（ステップＳ２０１：Ｎｏ）、確認時間が来たとき（ステップＳ２０１：Ｙｅｓ）、仮想サーバ管理テーブル６を参照し（ステップＳ２０２）、その時点で使用されているソフトウェアの使用本数を、ソフトウェアごとにＳ／Ｗ使用本数管理テーブル３に記録する（ステップＳ２０３）。
【００４２】
ライセンス管理部２は、遊休ライセンスの判定を行うための所定の回数だけ使用本数を記録していないときは（ステップＳ２０４：Ｎｏ）、上記ステップＳ２０１〜Ｓ２０３間での処理を繰り返し実行し、遊休ライセンスの判定を行うための所定の回数だけ使用本数を記録したとき（ステップＳ２０４：Ｙｅｓ）、遊休ライセンスの判定を行う（ステップＳ２０５）。具体的に、ライセンス管理部２は、ソフトウェアごとに、Ｓ／Ｗ使用本数管理テーブル３に記録されている使用本数と、ライセンス管理テーブル４に記録されている本数とを比較する。
【００４３】
Ｓ／Ｗ使用本数管理テーブル３に記録されている使用本数が、ライセンス管理テーブル４に記録されている本数に達しているソフトウェアについては、遊休ソフトウェアではないとして（ステップＳ２０５：Ｎｏ）、ステップＳ２０１に戻って上記ステップＳ２０１〜Ｓ２０４までの処理を繰り返し実行する。
【００４４】
一方、Ｓ／Ｗ使用本数管理テーブル３に記録されている使用本数が、ライセンス管理テーブル４に記録されている本数に達していないソフトウェアについては、遊休ソフトウェアとして（ステップＳ２０５：Ｙｅｓ）、仮想サーバ管理部１を経由して、アラート通知部１３からライセンス管理者にアラート通知を行う（ステップＳ２０６）。アラート通知先は、ライセンス管理テーブル４（図３参照）に記載されているアラート通知先に行う。
【００４５】
このように、ライセンス管理部２は、定期的に所有しているソフトウェアの使用本数を確認し、一定期間使用されていないソフトウェアについては遊休ソフトウェアとしてライセンス管理者に通知を行う。これにより、ライセンス管理者は、ライセンス契約の見直し等を行うことができる。
【００４６】
なお、遊休ソフトウェアを判定する方法については、上記の方法に限定するものではなく、ライセンス管理テーブル４に記録されている本数に対して、予め規定した割合（例えば、８０％：本数５本のときであれば４本）に達しないときに遊休ソフトウェアとして判定してもよい。これにより、所有しているソフトウェアの本数に対して、余裕を持って遊休ソフトウェアの判定を行うことができる。
【００４７】
また、遊休ソフトウェアを自動的に判定する方法について説明したが、これに限定するものではない。例えば、ソフトウェアの使用本数をＳ／Ｗ使用本数管理テーブル３に記録する（ステップＳ２０３）までの処理をライセンス管理システムで行い、記録した結果をライセンス管理者が随時確認できるようにしてもよい。ライセンス管理者は、必要な場合に（例えば、期末や棚卸のとき等）記録を確認することによって、ライセンス契約の見直し等を行うことができる。
【００４８】
また、ライセンス違反と遊休ソフトウェアについて、いずれもアラート通知部１３から管理者に通知を行うようにしているが、これに限定するものではなく、異なる通知手段（例えば、画面による表示手段とプリンタ等の出力手段）で行うようにしてもよい。
【００４９】
以上説明したように、本実施の形態では、ライセンス管理システムにおいて、仮想サーバ管理部１は、仮想サーバの障害や高負荷を検知した場合、または仮想サーバの新規作成時に、仮想サーバを物理サーバに配備した状態でソフトウェアのライセンス違反が無いことを確認してから、実際に仮想サーバを配備して運用することとした。これにより、障害等が発生した場合に、仮想サーバを他の物理サーバへ移動させることができ、かつ、ライセンス違反が発生することを回避することができる。
【００５０】
また、ライセンス管理部２が、定期的に所有しているソフトウェアの使用本数を確認し、一定期間使用されていないソフトウェアについては遊休ソフトウェアとしてライセンス管理者に通知を行うこととした。これにより、ライセンス管理者は、使用していないソフトウェアのライセンス契約の見直し等を行うことができる。
【００５１】
なお、図９は、本実施の形態にかかるライセンス管理システムとしての機能を備え、本実施の形態のライセンス管理プログラムを実行可能な電子計算機の構成例を示す図である。
【００５２】
この電子計算機は、たとえば、ＣＰＵを含む制御ユニット１０１（上記仮想サーバ管理部１、ライセンス管理部２、仮想サーバ情報収集部７、物理サーバ情報収集部９、負荷状況管理部１１、障害検知部１２に相当）と、メモリユニット１０２（上記Ｓ／Ｗ使用本数管理テーブル３、ライセンス管理テーブル４、仮想サーバ管理テーブル６、物理サーバ管理テーブル８、負荷状況管理テーブル１０に相当）と、表示ユニット１０３（上記アラート通知部１３に相当）と、入力ユニット１０４（上記ライセンス情報入力部５に相当）と、ＣＤ−ＲＯＭドライブユニット１０５と、ディスクユニット１０６と、外部Ｉ／Ｆユニット１０７と、を備え、これらの各ユニットは、それぞれシステムバスＡを介して接続されている。
【００５３】
図９において、制御ユニット１０１は、上記ライセンス管理プログラムを実行する。メモリユニット１０２は、ＲＡＭ、ＲＯＭ等の各種メモリを含み、上記制御ユニット１０１が実行すべきプログラム、処理の過程で得られた必要なデータ等を記憶する。表示ユニット１０３は、ＣＲＴやＬＣＤ（液晶表示パネル）等で構成され、電子計算機の使用者に対して各種画面を表示する。入力ユニット１０４は、キーボード、マウス等で構成され、電子計算機の使用者が、各種情報の入力を行うために使用する。また、図示のＣＤ−ＲＯＭ２００には、本実施の形態の処理を記述したライセンス管理プログラムが格納されている。
【００５４】
ここで、上記ライセンス管理プログラムが実行可能な状態になるまでの電子計算機の動作例について説明する。まず、上記のように構成される電子計算機には、ＣＤ−ＲＯＭドライブユニット１０５にセットされたＣＤ−ＲＯＭ２００から、ライセンス管理プログラムがディスクユニット１０６にインストールされる。そして、電子計算機の起動時またはプログラムの実行時に、ディスクユニット１０６から読み出されたプログラムがメモリユニット１０２に格納される。この状態で、制御ユニット１０１は、メモリユニット１０２に格納されたプログラムにしたがって、ライセンス管理処理を実行する。
【００５５】
なお、本実施の形態においては、ＣＤ−ＲＯＭ２００にて上記ライセンス管理プログラムを提供しているが、このプログラムの記録媒体は、これに限定されることなく、システムを構成するコンピュータに応じて、たとえば、フロッピー（登録商標）ディスク、ＤＶＤ等の他の記録媒体を用いることも可能である。また、電子メール、インターネット等の伝送媒体により提供されたプログラムを用いることとしてもよい。
【産業上の利用可能性】
【００５６】
以上のように、本発明にかかるライセンス管理システムは、クラウド環境の仮想サーバ上でソフトウェアを利用するシステムに有用であり、特に、ライセンス条件でソフトウェアの使用が制限される場合に適している。
【符号の説明】
【００５７】
１  仮想サーバ管理部
２  ライセンス管理部
３  Ｓ／Ｗ使用本数管理テーブル
４  ライセンス管理テーブル
５  ライセンス情報入力部
６  仮想サーバ管理テーブル
７  仮想サーバ情報収集部
８  物理サーバ管理テーブル
９  物理サーバ情報収集部
１０  負荷状況管理テーブル
１１  負荷状況管理部
１２  障害検知部
１３  アラート通知部
【図１】
0005506653.tif 000002
【図２】
0005506653.tif 000003
【図３】
0005506653.tif 000004
【図４】
0005506653.tif 000005
【図５】
0005506653.tif 000006
【図６】
0005506653.tif 000007
【図７】
0005506653.tif 000008
【図８】
0005506653.tif 000009
【図９】
0005506653.tif 000010