(57)【特許請求の範囲】
【請求項１】
利用制約付きデータ及びソフトウェアからなる配信情報を暗号パッケージ化して配信する配信サーバと、配信された前記利用制約付きデータ又はソフトウェアを利用する端末クライアントからなる配信システムであって、
前記配信サーバは、
前記利用制約付きデータ及びソフトウェアからなる配信情報の利用条件を管理及び設定する第１の管理手段と、
前記配信情報と前記利用条件を、配信先の前記端末クライアントに対応する暗号鍵を用いて暗号化する暗号化手段と、
前記配信先の前記端末クライアントに対応したプログラムの起動コードと前記暗号化された配信情報のインストール情報を管理及び設定する第２の管理手段と、
前記暗号化された配信情報と、前記利用条件と、前記インストール情報とを１つの実行形式のプログラムにパッケージ化するパッケージ手段と
を備え、前記端末クライアントは、
前記サーバから配信された、前記１つの実行形式のプログラムであるパッケージを少なくとも記憶し、その後に該パッケージ中の前記利用条件が暗号化されて更新記憶される記憶手段と、
前記記憶手段から読み出した情報から暗号化された前記利用条件を抽出して、予め割り当てられた暗号鍵を用いて復号し、その復号した利用条件に応じて利用の許可・不許可を判定する判定手段と、
前記記憶手段に記憶された前記パッケージが前記判定手段により利用の許可されたパッケージである時には、そのパッケージ中の前記暗号化された配信情報を復号する復号手段と、
前記復号手段で復号された前記配信情報中の前記配信サーバにおいてパッケージ化された前記ソフトウェアと同一のソフトウェアのインストール処理を行ってから対象データを閲覧・利用するプログラムに処理制御を切り替える手段と、
前記判定手段により前記配信情報の利用が不許可と判定されたとき、又は他の任意のプログラムが起動されたときには、前記インストール処理された前記ソフトウェアをアンインストールする手段と
を備えたことを特徴とする配信システム。
【請求項２】
前記配信サーバの前記第１の管理手段は、前記利用条件として利用可能回数を設定し、前記端末クライアントの前記判定手段は、前記データ又はソフトウェアの利用の都度、利用実績回数を記録すると共に、その利用実績回数と前記パッケージから復号した前記利用可能回数とから残存利用可能回数を算出することで、前記配信情報の利用の可否を判断することを特徴とする請求項１記載の配信システム。
【請求項３】
前記配信サーバの前記第１の管理手段は、前記利用条件として利用可能回数を設定し、前記端末クライアントの前記判定手段は、配信された前記データ又はソフトウェアの利用中に、プログラムの実行を監視し、特定のプログラムイベントの発生回数を前記データ又はソフトウェアの利用回数としてカウントして記録すると共に、配信された前記データ又はソフトウェアの利用時に前記利用回数と前記パッケージから復号した前記利用可能回数とから残存利用可能回数を算出することで、配信された前記データ又はソフトウェアの利用の可否を判定することを特徴とする請求項１記載の配信システム。
【請求項４】
前記配信サーバの前記第１の管理手段は、前記利用条件として利用可能期間を設定し、前記端末クライアントの前記判定手段は、前記配信情報の利用の都度、現在時刻と前記パッケージから復号した前記利用可能期間を比較することで前記配信情報の利用の可否を判定することを特徴とする請求項１記載の配信システム。
【請求項５】
前記配信サーバの前記第１の管理手段は、前記利用条件として利用可能時間を設定し、前記端末クライアントの前記判定手段は、前記配信情報の利用中にその配信情報の利用実績時間を加算し、その利用実績時間と前記パッケージから復号した前記利用可能時間とから残存利用可能時間を算出し、算出した該残存利用可能時間に応じて前記配信情報の利用の可否を判定することを特徴とする請求項１記載の配信システム。
【請求項６】
前記配信サーバの前記第１の管理手段は、前記利用条件として利用可能時間を設定し、前記端末クライアントは、残存利用可能時間がタイマ値として設定され、そのタイマ値が経過すると利用中の前記配信情報の利用を停止させるためのアラームタイマを設定するタイマ設定手段と、前記配信情報の利用終了時に前記タイマ設定手段により設定された前記アラームタイマを解除すると共に前記残存利用可能時間を更新及び暗号化して記録する手段とを有し、前記復号手段により前記配信情報を復号する都度、暗号化して記録されている前記残存利用可能時間を復号して前記タイマ設定手段によりタイマ値として設定させることを特徴とする請求項１記載の配信システム。
【請求項７】
前記配信サーバの前記第１の管理手段は、前記利用条件として特定の端末クライアントでの利用可を設定し、前記暗号化手段は、その特定の端末クライアントでの配信情報の復号を可能とする暗号鍵を用いて配信情報を暗号化することを特徴とする請求項１記載の配信システム。
【請求項８】
前記配信サーバの前記第１の管理手段は、前記利用条件として特定の利用者で利用可と設定し、前記暗号化手段は、その特定の利用者のパスワードでデータを復号することが可能な暗号鍵を用いてデータを暗号化し、前記端末クライアントは、前記特定の利用者のパスワードを取得する手段を備えたことを特徴とする請求項１記載の配信システム。
【請求項９】
前記端末クライアントは、任意のプログラムの起動を監視する監視手段と、前記監視手段により前記任意の他のプログラムの起動を検出した時に前記配信情報が利用中であるかどうか検出する検出手段と、前記検出手段により前記配信情報が利用中であると検出された時には、利用中の復号されている配信情報と更新した利用条件を暗号化して前記記憶手段に前記パッケージとして記憶する手段と、前記利用中の復号されている配信情報をアンインストールする手段とを備えたことを特徴とする請求項１記載の配信システム。
【請求項１０】
前記配信サーバは、前記端末クライアントと通信する第１の通信手段をさらに備え、前記端末クライアントは、前記配信サーバと通信する第２の通信手段をさらに備えたことを特徴とする請求項１乃至９のうちいずれか一項記載の配信システム。
【請求項１１】
前記端末クライアントは、前記配信情報の利用開始時にその配信情報の利用条件情報を前記配信サーバに送信する送信手段と、前記配信情報の利用終了時に前記利用条件情報を前記配信サーバより取得して、復号された状態の配信情報を記憶領域より消去する手段を備えたことを特徴する請求項１０記載の配信システム。
【請求項１２】
前記配信サーバの前記第１の管理手段は、前記利用条件として特定のネットワークによる利用可と設定し、前記暗号化手段は前記特定の端末クライアントのネットワークアドレスによる前記配信情報の復号を可能とする暗号鍵を用いて該配信情報を暗号化し、前記端末クライアントは、前記ネットワークアドレスを取得する手段を備えたことを特徴とする請求項１０又は１１記載の配信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は配信システムに係り、特に利用条件を設定して配布されるデータ及びソフトウェアを利用者に配信する配信システムに関する。
【０００２】
【従来の技術】
データ及びソフトウェアを試供目的や購入金額に応じて、利用回数、利用時間、利用期限、複写禁止が設定されて、配布されることが一般的に行われるようになってきており、その配信システムの一例が特開平７-３２５７１３号公報（発明の名称：利用時間の制約付きソフトウェア実行方法）にて提案されている。
【０００３】
この従来の配信システムは、図１０に示すように、提供ソフトウェア９０１と、キー情報保存部９０２と、実行監視プログラム９０３と、インストール／複写プログラム９０４から構成されており、まず、提供ソフトウェア９０１の利用可能時間と、満期日時と、提供ソフトウェア９０１がインストールされているハードウェアの個別識別情報と、提供ソフトウェア９０１を記憶している記憶領域の物理的位置情報とを、暗号化してキー情報保存部９０２に記憶保持する。
【０００４】
実行監視プログラム９０３は、キー情報保存部９０２に暗号化されて保持されている情報を参照し、ソフトウェアの実行の正当性を確認し、また、提供ソフトウェア９０１の実行中は、利用可能時間の監視を行い、時間を超過した場合に提供ソフトウェア９０１の実行を終了させる。インストール／複写プログラム９０４は、提供ソフトウェア９０１を計算機にインストールしたり、他の計算機に複写される際に使用される。
【０００５】
この従来システムでは、インストール／複写プログラム９０４を使用せずに、提供ソフトウェア９０１をインストールや複写しても、暗号化されたキー情報を正しく復号できず、提供ソフトウェア９０１を実行できないので、提供ソフトウェア９０１の無制限な利用や複写を制限することができる。
【０００６】
また、他の従来の配信システムとして、有償情報とインストールプログラムと利用情報とに対して読み出しができないように読み出し制限を施して提供者システムから利用者システムに配布する配布手段と、配布された上記の有償情報とインストールプログラムと利用情報とに対して読み出し制限の解除を行う制限解除手段と、読み出し制限が解除された利用情報に基づいて有償情報の利用の可否を判定する判定手段と、判定手段が肯定の判定をしたときのみ、読み出し制限が解除されたインストールプログラムを起動させると共に、読み出し制限が解除された有償情報を読み出してインストールプログラムに基づいて有償情報のインストールに必要な処理を行うインストール手段と、インストール手段によるインストールが終了した時に、読み出し制限が解除された状態の有償情報に読み出し制限を施して記憶手段に書き込む制限手段とを備えた配信システムも知られている（特開２０００-２００２２９：発明の名称「有償情報配布システム及び有償情報配布方法」。
【０００７】
【発明が解決しようとする課題】
しかるに、上記の特開平７-３２５７１３号公報記載の従来システムの第１の問題点は、ソフトウェアの提供者は提供ソフトウェア９０１に対してプログラムの改造を必要とし、利用者配布の際には専用のインストール／複写プログラム９０４を必要とするということである。
【０００８】
その理由は、正しい利用条件情報がなければ提供ソフトウェア９０１を停止するようなプログラムを付加する必要があるためである。また、専用のインストール／複写プログラム９０４を使用しないと、前記利用条件情報が正しくインストールされないためである。
【０００９】
第２の問題点は、提供ソフトウェア９０１は暗号化されておらず、その改造が容易であるため、提供ソフトウェア９０１の違法な利用や複写が容易であるということである。
【００１０】
また、上記の特開２０００-２００２２９記載の従来システムでは、利用制約付きの各種情報を利用者システムに配信し、配信先の利用者システムにおいてインストールが終了すると有償情報に読み出し制限を施して記憶手段に書き込むようにしているが、インストールプログラムの読み出し制限を行っていないため、他のプログラムによりインストールプログラムの解析が可能になってしまうという問題がある。また、利用条件を提供者システム側で管理することができないので、利用条件の変更が容易ではない。
【００１１】
本発明は以上の点に鑑みなされたもので、利用制約付きのデータ及びソフトウェアを容易に作成し、利用者に配布し、かつ利用者が容易にそのデータ及びソフトウェアを利用できる利用制約付きソフトウェアの配信システムを提供することを目的とする。
【００１２】
また、本発明の他の目的は、利用制約付きのデータ及びソフトウェアの違法な利用や複写を困難とする利用制約付きソフトウェアの配信システムを提供することにある。
【００１３】
【課題を解決するための手段】
本発明は上記の目的を達成するため、利用制約付きデータ及びソフトウェアからなる配信情報を暗号パッケージ化して配信する配信サーバと、配信された利用制約付きデータ又はソフトウェアを利用する端末クライアントからなる配信システムであって、配信サーバは、利用制約付きデータ及びソフトウェアからなる配信情報の利用条件を管理及び設定する第１の管理手段と、配信情報と利用条件を、配信先の端末クライアントに対応する暗号鍵を用いて暗号化する暗号化手段と、配信先の端末クライアントに対応したプログラムの起動コードと暗号化された配信情報のインストール情報を管理及び設定する第２の管理手段と、暗号化された配信情報と、利用条件と、インストール情報とを１つの実行形式のプログラムにパッケージ化するパッケージ手段とを備え、
端末クライアントは、サーバから配信された、１つの実行形式のプログラムであるパッケージを少なくとも記憶し、その後にパッケージ中の利用条件が暗号化されて更新記憶される記憶手段と、記憶手段から読み出した情報から暗号化された利用条件を抽出して、予め割り当てられた暗号鍵を用いて復号し、その復号した利用条件に応じて利用の許可・不許可を判定する判定手段と、記憶手段に記憶されたパッケージが判定手段により利用の許可されたパッケージである時には、そのパッケージ中の暗号化された配信情報を復号する復号手段と、復号手段で復号された配信情報中の配信サーバにおいてパッケージ化されたソフトウェアと同一のソフトウェアのインストール処理を行ってから対象データを閲覧・利用するプログラムに処理制御を切り替える手段と、判定手段により配信情報の利用が不許可と判定されたとき、又は他の任意のプログラムが起動されたときには、インストール処理されたソフトウェアをアンインストールする手段とを備えた構成としたものである。
【００１４】
この発明では、利用制約付きデータや利用制約付きソフトウェアなどの配信情報を再コンパイルすることなく、利用条件を付加した後暗号化して端末クライアントに配信し、利用条件に応じて配信情報を復号して利用することができる。
【００１５】
また、上記の目的を達成するため、本発明は、上記の端末クライアントを、判定手段により配信情報の利用が不許可と判定されたとき、又は他の任意のプログラムが起動されたときには、復号手段により復号された配信情報をアンインストールする手段を有することを特徴とする。
【００１６】
この発明では、他の任意のプログラムが起動されたときには、復号手段により復号された配信情報をアンインストールすることができる。また、この発明では、端末クライアントにおいて、配信情報の利用時以外は暗号化された状態で保存しておくことができる。
【００１７】
また、上記の目的を達成するため、本発明は、端末クライアントは、配信情報の利用開始時にその配信情報の利用条件情報を配信サーバに送信する送信手段と、配信情報の利用終了時に利用条件情報を配信サーバより取得して、復号された状態の配信情報を記憶領域より消去する手段を備えたことを特徴とする。この発明では、配信情報の利用開始時に利用条件などの実行情報（利用条件情報）を配信サーバに送信しているので、端末クライアントの利用条件などを配信サーバ側で管理することができる。
【００１８】
【発明の実施の形態】
次に、本発明の実施の形態について図面と共に説明する。図１は本発明になる配信システムの第１の実施の形態のブロック図を示す。同図に示すように、本発明の第１の実施の形態は、利用制約付きの提供データ及びソフトウェアを暗号パッケージ化して配信する配信サーバ１と、配信されたデータ及びソフトウェアを利用する端末クライアント２から構成される。
【００１９】
配信サーバ１は、端末クライアント２と通信する通信部１０と、提供データ及びソフトウェアを暗号化する暗号処理部１１と、暗号処理部１１が暗号処理する際に用いる暗号鍵を保持する暗号鍵管理部１２と、端末クライアント２に配信されたデータを実行するための起動情報を管理する起動情報管理部１３と、提供データ及びソフトウェアの利用条件を保持する利用条件情報管理部１４と、前記の起動情報と利用条件と暗号化された提供データ及びソフトウェアとをパッケージ化するパッケージ部１５と、提供データ及びソフトウェアの元データを保持する提供ソフトウェア保持部１６とを含む。
【００２０】
端末クライアント２は、配信サーバ１と通信する通信部２０と、配信されたデータを復号化及び記憶領域上のデータを暗号化する暗号処理部２１と、暗号処理部２１が暗号処理する際に用いる暗号鍵を保持する暗号鍵管理部２２と、プログラムの実行状況を監視し、また、ある実行状況に対して割り込み処理を行う実行監視部２３と、実行監視部２３で用いられる各種情報を管理する実行情報管理部２４と、プログラムを実行処理するソフトウェア実行部２５とを含む。
【００２１】
次に、図２のフローチャートを参照して図１の第１の実施の形態の配信サーバ１の動作について詳細に説明する。まず、配信サーバ１を起動すると、通信部１０において、端末クライアント２からの配信要求を待つ（ステップ１０１）。配信要求があると、暗号処理部１１は、要求された提供データ及びソフトウェアを提供ソフトウェア保持部１６より取得し（ステップ１０２）、その提供データ及びソフトウェアの暗号化に用いる暗号化アルゴリズムを選択する（ステップ１０３）。
【００２２】
次に、暗号処理部１１は、配信要求に含まれている端末クライアント２固有の識別ＩＤに基づいて、配信要求元の端末クライアント２を識別し、暗号鍵管理部１２から、予め記憶されている配信先の端末クライアント２に対応した暗号鍵を抽出し（ステップ１０４）、抽出した暗号鍵と暗号アルゴリズムを用いて、提供データ及びソフトウェアを暗号化する（ステップ１０５）。
【００２３】
次に、パッケージ部１５は端末クライアント２に配信される利用制約付きデータ及びソフトウェア（すなわち、提供データ及びソフトウェア）の起動情報を起動情報管理部１３より抽出する（ステップ１０６）。起動情報には、端末クライアント２に対応したプログラム起動コード、提供データ及びソフトウェアを端末クライアント２の記憶領域にインストールするインストールコード、提供ソフトウェアに制御が自動的に移るように設定されたプログラム終了コードを含む。上記のプログラム終了コードは、もし提供ソフトウェアが、画像データやテキストデータであれば、そのデータの形式に対応した閲覧ソフトウェアに制御が自動的に移るように設定されたプログラム終了コードとなる。
【００２４】
次に、パッケージ部１５は端末クライアント２における提供データ及びソフトウェアの利用条件情報を利用条件情報管理部１４から抽出する（ステップ１０７）。利用条件情報には、利用回数、利用時間、利用期間、複写利用の可否、利用位置、利用者、利用端末、提供ソフトウェアの暗号化に使われた暗号アルゴリズムに関するパラメータのいずれかが含まれる。さらに、抽出した利用条件情報は、暗号処理部１１により暗号化される（ステップ１０８）。
【００２５】
次に、パッケージ部１５は、ステップ１０５で暗号化された提供データ及びソフトウェア、ステップ１０６で生成された起動情報、ステップ１０８で暗号化された利用条件情報をパッケージ化する（ステップ１０９）。パッケージ化されたデータは、そのまま端末クライアント２で実行できる形式の配布実行パッケージとなる。暗号化された利用条件情報及び提供ソフトウェアは、配布実行パッケージのプログラムリソースとして扱われるように設定される。
【００２６】
続いて、例えばパッケージ部１５が上記のステップ１０１ないしステップ１０９の一連の処理でエラーが発生したかどうかチェックし（ステップ１１０）、エラーがなければ、通信部１０はパッケージ部１５からの配布実行パッケージを端末クライアント２に配信し（ステップ１１１）、もしエラーがあれば、エラー情報を端末クライアント２に通知する（ステップ１１２）。
【００２７】
次に、図３及び図４のフローチャートを参照して、図１の第１の実施の形態の端末クライアント２における配布実行パッケージを起動したときの動作について詳細に説明する。
【００２８】
まず、端末クライアント２は通信部２０において、配信サーバ１より配信された配布実行パッケージを取得し、記憶領域に保存しておく。ソフトウェア実行部２５は、上記の記憶領域に保存されている配布実行パッケージを、利用者の指示で起動する（ステップ２０１）。実行監視部２３は、任意のプログラムの起動を監視しており、起動されたプログラムが配布実行パッケージかどうかを判断して、配布実行パッケージであれば、図４に示すフローチャートの処理を割り込み処理する（ステップ２０２）。
【００２９】
割り込み処理では、実行監視部２３は、まず割り込み元の配布実行パッケージの識別情報を実行情報管理部２４に通知し、記録する（ステップ２１１）。さらに、暗号処理部２１は暗号鍵管理部２２より暗号鍵を抽出する（ステップ２１２）。暗号鍵管理部２２は、必要であれば、利用者のパスワード、端末の固有識別情報、端末のネットワークアドレス情報、地理的な位置情報を取得して、暗号鍵を生成する。
【００３０】
続いて、暗号処理部２１は、抽出した暗号鍵を使って、まず利用条件情報を復号し（ステップ２１３）、更に、その復号された利用条件を参照して、提供データ及びソフトウェアの利用許可があるかどうかをチェックする（ステップ２１４）。利用実績回数が利用可能回数を上回ってないかどうか（残存利用回数がゼロより大きいかどうか）、利用実績時間が利用可能時間を上回っていないかどうか（残存利用時間がゼロより大きいかどうか）、日時が利用期限を過ぎていないかどうか、複写されたデータかどうか、というチェックを必要であれば行う。複写されたデータかどうかは、例えば、利用条件に含まれたデータ操作日時と、端末クライアント２のファイルシステムによるデータ操作日時が一致しているかどうかで判断することが可能である。
【００３１】
ステップ２１４において、提供データ及びソフトウェアの利用許可があると判断されたときには、暗号処理部２１は、提供データ及びソフトウェアの復号処理を行う（ステップ２１５）。他方、ステップ２１４において、提供データ及びソフトウェアの利用許可がないと判断された場合や、復号処理にエラーがあれば、実行情報管理部２４にその旨を通知し、記録する（ステップ２１６）。そして、割り込み元の配布実行パッケージに制御を戻す。
【００３２】
割り込み処理終了後、実行情報管理部２４にエラーが通知されているがどうかをチェックし（ステップ２０３）、エラーがあれば、利用者にエラーの内容を通知する（ステップ２０５）。例えば、利用回数が規定回数以上になった、利用時間が規定時間以上になった、利用期限が過ぎた、データが複写など改竄されている、などのメッセージを図示しない表示部で表示する。表示後、実行情報管理部２４のエラーをクリアする。
【００３３】
ステップ２０３において、実行情報管理部２４にエラーが通知されていないと判定されたときには、復号された提供データ及びソフトウェアを適切な記憶領域に記録し、インストール処理を行う（ステップ２０４）。次に、必要であれば、利用時間制限を設定するためにアラームタイマを登録する（ステップ２０６）。この時、登録されるアラームタイマのタイマ値は、利用条件を参照して、残り利用可能時間を抽出し、その残り利用可能時間に設定される。
【００３４】
このタイマ値の時間を過ぎたら、配布実行パッケージをアラーム割り込み起動して実行を停止するように設定する。さらに、配布実行パッケージの処理を終了して、提供データの閲覧・利用ソフトウェアまたは提供ソフトウェアを起動して、処理制御を移す（ステップ２０７）。
【００３５】
次に、図５及び図６の各フローチャートを参照して、図１の第１の実施の形態の端末クライアント２が、任意のプログラムを起動したときの動作について詳細に説明する。
【００３６】
端末クライアント２は、ソフトウェア実行部２５で任意のプログラムを起動する（ステップ３０１）。実行監視部２３は、任意のプログラムの起動を監視しており、起動されたプログラムが配布実行パッケージの提供ソフトウェアかどうかを判断して、提供ソフトウェアでなければ、図６に示すフローチャートの処理を割り込み処理する（ステップ３０２）。
【００３７】
割り込み処理では、まず、配布実行パッケージの識別情報を実行情報管理部２４より抽出する（ステップ３１１）。この配布実行パッケージの識別情報は、前記ステップ２１１で記録されたものであり、識別情報が存在してなければ、割り込み元のプログラムに制御を戻す。識別情報が存在していれば、提供データ及びソフトウェアを利用中ということになり、提供データ及びソフトウェアを他のプログラムによる複写や改竄を防ぐために、以下の処理を行う。
【００３８】
また、割り込み元のプログラムの識別情報と一致している場合は、提供データ及びソフトウェアを利用しようとしているので、割り込み元のプログラムに制御を戻す。もし、提供データ及びソフトウェアが利用中であれば終了させる。
【００３９】
実行情報管理部２４は、提供データ及びソフトウェアの利用した回数、時間などの利用履歴に関する利用条件情報を更新する（ステップ３１２）。次に、ステップ２１２と同様に、暗号処理部２１は、暗号鍵管理部２２より暗号鍵を抽出し（ステップ３１３）、抽出したその暗号鍵を使って、利用条件情報を暗号化する（ステップ３１４）。さらに、端末クライアント２の記憶領域に、配布実行パッケージから復号され、インストールされている提供データ及びソフトウェアを実行状態情報を含めて暗号化する（ステップ３１５）。提供データ及びソフトウェアは実行状態情報が存在しない、もしくは保存しておく必要がなければ、ステップ３１５の処理は省略してよい。
【００４０】
次に、暗号化された利用条件情報、暗号化された提供データ及びソフトウェアを配布実行パッケージに格納する（ステップ３１６）。さらに、端末クライアント２にインストールされている提供データ及びソフトウェアを、アンインストールして、端末クライアント２の記憶領域から削除する（ステップ３１７）。必要であれば、メモリ領域もクリアする。
【００４１】
もし、前記ステップ２０６において、アラームタイマが設定されていれば、これを解除する（ステップ３１８）。そして、割り込み元のプログラムに制御を戻す。割り込み処理終了後は、通常処理を行う（ステップ３０３）。
【００４２】
このようにして、任意のプログラムを起動した時には、配布実行パッケージの識別情報が存在しているかどうか監視し、存在していなければ、提供データ及びソフトウェアの起動ではなく、他のプログラムの起動であるので、割り込み処理にてそれまで使用していた利用制約付きデータ及びソフトウェアを端末クライアント２の記憶領域から削除するようにしているため、利用制約付きデータ及びソフトウェアが、他のプログラムにより複写されたり改竄されてしまうことを防ぐことができる。ただし、利用制約付きデータ及びソフトウェアは暗号化して再びパッケージに格納しておく。
【００４３】
次に、図７及び図８の各フローチャートを参照して、図１の第１の実施の形態の端末クライアント２が提供データ及びソフトウェアを利用中の動作について詳細に説明する。
【００４４】
まず、前記ステップ２０６において設定されたアラームタイマによりアラーム通知がされると（ステップ４０１）、残存利用時間がゼロということで、提供データ及びソフトウェアの利用を終了し（ステップ４０２）、図６のフローチャートに示されたステップ３１２乃至ステップ３１８の処理を行う（ステップ４０３）。これにより、利用者はこれ以上提供データ及びソフトウェアを利用できない。
【００４５】
また、実行監視部２３は、提供ソフトウェア実行中に、指定されたイベント処理を監視しており、指定されたイベント処理が発生すると（ステップ５０１）、図８のステップ５０２以降の割り込み処理を行う。指定されたイベント処理とは、ウィンドウの描画、利用者のマウスクリックなどのことである。
【００４６】
割り込み処理においては、そのイベントが実行情報管理部２４に保持されている利用条件情報に登録されたイベントと一致するかどうかを調べる（ステップ５０２）。一致していなければ、通常処理に戻る（ステップ５０７）。一致していれば、利用履歴に関する利用条件情報を更新した後（ステップ５０３）、利用条件を参照して、まだ提供データ及びソフトウェアが利用可能かどうかをチェックする（ステップ５０４）。
【００４７】
まだ利用可能であれば、通常処理に戻る（ステップ５０７）。利用不可であれば、提供データ及びソフトウェアの利用を終了し（ステップ５０５）、図６のフローチャートに示されたステップ３１２乃至ステップ３１８のアンインストール処理を行う（ステップ５０６）。
【００４８】
次に、本実施の形態の効果について説明する。本実施の形態では、提供データ及びソフトウェアを再コンパイルすることなく、利用条件を付加及び暗号化を施し、端末クライアント２において実行可能な形式で配信するように構成されているため、利用制約付きのデータ及びソフトウェアを容易に作成し、利用者に配布し、かつ、利用者が容易に利用制約付きのデータ及びソフトウェアを利用することができる。
【００４９】
また、本実施の形態では、さらに、端末クライアント２において、提供データ及びソフトウェアは利用時以外は暗号化された状態で保存されるように構成されているため、利用制約付きのソフトウェアの違法な利用や複写を困難とすることができる。
【００５０】
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。図９は本発明になる配信システムの第２の実施の形態のブロック図を示す。同図中、図１と同一構成部分には同一符号を付し、その説明を省略する。図９に示すように、本発明の第２の実施の形態は、端末クライアント３が図１の第１の実施の形態における端末クライアント２に含まれている実行情報管理部２４を省いた構成となっている点に特徴がある。
【００５１】
本実施の形態では、端末クライアント３は前記実行情報管理部２４に相当する情報管理機能を通信部２０を介して、配信サーバ側にデータを送信し、配信サーバ１の利用条件情報管理部１４で実行させるものである。必要であれば、通信時のデータの不正取得を防ぐために、配信サーバ１の暗号処理部１１と、端末クライアント３の暗号処理部２１を用いてデータを暗号化して通信することが可能である。暗号化通信の詳細は、従来より一般的に知られているので、本発明での説明は省く。
【００５２】
次に、本実施の形態の効果について説明する。本実施の形態では、利用条件情報及び利用状況を配信サーバ１側で管理するように構成されているため、利用条件の不正な更新や改竄をより困難とすることができる。
【００５３】
また、利用者が提供データ及びソフトウェアの利用料金を支払うなどによって、利用条件が更新された際でも、利用者の端末クライアント３に保持されているソフトウェアを更新することなしに、提供データ及びソフトウェアの利用条件を変更することができる。
【００５４】
なお、本発明は以上の実施の形態に限定されるものではなく、例えば、第１及び第２の実施の形態では、配信サーバ１と端末クライアント２はインターネットなどの通信網を介してデータのやり取りを行うように構成されているが、フロッピーディスク、ＣＤ-ＲＯＭなどの記録媒体を介してデータをやり取りするシステムにも本発明を適用できることは勿論である。
【００５５】
また、通信網を介してデータのやり取りを行う場合でも、配信サーバ１が利用条件として特定のネットワークからのみ利用可と設定し、暗号処理部１１が特定の端末クライアントのネットワークアドレスでのみ利用制約付きデータ及びソフトウェアの復号を可能とする暗号鍵を用いて暗号化する構成とし、端末クライアント２又は３は、ネットワークアドレスを取得する構成としてもよい。更に、利用制約付きデータ及びソフトウェアの両方の配信に限らず、利用制約付きデータ及び利用制約付きソフトウェアの一方だけの配信でもよい。
【００５６】
【発明の効果】
以上説明したように、本発明によれば、利用制約付きデータや利用制約付きソフトウェアなどの配信情報を再コンパイルすることなく、利用条件を付加した後暗号化して端末クライアントに配信し、利用条件に応じて配信情報を復号して利用するようにしたため、利用制約付きのデータ及びソフトウェアを容易に作成し、利用者に配布し、かつ利用者が容易にそのソフトウェアを実行できる配信システムを構築することができる。
【００５７】
また、本発明によれば、他の任意のプログラムが起動されたときには、復号手段により復号された配信情報をアンインストールするようにしたため、他のプログラムにより復号された配信情報のデータの改竄やソフトウェアの解析や改竄などを防止することができる。
【００５８】
また、本発明によれば、端末クライアントにおいて、配信情報の利用時以外は暗号化された状態で配信情報を保存しておくようにしたため、配信情報の違法な利用や複写を困難にすることができる。
【００５９】
また、本発明によれば、配信情報の利用開始時に利用条件などの実行情報を配信サーバに送信することにより、端末クライアントの利用条件などを配信サーバ側で管理するようにしたため、利用条件の変更が容易にできる。
【図面の簡単な説明】
【図１】  本発明の第１の実施の形態の構成を示すブロック図である。
【図２】  第１の実施の形態の配信サーバの動作を示すフローチャートである。
【図３】  第１の実施の形態の端末クライアントの提供データ及びソフトウェア利用時処理動作を示すフローチャートである。
【図４】  第１の実施の形態の端末クライアントの提供データ及びソフトウェア利用時の割り込み処理動作を示すフローチャートである。
【図５】  第１の実施の形態の端末クライアントの任意のソフトウェア実行時処理動作を示すフローチャートである。
【図６】  第１の実施の形態の端末クライアントの任意のソフトウェア実行時の割り込み処理動作を示すフローチャートである。
【図７】  第１の実施の形態の端末クライアントの提供ソフトウェア利用中のアラーム処理動作を示すフローチャートである。
【図８】  第１の実施の形態の端末クライアントの提供ソフトウェア利用中のイベント割り込み処理動作を示すフローチャートである。
【図９】  本発明の第２の実施の形態の構成を示すブロック図である。
【図１０】  従来の一例のブロック図である。
【符号の説明】
１  配信サーバ
２、３  端末クライアント
１０、２０  通信部
１１、２１  暗号処理部
１２、２２  暗号鍵管理部
１３  起動情報管理部
１４  利用条件情報管理部
１５  パッケージ部
１６  提供ソフトウェア保持部
２３  実行監視部
２４  実行情報管理部
２５  ソフトウェア実行部
【図１】
0004010111.tif 000002
【図２】
0004010111.tif 000003
【図３】
0004010111.tif 000004
【図４】
0004010111.tif 000005
【図５】
0004010111.tif 000006
【図６】
0004010111.tif 000007
【図７】
0004010111.tif 000008
【図８】
0004010111.tif 000009
【図９】
0004010111.tif 000010
【図１０】
0004010111.tif 000011