(57)【要約】【課題】簡易で有効な又経費の少ない、ソフトウェア使用者にとっても復旧や移転の利便性と完結性を持つソフトウェアライセンスの管理方法を提供する。【解決手段】使用形態が制限されている形態と使用形態が制限されていない形態の二つのライセンス形態をソフトウェアに導入し、インストールしたコンピュータの識別情報を認識することによって不正使用を阻止し、ランダムに発生させたライセンスコードをライセンス形態を特定する記号として採用し、更に必要ならば一意のライセンス番号を用いて、ソフトウェアライセンスを管理するとともに、１のソフトウェア又は１のソフトウェアの記憶媒体から複数のライセンスを発生させ、ライセンスをバックアップするファイルを用いてライセンスを継承する手段と、更にライセンスを復元するファイルとを用いてライセンスを復元する手段を提供する。【選択図】図１
2005259082.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアの提供者が該ソフトウェアの使用者に対してソフトウェアライセンスを提供し、該ソフトウェアライセンスを管理する方法において、前記ソフトウェアは、第１のライセンス形態である使用期間が限定されて及び／又は機能が制限されて使用される制約のもとで提供される形態と、第２のライセンス形態である第１のライセンス形態が持つ前記制約が全てない状態で提供される形態の少なくとも二つのライセンス形態を持ち、前記使用者の前記ソフトウェアがインストールされたコンピュータにあっては、ランダムに発生させた一定数の文字コード若しくは該文字コードに一定の演算を施した文字コードからなるライセンスコード、該ライセンスコードに特定的に対応した文字コードであって前記ライセンス形態を決定するキーコード若しくは該キーコードが設定されていないこと、前記コンピュータに特有なオペレーティングシステム若しくはハードウェアの識別情報、前記ソフトウェアライセンスの管理において前記第２のライセンス形態を一意に特定するものであって番号ばかりでなく記号であってもよいライセンス番号で管理する場合には該ライセンス番号若しくは前記ライセンス番号で管理する場合の該ライセンス番号が設定されていないこと及び前記第１のライセンス形態で使用期間が限定されている場合には起算日時としての前記ソフトウェアのインストール日時若しくは最初の使用開始日時と、以前の前記ライセンス形態に関する付加情報又は該付加情報が設定されていないこととからなるライセンス情報が、前記付加情報に関する部分以外の前記ライセンス情報については暗号化され、前記付加情報に関する部分については暗号化又は形式化されて、前記コンピュータ内のオペレーティングシステムが設定する領域及び／又はファイルシステム内のファイルからなるライセンス設定領域に記憶されるものであって、前記ソフトウェアの起動時に、第１の過程として、前記識別情報を得るとともに、前記ライセンス設定領域から、第１の状態として、前記ライセンス情報が何も設定されていない状態と、第２の状態として、前記ライセンス情報に対して、前記付加情報に関する部分以外の当該ライセンス情報については、後述の過程で暗号化され記憶されたものを復号化し、前記付加情報に関する部分については、後述の過程で暗号化され記憶されている時は復号化し、後述の過程で暗号化されずに記憶されている時は再生し、これらの復号化又は復号化と再生に成功して、前記ライセンス設定領域が前記コンピュータ内のオペレーティングシステムが設定する領域とファイルシステム内のファイルとからなる場合には、両方の復号化又は復号化と再生が行われた前記ライセンス情報が一致して、復号化した識別情報と前記コンピュータより直接得た識別情報とが一致し、復号化したキーコードが未設定であるか又は該キーコードが前記第１のライセンス形態を決定するものとして復号化したライセンスコードに特定的に対応していることにより、前記ライセンス形態が前記第１のライセンス形態である状態と、第３の状態として、前記第２の状態の場合において、復号化したキーコードが未設定であるか又は該キーコードが前記第１のライセンス形態を決定するものとして復号化したライセンスコードに特定的に対応していることに替えて、当該キーコードが前記第２のライセンス形態を決定するものとして当該ライセンスコードに特定的に対応していることにより、前記ライセンス形態が前記第２のライセンス形態である状態と、第４の状態として、前記第１乃至３の状態のいずれでもない不正インストールの状態とからなる四つの状態の内いずれかの状態を検出する過程と、第２の過程として、前記第１の過程で前記第１の状態が検出された場合に、ライセンス情報として、前記第１の状態が検出された時点で生成された前記ライセンスコード、前記第１のライセンス形態を決定するものとして当該ライセンスコードと同時に生成され当該ライセンスコードに特定的に対応した前記キーコード若しくは該キーコードが設定されていないこと、前記識別情報、前記ライセンス番号で管理する場合には該ライセンス番号が設定されていないこと、前記第１のライセンス形態で使用期間が限定されている場合には前記起算日時及び前記付加情報が設定されていないことからなる情報を、前記付加情報に関する部分以外の当該ライセンス情報については暗号化を行い、前記付加情報に関する部分については暗号化又は所定の形式化を行い、これらの暗号化又は暗号化と形式化が行われた当該ライセンス情報を前記ライセンス設定領域に記憶して、新たに前記第１のライセンス形態を設定し、もし暗号化又は暗号化と形式化が行われた当該ライセンス情報を前記ライセンス設定領域に記憶できない時は、前記ソフトウェアの実行を終了する過程と、第３の過程として、前記第１の過程で前記第２の状態が検出された場合又は前記第２の過程の結果若しくは後述の第７の過程で前記第２の過程と同じ処理を行った結果として前記第１のライセンス形態が設定された場合に、ディスプレイ上に前記ライセンス情報の内、前記ライセンスコード、前記ライセンス番号で管理する場合で該ライセンス番号が設定されている時は該ライセンス番号、前記第１のライセンス形態で使用期間が限定されている場合には前記起算日時、前記付加情報が設定されている場合には該付加情報の全て若しくは一部及び現在の前記ライセンス形態を表示し、前記第２のライセンス形態へ移行するための前記キーコード及び前記ライセンス番号で管理する場合で該ライセンス番号が設定されていない時は該ライセンス番号の入力を促す過程と、第４の過程として、前記第３の過程の段階で、前記キーコード及び前記ライセンス番号で管理する場合で該ライセンス番号が設定されていない時の該ライセンス番号が入力されない場合には、前記第１のライセンス形態で使用期間が限定されている時には、前記コンピュータのシステム時刻及び／又はその他の手段により現在日時を得、現在日時又は現在日時と前記起算日時との差が前記使用期間内であれば、前記ソフトウェアの実行を前記第１のライセンス形態で許可し、前記使用期間内でなければ、前記ソフトウェアの実行を終了し、前記第１のライセンス形態で使用期間が限定されていない時には、前記ソフトウェアの実行を前記第１のライセンス形態で許可するか又は前記ソフトウェアの実行を終了し、前記ライセンス番号で管理する場合で該ライセンス番号が設定されていない時であって、前記キーコード及び前記ライセンス番号のいずれか一方が入力されない場合は、入力されていないものの入力を促すか又は両者が入力されない場合の前記の処理を行う過程と、第５の過程として、前記第３の過程の段階で、前記キーコード及び前記ライセンス番号で管理する場合で該ライセンス番号が設定されていない時には該ライセンス番号が入力された場合又は後述の第８の過程の段階で、前記キーコードが入力された場合に、当該キーコードが前記第２のライセンス形態を決定するものとして現在設定されている前記ライセンスコードに特定的に対応しているか及び前記ライセンス番号で管理する場合で該ライセンス番号が設定されていない時に該ライセンス番号が入力された場合には、当該ライセンス番号が所定の書式か判定し、前記判定において否定されることがなければ、ライセンス情報として、当該ライセンスコード、当該キーコード、前記識別情報、前記ライセンス番号で管理する場合には現在設定されているライセンス番号、前記第１のライセンス形態で使用期間が限定されている場合には前記起算日時及び前記付加情報が設定されている場合には該付加情報若しくは前記付加情報が設定されていないことからなる情報を、前記付加情報に関する部分以外の当該ライセンス情報については暗号化を行い、前記付加情報に関する部分については暗号化又は所定の形式化を行い、これらの暗号化又は暗号化と形式化が行われた当該ライセンス情報を、ライセンスバックアップファイルと呼ぶファイルに記録するとともに前記ライセンス設定領域に記憶することによって、あるいは前記ライセンスバックアップファイルと前記ライセンス設定領域とで当該ライセンス情報の前記暗号化については異なる暗号化が行われた当該ライセンス情報を、一方で前記ライセンスバックアップファイルに記録し、他方で前記ライセンス設定領域に記憶することによって、前記第２のライセンス形態を設定して前記ソフトウェアの実行を許可し、もし暗号化又は暗号化と形式化が行われた当該ライセンス情報を前記ライセンス設定領域に記憶ができない時は、前記入力をないものとするか又は前記ソフトウェアの実行を終了し、前記判定において否定されることがあれば、再度前記キーコード及び前記ライセンス番号で管理する場合で該ライセンス番号が設定されていない時には該ライセンス番号の入力を促すか、前記入力をないものとするか又は前記ソフトウェアの実行を終了する過程と、第６の過程として、前記第１の過程で前記第３の状態が検出された場合、そのまま前記ソフトウェアの実行を前記第２のライセンス形態で許可する過程と、第７の過程として、前記第１の過程で前記第４の状態が検出された場合、ディスプレイ上にその旨を表示し、前記ソフトウェアの実行を終了するか、現在の前記ライセンス形態を前記第１のライセンス形態にするか又はこれらのどちらかを前記使用者に選択させるかのいずれかを行い、前記第１のライセンス形態にする場合は、前記第２の過程と同じ処理を行う過程と、第８の過程として、前記第３の過程の段階で、前記ソフトウェアの前記コンピュータにおけるソフトウェアライセンスの付与と異なるソフトウェアライセンスの付与における前記第５の過程で記録した前記ライセンスバックアップファイルを読み込み、該ライセンスバックアップファイルにおける暗号化又は暗号化と形式化が行われたライセンス情報に対して、前記付加情報に関する部分以外の当該ライセンス情報については復号化し、前記付加情報に関する部分については、暗号化されている時は復号化し、暗号化されていない時は再生し、これらの復号化又は復号化と再生に成功し、当該ライセンスバックアップファイルから復号化したライセンスコードとキーコードとが前記第２のライセンス形態を決定するものとして特定的に対応していることにより、当該ライセンスバックアップファイルが前記第２のライセンス形態にあると判定した場合は、前記ライセンスコードを前記第２の過程の処理で設定するものと明白に区別できるランダムに発生させた一定数の文字コード又は該文字コードに一定の演算を施した文字コードに新たに設定し直して、ライセンス情報として、当該設定し直したライセンスコード、当該設定し直したライセンスコードに特定的に対応した文字コードであって当該設定し直したライセンスコードと同時に生成され前記第１のライセンス形態を決定するキーコード若しくは該キーコードが設定されていないこと、前記コンピュータの前記識別情報、前記ライセンス番号で管理する場合には当該ライセンスバックアップファイルから復号化したライセンス番号、前記第１のライセンス形態で使用期間が限定されている場合には前記起算日時及び付加情報として当該ライセンスバックアップファイルから復号化したライセンスコード、キーコード及び前記第１のライセンス形態で使用期間が限定されている場合には起算日時の内少なくとも該ライセンスコードを含む情報からなる情報を、前記付加情報に関する部分以外の当該ライセンス情報については暗号化を行い、前記付加情報に関する部分については暗号化又は所定の形式化を行い、これらの暗号化又は暗号化と形式化が行われた当該ライセンス情報を、前記ライセンス設定領域に記憶して、前記第１のライセンス形態を再設定するか、あるいは暗号化又は暗号化と形式化が行われた当該ライセンス情報を前記ライセンス設定領域に記憶する前に、当該ライセンス情報の全部又は一部をディスプレイ上へ表示して、前記使用者の指示によって前記記憶と前記再設定を行うかし、前記第２のライセンス形態へ移行するための前記キーコードの入力を促すかこの過程を終了し、もし暗号化又は暗号化と形式化が行われた当該ライセンス情報を前記ラ
イセンス設定領域に記憶できない時は、当該ライセンスバックアップファイルの読み込みをないものとするか又は前記ソフトウェアの実行を終了し、当該ライセンスバックアップファイルが上記以外の場合には前記第３の過程の状態を維持し、続いて前記第４の過程又は前記第５の過程へ移行する過程とを有することを特徴とするソフトウェアライセンスの管理方法。
【請求項２】
請求項１記載のソフトウェアライセンスの管理方法において、初期処理として、前記ソフトウェアのインストール時に前記第１の過程及び前記ソフトウェアの実行の終了を除いた前記第２の過程を行い、前記第１の過程で前記第１の状態以外の状態が検出された場合及び前記第２の過程の後は、そのまま当該インストールを続行するか又は当該インストールでの作業が残っていない場合は当該インストールを終了する処理を有するか、あるいは前記初期処理を有し前記ソフトウェアの起動時の前記第１の過程に限って前記第１の状態を検出した場合には前記第４の状態として処理することを特徴とするソフトウェアライセンスの管理方法。
【請求項３】
請求項１又は２記載のソフトウェアライセンスの管理方法において、第９の過程として、前記ソフトウェアの起動中の任意の時点で、前記第１の過程を実行し前記第２の状態が検出された場合又は最新のライセンス情報がメモリ上に記憶されていて現在の前記ライセンス形態が前記第１のライセンス形態である場合には、前記第３の過程を実行し、あるいは前記第１の過程を実行し前記第３の状態が検出された場合又は最新のライセンス情報がメモリ上に記憶されていて現在の前記ライセンス形態が前記第２のライセンス形態である場合には、ディスプレイ上に前記第１の過程又は記憶されていた最新のライセンス情報から得られた、現在設定されているライセンスコード、現在設定されているキーコード、前記ライセンス番号で管理する場合には該ライセンス番号、前記第１のライセンス形態で使用期間が限定されている場合には現在設定されている起算日時、前記付加情報が設定されている時には該付加情報の全部か一部のいずれか一方若しくは前記付加情報が設定されていないこと及び現在の前記ライセンス形態を表示し、必要に応じて前記ライセンスバックアップファイルを作成することができる過程を有することを特徴とするソフトウェアライセンスの管理方法。
【請求項４】
請求項１乃至３のいずれかに記載のソフトウェアライセンスの管理方法において、第１０の過程として、前記第５の過程において、前記第３の過程の段階で、前記キーコード及び前記ライセンス番号で管理する場合で該ライセンス番号が設定されていない時には該ライセンス番号を入力すること及び／又は前記第８の過程の段階で、前記キーコードを入力することに替えて、前記ソフトウェアの提供者が前記使用者に配布する、前記第３の過程の段階での設定されているライセンスコード若しくは前記第８の過程の段階での設定し直したライセンスコード、前記第２のライセンス形態を決定するものとして当該いずれかのライセンスコードに特定的に対応するキーコード及び前記ライセンス番号で管理する場合には前記第３の過程の段階での入力すべきライセンス番号か設定されているライセンス番号のいずれか一方若しくは前記第８の過程の段階での前記ライセンスバックアップファイルから復号化したライセンス番号を暗号化して作成されたライセンス設定ファイルと呼ぶファイルを読み込み、これらを復号化して復号化に成功し、前記コンピュータの前記ライセンス情報と当該ライセンス設定ファイルとの間で、ライセンスコードが一致し、前記ライセンス番号で管理する場合で該ライセンス番号が設定されている時にはライセンス番号が一致した時は、当該キーコードを前記キーコードの入力として及び前記第３の過程の段階で前記ライセンス番号で管理する場合で該ライセンス番号が設定されていない時には当該ライセンス番号を前記ライセンス番号の入力として扱い、前記第５の過程を実行する過程を有することを特徴とするソフトウェアライセンスの管理方法。
【請求項５】
請求項１乃至４のいずれかに記載のソフトウェアライセンスの管理方法において、第１１の過程として、前記第８の過程の段階で、前記第８の過程と同様、前記ライセンスバックアップファイルを読み込み、当該ライセンスバックアップファイルが前記第２のライセンス形態にあると判定した場合に、前記ソフトウェアの提供者が前記使用者に配布する、当該ライセンスバックアップファイルから復号化したライセンスコード、前記ライセンス番号で管理する場合には当該ライセンスバックアップファイルから復号化したライセンス番号及び当該ライセンスコードを復元するための復元コードを暗号化して作成されたライセンス復元ファイルと呼ぶファイルを読み込み、これらを復号化して復号化に成功し、当該ライセンスバックアップファイルと当該ライセンス復元ファイルとの間で、ライセンスコードが一致し、前記ライセンス番号で管理する場合にはライセンス番号が一致し、当該復元コードが当該一致したライセンスコードを復元するものとして当該一致したライセンスコードに特定的に対応すると判定した時には、ライセンス情報として、当該一致したライセンスコード、当該ライセンスバックアップファイルから復号化したキーコード、前記コンピュータの前記識別情報、前記ライセンス番号で管理する場合には当該一致したライセンス番号、前記第１のライセンス形態で使用期間が限定されている場合には当該ライセンスバックアップファイルから復号化した起算日時及び当該ライセンスバックアップファイルに前記付加情報が記録されていない時は前記付加情報がないこと若しくは当該ライセンスバックアップファイルに前記付加情報が記録されている時は該付加情報からなる情報を、前記付加情報に関する部分以外の当該ライセンス情報については暗号化を行い、前記付加情報に関する部分については暗号化又は所定の形式化を行い、これらの暗号化又は暗号化と形式化が行われた当該ライセンス情報を、前記ライセンス設定領域に記憶して、前記第２のライセンス形態を更新設定するか、あるいは暗号化又は暗号化と形式化が行われた当該ライセンス情報を前記ライセンス設定領域に記憶する前に、当該ライセンス情報の全部又は一部をディスプレイ上へ表示して、前記使用者の指示によって前記記憶と前記更新設定を行うかして、前記ソフトウェアの実行を許可し、もし暗号化又は暗号化と形式化が行われた当該ライセンス情報を前記ライセンス設定領域に記憶できない時は、前記第８の過程の状態を維持するか又は前記ソフトウェアの実行を終了し、当該ライセンス復元ファイルが上記以外の時又は当該ライセンスバックアップファイルが前記第２のライセンス形態にあると判定できない時には、前記第８の過程の状態を維持する過程を有することを特徴とするソフトウェアライセンスの管理方法。
【請求項６】
請求項１乃至５のいずれかに記載のソフトウェアライセンスの管理方法において、前記ソフトウェアの起動時における前記第１の過程で前記ライセンス形態が検出されるまでに、前記ソフトウェアの提供者が前記使用者に配布する、前記使用者に一意に割り当てられたものであって番号ばかりでなく記号であってもよいユーザ番号及び前記使用者を特定する諸情報からなるユーザ情報を暗号化して作成されたユーザ設定ファイルと呼ぶファイルが、前記コンピュータ内のファイルシステム内のある位置にあって、当該ユーザ設定ファイルを読み込み、当該ユーザ情報を復号化して復号化に成功した場合、前記ユーザ情報が前記コンピュータ内のオペレーティングシステムが設定するある領域に記憶されていなければ、当該ユーザ情報を暗号化して若しくは暗号化のまま前記領域に記憶し、前記ユーザ情報が前記領域に記憶されていれば、前記領域に記憶されている前記ユーザ情報を復号化して復号化に成功した場合又は前記ユーザ設定ファイルと前記領域の両者がある時には両者からの復号化が成功し両方の復号化した前記ユーザ情報が一致した場合のいずれかの場合であって、前記ユーザ番号が前記ライセンス設定領域には記憶されないソフトウェアライセンスの管理の時に限るという条件のもとで、あるいは前記いずれかの場合に加えて、前記ユーザ番号が前記ライセンス設定領域にも記憶されるソフトウェアライセンスの管理の時には、前記ライセンス情報が暗号化又は暗号化と形式化されて前記ライセンス設定領域に記憶される時、同時に前記ユーザ番号が暗号化されて前記ライセンス設定領域に記憶され、前記ライセンス設定領域に記憶された前記ユーザ番号を復号化して復号化に成功し、当該復号化したユーザ番号が前記いずれかの場合の復号化されたユーザ番号と一致する時に限るという条件のもとで、第１の制限として、前記第３の過程若しくは前記第８の過程における前記キーコードの入力、前記第３の過程において前記ライセンス番号で管理する場合で該ライセンス番号が設定されていない時には該ライセンス番号の入力、前記第８の過程における前記ライセンスバックアップファイルの読み込み、前記ソフトウェアが前記第１０の過程を有する場合には前記第１０の過程における前記ライセンス設定ファイルの読み込み及び前記ソフトウェアが前記第１１の過程を有する場合には前記第１１の過程における前記ライセンスバックアップファイルと前記ライセンス復元ファイルの読み込みを許可する制限と、第２の制限として、前記二つの条件以外の場合には、前記第１の過程で前記第３の状態が検出された場合に、前記第２の状態又は前記第４の状態とし、あるいは更に現在の前記ライセンス情報をディスプレイ上へ表示する場合に前記ライセンス情報の一部の表示を抑止する制限と、第３の制限として、前記第２のライセンス形態を設定する手続き中に、前記ライセンスコードなどとともに前記ユーザ番号が暗号化されて前記ライセンスバックアップファイル、前記ライセンス設定ファイル及び／又は前記ライセンス復元ファイルに書き込まれ、前記ライセンスバックアップファイル、前記ライセンス設定ファイル及び／又は前記ライセンス復元ファイルの読み込みに際して、前記二つの条件に加えて、これらのファイルに前記ユーザ番号が暗号化されていれば該ファイルから復号化したユーザ番号と前記ユーザ設定ファイル及び／又は前記領域からなるユーザ設定領域から復号化したユーザ番号とが一致する場合のみ、該ファイルの読み込み後の前記所定の処理を実行する制限とからなる不正防止策の内、少なくとも前記第１の制限を行い、必要に応じて前記第２及び／又は３の制限を行うことを特徴とするソフトウェアライセンスの管理方法。
【請求項７】
請求項１乃至６のいずれかに記載のソフトウェアライセンスの管理方法において、前記ソフトウェアの提供者の側にあっては、前記使用者の依頼により、第１の対応として、前記第３の過程における新規に設定された前記ライセンスコードの通知を受け、前記第２のライセンス形態を決定するものとして当該ライセンスコードに特定的に対応する前記キーコード及び前記ライセンス番号で管理する場合には該ライセンス番号を発行する対応と、第２の対応として、前記第８の過程における設定し直したライセンスコード、前記ライセンス番号で管理する場合には前記ライセンスバックアップファイルから復号化したライセンス番号及び当該ライセンスバックアップファイルから復号化したライセンスコードの通知を受け、前記第２のライセンス形態を決定するものとして当該設定し直したライセンスコードに特定的に対応する前記キーコードを発行する対応と、第３の対応として、前記ソフトウェアが第１０の過程を持つ場合に、前記第１の対応における前記キーコード及び前記ライセンス番号で管理する場合には該ライセンス番号の発行を受け、前記第１の対応における当該ライセンスコード、当該キーコード及び前記ライセンス番号で管理する場合には当該ライセンス番号を暗号化し、前記ライセンス設定ファイルを作成する対応と、第４の対応として、前記ソフトウェアが第１０の過程を持つ場合に、前記第２の対応における前記キーコードの発行を受け、前記第２の対応における当該設定し直したライセンスコード、当該キーコード及び前記ライセンス番号で管理する場合には前記第２の対応における当該ライセンスバックアップファイルから復号化したライセンス番号を暗号化し、前記ライセンス設定ファイルを作成する対応と、第５の対応として、前記ライセンスコード及び／又は前記ライセンス番号で管理する場合には該ライセンス番号の通知を受け、前記第１乃至４のいずれかの対応における、当該ライセンスコードに対する前記キーコードの発行記録及び／又は前記ライセンス番号で管理する場合には当該ライセンス番号に対する前記キーコードの発行記録から、当該ライセンスコード、当該キーコード、前記ライセンス番号で管理する場合には当該ライセンス番号及びその他のライセンス情報を適正に設定し、前記付加情報に関する部分以外の当該ライセンス情報については暗号化を行い、前記付加情報に関する部分については暗号化又は所定の形式化を行い、前記ライセンスバックアップファイルを作成する対応と、第６の対応として、前記ソフトウェアが第１１の過程を持つ場合に、前記ライセンスバックアップファイルに記録したライセンスコード及び前記ライセンス番号で管理する場合には当該ライセンスバックアップファイルに記録したライセンス番号の通知を受け、当該ライセンスコードを復元するものとして当該ライセンスコードに特定的に対応する復元コードを得、当該ライセンスコード、前記ライセンス番号で管理する場合には当該ライセンス番号及び当該復元コードの暗号化を行い、前記ライセンス復元ファイルを作成する対応と、第７の対応として、前記ソフトウェアライセンスの管理において前記ユーザ情報で管理する場合に、前記使用者を特定する諸情報の通知を受け、前記ユーザ番号と当該諸情報の暗号化を行い、前記ユーザ設定ファイルを作成する対応と、第８の対応として、前記第７の対応をとる場合に、前記第３の対応と前記第４の対応、前記第５の対応及び／又は前記第６の対応において、これらの対応における暗号化の際に当該暗号化されるものとともに前記ユーザ番号も暗号化して所定のファイルを作成する対応とを有し、上記の対応による生成物を配布することを特徴とするソフトウェアライセンスの管理方法。
【請求項８】
請求項１乃至７のいずれかに記載のソフトウェアライセンスの管理方法をコンピュータに実行させるコンピュータプログラム。
【請求項９】
請求項１乃至７のいずれかに記載のソフトウェアライセンスの管理方法をコンピュータに実行させるコンピュータプログラムが格納され、コンピュータにて読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアのソフトウェアライセンスの管理方法に関し、特に１のソフトウェア又は１のソフトウェアの記憶媒体から複数のソフトウェアライセンスを発生させ、それらのソフトウェアライセンスを簡易に管理する方法に関するものである。
【背景技術】
【０００２】
現在でも、多くのソフトウェアは、プロダクトＩＤなどと称するシリアル番号とともに販売され、該ソフトウェアの購入者は、該ソフトウェアのインストール時に、該シリアル番号を入力して該シリアル番号が該ソフトウェアに対して特定的な記号であれば、インストールを許可し、以降インストールされた該ソフトウェアは正式なライセンスを付与されたものとして実行される。
【０００３】
従って、該ソフトウェアの購入者は、使用許諾契約書で禁止されていても、同一の該ソフトウェアの記憶媒体及び同一のシリアル番号を用いて、複数のコンピュータに同時使用が可能な状態で該ソフトウェアをインストールすることができる状況にある。又例え該購入者が複数のコンピュータにインストールしたとしても、そのような状況は該ソフトウェアの提供者に何ら知られないので、不正インストールに対する心理的障壁も低いものとなり、現実的にも多くの不正コピー、不正インストールが行われているものと思われる。
【０００４】
このような状況に対して、主として二つの方面から、ソフトウェアの不正インストールや不正使用を制限する方法及び試みがなされている。
【０００５】
一つは、ソフトウェアがインストールする又は一旦インストールされたコンピュータを特定し、その特定した情報を該ソフトウェアのライセンスに関する情報として持たせ、他のコンピュータでのインストールや不正使用を防止しようとするものである。この方法には、よく知られたハードウェアロックによる他、インストールするコンピュータに付属するメモリカードの識別情報による方法（特許文献１参照。）、アクセスコード、コード生成日時、アクセスコード寿命、ライセンス期限などを暗号化したライセンスファイルを最初の使用開始に先立って配布しておく方法（特許文献２参照。）、ソフトウェア固有の鍵とインストールする機器固有の鍵と管理元のマスター鍵を利用して再生とインストールを制限する方法（特許文献３参照。）などが知られている。
【０００６】
もう一つは、インターネットやＬＡＮのネットワークを通じて、ソフトウェアの使用許諾要求にライセンス管理サーバがリアルタイムに応答したり、又はインストール時にライセンス管理サーバがライセンス許諾を行うものである。前者には、クライアントのライセンス及びクライアント固有情報の承認と前回承認時間からの経過時間によってリアルタイムに使用許諾を与える方法（特許文献４参照。）などがあり、後者には、ライセンスサーバが配布用ライセンスを用意し、この配布用ライセンスによって個々のコンピュータに実行用ライセンスを記憶させる方法（特許文献５参照。）などがある。
【特許文献１】特開２００２−３５１５６９号公報
【特許文献２】特開２００３−２２１４０号公報
【特許文献３】特開２００３−３３３０２５号公報
【特許文献４】特開２００４−４６７５６号公報
【特許文献５】特開２００１−５６５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、最初に述べたシリアル番号によるインストール方法は、ソフトウェアの提供者が明記している又は明記していないにかかわらず、該ソフトウェアがインストールされたコンピュータの故障の場合の復旧や他のコンピュータへの移転を、該提供者が意識していることは明白である。従って又、ソフトウェアの提供者は、該ソフトウェアの提供にあたっては、該ソフトウェアの使用者のこのような利便性を考慮する必要がある。
【０００８】
更に、シリアル番号によるインストール方法が暗黙裡に想定していることがある。それは、ソフトウェアライセンスの提供がそれで完結していることである。ソフトウェアの内容が時とともに不適合になったり、オペレーティングシステムの変遷に対応できなくなっても、該ソフトウェアの提供者はそれらに対応する義務を基本的には負わない。従って特に、小規模なソフトウェアや特殊な業務用ソフトウェアの提供者は、このようなソフトウェアライセンスの完結性を意識する必要がある。
【０００９】
又ネットワークを通じてのライセンス管理方法については、ソフトウェアの起動時に常に確認する方法は、それなりのコストが必要であり、同じ組織やグループ内での業務用ソフトウェアは別にして、忌避される傾向にあり、インストール時又は最初の使用開始時にライセンス管理サーバがライセンス許諾を行う場合などを含めて、ソフトウェアライセンスの前記の移転性や完結性において不利な点があることがある。
【００１０】
一方、比較的簡単なソフトウェアは、印刷物としてのマニュアルは同梱されずに、マニュアルはオンラインヘルプなどに電子文書化され、該ソフトウェアの記憶媒体に含まれて、シリアル番号を記載した簡単な案内と共に販売されているケースも少なくない。このような場合は、実質的に販売されているのはソフトウェアライセンスといってもよい。つまりソフトウェアの提供者は、ソフトウェアライセンスの前記の復旧性、移転性及び完結性を担保するため、記憶媒体の形で販売しているということもできる。従ってこのような環境は、ソフトウェアの販売経費を抑える契機が整えられつつあるとも考えられる。
【００１１】
本発明は、上記のような状況を考慮し、特に小規模なソフトウェアや特殊な業務用ソフトウェアなどのソフトウェアの提供に際して有効な、該ソフトウェアの使用者にとっての該ソフトウェアの復旧性や移転性などの利便性及びソフトウェアライセンスとしての完結性を備え、該ソフトウェアの不正使用に効果があり、心理的障壁も高くした、そして１のソフトウェア又は１のソフトウェアの記憶媒体から複数のソフトウェアライセンスを発生させることによって販売経費を抑え、システムの構築が簡易に行えるソフトウェアライセンスの管理方法を提供することを目的とする。
【００１２】
上記の目的を達成するため、第１の課題解決手段は、ソフトウェアの提供者が該ソフトウェアの使用者に対してソフトウェアライセンスを提供し、該ソフトウェアライセンスを管理する方法において、前記ソフトウェアは、第１のライセンス形態である使用期間が限定されて及び／又は機能が制限されて使用される制約のもとで提供される形態と、第２のライセンス形態である第１のライセンス形態が持つ前記制約が全てない状態で提供される形態の少なくとも二つのライセンス形態を持ち、前記使用者の前記ソフトウェアがインストールされたコンピュータにあっては、ランダムに発生させた一定数の文字コード若しくは該文字コードに一定の演算を施した文字コードからなるライセンスコード、該ライセンスコードに特定的に対応した文字コードであって前記ライセンス形態を決定するキーコード若しくは該キーコードが設定されていないこと、前記コンピュータに特有なオペレーティングシステム若しくはハードウェアの識別情報、前記ソフトウェアライセンスの管理において前記第２のライセンス形態を一意に特定するものであって番号ばかりでなく記号であってもよいライセンス番号で管理する場合には該ライセンス番号若しくは前記ライセンス番号で管理する場合の該ライセンス番号が設定されていないこと及び前記第１のライセンス形態で使用期間が限定されている場合には起算日時としての前記ソフトウェアのインストール日時若しくは最初の使用開始日時と、以前の前記ライセンス形態に関する付加情報又は該付加情報が設定されていないこととからなるライセンス情報が、前記付加情報に関する部分以外の前記ライセンス情報については暗号化され、前記付加情報に関する部分については暗号化又は形式化されて、前記コンピュータ内のオペレーティングシステムが設定する領域及び／又はファイルシステム内のファイルからなるライセンス設定領域に記憶されるものであって、前記ソフトウェアの起動時に、第１の過程として、前記識別情報を得るとともに、前記ライセンス設定領域から、第１の状態として、前記ライセンス情報が何も設定されていない状態と、第２の状態として、前記ライセンス情報に対して、前記付加情報に関する部分以外の当該ライセンス情報については、後述の過程で暗号化され記憶されたものを復号化し、前記付加情報に関する部分については、後述の過程で暗号化され記憶されている時は復号化し、後述の過程で暗号化されずに記憶されている時は再生し、これらの復号化又は復号化と再生に成功して、前記ライセンス設定領域が前記コンピュータ内のオペレーティングシステムが設定する領域とファイルシステム内のファイルとからなる場合には、両方の復号化又は復号化と再生が行われた前記ライセンス情報が一致して、復号化した識別情報と前記コンピュータより直接得た識別情報とが一致し、復号化したキーコードが未設定であるか又は該キーコードが前記第１のライセンス形態を決定するものとして復号化したライセンスコードに特定的に対応していることにより、前記ライセンス形態が前記第１のライセンス形態である状態と、第３の状態として、前記第２の状態の場合において、復号化したキーコードが未設定であるか又は該キーコードが前記第１のライセンス形態を決定するものとして復号化したライセンスコードに特定的に対応していることに替えて、当該キーコードが前記第２のライセンス形態を決定するものとして当該ライセンスコードに特定的に対応していることにより、前記ライセンス形態が前記第２のライセンス形態である状態と、第４の状態として、前記第１乃至３の状態のいずれでもない不正インストールの状態とからなる四つの状態の内いずれかの状態を検出する過程と、第２の過程として、前記第１の過程で前記第１の状態が検出された場合に、ライセンス情報として、前記第１の状態が検出された時点で生成された前記ライセンスコード、前記第１のライセンス形態を決定するものとして当該ライセンスコードと同時に生成され当該ライセンスコードに特定的に対応した前記キーコード若しくは該キーコードが設定されていないこと、前記識別情報、前記ライセンス番号で管理する場合には該ライセンス番号が設定されていないこと、前記第１のライセンス形態で使用期間が限定されている場合には前記起算日時及び前記付加情報が設定されていないことからなる情報を、前記付加情報に関する部分以外の当該ライセンス情報については暗号化を行い、前記付加情報に関する部分については暗号化又は所定の形式化を行い、これらの暗号化又は暗号化と形式化が行われた当該ライセンス情報を前記ライセンス設定領域に記憶して、新たに前記第１のライセンス形態を設定し、もし暗号化又は暗号化と形式化が行われた当該ライセンス情報を前記ライセンス設定領域に記憶できない時は、前記ソフトウェアの実行を終了する過程と、第３の過程として、前記第１の過程で前記第２の状態が検出された場合又は前記第２の過程の結果若しくは後述の第７の過程で前記第２の過程と同じ処理を行った結果として前記第１のライセンス形態が設定された場合に、ディスプレイ上に前記ライセンス情報の内、前記ライセンスコード、前記ライセンス番号で管理する場合で該ライセンス番号が設定されている時は該ライセンス番号、前記第１のライセンス形態で使用期間が限定されている場合には前記起算日時、前記付加情報が設定されている場合には該付加情報の全て若しくは一部及び現在の前記ライセンス形態を表示し、前記第２のライセンス形態へ移行するための前記キーコード及び前記ライセンス番号で管理する場合で該ライセンス番号が設定されていない時は該ライセンス番号の入力を促す過程と、第４の過程として、前記第３の過程の段階で、前記キーコード及び前記ライセンス番号で管理する場合で該ライセンス番号が設定されていない時の該ライセンス番号が入力されない場合には、前記第１のライセンス形態で使用期間が限定されている時には、前記コンピュータのシステム時刻及び／又はその他の手段により現在日時を得、現在日時又は現在日時と前記起算日時との差が前記使用期間内であれば、前記ソフトウェアの実行を前記第１のライセンス形態で許可し、前記使用期間内でなければ、前記ソフトウェアの実行を終了し、前記第１のライセンス形態で使用期間が限定されていない時には、前記ソフトウェアの実行を前記第１のライセンス形態で許可するか又は前記ソフトウェアの実行を終了し、前記ライセンス番号で管理する場合で該ライセンス番号が設定されていない時であって、前記キーコード及び前記ライセンス番号のいずれか一方が入力されない場合は、入力されていないものの入力を促すか又は両者が入力されない場合の前記の処理を行う過程と、第５の過程として、前記第３の過程の段階で、前記キーコード及び前記ライセンス番号で管理する場合で該ライセンス番号が設定されていない時には該ライセンス番号が入力された場合又は後述の第８の過程の段階で、前記キーコードが入力された場合に、当該キーコードが前記第２のライセンス形態を決定するものとして現在設定されている前記ライセンスコードに特定的に対応しているか及び前記ライセンス番号で管理する場合で該ライセンス番号が設定されていない時に該ライセンス番号が入力された場合には、当該ライセンス番号が所定の書式か判定し、前記判定において否定されることがなければ、ライセンス情報として、当該ライセンスコード、当該キーコード、前記識別情報、前記ライセンス番号で管理する場合には現在設定されているライセンス番号、前記第１のライセンス形態で使用期間が限定されている場合には前記起算日時及び前記付加情報が設定されている場合には該付加情報若しくは前記付加情報が設定されていないことからなる情報を、前記付加情報に関する部分以外の当該ライセンス情報については暗号化を行い、前記付加情報に関する部分については暗号化又は所定の形式化を行い、これらの暗号化又は暗号化と形式化が行われた当該ライセンス情報を、ライセンスバックアップファイルと呼ぶファイルに記録するとともに前記ライセンス設定領域に記憶することによって、あるいは前記ライセンスバックアップファイルと前記ライセンス設定領域とで当該ライセンス情報の前記暗号化については異なる暗号化が行われた当該ライセンス情報を、一方で前記ライセンスバックアップファイルに記録し、他方で前記ライセンス設定領域に記憶することによって、前記第２のライセンス形態を設定して前記ソフトウェアの実行を許可し、もし暗号化又は暗号化と形式化が行われた当該ライセンス情報を前記ライセンス設定領域に記憶ができない時は、前記入力をないものとするか又は前記ソフトウェアの実行を終了し、前記判定において否定されることがあれば、再度前記キーコード及び前記ライセンス番号で管理する場合で該ライセンス番号が設定されていない時には該ライセンス番号の入力を促すか、前記入力をないものとするか又は前記ソフトウェアの実行を終了する過程と、第６の過程として、前記第１の過程で前記第３の状態が検出された場合、そのまま前記ソフトウェアの実行を前記第２のライセンス形態で許可する過程と、第７の過程として、前記第１の過程で前記第４の状態が検出された場合、ディスプレイ上にその旨を表示し、前記ソフトウェアの実行を終了するか、現在の前記ライセンス形態を前記第１のライセンス形態にするか又はこれらのどちらかを前記使用者に選択させるかのいずれかを行い、前記第１のライセンス形態にする場合は、前記第２の過程と同じ処理を行う過程と、第８の過程として、前記第３の過程の段階で、前記ソフトウェアの前記コンピュータにおけるソフトウェアライセンスの付与と異なるソフトウェアライセンスの付与における前記第５の過程で記録した前記ライセンスバックアップファイルを読み込み、該ライセンスバックアップファイルにおける暗号化又は暗号化と形式化が行われたライセンス情報に対して、前記付加情報に関する部分以外の当該ライセンス情報については復号化し、前記付加情報に関する部分については、暗号化されている時は復号化し、暗号化されていない時は再生し、これらの復号化又は復号化と再生に成功し、当該ライセンスバックアップファイルから復号化したライセンスコードとキーコードとが前記第２のライセンス形態を決定するものとして特定的に対応していることにより、当該ライセンスバックアップファイルが前記第２のライセンス形態にあると判定した場合は、前記ライセンスコードを前記第２の過程の処理で設定するものと明白に区別できるランダムに発生させた一定数の文字コード又は該文字コードに一定の演算を施した文字コードに新たに設定し直して、ライセンス情報として、当該設定し直したライセンスコード、当該設定し直したライセンスコードに特定的に対応した文字コードであって当該設定し直したライセンスコードと同時に生成され前記第１のライセンス形態を決定するキーコード若しくは該キーコードが設定されていないこと、前記コンピュータの前記識別情報、前記ライセンス番号で管理する場合には当該ライセンスバックアップファイルから復号化したライセンス番号、前記第１のライセンス形態で使用期間が限定されている場合には前記起算日時及び付加情報として当該ライセンスバックアップファイルから復号化したライセンスコード、キーコード及び前記第１のライセンス形態で使用期間が限定されている場合には起算日時の内少なくとも該ライセンスコードを含む情報からなる情報を、前記付加情報に関する部分以外の当該ライセンス情報については暗号化を行い、前記付加情報に関する部分については暗号化又は所定の形式化を行い、これらの暗号化又は暗号化と形式化が行われた当該ライセンス情報を、前記ライセンス設定領域に記憶して、前記第１のライセンス形態を再設定するか、あるいは暗号化又は暗号化と形式化が行われた当該ライセンス情報を前記ライセンス設定領域に記憶する前に、当該ライセンス情報の全部又は一部をディスプレイ上へ表示して、前記使用者の指示によって前記記憶と前記再設定を行うかし、前記第２のライセンス形態へ移行するための前記キーコードの入力を促すかこの過程を終了し、もし暗号化又は暗
号化と形式化が行われた当該ライセンス情報を前記ライセンス設定領域に記憶できない時は、当該ライセンスバックアップファイルの読み込みをないものとするか又は前記ソフトウェアの実行を終了し、当該ライセンスバックアップファイルが上記以外の場合には前記第３の過程の状態を維持し、続いて前記第４の過程又は前記第５の過程へ移行する過程とを有することを特徴とする。
【００１３】
又、第２の課題解決手段は、前記のソフトウェアライセンスの管理方法において、初期処理として、前記ソフトウェアのインストール時に前記第１の過程及び前記ソフトウェアの実行の終了を除いた前記第２の過程を行い、前記第１の過程で前記第１の状態以外の状態が検出された場合及び前記第２の過程の後は、そのまま当該インストールを続行するか又は当該インストールでの作業が残っていない場合は当該インストールを終了する処理を有するか、あるいは前記初期処理を有し前記ソフトウェアの起動時の前記第１の過程に限って前記第１の状態を検出した場合には前記第４の状態として処理することを特徴とする。
【００１４】
又、第３の課題解決手段は、前記いずれかのソフトウェアライセンスの管理方法において、第９の過程として、前記ソフトウェアの起動中の任意の時点で、前記第１の過程を実行し前記第２の状態が検出された場合又は最新のライセンス情報がメモリ上に記憶されていて現在の前記ライセンス形態が前記第１のライセンス形態である場合には、前記第３の過程を実行し、あるいは前記第１の過程を実行し前記第３の状態が検出された場合又は最新のライセンス情報がメモリ上に記憶されていて現在の前記ライセンス形態が前記第２のライセンス形態である場合には、ディスプレイ上に前記第１の過程又は記憶されていた最新のライセンス情報から得られた、現在設定されているライセンスコード、現在設定されているキーコード、前記ライセンス番号で管理する場合には該ライセンス番号、前記第１のライセンス形態で使用期間が限定されている場合には現在設定されている起算日時、前記付加情報が設定されている時には該付加情報の全部か一部のいずれか一方若しくは前記付加情報が設定されていないこと及び現在の前記ライセンス形態を表示し、必要に応じて前記ライセンスバックアップファイルを作成することができる過程を有することを特徴とする。
【００１５】
又、第４の課題解決手段は、前記いずれかのソフトウェアライセンスの管理方法において、第１０の過程として、前記第５の過程において、前記第３の過程の段階で、前記キーコード及び前記ライセンス番号で管理する場合で該ライセンス番号が設定されていない時には該ライセンス番号を入力すること及び／又は前記第８の過程の段階で、前記キーコードを入力することに替えて、前記ソフトウェアの提供者が前記使用者に配布する、前記第３の過程の段階での設定されているライセンスコード若しくは前記第８の過程の段階での設定し直したライセンスコード、前記第２のライセンス形態を決定するものとして当該いずれかのライセンスコードに特定的に対応するキーコード及び前記ライセンス番号で管理する場合には前記第３の過程の段階での入力すべきライセンス番号か設定されているライセンス番号のいずれか一方若しくは前記第８の過程の段階での前記ライセンスバックアップファイルから復号化したライセンス番号を暗号化して作成されたライセンス設定ファイルと呼ぶファイルを読み込み、これらを復号化して復号化に成功し、前記コンピュータの前記ライセンス情報と当該ライセンス設定ファイルとの間で、ライセンスコードが一致し、前記ライセンス番号で管理する場合で該ライセンス番号が設定されている時にはライセンス番号が一致した時は、当該キーコードを前記キーコードの入力として及び前記第３の過程の段階で前記ライセンス番号で管理する場合で該ライセンス番号が設定されていない時には当該ライセンス番号を前記ライセンス番号の入力として扱い、前記第５の過程を実行する過程を有することを特徴とする。
【００１６】
又、第５の課題解決手段は、前記いずれかのソフトウェアライセンスの管理方法において、第１１の過程として、前記第８の過程の段階で、前記第８の過程と同様、前記ライセンスバックアップファイルを読み込み、当該ライセンスバックアップファイルが前記第２のライセンス形態にあると判定した場合に、前記ソフトウェアの提供者が前記使用者に配布する、当該ライセンスバックアップファイルから復号化したライセンスコード、前記ライセンス番号で管理する場合には当該ライセンスバックアップファイルから復号化したライセンス番号及び当該ライセンスコードを復元するための復元コードを暗号化して作成されたライセンス復元ファイルと呼ぶファイルを読み込み、これらを復号化して復号化に成功し、当該ライセンスバックアップファイルと当該ライセンス復元ファイルとの間で、ライセンスコードが一致し、前記ライセンス番号で管理する場合にはライセンス番号が一致し、当該復元コードが当該一致したライセンスコードを復元するものとして当該一致したライセンスコードに特定的に対応すると判定した時には、ライセンス情報として、当該一致したライセンスコード、当該ライセンスバックアップファイルから復号化したキーコード、前記コンピュータの前記識別情報、前記ライセンス番号で管理する場合には当該一致したライセンス番号、前記第１のライセンス形態で使用期間が限定されている場合には当該ライセンスバックアップファイルから復号化した起算日時及び当該ライセンスバックアップファイルに前記付加情報が記録されていない時は前記付加情報がないこと若しくは当該ライセンスバックアップファイルに前記付加情報が記録されている時は該付加情報からなる情報を、前記付加情報に関する部分以外の当該ライセンス情報については暗号化を行い、前記付加情報に関する部分については暗号化又は所定の形式化を行い、これらの暗号化又は暗号化と形式化が行われた当該ライセンス情報を、前記ライセンス設定領域に記憶して、前記第２のライセンス形態を更新設定するか、あるいは暗号化又は暗号化と形式化が行われた当該ライセンス情報を前記ライセンス設定領域に記憶する前に、当該ライセンス情報の全部又は一部をディスプレイ上へ表示して、前記使用者の指示によって前記記憶と前記更新設定を行うかして、前記ソフトウェアの実行を許可し、もし暗号化又は暗号化と形式化が行われた当該ライセンス情報を前記ライセンス設定領域に記憶できない時は、前記第８の過程の状態を維持するか又は前記ソフトウェアの実行を終了し、当該ライセンス復元ファイルが上記以外の時又は当該ライセンスバックアップファイルが前記第２のライセンス形態にあると判定できない時には、前記第８の過程の状態を維持する過程を有することを特徴とする。
【００１７】
又、第６の課題解決手段は、前記いずれかのソフトウェアライセンスの管理方法において、前記ソフトウェアの起動時における前記第１の過程で前記ライセンス形態が検出されるまでに、前記ソフトウェアの提供者が前記使用者に配布する、前記使用者に一意に割り当てられたものであって番号ばかりでなく記号であってもよいユーザ番号及び前記使用者を特定する諸情報からなるユーザ情報を暗号化して作成されたユーザ設定ファイルと呼ぶファイルが、前記コンピュータ内のファイルシステム内のある位置にあって、当該ユーザ設定ファイルを読み込み、当該ユーザ情報を復号化して復号化に成功した場合、前記ユーザ情報が前記コンピュータ内のオペレーティングシステムが設定するある領域に記憶されていなければ、当該ユーザ情報を暗号化して若しくは暗号化のまま前記領域に記憶し、前記ユーザ情報が前記領域に記憶されていれば、前記領域に記憶されている前記ユーザ情報を復号化して復号化に成功した場合又は前記ユーザ設定ファイルと前記領域の両者がある時には両者からの復号化が成功し両方の復号化した前記ユーザ情報が一致した場合のいずれかの場合であって、前記ユーザ番号が前記ライセンス設定領域には記憶されないソフトウェアライセンスの管理の時に限るという条件のもとで、あるいは前記いずれかの場合に加えて、前記ユーザ番号が前記ライセンス設定領域にも記憶されるソフトウェアライセンスの管理の時には、前記ライセンス情報が暗号化又は暗号化と形式化されて前記ライセンス設定領域に記憶される時、同時に前記ユーザ番号が暗号化されて前記ライセンス設定領域に記憶され、前記ライセンス設定領域に記憶された前記ユーザ番号を復号化して復号化に成功し、当該復号化したユーザ番号が前記いずれかの場合の復号化されたユーザ番号と一致する時に限るという条件のもとで、第１の制限として、前記第３の過程若しくは前記第８の過程における前記キーコードの入力、前記第３の過程において前記ライセンス番号で管理する場合で該ライセンス番号が設定されていない時には該ライセンス番号の入力、前記第８の過程における前記ライセンスバックアップファイルの読み込み、前記ソフトウェアが前記第１０の過程を有する場合には前記第１０の過程における前記ライセンス設定ファイルの読み込み及び前記ソフトウェアが前記第１１の過程を有する場合には前記第１１の過程における前記ライセンスバックアップファイルと前記ライセンス復元ファイルの読み込みを許可する制限と、第２の制限として、前記二つの条件以外の場合には、前記第１の過程で前記第３の状態が検出された場合に、前記第２の状態又は前記第４の状態とし、あるいは更に現在の前記ライセンス情報をディスプレイ上へ表示する場合に前記ライセンス情報の一部の表示を抑止する制限と、第３の制限として、前記第２のライセンス形態を設定する手続き中に、前記ライセンスコードなどとともに前記ユーザ番号が暗号化されて前記ライセンスバックアップファイル、前記ライセンス設定ファイル及び／又は前記ライセンス復元ファイルに書き込まれ、前記ライセンスバックアップファイル、前記ライセンス設定ファイル及び／又は前記ライセンス復元ファイルの読み込みに際して、前記二つの条件に加えて、これらのファイルに前記ユーザ番号が暗号化されていれば該ファイルから復号化したユーザ番号と前記ユーザ設定ファイル及び／又は前記領域からなるユーザ設定領域から復号化したユーザ番号とが一致する場合のみ、該ファイルの読み込み後の前記所定の処理を実行する制限とからなる不正防止策の内、少なくとも前記第１の制限を行い、必要に応じて前記第２及び／又は３の制限を行うことを特徴とする。
【００１８】
又、第７の課題解決手段は、前記いずれかのソフトウェアライセンスの管理方法において、前記ソフトウェアの提供者の側にあっては、前記使用者の依頼により、第１の対応として、前記第３の過程における新規に設定された前記ライセンスコードの通知を受け、前記第２のライセンス形態を決定するものとして当該ライセンスコードに特定的に対応する前記キーコード及び前記ライセンス番号で管理する場合には該ライセンス番号を発行する対応と、第２の対応として、前記第８の過程における設定し直したライセンスコード、前記ライセンス番号で管理する場合には前記ライセンスバックアップファイルから復号化したライセンス番号及び当該ライセンスバックアップファイルから復号化したライセンスコードの通知を受け、前記第２のライセンス形態を決定するものとして当該設定し直したライセンスコードに特定的に対応する前記キーコードを発行する対応と、第３の対応として、前記ソフトウェアが第１０の過程を持つ場合に、前記第１の対応における前記キーコード及び前記ライセンス番号で管理する場合には該ライセンス番号の発行を受け、前記第１の対応における当該ライセンスコード、当該キーコード及び前記ライセンス番号で管理する場合には当該ライセンス番号を暗号化し、前記ライセンス設定ファイルを作成する対応と、第４の対応として、前記ソフトウェアが第１０の過程を持つ場合に、前記第２の対応における前記キーコードの発行を受け、前記第２の対応における当該設定し直したライセンスコード、当該キーコード及び前記ライセンス番号で管理する場合には前記第２の対応における当該ライセンスバックアップファイルから復号化したライセンス番号を暗号化し、前記ライセンス設定ファイルを作成する対応と、第５の対応として、前記ライセンスコード及び／又は前記ライセンス番号で管理する場合には該ライセンス番号の通知を受け、前記第１乃至４のいずれかの対応における、当該ライセンスコードに対する前記キーコードの発行記録及び／又は前記ライセンス番号で管理する場合には当該ライセンス番号に対する前記キーコードの発行記録から、当該ライセンスコード、当該キーコード、前記ライセンス番号で管理する場合には当該ライセンス番号及びその他のライセンス情報を適正に設定し、前記付加情報に関する部分以外の当該ライセンス情報については暗号化を行い、前記付加情報に関する部分については暗号化又は所定の形式化を行い、前記ライセンスバックアップファイルを作成する対応と、第６の対応として、前記ソフトウェアが第１１の過程を持つ場合に、前記ライセンスバックアップファイルに記録したライセンスコード及び前記ライセンス番号で管理する場合には当該ライセンスバックアップファイルに記録したライセンス番号の通知を受け、当該ライセンスコードを復元するものとして当該ライセンスコードに特定的に対応する復元コードを得、当該ライセンスコード、前記ライセンス番号で管理する場合には当該ライセンス番号及び当該復元コードの暗号化を行い、前記ライセンス復元ファイルを作成する対応と、第７の対応として、前記ソフトウェアライセンスの管理において前記ユーザ情報で管理する場合に、前記使用者を特定する諸情報の通知を受け、前記ユーザ番号と当該諸情報の暗号化を行い、前記ユーザ設定ファイルを作成する対応と、第８の対応として、前記第７の対応をとる場合に、前記第３の対応と前記第４の対応、前記第５の対応及び／又は前記第６の対応において、これらの対応における暗号化の際に当該暗号化されるものとともに前記ユーザ番号も暗号化して所定のファイルを作成する対応とを有し、上記の対応による生成物を配布することを特徴とする。
【００１９】
又、第８の課題解決手段は、前記いずれかのソフトウェアライセンスの管理方法をコンピュータに実行させるコンピュータプログラムを提供する。
【００２０】
又、第９の課題解決手段は、前記いずれかのソフトウェアライセンスの管理方法をコンピュータに実行させるコンピュータプログラムが格納され、コンピュータにて読み取り可能な記憶媒体を提供する。
【００２１】
上記第１の課題解決手段による作用は、前記ソフトウェアが少なくとも前記二つのライセンス形態を持つことによって前記ソフトウェアのソフトウェアライセンス運用の基本的な構成を提供し、前記ソフトウェアが使用されるコンピュータに特有な識別情報を認識することで不正使用を抑制し、必要ならば前記ソフトウェアのインストール日時あるいは最初の使用開始日時によって、前記ソフトウェアの前記第１のライセンス形態を制約する環境を強化し、前記ライセンスコードと前記キーコードによって１の前記ソフトウェア又は１の前記ソフトウェアの記憶媒体から複数のソフトウェアライセンスを発生させると同時にそれらを特定し管理することを可能にし、更に前記第２のライセンス形態について前記ライセンスバックアップファイルを用い復旧や移転を可能にすることにある。
【００２２】
又、上記第２の課題解決手段による作用は、前記ソフトウェアのインストール時にも、前記第１のライセンス形態を提供することにある。
【００２３】
又、上記第３の課題解決手段による作用は、前記ソフトウェアの起動時だけでなく任意の時点で、現在設定されているライセンス形態の情報と設定環境を前記ソフトウェアの使用者に提供することにある。
【００２４】
又、上記第４の課題解決手段による作用は、前記ライセンス設定ファイルによって、前記ソフトウェアの提供者が前記使用者に対して、確実にキーコード及び前記ライセンス番号で管理する場合には一意なライセンス番号を与えることができることにある。
【００２５】
又、上記第５の課題解決手段による作用は、前記ライセンス復元ファイルによって、前記提供者が前記使用者に対して、前記ソフトウェアの前記第２のライセンス形態を特定して、確実に前記第２のライセンス形態を復元する手段を提供することにある。
【００２６】
又、上記第６の課題解決手段による作用は、前記ユーザ情報と前記ユーザ設定ファイルを用いて、本発明の諸過程で不正防止を強化することにある。
【００２７】
又、上記第７の課題解決手段による作用は、前記使用者に対して前記ソフトウェアの使用に際して要求されるべき手段を提供することにある。
【００２８】
又、上記第８の課題解決手段による作用は、前記使用者に本発明のソフトウェアライセンスの管理方法を提供することにある。
【００２９】
又、上記第９の課題解決手段による作用は、前記使用者に本発明のソフトウェアライセンスの管理方法を提供するとともに、本発明の特徴を生かして、１のソフトウェア又は１のソフトウェアの記憶媒体から、複数のソフトウェアライセンスを発生させることにある。
【発明の効果】
【００３０】
ソフトウェアに少なくとも前記二つのライセンス形態を持たせることによって、使用期限及び／又は機能制限を受ける前記第１のライセンス形態で複数の前記ソフトウェアのインストールと使用を許諾する環境を整えることができ、前記ソフトウェアの使用者に対して使い勝手及び基本的な機能を確認してもらえるので、より多く前記ソフトウェアが使用される機会が増えることになる。
【００３１】
又、前記ソフトウェアがインストールされたコンピュータに特有なオペレーティングシステム（以下「ＯＳ」という。）又はハードウェアの識別情報が暗号化されて、前記コンピュータ内のＯＳが設定する領域及び／又はファイルシステム内のファイルからなるライセンス設定領域に書き込まれて、前記ソフトウェアの起動毎に前記識別情報は復号化され、前記コンピュータより直接得た識別情報との一致がチェックされるので、例え暗号化された前記識別情報が他のコンピュータよりライセンス設定領域にコピーされていても、不正使用を検出し阻止できる。
【００３２】
又、最初の使用時又はインストール時に、ランダムに発生させた一定数の文字コード又は該文字コードに一定の演算を施した文字コードからなるライセンスコードを前記ソフトウェアのソフトウェアライセンスを指定する記号として付与し、ライセンスコードが偶然一致する確率は無視できる程度にすることは容易なので、ライセンスコードによって前記ソフトウェアのソフトウェアライセンスを特定することができる。従って、１の前記ソフトウェア又は１の前記ソフトウェアの記憶媒体から複数の又は数限りなくソフトウェアライセンスを発生させると同時にそれらを管理することができる。
【００３３】
そして、前記ソフトウェアの提供者は、第２のライセンス形態を決定するものとしてライセンスコードに特定的に対応した文字コードであって使用者が知り得ないキーコードを、使用者に通知することによって容易に、ソフトウェアライセンスを付与でき、更に同時に前記ソフトウェアライセンスを一意に特定するライセンス番号を付与することによって、前記ソフトウェアライセンスを継続的に管理し易くできる。又これらの通知に替えて、前記ライセンス設定ファイルを使用者に配布して、使用者はこれを用いて前記第２のライセンス形態に移行するようにすれば、より確実性が増し且つ使用者のキーコードの試行を防止できる。
【００３４】
前記第１のライセンス形態に使用期限を設けることは不正防止などに有用な手段であって、前記ソフトウェアのインストール日時又は最初の使用開始日時を起算日時として暗号化し、ライセンス設定領域に記憶しておき、それを復号化することによって容易に使用期限を設定することができる。そして、起動時に単に前記コンピュータのシステム時刻をチェックするだけでなく、その他の手段により現在日時を得ることによって、かなりの程度前記使用期限を守らせることが容易にできる。
【００３５】
前記第２のライセンス形態を設定する際には、必ず前記ライセンスバックアップファイルを使用者に作成させることによって、前記第２のライセンス形態のコンピュータの故障の際の復旧又は他のコンピュータへの移転（以下これらを「ライセンスの継承」という。）を可能にする手段を用意し、復旧又は移転の場合、前記ライセンスバックアップファイルの読み込みによって設定し直したライセンスコードは、最初にライセンスコードを設定した場合と明白に区別できるようにし、同時に前記第２のライセンス形態を決定するものとして前記ライセンスコードに特定的に対応したキーコードも両方の場合で明白に区別できるようにして、前記ソフトウェアの提供者と使用者とがともにこれを認識するもとで、提供者は使用者にキーコードを配布するので、ライセンスの継承が円滑に処理され、復旧や移転の利便性を使用者に保証することができる。ライセンス番号を設定しておけば、ライセンスの継承は更に簡単にトレースすることができる。又ライセンスの継承の履歴を提供者が知ることとなるので、不正使用に対する使用者の心理的障壁を高くし、不正使用に対する抵抗感を強くさせることができる。
【００３６】
又、前記ソフトウェアの提供者は、前記ライセンス復元ファイルを使用者に配布することで、特定の前記第２のライセンス形態を確実に復元する（以下「ライセンスの復元」という。）手段を提供できるので、前記ソフトウェアライセンスの管理を完結することができる。即ち、提供者はいつでも、前記ソフトウェアのソフトウェアライセンスの管理を打ち切ることができる。ある状況では、このような手段は必要となることがある。
【００３７】
前記ソフトウェアの起動時又は起動中の任意の時点で、現在のライセンス情報と現在のライセンス形態がいずれの状態かをディスプレイ上に表示することによって、使用者は現在のライセンス形態を知り、現在のライセンス形態に対する上記の各処理を行うユーザインターフェイスを提供することができる。このようなライセンス形態に対する情報の提示と処理操作の集中は、望ましいことである。
【００３８】
又、前記ソフトウェアの提供者は、前記ユーザ設定ファイルを使用者に配布し、それを利用することによって、更に使用者に一意に割り当てられたユーザ番号を用いて、現在のライセンス形態に対する情報の提示と各種の処理操作を制限することによって、前記ソフトウェアライセンスの管理について不正防止を強化し、不正使用を抑えることができる。又ユーザ番号を用いて、ライセンス設定ファイル、ライセンスバックアップファイル、ライセンス復元ファイルの不正使用を防止するとともに、これらのファイルや前記ソフトウェアの生成物をトレースすることができる。
【００３９】
前記ソフトウェアの提供者は、使用者に対して上記の機能に対応する、キーコード、ライセンス番号で管理する場合にはライセンス番号、ライセンス設定ファイル、ライセンスバックアップファイル、ライセンス復元ファイル及びユーザ設定ファイルを発行又は作成する機能を持つ管理ソフトウェアを用意して、両者の間で連携をとって前記ソフトウェアのソフトウェアライセンスを管理するものであるが、前記管理ソフトウェアはサーバ機能を持つ必要はなく、又これらの機能は比較的簡単に作成できるので、提供者の負担は軽く、特に小規模なソフトウェアや特殊な業務用ソフトウェアの提供に適したものである。提供者の側で、ソフトウェアライセンス管理にデータベース機能が必要ならば、市販のデータベースを利用し、前記管理ソフトウェアに前記データベースとの間の入出力インターフェイスを備えれば、多くの場合十分に機能する。
【００４０】
以上の説明から分かるように、本発明のソフトウェアライセンスの管理方法は、システム自体が軽く構成され、且つ前記ソフトウェアの不正使用にもかなりの効果をあげることが可能なので、容易な又費用が少なくてすむシステム構築ができることになる。又１の前記ソフトウェア又は１の前記ソフトウェアの記憶媒体から複数の又は数限りなくソフトウェアライセンスを発生させて販売することができるので、販売経費を抑えることができる。更に、ソフトウェアライセンスの販売について様々なサービス形態が可能になり、これらのサービス形態に伴うソフトウェアライセンスのメンテナンスの維持又は打ち切りにも適応したものである。
【発明を実施するための最良の形態】
【００４１】
以下、本発明の実施の形態を図１〜図３に基づいて説明する。
【００４２】
本発明のソフトウェアライセンスの管理方法の全体構成は図１に示される。図１においては、本発明の全ての主たる構成を図示するが、本発明の構成は図１に限定されるものではない。本発明のソフトウェア提供者１の側とソフトウェア使用者２の側の関連する機能について以下説明する。本発明のソフトウェア使用者２の側での実行過程については図２以下で詳細に説明することにし、図１では必要な事項を説明する。
【００４３】
ソフトウェア提供者１がソフトウェア使用者２に対してソフトウェア３を提供し、ソフトウェア使用者２は、ソフトウェア使用者２の側のコンピュータ４にソフトウェア３をインストールして、使用を開始する。
【００４４】
ソフトウェア３のインストール時又は最初の使用開始時（以下これらの日時を「起算日時」という。）には、ソフトウェア３のライセンス形態は何も設定されていないから、コンピュータ４の識別情報９を取得し、その時点でライセンスコード１３を新規１６のライセンスコード１４として生成し、第１のライセンス形態７を決定するものとしてライセンスコード１４に特定的に対応したキーコード１９を必要に応じて同時に生成するが、該キーコード１９を生成しなくてもよい。図１では該キーコード１９を生成しない場合を示している。前記第２の過程において、これらの情報とソフトウェア３の第１のライセンス形態７で使用期間が限定されている場合には起算日時１２とその他のライセンス情報は設定されていないこととに対して暗号化又は暗号化と所定の形式化を行い、コンピュータ４のライセンス設定領域１０に記憶して、第１のライセンス形態７を設定する。
【００４５】
以後ソフトウェア３の起動時にライセンス設定領域１０から、記憶されたライセンス情報に対して復号化又は復号化と再生を行い、第１のライセンス形態７でソフトウェア３を実行する。第１のライセンス形態７で使用期間が限定されている場合には、起動時に現在日時をチェックし、現在日時が使用期間内であればソフトウェア３を実行するが、現在日時が使用期間内でなければソフトウェア３の実行を終了する。ここで使用期間が起算日時１２からの相対的な期間で設定されている場合には、現在日時と起算日時１２との差をチェックする。
【００４６】
ソフトウェア３のライセンス形態を第２のライセンス形態８に移行するには、ソフトウェア使用者２がソフトウェア提供者１に対して、新規１６のライセンスコード１４を通知する。これに対応して、ソフトウェア提供者１は、ソフトウェアライセンスの管理方法の対応を実行する請求項７記載の管理ソフトウェア５と該管理ソフトウェア５をインストールしたコンピュータ６を用いて、第２のライセンス形態８を決定するものとしてライセンスコード１４に特定的に対応するキーコード１９を得、ソフトウェアライセンスの管理において第２のライセンス形態８を一意に特定するものであって番号ばかりでなく記号であってもよいライセンス番号で管理する場合（以下「ライセンス番号で管理する場合」という。）にはライセンス番号２０を得て、これらをソフトウェア使用者２に通知する。
【００４７】
ソフトウェア使用者２は、キーコード１９とライセンス番号で管理する場合にはライセンス番号２０の通知を受けて、前記第３の過程においてこれらを入力する。ソフトウェア３はキーコード１９が第２のライセンス形態８を決定するものとしてライセンスコード１４に特定的に対応しているか及びライセンス番号で管理する場合にはライセンス番号２０が所定の書式か判定し、これらの判定で否定されることがなければ、ライセンスコード１４、キーコード１９、識別情報９、ライセンス番号で管理する場合にはライセンス番号２０、第１のライセンス形態７で使用期間が限定されている場合には起算日時１２及び以前のライセンス形態に関する付加情報が設定されていないことからなるライセンス情報対して、暗号化又は暗号化と所定の形式化を行い、ライセンス設定領域１０に記憶して、第２のライセンス形態８を設定する。
【００４８】
ソフトウェア提供者１は、キーコード１９とライセンス番号で管理する場合にはライセンス番号２０をソフトウェア使用者２に通知することに替えて、管理ソフトウェア５において、ライセンスコード１４、キーコード１９及びライセンス番号で管理する場合にはライセンス番号２０を、適当な暗号化関数などを用いた暗号化を施して、ライセンス設定ファイル２４を作成し、配布してもよい。ソフトウェア使用者２は、前記第３の過程において、ライセンス設定ファイル２４を読み込むことによって、ライセンスコード１４がライセンス設定ファイル２４と第１のライセンス形態７で一致していることを条件に、前記入力の場合と同様にして第２のライセンス形態８を設定することができる。
【００４９】
更に、ソフトウェア提供者１は、ソフトウェア３の不正防止を抑制するために、ソフトウェアライセンスの管理においてソフトウェア使用者２に一意に割り当てられたものであって番号ばかりでなく記号であってもよいユーザ番号２１及びソフトウェア使用者２を特定する諸情報からなるユーザ情報を用いる場合（以下「ユーザ設定の場合」という。）には、該ユーザ情報を適当な暗号化関数などを用いた暗号化を施して、ユーザ設定ファイル２６を作成して、キーコード１９などの通知又はライセンス設定ファイル２４の配布とともに、ソフトウェア使用者２に配布する。
【００５０】
ソフトウェア使用者２は、ユーザ設定ファイル２６をコンピュータ４内のファイルシステム内のある位置であるユーザ設定領域１１に保存し、ソフトウェア３の起動時における前記第１の過程でライセンス形態が検出されるまでにユーザ設定ファイル２６を読み込み、暗号化されていたユーザ情報を復号化し、復号化に成功した場合に限って（以下「ユーザ設定の場合でユーザが特定された時」という。）、前記入力及びライセンス設定ファイル２４の読み込みが許可される。あるいは更にユーザ設定の場合でユーザが特定された時以外の時に、前記第１の過程で前記第３の状態が検出された場合に、前記第２の状態又は前記第４の状態とし、又現在のライセンス情報をディスプレイ上へ表示する場合に一部の表示を抑止してもよい。あるいは更にライセンス設定ファイル２４にもユーザ番号２１を暗号化して書き込むことにし、ユーザ設定の場合でユーザが特定された時に、ライセンス設定ファイル２４から復号化したユーザ番号２１が、ユーザ設定ファイル２６から復号化したユーザ番号２１と一致した場合に限って、ライセンス設定ファイル２４読み込み後の所定の処理を行うことにしてもよい。
【００５１】
更に不正防止を強化するため、最初にユーザ設定ファイル２６を読み込んだ時、ユーザ情報がコンピュータ４のＯＳが設定するある領域に記憶されていなければ、ユーザ情報を暗号化して若しくは暗号化のまま前記領域に記憶することにし、ユーザ情報が前記領域に記憶されていれば、前記領域に記憶されているユーザ情報を復号化して復号化に成功した場合を前記ユーザ設定の場合でユーザが特定された時としてもよい。これはユーザ設定ファイル２６の喪失に備えたものである。又はユーザ設定ファイル２６と前記領域の両者がある時には両者からの復号化が成功し両方の復号化したユーザ情報が一致した場合を前記ユーザ設定の場合でユーザが特定された時としてもよい。そして前記領域がある場合には、ユーザ設定領域１１は前記領域を含むものとする。更にユーザ番号２１がライセンス設定領域１０にも記憶されるソフトウェアライセンスの管理（以下「ユーザ番号管理」という。）の場合には、ライセンス情報が暗号化又は暗号化と形式化されてライセンス設定領域１０に記憶される時、同時にユーザ番号２１が暗号化されてライセンス設定領域１０に記憶され、ライセンス設定領域１０に記憶されたユーザ番号２１を復号化して復号化に成功し、当該復号化したユーザ番号２１が、ユーザ設定領域１１として前記二箇所の内一つしかない時は当該箇所から復号化に成功した場合又はユーザ設定領域１１として前記二箇所がある時には両者からの復号化が成功し両方の復号化したユーザ情報が一致した場合のいずれかの場合の復号化されたユーザ番号２１と一致する時を前記ユーザ設定の場合でユーザが特定された時としてもよい。ユーザ番号管理の場合のライセンス設定領域１０への記憶については図２以下で説明するとし、以下図１の説明では割愛する。
【００５２】
ソフトウェア使用者２は、前記いずれの第２のライセンス形態８を設定する場合も、当該ライセンス情報対して暗号化又は暗号化と所定の形式化を行い（暗号化はライセンス設定領域１０に記憶する場合と異なってもよい。）、ライセンスバックアップファイル２３を作成する。この場合のライセンスバックアップファイル２３には、ライセンスコード１４（この場合、総称的にはライセンスコード１３）、キーコード１９、識別情報９、ライセンス番号で管理する場合にはライセンス番号２０及び第１のライセンス形態７で使用期間が限定されている場合には起算日時１２が暗号化されて記録される。前記付加情報については設定されていないことが、暗号化又は形式化され記録される。更にユーザ設定の場合でユーザが特定された時に、不正防止を強化する場合にはライセンスバックアップファイル２３にもユーザ番号２１を暗号化して書き込むことにしてもよい。
【００５３】
以後ソフトウェア３の起動時にライセンス設定領域１０から、記憶されたライセンス情報に対して復号化又は復号化と再生を行い、ユーザ設定の場合の場合は、ユーザ設定領域１１から、記憶されたユーザ情報を復号化し、第２のライセンス形態８でソフトウェア３を実行する。
【００５４】
ソフトウェア提供者１の側では、ソフトウェア使用者２のライセンスバックアップファイル２３の喪失に備えて、ライセンスバックアップファイル２３を作成する機能を備えておくべきであるので、その場合には、ソフトウェア使用者２からの依頼を受け、管理ソフトウェア５において、ライセンスコード１３に対するキーコード１９の発行記録及び／又はライセンス番号で管理する場合にはライセンス番号２０に対するキーコード１９の発行記録から、ライセンスコード１３、キーコード１９、ライセンス番号で管理する場合にはライセンス番号２０及びその他のライセンス情報を適正に設定し、前記付加情報に関する部分以外の当該ライセンス情報及びユーザ設定の場合でライセンスバックアップファイル２３にユーザ番号２１を暗号化して書き込む場合にはユーザ番号２１については暗号化を行い、前記付加情報に関する部分については暗号化又は所定の形式化を行い、ライセンスバックアップファイル２３を作成し、ソフトウェア使用者２に配布する。
【００５５】
次に、ライセンスの継承１７の場合を説明する。この場合、ソフトウェア使用者２は、第２のライセンス形態８を復旧又は移転したいコンピュータ４にソフトウェア３をインストールし、ユーザ設定の場合には、コンピュータ４内のユーザ設定領域１１にユーザ設定ファイル２６を保存する。そして、ソフトウェア３を起動し、ソフトウェア３が第１のライセンス形態７で実行されていることを前記第３の過程で確認し、復旧又は移転したい第２のライセンス形態８を設定する際又は当該第２のライセンス形態８について作成したライセンスバックアップファイル２３を読み込む。
【００５６】
ライセンスバックアップファイル２３から暗号化されている情報の復号化又は復号化と再生に成功し、ライセンスバックアップファイル２３が第２のライセンス形態８にある場合に、更にユーザ設定の場合でライセンスバックアップファイル２３にユーザ番号２１を暗号化して書き込むことにしている場合には、ライセンスバックアップファイル２３から復号化したユーザ番号２１が、ユーザ設定の場合でユーザが特定された時であって、ユーザ設定領域１１から復号化したユーザ番号２１と一致した場合に限って、第１のライセンス形態７のライセンスコード１４が新規１６のライセンスコード１４と明白に区別される継承１７のライセンスコード１５として設定し直される。そしてライセンスコード１４に基づいていた第１のライセンス形態７がライセンスコード１５に基づくライセンス情報によって、改めてライセンスコード１５に基づく第１のライセンス形態７に設定し直される。ソフトウェア使用者２はソフトウェア提供者１に対して、継承１７のライセンスコード１５、ライセンス番号で管理する場合にはライセンスバックアップファイル２３から復号化したライセンス番号２０及びライセンスバックアップファイル２３から復号化したライセンスコード１３を通知する。
【００５７】
これに対応して、ソフトウェア提供者１は、管理ソフトウェア５において、第２のライセンス形態８を決定するものとしてライセンスコード１５に特定的に対応するキーコード１９を得、ソフトウェア使用者２に通知する。この場合、キーコード１９の発行は、ライセンスバックアップファイル２３から復号化したライセンスコード１３に対して、過去に該当の発行記録がなかったかを調べ、第２のライセンス形態８の二重発行がないよう注意しなければならない。ライセンス番号で管理する場合にはライセンスバックアップファイル２３から復号化したライセンス番号２０を得て、このようなソフトウェアライセンスの管理は容易になる。
【００５８】
ソフトウェア使用者２は、キーコード１９の通知を受けて、前記第３の過程（前記第８の過程の場合も実際上は、前記第８の過程を一旦終了して前記第３の過程で入力することになる。）においてキーコード１９を入力する。ソフトウェア３はキーコード１９が第２のライセンス形態８を決定するものとしてライセンスコード１５に特定的に対応しているか判定し、該判定で肯定されれば、ライセンスコード１５、キーコード１９、識別情報９、ライセンス番号で管理する場合にはライセンス番号２０、第１のライセンス形態７で使用期間が限定されている場合には起算日時１２及び設定されていた前記付加情報からなるライセンス情報に対して、暗号化又は暗号化と所定の形式化を行い、ライセンス設定領域１０に記憶して、第２のライセンス形態８を設定する。前記付加情報には、ライセンスコード１５に基づく第１のライセンス形態７に設定し直され際に、ライセンスバックアップファイル２３から復号化したライセンスコード１３、キーコード１９及び前記第１のライセンス形態７で使用期間が限定されている場合には起算日時１２の内少なくともライセンスコード１３が記憶されている。
【００５９】
ソフトウェア提供者１は、ライセンスコード１５に対するキーコード１９をソフトウェア使用者２に通知することに替えて、管理ソフトウェア５において、ライセンスコード１５、キーコード１９、ライセンス番号で管理する場合にはライセンスバックアップファイル２３から復号化したライセンス番号２０及びユーザ設定の場合でライセンス設定ファイル２４にユーザ番号２１を暗号化して書き込むことにしている場合にはユーザ番号２１を、適当な暗号化関数などを用いた暗号化を施して、ライセンス設定ファイル２４を作成し、ソフトウェア使用者２に配布してもよい。ソフトウェア使用者２は、前記第３の過程（前記第８の過程の場合も実際上は、前記第８の過程を一旦終了して前記第３の過程で読み込むことになる。）において、ライセンス設定ファイル２４を読み込むことによって、ライセンスコード１５及びライセンス番号で管理する場合にはライセンス番号２０がライセンス設定ファイル２４と第１のライセンス形態７で一致している場合に、更にユーザ設定の場合でライセンス設定ファイル２４にユーザ番号２１を暗号化して書き込むことにしている場合には、ライセンス設定ファイル２４から復号化したユーザ番号２１が、ユーザ設定の場合でユーザが特定された時であって、ユーザ設定領域１１から復号化したユーザ番号２１と一致した場合に限って、前記入力の場合と同様に第２のライセンス形態８を設定することができる。
【００６０】
ソフトウェア使用者２は、前記いずれの第２のライセンス形態８を設定する場合も、当該ライセンス情報対して暗号化又は暗号化と所定の形式化を行い（暗号化はライセンス設定領域１０に記憶する場合と異なってもよい。）、ライセンスバックアップファイル２３を作成するが、この作成は、前記のライセンスコード１４について行う場合と、ライセンスコード１４に替えてライセンスコード１５を用いること及び前記付加情報が設定されていないことに替えて、前記付加情報には、ライセンスコード１５に基づく第１のライセンス形態７に設定し直され際に、ライセンスバックアップファイル２３から復号化したライセンスコード１３、キーコード１９及び前記第１のライセンス形態７で使用期間が限定されている場合には起算日時１２の内少なくともライセンスコード１３が設定されていることが異なるだけで、その他は同じである。
【００６１】
以後、新規１６の場合と同様、ソフトウェア３の起動時にライセンス設定領域１０から、記憶されたライセンス情報に対して復号化又は復号化と再生を行い、ユーザ設定の場合の場合は、ユーザ設定領域１１から、記憶されたユーザ情報を復号化し、第２のライセンス形態８でソフトウェア３を実行する。但し通常は、使用許諾契約書で、継承される側の第２のライセンス形態８及び当該第２のライセンス形態８のもとで作成されたライセンスバックアップファイル２３は無効にする。
【００６２】
次に、ライセンスの復元１８の場合を説明する。この場合復元１８に先立って、ソフトウェア使用者２はソフトウェア提供者１に対して、復元する第２のライセンス形態８についてのライセンスコード１３及びライセンス番号で管理する場合には第２のライセンス形態８についてのライセンス番号２０を通知する。ライセンスコード１３及びライセンス番号で管理する場合にはライセンス番号２０は、復元する第２のライセンス形態８について作成されたライセンスバックアップファイル２３に記録したものでもある。ここで、ライセンスコード１３としては新規１６の場合のライセンスコード１４と継承１７の場合のライセンスコード１５と両方のケースがある。
【００６３】
これに対応して、ソフトウェア提供者１は、管理ソフトウェア５において、ライセンスコード１３を復元するものとしてライセンスコード１３に特定的に対応する復元コード２２を得、ライセンスコード１３、ライセンス番号で管理する場合にはライセンス番号２０、復元コード２２及びユーザ設定の場合でライセンス復元ファイル２５にユーザ番号２１を暗号化して書き込むことにしている場合にはユーザ番号２１を、適当な暗号化関数などを用いた暗号化を施して、ライセンス復元ファイル２５を作成し、ソフトウェア使用者２に配布する。ここで、ライセンス復元ファイル２５を発行する場合、ライセンスの継承１７の場合と同様に、現在有効な第２のライセンス形態８に対して行うことが必要であり、ライセンス番号で管理する場合にはライセンス番号２０によるソフトウェアライセンスの管理の有効性も明らかである。
【００６４】
ソフトウェア使用者２は、ライセンス復元ファイル２５の配布を受けて、ライセンスの継承１７と同様、復元するコンピュータ４にソフトウェア３をインストールし、ユーザ設定の場合には、コンピュータ４内のユーザ設定領域１１にユーザ設定ファイル２６を保存する。そして、ソフトウェア３を起動し、ソフトウェア３が第１のライセンス形態７で実行されていることを前記第３の過程で確認し、復元する第２のライセンス形態８について作成したライセンスバックアップファイル２３を読み込む。
【００６５】
ライセンスバックアップファイル２３から暗号化されている情報の復号化又は復号化と再生に成功し、ライセンスバックアップファイル２３が第２のライセンス形態８にある場合に、更にユーザ設定の場合でライセンスバックアップファイル２３にユーザ番号２１を暗号化して書き込むことにしている場合には、ライセンスバックアップファイル２３から復号化したユーザ番号２１が、ユーザ設定の場合でユーザが特定された時であって、ユーザ設定領域１１から復号化したユーザ番号２１と一致した場合に限って、配布されたライセンス復元ファイル２５を読み込む。ライセンス復元ファイル２５から暗号化されている情報を復号化して復号化に成功し、ライセンスバックアップファイル２３とライセンス復元ファイル２５との間で、ライセンスコード１３が一致し、ライセンス番号で管理する場合にはライセンス番号２０が一致し、復元コード２２が一致したライセンスコード１３を復元するものとして一致したライセンスコード１３に特定的に対応すると判定した時であって、更にユーザ設定の場合でライセンス復元ファイル２５にユーザ番号２１を暗号化して書き込むことにしている場合には、ライセンス復元バックファイル２５から復号化したユーザ番号２１が、ユーザ設定の場合でユーザが特定された時であって、ユーザ設定領域１１から復号化したユーザ番号２１と一致した場合に限って、一致したライセンスコード１３、ライセンスバックアップファイル２３から復号化したキーコード１９、識別情報９、ライセンス番号で管理する場合には一致したライセンス番号２０、第１のライセンス形態７で使用期間が限定されている場合にはライセンスバックアップファイル２３から復号化した起算日時１２及びライセンスバックアップファイル２３に前記付加情報が記録されていない時は前記付加情報がないこと若しくはライセンスバックアップファイル２３に前記付加情報が記録されている時は該付加情報からなるライセンス情報に対して、暗号化又は暗号化と所定の形式化を行い、ライセンス設定領域１０に記憶して、第２のライセンス形態８を設定する。
【００６６】
以後、新規１６又は継承１７の場合と同様、ソフトウェア３の起動時にライセンス設定領域１０から、記憶されたライセンス情報に対して復号化又は復号化と再生を行い、ユーザ設定の場合の場合は、ユーザ設定領域１１から、記憶されたユーザ情報を復号化し、第２のライセンス形態８でソフトウェア３を実行する。但し通常は、使用許諾契約書で、復元される側の第２のライセンス形態８は無効にする。ライセンスの復元１８は、ソフトウェア使用者２が第２のライセンス形態８を取得してから一定の期間が経過した場合及び／又はソフトウェア提供者１の事情による場合に行うことができる。その場合にはソフトウェアライセンスのメンテナンスの打ち切りができることになる。
【実施例】
【００６７】
ソフトウェア使用者２の側で、本発明のソフトウェア３が実行される過程の一実施例をフローチャートで図示したものが図２である。図２は、説明の都合上、本発明のソフトウェア３の代表的な機能を組み込んだ形での実行過程を示すが、本発明のソフトウェア３の実行過程は図２に限定されるものではない。以下、図２について説明する。
【００６８】
ソフトウェア３の第１のライセンス形態７については、不正使用に対処するため、使用期間が限定され且つ機能が制限されている方が良いことはいうまでもない。使用期間の制限については、ソフトウェア３の起算日時１２からの期間を相対的に設定する方が一般性があるが、ある種のソフトウェアについては、使用時の日時を絶対的に設定する方が得策の場合もある。
【００６９】
図２のステップＳ１１、Ｓ１３及びＳ１４は、請求項１記載の第１の過程であるが、ステップＳ１２は請求項６記載のユーザ設定ファイル２６を用いない場合は省略される。請求項２に記載の初期処理では、ソフトウェア３のインストール時に、前記第１の過程が行われる。
【００７０】
ソフトウェア３が起動されると、先ずステップＳ１１において、ソフトウェア３がインストールされたコンピュータ４に特有なＯＳ又はハードウェアの識別情報９を獲得する。ＯＳの識別情報９としては、ＯＳのプロダクトＩＤなどがあり、ハードウェアの識別情報９としては、コンピュータ４のネットワークインターフェイスのＭＡＣアドレスなどがある。特にＯＳのプロダクトＩＤを識別情報９として使用する場合は、１００％不正使用を防止できないが、ＯＳのコピーはそれなりの危険性があること、又それよりライセンスバックアップファイル２３を用いたキーコード１９の不正申請の方が障害が少ないことから、コンピュータ４の識別情報９のコピーは実際上無視できるものである。識別情報９を記憶する。
【００７１】
次にステップＳ１２においては、ユーザ設定の場合には、コンピュータ４内のファイルシステム内のある位置（普通はソフトウェア３がインストールされたフォルダ）のユーザ設定ファイル２６を読み込み、所定の復号化を行い、ユーザ番号２１を記憶し、ユーザ設定の場合でユーザが特定された時とする。この時、図１で説明したように、セキュリティを更に強化する場合には、ユーザ情報がＯＳの設定するある領域に記憶されていなければ、ユーザ設定ファイル２６の暗号化されたユーザ情報を暗号化されたまま又は復号化されたユーザ情報に対して所定の再暗号化を行い、前記領域に記憶するものとする。そして、ユーザ情報が前記領域に記憶されていれば、前記領域に記憶されているユーザ情報に対して所定の復号化を行い、復号化に成功した場合、又はユーザ設定ファイル２６と前記領域（両者を併せたものがユーザ設定領域１１である。）の両者がある時には両者からの復号化が成功し両方の復号化したユーザ情報が一致した場合のいずれかの場合のみ、ユーザ番号２１を記憶し、ユーザ設定の場合でユーザが特定された時とする。ユーザ番号管理の場合については図１で説明した通りである。
【００７２】
次にステップＳ１３においては、ソフトウェア３のライセンス情報を、コンピュータ４内のＯＳの設定する領域及び／又はファイルシステム（普通はソフトウェア３がインストールされたフォルダ）内のファイル（両者を併せてライセンス設定領域１０である。）に記憶されているものを読み込む。セキュリティを強化する場合には前記の両方の場所に記憶されているものとする。インストール直後は何も設定されていない筈だから、ライセンス情報は何も設定されていない未設定の状態にあり、後述のステップＳ３２において、第１のライセンス形態７についてのライセンス情報に対して、暗号化又は暗号化と形式化が行われ、ライセンス設定領域１０に記憶される。但し、請求項２に記載のように、インストール時に前記未設定の状態が検出され、後述のステップＳ３２が行われる場合もある。
【００７３】
記憶される内容は、ランダムに発生させた一定数の文字コード又は該文字コードに一定の演算を施した文字コードからなるライセンスコード１３、ライセンスコード１３に特定的に対応した文字コードであってライセンス形態を決定するキーコード１９若しくはキーコード１９が設定されていないこと、識別情報９、ライセンス番号で管理する場合にはライセンス番号２０若しくはライセンス番号で管理する場合のライセンス番号２０が設定されていないこと及び第１のライセンス形態７で使用期間が限定されている場合には起算日時１２に所定の暗号化を行ったものと、以前のライセンス形態に関する付加情報又は該付加情報が設定されていないこととからなるライセンス情報について、前記付加情報に関する部分以外の当該ライセンス情報については暗号化され、前記付加情報に関する部分については暗号化又は形式化されたものである。
【００７４】
ライセンスコード１３は、ライセンス形態を特定するためのコードであって、ある程度の文字数を設定することによって実際上同一のライセンスコード１３を設定する可能性は無視できる。ライセンスコード１３をランダムに発生させる際には、時刻情報だけでなく、識別情報９の一部やその他のコンピュータ４のその時の属性の一部を乱数や擬似乱数の種として、複数のランダムな記号列を発生させそれらに適当な演算を施せば、再現性を防止できる。又ライセンスコード１３は、新規１６に設定される場合とライセンスの継承１７で設定される場合とで明白に区別されなければならないので、例えば両方の場合で異なった接頭文字コードを付加するなどの処理が必要である。
【００７５】
キーコード１９は、ライセンスコード１３に特定的に対応する必要があり、ソフトウェア３は、ライセンスコード１３とキーコード１９とがどのライセンス形態について特定的に対応しているか判定する機能を持たなければならない。この判定は、両者に所定のチェックや変換処理を施し両者が一定の関係にあることで確認する。キーコード１９は、第２のライセンス形態８の場合は指定されることは必要だが、第１のライセンス形態７の場合は設定されなくてもよいし、第２のライセンス形態８の場合と異なってライセンスコード１３に特定的に対応していてもよい。設定されていない場合は、ダミーのコードでもよいし文字数の指定などによってもよい。
【００７６】
識別情報９は、ライセンス形態が設定されたコンピュータを特定するために記憶されるものであって、前記ステップＳ１１で取得した識別情報と比較して、ライセンス設定領域１０がコピーされていないかをチェックし不正使用を防止するためである。ＯＳが設定する領域のコピーも容易に行うことができるからである。
【００７７】
ライセンス番号２０を用いてソフトウェアライセンスを管理することにすれば、ライセンスの継承１７やライセンスの復元１８を円滑に行うことができる。ソフトウェア提供者１の側で、ソフトウェアライセンスの管理にデータベースを使用する場合にも好都合である。ライセンス番号２０は、ライセンス番号で管理する場合でも、第１のライセンス形態７の場合には設定されなくてもよいし、ダミーの番号でもよいし文字数の指定などによってもよい。
【００７８】
第１のライセンス形態７で使用期間が限定されている場合に、起算日時１２を記憶して、第１のライセンス形態７のもとでソフトウェア３の実行を許可するかの判断をする必要がある。
【００７９】
上記の情報を暗号化してライセンス設定領域１０に記憶する場合の暗号化は、適当な暗号化関数を用いてもよいし、前記のような乱数列に埋め込んでもよい。この場合、暗号化の箇所を特定されないために、一部の設定情報が変更された場合でも全ての情報を再暗号化する必要がある。又ライセンス設定領域１０がＯＳの設定する領域とファイルの両方である場合には、暗号化を別のものにしてもよいし、同一でもよい。
【００８０】
前記付加情報としては、ライセンスの継承１７の際の、第２のライセンス形態８であったバックアップファイル２３に記録されたライセンスコード１３、キーコード１９及び起算日時１２がある。この内すくなくともライセンスコード１３は記憶しておく方が後の確認に役立つので記憶する。前記付加情報は必ずしも暗号化される必要はないが、暗号化される場合はライセンスコード１３などの暗号化と同様の処理をすればよく、暗号化されない場合は所定の形式化を行って記憶される。設定されていない場合は、ダミーの文字列でもよいし文字数の指定などによってもよい。
【００８１】
ステップＳ１３においては、ライセンス設定領域１０にライセンス情報が設定されているか、設定されている場合は、記憶されていた暗号化又は暗号化と形式化が行われたライセンス情報を取得する。そして当該ライセンス情報を取得した場合には、暗号化されていたものは復号化し、暗号化されていないものについては形式化されていたものから再生する。又ユーザ番号管理の場合には、当該ライセンス情報が設定されている場合に、設定されていたユーザ番号２１又はユーザ番号２１が設定されていないことが復号化される。
【００８２】
次にステップＳ１４においては、ライセンス設定領域１０にライセンス情報が何も設定されていなければ、ライセンス形態は未設定の状態にあるとし、ステップＳ１３において、ライセンス設定領域１０がＯＳの設定する領域とファイルの一方だけにライセンス情報が設定されている時は、記憶されていたライセンス情報の復号化又は復号化と再生に成功した場合又はライセンス設定領域１０が前記二箇所の両方である時は、両者の復号化又は復号化と再生に成功し、両者の復号化又は復号化と再生が行われたライセンス情報が一致した場合のいずれかの場合に、復号化した識別情報９と前記ステップＳ１１で取得したコンピュータ４の識別情報９が一致し、復号化したキーコード１９が未設定であるか又は復号化したライセンスコード１３と特定的に対応しているかにより第１のライセンス形態７又は第２のライセンス形態８である状態か判定し、これら以外の場合は不正インストールの状態であるとして、これら四つの状態のいずれであるかを検出する。但し、ユーザ設定の場合には、第２のライセンス形態８であると判定した場合でも、前記ステップＳ１２において、ユーザ設定の場合でユーザが特定された時以外の時は、不正インストール又は第１のライセンス形態としてもよい。又請求項２記載の初期処理の場合は、前記第１の状態以外の状態が検出された場合は、インストール作業に戻るかインストール作業が完了していればインストール作業を終えるものとする。そして、前記初期処理を行った場合には、起動時に限ってステップ１４において未設定の状態が検出された時には、不正インストールとしてもよい。
【００８３】
先ず説明の都合上、請求項１記載の第７の過程である不正インストールの場合を説明する。前記第７の過程はステップＳ２１、Ｓ２２及びＳ３２からなる。ステップＳ１４において検出された現在のライセンスの状態がステップＳ２１の不正インストールの場合には、ディスプレイ上にその旨を表示し、そのままソフトウェア３の実行を終了するか、現在のライセンス形態を第１のライセンス形態７にするか又はこれらのどちらかを使用者に選択させるかのいずれかを行う。又前記表示は何によって不正インストールであると判定したかの内容を非開示にしたエラーコードとともに表示するようにすれば、不正操作を防止する効果がある。
【００８４】
この実施例では、ステップＳ２２の判断において、使用者に選択させるようにしている。初期化しない場合はそのままソフトウェア３の実行を終了する。初期化する場合は、第１のライセンス形態７にするため、後述のステップＳ３２に進む。
【００８５】
又この実施例では、分かり易くするため不正インストールの場合を、後述のステップＳ４２のライセンス情報の表示とステップＳ４３のライセンス設定過程とは独立して記述したが、前記発明の効果で述べたように、ライセンス形態に対する情報の提示と処理操作の集中は望ましいことであるので、そのようなユーザインターフェイスのもとでは、ステップＳ４２及びＳ４３に不正インストールの場合を統合する方が自然である。
【００８６】
次に、請求項１記載の第２の過程であるライセンス形態が未設定の場合を説明する。前記第２の過程はステップＳ３１及びＳ３２からなる。ステップＳ１４において検出された現在のライセンスの形態がステップＳ３１の未設定の場合には、ステップＳ３２において、その時点で発生させたライセンスコード１４、第１のライセンス形態７を決定するものとしてライセンスコード１４と同時に生成されライセンスコード１４に特定的に対応するキーコード１９若しくはキーコード１９が設定されていないこと、識別情報９、ライセンス番号で管理する場合にはライセンス番号２０が設定されていないこと、第１のライセンス形態７で使用期間が限定されている場合には起算日時１２及び前記付加情報が設定されていないことからなるライセンス情報について、前記付加情報に関する部分以外の当該ライセンス情報については暗号化し、前記付加情報に関する部分については暗号化又は所定の形式化を行い、それらをライセンス設定領域１０に記憶して、新規１７として第１のライセンス形態７を設定する。暗号化については前記ステップＳ１３において記した通りである。尚、以下の説明ではライセンスコード１３は、新規１６のライセンスコード１４と継承１７のライセンスコード１５を総称して用いることにする。
【００８７】
ユーザ番号管理の場合には、ユーザ設定の場合でユーザが特定された時にはユーザ番号２１又はユーザ設定の場合でユーザが特定された時ではない時はユーザ番号２１が設定されていないことが、同時に暗号化されライセンス設定領域１０に記憶される。この暗号化は当該ライセンス情報の暗号化と同一であってもよいし、適当な暗号化関数などによってもよい。
【００８８】
ライセンスコード１４は、前記ステップＳ１３において述べたようにして、新たにこの時点でランダムに発生させて得たものであり、識別情報９は前記ステップＳ１１で取得したものである。起算日時１２としてソフトウェア３の最初の使用開始日時を採用する場合は、単にコンピュータ４の現在のシステム時刻を採用して十分であるが、コンピュータ４がインターネットに接続されている場合は、インターネット上のタイムサーバから正確な時刻を採用してもよい。又起算日時１２としてインストール日時を採用する場合は、例えばインストールの過程で、その時のコンピュータ４のシステム時刻をＯＳの設定する領域の特定の場所に記憶するようにしておき、ステップＳ３２においてその場所から読み出して採用すればよい。この段階では前記付加情報は設定されていない。
【００８９】
ステップＳ３２においては、キーコード１９が設定されていないこと、ライセンス番号で管理する場合にはライセンス番号２０は未だ設定されていないこと及び前記付加情報が設定されていないことのいずれに対しても、ダミーのコード、番号又は文字列を各々割り当てるか特定の文字数を指定などする。ライセンス設定領域１０が、ＯＳの設定する領域とファイルの両方である場合には、両方に書き込んで記憶する。この時、ソフトウェア使用者２にライセンス設定領域１０に作成する権限が与えられていない場合がある。この場合には、図２には図示していないが、この記憶はできないからその旨を表示して、ソフトウェア３の実行を終了する。前記の権限を持った使用者に起動してもらう必要がある。ライセンス設定領域１０に記憶できて初めて、第１のライセンス形態７を設定したことになり、次にステップＳ４２に進み、上記の設定内容を使用者に確認させるものである。
【００９０】
又請求項２記載の初期処理の場合は、前記第１の過程で、検出された現在のライセンスの形態が前記ステップＳ３１の未設定の場合には、前記ステップＳ３２を実行（ソフトウェア３の実行の終了の場合を除く。）した後、インストール作業に戻るかインストール作業が完了していればインストール作業を終えるものとする。
【００９１】
次に、請求項１記載の第３の過程である現在のライセンス形態が第１のライセンス形態７である場合又は前記ステップＳ３２の結果の場合を説明する。前記第３の過程はステップＳ４１及びＳ４２からなる。ステップＳ１４において検出された現在のライセンス形態がステップＳ４１の第１のライセンス形態７である場合又は前記ステップＳ３２の結果として、ステップＳ４２において、ディスプレイ上に現在のライセンス情報の内、ライセンスコード１４、ライセンス番号で管理する場合でライセンス番号２０が設定されている時にはライセンス番号２０、第１のライセンス形態７で使用期間が限定されている場合には起算日時１２、前記付加情報が設定されている場合は該付加情報の全て若しくは一部及び現在のライセンス形態を表示し、第２のライセンス形態８へ移行するためのキーコード１９及びライセンス番号で管理する場合でライセンス番号２０が設定されていない時にはライセンス番号２０の入力を促す。
【００９２】
ステップＳ４２においては、識別情報９を表示する必要はなく、むしろ不正使用を防止する上で、識別情報９を開示しないのが有効である。又キーコード１９が設定されている場合であっても必ずしも表示する必要はない。前記付加情報としては、ライセンスの継承１７の際の、第２のライセンス形態８であったライセンスバックアップファイル２３に記録されていたライセンスコード１３、キーコード１９及び起算日時１２の内で記憶している該付加情報の全て又は一部を表示する。
【００９３】
現在のライセンス形態の表示については、現在のライセンス形態が第１のライセンス形態７にあるのか第２のライセンス形態８にあるのかを表示するものである。又不正インストールの場合を統合する場合は、前記ステップＳ２１におけるエラーコードとともに不正インストールである旨を表示する。これらの場合に、前記ステップＳ１４において、第２のライセンス形態であったものが、ユーザ設定の場合でユーザが特定された時でないことによって、不正インストール又は第１のライセンス形態７とされた場合には、第２のライセンス形態８である時には表示するライセンス情報の一部を非表示にしてもよい。又ユーザ設定の場合でユーザが特定された時でないことは、その旨を表示する。
【００９４】
前記発明の効果で述べたように、ライセンス形態に対する情報の提示と処理操作の集中は望ましいことであるので、ステップＳ４２は、そのようなユーザインターフェイスのもとでなされるべきであり、上記のライセンス情報をダイアログボックスなどの表示方法で一括表示するのが合理的である。更にユーザ設定の場合でユーザが特定された時でない場合は、キーコード１９及びライセンス番号で管理する場合でライセンス番号２０が設定されていない時にはライセンス番号２０の入力を不可能にし、前記ダイアログボックスなどの表示方法でも該当の項目を使用できないようにすることで、操作を明確にすることができる。
【００９５】
次に、ステップＳ４２のライセンス情報の表示を受けて、ライセンス形態を設定するステップＳ４３のライセンス設定過程については、後述の図３で説明することにする。
【００９６】
ステップＳ４３が終了した後は、ライセンス形態は、第１のライセンス形態７か第２のライセンス形態８のいずれかである。ステップＳ４４の判断で、ライセンス形態が第１のライセンス形態７である場合は、ステップＳ４５に進み、ライセンス形態が第２のライセンス形態８である場合は、ステップＳ５２に進む。
【００９７】
次に、ステップＳ４５においては、第１のライセンス形態７で使用期間が限定されている場合について図示している。図２には図示していないが、第１のライセンス形態７で使用期間を限定されず機能制限だけの場合は、ステップＳ４７に進むか又はソフトウェア３の実行を終了する。ステップＳ４５では、現在日時を取得する。この場合、単にコンピュータ４のシステム時刻を調べるだけでなく、必要ならばコンピュータ４がインターネットに接続されている場合には、インターネット上のタイムサーバから現在日時を取得し、必要ならばコンピュータ４がインターネットに接続されていない場合に、システムフォルダやいくつかの特定のフォルダの全ファイルの更新時刻やアクセス時刻を調べることによって、現在日時を推測することができる。尚、最後の時刻チェックは、現在ではそれ程処理時間がかかるものではないので、比較的簡単に現在日時をチェックできる。
【００９８】
次に、ステップＳ４６の判断においては、前記ステップＳ４５においては取得した現在日時が、第１のライセンス形態７の使用期間内であれば、ステップＳ４７に進み、第１のライセンス形態７の使用期間内でなければ、ソフトウェア３の実行を終了する。使用期間内かどうかは、使用期間が絶対的に設定されている場合には、現在日時がソフトウェア３内で指定されている日時以前であれば使用期間内とし、現在日時がソフトウェア３内で指定されている日時より後であれば使用期間外とする。この場合には起算日時１２の記憶は必要ないが、履歴情報として利用するため記憶する。使用期間が相対的に設定されている場合には、起算日時１２より現在日時までの期間によって使用期間内かどうか判断する。後者の場合、現在日時が起算日時１２より過去である場合にも、通常使用期間外とする。
【００９９】
次に、ステップＳ４７においては、前記ステップＳ４６で現在のライセンス形態が第１のライセンス形態７であって、第１のライセンス形態７で使用期間を限定されている場合であっても、現在日時が使用期間内であることが確認されたので、ここにソフトウェア３の第１のライセンス形態７での実行処理を開始する。次に、請求項３記載の第９の過程に移るため、ステップＳ５３に進む。
【０１００】
次に、請求項１記載の第６の過程である現在のライセンス形態が第２のライセンス形態８である場合を説明する。前記第６の過程はステップＳ５１及びＳ５２からなる。前記ステップＳ１４において検出された現在のライセンス形態がステップＳ５１の第２のライセンス形態８である場合は、ステップＳ５２において、ソフトウェア３の第２のライセンス形態８での実行処理を開始する。
【０１０１】
次に、前記ステップＳ４７又は前記ステップＳ５２において、ソフトウェア３の実行処理を開始した後、任意の時点で請求項３記載の第９の過程を行うことについて説明する。前記第９の過程はステップＳ５３及びＳ５４からなる。
【０１０２】
ステップＳ５３は、前記第１の過程を実行してライセンス情報を取得するか又は現在のライセンス情報を記憶しておいて、前記ステップＳ４２と同じく、該ライセンス情報を表示するものであるが、前記ステップＳ４２の場合に加えて、現在のライセンス形態が第２のライセンス形態８である場合には、前記ステップＳ４２では表示されなかった又は表示される必要がなかった、キーコード１９及びライセンス番号で管理する場合にはライセンス番号２０が設定されている時にはライセンス番号２０が表示されるものである。前記ステップＳ４２と同じく、識別情報９を表示する必要はない。又現在のライセンス形態の表示及びユーザインターフェイスについても前記ステップＳ４２と同様である。ユーザ設定の場合でユーザが特定された時でない場合には、前記ステップＳ４２と同様であるが、更にキーコード１９及びライセンス番号で管理する場合にはライセンス番号２０などが設定されていても、それらの表示を抑止してもよい。
【０１０３】
次に、ステップＳ５３のライセンス情報の表示を受けて、ライセンス形態を設定するステップＳ５４のライセンス設定過程については、前記ステップＳ４３の場合と共通して後述の図３で説明することにする。
【０１０４】
ステップＳ５３及びステップＳ５３とステップＳ５４は、ソフトウェア３の実行処理中は、いつでも実行することができるものである。ステップＳ５４の実行は、必ずしもステップＳ５３の実行を伴わなくても可能だが、ステップＳ５３の実行の後に行うのが自然である。又、ステップＳ５３の後に、ステップＳ５４を必ずしも実行する必要がないことも明らかである。
【０１０５】
ステップＳ５３又はステップＳ５４の実行後は、ステップＳ５５でソフトウェアの実行処理を続行する。この場合、ステップＳ５４において、現在のライセンス形態が第１のライセンス形態７から第２のライセンス形態８へ移行されている場合を含むものである。
【０１０６】
次に、図２のライセンス設定過程の一実施例の詳細を、以下図３のフローチャートで説明する。図３は、説明の都合上、本発明のソフトウェア３の代表的な機能を組み込んだ形でのライセンス設定過程を示すが、本発明のソフトウェア３のライセンス設定過程は図３に限定されるものではない。又前記発明の効果で述べたように、ライセンス形態に対する情報の提示と処理操作の集中は望ましいことであるので、そのようなユーザインターフェイス（例えばダイアログボックスの表示。）のもとでは、図３のソフトウェア使用者２が下す処理操作の種類の判断は処理手順によるものではなく、前記ユーザインターフェイス上の選択肢又は選択手段によるものとするのが自然であり合理的でもあるので、前記判断についてはこのような前記ユーザインターフェイス上の選択肢又は選択手段によるものを含むものとし、説明を簡潔にするため前記判断についても処理手順として説明する。
【０１０７】
又前記したように、不正インストールの場合をこの過程に統合する場合には、この過程の最初に図２の前記ステップＳ２２、終了処理及び前記ステップＳ３２を含むようにし、前記ステップＳ３２のあとで図３を開始することにしてもよい。
【０１０８】
この過程は、図２の前記ステップＳ４３又は前記ステップＳ５４として、あるいは前記不正インストールの場合の前記ステップＳ３２の後に呼ばれるものであるから、現在のライセンス形態は第１のライセンス形態７か第２のライセンス形態８のいずれかである。
【０１０９】
先ず、ステップＳ６１の判断において、ユーザ設定の場合でユーザが特定された時でなければ、ソフトウェア使用者２のライセンス設定に関する全ての処理を禁じ、この過程を終了する。ユーザ設定でない場合又はユーザ設定の場合でユーザが特定された時（両者を併せて「ユーザが定義」と表記。）は、ステップＳ６２に進む。
【０１１０】
次に、ステップＳ６２の判断において、現在のライセンス形態が第１のライセンス形態７であって、ライセンスの設定がライセンスの継承１７又は復元１８である場合には、ライセンスバックアップファイル２３を読み込むため、ステップＳ６３に進み、ライセンスの継承１７又は復元１８でない場合（現在のライセンス形態が第２のライセンス形態８である場合を含む。）には、新規１６に第２のライセンス形態８を設定するかの判断のため、ステップＳ８１に進む。但し、ライセンスの継承１７の場合、一旦ステップＳ６３に進んでライセンスバックアップファイル２３を読み込み、後述のステップＳ７０とステップＳ７１によって第１のライセンス形態７を再設定した後、一旦この過程を終了し、再度この過程を開始して、ステップＳ６２の判断において、継承１７で第２のライセンス形態８を設定するかの判断のため、ステップＳ８１に進むものとする。
【０１１１】
次に、ステップＳ８１の判断において、現在のライセンス形態が第１のライセンス形態７であって、新規１６又は継承１７で第２のライセンス形態８へ移行するというライセンスの設定である場合には、キーコード１９の入力等の処理をするため、ステップＳ８２に進み、現在のライセンス形態が第１のライセンス形態７であって、前記ライセンスの設定を行わない場合及び現在のライセンス形態が第２のライセンス形態８である場合には、現在のライセンス形態を判断するため、ステップＳ９１に進む。
【０１１２】
次に、ステップＳ９１の判断において、現在のライセンス形態が第１のライセンス形態７である場合には、この過程を終了し（この場合は請求項１記載の第４の過程で何も入力されない場合に当たる。）、現在のライセンス形態が第２のライセンス形態８である場合には、ライセンスバックアップファイル２３を作成するかの判断のため、ステップＳ９２に進む。
【０１１３】
次に、ステップＳ９２の判断において、現在のライセンス形態が第２のライセンス形態８であるから、ライセンスバックアップファイル２３（「ＬＢファイル」と略記。）を作成する場合には、ステップＳ９３に進み、ライセンスバックアップファイル２３を作成しない場合には、この過程を終了する。ステップＳ９２とステップＳ９３は請求項３記載の第９の過程の一部である。
【０１１４】
次に、ステップＳ９３においては、ライセンスコード１３、キーコード１９、識別情報９、ライセンス番号で管理する場合にはライセンス番号２０、第１のライセンス形態７で使用期間が限定されている場合には起算日時１２及び前記付加情報が設定されている場合には該付加情報若しくは前記付加情報が設定されていないことからなるライセンス情報に対して、前記付加情報に関する部分以外の当該ライセンス情報については暗号化し、前記付加情報に関する部分については暗号化又は所定の形式化を行い、ユーザ設定の場合でユーザが特定された時で、ライセンスバックアップファイル２３（「ＬＢファイル」と略記。）にユーザ番号２１を暗号化して書き込む場合にはユーザ番号２１についても暗号化し、それらをライセンスバックアップファイル２３に記録する。この処理は、ライセンスバックアップファイル２３をソフトウェア使用者２が喪失した場合に、再度作成するためのものである。識別情報９は、ライセンスバックアップファイル２３を読み込む場合には、識別情報９を比較する必要がないので記録する必要がないのであるが、これらの情報はライセンス設定領域１０にも記憶されているわけであるから、一部の情報が異なると暗号に対してヒントを与えることになること、及びトラブル発生時の分析に役立つことから、通常はライセンスバックアップファイル２３に書き込むものである。
【０１１５】
ステップＳ９３において、ライセンスコード１３として、新規１６のライセンスコード１４が設定される場合と、ライセンスの継承１７のライセンスコード１５が設定される場合の二通りがあることに留意すべきである。両者は、図２の前記ステップＳ１３において述べたように、例えば接頭文字コードなどによって容易に区別されるものである。
【０１１６】
暗号化の方法と結果は、ライセンス設定領域１０に記憶する場合と異なってもよいが、いずれの場合も暗号化した情報は、ソフトウェア使用者２の知るところであるから、ことさら異なる必要はない。ライセンス設定領域１０に記憶する暗号化については、ユーザ番号２０の暗号化を除いては、図２の前記ステップＳ１３において述べた通りであり、ユーザ番号２０の暗号化については、図２の前記ステップＳ３２において述べた通りである。ライセンスバックアップファイル２３を作成した後は、この過程を終了する。
【０１１７】
次に、ステップＳ８２乃至Ｓ８５において、現在のライセンス形態が第１のライセンス形態７であって、第２のライセンス形態８へ移行するというライセンスの設定を行う。これらのステップは、請求項１記載の第４の過程の一部、第５の過程及び請求項４記載の第１０の過程を構成するものである。
【０１１８】
先ず、ステップＳ８２においては、二つの異なった方法でキーコード１９及びライセンス番号で管理する場合でライセンス番号２０が設定されていない時にはライセンス番号２０を設定することができる。一つは、前記第５の過程において、ソフトウェア使用者２がソフトウェア提供者１にライセンスコード１３を通知することによって得たキーコード１９及びライセンス番号で管理する場合でライセンス番号２０が設定されていない時にはライセンス番号２０を入力するものである。キーコード１９は、第２のライセンス形態８を決定するものとしてライセンスコード１３に特定的に対応するコードである。ステップＳ８２は、新規１６に設定されたライセンスコード１４に対して第２のライセンス形態８を設定する場合と、ライセンスの継承１７のライセンスコード１５に対して第２のライセンス形態８を設定する場合の二つのケースがある。ライセンス番号で管理する場合で後者の場合には、ライセンス番号２０は既にライセンス設定領域１０に記憶され復号化されているから、ライセンス番号２０を入力する必要はなく、又誤操作を防止する上からもその入力をできないようにすべきである。新規１６に設定されたライセンスコード１４に対して第２のライセンス形態８を設定する場合で、ライセンス番号で管理する場合にはライセンス番号２０の入力が必要である。
【０１１９】
もう一つは、前記第１０の過程において、ソフトウェア提供者１がソフトウェア使用者２に、キーコード１９及びライセンス番号で管理する場合でライセンス番号２０が設定されていない時にはライセンス番号２０を通知することに替えて配布した、ライセンスコード１３、キーコード１９、ライセンス番号で管理する場合にはライセンス番号２０及びユーザ設定の場合でライセンス設定ファイル２４（「ＬＳファイル」と略記。）にユーザ番号２１を書き込む場合にはユーザ番号２１を暗号化したライセンス設定ファイル２４を読み込む方法である。
【０１２０】
次に、ステップＳ８３の判断においては、キーコード１９及びライセンス番号で管理する場合でライセンス番号２０が設定されていない時にはライセンス番号２０が入力された場合は、キーコード１９が、第２のライセンス形態８を決定するものとしてライセンスコード１３に特定的に対応しているか及びライセンス番号で管理する場合でライセンス番号２０が設定されていない時にはライセンス番号２０が所定の書式か判定し、前記判定において否定されることがなかった場合には、ライセンスバックアップファイル２３を作成するため、ステップＳ８４に進み、前記判定において否定された場合には、再度キーコード１９及びライセンス番号で管理する場合でライセンス番号２０が設定されていない時にはライセンス番号２０の入力を促すため、前記ステップＳ８２に戻るか、図３では図示されていないが、前記入力をないものとしてこの過程を終了するか、ソフトウェア３の実行を終了する。あるいはある回数だけ前記ステップＳ８２に戻った後は、前記入力をないものとしてこの過程を終了するか、ソフトウェア３の実行を終了するようにしてもよい。又ライセンス番号で管理する場合でライセンス番号２０が設定されていない時に、キーコード１９又はライセンス番号２０のいずれかが入力されない時は、入力されていないものの入力を促すか又は図３では図示されていないがこの過程を終了する。
【０１２１】
又は、ステップＳ８３の判断において、ライセンス設定ファイル２４を読み込んだ場合は、ライセンスコード１３、キーコード１９、又ライセンス番号で管理する場合にはライセンス番号２０及びユーザ設定の場合でライセンス設定ファイル２４にユーザ番号２１を書き込む場合にはユーザ番号２１を復号化して復号化に成功し、第１のライセンス形態７とライセンス設定ファイル２４との間で、ライセンスコード１３が一致し、キーコード１９が第２のライセンス形態８を決定するものとしてライセンスコード１３に特定的に対応していて、ライセンス番号で管理する場合でライセンスの継承１７の場合にはライセンス番号２０が一致し、新規１６の第２のライセンス形態８への移行の場合にはライセンス番号２０が所定の書式であり、ユーザ設定の場合でライセンス設定ファイル２４にユーザ番号２１を書き込む場合には、ライセンス設定ファイル２４から復号化したユーザ番号２１が、ユーザ設定の場合でユーザが特定された時であって、図２の前記ステップＳ１２において記憶されているユーザ番号２１と一致した場合のみ、ライセンスバックアップファイル２３を作成するため、ステップＳ８４に進み、この以外の時は、図３では図示されていないが、この過程を終了する。
【０１２２】
次に、ステップＳ８４においては、第２のライセンス形態８へ移行する前に、ソフトウェア使用者２にソフトウェア３の復旧性や移転性を保証するため、ライセンスバックアップファイル２３（「ＬＢファイル」と略記。）を作成する。ステップＳ８４における処理は、前記ステップＳ９３の処理と同じである。ステップＳ８４の処理が完了すれば、ステップＳ８５に進む。
【０１２３】
次に、ステップＳ８５においては、ライセンスコード１３、キーコード１９、識別情報９、ライセンス番号で管理する場合にはライセンス番号２０、第１のライセンス形態７で使用期間が限定されている場合には起算日時１２及び前記付加情報が設定されている場合には該付加情報若しくは前記付加情報が設定されていないことからなるライセンス情報に対して、前記付加情報に関する部分以外の当該ライセンス情報については暗号化し、前記付加情報に関する部分については暗号化又は所定の形式化を行い、それらをライセンス設定領域１０に記憶して第２のライセンス形態８を設定する。又ユーザ番号管理の場合には、ユーザ番号２１が同時に暗号化されライセンス設定領域１０に記憶される。これらの暗号化については、図２の前記ステップＳ３２において記した通りである。この時、ソフトウェア使用者２にライセンス設定領域１０に変更する権限が与えられていない場合がある。この場合には、図３には図示していないが、この記憶はできないからその旨を表示して、この過程を終了するか、ソフトウェア３の実行を終了する。
【０１２４】
次に、ステップＳ６３乃至Ｓ６９においては、ライセンスバックアップファイル２３を用いて、第２のライセンス形態８を復元するというライセンスの復元１８を行う。これらのステップは、請求項５記載の第１１の過程を構成するものである。又、ステップＳ６３乃至Ｓ６６並びにＳ７０及びＳ７１においては、ライセンスバックアップファイル２３を用いて、ライセンスの継承１７を行う。これらのステップは、請求項１記載の第８の過程を構成するものである。
【０１２５】
先ず、ステップＳ６３においては、ライセンスバックアップファイル２３（「ＬＢファイル」と略記。）を読み込み、ライセンスバックアップファイル２３において暗号化されたライセンスコード１３、キーコード１９、ライセンス番号で管理する場合にはライセンス番号２０及び第１のライセンス形態７で使用期間が限定されている場合には起算日時１２の復号化と、前記付加情報が設定されていて、暗号化されている時は復号化又は形式化されている時は再生とを行い、ユーザ設定の場合でライセンスバックアップファイル２３にユーザ番号２１を暗号化して書き込むことにしている場合には、暗号化されたユーザ番号２１の復号化も行う。
【０１２６】
次に、ステップＳ６４の判断においては、前記ステップＳ６３における復号化又は復号化と再生に成功し、ライセンスバックアップファイル２３から復号化したライセンスコード１３とキーコード１９とが第２のライセンス形態８を決定するものとして特定的に対応していると判定した場合には、ユーザ設定の場合でない時又はユーザ設定の場合でライセンスバックアップファイル２３にユーザ番号２１を暗号化して書き込むことにしていない時は、図３に図示していないがステップＳ６６に進み、ユーザ設定の場合でライセンスバックアップファイル２３にユーザ番号２１を暗号化して書き込むことにしている時は、ユーザ番号２１のチェックを行うため、ステップＳ６５に進む。これら以外の場合は、ライセンスの継承１７又はライセンスの復元１８は行うべきでないから、この過程を終了する。ここで、ライセンスバックアップファイル２３に記録されている識別情報９を参照する必要はない。
【０１２７】
次に、ステップＳ６５の判断においては、ユーザ設定の場合でライセンスバックアップファイル２３にユーザ番号２１を暗号化して書き込むことにしている時は、ステップＳ６３において復号化されたユーザ番号２１と図２の前記ステップＳ１２において記憶されているユーザ番号２１が一致するならば、正当なソフトウェア使用者２とみなして、ライセンスの継承１７又はライセンスの復元１８を行うため、ステップＳ６６に進み、両者が一致しない場合は、ライセンスの継承１７及びライセンスの復元１８は行うべきでないから、この過程を終了する。
【０１２８】
次に、ステップＳ６６の判断において、ライセンスの復元１８を行う場合は、ステップＳ６７に進み、ライセンスの継承１７を行う場合は、ステップＳ７０に進む。
【０１２９】
次に、ステップＳ６７においては、ソフトウェア提供者１がソフトウェア使用者２に配布するライセンス復元ファイル２５（「ＬＲファイル」と略記。）を読み込み、ライセンス復元ファイル２５において暗号化されたライセンスコード１３、ライセンス番号で管理する場合にはライセンス番号２０、ライセンスコード１３を復元するための復元コード２２及びユーザ設定の場合でライセンス復元ファイル２５にユーザ番号２１を暗号化して書き込むことにしている場合にはユーザ番号２１を復号化する。ここにライセンス復元ファイル２５は、ソフトウェア使用者２が最初に第２のライセンス形態８を取得して一定期間が経過するか又はソフトウェア提供者１の事情や判断により配布されるものである。
【０１３０】
次に、ステップＳ６８の判断において、ステップＳ６７において復号化に成功し、ライセンスバックアップファイル２３とライセンス復元ファイル２５との間で、ライセンスコード１３が一致し、ライセンス番号で管理する場合にはライセンス番号２０が一致し、復元コード２２が当該一致したライセンスコード１３を復元するものとして該ライセンスコード１３に特定的に対応すると判定された場合、更にこの場合にユーザ設定の場合でライセンス復元ファイル２５にユーザ番号２１を暗号化して書き込むことにしている場合には、復号化されたユーザ番号２１と図２の前記ステップＳ１２において記憶されているユーザ番号２１が一致する場合には、正当なライセンスの復元１８であると認め、ライセンスの復元処理を行うため、ステップＳ６９に進む。これら以外の場合は、ライセンスの復元１８は行うべきでないから、この過程を終了する。ここに、復元コード２２がライセンスコード１３に特定的に対応する仕方は、キーコード１９の場合と異なるようにしておく。
【０１３１】
次に、ステップＳ６９においては、当該一致したライセンスコード１３、ライセンスバックアップファイル２３から復号化したキーコード１９、コンピュータ４の識別情報９、ライセンス番号で管理する場合には当該一致したライセンス番号２０、第１のライセンス形態７で使用期間が限定されている場合にはライセンスバックアップファイル２３から復号化した起算日時１２及びライセンスバックアップファイル２３に前記付加情報が記録されていない時は前記付加情報がないこと若しくはライセンスバックアップファイル２３に前記付加情報が記録されている時は該付加情報からなるライセンス情報に対して、前記付加情報に関する部分以外の当該ライセンス情報については暗号化し、前記付加情報に関する部分については暗号化又は所定の形式化を行い、それらをライセンス設定領域１０に記憶して第２のライセンス形態８を設定し、必要に応じて当該ライセンス情報の識別情報９を除く部分又はその一部をディスプレイ上に表示する。そして、この過程を終了する。又ユーザ番号管理の場合には、ユーザ番号２１が同時に暗号化されライセンス設定領域１０に記憶される。これらの暗号化については、図２の前記ステップＳ３２において記した通りである。この場合、ディスプレイ上への表示の後に、ソフトウェア使用者２の指示によってライセンス設定領域１０への記憶及び第２のライセンス形態８への設定を行ってもよい。ディスプレイ上への表示後にこれらの記憶及び設定を行わない時は、そのままこの過程を終了する。この時、ソフトウェア使用者２にライセンス設定領域１０に変更する権限が与えられていない場合がある。この場合には、図３には図示していないが、この記憶はできないからその旨を表示して、この過程を終了するか、ソフトウェア３の実行を終了する。
【０１３２】
次に、ライセンスの継承１７を行う場合は、ステップＳ７０において、ライセンスコード１３（この場合はライセンスコード１４である。）を新規１６に第１のライセンス形態７を設定した場合と明白に区別できるランダムに発生させた一定数の文字コード又は該文字コードに一定の演算を施した文字コードであるライセンスコード１５に改めて設定し直す。どのように区別するかは、図２の前記ステップＳ１３において述べたように、例えば接頭文字コードなどによるものである。
【０１３３】
次に、ステップＳ７１において、前記ステップＳ７０において設定し直したライセンスコード１５、第１のライセンス形態７を決定するものとして当該設定し直したライセンスコード１５と同時に生成され当該設定し直したライセンスコード１５に特定的に対応するキーコード１９若しくは該キーコード１９が設定されていないこと、コンピュータ４の識別情報９、ライセンス番号で管理する場合にはライセンスバックアップファイル２３から復号化したライセンス番号２０、第１のライセンス形態７で使用期間が限定されている場合には起算日時１２及び付加情報としてライセンスバックアップファイル２３から復号化したライセンスコード１３とキーコード１９と第１のライセンス形態７で使用期間が限定されている場合には起算日時１２の内で少なくともライセンスコード１３を含む情報からなるライセンス情報に対して、前記付加情報に関する部分以外の当該ライセンス情報については暗号化し、前記付加情報に関する部分については暗号化又は所定の形式化を行い、それらをライセンス設定領域１０に記憶して第１のライセンス形態７を設定し、必要に応じて当該ライセンス情報の識別情報９を除く部分又はその一部をディスプレイ上に表示する。そして、一旦この過程を終了し、第２のライセンス形態８を決定するものとして当該設定し直したライセンスコード１５に特定的に対応するキーコード１９の入力を促す場合は、再度この過程を実行する。又ユーザ番号管理の場合には、ユーザ番号２１が同時に暗号化されライセンス設定領域１０に記憶される。これらの暗号化については、図２の前記ステップＳ３２において記した通りである。この場合、ディスプレイ上への表示の後に、ソフトウェア使用者２の指示によってライセンス設定領域１０への記憶及び第１のライセンス形態７への設定を行ってもよい。ディスプレイ上への表示後にこれらの設定を行わない時は、そのままこの過程を終了する。この時、ソフトウェア使用者２にライセンス設定領域１０に変更する権限が与えられていない場合がある。この場合には、図３には図示していないが、この記憶はできないからその旨を表示して、この過程を終了するか、ソフトウェア３の実行を終了する。以上で、ライセンス設定過程を終了する。
【図面の簡単な説明】
【０１３４】
【図１】本発明のソフトウェアライセンスの管理方法の全体構成を示した説明図である。
【図２】本発明のソフトウェアの使用者側での実行過程の一実施例を示したフローチャートである。
【図３】本発明のソフトウェアの使用者側での実行過程のうちライセンス設定過程の一実施例を示したフローチャートである。
【符号の説明】
【０１３５】
１    ソフトウェア提供者
２    ソフトウェア使用者
３    ソフトウェア使用者の側で実行される本発明のソフトウェア
４    ソフトウェア使用者の側のソフトウェアがインストールされたコンピュータ
５    ソフトウェア提供者の側のソフトウェアライセンスの管理方法の対応を実行する管理ソフトウェア
６    ソフトウェア提供者の側のソフトウェアライセンスの管理方法の対応を実行する管理ソフトウェアがインストールされたコンピュータ
７    第１のライセンス形態
８    第２のライセンス形態
９    コンピュータの識別情報
１０  コンピュータ内のライセンス設定領域
１１  コンピュータ内のユーザ設定領域
１２  ソフトウェアの起算日時
１３  ライセンスコード
１４  新規にインストールした場合のライセンスコード（ＬＣ１と表記。）
１５  ライセンスの継承を行った場合のライセンスコード（ＬＣ２と表記。）
１６  新規のインストール（新規と表記。）
１７  ライセンスの継承（継承と表記。）
１８  ライセンスの復元（復元と表記。）
１９  キーコード
２０  ライセンス番号
２１  ユーザ番号
２２  復元コード
２３  ライセンスバックアップファイル（ＬＢファイルと表記。）
２４  ライセンス設定ファイル（ＬＳファイルと表記。）
２５  ライセンス復元ファイル（ＬＲファイルと表記。）
２６  ユーザ設定ファイル
【図１】
2005259082.tif 000003
【図２】
2005259082.tif 000004
【図３】
2005259082.tif 000005