(57)【要約】【課題】ソフトウェアのライセンス管理システム、プログラム及び装置に関し、ソフトウェアの多重稼動による不正使用を防ぐと共に、アンインストールを実行した正規の購入者が使用パソコンを容易に変更可能にする。【解決手段】ライセンス購入者側のコンピュータで、ソフトウェアのインストール実行時に、インストール毎に異なり、かつ、最後の実行がインストールかアンインストールかを示す情報を含むインストール識別キーを暗号化したログファイルを生成してメモリ１−３に保存する。該ログファイルはライセンス管理装置に送信され、ライセンス管理装置は、ログファイル情報を基にパスワードファイルを生成して該コンピュータに送信し、該コンピュータでは、ソフトウェアの起動時に、該パスワードファイルとログファイルとに含まれるインストール識別キーの情報を照合し、一致したときに、当該ソフトウェアを利用可能に起動する。【選択図】図１
2009032165.tif 000002
【特許請求の範囲】
【請求項１】
ライセンス管理の対象となるソフトウェアをインストールしたコンピュータと、該コンピュータとネットワークを介して接続され、該ソフトウェアのライセンス管理するライセンス管理装置とから成るライセンス管理システムにおいて、
前記コンピュータに、前記ソフトウェアのインストールが実行された際に、インストール毎に異なるインストール識別キーを生成するとともに、当該コンピュータで該ソフトウェアのインストールが実行されたか又はアンインストールが実行されたかを示すインストール状況情報を前記インストール識別キーの情報と共に暗号化したログファイルを生成し、該ログファイルをメモリに保存する手段を備え、
前記ライセンス管理装置に、前記コンピュータから送信された前記ログファイルを受信し、該ログファイルに含まれるインストール識別キーの情報及びインストール状況情報を基に、当該コンピュータでの最後の実行がインストールであると判定された場合に、ライセンス管理リストに登録されたインストール済みコンピュータの個数が所定の個数以下かどうかを判定し、所定の個数以下である場合に、前記ログファイルのインストール識別キーの情報を基にパスワードファイルを生成し暗号化し、該パスワードファイルを前記コンピュータに送信し、かつ、前記ライセンス管理リストにインストール済みコンピュータの個数に１を加算して登録し、前記インストール状況情報を基に、当該コンピュータでの最後の実行がアンインストールであると判定された場合は、前記ライセンス管理リストにインストール済みコンピュータの個数から１を減算して登録する手段を備え、
更に前記コンピュータに、前記ライセンス管理装置から送信された前記パスワードファイルを受信し、該パスワードファイルをメモリ保存する手段と、当該ソフトウェアの起動時に、前記パスワードファイルに含まれるインストール識別キーの情報と前記ログファイルに含まれるインストール識別キーの情報とを照合し、両者のインストール識別キーの情報が一致したときに、当該ソフトウェアを利用可能に起動するソフトウェア起動手段とを備えたことを特徴とするソフトウェアのライセンス管理システム。
【請求項２】
ライセンス管理の対象となるソフトウェアをインストールしたコンピュータと、該コンピュータとネットワークを介して接続され、該ソフトウェアのライセンス管理するライセンス管理装置とから成るライセンス管理システムにおいて、
前記コンピュータに、前記ソフトウェアのインストールが実行された際に、インストール毎に異なるインストール識別キーを生成し、該インストール識別キーを含むキーファイルを、ユーザが操作不可能なファイルとしてメモリに保存する手段と、
当該コンピュータで該ソフトウェアのインストールが実行されたか又はアンインストールが実行されたかを示すインストール状況情報を前記インストール識別キーの情報と共に暗号化したログファイルを生成し、該ログファイルをユーザが操作可能なファイルとしてメモリに保存する手段を備え、
前記ライセンス管理装置に、前記コンピュータから送信された前記ログファイルを受信し、該ログファイルに含まれるインストール識別キーの情報及びインストール状況情報を基に、当該コンピュータでの最後の実行がインストールであると判定された場合に、ライセンス管理リストに登録されたインストール済みコンピュータの個数が所定の個数以下かどうかを判定し、所定の個数以下である場合に、前記ログファイルのインストール識別キーの情報を基にパスワードファイルを生成し暗号化し、該パスワードファイルを前記コンピュータに送信し、かつ、前記ライセンス管理リストにインストール済みコンピュータの個数に１を加算して登録し、前記インストール状況情報を基に、当該コンピュータでの最後の実行がアンインストールであると判定された場合は、前記ライセンス管理リストにインストール済みコンピュータの個数から１を減算して登録する手段を備え、
更に前記コンピュータに、前記ライセンス管理装置から送信された前記パスワードファイルを受信し、該パスワードファイルをメモリ保存する手段と、当該ソフトウェアの起動時に、前記パスワードファイルに含まれるインストール識別キーの情報と前記キーファイルに含まれるインストール識別キーの情報とを照合し、両者のインストール識別キーの情報が一致したときに、当該ソフトウェアを利用可能に起動するソフトウェア起動手段とを備えたことを特徴とするソフトウェアのライセンス管理システム。
【請求項３】
前記インストール識別キーとして、前記コンピュータに接続されたイーサネット（登録商標）カードのＭＡＣアドレス又は該コンピュータのハードディスクのボリューム番号を用いたコンピュータ固有の識別情報を含むことを特徴とする請求項１又は２に記載のソフトウェアのライセンス管理システム。
【請求項４】
前記インストール識別キーとして、インストールが実行されたときの時刻情報を含むことを特徴とする請求項１乃至３の何れかに記載のソフトウェアのライセンス管理システム。
【請求項５】
前記インストール識別キーとして、該インストール識別キーの生成時に生成した乱数を含むことを特徴とする請求項１乃至４の何れかに記載のソフトウェアのライセンス管理システム。
【請求項６】
ライセンス管理の対象となるソフトウェアをインストールしたコンピュータに実装され、該コンピュータとネットワークを介して接続されたライセンス管理装置から受信されるパスワードファイルと協働して機能するライセンス管理プログラムであって、
前記ソフトウェアのインストールが実行された際に、インストール毎に異なるインストール識別キーを生成するとともに、当該コンピュータで該ソフトウェアに対してインストールが実行されたか又はアンインストールが実行されたかを示すインストール状況情報を前記インストール識別キーの情報と共に暗号化したログファイルを生成し、該ログファイルをメモリに保存する手段と、
前記ライセンス管理装置から、前記ログファイルに含まれるインストール識別キーの情報及びインストール状況情報を基に生成され暗号化されたパスワードファイルであって、インストール済みコンピュータの個数が所定の個数以下の場合に送信されたパスワードファイルを受信してメモリ保存する手段と、
当該ソフトウェアの起動時に、前記パスワードファイルに含まれるインストール識別キーの情報と前記ログファイルに含まれるインストール識別キーの情報とを照合し、両者のインストール識別キーの情報が一致したときに、当該ソフトウェアを利用可能に起動するソフトウェア起動手段、
として機能させるための、ソフトウェアのライセンス管理プログラム。
【請求項７】
ライセンス管理の対象となるソフトウェアをインストールしたコンピュータに実装され、該コンピュータとネットワークを介して接続されたライセンス管理装置から受信されるパスワードファイルと協働して機能するライセンス管理プログラムであって、
前記ソフトウェアのインストールが実行された際に、インストール毎に異なるインストール識別キーを生成し、該インストール識別キーを含むキーファイルを、ユーザが操作不可能なファイルとしてメモリに保存する手段と、
当該コンピュータで該ソフトウェアのインストールが実行されたか又はアンインストールが実行されたかを示すインストール状況情報を前記インストール識別キーの情報と共に暗号化したログファイルを生成し、該ログファイルをユーザが操作可能なファイルとしてメモリに保存する手段と、
前記ライセンス管理装置から、前記ログファイルに含まれるインストール識別キーの情報及びインストール状況情報を基に生成され暗号化されたパスワードファイルであって、インストール済みコンピュータの個数が所定の個数以下の場合に送信されたパスワードファイルを受信してメモリ保存する手段と、
当該ソフトウェアの起動時に、前記パスワードファイルに含まれるインストール識別キーの情報と前記キーファイルに含まれるインストール識別キーの情報とを照合し、両者のインストール識別キーの情報が一致したときに、当該ソフトウェアを利用可能に起動するソフトウェア起動手段、
として機能させるための、ソフトウェアのライセンス管理プログラム。
【請求項８】
ライセンス管理の対象となるソフトウェアをインストールしたコンピュータとネットワークを介して接続され、該ソフトウェアのライセンス管理するライセンス管理装置において、
前記コンピュータから、前記ソフトウェアのインストールが実行された際に生成されたインストール毎に異なるインストール識別キー及び該ソフトウェアのインストールが実行されたか又はアンインストールが実行されたかを示すインストール状況情報を暗号化したログファイルを受信する手段と、
前記ログファイルに含まれるインストール識別キーの情報及びインストール状況情報を基に、前記コンピュータでの最後の実行がインストールであると判定された場合に、ライセンス管理リストに登録されたインストール済みコンピュータの個数が所定の個数以下かどうかを判定し、所定の個数以下である場合に、前記ログファイルのインストール識別キーの情報を基にパスワードファイルを生成し暗号化し、該パスワードファイルを前記コンピュータに送信し、かつ、前記ライセンス管理リストにインストール済みコンピュータの個数に１を加算して登録し、前記インストール状況情報を基に、当該コンピュータでの最後の実行がアンインストールであると判定された場合は、前記ライセンス管理リストにインストール済みコンピュータの個数から１を減算して登録するライセンス管理処理手段と、
を備えたことを特徴とするソフトウェアのライセンス管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアのライセンス管理システム、プログラム及び装置に関し、特に、ネットワークに接続されたコンピュータで使用されるソフトウェアのライセンス管理をコンピュータ単位に管理する所謂ノードロックライセンスマネージメント方式のライセンス管理システム、ライセンス管理プログラム及びライセンス管理装置に関する。
【背景技術】
【０００２】
ソフトウェアのライセンス管理には、該ソフトウェアの使用コンピュータを固定化するシングルユーザ向きのノードロックライセンスマネージメントと、サーバ／クライアント方式で管理するマルチユーザ向きのフローティングライセンスマネージメントとが知られている。
【０００３】
図５は従来のノードロックライセンスマネージメントの処理シーケンス例を示す。まず、ノードロックライセンスのソフトウェアの購入者は、該ソフトウェアのライセンスを販売者から購入し（ステップ５−１）、購入者のコンピュータ（端末Ａ）にライセンス証書を適用して該ソフトウェアをインストールする（ステップ５−２）。
【０００４】
そして、購入者はコンピュータ（端末Ａ）のホストＩＤを販売者のライセンス管理装置に通知し（ステップ５−３）、販売者のライセンス管理装置では該コンピュータ（端末Ａ）のホストＩＤを含むパスワードファイルを作成し（ステップ５−４）、該パスワードファイルを購入者のコンピュータ（端末Ａ）に通知する（ステップ５−５）。
【０００５】
購入者は、当該ソフトウェアの指定ファイルに上記のパスワードファイルを配備する（ステップ５−６）。そして購入者が該ソフトウェアを起動したとき（ステップ５−７）、該ソフトウェアは、上記の配備されたパスワードファイル内のホストＩＤと自装置のホストＩＤとを照合し（ステップ５−８）、両者が一致したときに該ソフトウェアを利用可能な状態にして起動する。該ソフトウェアの起動時には常にこのパスワードファイル内のホストＩＤと自装置のホストＩＤとを照合し、一致したときにのみ起動する。
【０００６】
このように、ノードロックライセンスマネージメントは、ソフトウェアをインストールしたコンピュータ毎に、エンドユーザ（購入者）側から発売元の販売者側に、起動時のプロテクト解除のパスワードファイルの発行を申請して取得し、この際にソフトウェアを使用するコンピュータのホストＩＤ（各コンピュータ固有の識別情報）をエンドユーザ側から販売者側に渡し、販売者側は、インストールしたコンピュータを該ホストＩＤを基に把握し、発行するパスワードファイルの数量を管理することで、契約台数（ライセンス数）を超えて該ソフトウェアを複数台のコンピュータにインストールするなどの不正使用を防ぎ、適正な申請に対してのみパスワードファイルを発行し、該ソフトウェアを使用可能にする方式である。
【０００７】
なお、前述のホストＩＤとしては、各コンピュータ（端末）に接続されたイーサネット（登録商標）カードのＭＡＣ（Media Access Control）アドレス又は該コンピュータのハードディスクのボリューム番号等を使用することができる。
【０００８】
ライセンスが設定されたソフトウェアを管理する技術に関する先行技術文献として、下記の特許文献１には、複数のプログラムが含まれたソフトウエアパッケージがインストールされるコンピュータでのライセンス管理に使用されるライセンスキーデータであって、ソフトウエアパッケージにおけるライセンスされたプログラムをコンピュータに特定させるライセンスデータと、ライセンスデータの正当性をソフトウエアパッケージにつき一括してコンピュータに証明させる証明データとを含むライセンスキーデータについて記載されている。
【０００９】
また、下記の特許文献２には、１ユーザ１ライセンスの原則に則ったソフトウェアの供給を行う場合に、特定の１台に使用端末を限定することがなく、且つ、ソフトウェアの適正使用を可能にするために、第１のライセンス情報が予め具備されたソフトウェアの使用を許可する際に、該ソフトウェアの使用端末（ＰＣ）との間でデータ通信することが可能な携帯電話機から、該ソフトウェアのソフトウェア識別情報とユーザ識別情報を受信する過程と、第１のライセンス情報と組み合わされることによって該ソフトウェアの使用を許可する第２のライセンス情報を携帯電話機へ送信する過程と、携帯電話機から使用端末へ、第２のライセンス情報が供給される過程とを含むソフトウェアライセンス管理方法が記載されている。
【００１０】
また、下記の特許文献３には、使用権限が設けられたソフトウェアのライセンスを発行すると共に、発行しているライセンス数が所定数以下となるように制限するライセンス管理サーバにおけるライセンス管理方法であって、該ソフトウェアを実行するクライアントとの間で所定時間毎に行うライセンス確認処理の成功又は失敗を判定する判定段階と、該判定の結果が所定回数以上連続して失敗であるときに、該クライアントに発行したライセンスを取り消す取消段階とを有し、ネットワーク上で同時に使用されているアプリケーションの数を正確に把握し、使用権限が設けられたソフトウェアのライセンスを正確に管理するライセンス管理方法について記載されている。
【００１１】
また、下記の特許文献４には、ソフトウェアのコピー回数がライセンス契約で定められている場合に、ソフトウェアの不正コピーを自動的に発見し、又はその使用禁止を自動的に行うネットワーク上のライセンス管理システムについて記載されている。該ライセンス管理システムは、被管理コンピュータでソフトウェアの実行に先立って送信管理部が当該被管理コンピュータ及びソフトウェアを示すライセンス確認情報を管理コンピュータへ通知し、管理コンピュータでは、被管理コンピュータとソフトウェアとの組み合わせに基づき、管理テーブルを参照しながら不正コピーか否かを判定し、不正コピーである場合には、受信管理部がソフトウェアの起動を禁止するものである。
【特許文献１】特開２００６−１６３８９６号公報
【特許文献２】特開２００４−１３９２３８号公報
【特許文献３】特開２００３−１０８２５２号公報
【特許文献４】特開平９−９７１７４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
前述したように、ノードロックライセンスマネージメントは、ソフトウェアの起動のプロテクト解除キーであるパスワードファイルを、各コンピュータ対応にソフトウェアの販売者側が発行し、購入者側のコンピュータでは該パスワードファイルを適用しなければ、該ソフトウェアを起動することができないようにするものである。
【００１３】
即ち、１ライセンスを１ノード（１コンピュータ）にロック（固定）させるのもので、パスワードファイルの発行を厳正に行うことにより、不正使用に対する安全性を確保することができる。しかし、敏速な開発が命題となっている今日の開発環境等で使用されるコンピュータのソフトウェアに対して、１ノードにライセンスがロックされることは、使用コンピュータを変更することができなくなることとなり、非効率的且つ非現実的なものとなる。
【００１４】
一方、フローティングライセンスマネージメントを採用すれば、上述の問題は解決されるであろうが、フローティングライセンスマネージメントでは、複数台のコンピュータ（クライアント）で使用されるソフトウェアのライセンス管理をライセンスサーバで行うため、該ライセンスサーバを新たに設置する必要があること、また、ノードロックライセンスマネージメントに比べて一般的に複雑な処理を必要とし、高価なものとなることなど、フローティングライセンスマネージメント特有のデメリットも少なからず存在する。
【００１５】
また、フローティングライセンスマネージメントでは、使用コンピュータを変更しようとした場合に、ライセンスサーバ側の設定も変更する必要が有る場合がり、ライセンス管理を購入者側のエンドユーザで行わなければならないというデメリットもある。
【００１６】
そのため、販売者側は、ノードロックライセンスマネージメントを採用し、購入者側が使用コンピュータを変更する必要が生じた場合、新たなコンピュータのホストＩＤを販売者側に申請すれば、販売者側は該ホストＩＤのパスワードファイルを発行して利用可能にすることにより、コンピュータの変更に対して柔軟に対応する傾向にある。しかし、この柔軟な対応が、購入ライセンス数以上の不正多重稼動を許す状況を生み出すこととなっている。
【００１７】
即ち、購入者側が一度インストールしたソフトウェアをアンインストールした後に、他の異なるコンピュータに再インストールしてコンピュータを変更するのは、該ソフトウェアの正規の使用であるが、その場合、販売者側に新たなパスワードファイルの発行を申請する。該申請に対して、販売者側では、購入者側が本当に当該ソフトウェアを当初のコンピュータからアンインストールしたか否かを確認することができないため、購入者側の申請に応じて新たなパスワードファイルを発行する。
【００１８】
しかし、悪意の有る購入者は、この新たなパスワードファイルの発行を悪用して、当初のコンピュータのアンインストールを行うことなく、不正にコピーしたソフトウェアを複数のコンピュータにインストールし、各コンピュータ毎にそれぞれ新たなパスワードファイルの発行を申請することにより、規定のライセンス数以上のコンピュータに不正にソフトウェアを多重稼動させることが可能となってしまう。
【００１９】
本発明は、ライセンス数を超えるパスワードファイルの発行を防ぎ、ソフトウェアの多重稼動の不正使用を防ぐと共に、アンインストールを実行した正規の購入者が使用パソコンを円滑に変更することを可能にする。また、照合データの改ざん等による不正利用を防ぎ、ライセンスの不正取得に対する安全性を確保することを目的とする。
【課題を解決するための手段】
【００２０】
本発明のソフトウェアのライセンス管理システムは、ライセンス管理の対象となるソフトウェアをインストールしたコンピュータと、該コンピュータとネットワークを介して接続され、該ソフトウェアのライセンス管理するライセンス管理装置とから成るライセンス管理システムにおいて、前記コンピュータに、前記ソフトウェアのインストールが実行された際に、インストール毎に異なるインストール識別キーを生成するとともに、当該コンピュータで該ソフトウェアのインストールが実行されたか又はアンインストールが実行されたかを示すインストール状況情報を前記インストール識別キーの情報と共に暗号化したログファイルを生成し、該ログファイルをメモリに保存する手段を備え、前記ライセンス管理装置に、前記コンピュータから送信された前記ログファイルを受信し、該ログファイルに含まれるインストール識別キーの情報及びインストール状況情報を基に、当該コンピュータでの最後の実行がインストールであると判定された場合に、ライセンス管理リストに登録されたインストール済みコンピュータの個数が所定の個数以下かどうかを判定し、所定の個数以下である場合に、前記ログファイルのインストール識別キーの情報を基にパスワードファイルを生成し暗号化し、該パスワードファイルを前記コンピュータに送信し、かつ、前記ライセンス管理リストにインストール済みコンピュータの個数に１を加算して登録し、前記インストール状況情報を基に、当該コンピュータでの最後の実行がアンインストールであると判定された場合は、前記ライセンス管理リストにインストール済みコンピュータの個数から１を減算して登録する手段を備え、更に前記コンピュータに、前記ライセンス管理装置から送信された前記パスワードファイルを受信し、該パスワードファイルをメモリ保存する手段と、当該ソフトウェアの起動時に、前記パスワードファイルに含まれるインストール識別キーの情報と前記ログファイルに含まれるインストール識別キーの情報とを照合し、両者のインストール識別キーの情報が一致したときに、当該ソフトウェアを利用可能に起動するソフトウェア起動手段を備えたことを第１の特徴とする。
【００２１】
また、前記コンピュータに、前記ソフトウェアのインストールが実行された際に、インストール毎に異なるインストール識別キーを生成し、該インストール識別キーを含むキーファイルを、ユーザが操作不可能なファイルとしてメモリに保存する手段と、当該コンピュータで該ソフトウェアのインストールが実行されたか又はアンインストールが実行されたかを示すインストール状況情報を前記インストール識別キーの情報と共に暗号化したログファイルを生成し、該ログファイルをユーザが操作可能なファイルとしてメモリに保存する手段を備え、前記ライセンス管理装置に、前記コンピュータから送信された前記ログファイルを受信し、該ログファイルに含まれるインストール識別キーの情報及びインストール状況情報を基に、当該コンピュータでの最後の実行がインストールであると判定された場合に、ライセンス管理リストに登録されたインストール済みコンピュータの個数が所定の個数以下かどうかを判定し、所定の個数以下である場合に、前記ログファイルのインストール識別キーの情報を基にパスワードファイルを生成し暗号化し、該パスワードファイルを前記コンピュータに送信し、かつ、前記ライセンス管理リストにインストール済みコンピュータの個数に１を加算して登録し、前記インストール状況情報を基に、当該コンピュータでの最後の実行がアンインストールであると判定された場合は、前記ライセンス管理リストにインストール済みコンピュータの個数から１を減算して登録する手段を備え、更に前記コンピュータに、前記ライセンス管理装置から送信された前記パスワードファイルを受信し、該パスワードファイルをメモリ保存する手段と、当該ソフトウェアの起動時に、前記パスワードファイルに含まれるインストール識別キーの情報と前記キーファイルに含まれるインストール識別キーの情報とを照合し、両者のインストール識別キーの情報が一致したときに、当該ソフトウェアを利用可能に起動するソフトウェア起動手段とを備えたことを第２の特徴とする。
【００２２】
また、前記インストール識別キーとして、前記コンピュータに接続されたイーサネット（登録商標）カードのＭＡＣアドレス又は該コンピュータのハードディスクのボリューム番号を用いたコンピュータ固有の識別情報を含むことを第３の特徴とする。
【００２３】
また、前記インストール識別キーとして、インストールが実行されたときの時刻情報を含むことを第４の特徴とする。また、前記インストール識別キーとして、該インストール識別キーの生成時に生成した乱数を含むことを第５の特徴とする。
【発明の効果】
【００２４】
本発明によれば、ソフトウェアをインストールしたコンピュータで、インストール時にインストール識別キーを作成し、該インストール識別キーと共に最後に実行されたインストール又はアンインストールの情報を含むログファイルを保存しておき、ノードロックライセンスマネージメントにおけるパスワード発行時に、該ログファイル情報を販売者側のライセンス管理装置に送信し、販売者側では該ログファイル情報を基にインストール状況を把握してパスワードファイルを送信することにより、ライセンス数を超えるパスワードファイルの発行を防ぎ、ソフトウェアの多重稼動の不正使用を防ぐことができると共に、アンインストールを実行した正規の購入者が使用パソコンを円滑に変更することが可能となる。
【００２５】
また、インストール識別キーの情報を、販売者側のライセンス管理装置に送信するためにユーザが取り扱い可能なログファイルとして保存する一方、該インストール識別キーの情報を、パスワードファイルと照合するためにユーザが取り扱い不可能なキーファイルとして保存することにより、ユーザによるキーファイルの削除や書き換えを防ぎ、パスワードファイルとの照合を確実に行うことができ、信頼性の高いライセンス管理を行うことが可能となる。
【００２６】
また、上記インストール識別キー、ログファイル及びパスワードファイルを暗号化して保存及び送受することにより、購入者及び第三者がそれらのファイルの内容を見ることを防ぎ、改ざん等による不正利用を防ぎ、ライセンスの不正取得に対する安全性を確保することができる。
【発明を実施するための最良の形態】
【００２７】
図１は本発明による購入者側の端末（コンピュータ）におけるライセンス管理の処理ブロックを示す。同図に示すように、購入者側の処理ブロックとして、インストール／アンインストール実行部１−１とソフトウェア起動実行部１−２とを含むソフトウェア処理ブロックと、ユーザ操作を伴う人為処理ブロックとから成る。
【００２８】
インストール／アンインストール実行部１−１では、当該ソフトウェアのインストール時に、インストール識別キー（Ｘ＿Ｉｎｓ）を作成するインストール識別キー作成処理１−１１を行う。インストール識別キー作成処理１−１１では、乱数とホストＩＤと時刻情報とを組み合わせた情報を暗号化したインストール識別キー（Ｘ＿Ｉｎｓ）を生成し、該インストール識別キー（Ｘ＿Ｉｎｓ）を当該コンピュータのメモリ１−３のインストールディレクトリにキーファイルとして保存する。
【００２９】
上記のインストール識別キー（Ｘ＿Ｉｎｓ）作成処理１−１１により、当該ソフトウェアのインストール毎に各コンピュータ対応に一意の暗号文字列が生成される。この暗号文字列情報から成るキーファイルは、購入者であるエンドユーザには表示されない秘匿情報（システムファイル）として保存する。
【００３０】
また、インストール／アンインストール実行部１−１では、当該ソフトウェアのインストール及びアンインストール実行終了時に、最後に実行された処理、即ちインストールが行われたかアンインストールが行われたかを示すインストール状況情報を、前述の乱数とホストＩＤと時刻情報と共に組み合わせたて暗号化し、該暗号化した情報を上述のメモリ１−３のインストールディレクトリにログファイルとして保存する。このログファイルは、販売者側へのプロテクト解除用のパスワードファイルをユーザが申請する際に、販売者側へ送信することができるよう、ユーザに表示されユーザが任意に扱うことができるパブリックな提供ファイルとして保存する。
【００３１】
ソフトウェア起動実行部１−２は、後述する販売者側のライセンス管理装置から送信され、メモリ１−３のインストールディレクトリに保存したパスワードファイル内のインストール識別キーの情報と、前述のインストールディレクトリに保存したキーファイルのインストール識別キーの情報とを照合するパスワードファイル照合処理１−２１を実行し、照合結果が一致した場合のみ、当該ソフトウェアを利用可能なように起動する。
【００３２】
また、購入者側の人為処理ブロックとして、当該ソフトウェアのユーザが、該ソフトウェアのインストール又はアンインストールの実行完了を確認した後、前述のメモリ１−３のインストールディレクトリに保存されたログファイルを販売者のライセンス管理装置に通知する。また、販売者のライセンス管理装置から受信したパスワードファイルをメモリ１−３の指定されたインストールディレクトリに保存する。
【００３３】
図２に本発明による販売者側のライセンス管理処理ブロックを示す。販売者側のライセンス管理装置は、前述のログファイルを、図の丸Ａの経路により購入者側の端末（コンピュータ）から受信し、ライセンス管理処理２−１を行う。ライセンス管理処理２−１では、購入者側の端末（コンピュータ）のインストール識別キー作成処理１−１１で作成されたインストール識別キー（Ｘ＿Ｉｎｓ）を含むログファイルを復号化し、使用されたコンピュータのホストＩＤ、乱数、インストール時刻及び当該ソフトウェアのインストール状況を特定する。
【００３４】
販売者側のライセンス管理装置は、上述のログファイルの復号化情報を、インストール状況に応じてライセンス管理リスト２−２に登録、解除又は更新し、当該購入者の当該ソフトウェアの購入ライセンス数及びパスワードファイル発行状況を管理する。そして、該ライセンス管理装置は、ライセンス管理リスト２−２を参照し、パスワードファイルの申請に対して、パスワードファイルの発行数が購入ライセンス数を超過しない場合に、ログファイルの情報を含む暗号化したパスワードファイルを発行するパスワードファイル発行処理２−３を実行し、該パスワードファイルを購入者側の端末（コンピュータ）に、図の丸Ｂの経路で送信する。
【００３５】
このように、ソフトウェアをインストールする度にパスワードファイルの申請を要するようにし、購入者側が使用コンピュータを変更し、新規のホストＩＤに変更する場合は、販売者側のライセンス管理装置で、パスワードファイルの申請時のログファイルを基に、購入ライセンス数の条件を満たす状況で、既存のコンピュータで当該ソフトウェアがアンインストールされたことを確認した後、新規のパスワードファイルを発行する。
【００３６】
購入者側は、販売者側のライセンス管理装置から送信されたパスワードファイルを自端末（コンピュータ）のインストールディレクトリに保存する。そして、当該ソフトウェアの起動時に、ソフトウェア起動実行部１−２は、メモリ１−３に保存されたパスワードファイル内のインストール識別キーの情報と、該インストールディレクトリに保存したキーライフのインストール識別キーの情報とを照合するパスワードファイル照合処理１−２１を実行し、照合結果が一致した場合のみ、当該ソフトウェアを利用可能なように起動する。
【００３７】
このような機能を導入することにより、購入者側は当該ソフトウェアのインストール毎にパスワードファイルを申請することとなり、該販売者側から送信されたパスワードファイルのインストール識別キー（Ｘ＿Ｉｎｓ）と自端末（コンピュータ）で作成されたインストール識別キー（Ｘ＿Ｉｎｓ）とを照合して一致したときにソフトウェアを起動するため、一度アンインスールした後に再インストールした端末（コンピュータ）に対して、以前に発行された同一のホストＩＤのパスワードファイルを不正に利用しようとしても、インストール時刻情報が異なることにより、パスワードファイル照合処理でエラーとなり、該ソフトウェアを起動することができず、多重稼動を防ぐことができる。
【００３８】
ここで、インストール識別キーの情報を、メモリ１−３のインストールディレクトリに、エンドユーザには表示されない秘匿情報（システムファイル）のキーファイルとして保存する一方、ユーザが任意に扱うことができるパブリックな提供ファイルのログファイルとして保存する理由は、インストール識別キーの情報を、販売者側のライセンス管理装置に送信する必要があるため、該インストール識別キーの情報を含むログファイルを、ユーザが操作可能なパブリックな提供ファイルとして保存しなければならないが、もし、このログファイルをエンドユーザが販売者側のライセンス管理装置に送信した後、削除又は書き換え等を行ってしまうと、パスワードファイル照合処理１−２１でパスワードファイルとの照合を行うことができなくなってしまうので、そのようの不具合が起こることがないよう、パスワードファイルとの照合用に、ユーザが取り扱うことができない秘匿情報（システムファイル）としてキーファイルを保存する。なお、このような不具合が起こる虞が無い場合には、前記キーファイルを保存することなく、パスワードファイルとの照合に、ログファイルのインストール識別キーの情報を使用する構成とすることもできる。
【００３９】
上述の販売者のライセンス管理装置における処理フローを図３に示す。同図に示すように、顧客からのログファイルを復号化し（ステップ３−１）、該ログファイルのインストール／アンインストール情報を基に最後に実施した処理がインストールであるか否かを判定する（ステップ３−２）。
【００４０】
ここで、最後に実効した処理がインストールである場合、当該ホストＩＤはライセンス管理リスト２−２に登録済みか否かを判定し（ステップ３−３）、未だ当該ホストＩＤがライセンス管理リスト２−２に登録されていない場合（新規インストールの場合）、予め設定された購入ライセンス数（Ｘ）より管理リスト数（Ｙ）が少ないか否かを判定し（ステップ３−４）、購入ライセンス数（Ｘ）より管理リスト数（Ｙ）が少ない場合、ライセンス管理リスト２−２に該当ホストＩＤを登録し、管理リスト数（Ｙ）に１を加え（ステップ３−１０）、パスワード発行ＯＫを指令（ステップ３−１２）する。
【００４１】
なお、購入ライセンス数（Ｘ）は、当該購入者が販売者に対して前もって申請した当該ソフトウェアの使用端末（コンピュータ）数である。また、管理リスト数（Ｙ）は、ライセンス管理リスト２−２に登録された使用端末（コンピュータ）数であり、発行パスワードファイル数に等しい。
【００４２】
前述の判定のステップ３−２において、最後に実行した処理がアンインストールである場合、当該ホストＩＤがライセンス管理リスト２−２に登録済みか否かを判定し（ステップ３−６）、当該ホストＩＤがライセンス管理リスト２−２に登録済みであれば、ライセンス管理リスト２−２から該当ホストＩＤを削除（Ｙ＝Ｙ−１）する（ステップ３−７）。
【００４３】
これは、当該ホストＩＤの端末（コンピュータ）から当該ソフトウェアを削除したことが認識されたので、他の端末（コンピュータ）１台分に当該ソフトウェアをインストール可能にするためである。当然のことながら、当該ソフトウェアを削除した当該端末（コンピュータ）にはパスワード発行は行わない（ＮＧ）指令を送る（ステップ３−５）。
【００４４】
なお、上記のステップ３−６の判定において、ホストＩＤがライセンス管理リスト２−２に登録されていない（登録から削除された）と判定された場合には、何もすることなく、パスワード発行は行わない（ＮＧ）指令を送る（ステップ３−５）。これにより、一度ソフトウェアをアンインストールしたコンピュータのログファイルを繰り返し送信して、管理リスト数（Ｙ）を減少させる不正行為を防ぐ。
【００４５】
また、当該ソフトウェアを再インストールした場合、最後に実施した処理がインストールで、ホストＩＤが管理リストに登録済みと判定されるが、ログファイルの乱数値／時刻がライセンス管理リスト２−２のものと一致するか否かを判定し（ステップ３−８）、乱数値／時刻が不一致となった場合は、ライセンス管理リスト２−２の乱数値／時刻を更新し（ステップ３−９）、パスワードファイルを発行する（ステップ３−１１）。
【００４６】
しかし、上記のステップ３−８の判定において、乱数値／時刻がライセンス管理リスト２−２のものと一致する場合、当該端末（コンピュータ）には同一の状態で既にパスワードファイルを発行済であるので、重複したパスワードファイルの発行は行わない（ステップ３−５）。
【００４７】
また、前述のステップ３−４の判定において、購入ライセンス数（Ｘ）に管理リスト数（Ｙ）が達している場合、購入ライセンス数（Ｘ）を超えてパスワードファイルを発行することになるので、この場合は、パスワードファイルを発行せず（ステップ３−５）、処理を終了する。
【実施例１】
【００４８】
図４に不正多重稼動防止の動作例のシーケンスを示す。ここで、購入者の購入ライセンスは１ライセンスとし、図中の表記について次のように定義する。Ｅｎｃ［ｘ１，ｘ２，ｘ３，ｘ４，ｘ５］は、ｘ１，ｘ２，ｘ３，ｘ４，ｘ５の情報を暗号化することを意味し、ｘ１はホストＩＤ、ｘ２はインストール時刻、ｘ３は乱数値、ｘ４はインストール状況情報、ｘ５はダミーデータとする。また、Ｄｅｃ［ｘ１，ｘ２，ｘ３，ｘ４，ｘ５］は、ｘ１，ｘ２，ｘ３，ｘ４，ｘ５の情報を復号化することを意味し、ｘ１，ｘ２，ｘ３，ｘ４，ｘ５は上述した内容を表す。
【００４９】
ライセンス購入者は、当該ソフトウェアを端末Ａにインストールしたとすると、端末Ａは、ホストＩＤ“Ａ”、インストール時刻“Ｄ１”、乱数値“Ｍ１”、インストール状況情報“Ｉ”（インストール）、ダミーデータ“−”のインストール識別キーを生成し、該インストール識別キーを暗号化したキーファイル及びログファイルＥｎｃ［Ａ，Ｄ１，Ｍ１，Ｉ，−］をメモリに保存する。該ライセンス購入者は、該ログファイルＥｎｃ［Ａ，Ｄ１，Ｍ１，Ｉ，−］を販売者のライセンス管理装置に送信する（４−１）。
【００５０】
販売者のライセンス管理装置では、ログファイルＥｎｃ［Ａ，Ｄ１，Ｍ１，Ｉ，−］を復号化したデータＤｅｃ［Ａ，Ｄ１，Ｍ１，Ｉ，−］を管理リストに登録する（４−２）。そして、ホストＩＤ“Ａ”、インストール時刻“Ｄ１”、乱数値“Ｍ１”、インストール状況情報“Ｉ”、ダミーデータ“ｄｍ１”の情報を暗号化したパスワードファイルＥｎｃ［Ａ，Ｄ１，Ｍ１，Ｉ，ｄｍ１］を端末Ａに送信する（４−３）。
【００５１】
端末Ａのユーザ（ライセンス購入者）は当該ソフトウェアを起動すると、端末Ａではメモリに保存したキーファイルＥｎｃ［Ａ，Ｄ１，Ｍ１，Ｉ，−］の情報と、パスワードファイルＥｎｃ［Ａ，Ｄ１，Ｍ１，Ｉ，ｄｍ１］の情報とが、ホストＩＤ、インストール時刻、乱数値、インストール状況情報“Ｉ”に関して一致するかどうかを照合し、一致したことを確認して当該ソフトウェアを利用可能に起動する（４−４）。
【００５２】
一方、同ユーザ（ライセンス購入者）が当該ソフトウェアを端末Ｂにインストールしたとすると、端末Ｂは、ホストＩＤ“Ｂ”、インストール時刻“Ｄ２”、乱数値“Ｍ２”、インストール状況情報“Ｉ”（インストール）、ダミーデータ“−”のインストール識別キーを生成し、該インストール識別キーを暗号化したキーファイル及びログファイルＥｎｃ［Ｂ，Ｄ２，Ｍ２，Ｉ，−］をメモリに保存する。該ライセンス購入者は該ログファイルＥｎｃ［Ｂ，Ｄ２，Ｍ２，Ｉ，−］を販売者のライセンス管理装置に送信する（４−５）。
【００５３】
販売者のライセンス管理装置では、ログファイルＥｎｃ［Ｂ，Ｄ２，Ｍ２，Ｉ，−］を復号化したデータＤｅｃ［Ｂ，Ｄ２，Ｍ２，Ｉ，−］から、当該ソフトウェアのライセンス数１をオーバーしてインストールされたことを認識し（４−６）、端末Ａのソフトウェアをアンインストールしてから再度、ログファイルを送付するように促すメッセージを端末Ｂに送信する（４−７）。
【００５４】
そこでユーザ（ライセンス購入者）は、端末Ａから当該ソフトウェアのアンインストールを実行し、該実行に係るログファイルＥｎｃ［Ａ，Ｄ１，Ｍ１，Ｕ，−］を販売者のライセンス管理装置に送信する（４−８）。ここで、“Ｕ”はアンインストールしたことを示すインストール状況情報である。
【００５５】
販売者のライセンス管理装置は、上記ログファイルＥｎｃ［Ａ，Ｄ１，Ｍ１，Ｕ，−］を復号化したデータＤｅｃ［Ａ，Ｄ１，Ｍ１，Ｕ，−］から、端末Ａでのアンインストールを確認し、端末Ａをライセンス管理リストから削除し、そして、端末Ｂから再度ログファイルＥｎｃ［Ｂ，Ｄ２，Ｍ２，Ｉ，−］を受信すると、端末Ｂを管理リストに登録し（４−９）、端末ＢにパスワードファイルＥｎｃ［Ｂ，Ｄ２，Ｍ２，Ｉ，ｄｍ２］を送信する（４−１０）。
【００５６】
端末ＢではパスワードファイルＥｎｃ［Ｂ，Ｄ２，Ｍ２，Ｉ，ｄｍ２］を受信し、該パスワードファイルＥｎｃ［Ｂ，Ｄ２，Ｍ２，Ｉ，ｄｍ２］とキーファイルＥｎｃ［Ｂ，Ｄ２，Ｍ２，Ｉ，−］とを照合し、ホストＩＤ、インストール時刻、乱数値、インストール情報“Ｉ”に関して一致したことを確認して当該ソフトウェアを利用可能に起動する（４−１１）。
【００５７】
ここで、購入者が以前の端末ＡのパスワードファイルＥｎｃ［Ａ，Ｄ１，Ｍ１，Ｉ，ｄｍ１］を用いて再度端末Ａを稼動させようとし、当該ソフトウェアを再インストールしたとする（４−１２）。この場合、再インストールしたことにより、インストール時刻情報及び乱数値が前回のものと異なり、その結果、異なるキーファイルＥｎｃ［Ａ，Ｄ３，Ｍ３，Ｉ，−］が生成され、保存される（４−１３）。
【００５８】
従って、起動時に、以前のパスワードファイルＥｎｃ［Ａ，Ｄ１，Ｍ１，Ｉ，ｄｍ１］と再インストール時に生成されたキーファイルＥｎｃ［Ａ，Ｄ３，Ｍ３，Ｉ，−］との照合において、インストール時刻情報及び乱数値が一致せず、起動不可(エラー)となり（４−１４）、不正な稼動を防止することができる。
【図面の簡単な説明】
【００５９】
【図１】購入者側の端末（コンピュータ）におけるライセンス管理の処理ブロックを示す図である。
【図２】販売者側のライセンス管理処理ブロックを示す図である。
【図３】販売者側のライセンス管理装置における処理フローを示す図である。
【図４】不正多重稼動防止の動作例のシーケンスを示す図である。
【図５】従来のノードロックライセンスマネージメントの処理シーケンス例を示す図である。
【符号の説明】
【００６０】
１−１  インストール／アンインストール実行部
１−１１  インストール識別キー作成処理
１−２  ソフトウェア起動実行部
１−２１  パスワードファイル照合処理
１−３  メモリ
２−１  ライセンス管理処理
２−２  ライセンス管理リスト
２−３  パスワードファイル発行処理
【図１】
2009032165.tif 000003
【図２】
2009032165.tif 000004
【図３】
2009032165.tif 000005
【図４】
2009032165.tif 000006
【図５】
2009032165.tif 000007