(57)【要約】      （修正有）【課題】１台の端末上で複数の仮想マシンを動作させる場合においても正しくソフトウェアのライセンス管理を行うことができるようにする。【解決手段】動作するソフトウェアの識別子と、各ソフトウェアに対するライセンス状態を予め記憶しておき、ソフトウェアの識別子（ＳＷ−ＩＤ）を含むソフトウェアの起動要求情報に対して、ライセンス管理部１１２が、対応するライセンス状態を参照してライセンスを保持しているか否か判断し、保持している場合には、起動を許可する。【選択図】図１
2010287081.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアのライセンス管理を行うライセンス管理装置であって、
当該ライセンス管理装置のＯＳ上で動作するソフトウェアの識別子（以下「ＳＷ−ＩＤ」という）及び各ソフトウェアに対するライセンス状態をソフトウェアの起動要求に先立って記憶する記憶部と、
ライセンス管理に関する全体の動作を制御する制御部と、
ＳＷ−ＩＤを含むソフトウェアの起動要求情報に対して、前記記憶部の対応する前記ライセンス状態を参照してライセンスを保持しているか否か判断し、保持している場合には、起動許可情報を前記制御部に送るライセンス管理部と、を有する、
ことを特徴とするライセンス管理装置。
【請求項２】
ソフトウェアのライセンス管理を行うライセンス管理装置であって、
当該ライセンス管理装置及び前記各仮想マシンの識別子（以下「ＶＭ−ＩＤ」という）と、当該ライセンス管理装置のＯＳ上で動作するソフトウェア及び前記各仮想マシンのＯＳ上で動作するソフトウェアの識別子（以下「ＳＷ−ＩＤ」という）と、この組合せに対するライセンス状態とをソフトウェアの起動要求に先立って記憶する記憶部と、
ライセンス管理に関する全体の動作を制御する制御部と、
前記ＶＭ−ＩＤ及び前記ＳＷ−ＩＤを含むソフトウェアの起動要求情報に対して、対応するライセンス状態を参照してライセンスを保持しているか否か判断し、保持している場合には、起動許可情報を制御部に送るライセンス管理部と、を有する、
ことを特徴とするライセンス管理装置。
【請求項３】
端末にインストールされるソフトウェアのライセンス管理を行うライセンス管理方法であって、
前記端末のＯＳ上で動作するソフトウェアの識別子（以下「ＳＷ−ＩＤ」という）と、各ソフトウェアに対するライセンス状態をソフトウェアの起動要求に先立って記憶するステップと、
前記ＯＳが、前記ソフトウェアの起動要求情報を受け取るステップと、
ライセンス管理に関する全体の動作を制御する制御部が、前記ＯＳから起動要求情報を受け取るステップと、
ＳＷ−ＩＤを含むソフトウェアの起動要求情報に対して、対応する前記ライセンス状態を参照してライセンスを保持しているか否か判断し、ライセンスを保持している場合には、起動許可情報を前記制御部に送るライセンス管理ステップと、を有する
ことを特徴とするライセンス管理方法。
【請求項４】
端末にインストールされるソフトウェアのライセンス管理、及び、端末にインストールされる仮想マシンのＯＳ上で動作するソフトウェアのライセンス管理を行うライセンス管理方法であって、
前記端末及び前記端末上で動作する各仮想マシンの識別子（以下「ＶＭ−ＩＤ」という）と、前記端末のＯＳ上で動作するソフトウェア及び前記各仮想マシンのＯＳ上で動作するソフトウェアの識別子（以下「ＳＷ−ＩＤ」という）と、この組合せに対するライセンス状態とをソフトウェアの起動要求に先立って記憶するステップと、
ライセンス管理に関する全体の動作を制御する制御部が、前記ソフトウェアの起動要求情報を受け取るステップと、
前記ＶＭ−ＩＤ及び前記ＳＷ−ＩＤを含むソフトウェアの起動要求情報に対して、対応するライセンス状態を参照してライセンスを保持しているか否か判断し、保持している場合には、起動許可情報を制御部に送るライセンス管理ステップと、を有する、
ことを特徴とするライセンス管理方法。
【請求項５】
コンピュータを請求項１または請求項２記載のライセンス管理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はソフトウェアの適切なライセンス管理を行う装置、方法及びプログラムに関する。
【背景技術】
【０００２】
ソフトウェアのライセンス管理は、ソフトウェア開発元の収益の確保や、ソフトウェアの発展のための研究開発費の確保の観点からも重要である。世界80カ所以上の国や地域でビジネスソフトウェアの権利保護等を行っている非営利団体ビジネスソフトウェア アライアンス(BSA)の発表では、2007年の日本における違法コピーによる被害は約2100億円であるとされ、ライセンス管理をより適切に行う方法が必要とされている。
【０００３】
非特許文献１がアクティベーションを用いたソフトウェアのライセンス管理を行う従来技術として知られている。アクティベーションとは、端末にインストールされるソフトウェアのユーザが、正規のライセンスを所有していることを確認する方法である。具体的には、インストールされた端末の構成要素（CPUやHDDの型番、NICのMACアドレスなど）から固有値を作成し、この固有値を利用して認証する方法である。この固有値は端末毎に異なることとなり、ソフトウェアの違法コピー等を行い異なる端末で不正に動作させようとした場合に、固有値が異なることで認証が失敗し、ソフトウェアを不正に利用されることを防ぐ事ができる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】" Windows XP プロダクト アクティベーション",[online],[平成２１年６月４日検索],インターネット<URL:http://technet.microsoft.com/ja-jp/library/ bb457054.aspx>
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術は仮想マシン上で利用されるソフトウェアのライセンス管理を行うことができないという問題がある。
近年、仮想化技術が進展しており、１台の端末上に仮想的に複数の計算機環境（仮想マシン）を実現することが一般的になっている。仮想化技術によれば、仮想マシンをコピーするだけで、１台の端末上で複数の仮想マシンを動作させること等が可能となる。
【０００６】
１台の端末上で複数の仮想マシンを動作させる際、ソフトウェアから見た動作環境である仮想マシンの構成は複数の仮想マシン間で同一のものとなる。すると、端末の構成要素（CPUやHDDの型番、NICのMACアドレスなど）から固有値を作成するアクティベーションの技術における固有値は同一のものとなる。すなわち、仮想マシンが異なってもアクティベーションの認証が成立してしまう。ここでユーザがソフトウェア１本分のみのライセンスを所持しており、複数台の仮想マシン上の複数のソフトウェア分のライセンスが許可されていない場合には、不正なソフトウェアの利用となり、ライセンス管理ができていないこととなる。
【０００７】
特に、今後１台の端末上で複数の仮想マシンを利用する状況が増えてくることが予想さされる。具体的には、私用の仮想マシンと、業務用の仮想マシンを搭載した端末で、その時の作業内容にあわせて仮想マシンを使い分けることが考えられる。このような際に、私用では無償で利用でき、業務用では有償となるようなライセンス条件のソフトウェアを利用すると、従来のアクティベーションの技術では、私用の仮想マシンと業務用の仮想マシンの固有値が同一となるため、固有値を利用した認証では、無償の状況なのか、有償の状況なのかの判断がつかないという問題が生じる。このような状況でもライセンスを管理できる方法が望まれる。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明は、動作するソフトウェアの識別子（以下、「ＳＷ−ＩＤ」という）と、各ソフトウェアに対するライセンス状態を予め記憶しておき、ＳＷ−ＩＤを含むソフトウェアの起動要求情報に対して、ライセンス管理部が、対応するライセンス状態を参照してライセンスを保持しているか否か判断し、保持している場合には、起動を許可する。
【発明の効果】
【０００９】
本発明に係るライセンス管理装置は、ライセンス管理部が、ソフトウェアの起動を許可してライセンス管理を行うため、適切なライセンス管理が可能となるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】ライセンス管理装置１００の構成例を示す図。
【図２】ライセンス管理装置１００のライセンス管理表のデータ例を示す図。
【図３】ライセンス管理装置１００の処理フロー例を示す図。
【図４】ライセンス管理装置１００内の各部のデータフローを示す図。
【図５】ライセンス管理装置１００のハードウェア構成を例示したブロック図。
【図６】ライセンス管理装置２００、３００の構成例を示す図。
【図７】ライセンス管理装置２００のライセンス管理表のデータ例を示す図。
【図８】ライセンス管理装置２００の処理フロー例を示す図。
【図９】ライセンス管理装置２００内の各部のデータフローを示す図。
【図１０】ライセンス管理装置３００とライセンス管理サーバ４００の構成例を示す図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、詳細に説明する。
【実施例１】
【００１２】
図１はライセンス管理装置１００の構成例を示す。図１を用いて実施例１に係るライセンス管理装置１００を説明する。
ライセンス管理装置１００は、記憶部１０３、オペレーティングシステム（以下「ＯＳ」という）部１１０、ハッシュ値管理部１４０を有する。さらに、ＯＳ部１１０は、制御部１１１及びライセンス管理部１１２を備える。
ライセンス管理装置１００には、ソフトウェア１２０がインストールされ、そのライセンス管理を行う。なお、ライセンス管理装置１００を単に端末ともいう。
【００１３】
＜記憶部１０３＞
記憶部１０３は、ＯＳ上で動作するソフトウェア１２０の識別子（以下「ＳＷ−ＩＤ」という）と、各ソフトウェアに対するライセンス状態をライセンス管理表としてソフトウェアの起動要求に先立ち予め記憶しておく。図２はライセンス管理表のデータ例を示す。ライセンス管理表は、ＳＷ−ＩＤと、そのソフトウェアに対するライセンス状態を表すデータベースである。図中、ライセンス状態「可」は対応するソフトウェアが利用可能であることを、ライセンス状態「不可」は対応するソフトウェアが利用不可能であることを意味する。例えば、ＳＷ−ＩＤがＳＷ１のソフトウェアが利用可能であり、ＳＷ−ＩＤがＳＷ２のソフトウェアが利用不可能であることを示す。
＜ＯＳ部１１０＞
ＯＳ部１１０は、例えば、キーボード入力や画面出力といった入出力機能やディスクやメモリの管理など、多くのソフトウェアから共通して利用される基本的な機能を提供する。ソフトウェア１２０は、ＯＳ上で動作し、ソフトウェアの起動要求情報はＯＳ部１１０に送られる。
＜ソフトウェア１２０＞
ソフトウェア１２０は、ライセンス管理装置１００のＯＳ上で動作する。また、利用に際してライセンスを必要とする。なお、本実施例では、１種類のソフトウェアがライセンス管理装置１００上にインストールされているが、２種類以上のソフトウェアがインストールされてもよい。
＜制御部１１１＞
制御部１１１は、ライセンス管理に関する全体の動作を制御する。
【００１４】
＜ライセンス管理部１１２＞
ライセンス管理部１１２は、ＳＷ−ＩＤを含むソフトウェアの起動要求情報を受け取ったときに、記憶部１０３に記憶されたライセンス管理表の対応するライセンス状態を参照してライセンスを保持しているか否か判断し、保持している場合には、起動許可情報を制御部１１１に送る。
なお、ソフトウェアのインストールの際には、ライセンス管理表に新規のＳＷ−ＩＤが記憶されることとなるが、この際には、ソフトウェアのインストールメディアの中に予め記載された情報等に基づき、インターネット上のサーバへの登録が必要になるようにしても良い。これにより、過去にインストールしたソフトウェアを、別のライセンス管理装置にインストールすることを防ぐことが可能となり、更に厳密なライセンス管理に応用することも可能となる。
＜ハッシュ値管理部１４０＞
ハッシュ値管理部１４０は、ＯＳの起動時に改ざんが無いことを確かめるために必要な、ＯＳのハッシュ値を記憶する。
【００１５】
＜処理フロー例＞
図３はライセンス管理装置１００の処理フロー例を、図４はライセンス管理装置１００内の各部のデータフローを示す。ＯＳ部１１０は、ソフトウェア１２０の起動要求を待ち、ユーザの操作によりソフトウェア１２０の起動が要求されると（ｓ１０１）、起動を要求されたソフトウェアに対応するＳＷ-ＩＤを含む起動要求情報を制御部１１１へ送信する（ｓ１０３）。起動要求情報を受信した制御部１１１は、ＯＳ部１１０から送信された起動要求情報をライセンス管理部１１２へ送信する（ｓ１１１ａ）。ライセンス管理部１１２はライセンス管理表を参照し、ライセンス管理表に受け取ったＳＷ−ＩＤが存在するか否かを判定し（ｓ１１２ａ）、存在する場合には、さらにこのＳＷ-ＩＤに対応するソフトウェアのライセンスを保持しているか否かを判定し（ｓ１１２ｂ）、ライセンスを保持している場合には、起動許可情報を制御部１１１に送る（ｓ１１２ｃ）。
なお、ライセンス管理表にＳＷ−ＩＤが存在しない場合、及び、ＳＷ−ＩＤに対応するライセンスを保持していない場合には、ソフトウェアの起動を禁止し、エラーを出力する構成としてもよい（ｓ１１２ｄ）。
【００１６】
制御部１１１は、ライセンス管理部１１２から送信された起動許可情報をＯＳ部１１０へ送信する（ｓ１１１ｃ）。起動許可情報を受信したＯＳ部１１０は、ソフトウェア１２０を起動する（ｓ１０５）。
＜効果＞
本発明によれば、ソフトウェアの起動時にＯＳが制御部にソフトウェアの起動可否確認を行うこととなる。仮想マシンを利用した際でも仮想マシン上で動作するＯＳ毎に異なるライセンス管理表を持つこととなるため、ＯＳ毎すなわち仮想マシン毎に適切なライセンス管理が可能となる。なお、従来技術から異なる端末上のソフトウェアのライセンスを管理するという思想はあったが、同一端末上のソフトウェアのライセンスを管理するという思想に至ることは困難であった。本発明は、この問題点を発見し、新たなライセンス管理技術を創作した。
【００１７】
また、ハッシュ値管理部に記憶されたハッシュ値を用いた確認を行うことにより、ＯＳに改竄がないことが証明され、ライセンス管理をすり抜けるためのＯＳ改竄を防ぐことが可能となり、より厳密にライセンスの管理が可能となる。但し、ハッシュ値管理部は必ずしも設けなくともよい。
＜ハードウェア構成＞
図５は、本実施例におけるライセンス管理装置１００のハードウェア構成を例示したブロック図である。図５に例示するように、この例のライセンス管理装置１００は、それぞれＣＰＵ（Central Processing Unit）１１、入力部１２、出力部１３、補助記憶装置１４、ＲＯＭ（Read Only Memory）１５、ＲＡＭ（Random Access Memory）１６及びバス１７を有している。
【００１８】
この例のＣＰＵ１１は、制御部１１ａ、演算部１１ｂ及びレジスタ１１ｃを有し、レジスタ１１ｃに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、入力部１２は、データが入力される入力インターフェース、キーボード、マウス等であり、出力部１３は、データが出力される出力インターフェース等である。補助記憶装置１４は、例えば、ハードディスク、半導体メモリ等であり、ライセンス管理装置１００としてコンピュータを機能させるためのプログラムや各種データが格納される。また、ＲＡＭ１６には、上記のプログラムや各種データが展開され、ＣＵＰ１１等から利用される。また、バス１７は、ＣＰＵ１１、入力部１２、出力部１３、補助記憶装置１４、ＲＯＭ１５及びＲＡＭ１６を通信可能に接続する。なお、このようなハードウェアの具体例としては、例えば、パーソナルコンピュータの他、サーバ装置やワークステーション等を例示できる。
＜プログラム構成＞
上述のように、補助記憶装置１４には、本実施例のライセンス管理装置１００の各処理を実行するための各プログラムが格納される。ライセンス管理プログラムを構成する各プログラムは、単一のプログラム列として記載されていてもよく、また、少なくとも一部のプログラムが別個のモジュールとしてライブラリに格納されていてもよい。
＜ハードウェアとプログラムとの協働＞
ＣＰＵ１１は、読み込まれたＯＳプログラムに従い、補助記憶装置１４に格納されている上述のプログラムや各種データをＲＡＭ１６に展開する。そして、このプログラムやデータが書き込まれたＲＡＭ１６上のアドレスがＣＰＵ１１のレジスタ１１ｃに格納される。ＣＰＵ１１の制御部１１ａは、レジスタ１１ｃに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すＲＡＭ１６上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部１１ｂに順次実行させ、その演算結果をレジスタ１１ｃに格納していく。
【００１９】
図１は、このようにＣＰＵ１１に上述のプログラムが読み込まれて実行されることにより構成されるライセンス管理装置１００の機能構成を例示したブロック図である。
【００２０】
ここで、記憶部１０３は、補助記憶装置１４、ＲＡＭ１６、レジスタ１１ｃ、その他のバッファメモリやキャッシュメモリ等の何れか、あるいはこれらを併用した記憶領域に相当する。また、ＯＳ部１１０、ハッシュ値管理部１４０、制御部１１１、ライセンス管理部１１２は、ＣＰＵ１１にライセンス管理プログラムを実行させることにより構成されるものである。
【実施例２】
【００２１】
図６はライセンス管理装置２００の構成例を示す。図６を用いて実施例２に係るライセンス管理装置２００を説明する。
【００２２】
ライセンス管理装置２００は、記憶部２０３、仮想マシン管理部２１０、ハッシュ値管理部２４０を有する。さらに、仮想マシン管理部２１０は、制御部２１１及びライセンス管理部２１２を備える。実施例１と異なる部分のみ説明する。
ライセンス管理装置２００上では、ソフトウェア２４２及び仮想マシン２２０、２３０が動作する。ライセンス管理装置２００は、例えば、ソフトウェア２４２及び各仮想マシンのＯＳ上で動作するソフトウェア２２２、２３２のライセンス管理を行う。
【００２３】
＜記憶部２０３＞
記憶部２０３は、ソフトウェアの起動要求に先立ち、ライセンス管理装置２００、各仮想マシン２２０、２３０の識別子（以下「ＶＭ−ＩＤ」という）と、ライセンス管理装置２００のＯＳ上で動作するソフトウェア２４２、及び、各仮想マシン２２０、２３０のＯＳ２２１，２３１上で動作するソフトウェア２２２、２３２の識別子（以下「ＳＷ−ＩＤ」という）と、この組合せに対するライセンス状態をライセンス管理表としてソフトウェアの起動要求に先立ち予め記憶しておく。図７はライセンス管理表のデータ例を示す。なお、「ＶＭ０」はライセンス管理装置２００のＶＭ−ＩＤを、「ＶＭ１」は仮想マシン２２０のＶＭ−ＩＤを、「ＶＭ２」は仮想マシン２３０のＶＭ−ＩＤを示す。ＶＭ−ＩＤがＶＭ０，ＶＭ１である仮想マシンにおいて、ＳＷ−ＩＤがＳＷ１およびＳＷ２であるソフトウェアが利用できることを示している。また、ＶＭ−ＩＤがＶＭ２である仮想マシンにおいて、ＳＷ−ＩＤがＳＷ１であるソフトウェアは利用可能であるが、ＳＷ２であるソフトウェアが利用できないことを示している。
＜仮想マシン管理部２１０＞
仮想マシン２２０、２３０は仮想マシン管理部２１０上で動作し、ソフトウェア２２２、２３２は、それぞれ仮想マシン２２０、２３０のＯＳ２２１、２３１上で動作し、ソフトウェア２４２は仮想マシン管理部２１０上で動作する。各ソフトウェアの起動要求情報は仮想管理マシン管理部２１０に送られる。
＜仮想マシン２２０及び２３０＞
仮想マシン２２０及び２３０は、ライセンス管理装置２００上で動作する。なお、本実施例では、２台の仮想マシンがライセンス管理装置２００上で動作しているが、３台以上の仮想マシンが動作していてもよい。仮想マシン２２０及び２３０は、それぞれＯＳ２２１及び２３１を有する。また、ソフトウェア２２２、２３２を有する。
【００２４】
＜ソフトウェア２２２、２３２及び２４２＞
ソフトウェア２２２、２３２及び２４２は、それぞれＯＳ２２１、２３１及び仮想マシン管理部２１０上で動作する。また、利用に際してライセンスを必要とする。
＜ハッシュ値管理部２４０＞
ハッシュ値管理部２４０は、ＯＳ２２１、２３１の起動時に改ざんが無いことを確かめるために必要な、ＯＳ２２１，２３１のハッシュ値を記憶する。また、ＯＳのハッシュ値に加えて、コンピュータを仮想マシン管理部２１０として機能させるためのプログラムや仮想マシン２２０，２３０のハッシュ値を記憶しても良い。
＜制御部２１１＞
制御部２１１は、ライセンス管理に関する全体の動作を制御する。
【００２５】
＜ライセンス管理部２１２＞
ライセンス管理部２１２は、ＶＭ−ＩＤ及びＳＷ−ＩＤを含むソフトウェアの起動要求情報に対して、記憶部２０３に記憶された対応するライセンス状態を参照してライセンスを保持しているか否か判断し、保持している場合には、起動許可情報を制御部に送る。
＜処理フロー例＞
図８はライセンス管理装置２００の処理フロー例を、図９はライセンス管理装置２００内の各部のデータフローを示す。仮想マシン管理部２１０は、各ソフトウェアの起動要求を待ち、ユーザの操作によりソフトウェアの起動が要求されると（ｓ２０１）、起動を要求されたライセンス管理装置または仮想マシンに対応するＶＭ−ＩＤと起動を要求されたソフトウェアに対応するＳＷ-ＩＤを含む起動要求情報を制御部２１１へ送信する（ｓ２０３）。起動要求情報を受信した制御部２１１は、仮想マシン管理部２１０から送信された起動要求情報をライセンス管理部２１２へ送信する（ｓ２１１ａ）。ライセンス管理部２１２は記憶部２０３に記憶されたライセンス管理表を参照し、ライセンス管理表にＶＭ−ＩＤとＳＷ−ＩＤの組合せが存在するか否かを判定し（ｓ２１２ａ）、存在する場合には、さらにこの組合せに対応するソフトウェアのライセンスを保持しているか否かを判定し（ｓ２１２ｂ）、ライセンスを保持している場合には、起動許可情報を制御部２１１に送る（ｓ２１２ｃ）。
【００２６】
なお、ライセンス管理表にＶＭ−ＩＤとＳＷ−ＩＤの組合せが存在しない場合、及び、ＳＷ−ＩＤに対応するライセンスを保持していない場合には、ソフトウェアの起動を禁止し、エラーを出力する構成としてもよい（ｓ２１２ｄ）。
【００２７】
制御部２１１は、ライセンス管理部２１２から送信された起動許可情報を仮想マシン管理部２１０、ＯＳ２２１または２３１へ送信する（ｓ２１１ｃ）。起動許可情報を受信した仮想マシン管理部２１０、ＯＳ２２１または２３１は、ソフトウェア２４２、２２２または２３２を起動する（ｓ２０５）。
このような構成により、仮想マシン毎のライセンス管理を行うことができ、適切なライセンス管理が可能となるという効果を奏する。
【実施例３】
【００２８】
図６はライセンス管理装置３００の構成例を、図１０はライセンス管理装置３００とライセンス管理サーバ４００の構成例を示す。実施例２と異なる部分についてのみ説明する。
【００２９】
ライセンス管理装置３００は、通信回線５００を介して、ライセンス管理サーバ４００と接続される。なお、ライセンス管理装置３００は、図示しない通信部を有し、これを介し通信回線と接続する。通信部は、例えば、ＬＡＮアダプタ等である。
【００３０】
以下、本発明におけるソフトウェアのインストールにおける一手順を述べる。
まずユーザの操作によって、仮想マシン管理部３１０、仮想マシン２２０または２３０上にソフトウェアをインストールする処理が開始される。仮想マシン管理部３１０は、インストールの際にインストールメディアに固有の識別子（以下「Ｐ−ＩＤ」という、例えば製造番号等）をソフトウェアのインストールメディアから取得し、Ｐ-ＩＤとＶＭ−ＩＤを組合せ、ライセンス管理サーバ４００に送信する。なお、このとき送信するＶＭ−ＩＤは、ソフトウェアをインストールされる仮想マシンまたはライセンス管理装置のＶＭ−ＩＤである。
【００３１】
ライセンス管理サーバ４００は、受信したＰ−ＩＤ，ＶＭ−ＩＤを記憶する記憶部と、判定部とを有する。
判定部は、記憶部を参照して、新たに受け取ったＰ−ＩＤが過去に受け取ったＰ−ＩＤと同一か否かを判定する。異なる場合にはインストールを許可する。同一の場合にはさらに新たに受け取ったＰ−ＩＤとＶＭ−ＩＤの組合せが過去に受け取ったＰ−ＩＤとＶＭ−ＩＤの組合せと同一か否か判定する。同一の場合にはインストールを許可する。
【００３２】
新たに受け取ったＰ−ＩＤが過去に受け取ったＰ−ＩＤと同一であって、かつ、Ｐ−ＩＤとＶＭ−ＩＤの組合せが過去に受け取ったＰ−ＩＤとＶＭ−ＩＤの組合せと異なる場合には、異なるライセンス管理装置または仮想マシンに同一のソフトウェアがインストールされる可能性があるため、仮想マシン管理部３１０に警告を送付する、もしくは、インストールの禁止を送付する構成としても良い。なお、新たに受け取ったＰ−ＩＤとＶＭ−ＩＤの組合せが過去に受け取ったＰ−ＩＤとＶＭ−ＩＤの組合せと同一の場合には、同一のライセンス管理装置または仮想マシンに同一のソフトウェアを再インストールしていると考えられるため、インストールを許可する。
【００３３】
ソフトウェアの起動に際してのライセンス管理装置３００の処理は、実施例２と同様である。
【００３４】
このような構成とすることによって、１本分のみソフトウェアのライセンスを保持するユーザが、そのソフトウェアを異なるライセンス管理装置にインストールしようとした場合には、ライセンス管理サーバ４００の許可を得られず、より適切なライセンス管理が可能となる。なお、実施例１のライセンス管理装置１００についても同様の構成とし、同様の効果を得ることができる。なお、インストール時のみでなく、ソフトウェアの起動時にもライセンス管理サーバ４００のような外部の装置に問い合わせる構成も考えられるが、ネットワークへの接続が必要となり、そのようなネットワークへの接続を必要としない本発明の方法との差異となる。
【００３５】
なお、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。例えば、ライセンス管理装置は、仮想マシンやソフトウェアをインストールする前であっても記憶部、制御部、ライセンス管理部等を備えていればよい。
【符号の説明】
【００３６】
１００、２００、３００  ライセンス管理装置
１０３、２０３、３０３  記憶部
１１０  ＯＳ部
２１０、３１０  仮想マシン管理装置
１１１、２１１、３１１  制御部
１１２、２１２、３１２  ライセンス管理部
【図１】
2010287081.tif 000003
【図２】
2010287081.tif 000004
【図３】
2010287081.tif 000005
【図４】
2010287081.tif 000006
【図５】
2010287081.tif 000007
【図６】
2010287081.tif 000008
【図７】
2010287081.tif 000009
【図８】
2010287081.tif 000010
【図９】
2010287081.tif 000011
【図１０】
2010287081.tif 000012