説明

実行条件付プログラム生成システム、実行条件付プログラム生成方法および実行条件付プログラム

【課題】特別なハードウェア等を必要とせずに、プログラムの不正利用を防止することができる実行条件付プログラム生成システム、実行条件付プログラム生成方法および実行条件付プログラムを提供することである。
【解決手段】システムが取得した情報に基づいてプログラムの実行条件を決定し、その実行条件を満たしているかどうかを調べる実行条件判定機能を付加したプログラムを動的に生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、実行条件付プログラム生成システム、実行条件付プログラム生成方法および実行条件付プログラムに関する。
【背景技術】
【0002】
従来、ソフトウェアプログラムを提供するに当たり、提供側で許容していない不正な利用者によるプログラムの不正利用が存在している。
【0003】
このようなプログラムの不正利用を防止するための方法として様々な方式が提案されている。
【0004】
たとえば従来方式1は、ユーザがプログラムをダウンロードする際に認証を行うことにより、間接的にプログラムを実行できるユーザを制限するものである。
【0005】
また、従来方式2は、ユーザがプログラム実行時にネットワーク上のサーバと接続して認証を行うものである。
【0006】
また、従来方式3は、ドングルと呼ばれるハードウェアキーの接続の有無によってプログラムの実行を制限するものである。プログラムは、自身が実行された環境にハードウェアキーが接続されているかどうかを調べ、接続されている場合にのみ実行を許可する。
【0007】
また、特許文献1に記載の発明では、アプリケーションに組み込まれた識別コード応答モジュールが、そのアプリケーションがインストールされた端末上で動作している識別コード応答モジュールと通信を行うことによって正当利用者の認証を行うようにしている。
【0008】
さらに、特許文献2に記載の発明では、シリアル番号というデータのみをプラグラムに付加して正当利用者の認証を行うようにしている。
【0009】
【特許文献1】特開2003−5859号公報
【特許文献2】特開2004−139539号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかしながら、上述の各方式では以下のような問題があった。
【0011】
従来方式1では、プログラムをダウンロードしたユーザが他人にプログラムを渡すことが可能であり、プログラムのダウンロード時における認証が有効とは言えない。
【0012】
また、従来方式2では、プログラム実行そのものを制限することが可能であるが、ネットワーク上のサーバと通信を行う必要があるため、ネットワークに接続されていない環境では機能しない。
【0013】
また、従来方式3では、プログラムの実行そのものを制限することが可能であるが、ドングルという特別なハードウェアが別途必要となる。
【0014】
また、特許文献1に記載の発明では、アプリケーションに識別コード応答モジュールを組み込むとともに、端末側の識別コード応答モジュールをあらかじめ端末にインストールしておく必要があり、ユーザによる操作手順が煩雑であるという問題があった。
【0015】
さらに、特許文献2に記載の発明では、シリアル番号というデータのみをプラグラムに付加しており、その利用可能性に乏しいという問題があった。
【0016】
本発明は上記の点にかんがみてなされたもので、特別なハードウェア等を必要とせずに、プログラムの不正利用を防止することができる実行条件付プログラム生成システム、実行条件付プログラム生成方法および実行条件付プログラムを提供することを目的とする。
【課題を解決するための手段】
【0017】
本発明では、システムが取得した情報に基づいてプログラムの実行条件を決定し、その実行条件を満たしているかどうかを調べる実行条件判定機能を付加したプログラムを動的に生成する。
【0018】
また本発明では、ユーザへプログラムを配布する際、ユーザの属性情報によりプログラムの実行条件を決定し、その実行条件および実行条件を満たしているかどうかを調べる実行条件判定機能を付加したプログラムを動的に生成する。
【0019】
プログラムに実行条件が付加されているため、プログラムの実行そのものを制限することが可能である。また、サーバと通信を行う必要がないため、実行環境がネットワークに接続されている必要がない。さらに、ドングルのような特別なハードウェアも必要としない。
【発明の効果】
【0020】
本発明においては、以下に記載するような効果を奏する。
【0021】
本発明による第1の効果は、ネットワークへの接続や特別なハードウェアを用意することなく、プログラム実行時にその実行を制限することができることにある。
【0022】
その理由は、プログラム自体に実行条件、および実行条件判定機能が付加されているためである。プログラムが、自身が実行される環境を調べ、そのプログラム実行が適切かどうかを判断する。
【0023】
第2の効果は、同一のプログラムに対して実行条件を動的に変更することが可能なことにある。
【0024】
その理由は、プログラムを生成する際に、情報を取得して実行条件を動的に決定しているためである。
【発明を実施するための最良の形態】
【0025】
本発明では、システムが取得した情報に基づいてプログラムの実行条件を決定し、その実行条件を満たしているかどうかを調べる実行条件判定機能を付加したプログラムを動的に生成する。
【0026】
また本発明では、ユーザへプログラムを配布する際、ユーザの属性情報によりプログラムの実行条件を決定し、その実行条件および実行条件を満たしているかどうかを調べる実行条件判定機能を付加したプログラムを動的に生成する。
【0027】
プログラムに実行条件が付加されているため、プログラムの実行そのものを制限することが可能である。また、サーバと通信を行う必要がないため、実行環境がネットワークに接続されている必要がない。さらに、ドングルのような特別なハードウェアも必要としない。
【0028】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【0029】
図1は、本発明の第1の実施の形態の構成を示すブロック図である。
【0030】
図1を参照すると、本発明の第1の実施の形態は、プログラム制御により動作するコンピュータ100と、条件データベース110と、プログラムデータベース120とから構成されている。
【0031】
条件データベース110には、プログラムを実行するユーザや実行環境の情報(たとえば端末のIPアドレスや、OSのバージョンなどが挙げられる。)に対応付けて、プログラムの実行条件(利用の可/付加や、利用可能時間帯の設定などが挙げられる。)が格納されている。
【0032】
プログラムデータベース120には、ユーザに提供するプログラムが格納されている。
【0033】
コンピュータ100は、情報取得手段101と、条件決定手段102と、プログラム生成手段103とを含む。これらの各手段は、それぞれ概略つぎのように動作する。
【0034】
情報取得手段101は、プログラムを実行するユーザや実行環境の情報(たとえば端末のIPアドレスや、OSのバージョンなどが挙げられる。)を取得する。
【0035】
条件決定手段102は、情報取得手段101が取得した情報、および条件データベース110に格納されているプログラム実行条件を基に、プログラムに付加すべき実行条件を決定する。
【0036】
プログラム生成手段103は、プログラムデータベース120に格納されているプログラムに、条件決定手段102が決定したプログラム実行条件、および実行条件判定機能を付加する。
【0037】
ユーザがこのプログラムを実行すると、実行条件判定機能が動作して、プログラムを実行した環境が、このプログラムのプログラム実行条件に合致しているかが判断され、合致していればプログラムが実行され、合致していなければプログラムが実行されない。
【0038】
次に、図1および図2のフローチャートを参照して本発明の第1の実施の形態の動作について詳細に説明する。
【0039】
図2は、本発明の第1の実施の形態の動作のフローチャートを示す図である。
【0040】
まず、情報取得手段101は、プログラムを実行するユーザや実行環境の情報を取得し、その情報を条件決定手段102に渡す(図2のステップA1)。
【0041】
次に、条件決定手段102は、情報取得手段101から渡された情報、および条件データベース110に格納されているプログラム実行条件からプログラムに付加すべき実行条件を決定し、その決定した実行条件をプログラム生成手段103に渡す(ステップA2)。
【0042】
プログラム生成手段103は、プログラムデータベース120に格納されているプログラムに、条件決定手段102から渡されたプログラム実行条件、および実行条件判定機能を付加し、実行条件が付加されたプログラムを生成する(ステップA3)。
【0043】
次に、本発明の第1の実施の形態の効果について説明する。
【0044】
この第1の実施の形態では、システムが単一のコンピュータによって構成されているため、複数のコンピュータを用意する必要がないという効果を奏する。
【0045】
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
【0046】
図3は、本発明の第2の実施の形態の構成を示すブロック図である。
【0047】
図3を参照すると、本発明の第2の実施の形態は、プログラム制御により動作するサーバコンピュータ200と、条件データベース210と、プログラムデータベース220と、クライアントコンピュータ230とから構成されている。
【0048】
条件データベース210には、プログラムを実行するユーザや実行環境の情報(たとえば端末のIPアドレスや、OSのバージョンなどが挙げられる。)に対応付けて、プログラムの実行条件(利用の可/付加や、利用可能時間帯の設定などが挙げられる。)が格納されている。
【0049】
プログラムデータベース220には、ユーザに提供するプログラムが格納されている。
【0050】
コンピュータ200は、情報取得手段201と、条件決定手段202と、プログラム生成手段203、プログラム配信手段204とを含む。これらの各手段は、それぞれ概略つぎのように動作する。
【0051】
情報取得手段201は、クライアントコンピュータ230からのプログラム生成要求を受け付け、プログラムの実行条件を決定するためにクライアントコンピュータ230の環境情報(たとえば端末のIPアドレスや、OSのバージョンなどが挙げられる。)を取得する。
【0052】
条件決定手段202は、情報取得手段201が取得した情報、および条件データベース210に格納されているプログラム実行条件を基に、プログラムに付加すべき実行条件を決定する。
【0053】
プログラム生成手段203は、プログラムデータベース220に格納されているプログラムに、条件決定手段202が決定したプログラム実行条件、および実行条件判定機能を付加する。
【0054】
プログラム配信手段204は、生成したプログラムをクライアントコンピュータ230に対して配信する。
【0055】
クライアントコンピュータ230は、プログラム要求手段231と、プログラム受信手段232と、プログラム実行手段233とを含む。これらの各手段は、それぞれ概略つぎのように動作する。
【0056】
プログラム要求手段231は、サーバコンピュータ200にプログラムの生成を要求し、クライアントコンピュータ230の環境情報を送信する。
【0057】
プログラム受信手段232は、生成されたプログラムをプログラム配信手段205より受信する。
【0058】
プログラム実行手段233は、受信したプログラムを実行する。実行されたプログラムは、クライアントコンピュータ230の環境を調べ、自身に埋め込まれている実行条件を満たしている場合に実行を続ける。条件を満たしていない場合は、実行を中断する。
【0059】
次に、図3および図4のフローチャートを参照して本発明の第2の実施の形態の動作について詳細に説明する。
【0060】
図4は、本発明の第2の実施の形態の動作のフローチャートを示す図である。
【0061】
まず、プログラム要求手段231は、サーバコンピュータ200に対してプログラムの生成を要求する(図2のステップB1)。
【0062】
情報取得手段201は、プログラム要求手段231からプログラムを実行するユーザや実行環境の情報を取得し、その情報を条件決定手段202に渡す(図2のステップB2)。
【0063】
次に、条件決定手段202は、情報取得手段201から渡された情報、および条件データベース210に格納されているプログラム実行条件からプログラムに付加すべき実行条件を決定し、その決定した実行条件をプログラム生成手段203に渡す(ステップB3)。
【0064】
プログラム生成手段203は、プログラムデータベース220に格納されているプログラムに、条件決定手段202から渡されたプログラム実行条件、および実行条件判定機能を付加し、実行条件が付加されたプログラムを生成する(ステップB4)。
【0065】
プログラム配信手段204は、プログラム生成手段203が生成したプログラムをクライアントコンピュータ230に送信する(ステップB5)。
【0066】
プログラム受信手段232は、サーバコンピュータ200からプログラムを受信し、プログラム実行手段233に渡す(ステップB6)。
【0067】
プログラム実行手段233は、プログラム受信手段232から渡されたプログラムを実行する(ステップB7)。
【0068】
ユーザがこのプログラムを実行すると、実行条件判定機能が動作して、プログラムを実行した環境が、このプログラムのプログラム実行条件に合致しているかが判断され、合致していればプログラムが実行され、合致していなければプログラムが実行されない。
【0069】
次に、本発明の第2の実施の形態の効果について説明する。
【0070】
本発明の第2の実施の形態では、クライアントとサーバとによって構成されているため、クライアントから物理的に離れているサーバに対してプログラム生成を要求することが可能であり、クライアントが生成されたプログラムを受信してすぐに実行することが可能である。
【0071】
また、本発明の第2の実施の形態では、さらに、クライアントがプログラム生成要求時に自身の環境情報を送信するため、その環境に合ったプログラムを生成することが可能である。
【0072】
本発明は、通信キャリアやISP事業者が契約者に対してプログラムを配布するといった用途にも適用することができる。また、展示会場などにおいて、来場者に一時的にプログラムを実行してもらうといった用途にも適用することができる。
【図面の簡単な説明】
【0073】
【図1】本発明の第1の実施の形態の構成を示すブロック図である。
【図2】本発明の第1の実施の形態の動作のフローチャートを示す図である。
【図3】本発明の第2の実施の形態の構成を示すブロック図である。
【図4】本発明の第2の実施の形態の動作のフローチャートを示す図である。
【符号の説明】
【0074】
100 コンピュータ
101 情報取得手段
102 条件決定手段
103 プログラム生成手段
110 条件データベース
120 プログラムデータベース
200 サーバコンピュータ
201 情報取得手段
202 条件決定手段
203 プログラム生成手段
204 プログラム配信手段
210 条件データベース
220 プログラムデータベース
230 クライアントコンピュータ
231 プログラム要求手段
232 プログラム受信手段
233 プログラム実行手段

