(57)【要約】【課題】ソフトウェアベンダー側、ユーザ側双方において、ライセンスを管理できるようにすることを目的とする。【解決手段】複数のコンピュータが接続され、アプリケーションが仮想サーバ上で起動される際に課金によってライセンスを許可するライセンス管理システムであって、アプリケーションを管理する管理モジュールは、課金のタイプを判断する手段と、判断に基づく課金のタイプに応じたライセンスの数をカウントする手段と、カウントの結果を、ライセンスを許可するサーバに送信する手段と、を有し、ライセンスを許可するサーバは、送信されたカウント数が同時に利用できるライセンス数を超えているか否かを判断する手段と、判断の結果に基づいてライセンスを許可するか否かを決める手段と、を有することを特徴とする。【選択図】図１
2010267009.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンピュータが接続され、アプリケーションが仮想サーバ上で起動される際に課金によってライセンスを許可するライセンス管理システムであって、
前記アプリケーションを管理する管理モジュールは、前記課金のタイプを判断する手段と、
該判断に基づく課金のタイプに応じたライセンスの数をカウントする手段と、
該カウントの結果を、前記ライセンスを許可するサーバに送信する手段と、を有し、
該ライセンスを許可するサーバは、該送信されたカウント数が同時に利用できるライセンス数を超えているか否かを判断する手段と、
該判断の結果に基づいてライセンスを許可するか否かを決める手段と、を有することを特徴とするライセンス管理システム。
【請求項２】
前記課金のタイプを判断する手段は、前記管理モジュールが実サーバである場合、ＣＰＵ数に依存した前記課金のタイプか否かを判断し、前記ライセンスの数をカウントする手段は該判断に基づく課金のタイプに応じたライセンスの数をカウントすることを特徴とする請求項１記載のライセンス管理システム。
【請求項３】
前記管理モジュールが仮想サーバである場合、前記課金のタイプが前記仮想サーバ単位であり、前記ライセンスの数が前記仮想サーバに割り当てられたＣＰＵ数分なら、前記ライセンスの数をカウントする手段は前記仮想サーバと該割り当てられたＣＰＵ数からライセンスの数をカウントすることを特徴とする請求項１記載のライセンス管理システム。
【請求項４】
前記管理モジュールが仮想サーバである場合、前記課金のタイプが前記仮想サーバ単位であり、前記ライセンスが前記仮想サーバごとに割り当てられているなら、前記ライセンスの数をカウントする手段は前記仮想サーバの数から前記ライセンスの数をカウントすることを特徴とする請求項１記載のライセンス管理システム。
【請求項５】
前記管理モジュールが仮想サーバである場合、前記課金のタイプが前記仮想サーバ単位であり、前記ライセンスの数が前記仮想サーバの数と実ＣＰＵの数とを乗じた数ならば、前記ライセンスの数をカウントする手段は前記仮想サーバと前記実ＣＰＵ数とから前記ライセンスの数をカウントすることを特徴とする請求項１記載のライセンス管理システム。
【請求項６】
前記仮想サーバが移動する場合、前記ライセンスの数をカウントする手段は、該移動した状態において前記ライセンスの数をカウントし、
前記移動の結果、前記ライセンスの数が足りなくなった場合、該足りない旨を警告する手段をさらに有することを特徴とする請求項１記載のライセンス管理システム。
【請求項７】
前記仮想サーバへのＣＰＵの割り当ての数が変更された場合、前記ライセンスの数をカウントする手段は、該移動した状態において前記ライセンスの数をカウントし、
前記変更の結果、前記ライセンスの数が足りなくなった場合、該足りない旨を警告する手段をさらに有することを特徴とする請求項１記載のライセンス管理システム。
【請求項８】
複数のコンピュータが接続され、アプリケーションが仮想サーバ上で起動される際に課金によってライセンスを許可するライセンス管理システムの前記アプリケーションを管理する管理モジュールであって、
前記課金のタイプを判断する手段と、
該判断に基づく課金のタイプに応じたライセンスの数をカウントする手段と、
該カウントの結果を、前記ライセンスを許可するサーバに送信する手段と、を有することを特徴とする管理モジュール。
【請求項９】
複数のコンピュータが接続され、アプリケーションが仮想サーバ上で起動される際に課金によってライセンスを許可するライセンス管理システムの前記ライセンスを許可するサーバであって、
該送信されたカウント数が同時に利用できるライセンス数を超えているか否かを判断する手段と、
該判断の結果に基づいてライセンスを許可するか否かを決める手段と、を有することを特徴とするサーバ。
【請求項１０】
複数のコンピュータが接続され、アプリケーションが仮想サーバ上で起動される際に課金によってライセンスを許可するライセンス管理方法であって、
前記アプリケーションを管理する管理モジュールは、前記課金のタイプを判断するステップと、
該判断に基づく課金のタイプに応じたライセンスの数をカウントするステップと、
該カウントの結果を、前記ライセンスを許可するサーバに送信するステップと、を有し、
該ライセンスを許可するサーバは、該送信されたカウント数が同時に利用できるライセンス数を超えているか否かを判断するステップと、
該判断の結果に基づいてライセンスを許可するか否かを決めるステップと、を有することを特徴とするライセンス管理方法。
【請求項１１】
請求項１０記載のライセンス管理方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライセンス管理システム、ライセンス管理方法及びコンピュータプログラムに関し、特に、仮想サーバの性質に対応したライセンス課金を行えるライセンス管理システム、ライセンス管理方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
現在、以下に述べる理由から、サーバの仮想化を導入する企業が増えている。サーバを仮想化する最大の利点は、サーバ１台の中に多数の「仮想サーバ」を作ることで、ＣＰＵの処理能力を無駄なく利用できる点である。
【０００３】
ここで、サーバの仮想化とは、１台のサーバコンピュータを複数台の仮想的なコンピュータに分割し、それぞれに別のＯＳやアプリケーションソフトを動作させる技術のことを言う。プロセッサやメモリ、ディスクをまとめて、仮想的に複数の領域に分割し、それぞれがあたかも１台であるかのように振る舞い、異なるＯＳやアプリケーションを同時に実行できる。物理的に複数のコンピュータを用意する場合に比べ、物理的資源の管理にかかる手間が省け、資源配分を需要に応じて柔軟に配分することができるという利点がある。
【０００４】
しかし、仮想化にかかるオーバーヘッドの分、直接実行するよりも性能面で劣る。ＣＰＵの処理能力を無駄なく利用できるという利点を生かしたのが、多数のＰＣサーバを集約するサーバ統合である。企業内のＰＣサーバは、Ｗｅｂサイトから基幹業務システムまで増加の一途をたどっている。こうしたＰＣサーバの大半は、そのリソースを最大限に生かしていなかった。平均的なサーバ利用率は１０％〜２０％程度に留まっているという調査がある。つまり、サーバが本来発揮できるはずの処理能力の８０％〜９０％程度は使われないまま無駄になっているわけである。
【０００５】
理由としては、運用の安定性向上の面、システム管理の単純明快さを確保する上からも、アプリケーションごと、用務ごとにハードウェアレベルで別サーバを用意することが多かったからである。一方、台数が増加することに起因する問題としては、管理対象が増加することによる管理負担の増大や、設置スペース／電力消費／発熱量の増大などが挙げられる。こういう状況を解決する手段として、仮想化技術が注目されてきた。仮想化技術を使えば、１台につき１０〜２０台の仮想サーバを収容でき、サーバ台数を劇的に削減できる。また、利用効率をほぼ１００％に近いところまで引き上げることができ、運用コストも削減できる。
【０００６】
２点目の理由としては、プロセッサのマルチコア化の進展が関連している。マルチコア化によって内部での並列演算性能は大幅に高速化されたが、一方でソフトウェアの対応がまだ追いついていないという問題がある。具体的には、従来のソフトウェアはマルチコアプロセッサに最適化された構造にはなっていないため、急激に並列度を増したプロセッサの演算リソースを使い切れないということが生じている。端的に言えば、マルチコアプロセッサで実行しても、コアを使い切ることができず、遊んでしまうコアが生じてしまう懸念がある。サーバの仮想化技術は、マルチコアプロセッサの演算性能を使いこなすための効果的な手段の一つと考えることもできる。
【０００７】
３点目の理由としては、システムの寿命の観点からの理由が考えられる。使い慣れた業務システムがＷｉｎｄｏｗｓ（登録商標）ＮＴのような旧型のＯＳで稼動しており、延命策を考えているケースは少なくない。サポートの切れた旧型ハードから新型サーバに乗せ換えたくても、旧型ＯＳがサポート対象外のこともある。かといって、業務システムを最新のＯＳに乗せ換える作業は開発の手間がかかるし、移行は難しいことが多い。このようなケースで仮想化技術を使うと、新型のサーバの上で旧型ＯＳを仮想サーバとして立てることにより動作させることができる。
【０００８】
４点目の理由としては、耐障害性の観点からの理由が考えられる。サーバにソフトウェア的な障害が発生すると、マシンをダウンさせ再起動をする必要がある。これを速やかに行うためには、予め論理的に全く同じサーバを立ち上げておき、瞬時に切り替える必要がある。このような運用が、仮想化技術のサーバの移動機能を使えば、容易に実現可能である。
【０００９】
５点目の理由としては、時間帯によってＣＰＵの処理能力やメモリ容量を切り替えられるということが挙げられる。例えば、オンライン系サーバは午前中又は月曜日に負荷のピークが集中し、バッチ系サーバは夜間や土日に負荷のピークが集中することがよくある。仮想化技術を使えば、仮想マシン間で利用できるＣＰＵ数やＣＰＵパワー、メモリ容量を変更できる。その設定は、曜日や月末といった状況に応じて細かく変更することも容易である。このような利用法は、物理的に異なるサーバでシステムを構築した場合と比べて、コストを大幅に削減できる。
【００１０】
このような背景に伴い、仮想サーバ市場が急速に成長してきており、２０１１年にｘ８６サーバの４割近くが仮想化されるという予測もある。また、多種多様な仮想化ソフト（ＶＭＷａｒｅ、Ｈｙｐｅｒ−Ｖ、Ｘｅｎ）が存在している。
【００１１】
サーバの仮想化の方式には、以下の二種類がある。ホストＯＳ方式とハイパーバイザー方式である。ホストＯＳ方式は、仮想ハードウェアを設けずに、実際の周辺機器などをそのまま利用し、ホストＯＳ上で複数のゲストＯＳを実行可能にする方式である。また、ハイパーバイザー方式は、仮想化を実現する仮想化ソフトと仮想ハードウェアのソフトウェアレイヤーをハードウェア上に実装し、その上に複数のＯＳをインストールして利用するものである。
【００１２】
次に、仮想サーバにおける一般的なライセンス課金方法について説明する。一般にソフトウェアの課金は、「ユーザ数」に基づくものと、サーバの「ＣＰＵ数（コア数）」に基づくものがある。「ユーザ数」による課金の場合は、ユーザ数を変えない限り、ソフトウェアを仮想サーバに移行させてもライセンスコストは同じになる。このようなネットワーク環境で使用するソフトウェアでは、不特定多数の人がアクセスできるためライセンスにより使用できるコンピュータや本数を制限しているものが多い。
【００１３】
ソフトウェアライセンスの形態としては以下の２種類が主に使用されている。すなわち、特定のコンピュータのみで実行可能なライセンスであるノードロックライセンスとネットワーク上のどのコンピュータでも実行可能なライセンスであるフローティングライセンスである。フローティングライセンスについては、特許文献１に記載されている。フローティングライセンス方式は、複数のコンピュータをネットワークにより相互に通信可能に接続したシステムに適用される方式である。ノードロックライセンス方式は、各コンピュータのホストＩＤを用いてライセンスを管理する方式である。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００１−０９２５５０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら、従来のフローティングライセンス技術では、上記した仮想サーバを含む、仮想化特有のライセンス課金体系を考慮したものではなかった。また、仮想化の機能として、仮想サーバに割り当てるＣＰＵ数を昼と夜とで変更するといった設定をできるということが挙げられる。仮想サーバに割り当てたＣＰＵ数に依存したライセンス体系の場合は、このＣＰＵの割り当てスケジューリングのことを考慮する必要がある。このような仮想化特有の技術により、複雑になった課金方法は、現状ソフトウェアベンダーとユーザ側で、課金体系を紳士協定的に遂行されていることが多い状況である。しかしながら、成長著しい仮想サーバ環境を考えると、ソフトウェアベンダーにとって、正確で、かつ多様な仮想化ソフトに対応できる汎用的なライセンス管理方法の必要性が増してくる。また、ユーザにとっても、ライセンス使用状況の把握の負担が増してきている。そこで、本発明は、ソフトウェアベンダー側、ユーザ側双方において、ライセンスを管理できるようにすることを目的とする。
【課題を解決するための手段】
【００１６】
上記の課題を解決するため、本発明は、複数のコンピュータが接続され、アプリケーションが仮想サーバ上で起動される際に課金によってライセンスを許可するライセンス管理システムであって、前記アプリケーションを管理する管理モジュールは、前記課金のタイプを判断する手段と、該判断に基づく課金のタイプに応じたライセンスの数をカウントする手段と、該カウントの結果を、前記ライセンスを許可するサーバに送信する手段と、を有し、該ライセンスを許可するサーバは、該送信されたカウント数が同時に利用できるライセンス数を超えているか否かを判断する手段と、該判断の結果に基づいてライセンスを許可するか否かを決める手段と、を有することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、仮想サーバを含むシステム全体で、課金方法が混在したような環境、又は動的にライセンスが変わるような環境において、同時に利用可能なライセンスカウントが可能となり、システム全体のライセンス管理を行うことが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態の構成を示す図である。
【図２】仮想化方式を示す図である。
【図３】仮想サーバにおける課金方法を示す図である。
【図４】仮想サーバの移動機能を示す図である。
【図５】端末装置６０２−６０６に内蔵される仮想サーバの様子を示す図である。
【図６】仮想環境ライセンス管理モジュール及びライセンスサーバがもつ情報内容を示す図である。
【図７】仮想サーバ上でアプリケーションが起動されるときの処理を示すフローチャートである。
【図８】仮想サーバの移動機能を実行したときの全体構成を示す図である。
【図９】仮想サーバの移動機能を実行したときの処理を示すフローチャートである。
【図１０】ＣＰＵ割り当て数が変更されたときの処理を示すフローチャートである。
【図１１】実サーバと仮想サーバが混在したライセンス管理システムの全体構成を示す図である。
【図１２】仮想サーバ及び実サーバ上でライセンス管理モジュールがもつ情報を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明を実施するための最良の形態について、添付図面等を参照して詳細に説明する。なお、以下の説明では、具体的な数値、構成、動作等を示して説明を行うが、これらは、適宜変更することができる。
【００２０】
＜実施形態１＞
図１（ａ）は、本発明の一実施形態としてのネットワークにおけるライセンス管理システムの全体構成図である。図１（ａ）に示すように、ネットワークにおけるライセンス管理システムは、ユーザのサーバ各種端末装置６０２−６０６と、ライセンスサーバ６０１とを備えている。端末装置６０２−６０６とライセンスサーバ６０１とはネットワーク６０７を介して相互に通信可能に接続されている。なお、ネットワーク６０７は、例えばＬＡＮから構成されている。
【００２１】
図１（ｂ）は、ライセンス管理装置の一例であるライセンスサーバ６０１の構成を示す図である。図１（ｂ）に示すように、ライセンスサーバ６０１は、ライセンスサーバ６０１全体を制御するＣＰＵ７０２を有している。ＣＰＵ７０２が、記憶装置７０４に記憶されているプログラムに基づき動作することによって、例えば、後記するライセンスサーバ６０１に関係するフローチャートの各処理を実行する。ＣＰＵ７０２には、バス７０１を介して、キーボードやマウス等からなる入力装置７０３と、記憶装置７０４と、表示装置７０５と、通信インタフェース装置７０６とが接続されている。記憶手段の一例である記憶装置７０４は、例えば、ＲＯＭ、ＲＡＭ、ハードディスク装置等からなる。記憶装置７０４は、端末装置６０２−６０６で使用可能なアプリケーションの種類、アプリケーションが使用できるライセンス数、残ライセンス数を記憶している。表示装置７０５は、ＣＲＴ又はＬＣＤ等からなる。通信インタフェース装置７０６は、端末装置６０２−６０６との間でデータや信号の授受を可能にする。
【００２２】
図１（ｃ）は、情報処理装置の一例である端末装置６０２−６０６の構成を示す図である。図１（ｃ）に示すように、端末装置６０２−６０６は、端末装置全体を制御するＣＰＵ８０２を有している。ＣＰＵ８０２が、記憶装置８０４に記憶されているプログラムに基づき動作することによって、例えば、後記する端末装置に関係するフローチャートの各処理を実行する。ＣＰＵ８０２には、バス８０１を介して、キーボードやマウス等からなる入力装置８０３と、記憶装置８０４と、表示装置８０５と、通信インタフェース装置８０６とが接続されている。記憶手段の一例である記憶装置８０４は、例えば、ＲＯＭ、ＲＡＭ、ハードディスク装置等からなる。記憶装置８０４は、端末装置６０２−６０６で実行されるアプリケーションコンポーネントや動作機能追加に関するプログラム（プラグイン）を記憶している。表示装置８０５は、ＣＲＴ又はＬＣＤ等からなる。通信インタフェース装置８０６は、ライセンスサーバ８０１との間でデータや信号の授受を可能にする。
【００２３】
ここで、サーバの仮想化方式について説明する。サーバの仮想化方式には、代表的なものとして、ホストＯＳ方式とハイパーバイザー方式とがある。図２は、これらの仮想化方式を示す図である。
【００２４】
図２（ａ）は、ホストＯＳ方式を示す図である。ホストＯＳ１０２のミドルウェアとして仮想化ソフト１０３が動作する。仮想化ソフトは、物理ハードウェアをもとに仮想ハードウェア１０４を作り、そこにＯＳ１０５やアプリケーション１０６が導入できるようにするソフトウェアである。ＯＳ１０５には、ホストＯＳと同一又は異なるＯＳをゲストＯＳとしてインストールすることが可能である。ホストＯＳ方式では、ハードウェアとの入出力にホストＯＳの機能を活用する。ただし、仮想マシンとハードウェアの間にフル機能のＯＳが介在するため、オーバーヘッドがやや大きくなる傾向にある。製品としては、ＶＭＷａｒｅ  Ｓｅｒｖｅｒ、Ｖｉｒｕａｌ  Ｓｅｒｖｅｒ、Ｖｉｒｔｕａｌ  ＰＣなどがある。
【００２５】
図２（ｂ）は、ハイパーバイザー方式を示す図である。上記のホストＯＳ方式で利用していた仮想化レイヤーをホストＯＳの代わりに直接物理ハードウェア上に展開したようなイメージである。このハイパーバイザーは、一種のＯＳともいえるが、ユーザインタフェースやユーザコマンドなどの要素は省略し、ハードウェアの管理と仮想環境の管理に特化しているため、ごく小規模で簡略化されたものとなっている。製品としては、ＶＭＷａｒｅ  ＥＳＸ、Ｘｅｎ  Ｓｅｒｖｅｒ、Ｈｙｐｅｒ−Ｖなどがある。
【００２６】
次に、仮想サーバにおける一般的なライセンス課金方法について説明する。上記したように、一般にソフトウェアの課金は、「ユーザ数」に基づくものと、サーバの「ＣＰＵ数（コア数）」に基づくものがある。「ユーザ数」による課金の場合は、ユーザ数を変えない限り、ソフトウェアを仮想サーバに移行させてもライセンスコストは同じになる。仮想環境に移行させるときに注意が必要なのは、ＣＰＵやサーバ数に基づく課金体系の場合である。このとき、ソフトウェアは「仮想サーバ単位」又は「物理サーバ単位」で課金される。
【００２７】
一方、コンピュータのネットワーク化が進み、分散した資源にネットワークを介してアクセスすることが可能になってきている。コンピュータで実行するソフトウェアに関してもネットワーク環境での使用を前提にしたものが多くなり、ネットワーク上のマシンであれば何処からでも実行できるようになってきている。このようなネットワーク環境で使用するソフトウェアでは、不特定多数の人がアクセスできるためライセンスにより使用できるコンピュータや本数を制限しているものが多い。
【００２８】
ソフトウェアライセンスの形態としては特定のコンピュータのみで実行可能なライセンス（ノードロックライセンス）と、ネットワーク上のどのコンピュータでも実行可能なライセンス（フローティングライセンス）の２種類が主に使用されている。
【００２９】
フローティングライセンス方式は、複数のコンピュータをネットワークにより相互に通信可能に接続したシステムに適用される方式である。そのコンピュータのうちサーバとなるものにライセンス確認プログラムが常駐しており、クライアントでアプリケーションを起動すると、そのアプリケーションがサーバのライセンス確認プログラムを呼び出す。呼び出されたライセンス確認プログラムは、クライアントのアプリケーションから送られてくる情報に基づいて動作環境をチェックし、適正であればクライアントのアプリケーションに動作許可を与える。したがって、この方式によりネットワークに接続された複数のコンピュータにおいて同時に同じアプリケーションを動作させるためには、同時に起動させるアプリケーションの数だけライセンスが必要となる。
【００３０】
ノードロックライセンス方式は、各コンピュータのホストＩＤを用いてライセンスを管理する方式である。該当ホストで実行されるならば、ユーザ名やユーザ数に制限がない方式である。つまり、アプリケーションは、予め登録されたコンピュータのみで起動される。この方式により複数のコンピュータにおいて同時に同じアプリケーションを動作させるためには、そのコンピュータの数だけライセンスが必要となる。
【００３１】
次に、仮想サーバで稼動する現在一般的になっているソフトウェアのライセンスについて説明する。
【００３２】
図３は、仮想サーバにおける課金方法を示す図である。図３に示すような５ＣＰＵ３０１をもつサーバＰＣに、仮想サーバ３台を立て（３０２）、それぞれのサーバ上にアプリケーション３０３をインストールした構成で考えると、以下のような課金タイプが一般的である。
１．実マシンのＣＰＵ数（コア数）→５ライセンス（３０４）
２．アプリケーションをインストールした仮想サーバに割り当てたＣＰＵ数（コア数）分→４ライセンス（３０５）
３．アプリケーションをインストールした仮想サーバの台数分→３ライセンス（３０６）
４．実マシンのＣＰＵ数（コア数）分×アプリケーションをインストールした仮想サーバの台数分。→１５ライセンス（３０７）
【００３３】
現状このような課金方法がアプリケーションによって異なるというのが実情であり、このことがユーザにとってライセンス体系が複雑でわかりにくいものとしている。また、仮想化特有の機能として、移動機能というものがある（ＶＭＷａｒｅのＶＭｏｔｉｏｎ、ＸｅｎのＬｉｖｅＭｉｇｒａｔｉｏｎなど）。移動機能を使うと、あるサーバ上で稼動中の仮想サーバをオンライン状態で別のサーバに移動できる。本番サーバに対してバックアップサーバを用意しておき、フェイルオーバーや計画停止などに利用される。この機能を利用する際に、ライセンスの考え方としてバックアップサーバの分も考慮に入れるのが一般的である。
【００３４】
図４は、仮想サーバの移動機能を示す図である。例えば、図４（ａ）のように、本番サーバ４０１で、仮想サーバＡ４０２が２ＣＰＵ４０３割り当てられており、そこで、アプリケーション４０４がインストールされているとする。移動先のバックアップサーバ４０５では割り当てるＣＰＵ数が３ＣＰＵ４０６になっていたとすると、最大利用ＣＰＵの３ライセンスが必要となる。図４（ｂ）のように、物理サーバ単位で課金されるアプリケーションでは、バックアップサーバにもライセンスが必要になるケースがある。この例の場合、実ＣＰＵ５０１を四つもつ本番サーバ５０２に仮想サーバＡ５０３、仮想サーバＢ５０４が複数台あり、それらにアプリケーション５０５がインストールされているとする。そのうちの一つの仮想サーバＡが、実ＣＰＵ５０６を四つもつバックアップサーバ５０７に移動する場合を考える。その場合、移動先の仮想サーバＡ５０８のライセンスも必要となり、本番サーバの実ＣＰＵ四つとバックアップサーバの実ＣＰＵ四つとを併せて、８ライセンスが必要となる。
【００３５】
図５は、上記のサーバ各種端末装置６０２−６０６に内蔵される仮想サーバの様子を示す図である。図５に示す仮想サーバは上記のホストＯＳ方式である。各端末装置６０２−６０６には、実サーバで運用されているサーバ９０１と、仮想サーバ９０４をそれぞれ二つたてた運用を行っているサーバ９０２及び９０３とが内蔵されている。実サーバ９０１及び仮想サーバ９０４には、アプリケーション９０５がインストールされているものとする。各仮想サーバを含むサーバ上に仮想環境ライセンス管理モジュール９０６を配置する。このモジュールが全ての仮想サーバ上で動作しているアプリケーションのライセンス数をカウントする。そのために、仮想環境ライセンス管理モジュール９０６は、図６（ａ）に示すような情報１００１、１００２をもつ。
【００３６】
図６は、仮想環境ライセンス管理モジュール及びライセンスサーバがもつ情報内容を示す図である。情報１００１は予め仮想環境ライセンス管理モジュールに設定されている情報であり、その仮想環境上で管理しているアプリケーションのライセンス課金タイプ、仮想環境ライセンス管理モジュールが管理しているアプリケーション情報などである。サーバ９０２、サーバ９０３のような異なるサーバでは、この課金タイプが異なってもよい。また、情報１００２は仮想化ソフトを通じ、実ＣＰＵ数、仮想サーバ数、各仮想サーバに割り当てられているＣＰＵ数、バックアップサーバの有無などの情報である。これらの情報からライセンスカウントを計算することが可能である（１００３）。実サーバ９０１のような仮想サーバをもたない実サーバ上にインストールされているアプリケーションは、それ自身がライセンスカウント情報をシステム全体のライセンスをカウントするライセンスサーバに送信し、利用の可否を問い合わせる（９０７）。同様に、サーバ９０２、サーバ９０３のような仮想サーバをもつサーバ上でのライセンスをカウントし、このライセンスカウント情報をシステム全体のライセンスをカウントするライセンスサーバに送信し、利用の可否を問い合わせる（９０８）。図６（ｂ）はライセンスサーバがもつ情報を示す。ライセンスサーバは、システム全体で同時利用可能なライセンス数の情報１１０１をもつ。また、現在利用されているライセンス数を把握している。アプリケーション又は仮想環境ライセンス管理モジュールから利用の可否が問い合わされると、送信されてきたライセンスカウント情報から、現在利用されているライセンス数を更新する。その値と予め設定されている同時利用可能ライセンス数とを比較、利用の可否の判断を行い（１１０２）、その結果をアプリケーション又は仮想環境ライセンス管理モジュールに戻す。
【００３７】
図７は、仮想サーバ上でアプリケーションが起動されるときを示すフローチャートである。まず、アプリケーションが起動されると（Ｓ１２０１）、アプリケーションは仮想環境ライセンス管理モジュールに利用の可否を問い合わせる（Ｓ１２０２）。仮想環境ライセンス管理モジュールは、自己の課金タイプに応じたライセンスカウントを行う。以下、仮想環境ライセンス管理モジュールの課金タイプに応じたライセンスカウントを数える方法について詳細に説明する。
【００３８】
まず、課金タイプを判断する（Ｓ１２０３）。仮想サーバ単位なら仮想サーバの数え方を判断する（Ｓ１２０４）。ライセンス数がアプリケーションをインストールした仮想サーバに割り当てられたＣＰＵ数分なら、仮想サーバと割当ＣＰＵ数からライセンスをカウントする（Ｓ１２０６）。ライセンスが仮想サーバごとに割り当てられているなら、仮想サーバの数からカウントする（Ｓ１２０７）。ライセンス数が仮想サーバ数と実ＣＰＵ数とを乗じた数ならば、仮想サーバと実ＣＰＵ数とからカウントする（Ｓ１２０８）。また、課金タイプが物理サーバ単位なら、実ＣＰＵ数からライセンス数をカウントする（Ｓ１２０５）。その結果をライセンスサーバに送信し、利用の可否を問い合わせる（Ｓ１２０９）。ライセンスサーバは、ライセンス数を受信し、現在利用されているライセンス数を更新する（Ｓ１２１０）。同時利用数に上限がある場合、カウント数の累積が同時利用可能数の上限を超えているかどうかを判断する（Ｓ１２１１）。その結果がＮＧの場合、仮想環境ライセンス管理モジュールにその結果を返却する（Ｓ１２１２）。さらに、その結果をアプリケーションに返却する（Ｓ１２１３）。アプリケーションは起動に失敗する（Ｓ１２１４）。一方、カウント数の累積が同時利用可能数の上限を超えている場合、仮想環境ライセンス管理モジュールにその結果を返却する（Ｓ１２１５）。さらに、その結果をアプリケーションに返却する（Ｓ１２１６）。アプリケーションは起動に成功する（Ｓ１２１７）。
【００３９】
以上、説明したように本実施形態によれば、仮想サーバを含むネットワークシステムにおけるフローティングライセンスサーバにおいて使用することができる。なお、本実施形態では、仮想サーバはホストＯＳ方式で行っていることとしたが、ハイパーバイザー方式の場合でも同様に適用可能である。
【００４０】
＜実施形態２＞
図８は、仮想サーバの移動機能を利用したバックアップサーバ運用を想定した仮想サーバ（ホストＯＳ方式）を含むネットワークにおけるライセンス管理システムを示したものである。本実施形態のライセンス管理システムは、ライセンスサーバ６０１でネットワーク全体を管理している。本番サーバ１３０１は、仮想サーバ１３０２、１３０３をたてた運用を行っている。バックアップサーバ１３０４でバックアップをとる。仮想サーバ１３０２、１３０３には、アプリケーション１３０６がインストールされているものとする。各仮想サーバを含むサーバ上に仮想環境ライセンス管理モジュール１３０７を配置する。仮想サーバ１３０２がバックアップサーバへ移動されると（１３０８）、ライセンスカウント数の状況が変更される可能性があるため、仮想環境ライセンス管理モジュールは、自己が管理しているアプリケーションのライセンス数を再カウントする。このモジュールが全ての仮想サーバ上で動作しているアプリケーションのライセンス数をカウントする。このライセンスカウント情報をシステム全体のライセンスをカウントするライセンスサーバに送信し、利用の可否を問い合わせる（１３０９）。
【００４１】
図９は、仮想サーバの移動機能が使用されたときを示すフローチャートである。まず、仮想サーバが移動すると（Ｓ１４０１）、仮想環境ライセンス管理モジュールは、自己が管理しているアプリケーションのライセンス利用状況を再確認する（Ｓ１４０２）。仮想環境ライセンス管理モジュールは、自己の課金タイプに応じたライセンスカウントを行う。以下、ライセンス管理モジュールの課金タイプに応じたライセンスカウントを数える方法について詳細に説明する。まず、課金タイプを判断する（Ｓ１４０３）。仮想サーバ単位なら、仮想サーバの数え方を判断する（Ｓ１４０４）。ライセンス数がアプリケーションをインストールした仮想サーバに割り当てられたＣＰＵ数分なら、仮想サーバと割当ＣＰＵ数からライセンスをカウントする（Ｓ１４０６）。ライセンスが仮想サーバごとに割り当てられているなら、仮想サーバの数からカウントする（Ｓ１４０７）。ライセンス数が仮想サーバ数と実ＣＰＵ数とを乗じた数ならば、仮想サーバと割当ＣＰＵ数とからカウントする（Ｓ１４０８）。また、課金タイプが物理サーバ単位なら、実ＣＰＵ数からライセンス数をカウントする（Ｓ１４０５）。その結果をライセンスサーバに送信し、利用の可否を問い合わせる（Ｓ１４０９）。ライセンスサーバは、ライセンス数を受信し現在利用されているライセンス数を更新する（Ｓ１４１０）。同時利用数に上限がある場合、カウント数の累積が同時利用可能数の上限を超えているかどうかを判断する（Ｓ１４１１）。一方、カウント数の累積が同時利用可能数の上限を超えている場合、仮境ライセンス管理モジュールにその結果を返却され、仮想サーバの移動が行われる（Ｓ１４１２）。そして、移動の結果、ライセンスが足りなくなった旨の警告を表示する（Ｓ１４１３）。超えていない場合、仮想環境ライセンス管理モジュールにその結果を返却する（Ｓ１４１４）。
【００４２】
以上説明したように本実施形態によれば、仮想サーバの移動機能を実施したときでもライセンス管理を行うことが可能である。
【００４３】
＜実施形態３＞
ＣＰＵ数の時間配分による割り当て機能により、ＣＰＵ割り当て数が変更された場合も、ライセンスカウント数の状況が変更される可能性がある。
【００４４】
図１０は、仮想サーバに割り当てているＣＰＵ割り当て数が変更されたときを示すフローチャートである。まず、ＣＰＵ割り当て数が変更されると（Ｓ１５０１）、仮想環境ライセンス管理モジュールは、自己が管理しているアプリケーションのライセンス利用状況を再確認する（Ｓ１５０２）。Ｓ１５０３で、仮想環境ライセンス管理モジュールは、自己の課金タイプに応じたライセンスカウントを行う。以下、ライセンス管理モジュールの課金タイプに応じたライセンスカウントを数える方法について詳細に説明する。まず、課金タイプを判断する（Ｓ１５０３）。仮想サーバ単位なら、仮想サーバの数え方を判断する（Ｓ１５０４）。ライセンス数がアプリケーションをインストールした仮想サーバに割り当てられたＣＰＵ数分なら、仮想サーバと割当ＣＰＵ数からライセンスをカウントする（Ｓ１５０６）。ライセンスが仮想サーバごとに割り当てられているなら、仮想サーバの数からカウントする（Ｓ１５０７）。ライセンス数が仮想サーバ数と実ＣＰＵ数とを乗じた数ならば、仮想サーバと割当ＣＰＵ数とからカウントする（Ｓ１５０８）。また、課金タイプが物理サーバ単位なら、実ＣＰＵ数からライセンス数をカウントする（Ｓ１５０５）。その結果をライセンスサーバに送信し、利用の可否を問い合わせる（Ｓ１５０９）。ライセンスサーバは、ライセンス数を受信し、現在利用されているライセンス数を更新する（Ｓ１５１０）。同時利用数に上限がある場合、カウント数の累積が同時利用可能数の上限を超えているかどうかを判断する（Ｓ１５１１）。一方、カウント数の累積が同時利用可能数の上限を超えている場合、仮境ライセンス管理モジュールにその結果を返却され、仮想サーバのＣＰＵ数の割り当てが変更される（Ｓ１５１２）。そして、変更の結果、ライセンスが足りなくなった旨の警告を表示する（Ｓ１５１３）。上限を超えていない場合、仮想環境ライセンス管理モジュールにその結果を返却する（Ｓ１５１４）。
【００４５】
以上、説明したように本実施形態によれば、仮想サーバのＣＰＵ割り当て機能を施したときでもライセンス管理を行うことが可能である。
【００４６】
＜実施形態４＞
図１１は、実サーバと仮想サーバが混在したネットワークシステムにおけるライセンス管理システムを示す全体構成図である。本実施形態のライセンス管理システムは、実サーバで運用されているサーバ１６０１と、仮想サーバ１６０４をそれぞれ二つたてた運用を行っているサーバ１６０２及び１６０３とを備えている。実サーバ１６０１、仮想サーバ１６０４には、アプリケーション１６０５がインストールされているものとする。上記の実施形態１とは異なり、実サーバ及び各仮想サーバ両方に各クライアントサーバ上のライセンスを把握するライセンス管理モジュール１６０６を配置する。
【００４７】
図１２は、仮想サーバ及び実サーバ上でライセンス管理モジュールがもつ情報を示す図である。ライセンス管理モジュール１６０６は、仮想サーバ上では、図１２（ａ）に示すような情報１７０１、１７０２をもつ。情報１７０１は予めライセンス管理モジュールに設定されている情報であり、その仮想環境上で管理しているアプリケーションのライセンス課金タイプ、ライセンス管理モジュールが管理しているアプリケーション情報などである。サーバ１６０２、１６０３のような異なるサーバでは、この課金タイプが異なってもよい。また、情報１７０１は仮想化ソフトを通じ、実ＣＰＵ数、仮想サーバ数、各仮想サーバに割り当てられているＣＰＵ数、バックアップサーバの有無などの情報である。これらの情報からライセンスカウントを計算することが可能である（１７０３）。ライセンス管理モジュール１６０６は、実サーバ１６０１上では、図１２（ｂ）に示すような情報１８０１をもつ。情報１８０１は予め仮想環境ライセンス管理モジュールに設定されている情報であり、その仮想環境上で管理しているアプリケーションのライセンス課金タイプ、ライセンス管理モジュールが管理しているアプリケーション情報などである。このときの課金タイプとしては、ＣＰＵ数又はＣＰＵコア数に依存しているか、又はＣＰＵ数には依存していないなどが考えられる。ライセンス管理モジュールは予めＣＰＵ数又はコア数を把握しているので、課金タイプに応じてライセンス数をカウントする（１８０２）。このライセンスカウント情報をシステム全体のライセンスをカウントするライセンスサーバに送信し、利用の可否を問い合わせる（１６０７）。同様に、サーバ１６０２、１６０３のような仮想サーバをもつサーバ上でのライセンスをカウントし、このライセンスカウント情報をシステム全体のライセンスをカウントするライセンスサーバに送信し、利用の可否を問い合わせる（１６０８）。
【００４８】
また、本発明の各工程は、ネットワーク又は各種記録媒体を介して取得したソフトウェア（コンピュータプログラム）をパーソナルコンピュータ等の処理装置（ＣＰＵ、プロセッサ）にて実行することで実現することでもできる。
【産業上の利用可能性】
【００４９】
本発明は、ライセンス管理システムをもつネットワークなどに利用可能である。
【符号の説明】
【００５０】
６０１  ライセンスサーバ
６０２  端末装置
６０３  端末装置
６０４  端末装置
６０５  端末装置
６０６  端末装置
６０７  ネットワーク
【図１】
2010267009.tif 000003
【図２】
2010267009.tif 000004
【図３】
2010267009.tif 000005
【図４】
2010267009.tif 000006
【図５】
2010267009.tif 000007
【図６】
2010267009.tif 000008
【図７】
2010267009.tif 000009
【図８】
2010267009.tif 000010
【図９】
2010267009.tif 000011
【図１０】
2010267009.tif 000012
【図１１】
2010267009.tif 000013
【図１２】
2010267009.tif 000014