(57)【要約】【課題】特別なハードウェア等を必要とせずに、プログラムの不正利用を防止することができる実行条件付プログラム生成システム、実行条件付プログラム生成方法および実行条件付プログラムを提供することである。【解決手段】システムが取得した情報に基づいてプログラムの実行条件を決定し、その実行条件を満たしているかどうかを調べる実行条件判定機能を付加したプログラムを動的に生成する。【選択図】図１
2008204338.tif 000002
【特許請求の範囲】
【請求項１】
プログラム実行条件および実行条件判定機能を有することを特徴とする実行条件付プログラム。
【請求項２】
プログラム実行条件および実行条件判定機能を付加したプログラムを生成するプログラム生成手段を有することを特徴とする実行条件付プログラム生成システム。
【請求項３】
プログラム実行条件および実行条件判定機能を付加したプログラムを生成することを特徴とする実行条件付プログラム生成方法。
【請求項４】
前記プログラム実行条件が、ユーザのプログラム実行環境の情報および条件データベースに格納されているプログラム実行条件を基にしたものであることを特徴とする請求項１に記載の実行条件付プログラム。
【請求項５】
ユーザのプログラム実行環境の情報、および条件データベースに格納されているプログラム実行条件を基に、前記プログラムに付加すべき実行条件を決定することを特徴とする請求項２に記載の実行条件付プログラム生成システム。
【請求項６】
ユーザのプログラム実行環境の情報、および条件データベースに格納されているプログラム実行条件を基に、前記プログラムに付加すべき実行条件を決定することを特徴とする請求項３に記載の実行条件付プログラム生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実行条件付プログラム生成システム、実行条件付プログラム生成方法および実行条件付プログラムに関する。
【背景技術】
【０００２】
従来、ソフトウェアプログラムを提供するに当たり、提供側で許容していない不正な利用者によるプログラムの不正利用が存在している。
【０００３】
このようなプログラムの不正利用を防止するための方法として様々な方式が提案されている。
【０００４】
たとえば従来方式１は、ユーザがプログラムをダウンロードする際に認証を行うことにより、間接的にプログラムを実行できるユーザを制限するものである。
【０００５】
また、従来方式２は、ユーザがプログラム実行時にネットワーク上のサーバと接続して認証を行うものである。
【０００６】
また、従来方式３は、ドングルと呼ばれるハードウェアキーの接続の有無によってプログラムの実行を制限するものである。プログラムは、自身が実行された環境にハードウェアキーが接続されているかどうかを調べ、接続されている場合にのみ実行を許可する。
【０００７】
また、特許文献１に記載の発明では、アプリケーションに組み込まれた識別コード応答モジュールが、そのアプリケーションがインストールされた端末上で動作している識別コード応答モジュールと通信を行うことによって正当利用者の認証を行うようにしている。
【０００８】
さらに、特許文献２に記載の発明では、シリアル番号というデータのみをプラグラムに付加して正当利用者の認証を行うようにしている。
【０００９】
【特許文献１】特開２００３−５８５９号公報
【特許文献２】特開２００４−１３９５３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述の各方式では以下のような問題があった。
【００１１】
従来方式１では、プログラムをダウンロードしたユーザが他人にプログラムを渡すことが可能であり、プログラムのダウンロード時における認証が有効とは言えない。
【００１２】
また、従来方式２では、プログラム実行そのものを制限することが可能であるが、ネットワーク上のサーバと通信を行う必要があるため、ネットワークに接続されていない環境では機能しない。
【００１３】
また、従来方式３では、プログラムの実行そのものを制限することが可能であるが、ドングルという特別なハードウェアが別途必要となる。
【００１４】
また、特許文献１に記載の発明では、アプリケーションに識別コード応答モジュールを組み込むとともに、端末側の識別コード応答モジュールをあらかじめ端末にインストールしておく必要があり、ユーザによる操作手順が煩雑であるという問題があった。
【００１５】
さらに、特許文献２に記載の発明では、シリアル番号というデータのみをプラグラムに付加しており、その利用可能性に乏しいという問題があった。
【００１６】
本発明は上記の点にかんがみてなされたもので、特別なハードウェア等を必要とせずに、プログラムの不正利用を防止することができる実行条件付プログラム生成システム、実行条件付プログラム生成方法および実行条件付プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明では、システムが取得した情報に基づいてプログラムの実行条件を決定し、その実行条件を満たしているかどうかを調べる実行条件判定機能を付加したプログラムを動的に生成する。
【００１８】
また本発明では、ユーザへプログラムを配布する際、ユーザの属性情報によりプログラムの実行条件を決定し、その実行条件および実行条件を満たしているかどうかを調べる実行条件判定機能を付加したプログラムを動的に生成する。
【００１９】
プログラムに実行条件が付加されているため、プログラムの実行そのものを制限することが可能である。また、サーバと通信を行う必要がないため、実行環境がネットワークに接続されている必要がない。さらに、ドングルのような特別なハードウェアも必要としない。
【発明の効果】
【００２０】
本発明においては、以下に記載するような効果を奏する。
【００２１】
本発明による第１の効果は、ネットワークへの接続や特別なハードウェアを用意することなく、プログラム実行時にその実行を制限することができることにある。
【００２２】
その理由は、プログラム自体に実行条件、および実行条件判定機能が付加されているためである。プログラムが、自身が実行される環境を調べ、そのプログラム実行が適切かどうかを判断する。
【００２３】
第２の効果は、同一のプログラムに対して実行条件を動的に変更することが可能なことにある。
【００２４】
その理由は、プログラムを生成する際に、情報を取得して実行条件を動的に決定しているためである。
【発明を実施するための最良の形態】
【００２５】
本発明では、システムが取得した情報に基づいてプログラムの実行条件を決定し、その実行条件を満たしているかどうかを調べる実行条件判定機能を付加したプログラムを動的に生成する。
【００２６】
また本発明では、ユーザへプログラムを配布する際、ユーザの属性情報によりプログラムの実行条件を決定し、その実行条件および実行条件を満たしているかどうかを調べる実行条件判定機能を付加したプログラムを動的に生成する。
【００２７】
プログラムに実行条件が付加されているため、プログラムの実行そのものを制限することが可能である。また、サーバと通信を行う必要がないため、実行環境がネットワークに接続されている必要がない。さらに、ドングルのような特別なハードウェアも必要としない。
【００２８】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００２９】
図１は、本発明の第１の実施の形態の構成を示すブロック図である。
【００３０】
図１を参照すると、本発明の第１の実施の形態は、プログラム制御により動作するコンピュータ１００と、条件データベース１１０と、プログラムデータベース１２０とから構成されている。
【００３１】
条件データベース１１０には、プログラムを実行するユーザや実行環境の情報（たとえば端末のＩＰアドレスや、ＯＳのバージョンなどが挙げられる。）に対応付けて、プログラムの実行条件（利用の可／付加や、利用可能時間帯の設定などが挙げられる。）が格納されている。
【００３２】
プログラムデータベース１２０には、ユーザに提供するプログラムが格納されている。
【００３３】
コンピュータ１００は、情報取得手段１０１と、条件決定手段１０２と、プログラム生成手段１０３とを含む。これらの各手段は、それぞれ概略つぎのように動作する。
【００３４】
情報取得手段１０１は、プログラムを実行するユーザや実行環境の情報（たとえば端末のＩＰアドレスや、ＯＳのバージョンなどが挙げられる。）を取得する。
【００３５】
条件決定手段１０２は、情報取得手段１０１が取得した情報、および条件データベース１１０に格納されているプログラム実行条件を基に、プログラムに付加すべき実行条件を決定する。
【００３６】
プログラム生成手段１０３は、プログラムデータベース１２０に格納されているプログラムに、条件決定手段１０２が決定したプログラム実行条件、および実行条件判定機能を付加する。
【００３７】
ユーザがこのプログラムを実行すると、実行条件判定機能が動作して、プログラムを実行した環境が、このプログラムのプログラム実行条件に合致しているかが判断され、合致していればプログラムが実行され、合致していなければプログラムが実行されない。
【００３８】
次に、図１および図２のフローチャートを参照して本発明の第１の実施の形態の動作について詳細に説明する。
【００３９】
図２は、本発明の第１の実施の形態の動作のフローチャートを示す図である。
【００４０】
まず、情報取得手段１０１は、プログラムを実行するユーザや実行環境の情報を取得し、その情報を条件決定手段１０２に渡す（図２のステップＡ１）。
【００４１】
次に、条件決定手段１０２は、情報取得手段１０１から渡された情報、および条件データベース１１０に格納されているプログラム実行条件からプログラムに付加すべき実行条件を決定し、その決定した実行条件をプログラム生成手段１０３に渡す（ステップＡ２）。
【００４２】
プログラム生成手段１０３は、プログラムデータベース１２０に格納されているプログラムに、条件決定手段１０２から渡されたプログラム実行条件、および実行条件判定機能を付加し、実行条件が付加されたプログラムを生成する（ステップＡ３）。
【００４３】
次に、本発明の第１の実施の形態の効果について説明する。
【００４４】
この第１の実施の形態では、システムが単一のコンピュータによって構成されているため、複数のコンピュータを用意する必要がないという効果を奏する。
【００４５】
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。
【００４６】
図３は、本発明の第２の実施の形態の構成を示すブロック図である。
【００４７】
図３を参照すると、本発明の第２の実施の形態は、プログラム制御により動作するサーバコンピュータ２００と、条件データベース２１０と、プログラムデータベース２２０と、クライアントコンピュータ２３０とから構成されている。
【００４８】
条件データベース２１０には、プログラムを実行するユーザや実行環境の情報（たとえば端末のＩＰアドレスや、ＯＳのバージョンなどが挙げられる。）に対応付けて、プログラムの実行条件（利用の可／付加や、利用可能時間帯の設定などが挙げられる。）が格納されている。
【００４９】
プログラムデータベース２２０には、ユーザに提供するプログラムが格納されている。
【００５０】
コンピュータ２００は、情報取得手段２０１と、条件決定手段２０２と、プログラム生成手段２０３、プログラム配信手段２０４とを含む。これらの各手段は、それぞれ概略つぎのように動作する。
【００５１】
情報取得手段２０１は、クライアントコンピュータ２３０からのプログラム生成要求を受け付け、プログラムの実行条件を決定するためにクライアントコンピュータ２３０の環境情報（たとえば端末のＩＰアドレスや、ＯＳのバージョンなどが挙げられる。）を取得する。
【００５２】
条件決定手段２０２は、情報取得手段２０１が取得した情報、および条件データベース２１０に格納されているプログラム実行条件を基に、プログラムに付加すべき実行条件を決定する。
【００５３】
プログラム生成手段２０３は、プログラムデータベース２２０に格納されているプログラムに、条件決定手段２０２が決定したプログラム実行条件、および実行条件判定機能を付加する。
【００５４】
プログラム配信手段２０４は、生成したプログラムをクライアントコンピュータ２３０に対して配信する。
【００５５】
クライアントコンピュータ２３０は、プログラム要求手段２３１と、プログラム受信手段２３２と、プログラム実行手段２３３とを含む。これらの各手段は、それぞれ概略つぎのように動作する。
【００５６】
プログラム要求手段２３１は、サーバコンピュータ２００にプログラムの生成を要求し、クライアントコンピュータ２３０の環境情報を送信する。
【００５７】
プログラム受信手段２３２は、生成されたプログラムをプログラム配信手段２０５より受信する。
【００５８】
プログラム実行手段２３３は、受信したプログラムを実行する。実行されたプログラムは、クライアントコンピュータ２３０の環境を調べ、自身に埋め込まれている実行条件を満たしている場合に実行を続ける。条件を満たしていない場合は、実行を中断する。
【００５９】
次に、図３および図４のフローチャートを参照して本発明の第２の実施の形態の動作について詳細に説明する。
【００６０】
図４は、本発明の第２の実施の形態の動作のフローチャートを示す図である。
【００６１】
まず、プログラム要求手段２３１は、サーバコンピュータ２００に対してプログラムの生成を要求する（図２のステップＢ１）。
【００６２】
情報取得手段２０１は、プログラム要求手段２３１からプログラムを実行するユーザや実行環境の情報を取得し、その情報を条件決定手段２０２に渡す（図２のステップＢ２）。
【００６３】
次に、条件決定手段２０２は、情報取得手段２０１から渡された情報、および条件データベース２１０に格納されているプログラム実行条件からプログラムに付加すべき実行条件を決定し、その決定した実行条件をプログラム生成手段２０３に渡す（ステップＢ３）。
【００６４】
プログラム生成手段２０３は、プログラムデータベース２２０に格納されているプログラムに、条件決定手段２０２から渡されたプログラム実行条件、および実行条件判定機能を付加し、実行条件が付加されたプログラムを生成する（ステップＢ４）。
【００６５】
プログラム配信手段２０４は、プログラム生成手段２０３が生成したプログラムをクライアントコンピュータ２３０に送信する（ステップＢ５）。
【００６６】
プログラム受信手段２３２は、サーバコンピュータ２００からプログラムを受信し、プログラム実行手段２３３に渡す（ステップＢ６）。
【００６７】
プログラム実行手段２３３は、プログラム受信手段２３２から渡されたプログラムを実行する（ステップＢ７）。
【００６８】
ユーザがこのプログラムを実行すると、実行条件判定機能が動作して、プログラムを実行した環境が、このプログラムのプログラム実行条件に合致しているかが判断され、合致していればプログラムが実行され、合致していなければプログラムが実行されない。
【００６９】
次に、本発明の第２の実施の形態の効果について説明する。
【００７０】
本発明の第２の実施の形態では、クライアントとサーバとによって構成されているため、クライアントから物理的に離れているサーバに対してプログラム生成を要求することが可能であり、クライアントが生成されたプログラムを受信してすぐに実行することが可能である。
【００７１】
また、本発明の第２の実施の形態では、さらに、クライアントがプログラム生成要求時に自身の環境情報を送信するため、その環境に合ったプログラムを生成することが可能である。
【００７２】
本発明は、通信キャリアやＩＳＰ事業者が契約者に対してプログラムを配布するといった用途にも適用することができる。また、展示会場などにおいて、来場者に一時的にプログラムを実行してもらうといった用途にも適用することができる。
【図面の簡単な説明】
【００７３】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】本発明の第１の実施の形態の動作のフローチャートを示す図である。
【図３】本発明の第２の実施の形態の構成を示すブロック図である。
【図４】本発明の第２の実施の形態の動作のフローチャートを示す図である。
【符号の説明】
【００７４】
１００  コンピュータ
１０１  情報取得手段
１０２  条件決定手段
１０３  プログラム生成手段
１１０  条件データベース
１２０  プログラムデータベース
２００  サーバコンピュータ
２０１  情報取得手段
２０２  条件決定手段
２０３  プログラム生成手段
２０４  プログラム配信手段
２１０  条件データベース
２２０  プログラムデータベース
２３０  クライアントコンピュータ
２３１  プログラム要求手段
２３２  プログラム受信手段
２３３  プログラム実行手段
【図１】
2008204338.tif 000003
【図２】
2008204338.tif 000004
【図３】
2008204338.tif 000005
【図４】
2008204338.tif 000006