【特許請求の範囲】
【請求項1】
プログラム実行条件および実行条件判定機能を有することを特徴とする実行条件付プログラム。
【請求項2】
プログラム実行条件および実行条件判定機能を付加したプログラムを生成するプログラム生成手段を有することを特徴とする実行条件付プログラム生成システム。
【請求項3】
プログラム実行条件および実行条件判定機能を付加したプログラムを生成することを特徴とする実行条件付プログラム生成方法。
【請求項4】
前記プログラム実行条件が、ユーザのプログラム実行環境の情報および条件データベースに格納されているプログラム実行条件を基にしたものであることを特徴とする請求項1に記載の実行条件付プログラム。
【請求項5】
ユーザのプログラム実行環境の情報、および条件データベースに格納されているプログラム実行条件を基に、前記プログラムに付加すべき実行条件を決定することを特徴とする請求項2に記載の実行条件付プログラム生成システム。
【請求項6】
ユーザのプログラム実行環境の情報、および条件データベースに格納されているプログラム実行条件を基に、前記プログラムに付加すべき実行条件を決定することを特徴とする請求項3に記載の実行条件付プログラム生成方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2008−204338(P2008−204338A)
【公開日】平成20年9月4日(2008.9.4)
【国際特許分類】
【出願番号】特願2007−42131(P2007−42131)
【出願日】平成19年2月22日(2007.2.22)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】