(57)【特許請求の範囲】
【請求項１】
ボリュームシリアル番号と計時機能とを有するコンピュータ装置にインストールされるアプリケーションソフトウェアの起動制限プログラムを記録した記録媒体であって、前記記録媒体の起動制限プログラムは、前記記録媒体のコンピュータ装置へのインストールの回数をあらわすインストール回数を記憶しており、アプリケーションソフトウェアの使用者に予め割り当てられるユーザーコードと第１のコンピュータ装置にアプリケーションソフトウェアをインストールするインストール時刻とを基にして算出される第１種の識別番号であるインストールＩＤと、ボリュームシリアル番号とインストールＩＤとを基にして算出される第２種の識別番号であるプロテクトＩＤとを、コンピュータ装置へのインストール回数が初回目である場合に算出して前記記録媒体に記録保持するものであり、コンピュータ装置にアプリケーションソフトウェアをインストールする際に、インストールＩＤを算出し、前記インストール回数を読み出し、インストール回数が初回目ならば、第１のコンピュータ装置のボリュームシリアル番号を読み取り、プロテクトＩＤを算出し、インストールＩＤとプロテクトＩＤとをアプリケーションソフトウェアの記録媒体と第１のコンピュータ装置とに記録し、インストール回数が２回目以上ならば、コンピュータ装置が第１のコンピュータ装置と第１のコンピュータ装置以外の第２のコンピュータ装置とのどちらであっても、インストールＩＤを更新して新たなインストールＩＤとしてコンピュータ装置に記録し、コンピュータ装置のプロテクトＩＤを、記録媒体に記録済みのプロテクトＩＤの値に更新し、インストールを終了し、インストール後にアプリケーションソフトウェアの起動命令が与えられると、ボリュームシリアル番号とインストールＩＤとを基にして新たなプロテクトＩＤを算出し、コンピュータ装置に既に記録済みのプロテクトＩＤと新たなプロテクトＩＤとが一致すればアプリケーションソフトウェアを起動し、コンピュータ装置に既に記録済みのプロテクトＩＤと新たなプロテクトＩＤとが一致しない場合には、新たなプロテクトＩＤの構成要素であるボリュームシリアル番号と、コンピュータ装置に記録済みのプロテクトＩＤの構成要素であるボリュームシリアル番号とが一致するか否かの比較を行って、両者が一致すれば、同一のコンピュータ装置にアプリケーションソフトウェアを再度インストールしているものと判断してアプリケーションソフトウェアを起動し、前記両者が一致しなければ、アプリケーションソフトウェアを所定外のコンピュータ装置にインストールしているものと判断し、アプリケーションソフトウェアを起動しないことを特徴とする起動制限プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フロッピーディスクやＣＤ−ＲＯＭなどに代表されるような記録媒体に記録され、パーソナルコンピュータ等のコンピュータ装置にインストールされるソフトウェアの不正インストールの有無を検出する起動制限プログラムに関するものであり、しかも、ソフトウェアの復旧作業に条件付きで対応可能な機能を備えるような、起動制限プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
図９を用いて従来の起動制限プログラムを使用した記録媒体を説明する。図９は記録媒体からコンピュータ装置へのアプリケーションソフトウェアのインストールに関する説明図で、図９(a) は第１の従来例の説明図、図９(b) は第２の従来例の説明図である。
【０００３】
図９(a) に示す第１の従来例において、アプリケーションソフトウェアＳＷ１は、フロッピーディスクやＣＤ−ＲＯＭなどの記録媒体１０を介して、パーソナルコンピュータなどのコンピュータ装置２０へインストールされる。アプリケーションソフトウェアＳＷ１の使用許可をエンジニアリング会社から受けた者には、ユーザーコードＵＣが予め割り当てられる。記録媒体１０には、アプリケーションソフトウェアＳＷ１の他にも、ユーザーコードＵＣに対応した鍵暗号が、ユーザーコード識別用コードＩＤ01として記録されている。インストールを行う操作入力者は、記録媒体１０をコンピュータ装置２０へ読み込ませ、ユーザーコードＵＣをコンピュータ装置２０へ入力する。コンピュータ装置２０は、ユーザーコード識別用コードＩＤ01を基にしてユーザーコードＵＣの正否を確認することで、アプリケーションソフトウェアＳＷ１のインストールの可否を決定する。
【０００４】
図９(b) に示す第２の従来例において、アプリケーションソフトウェアＳＷ１は、フロッピーディスクやＣＤ−ＲＯＭなどの記録媒体１０を介して、パーソナルコンピュータなどのコンピュータ装置２０へインストールされる。記録媒体１０には、アプリケーションソフトウェアＳＷ１の他にも、インストール制限プログラムＳＷ２が記録されている。インストール制限プログラムＳＷ２は、予め、エンジニアリング会社によって、コンピュータ装置２０のハードディスクに固有のボリュームシリアル番号ＢＳ01を記憶していて該ボリュームシリアル番号を判別可能に作製されており、読み取ったボリュームシリアル番号がボリュームシリアル番号ＢＳ01の値と一致する場合に限って、アプリケーションソフトウェアＳＷ１を基本的に１回に限ってコンピュータ装置２０にインストールする。つまり、操作者がコンピュータ装置２０とは異なる例えばコンピュータ装置２１のハードディスクに記録媒体１０を挿入してアプリケーションソフトウェアＳＷ１をインストールしようとしても、インストール制限プログラムＳＷ２は、コンピュータ装置２１のハードディスクから読み取るボリュームシリアル番号がボリュームシリアル番号ＢＳ01とは異なるボリュームシリアル番号ＢＳ02であるため、コンピュータ装置２１へのアプリケーションソフトウェアＳＷ１のインストールを行わない。このように、第２の従来例においては、インストール制限プログラムＳＷ２は、予め決められたコンピュータ装置２０にしか、アプリケーションソフトウェアＳＷ１のインストールを行わない。
【０００５】
上記第１の従来例または第２の従来例においては、インストール制限プログラムＳＷ２は、インストール回数を制限する機能が付加されたものもある。この場合、インストール制限プログラムＳＷ２は、アプリケーションソフトウェアＳＷ１のインストールを１回に限らず、所定の回数まではインストールできるようにしたものである。インストール制限プログラムＳＷ２は、第１の従来例に示したようなユーザーコードＵＣの正否の確認をする機能と、インストール回数を制限する機能とを併せた機能を有するように作製されたり、また、第２の従来例に示したようなボリュームシリアル番号ＢＳ01の正否を確認をする機能と、インストール回数を制限する機能とを併せた機能を有するように作製されたりする。
【０００６】
また、上述した各従来例において、図示はしないが、インストール制限プログラムＳＷ２は、記録媒体１０の複製防止機能を付加されたものもある。この場合、インストール制限プログラムＳＷ２は、正規の記録媒体１０のシリアル番号など記録媒体１０に固有の番号ＳＮ01を記憶している。記録媒体１０を複製して得られる記録媒体１１は、やはり固有の番号ＳＮ02を有しており、記録媒体１１のインストール制限プログラムＳＷ２02は、固有の番号ＳＮ02が固有の番号ＳＮ01と一致しない限りは、記録媒体１１のアプリケーションソフトウェアＳＷ１を、コンピュータ装置２０などにインストールしない。このようにインストール制限プログラムＳＷ２は、固有の番号ＳＮ01、ＳＮ02の比較を行って、記録媒体１１が複製されてできたものであることを知り、不正なインストールを防止するのである。
【０００７】
【発明が解決しようとする課題】
しかしながら、上述のような従来の起動制限プログラムを記録した記録媒体においては、第１の従来例では、ユーザーコードＵＣを照合するだけであるので、複数のコンピュータ装置２０へのインストールが可能になってしまい、複数のコンピュータ装置２０で同一のアプリケーションソフトウェアＳＷ１が起動できるようになってしまい、不正インストール防止の目的が果たせないおそれがあった。また、第２の従来例では、アプリケーションソフトウェアＳＷ１は、インストール可能な回数が、インストール制限プログラムＳＷ２に因って１回や２回など所定回数に限られているため、コンピュータ装置２０が破損したり動作不良になる等のトラブルが発生し、アプリケーションソフトウェアＳＷ１をそれまでインストールしていたコンピュータ装置２０に、同じアプリケーションソフトウェアＳＷ１を、再度インストールしなければならなくなると、インストール制限プログラムＳＷ２のプロテクト機能が邪魔になって、復旧のための再インストール作業に対応できないという問題点があった。
【０００８】
本発明は上記の問題点を解決するためになされたもので、その目的とするところは、不正インストールされたアプリケーションソフトウェアの起動を防止し、アプリケーションソフトウェアの正当なインストール先であるコンピュータ装置への再度のインストールにも対応可能な起動制限プログラムを記録した記録媒体を提供することにある。
【０００９】
【課題を解決するための手段】
請求項１記載の発明にあっては、ボリュームシリアル番号と計時機能とを有するコンピュータ装置にインストールされるアプリケーションソフトウェアの起動制限プログラムを記録した記録媒体であって、記録媒体の起動制限プログラムは、記録媒体のコンピュータ装置へのインストールの回数をあらわすインストール回数を記憶しており、アプリケーションソフトウェアの使用者に予め割り当てられるユーザーコードと第１のコンピュータ装置にアプリケーションソフトウェアをインストールするインストール時刻とを基にして算出される第１種の識別番号であるインストールＩＤと、ボリュームシリアル番号とインストールＩＤとを基にして算出される第２種の識別番号であるプロテクトＩＤとを、コンピュータ装置へのインストール回数が初回目である場合に算出して記録媒体に記録保持するものであり、コンピュータ装置にアプリケーションソフトウェアをインストールする際に、インストールＩＤを算出し、インストール回数を読み出し、インストール回数が初回目ならば、第１のコンピュータ装置のボリュームシリアル番号を読み取り、プロテクトＩＤを算出し、インストールＩＤとプロテクトＩＤとをアプリケーションソフトウェアの記録媒体と第１のコンピュータ装置とに記録し、インストール回数が２回目以上ならば、コンピュータ装置が第１のコンピュータ装置と第１のコンピュータ装置以外の第２のコンピュータ装置とのどちらであっても、インストールＩＤを更新して新たなインストールＩＤとしてコンピュータ装置に記録し、コンピュータ装置のプロテクトＩＤを、記録媒体に記録済みのプロテクトＩＤの値に更新し、インストールを終了し、インストール後にアプリケーションソフトウェアの起動命令が与えられると、ボリュームシリアル番号とインストールＩＤとを基にして新たなプロテクトＩＤを算出し、コンピュータ装置に既に記録済みのプロテクトＩＤと新たなプロテクトＩＤとが一致すればアプリケーションソフトウェアを起動し、コンピュータ装置に既に記録済みのプロテクトＩＤと新たなプロテクトＩＤとが一致しない場合には、新たなプロテクトＩＤの構成要素であるボリュームシリアル番号と、コンピュータ装置に記録済みのプロテクトＩＤの構成要素であるボリュームシリアル番号とが一致するか否かの比較を行って、両者が一致すれば、同一のコンピュータ装置にアプリケーションソフトウェアを再度インストールしているものと判断してアプリケーションソフトウェアを起動し、両者が一致しなければ、アプリケーションソフトウェアを所定外のコンピュータ装置にインストールしているものと判断し、アプリケーションソフトウェアを起動しないことを特徴とする。
【００１０】
【発明の実施の形態】
以下、本発明に係る起動制限プログラムと、該起動制限プログラムを記録した記録媒体および起動制限プログラムをインストールされたコンピュータ装置の一実施の形態を図１乃至図８に基づいて詳細に説明する。
【００１１】
図１はインストールＩＤとプロテクトＩＤとを生成する作業の説明図で、(a) は記録媒体のフロッピーディスクとコンピュータ装置のハードディスクとの間でのインストール時における各データのやりとりを図示する説明図、(b) はユーザーコードとインストール時刻とからインストールＩＤを生成しインストールＩＤとボリュームシリアル番号とからプロテクトＩＤを生成することをあらわす説明図である。図２は記録媒体を説明するブロック図で、(a) は主にインストール時に動作する機能モジュールが記憶されたフロッピーディスク、(b) は主にインストール後の起動時に動作する機能モジュールが記憶されたＣＤ−ＲＯＭをあらわす。図３はフロッピーディスクに記憶されたインストール用プログラムの動作をあらわすフローチャートである。図４はインストールＩＤとプロテクトＩＤとを生成する考え方を一覧例示した説明図で、記録媒体のフロッピーディスクにとって最初のインストールである場合を前提にした説明図である。図５は図４と同様にインストールＩＤとプロテクトＩＤとを生成する考え方を一覧例示した説明図で、記録媒体のフロッピーディスクにとって２回目以降のインストールである場合を前提にした説明図である。図６乃至図８はＣＤ−ＲＯＭからコンピュータ装置のハードディスクにインストールされたアプリケーションソフトウェアの起動時の動作をあらわすフローチャートである。
【００１２】
パーソナルコンピュータなどのコンピュータ装置２０は、図１(a) に示すように、固有の識別番号であるボリュームシリアル番号ＢＳを記録するためのメモリＭBSと、時刻を計るための計時機能を備えたタイマＴとを有する。
【００１３】
記録媒体１０は、図２に示すように、フロッピーディスクであるインストール媒体１と、ＣＤ−ＲＯＭであるインストール媒体２からなる。
【００１４】
インストール媒体１は、図２(a) に示すように、インストール機能モジュールＭＤ１と、インストール回数カウント機能モジュールＭＤ２と、インストールＩＤ算出機能モジュールＭＤ３と、ボリュームシリアル番号読み取り機能モジュールＭＤ４と、プロテクトＩＤ算出機能モジュールＭＤ５と、ＩＤ記録機能モジュールＭＤ６とを備えて構成されるインストーラソフトウェアが記録されている。
【００１５】
インストール機能モジュールＭＤ１は、コンピュータ装置２０にアプリケーションソフトウェアＳＷ１をインストールするインストール機能モジュールである。インストール機能モジュールＭＤ１は、シリアル番号など、インストール媒体１に固有の番号ＳＮ01を記憶しており、コンピュータ装置２０にアプリケーションソフトウェアＳＷ１をインストールする場合に、インストール媒体１の固有の番号ＳＮ02を読み出す。インストール機能モジュールＭＤ１は、固有の番号ＳＮ01と固有の番号ＳＮ02とが一致するか判定し、固有の番号ＳＮ01と固有の番号ＳＮ02とが一致すれば、インストールを開始し、固有の番号ＳＮ01と固有の番号ＳＮ02とが一致しなければ、固有の番号ＳＮ02を有するインストール媒体１はマスターディスクではなく、複製された不正なものであるとみなして、従来例に示したように、固有の番号ＳＮ02を有するインストール媒体１からのインストールは実行しない。
【００１６】
インストール回数カウント機能モジュールＭＤ２は、コンピュータ装置２０にアプリケーションソフトウェアＳＷ１をインストールする回数をカウントする。インストールＩＤ算出機能モジュールＭＤ３は、アプリケーションソフトウェアＳＷ１の使用者に予め割り当てられるユーザーコードＵＣとコンピュータ装置２０にアプリケーションソフトウェアＳＷ１をインストールするインストール時刻とを基にして第１種の識別番号であるインストールＩＤを算出する。
【００１７】
ボリュームシリアル番号読み取り機能モジュールＭＤ４は、コンピュータ装置２０からボリュームシリアル番号ＢＳを読み取る。プロテクトＩＤ算出機能モジュールＭＤ５は、ボリュームシリアル番号読み取り機能モジュールＭＤ４で読み取るボリュームシリアル番号ＢＳとインストールＩＤ算出機能モジュールＭＤ３で算出するインストールＩＤとを基にして第２種の識別番号であるプロテクトＩＤを算出する。
【００１８】
ＩＤ記録機能モジュールＭＤ６は、インストール回数カウント機能モジュールＭＤ２でカウントされるインストールの回数が初回目ならば、インストールＩＤとプロテクトＩＤとを記録媒体１０とコンピュータ装置２０とに記録し、インストール回数カウント機能モジュールＭＤ２でカウントされるインストールの回数が２回目以上ならば、インストールＩＤを更新して新たなインストールＩＤとしてコンピュータ装置２０に記録し、コンピュータ装置２０に記録済みのプロテクトＩＤを、記録媒体１０に記録済みのプロテクトＩＤの値に更新する。
【００１９】
インストール媒体２は、インストール対象のアプリケーションソフトウェアＳＷ１を記録されている。アプリケーションソフトウェアＳＷ１は、コンピュータ装置２０にインストールされた後にキーボードなどの外部から起動命令が与えられると起動可否を決める起動管理機能モジュールＭＤ７を有する。
【００２０】
起動管理機能モジュールＭＤ７は、起動管理用ボリュームシリアル番号読み取り機能モジュールＭＤ８と、起動管理用プロテクトＩＤ算出機能モジュールＭＤ９と、プロテクトＩＤ比較機能モジュールＭＤ１０と、正規インストールＩＤ催促機能モジュールＭＤ１１と、アプリケーション起動機能モジュールＭＤ１２とを備えて構成される。
【００２１】
起動管理用ボリュームシリアル番号読み取り機能モジュールＭＤ８は、コンピュータ装置２０からボリュームシリアル番号ＢＳを読み取る。起動管理用プロテクトＩＤ算出機能モジュールＭＤ９は、起動管理用ボリュームシリアル番号読み取り機能モジュールＭＤ８で読み取るボリュームシリアル番号ＢＳと、コンピュータ装置２０から読み取るインストールＩＤとを基にして新たなプロテクトＩＤを算出する。プロテクトＩＤ比較機能モジュールＭＤ１０は、新たなプロテクトＩＤが初回インストールの際のプロテクトＩＤと一致するか否かの比較を行う。正規インストールＩＤ催促機能モジュールＭＤ１１は、コンピュータ装置２０に記録済みの最新インストールＩＤを構成するユーザーコードＵＣとインストール時刻とを入力するように操作者に促すための画面表示を行う。
【００２２】
アプリケーション起動機能モジュールＭＤ１２は、プロテクトＩＤ比較機能モジュールＭＤ１０の比較結果に応じて、新たなプロテクトＩＤが初回インストールの際のプロテクトＩＤと一致する場合には、アプリケーションソフトウェアＳＷ１を起動し、新たなプロテクトＩＤが初回インストールの際のプロテクトＩＤと一致しない場合には、新たなプロテクトＩＤの構成要素であるボリュームシリアル番号ＢＳと、コンピュータ装置２０に記録済みのプロテクトＩＤの構成要素であるボリュームシリアル番号ＢＳとが一致するか否かの比較を行って、両者が一致すれば、同一のコンピュータ装置２０にアプリケーションソフトウェアＳＷ１を再度インストールしているものと判断し、インストールＩＤから読み取る最新のインストール時刻から起動命令が与えられた時刻までの時間が所定時間以内ならば、正規インストールＩＤ催促機能モジュールＭＤ１１に画面表示を行わせ、操作者から入力されるユーザーコードＵＣがコンピュータ装置２０に記録済みの最新インストールＩＤを構成するユーザーコードＵＣと一致して操作者から入力されるインストール時刻がコンピュータ装置２０に記録済みの最新インストールＩＤを構成するインストール時刻と一致すれば、アプリケーションソフトウェアＳＷ１を起動し、インストールＩＤから読み取る最新のインストール時刻から起動命令が与えられた時刻までの時間が所定時間を過ぎていれば、アプリケーションソフトウェアＳＷ１を起動せず、両者が一致しなければ、同一のアプリケーションソフトウェアＳＷ１を複数のコンピュータ装置２０にインストールしているものと判断し、アプリケーションソフトウェアＳＷ１を起動しない。
【００２３】
以上、ＭＤ１乃至ＭＤ１２の各機能モジュールを総合して、起動制限プログラムＳＷ３と称することにし、記録媒体１０は、起動制限プログラムＳＷ３を記録しており、起動制限プログラムＳＷ３は、コンピュータ装置２０にアプリケーションソフトウェアＳＷ１をインストールする際にコンピュータ装置２０が正当なインストールの対象であるか否かを選別する機能を有する。
【００２４】
以下に、主に図３乃至図８を用いて、起動制限プログラムＳＷ３の動作を説明する。インストール媒体１には、インストールＩＤの初期値と、プロテクトＩＤの初期値と、インストール回数カウント機能モジュールＭＤ２のインストール回数の初期値とが、全てゼロに設定されている。
【００２５】
まず、コンピュータ装置２０の操作者は、インストール媒体１と、インストール媒体２とを、コンピュータ装置２０のドライブ装置に挿入し、コンピュータ装置２０に読み取らせる。このとき、インストール機能モジュールＭＤ１は、予め記憶している固有の番号ＳＮ01と、現状のインストール媒体１の固有の番号ＳＮ02とが一致するか判定し、固有の番号ＳＮ01と固有の番号ＳＮ02とが一致すれば、インストールを開始し、固有の番号ＳＮ01と固有の番号ＳＮ02とが一致しなければ、固有の番号ＳＮ02を有するインストール媒体１はマスターディスクではなく、複製された不正なものであるとみなして、従来例に示したように、固有の番号ＳＮ02を有するインストール媒体１からのインストールは実行しない。本実施例では、固有の番号ＳＮ01ならびに固有の番号ＳＮ02として、ユーザーコードＵＣを採用するものとする（図３のステップ１００）。
【００２６】
インストールＩＤ算出機能モジュールＭＤ３は、ユーザーコードＵＣとコンピュータ装置２０の計時機能により計測されたインストール時刻とを基にして（図３のステップ１１０）文字列や数字列を所定の規則に従って別の文字列や数字列に変換するための変換表を用いて変換し、１つの、文字もしくは数字の組み合わせ列に変換する。この１つの、文字もしくは数字の組み合わせ列が、インストールＩＤである。このように、インストールＩＤ算出機能モジュールＭＤ３は、変換表を用いて、インストールＩＤを算出する（図３のステップ１２０）。インストール回数カウント機能モジュールＭＤ２は、インストール回数をインクリメントして記録保持する（図３のステップ１３０）。
【００２７】
ＩＤ記録機能モジュールＭＤ６は、インストール回数カウント機能モジュールＭＤ２でカウントされるインストール回数を読み取り（図３のステップ１４０）、インストール回数が初回目ならば、ボリュームシリアル番号読み取り機能モジュールＭＤ４にコンピュータ装置２０のボリュームシリアル番号ＢＳを読み取らせ（図３のステップ１５０）、プロテクトＩＤ算出機能モジュールＭＤ５に、ボリュームシリアル番号ＢＳと上記ステップ１２０で算出されたインストールＩＤとを基にして、プロテクトＩＤを算出させる（図３のステップ１６０）。ステップ１６０にて、プロテクトＩＤ算出機能モジュールＭＤ５は、インストールＩＤとボリュームシリアル番号ＢＳの文字列または数字列を、例えばＲＳＡ暗号化手法により、全く別の文字もしくは数字の列に変換する。
【００２８】
ＩＤ記録機能モジュールＭＤ６は、インストールＩＤとプロテクトＩＤとをインストール媒体１とコンピュータ装置２０のハードディスクとに記録する（図３のステップ１７０乃至２００）。インストール機能モジュールＭＤ１は、インストール媒体２に、コンピュータ装置２０へのアプリケーションソフトウェアＳＷ１のインストールを行わせる（図３のステップ２１０）。このようにして、ステップ１４０でのインストール回数が初回目の場合のインストールが終了する。
【００２９】
上記ステップ１４０でのインストール回数が２回目以上の場合には、ＩＤ記録機能モジュールＭＤ６は、コンピュータ装置２０のハードディスクに記録済みのインストールＩＤを、上記ステップ１２０で算出されたインストールＩＤの値に書き換える。つまり、ＩＤ記録機能モジュールＭＤ６は、コンピュータ装置２０のハードディスクに上記ステップ１９０にて記録済みのインストールＩＤを、新たなインストールＩＤとして更新する（図３のステップ２２０）。ＩＤ記録機能モジュールＭＤ６は、さらに、コンピュータ装置２０に上記ステップ２００にて記録済みのプロテクトＩＤを、インストール媒体１に上記ステップ１８０にて記録済みのプロテクトＩＤの値に更新する（図３のステップ２３０）。インストール機能モジュールＭＤ１は、インストール媒体２に、コンピュータ装置２０へのアプリケーションソフトウェアＳＷ１のインストールを行わせる。このようにして、ステップ１４０でのインストール回数が２回目以上の場合のインストールが終了する。
【００３０】
上記図２の説明中に生成したインストールＩＤとプロテクトＩＤの関係は、図１(b) のようにあらわされる。インストールＩＤは、ユーザーコードＵＣとインストール時刻とを基にして、生成される。このとき、インストール時刻は、年月日のみならず時分まであらわしており、このようなインストール時刻を、インストールＩＤ算出機能モジュールＭＤ３は、例えば予め用意された変換コード表により、全く別の文字もしくは数字の列に変換する。インストールＩＤ算出機能モジュールＭＤ３は、ユーザーコードＵＣについても、インストール時刻と同様に、予め用意された変換コード表により、全く別の文字もしくは数字の列に変換する。
【００３１】
さらに、プロテクトＩＤは、インストールＩＤとボリュームシリアル番号ＢＳとを基にして、生成される。このとき、プロテクトＩＤ算出機能モジュールＭＤ５は、インストールＩＤとボリュームシリアル番号ＢＳの文字列または数字列を、例えばＲＳＡ暗号化手法により、全く別の文字もしくは数字の列に変換する。
【００３２】
図４と図５には、インストールＩＤとプロテクトＩＤとを生成し、アプリケーションソフトウェアの記録媒体とコンピュータ装置とに記録する考え方を示す。図４と図５に示すように、記録媒体（インストール媒体１）は、コンピュータ装置へのインストール回数が初回目である場合のインストールＩＤとプロテクトＩＤの２つの値を記録保持するものである。すなわち、記録媒体（インストール媒体１）は、図３のステップ１７０で記録するインストールＩＤと図３のステップ１８０で記録するプロテクトＩＤとを、更新せず記憶しているのである。記録媒体（インストール媒体１）は、図３のステップ２２０、２３０においても、自分に記憶済みのインストールＩＤとプロテクトＩＤとを更新することはなく、算出したインストールＩＤとプロテクトＩＤとをコンピュータ装置２０のハードディスクのみに記録するのである。
【００３３】
また、図３乃至図５に示したように、記録媒体（インストール媒体１）は、インストールの際には、ボリュームシリアル番号ＢＳを区別することがなく、ユーザーコードＵＣさえ正しければ、コンピュータ装置２０に限らず他のコンピュータ装置へとりあえずインストールだけは行う。
【００３４】
このようにインストールされた後、アプリケーションソフトウェアＳＷ１は、コンピュータ装置２０のキーボードなどの外部から起動命令が与えられると、起動管理機能モジュールＭＤ７によって図６乃至図８に説明するようにして起動可否を決める。
【００３５】
起動管理機能モジュールＭＤ７は、コンピュータ装置２０のＯＳ（オペレーティングシステム）から起動指令を受けると（図６のステップ３００）、モジュール単独で起動する（図６のステップ３１０）。このとき、アプリケーションソフトウェアＳＷ１のアプリケーション本体は、未だ起動しない。
【００３６】
起動管理用プロテクトＩＤ算出機能モジュールＭＤ９は、コンピュータ装置２０からインストールＩＤを読み取る（図６のステップ３２０）。
【００３７】
起動管理用ボリュームシリアル番号読み取り機能モジュールＭＤ８は、コンピュータ装置２０からボリュームシリアル番号ＢＳを読み取る（図６のステップ３３０）。ステップ３３０で得られるボリュームシリアル番号ＢＳを、ボリュームシリアル番号ＢＳ１とあらわすことにする。
【００３８】
起動管理用プロテクトＩＤ算出機能モジュールＭＤ９は、上記ステップ３３０で得られるボリュームシリアル番号ＢＳ１と、上記ステップ３２０で得られるインストールＩＤとを基にして、新たなプロテクトＩＤを算出する（図６のステップ３４０）。ステップ３４０で得られる新たなプロテクトＩＤを、プロテクトＩＤ１とあらわすことにする。
【００３９】
プロテクトＩＤ比較機能モジュールＭＤ１０は、コンピュータ装置２０のハードディスクに記録済みのプロテクトＩＤ２を読み取り（図６のステップ３５０）、プロテクトＩＤ１とプロテクトＩＤ２とが一致するか否かの比較を行う（図６のステップ３６０）。
【００４０】
上記ステップ３６０にて、プロテクトＩＤ１とプロテクトＩＤ２とが一致すれば、アプリケーション起動機能モジュールＭＤ１２は、アプリケーションソフトウェアＳＷ１のアプリケーション本体を起動する（図６のステップ３７０）。アプリケーションソフトウェアＳＷ１のアプリケーション本体が無条件に起動できるのは、このステップ３７０の場合だけである。すなわち、本発明では、１つのユーザーコードＵＣに対して１つのコンピュータ装置２０にしかも基本的に１回限りのインストールのみを行えることを狙いとし、さらに、１つのユーザーコードＵＣに対して１つのコンピュータ装置２０に既にインストールされた実績があるアプリケーションソフトウェアＳＷ１ならば、復旧必要時には、回数上限付きで（しかも後述するように期限付きで）再インストールに対処できるようにしているのである。
【００４１】
上記ステップ３６０にて、プロテクトＩＤ１とプロテクトＩＤ２とが一致しなければ、アプリケーション起動機能モジュールＭＤ１２は、ボリュームシリアル番号ＢＳ２を暗号解読して求める（図６のステップ３８０）。アプリケーション起動機能モジュールＭＤ１２は、プロテクトＩＤ１の構成要素であるボリュームシリアル番号ＢＳ１と、コンピュータ装置２０に記録済みのプロテクトＩＤ２の構成要素であるボリュームシリアル番号ＢＳ２とが一致するか否かの比較を行う（図７のステップ３９０）。ステップ３９０にて、ボリュームシリアル番号ＢＳ１とボリュームシリアル番号ＢＳ２との両者が一致しなければ、アプリケーション起動機能モジュールＭＤ１２は、同一のアプリケーションソフトウェアＳＷ１を複数のコンピュータ装置２０にインストールしているものと判断し、アプリケーションソフトウェアＳＷ１を起動せずに動作を終了する（図７のステップ４００）。
【００４２】
上記ステップ３９０にて、ボリュームシリアル番号ＢＳ１とボリュームシリアル番号ＢＳ２との両者が一致すれば、アプリケーション起動機能モジュールＭＤ１２は、同一のコンピュータ装置２０にアプリケーションソフトウェアＳＷ１を再度インストールしているものと判断し、プロテクトＩＤ１を構成するインストールＩＤ１から最新のインストール時刻Ｒを読み取る（図７のステップ４１０）。さらに、アプリケーション起動機能モジュールＭＤ１２は、上記ステップ３１０の起動命令が与えられた起動時刻Ｎを、コンピュータ装置２０のヒストリーファイルから読み取り（図７のステップ４２０）、最新のインストール時刻Ｒから起動時刻Ｎまでの時間を計算する（図７のステップ４３０）。
【００４３】
最新のインストール時刻Ｒから起動時刻Ｎまでの時間が、エンジニアリング会社によるメンテナンスが終了するまでにかかる例えば２週間などに設定された所定時間Ｄ以内ならば、アプリケーション起動機能モジュールＭＤ１２は、期限付きでアプリケーションソフトウェアＳＷ１のアプリケーション本体を起動させる（図７のステップ４４０）。
【００４４】
上記ステップ４４０でアプリケーションソフトウェアＳＷ１のアプリケーション本体を起動させた後、アプリケーション起動機能モジュールＭＤ１２は、正規インストールＩＤ催促機能モジュールＭＤ１１に、コンピュータ装置２０に記録済みのインストールＩＤ２を構成するユーザーコードＵＣ２と、最新のインストール時刻Ｒとを入力するように、操作者に促すための、画面の表示を行わせる（図７のステップ４５０）。すなわち、上記ステップ３６０におけるプロテクトＩＤ１とプロテクトＩＤ２との不一致の原因は、上記ステップ３９０によって、２つのインストールＩＤの不一致に因って生じたものであることがわかっている。したがって、考え方としては、コンピュータ装置２０に記録済みのインストールＩＤ２を、エンジニアリング会社から提供される正規の値に変更してやればよいことになる。ここでインストールＩＤ２を正規のインストールＩＤとして採用することにする。こうすれば、アプリケーション起動機能モジュールＭＤ１２は、当初不正規な値として記録されていたインストールＩＤ２を、正規のインストールＩＤとして採用することができる。ただし、ユーザーコードＵＣとインストール時刻Ｒとを基にしてインストールＩＤを算出するための変換演算方法は、該変換演算方法の機密保持のため、ユーザー側には当然知らされておらず、エンジニアリング会社側で機密管理している。このため、ユーザーは、コンピュータ装置２０から表示通知にて知らされるユーザーコードＵＣとインストール時刻とを、エンジニアリング会社に連絡する。エンジニアリング会社では、ユーザー側から知らされたユーザーコードＵＣとインストール時刻とを基にして、インストールＩＤ３を算出し、インストールＩＤ３をユーザー側へ連絡通知する（図７のステップ４６０）。
【００４５】
アプリケーション起動機能モジュールＭＤ１２は、インストールＩＤ３をユーザーから入力されると（図７のステップ４７０）、インストールＩＤ３がインストールＩＤ２と一致するか否かの比較を行い（図７のステップ４８０）、もし一致しなければ上記ステップ４２０の直前に動作段階を戻す。上記ステップ４８０にて、インストールＩＤ３がインストールＩＤ２と一致すれば、アプリケーション起動機能モジュールＭＤ１２は、プロテクトＩＤ２を、正規のプロテクトＩＤとしてプロテクトＩＤ１に上書きし（図８のステップ４９０）、上記ステップ３７０と同様、アプリケーションソフトウェアＳＷ１のアプリケーション本体を起動する（図８のステップ５００）。
【００４６】
なお、上記ステップ４３０にて最新のインストール時刻Ｒから起動時刻Ｎまでの時間が所定時間Ｄを既に超えてしまっているならば、アプリケーション起動機能モジュールＭＤ１２は、上記ステップ４００と同様、アプリケーションソフトウェアＳＷ１を起動せずに動作を終了する（図８のステップ５１０）。
【００４７】
上記ステップ４１０からステップ５１０までの処理ステップには、同一のアプリケーションソフトウェアＳＷ１を同一のコンピュータ装置２０に２回以上インストールしたことを、ステップ４６０を経ることに因って、ユーザーからエンジニアリング会社へ通知させるようにする狙いがある。このようにわざわざステップ４６０を経ることに因って、ユーザーはどうしてもエンジニアリング会社への通知を行わなければならないようになり、エンジニアリング会社では、通知を受けると、同一のアプリケーションソフトウェアＳＷ１を同一のコンピュータ装置２０に２回以上インストールしたことを、知ることができ、該発生事項を今後のトラブル対応の為の参考として役立てることもできる。
【００４８】
従って、起動制限プログラムＳＷ３は、コンピュータ装置２０に、ユーザーコードＵＣとインストール時刻とからインストールＩＤを生成させ、さらにインストールＩＤとボリュームシリアル番号ＢＳとからプロテクトＩＤを生成させ、インストールＩＤとプロテクトＩＤとを基にして不正インストールを判別させる動作を行うものであるため、１つのアプリケーションソフトウェアＳＷ１を複数のコンピュータ装置２０へインストールしても、上記ステップ３９０の２つのボリュームシリアル番号ＢＳの判別段階を経て、不正インストールされたアプリケーションソフトウェアＳＷ１の起動を阻止でき、さらに、インストールＩＤ１、ＩＤ２の値が異なる場合にも対処してアプリケーションソフトウェアＳＷ１の起動可否を判定できるので、不正インストール防止機能をもちつつ、同一コンピュータ装置２０への同一アプリケーションソフトウェアＳＷ１の再インストールにも、所定時間Ｄ内という期限付きながら対応できる。すなわち、本発明においては、１つのユーザーコードＵＣに対して１つのコンピュータ装置２０にしかも基本的に１回限りのインストールのみを行えることを狙いとし、さらに、１つのユーザーコードＵＣに対して１つのコンピュータ装置２０に既にインストールされた実績があるアプリケーションソフトウェアＳＷ１ならば、復旧必要時には、回数上限付きで再インストールに対処できるようにしているのである。
【００４９】
また、このような起動制限プログラムＳＷ３を記録したフロッピーディスクであるインストール媒体１や、ＣＤ−ＲＯＭであるインストール媒体２などの記録媒体１０を提供できる。
【００５０】
なお、上記実施の形態においては、ステップ４１０からステップ５１０までの処理ステップを採用して、同一のアプリケーションソフトウェアＳＷ１を同一のコンピュータ装置２０に２回以上インストールしたことを、エンジニアリング会社へ通知できるようにしたものを例示したが、本発明はこれに限らず、ステップ４１０からステップ４９０までの処理ステップをなくして、ステップ３９０でイコール判定が出たら、アプリケーションソフトウェアＳＷ１を起動させるようにしても当然構わない。
また、上記実施の形態においては、記録媒体１０を、インストール媒体１、２というように複数に分けて例示したが、本発明はこれに限らず、記録媒体は、ＣＤ−ＲＯＭであるインストール媒体のみか、フロッピーディスクであるインストール媒体のみであってもよく、インストール媒体の記録方式は、電気的、磁気的、光磁気的の各方式に限らず、コンピュータ装置を動作できるデータ記録方式ならば、どのような記録方式であってもよい。
【００５１】
【発明の効果】
請求項１記載の発明にあっては、ボリュームシリアル番号と計時機能とを有するコンピュータ装置にインストールされるアプリケーションソフトウェアの起動制限プログラムを記録した記録媒体であって、記録媒体の起動制限プログラムは、記録媒体のコンピュータ装置へのインストールの回数をあらわすインストール回数を記憶しており、アプリケーションソフトウェアの使用者に予め割り当てられるユーザーコードと第１のコンピュータ装置にアプリケーションソフトウェアをインストールするインストール時刻とを基にして算出される第１種の識別番号であるインストールＩＤと、ボリュームシリアル番号とインストールＩＤとを基にして算出される第２種の識別番号であるプロテクトＩＤとを、コンピュータ装置へのインストール回数が初回目である場合に算出して記録媒体に記録保持するものであり、コンピュータ装置にアプリケーションソフトウェアをインストールする際に、インストールＩＤを算出し、インストール回数を読み出し、インストール回数が初回目ならば、第１のコンピュータ装置のボリュームシリアル番号を読み取り、プロテクトＩＤを算出し、インストールＩＤとプロテクトＩＤとをアプリケーションソフトウェアの記録媒体と第１のコンピュータ装置とに記録し、インストール回数が２回目以上ならば、コンピュータ装置が第１のコンピュータ装置と第１のコンピュータ装置以外の第２のコンピュータ装置とのどちらであっても、インストールＩＤを更新して新たなインストールＩＤとしてコンピュータ装置に記録し、コンピュータ装置のプロテクトＩＤを、記録媒体に記録済みのプロテクトＩＤの値に更新し、インストールを終了し、インストール後にアプリケーションソフトウェアの起動命令が与えられると、ボリュームシリアル番号とインストールＩＤとを基にして新たなプロテクトＩＤを算出し、コンピュータ装置に既に記録済みのプロテクトＩＤと新たなプロテクトＩＤとが一致すればアプリケーションソフトウェアを起動し、コンピュータ装置に既に記録済みのプロテクトＩＤと新たなプロテクトＩＤとが一致しない場合には、新たなプロテクトＩＤの構成要素であるボリュームシリアル番号と、コンピュータ装置に記録済みのプロテクトＩＤの構成要素であるボリュームシリアル番号とが一致するか否かの比較を行って、両者が一致すれば、同一のコンピュータ装置にアプリケーションソフトウェアを再度インストールしているものと判断してアプリケーションソフトウェアを起動し、両者が一致しなければ、アプリケーションソフトウェアを所定外のコンピュータ装置にインストールしているものと判断し、アプリケーションソフトウェアを起動しないようにしたため、１つのアプリケーションソフトウェアを複数のコンピュータ装置へインストールしても、新旧のボリュームシリアル番号を判別すれば、不正インストールされたアプリケーションソフトウェアの起動を阻止でき、さらに、新旧のインストールＩＤの値が異なる場合にも対処してアプリケーションソフトウェアの起動可否を判定できるので、同一コンピュータ装置への同一アプリケーションソフトウェアの再インストールを許可することも可能となる。
【図面の簡単な説明】
【図１】本発明に係る一実施の形態の起動制限プログラムに関してインストールＩＤとプロテクトＩＤとを生成する作業の説明図である。
【図２】同上の記録媒体を説明するブロック図である。
【図３】同上のインストール媒体（フロッピーディスク）に記憶されたインストール用プログラムの動作をあらわすフローチャートである。
【図４】同上のインストールＩＤとプロテクトＩＤとを生成する考え方を一覧例示した説明図で、記録媒体のフロッピーディスクにとって最初のインストールである場合を前提にした説明図である。
【図５】同上のインストールＩＤとプロテクトＩＤとを生成する考え方を一覧例示した説明図で、記録媒体のフロッピーディスクにとって２回目以降のインストールである場合を前提にした説明図である。
【図６】同上のコンピュータ装置にインストールされたアプリケーションソフトウェアの起動時の動作をあらわすフローチャートである。
【図７】同上のコンピュータ装置にインストールされたアプリケーションソフトウェアの起動時の動作をあらわすフローチャートである。
【図８】同上のコンピュータ装置にインストールされたアプリケーションソフトウェアの起動時の動作をあらわすフローチャートである。
【図９】従来の記録媒体からコンピュータ装置へのアプリケーションソフトウェアのインストールに関する説明図である。
【符号の説明】
１０    記録媒体
２０    コンピュータ装置
ＢＳ    ボリュームシリアル番号
ＳＷ１  アプリケーションソフトウェア
ＳＷ３  起動制限プログラム
Ｔ      インストール時刻
ＵＣ    ユーザーコード
【図１】
0004023000.tif 000002
【図２】
0004023000.tif 000003
【図３】
0004023000.tif 000004
【図４】
0004023000.tif 000005
【図５】
0004023000.tif 000006
【図６】
0004023000.tif 000007
【図７】
0004023000.tif 000008
【図８】
0004023000.tif 000009
【図９】
0004023000.tif 000010