(57)【要約】【課題】ハードウェアを用いたりＣＤに細工したりせずに不正な複製や利用を防ぐとともに、コンピュータの情報がネットワークに流出することのないライセンス管理方法、ライセンス管理システム、ライセンス管理プログラムを提供する。【解決手段】ライセンス管理サーバ（１０）は、クライアント（１６ａ）からのソフトウェアのライセンス要求時に、クライアント（１６ａ）が正しいか否かを判断して、ライセンスを付与するライセンス付与ステップを有し、クライアントは、最新更新時刻とクライアント固有情報を記録する初期情報記録ステップと、ソフトウェアの使用の際に、記録したライセンスが正しいことと、記録したクライアント固有情報が正しいことと、記録した最新更新時刻より一定期間以内であることとを判断してソフトウェアを起動させる起動判断ステップとを有する。【選択図】図１
2004046756.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアのライセンスを管理するライセンス管理サーバと、該ライセンス管理サーバにネットワークを介して接続するクライアントを有するライセンス管理システムにおけるライセンス管理方法であって、
前記ライセンス管理サーバは、クライアントからのソフトウェアのライセンス要求時に、クライアントが正しいか否かを判断して、ライセンスを付与するライセンス付与ステップと、
クライアントから定期的に行われるソフトウェアのライセンス更新要求時に、クライアントのライセンスが正しいか否かの確認を行うステップと、
前記ライセンスが正しい場合はクライアントに許諾信号を付与する更新ステップとを有し、
前記クライアントは、最初にソフトウェアのライセンスを要求時に使用許諾され付与されるライセンスとライセンス付与時のライセンス許諾時刻を最新更新時刻とし、該最新更新時刻とクライアント固有情報を記録する初期情報記録ステップと、
前記ソフトウェアの使用の際に、記録した前記ライセンスが正しいことと、記録した前記クライアント固有情報が正しいことと、記録した前記最新更新時刻より一定期間以内であることとを判断して前記ソフトウェアを起動させる起動判断ステップと、
記録した前記最新更新時刻より一定期間毎に前記ライセンス管理サーバにライセンスの確認を行い、ライセンスの更新を行なう確認更新ステップとを有することを特徴とするライセンス管理方法。
【請求項２】
前記ライセンス管理サーバは、前記ライセンス付与ステップにおいて、ライセンス付与時の前記ライセンス管理サーバの最新更新時刻を更に付与し、
前記クライアントは、前記確認更新ステップにおいて、前記許諾信号に前記ライセンス管理サーバの最新更新時刻を含み、
前記初期情報記録ステップにおいて、付与された前記最新更新時刻をライセンス許諾時刻である最新更新時刻として記録することを特徴とする請求項１に記載のライセンス管理方法。
【請求項３】
ソフトウェアのライセンスを管理するライセンス管理サーバから、ライセンスを受信するライセンス受信クライアントにおけるライセンス管理方法であって、
前記ソフトウェアのライセンスを要求時に使用許諾に対応し付与されるライセンスとライセンス付与時のライセンス許諾時刻とクライアント固有情報とを記録する初期情報記録ステップと、
前記ソフトウェアの使用の際に、記録した前記ライセンスが正しいことと、記録した前記クライアント固有情報が正しいことと、記録した前記最新更新時刻より一定期間以内であることとを判断して前記ソフトウェアを起動させる起動判断ステップと、
記録した更新時間より一定期間毎に前記ライセンス管理サーバにライセンスの確認を行い、ライセンスの更新を行なう確認更新ステップとを有することを特徴とするライセンス管理方法。
【請求項４】
前記サーバにライセンスの返還要求をするステップと、
前記クライアント情報を消去するステップとを有することを特徴とする請求項３に記載のライセンス管理方法
【請求項５】
前記起動判断ステップにおいて、前記クライアントの時間が過去に戻された時に前記ソフトウェアを起動させないことを特徴とする請求項３に記載のライセンス管理方法。
【請求項６】
前記起動判断ステップにおいて、前記クライアントが有する内蔵時計と、前記ライセンス管理サーバが有する内蔵時計との時刻に誤差が生じた場合、予め定められた誤差の範囲であれば前記ソフトウェアを起動することを特徴とする請求項３に記載のライセンス管理方法。
【請求項７】
前記初期情報記録ステップ、或いは前記確認更新ステップにおいて、ライセンス、ライセンス許諾時刻、クライアント固有情報とをファイル、レジストリの２つのファイルに記録することを特徴とする請求項３に記載のライセンス管理方法。
【請求項８】
前記確認更新ステップにおけるライセンスの更新は、前記ライセンス管理サーバへ正常に接続可能かどうか判断し、正常に接続できない場合は、ライセンスの更新を行わないことを特徴とする請求項３から７に記載のライセンス管理方法。
【請求項９】
ネットワークを介してクライアントのソフトウェアの管理を行うライセンス管理サーバにおけるライセンス管理方法であって、
前記クライアントからの前記ソフトウェアのライセンス要求時に、クライアントが正しいか否かを判断して、前記ライセンス管理サーバの最新更新時刻を前記クライアントに付与するために許諾信号に前記ライセンス管理サーバの最新更新時刻を含む前記ライセンスを付与するライセンス付与ステップと、
前記クライアントから定期的にソフトウェアのライセンス更新要求時に、前記クライアントのライセンスを確認する確認ステップと、
前記ライセンスが正しい場合は前記クライアントに許諾信号を付与する更新ステップとを有することを特徴とするライセンス管理方法。
【請求項１０】
前記ライセンスの返還要求を受信する返還要求受信ステップと、
返還された前記ライセンスを初期化する初期化ステップとを有することを特徴とする請求項９に記載のライセンス管理方法。
【請求項１１】
ソフトウェアのライセンスを管理するライセンス管理サーバと、該ライセンス管理サーバに接続するクライアントを有するライセンス管理システムであって、
前記ライセンス管理サーバは、クライアントからのソフトウェアのライセンス要求時に、クライアントが正しいか否かを判断して、ライセンスを付与するライセンス付与手段と、
クライアントからの定期的にソフトウェアのライセンス更新要求時に、クライアントのライセンスが正しいか否かの確認を行う手段と、
前記ライセンスが正しい場合はクライアントに許諾信号を付与する更新手段とを有し、
前記クライアントは、最初にソフトウェアのライセンスを要求時に使用許諾され付与されるライセンスとライセンス付与時のライセンス許諾時刻を最新更新時刻とし、該最新更新時刻とクライアント固有情報を記録する初期情報記録手段と、
前記ソフトウェアの使用の際に、記録した前記ライセンスが正しいことと、記録した前記クライアント固有情報が正しいことと、記録した前記最新更新時刻より一定期間以内であることとを判断して前記ソフトウェアを起動させる起動判断手段と、
記録した前記最新更新時刻より一定期間毎に前記ライセンス管理サーバにライセンスの確認に行い、ライセンスの更新を行なう確認更新手段とを有することを特徴とするライセンス管理システム。
【請求項１２】
コンピュータに、
ソフトウェアのライセンスを要求時に使用許諾に対応し付与されるライセンスとライセンス付与時のライセンス許諾時刻とクライアント固有情報とを記録する初期情報記録ステップと、
前記ソフトウェアの使用の際に、前記書き込んであるライセンスキーが正しく、記録した前記クライアント固有情報が、正しいこと、記録した前記最新更新時刻より一定期間以内であることとならばソフトウェアを起動させる起動判断ステップと、
記録した更新時間より一定期間毎に前記ライセンス管理サーバにライセンスの確認を行い、ライセンスの更新を行なう確認更新ステップとを実行させるためのライセンス管理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータソフトウェアのライセンスに関し、特に、ライセンスの管理を行うサーバを用いたライセンス管理方法、ライセンス管理システム、ライセンス管理プログラムに関する。
【０００２】
【従来の技術】
コンピュータソフトウェアの不正な複製や利用は、現在でもかなりの割合で行われている。そのため、ソフトウェアのベンダは、不正な複製や利用を防ぐために、種々の対策を講じている。
【０００３】
それらの対策として、小型の装置をＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）に接続し、ハードプロテクトを行うタイプや、複製が不可能なように細工されたＣＤ（Ｃｏｍｐａｃｔ　Ｄｉｓｃ）でソフトウェアを配布するタイプ、また、フレキシブルディスクを用いるタイプなどがある。
【０００４】
また、最近はネットワークを利用したソフトウェアのライセンスサービスも始まっている。この場合の不正防止対策として、例えばソフトウェアのベンダに設けられたサーバが、クライアントであるユーザのコンピュータのオペレーティングシステムのバージョン番号や、デバイスのＩＤ番号、ソフトウェアのバージョン番号などのクライアント情報と、ライセンスキーとをネットワークを通じて入手し、組み合わせることによってクライアントのソフトウェアを利用可能にする方法がある。
【０００５】
【発明が解決しようとする課題】
しかしながら、最初に述べたハードプロテクトやフレキシブルディスクを用いる場合は、そのハードウェア自体のコストがかかるだけではなく、それらハードウェアが小型の装置であることから、紛失や破損の可能性があるとともに、ＵＳＢのポートを塞ぐこともあるため使い勝手が良くない。また、複製が不可能なＣＤの作成にはコストがかかる。
【０００６】
また、ネットワークを用いた不正防止対策であるが、最近のインターネットに関する調査結果によると、個人情報やユーザのコンピュータ独自の情報を含むクライアント情報の流出や濫用を懸念する傾向が最も多いことからも分かるように、自らのパソコンの情報を読み取られることに抵抗があるユーザが多い。
【０００７】
本発明は、このような問題点に鑑み、ハードウェアを用いたりＣＤに細工したりせずに不正な複製や利用を防ぐとともに、コンピュータの情報がネットワークに流出することのないライセンス管理方法、ライセンス管理システム、ライセンス管理プログラムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
請求項１に記載の発明は、ソフトウェアのライセンスを管理するライセンス管理サーバと、該ライセンス管理サーバにネットワークを介して接続するクライアントを有するライセンス管理システムにおけるライセンス管理方法であって、前記ライセンス管理サーバは、クライアントからのソフトウェアのライセンス要求時に、クライアントが正しいか否かを判断して、ライセンスを付与するライセンス付与ステップと、クライアントから定期的に行われるソフトウェアのライセンス更新要求時に、クライアントのライセンスが正しいか否かの確認を行うステップと、前記ライセンスが正しい場合はクライアントに許諾信号を付与する更新ステップとを有し、前記クライアントは、最初にソフトウェアのライセンスを要求時に使用許諾され付与されるライセンスとライセンス付与時のライセンス許諾時刻を最新更新時刻とし、該最新更新時刻とクライアント固有情報を記録する初期情報記録ステップと、前記ソフトウェアの使用の際に、記録した前記ライセンスが正しいことと、記録した前記クライアント固有情報が正しいことと、記録した前記最新更新時刻より一定期間以内であることとを判断して前記ソフトウェアを起動させる起動判断ステップと、記録した前記最新更新時刻より一定期間毎に前記ライセンス管理サーバにライセンスの確認を行い、ライセンスの更新を行なう確認更新ステップとを有することを特徴とする。
【０００９】
請求項１によれば、ハードウェアを用いたりＣＤに細工したりせずに不正な複製や利用を防ぐとともに、コンピュータの情報がネットワークに流出することのないライセンス管理方法を提供できる。
【００１０】
請求項２に記載の発明は、前記ライセンス管理サーバは、前記ライセンス付与ステップにおいて、ライセンス付与時の前記ライセンス管理サーバの最新更新時刻を更に付与し、前記クライアントは、前記確認更新ステップにおいて、前記許諾信号に前記ライセンス管理サーバの最新更新時刻を含み、前記初期情報記録ステップにおいて、付与された前記最新更新時刻をライセンス許諾時刻である最新更新時刻として記録することを特徴とする。
【００１１】
請求項２によれば、ライセンスにライセンス管理サーバの最新更新時刻を付与したライセンス管理方法を提供できる。
【００１２】
請求項３に記載の発明は、ソフトウェアのライセンスを管理するライセンス管理サーバから、ライセンスを受信するライセンス受信クライアントにおけるライセンス管理方法であって、前記ソフトウェアのライセンスを要求時に使用許諾に対応し付与されるライセンスとライセンス付与時のライセンス許諾時刻とクライアント固有情報とを記録する初期情報記録ステップと、前記ソフトウェアの使用の際に、記録した前記ライセンスが正しいことと、記録した前記クライアント固有情報が正しいことと、記録した前記最新更新時刻より一定期間以内であることとを判断して前記ソフトウェアを起動させる起動判断ステップと、記録した更新時間より一定期間毎に前記ライセンス管理サーバにライセンスの確認を行い、ライセンスの更新を行なう確認更新ステップとを有することを特徴とする。
【００１３】
請求項３によれば、ハードウェアを用いたりＣＤに細工したりせずに不正な複製や利用を防ぐとともに、コンピュータの情報がネットワークに流出することのないライセンス管理方法を提供できる。
【００１４】
請求項４に記載の発明は、前記サーバにライセンスの返還要求をするステップと、前記クライアント情報を消去するステップとを有することを特徴とする。
【００１５】
請求項４によれば、ライセンスが必要なくなった場合に、ライセンスを返還することができるため、特定のコンピュータにライセンスが固定されることのないライセンス管理方法を提供できる。
【００１６】
請求項５に記載の発明は、前記起動判断ステップにおいて、前記クライアントの時間が過去に戻された時に前記ソフトウェアを起動させないことを特徴とする。
【００１７】
請求項５によれば、時間が過去に戻されるなどの改竄があった場合は、ソフトウェアを起動することのないライセンス管理方法を提供できる。
【００１８】
請求項６に記載の発明は、前記起動判断ステップにおいて、前記クライアントが有する内蔵時計と、前記ライセンス管理サーバが有する内蔵時計との時刻に誤差が生じた場合、予め定められた誤差の範囲であれば前記ソフトウェアを起動することを特徴とする。
【００１９】
請求項６によれば、クライアントが有する内蔵時計と、ライセンス管理サーバが有する内蔵時計との時刻が異なり、誤差が生じても、予め定められた誤差の範囲であれば前記ソフトウェアを起動することが可能なライセンス管理方法を提供できる。
【００２０】
請求項７に記載の発明は、前記初期情報記録ステップ、或いは前記確認更新ステップにおいて、ライセンス、ライセンス許諾時刻、クライアント固有情報とをファイル、レジストリの２つのファイルに記録することを特徴とする。
【００２１】
請求項７によれば、ライセンス、ライセンス許諾時刻、クライアント固有情報の記録場所としてファイルやレジストリを用いるライセンス管理方法を提供できる。
【００２２】
請求項８に記載の発明は、前記確認更新ステップにおけるライセンスの更新は、前記ライセンス管理サーバへ正常に接続可能かどうか判断し、正常に接続できない場合は、ライセンスの更新を行わないことを特徴とする。
【００２３】
請求項８によれば、例えば回線の障害やライセンス管理サーバの障害などにより、ライセンス管理サーバに接続できなくなった場合や、接続できたとしてもライセンス管理サーバに障害が発生している場合など、ライセンス管理サーバに正常に接続できない場合にも対応することが可能なライセンス管理方法を提供できる。
【００２４】
請求項９に記載の発明は、ネットワークを介してクライアントのソフトウェアの管理を行うライセンス管理サーバにおけるソフトウェア管理方法であって、前記クライアントからの前記ソフトウェアのライセンス要求時に、クライアントが正しいか否かを判断して、前記ライセンス管理サーバの最新更新時刻を前記クライアントに付与するために許諾信号に前記ライセンス管理サーバの最新更新時刻を含む前記ライセンスを付与するライセンス付与ステップと、前記クライアントから定期的にソフトウェアのライセンス更新要求時に、前記クライアントのライセンスを確認する確認ステップと、前記ライセンスが正しい場合は前記クライアントに許諾信号を付与する更新ステップとを有することを特徴とする。
【００２５】
請求項９によれば、ハードウェアを用いたりＣＤに細工したりせずに不正な複製や利用を防ぐとともに、コンピュータの情報がネットワークに流出することのないライセンス管理方法を提供できる。
【００２６】
請求項１０に記載の発明は、前記ライセンスの返還要求を受信する返還要求受信ステップと、返還された前記ライセンスを初期化する初期化ステップとを有することを特徴とする。
【００２７】
請求項１０によれば、ライセンスが必要なくなった場合に、ライセンスを返還することができるため、特定のコンピュータにライセンスが固定されることのないライセンス管理方法を提供できる。
【００２８】
請求項１１に記載の発明は、ソフトウェアのライセンスを管理するライセンス管理サーバと、該ライセンス管理サーバにネットワークを介して接続するクライアントを有するライセンス管理システムであって、前記ライセンス管理サーバは、クライアントからのソフトウェアのライセンス要求時に、クライアントが正しいか否かを判断して、ライセンスを付与するライセンス付与手段と、クライアントからの定期的にソフトウェアのライセンス更新要求時に、クライアントのライセンスが正しいか否かの確認を行う手段と、前記ライセンスが正しい場合はクライアントに許諾信号を付与する更新手段とを有し、前記クライアントは、最初にソフトウェアのライセンスを要求時に使用許諾され付与されるライセンスとライセンス付与時のライセンス許諾時刻を最新更新時刻とし、該最新更新時刻とクライアント固有情報を記録する初期情報記録手段と、前記ソフトウェアの使用の際に、記録した前記ライセンスが正しいことと、記録した前記クライアント固有情報が正しいことと、記録した前記最新更新時刻より一定期間以内であることとを判断して前記ソフトウェアを起動させる起動判断手段と、記録した前記最新更新時刻より一定期間毎に前記ライセンス管理サーバにライセンスの確認に行い、ライセンスの更新を行なう確認更新手段とを有することを特徴とする。
【００２９】
請求項１１によれば、ハードウェアを用いたりＣＤに細工したりせずに不正な複製や利用を防ぐとともに、コンピュータの情報がネットワークに流出することのないライセンス管理システムを提供できる。
【００３０】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【００３１】
本発明の実施の形態における全体構成図を図１に示す。図１に示されるように、本実施の形態におけるライセンス管理システムは、ライセンス管理サーバ１０と、ソフトベンダーサーバ（ダウンロードサーバ）１２と、Ａ社のパソコンである１６ａ、１６ｂ、１６ｃとそれらが接続するインターネット１４と、ソフトウェアが記録された記録媒体１８ａ、１８ｂで構成される。
【００３２】
ライセンス管理サーバ１０は、ソフトウェアのライセンスの管理を行うサーバである。ソフトベンダーサーバ１２は、ソフトウェアをインターネット１４を通じて他のパソコンに供給するサーバである。パソコン１６ａ、１６ｂ、１６ｃはソフトウェアがインストールされたパソコンである。
【００３３】
このインストールは、ソフトウェアの使用に先立ち予め行っておく形態となっており、そのインストール方法は、記録媒体１８ａ、１８ｂを用いても良いし、ソフトベンダーサーバ１２を用いても良い。
【００３４】
ちなみに、図１の場合は、パソコン１６ａは記録媒体１８ａから、パソコン１６ｂは記録媒体１８ｂから、パソコン１６ｃは、ソフトベンダーサーバ１２からそれぞれソフトウェアがインストールされている。
【００３５】
また、図１におけるライセンス管理サーバ１０は、Ａ社用のライセンスを１つ発行可能であり、図１は、そのライセンスがパソコン１６ａに与えられているために、他のパソコンは使用できない状況を示している。
【００３６】
次に、上述したライセンス管理サーバ１０、ソフトベンダーサーバ１２や、パソコン１６などのコンピュータのハードウェア構成図を図２に示す。なお、パソコン１６とは、パソコン１６ａ、１６ｂ、１６ｃのいずれにも共通する処理などを説明する場合に用いる表現とする。
【００３７】
図２に示されるハードウェア構成は、それぞれバスＢで相互に接続されている入力装置２２と，表示装置２３と，ドライブ装置２４と，記録媒体２５と，補助記憶装置２６と，メモリ装置２７と，演算処理装置２０と，インターフェース装置２１とを含むように構成される。
【００３８】
入力装置２２は、コンピュータシステムの利用者が操作するキーボード及びマウスなどで構成され、コンピュータシステムに各種操作信号を入力するために用いられる。表示装置２３は、コンピュータシステムを操作するのに必要な各種ウインドウやデータ等を表示する。インターフェース装置２１は、コンピュータシステムをネットワークに接続する為のインターフェースであり、例えばＮＩＣ（Ｎｅｔｗｏｒｋ　Ｉｎｔｅｒｆａｃｅ　Ｃａｒｄ）やモデム等で構成される。
【００３９】
そして、上記コンピュータシステムを動作させるためのプログラムは、ＣＤ−ＲＯＭ等の記録媒体２５によって提供されるか、ネットワークを通じてダウンロードされる。また、記録媒体２５は、ドライブ装置２４にセットされ、データやプログラムが記録媒体２５からドライブ装置２４を介して補助記憶装置２６にインストールされる。
【００４０】
補助記憶装置２６は、データやプログラムを格納すると共に、必要なファイル等を格納する。メモリ装置２７は、コンピュータシステムの起動時に補助記憶装置２６からプログラムを読み出して格納する。演算処理装置２０は、メモリ装置２７に読み出され格納されたプログラムに従って処理を実行する。
【００４１】
次に、図３を用いて、ライセンス管理システムにおける全体の流れを説明する。まずステップＳ１０１で、パソコン１６にソフトウェアがインストールされる。次に、ステップＳ１０２で、パソコン１６は、ライセンス管理サーバ１０からキーを取得し、情報の設定を行う。この情報は、ファイル３２や、各種の環境設定やドライバの指定、アプリケーションの関連付けなどの情報を保存するファイルであるレジストリ３４に設定される。また、それら設定される情報は、ＰＣ固有情報３６と、時間情報３８と、キー情報４０で構成される。このうち、ＰＣ固有情報は、パソコンのＭＡＣ（Ｍｅｄｉａ　Ａｃｃｅｓｓ　Ｃｏｎｔｒｏｌ）アドレス、コンピュータ名、プロセッサ情報、ＨＤ（Ｈａｒｄ　Ｄｉｓｋ）ボリュームシリアルＮＯ．、そしてＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）名、及びバージョン、ソフトウェアのプログラムがインストールされたフォルダの生成日時で構成される。
【００４２】
また、時間情報３８は、複数の日時情報で構成される。それらはサーバタイムスタンプと、前回のライセンス更新時間を示す最終タイムと、ＰＣタイムスタンプとなっており、サーバタイムスタンプは、ライセンス管理サーバ１０の最新更新時刻を利用している。次のキー情報４０は、ライセンス管理サーバ１０から取得したシリアル番号で構成される。このキー情報４０は、図に示されるように、ライセンス管理サーバ１０のキーＢＡＮＫ３０で管理されている。
【００４３】
これらの情報は、ライセンスを受信した時に、一緒に受信したサーバタイムスタンプと、サーバに更新確認を行う時間間隔を指定する「一定期間」とともに、クライアント情報として設定される。そして、これらの情報は、ステップＳ１０３で示されるようなソフトウェアの起動時及び終了時、そしてステップＳ１０４のライセンス更新時、さらにステップＳ１０５のキー返還時
に参照または更新、或いは削除される。
【００４４】
また、ライセンス管理サーバ１０は、さらに図４に示されるソフトウェア別更新間隔データベースと、図５に示されるライセンス管理データベースを有する。ソフトウェア別更新間隔データベースは、ライセンスの更新間隔をソフトウェア別に記したデータベースであり、例えばソフトＡは、１０日ごとにライセンスを更新しなければならないことを示している。
【００４５】
ライセンス管理データベースは、ユーザごとにライセンスを管理するデータベースであり、ユーザ名とそれに対応したＩＤ番号、パスワード、ソフト名、ライセンス番号、最新更新時間で構成される。ＩＤ番号は、ユーザのＩＤ番号であり、パスワードは、ユーザの認証に用いられ、ソフト名は、使用するソフトウェアの名前である。また、最新更新時間は、更新を行った最新の時間を表している。
【００４６】
次に、図６のフローチャートを用いて、図３のステップＳ１０２に対応する処理であるキー情報の取得と情報設定時の処理を説明する。
【００４７】
ステップＳ２０１で、パソコン１６は、上述した自らのＰＣ固有情報を取得し、その情報を暗号化する。この暗号化は、ＰＣ固有情報自体を暗号化してもよいし、ＰＣ固有情報のハッシュ値（メッセージ認証子）を生成してもよい。そして、パソコン１６は、ステップＳ２０２で、図に示されるように、ライセンス管理サーバ１０内のキーＢＡＮＫ３０に接続し、事前にライセンス管理サーバ１０に登録されているソフトウェアユーザのＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）、ＰＷ（Ｐａｓｓ　Ｗｏｒｄ）、ソフトウェアの情報であるソフト情報をライセンス管理サーバ１０に送信する。
【００４８】
なお、ライセンスキーも、既にライセンス管理サーバに登録してあるものとして説明するが、ユーザで事前に利用するソフトウェアのライセンス数だけを定めてあり、ユーザからの要求時に生成するようにしても良い。
【００４９】
これらの情報を受信したライセンス管理サーバ１０は、ステップＳ２０３でキーＢＡＮＫ３０を参照して認証処理を行う。そして、ライセンス管理サーバ１０は、認証処理の結果、キーの発行を行えない場合は、パソコン１６に、その旨を送信し、パソコン１６は、ステップＳ２０５で、キーの発行が行えないことを示す取得不可表示を行い、処理を終了する。
【００５０】
ステップＳ２０４の判断処理で、ＩＤとＰＷとソフトウェア情報を用いた認証処理の結果、キーの発行を行っても良い場合、ライセンス管理サーバ１０は、ステップＳ２０６で、キーが既に発行されていないかどうかチェックする。このチェックは、最新の更新時刻が西暦００００年００月００日００時００分と一致するかどうかのチェックである。一致した場合、発行していることになり、キーの発行はできないため、パソコン１６に、その旨を送信し、パソコン１６は、ステップＳ２０５で、キーの発行が行えないことを示す取得不可表示を行い、処理を終了する。
【００５１】
最新の更新時間が西暦００００年００月００日００時００分と一致していない場合、ライセンス管理サーバ１０は、ステップＳ２０７で、キーの発行を行う際に、発行するキーに該当するキーＢＡＮＫ３０（図５参照）の最新更新時刻に現在の時刻を設定し、キーとサーバタイムスタンプをパソコン１６に送信する。
【００５２】
キー情報とサーバタイムスタンプとを受信したパソコン１６は、ステップＳ２０８でファイル３２及びレジストリ３４の２ヶ所に対し、キー情報の設定を行う。次に、パソコン１６は、ステップＳ２０９で、サーバタイムスタンプと最終タイムとＰＣタイムスタンプと一定期間からなる時間情報の設定をファイル３２とレジストリ３４に対して行う。このとき、時間情報内の最終タイムに、先ほど受信したサーバタイムスタンプを代入する。そして、ステップＳ２１０で、パソコン１６は、ファイル３２とレジストリ３４に対し、プログラムフォルダ生成日時の設定を行う。次に、パソコン１６は、ステップＳ２１１で、ファイル３２とレジストリ３４に対し、ＰＣ固有情報の書き込みを行い、キー情報の取得と情報設定時の処理を終了する。
【００５３】
次に、図７のフローチャートを用いて、ソフトウェア起動時の処理について説明する。まず、パソコン１６は、ステップＳ３０１で、自らのＰＣ固有情報を取得する。次に、ステップＳ３０２で、パソコン１６は、取得したＰＣ固有情報を暗号化する。以降、比較時には復号化して利用しているが省略する。これは、安全性は少し落ちるが暗号化せずに使用しても構わない。そして、パソコン１６は、ステップＳ３０３でＰＣ固有情報３６が記録されているファイル３２とレジストリ３４とで、先ほど取得したＰＣ固有情報の照査を行う。その結果、取得したＰＣ固有情報と、ファイル３２とレジストリ３４にそれぞれある２つのＰＣ固有情報３６の計３者が一致した場合、次のステップＳ３０４へ処理を進める。一致しなかった場合、パソコン１６は、ステップＳ３１３へ処理を進め、エラーメッセージを表示し、処理を終了する。
【００５４】
ＰＣ固有情報の照査が終わると、次に、パソコン１６は、ステップＳ３０５で、ファイル３２とレジストリ３４とを用いて、キー情報の照査を行う。その結果、パソコン１６は、キー情報のうち、ファイル３２とレジストリ３４からなる２者が一致した場合、次のステップＳ３０７へ処理を進める。一致しなかった場合、パソコン１６は、ステップＳ３１３へ処理を進め、エラーメッセージを表示し、処理を終了する。
【００５５】
キー情報の照査が終わると、次に、パソコン１６は、ステップＳ３０７で、現在の日時情報であるＰＣタイムの取得を行う。このＰＣタイムとは、パソコン１６の内蔵時計の時刻を示している。パソコン１６は、ステップＳ３０８で、レジストリ３４に記録されている最終タイムと、ＰＣタイムの比較を行う。この場合の最終タイムは、ライセンス管理サーバ１０から受信した日時情報または最後にソフトウェアが使用された日時情報を表している。
【００５６】
ＰＣタイムと最終タイムとを比較した結果、ステップＳ３０９で、ＰＣタイムが最終タイムより大きい場合、次のステップＳ３１０へ処理を進める。ＰＣタイムが最終タイム以下の場合、現在の時刻と、最後にソフトウェアを使用した時刻とが矛盾するため、パソコン１６は、ステップＳ３１３へ処理を進め、エラーメッセージを表示し、処理を終了する。
【００５７】
次に、パソコン１６は、ステップＳ３１０で、レジストリ３４の最終タイムを、先ほど取得したＰＣタイムに更新する。そして、パソコン１６は、ステップＳ３１１で、フォルダの生成時間と、ファイル３２と、レジストリ３４からフォルダ情報を取得する。次のステップＳ３１２で、フォルダ、ファイル、レジストリのうちの３者が一致しなかった場合、パソコン１６は、ステップＳ３１３でエラーメッセージを表示する。３者が一致した場合、パソコン１６は、ステップＳ３１４へ処理を進め、現在時刻であるＰＣタイムより、指定期間とサーバタイムスタンプを足した値が小さい場合に、ステップＳ３１７でソフトウェアを起動する。
【００５８】
この処理の具体例を説明する。上記処理は、サーバタイムスタンプが、例えば４月１日の０時０分となっており、指定期間が５日である場合、４月１日の０時０分の５日後である４月６日の０時０分よりもＰＣタイムが前の時刻であれば、指定期間内であるのでソフトウェアを使用することができるという処理である。
【００５９】
また、ステップＳ３１４で、ＰＣタイムが例えば４月７日であるような、指定期間を過ぎている場合、そのままでは、ソフトウェアを使用することはできないため、パソコン１６は、ステップＳ３１５で、ライセンスの更新処理（図８参照）を行い、その更新処理の結果をステップＳ３１６で判断し、更新処理が正常終了であれば、ステップＳ３１７で、ソフトウェアを起動し、更新処理が異常終了であれば、そのまま処理を終了する。
【００６０】
以上で図７のフローチャートの説明を終えるが、上記処理に、さらに１つの処理を加えたフローチャートを、図１０を用いて説明をする。図１０に示されるフローチャートは、図７のフローチャートに、ステップＳ６１６において、正常戻り値が得られなかった場合に行われるステップＳ６１７の処理を追加したものである。そして、ステップＳ６０１からステップＳ６１６までは、図７のフローチャートのステップＳ３０１からステップＳ３１６と同じ処理であるので、ステップＳ６０１からステップＳ６１６の説明は省略する。
【００６１】
ステップＳ６１７の処理は、指定期間が過ぎても、さらに期間βが経過するまでは、ステップＳ６１８でソフトウェアを起動し、期間βが経過した後はソフトウェアを起動せずにそのまま終了させる処理である。
【００６２】
この処理は、例えばパソコン１６の内蔵時計と、ライセンス管理サーバ１０の内臓時計に誤差が生じている場合に有効である。パソコン１６の内蔵時計と、ライセンス管理サーバ１０の内臓時計が異なる時刻であれば、それらに基づく値であるＰＣタイムとサーバタイムスタンプとの間に誤差が生じ、それによってステップＳ６１６で正常戻り値が得られない場合、ソフトウェアを起動できなくなる。
【００６３】
そのため、ステップＳ６１７を処理に加えることにより、指定期間が過ぎても、さらに期間βが経過するまでは、ステップＳ６１８でソフトウェアを起動することが可能となる。
【００６４】
次に、図８を用いて、定期的に行われるライセンスの更新処理について説明する。ステップＳ４０１で、パソコン１６は、ライセンス管理サーバ１０内のキーＢＡＮＫ３０に接続し、ＩＤ、ＰＷ、キー、ソフト情報を送信する。接続されたライセンス管理サーバ１０は、ステップＳ４０２で、キーＢＡＮＫ３０を参照して認証処理を行う。そして、ライセンス管理サーバ１０は、ステップＳ４０３で、ＩＤ、ＰＷ、キーが同じであれば、ステップＳ４０５へ処理を進め、異なっていればパソコン１６に、その旨を送信し、パソコン１６は、ステップＳ４０４で、キーの更新が行えないことを示す更新不可表示を行い、処理を終了する。
【００６５】
次に、ライセンス管理サーバ１０は、ステップＳ４０５で、キーが返還されていないかどうかチェックする。このチェックは、前回の更新時間が西暦００００年００月００日００時００分と一致するかどうかのチェックである。一致した場合、返還していることになり、キーの更新はできないため、パソコン１６に、その旨を送信し、パソコン１６は、ステップＳ４０４で、キーの更新が行えないことを示す更新不可表示を行い、処理を終了する。
【００６６】
前回の更新時間が西暦００００年００月００日００時００分と一致していない場合、次に、ライセンス管理サーバ１０は、ステップＳ４０６で、期間が有効かどうか判断する。この判定は、現在の更新時刻が、前回の更新時刻＋一定期間からα（αは予め定められた値）以内かどうかの処理を行う。なお、αを２年、あるいは無限大として事実上制限しないことも可能である。α以内でなければ、ライセンス管理サーバ１０は、キーの更新ができないため、パソコン１６に、その旨を送信し、パソコン１６は、ステップＳ４０４で、キーの更新が行えないことを示す更新不可表示を行い、処理を終了する。
【００６７】
α以内であれば、ステップＳ４０７で、ライセンス管理サーバ１０は、ライセンスを保持するための更新処理を行う。この更新処理では、キーＢＡＮＫの該当キーの前回更新時間に、現在の時間を設定する処理が行われ、パソコン１６がキーを更新したことの書き込みをキーＢＡＮＫ３０に行われるとともに、パソコン１６には、サーバタイムスタンプが送信される。
【００６８】
サーバタイムスタンプを受信したパソコン１６は、ステップＳ４０８で、レジストリ３４とファイル３２に対し、サーバタイムスタンプと最終タイムとＰＣタイムスタンプからなる時間情報の設定を行い、処理を終了する。
【００６９】
以上の処理により、ライセンスを更新することが可能となるが、ライセンス更新処理を確実に行うために、さらに処理を追加したフローチャートを、図１１を用いて説明する。図１１に示されるフローチャートは、図８のステップＳ４０１のキーＢＡＮＫに接続する処理の前に、予めキーＢＡＮＫに接続することが可能かどうか確認する処理を追加したものである。
【００７０】
そのため、図１１のフローチャートでは、まずステップＳ７０１で、キーＢＡＮＫに接続できるかどうかの判断が行われる。その結果、接続できないと判断されると、ステップＳ７０２で、パソコン１６は、キーＢＡＮＫ接続不可表示を行い、異常終了とする。
【００７１】
このステップＳ７０１のキーＢＡＮＫに接続できるかどうかの判断とは、回線が有効か否かとか、ライセンス管理サーバが正常稼働しているか否か等を確認することにより行われる判断である。そして図１１ではＳ７０１とＳ７０３を分けて、接続する処理を明確にしているが、図１１でＳ７０１とＳ７０３を一緒にし、ＰＣ側の設定異常等の何らかの理由で、ライセンス更新処理が異常となる時も該当する場合がある。
【００７２】
以上の処理により、ライセンスを更新することが可能となるが、ライセンス更新処理を確実に行うために、さらに処理を追加したフローチャートを、図１１を用いて説明する。図１１に示されるフローチャートは、図８のステップＳ４０１のキーＢＡＮＫに接続する処理の前に、予めキーＢＡＮＫに接続することが可能かどうか確認する処理を追加したものである。
【００７３】
そのため、図１１のフローチャートでは、まずステップＳ７０１で、キーＢＡＮＫに接続できるかどうかの判断が行われる。その結果、接続できないと判断されると、ステップＳ７０２で、パソコン１６は、キーＢＡＮＫ接続不可表示を行い、異常終了とする。
【００７４】
このようにすることにより、例えば回線障害などで接続できない場合にも対応することが可能となる。なお、残りのステップであるステップＳ７０３から、ステップＳ７１０は、図８のステップＳ４０１からステップＳ４０８に対応するため、説明を省略する。
【００７５】
次に、図９のフローチャートを用いて、ライセンスの返還処理について説明する。ステップＳ５０１で、パソコン１６は、ライセンス管理サーバ１０内のキーＢＡＮＫ３０に接続し、ＩＤ、ＰＷ、キー、ソフト情報を送信する。接続されたライセンス管理サーバ１０は、ステップＳ５０２で、キーＢＡＮＫ３０を参照して認証処理を行う。ライセンス管理サーバ１０は、ステップＳ５０３で、ＩＤ、ＰＷ、キーが同じであれば、ステップＳ５０５へ処理を進め、異なっていればパソコン１６に、その旨を送信し、パソコン１６は、ステップＳ５０４で、キーの返還が行えないことを示す返還不可表示を行い、処理を終了する。
【００７６】
次に、ライセンス管理サーバ１０は、ステップＳ５０５で、既にキーが返還されていないかどうかチェックする。このチェックは、前回の更新時間が西暦００００年００月００日００時００分と一致するかどうかのチェックである。一致した場合、既にキーを返還していることになり、キーの返還はできないため、パソコン１６に、その旨を送信し、パソコン１６は、ステップＳ５０４で、キーの返還が行えないことを示す返還不可表示を行い、処理を終了する。なお、返還不可表示を行った後、Ｓ５０７へ進んでも構わない。
【００７７】
既に返還されていない場合、ステップＳ５０６でライセンス管理サーバ１０は、キー返還処理を行う。このキー返還処理は、ライセンス管理データベース（図５参照）の該当する最新更新時間を西暦００００年００月００日００時００分にセットし、キーＢＡＮＫ３０に対して、パソコン１６がキーを返還したことの書き込みを行うとともに、認証の確認がされたことをパソコン１６に送信する。
【００７８】
パソコン１６は、ステップＳ５０７でファイル３２及びレジストリ３４に対し、キー情報の消去を行う。次に、パソコン１６は、ステップＳ５０８で、時間情報の消去をレジストリ３４に対して行う。そして、ステップＳ５０９で、パソコン１６は、ファイル３２とレジストリ３４に対し、プログラムフォルダ生成日時の消去を行う。次に、パソコン１６は、ステップＳ５１０で、ファイル３２とレジストリ３４に対し、ＰＣ固有情報の消去を行い、キー情報の返還処理を終了する。
【００７９】
このようにライセンスを返還することが可能なため、複数の人数が有するそれぞれのパソコンでライセンスを共有することができる。例えば、２人が１つのライセンスを共有する場合、１人がライセンスを使い終えてライセンスを返還すると、残りの１人は、その返還されたライセンスにより自分のパソコン上でソフトウェアを実行することが可能となる
また、１人の場合でも、出張などの際に、自分のデスクトップパソコンで使用しているライセンスを、一旦ライセンス管理サーバ１０に返還し、出張用のノートパソコンに先ほど返還したライセンスを新たに取得して用いることが可能となるなど、ライセンスを柔軟に使用することができる。
【００８０】
固有情報は上記に拘らず、パソコンを特定できる情報ならばなんでも良い。一定期間後に、パソコンよりライセンスを確認するに必要な最新更新時刻、一定期間もサーバで記録せず、パソコン側で保持ようにしても良い。指定期間もサーバ持たなくても良い。
【００８１】
また、上記実施の形態において、ファイルやレジストリに書き込みを行う処理は、安全性は少し落ちるが、ファイルまたはレジストリの２ヶ所への書き込みではなく、どちらか１ケ所でも構わない。
【００８２】
さらに、サーバでライセンス発行の管理を最新更新時刻のみで行う例としたが、ライセンス発行の管理用にライセンス管理フラグを別に持つことでライセンス管理確認を明確にしても良い。
【００８３】
【発明の効果】
以上説明したように、ハードウェアを用いたりＣＤに細工したりせずに不正な複製や利用を防ぐとともに、コンピュータの情報がネットワークに流出することのないライセンス管理方法、ライセンス管理システム、ライセンス管理プログラムが得られる。
【図面の簡単な説明】
【図１】本発明の実施の形態における全体構成図である。
【図２】コンピュータのハードウェア構成図である。
【図３】全体の処理の流れを示すフローチャートである。
【図４】ソフトウェア別更新間隔データベースを示す図である。
【図５】ライセンス管理データベースを示す図である。
【図６】キー取得処理と情報設定処理を示すフローチャートである。
【図７】ソフトウェア起動時の処理を示すフローチャートである。
【図８】ライセンス更新時の処理を示すフローチャートである。
【図９】ライセンス返還時の処理を示すフローチャートである。
【図１０】ソフトウェア起動時の処理を示すフローチャートである。
【図１１】ライセンス更新時の処理を示すフローチャートである。
【符号の説明】
１０…ライセンス管理サーバ
１２…ソフトベンダーサーバ
１４…インターネット
１６、１６ａ、１６ｂ、１６ｃ…パソコン
１８ａ、１８ｂ…記録媒体
２０…演算処理装置
２１…インターフェース装置
２２…入力装置
２３…表示装置
２４…ドライブ装置
２５…記録媒体
２６…補助記憶装置
２７…メモリ装置
３０…キーＢＡＮＫ
３２…ファイル
３４…レジストリ
３６…ＰＣ固有情報
３８…時間情報
４０…キー情報
【図１】
2004046756.tif 000003
【図２】
2004046756.tif 000004
【図３】
2004046756.tif 000005
【図４】
2004046756.tif 000006
【図５】
2004046756.tif 000007
【図６】
2004046756.tif 000008
【図７】
2004046756.tif 000009
【図８】
2004046756.tif 000010
【図９】
2004046756.tif 000011
【図１０】
2004046756.tif 000012
【図１１】
2004046756.tif 000013