JP2006293974A - ソフトウェア認証システムおよびソフトウェア認証プログラム、並びにソフトウェア認証方法 - Google Patents
ソフトウェア認証システムおよびソフトウェア認証プログラム、並びにソフトウェア認証方法 Download PDFInfo
- Publication number
- JP2006293974A JP2006293974A JP2005249530A JP2005249530A JP2006293974A JP 2006293974 A JP2006293974 A JP 2006293974A JP 2005249530 A JP2005249530 A JP 2005249530A JP 2005249530 A JP2005249530 A JP 2005249530A JP 2006293974 A JP2006293974 A JP 2006293974A
- Authority
- JP
- Japan
- Prior art keywords
- resource
- log information
- upper limit
- amount
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 367
- 238000006243 chemical reaction Methods 0.000 claims abstract description 168
- 230000008569 process Effects 0.000 claims description 306
- 238000012544 monitoring process Methods 0.000 claims description 36
- 238000005259 measurement Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 description 349
- 238000012545 processing Methods 0.000 description 45
- 238000001994 activation Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 29
- 230000004913 activation Effects 0.000 description 22
- 238000012217 deletion Methods 0.000 description 16
- 230000037430 deletion Effects 0.000 description 16
- 238000012360 testing method Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 11
- 238000012795 verification Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】ホスト端末は、個別機能モジュールがホスト端末で使用するリソースの量を測定し、測定したリソースの量を、ネットワークプリンタで使用するリソースの量に換算し、個別機能モジュールから上限値を取得し、換算したリソースの量および取得した上限値に基づいて、個別機能モジュールが使用するリソースの量が上限に達したことを示すログ情報を生成する。そして、ログファイルからログ情報を読み出し(S900)、読み出したログ情報に基づいて個別機能モジュールが使用するリソースの量が上限に達したか否かを判定し(S902)、リソースの量が上限に達していないと判定したときは、個別機能モジュールの実行ファイルに電子署名情報を付加する(S910)。
【選択図】図18
Description
また、プログラミング技術が未熟な人が作成する組込用アプリケーションは、予期せぬ動作を引き起こし、組込機器自体の動作が続行できなくなるという問題がある。この問題を解決するために、特許文献2記載のリソース管理システムが提案されている。
しかしながら、組込用アプリケーションをPC上で実行した場合と、実際にその組込用アプリエーションを組込機器上で実行した場合とでは、その組込用アプリエーションがそれぞれの実行環境で使用するリソース(例えば、メモリ)の量が完全には一致しない。これは、組込用アプリケーションを実行する環境が異なることに起因する。例えば、組込用アプリケーションを実行するために、ライブラリを使用するが、このライブラリは、ハードウェア構成の違いからPC用と組込機器用とでそれぞれプログラム構造が異なる。そのため、同じ関数を使用する場合でも、PC上と組込機器上では、機能は同じであるがプログラム構造が異なるライブラリがリンクされてオブジェクトが生成される。それらオブジェクトは、プログラム構造が異なるので、当然に使用するリソースの量も完全には一致しない。したがって、PC上では適切に動作した組込用アプリケーションでも、実際に組込機器に組み込んだときに、使用するリソースの量が大きすぎるため、複数の組込用アプリケーションが組込機器上で起動した場合に、他の組込用アプリケーションと競合して動作が不安定となる可能性があった。特に、プリンタ等の組込機器は、PCと異なり使用可能なリソースの量が極端に少ないため、個々の組込用アプリケーションが使用するリソースの量を詳細に管理することは安定動作を実現する上で極めて重要である。
このような問題は、組込用アプリケーションを組込機器上で実行する場合に限らず、特定の実行環境で実行させるソフトウェアを他の実行環境で開発するあらゆる場合についても同様に想定される。
機能モジュールが第1実行環境で使用するリソースの量を測定するリソース測定手段と、前記リソース測定手段で測定したリソースの量を、前記機能モジュールが第2実行環境で使用するリソースの量に換算するリソース換算手段と、リソースの制限条件を示すリソース制限情報を取得するリソース制限情報取得手段と、前記リソース換算手段で換算したリソースの量および前記リソース制限情報取得手段で取得したリソース制限情報に基づいて、前記機能モジュールが使用するリソースの量が上限に達したことを示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証システムであって、
前記ログ情報を取得するログ情報取得手段と、前記ログ情報取得手段で取得したログ情報に基づいて前記機能モジュールが使用するリソースの量が上限に達していないかを判定する動作判定手段と、前記動作判定手段が上限に達していないと判定したときは、前記ソフトウェアに認証情報を付加するソフトウェア認証手段とを備えることを特徴とする。
これにより、機能モジュールが使用するリソースの量が上限に達しないソフトウェアに対してのみ認証情報が付加されるので、ソフトウェアの動作を比較的確実に保証することができる。したがって、従来に比して、ソフトウェアの開発を容易に行うことができるとともに安定性の高いソフトウェアを開発することができるという効果が得られる。
また、リソースの量としては、例えば、機能モジュールが使用するメモリ量、または起動可能な機能モジュールの数が含まれる。また、例えば、機能モジュールを利用するアプリケーションが確保するリソースの量(メモリ量、機能モジュール数)が含まれる。以下、形態2および3のソフトウェア認証システム、形態5ないし7のソフトウェア認証プログラム、並びに形態9ないし14のソフトウェア認証方法において同じである。
また、認証情報とは、第2実行環境でソフトウェアを実行するときに実行の可否を判定するために利用される情報であって、セキュリティの観点からは、他人が複製できず、実行の可否を判定できる情報であることが好ましい。また、情報の形式は任意のものを採用することができる。以下、形態2および3のソフトウェア認証システム、形態5ないし7のソフトウェア認証プログラム、並びに形態9ないし14のソフトウェア認証方法において同じである。
第1の構成は、第1機能モジュールと、その実行に前記第1機能モジュールを必要とする複数の第2機能モジュールとを含むソフトウェアが使用するリソースを管理するリソース管理システムであって、前記第2機能モジュールが第1実行環境で使用するリソースの量を測定するリソース測定手段と、前記リソース測定手段で測定したリソースの量を、前記第2機能モジュールが第2実行環境で使用するリソースの量に換算するリソース換算手段と、前記第2実行環境でのリソースの制限条件を示すリソース制限情報を取得するリソース制限情報取得手段と、前記リソース換算手段で換算したリソースの量および前記リソース制限情報取得手段で取得したリソース制限情報に基づいて、前記機能モジュールが使用するリソースの量が上限に達したことを示すログ情報を生成するログ情報生成手段とを備える。
機能モジュールが第1実行環境で使用するリソースの量を測定するリソース測定手段と、第2実行環境でのリソースの上限値を取得するリソース上限値取得手段と、前記リソース上限値取得手段で取得したリソースの上限値を、前記第1実行環境でのリソースの上限値に換算するリソース換算手段と、前記リソース測定手段で測定したリソースの量および前記リソース換算手段で換算したリソースの上限値に基づいて、前記機能モジュールが使用するリソースの量が上限に達したことを示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証システムであって、
前記ログ情報を取得するログ情報取得手段と、前記ログ情報取得手段で取得したログ情報に基づいて前記機能モジュールが使用するリソースの量が上限に達していないかを判定する動作判定手段と、前記動作判定手段が上限に達していないと判定したときは、前記ソフトウェアに認証情報を付加するソフトウェア認証手段とを備えることを特徴とする。
これにより、機能モジュールが使用するリソースの量が上限に達しないソフトウェアに対してのみ認証情報が付加されるので、ソフトウェアの動作を比較的確実に保証することができる。したがって、従来に比して、ソフトウェアの開発を容易に行うことができるとともに安定性の高いソフトウェアを開発することができるという効果が得られる。
第1の構成は、第1機能モジュールと、その実行に前記第1機能モジュールを必要とする複数の第2機能モジュールとを含むソフトウェアが使用するリソースを管理するリソース管理システムであって、前記第2機能モジュールが第1実行環境で使用するリソースの量を測定するリソース測定手段と、第2実行環境でのリソースの上限値を取得するリソース上限値取得手段と、前記リソース上限値取得手段で取得したリソースの上限値を、前記第1実行環境でのリソースの上限値に換算するリソース換算手段と、前記リソース測定手段で測定したリソースの量および前記リソース換算手段で換算したリソースの上限値に基づいて、前記機能モジュールが使用するリソースの量が上限に達したことを示すログ情報を生成するログ情報生成手段とを備える。
第1実行環境とは異なる第2実行環境で機能モジュールが使用するリソースの使用状況を監視するリソース監視手段と、前記リソース監視手段の監視結果に基づいて前記リソース使用状況を示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証システムであって、
前記ログ情報を取得するログ情報取得手段と、前記ログ情報取得手段で取得したログ情報に基づいて前記リソース使用状況が前記第1実行環境に適合するかを判定する動作判定手段と、前記動作判定手段が適合すると判定したときは、前記ソフトウェアに認証情報を付加するソフトウェア認証手段とを備えることを特徴とする。
本システムでは、ログ情報取得手段により、このように生成されたログ情報が取得され、動作判定手段により、取得されたログ情報に基づいてリソース使用状況が第1実行環境に適合するか否かが判定される。その結果、リソース使用状況が適合すると判定されると、ソフトウェア認証手段により、ソフトウェアに認証情報が付加される。
ここで、リソース使用状況としては、例えば、機能モジュール自体またはそれが取り扱うファイルについてのファイル名およびパス名の長さ、ファイル名およびパス名に使用される文字種が含まれる。以下、形態7のソフトウェア認証プログラム、並びに形態13および14のソフトウェア認証方法において同じである。
前記機能モジュールの実行に必要な実行ファイルを取得する実行ファイル取得手段と、前記実行ファイル取得手段で取得した実行ファイルに基づいて、前記機能モジュールを構成する命令または命令群が前記第1実行環境で実行可能な命令または命令群のみからなるかを判定する第2動作判定手段とを備え、
前記ソフトウェア認証手段は、前記第2動作判定手段が前記第1実行環境で実行可能な命令または命令群のみからなると判定したときは、前記ソフトウェアに前記認証情報を付加するようになっていることを特徴とする。
これにより、機能モジュールを構成する命令または命令群が第1実行環境で実行可能な命令または命令群のみからなるソフトウェアに対してのみ認証情報が付加されるので、ソフトウェアの動作をさらに確実に保証することができる。
機能モジュールが第1実行環境で使用するリソースの量を測定するリソース測定手段と、前記リソース測定手段で測定したリソースの量を、前記機能モジュールが第2実行環境で使用するリソースの量に換算するリソース換算手段と、リソースの制限条件を示すリソース制限情報を取得するリソース制限情報取得手段と、前記リソース換算手段で換算したリソースの量および前記リソース制限情報取得手段で取得したリソース制限情報に基づいて、前記機能モジュールが使用するリソースの量が上限に達したことを示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証プログラムであって、
前記ログ情報を取得するログ情報取得ステップと、前記ログ情報取得ステップで取得したログ情報に基づいて前記機能モジュールが使用するリソースの量が上限に達していないかを判定する動作判定ステップと、前記動作判定ステップで上限に達していないと判定したときは、前記ソフトウェアに認証情報を付加するソフトウェア認証ステップとからなる処理をコンピュータに実行させるためのプログラムを含むことを特徴とする。
ここで、ログ情報取得ステップは、ログ情報を取得すればどのような形態であってもよく、例えば、入力装置等からログ情報を入力してもよいし、外部の装置等からログ情報を獲得または受信してもよいし、記憶装置や記憶媒体等からログ情報を読み出してもよいし、機能モジュールその他のデータからログ情報を抽出してもよい。したがって、取得には、少なくとも入力、獲得、受信、読出および抽出が含まれる。以下、形態6および7のソフトウェア認証プログラム、並びに形態9ないし14のソフトウェア認証方法において同じである。
機能モジュールが第1実行環境で使用するリソースの量を測定するリソース測定手段と、第2実行環境でのリソースの上限値を取得するリソース上限値取得手段と、前記リソース上限値取得手段で取得したリソースの上限値を、前記第1実行環境でのリソースの上限値に換算するリソース換算手段と、前記リソース測定手段で測定したリソースの量および前記リソース換算手段で換算したリソースの上限値に基づいて、前記機能モジュールが使用するリソースの量が上限に達したことを示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証プログラムであって、
前記ログ情報を取得するログ情報取得ステップと、前記ログ情報取得ステップで取得したログ情報に基づいて前記機能モジュールが使用するリソースの量が上限に達していないかを判定する動作判定ステップと、前記動作判定ステップで上限に達していないと判定したときは、前記ソフトウェアに認証情報を付加するソフトウェア認証ステップとからなる処理をコンピュータに実行させるためのプログラムを含むことを特徴とする。
第1実行環境とは異なる第2実行環境で機能モジュールが使用するリソースの使用状況を監視するリソース監視手段と、前記リソース監視手段の監視結果に基づいて前記リソース使用状況を示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証プログラムであって、
前記ログ情報を取得するログ情報取得ステップと、前記ログ情報取得ステップで取得したログ情報に基づいて前記リソース使用状況が前記第1実行環境に適合するかを判定する動作判定ステップと、前記動作判定ステップで適合すると判定したときは、前記ソフトウェアに認証情報を付加するソフトウェア認証ステップとからなる処理をコンピュータに実行させるためのプログラムを含むことを特徴とする。
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、形態3のソフトウェア認証システムと同等の作用および効果が得られる。
前記機能モジュールの実行に必要な実行ファイルを取得する実行ファイル取得ステップと、前記実行ファイル取得ステップで取得した実行ファイルに基づいて、前記機能モジュールを構成する命令または命令群が前記第1実行環境で実行可能な命令または命令群のみからなるかを判定する第2動作判定ステップとからなる処理をコンピュータに実行させるためのプログラムを含み、
前記ソフトウェア認証ステップは、前記第2動作判定ステップで前記第1実行環境で実行可能な命令または命令群のみからなると判定したときは、前記ソフトウェアに前記認証情報を付加することを特徴とする。
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、形態4のソフトウェア認証システムと同等の作用および効果が得られる。
機能モジュールが第1実行環境で使用するリソースの量を測定するリソース測定手段と、前記リソース測定手段で測定したリソースの量を、前記機能モジュールが第2実行環境で使用するリソースの量に換算するリソース換算手段と、リソースの制限条件を示すリソース制限情報を取得するリソース制限情報取得手段と、前記リソース換算手段で換算したリソースの量および前記リソース制限情報取得手段で取得したリソース制限情報に基づいて、前記機能モジュールが使用するリソースの量が上限に達したことを示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証方法であって、
前記ログ情報を取得するログ情報取得ステップと、前記ログ情報取得ステップで取得したログ情報に基づいて前記機能モジュールが使用するリソースの量が上限に達していないかを判定する動作判定ステップと、前記動作判定ステップで上限に達していないと判定したときは、前記ソフトウェアに認証情報を付加するソフトウェア認証ステップとを含むことを特徴とする。
これにより、形態1のソフトウェア認証システムと同等の効果が得られる。
機能モジュールが第1実行環境で使用するリソースの量を測定するリソース測定手段と、前記リソース測定手段で測定したリソースの量を、前記機能モジュールが第2実行環境で使用するリソースの量に換算するリソース換算手段と、リソースの制限条件を示すリソース制限情報を取得するリソース制限情報取得手段と、前記リソース換算手段で換算したリソースの量および前記リソース制限情報取得手段で取得したリソース制限情報に基づいて、前記機能モジュールが使用するリソースの量が上限に達したことを示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証方法であって、
演算手段が、前記ログ情報を取得するログ情報取得ステップと、
前記演算手段が、前記ログ情報取得ステップで取得したログ情報に基づいて前記機能モジュールが使用するリソースの量が上限に達していないかを判定する動作判定ステップと、
前記動作判定ステップで上限に達していないと判定したときは、前記演算手段が、前記ソフトウェアに認証情報を付加するソフトウェア認証ステップとを含むことを特徴とする。
これにより、形態1のソフトウェア認証システムと同等の効果が得られる。
機能モジュールが第1実行環境で使用するリソースの量を測定するリソース測定手段と、第2実行環境でのリソースの上限値を取得するリソース上限値取得手段と、前記リソース上限値取得手段で取得したリソースの上限値を、前記第1実行環境でのリソースの上限値に換算するリソース換算手段と、前記リソース測定手段で測定したリソースの量および前記リソース換算手段で換算したリソースの上限値に基づいて、前記機能モジュールが使用するリソースの量が上限に達したことを示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証方法であって、
前記ログ情報を取得するログ情報取得ステップと、前記ログ情報取得ステップで取得したログ情報に基づいて前記機能モジュールが使用するリソースの量が上限に達していないかを判定する動作判定ステップと、前記動作判定ステップで上限に達していないと判定したときは、前記ソフトウェアに認証情報を付加するソフトウェア認証ステップとを含むことを特徴とする。
これにより、形態2のソフトウェア認証システムと同等の効果が得られる。
機能モジュールが第1実行環境で使用するリソースの量を測定するリソース測定手段と、第2実行環境でのリソースの上限値を取得するリソース上限値取得手段と、前記リソース上限値取得手段で取得したリソースの上限値を、前記第1実行環境でのリソースの上限値に換算するリソース換算手段と、前記リソース測定手段で測定したリソースの量および前記リソース換算手段で換算したリソースの上限値に基づいて、前記機能モジュールが使用するリソースの量が上限に達したことを示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証方法であって、
演算手段が、前記ログ情報を取得するログ情報取得ステップと、
前記演算手段が、前記ログ情報取得ステップで取得したログ情報に基づいて前記機能モジュールが使用するリソースの量が上限に達していないかを判定する動作判定ステップと、
前記動作判定ステップで上限に達していないと判定したときは、前記演算手段が、前記ソフトウェアに認証情報を付加するソフトウェア認証ステップとを含むことを特徴とする。
これにより、形態2のソフトウェア認証システムと同等の効果が得られる。
第1実行環境とは異なる第2実行環境で機能モジュールが使用するリソースの使用状況を監視するリソース監視手段と、前記リソース監視手段の監視結果に基づいて前記リソース使用状況を示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証方法であって、
前記ログ情報を取得するログ情報取得ステップと、前記ログ情報取得ステップで取得したログ情報に基づいて前記リソース使用状況が前記第1実行環境に適合するかを判定する動作判定ステップと、前記動作判定ステップで適合すると判定したときは、前記ソフトウェアに認証情報を付加するソフトウェア認証ステップとを含むことを特徴とする。
これにより、形態3のソフトウェア認証システムと同等の効果が得られる。
第1実行環境とは異なる第2実行環境で機能モジュールが使用するリソースの使用状況を監視するリソース監視手段と、前記リソース監視手段の監視結果に基づいて前記リソース使用状況を示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証方法であって、
演算手段が、前記ログ情報を取得するログ情報取得ステップと、
前記演算手段が、前記ログ情報取得ステップで取得したログ情報に基づいて前記リソース使用状況が前記第1実行環境に適合するかを判定する動作判定ステップと、
前記動作判定ステップで適合すると判定したときは、前記演算手段が、前記ソフトウェアに認証情報を付加するソフトウェア認証ステップとを含むことを特徴とする。
これにより、形態3のソフトウェア認証システムと同等の効果が得られる。
前記機能モジュールの実行に必要な実行ファイルを取得する実行ファイル取得ステップと、前記実行ファイル取得ステップで取得した実行ファイルに基づいて、前記機能モジュールを構成する命令または命令群が前記第1実行環境で実行可能な命令または命令群のみからなるかを判定する第2動作判定ステップとを含み、
前記ソフトウェア認証ステップは、前記第2動作判定ステップで前記第1実行環境で実行可能な命令または命令群のみからなると判定したときは、前記ソフトウェアに前記認証情報を付加することを特徴とする。
これにより、形態4のソフトウェア認証システムと同等の効果が得られる。
本実施の形態は、本発明に係るソフトウェア認証システムおよびソフトウェア認証プログラム、並びにソフトウェア認証方法を、図2に示すように、ホスト端末100上のJAVA(登録商標)アプリケーションの実行環境において、ネットワークプリンタの動作を制御するためのJAVA(登録商標)クラスセットをエミュレーションする場合について適用したものである。
図1は、JAVA(登録商標)ソフトウェアの構成を示す図である。
JAVA(登録商標)アプリケーションの実行環境では、JAVA(登録商標)クラスセットの実行を制御するJAVA(登録商標)クラスおよびJVM(Java(登録商標) Virtual Machine)からなる共通機能モジュールをOS(Operating System)上で実行し、JAVA(登録商標)クラスセットである個別機能モジュールを共通機能モジュール上で実行する。ここで、JAVA(登録商標)ソフトウェアは、共通機能モジュールおよび個別機能モジュールから構成される。
ホスト端末100は、図2に示すように、OS110と、共通機能モジュール120と、複数の個別機能モジュール130と、アプリケーション認証部140とを有して構成されている。
OS110は、JAVA(登録商標)ソフトウェアが使用するリソースの量を測定するリソース測定部10と、JAVA(登録商標)ソフトウェア全体が使用するリソースの量を制限するリソース制限部12とを有して構成されている。
共通機能モジュール120は、個別機能モジュール130の実行を管理する個別機能モジュール管理部14と、個別機能モジュール管理部14および個別機能モジュール130が使用するリソースの量を測定するリソース測定部16と、ホスト端末100で所定条件で使用されるリソースの量およびネットワークプリンタで同所定条件で使用されるリソースの量に基づき決定される換算率を登録したリソース換算テーブル22と、リソースの量を換算するリソース換算部24とを有して構成されている。
リソース換算部24は、リソース換算テーブル22に基づいて、リソース測定部16で測定したリソースの量を、ネットワークプリンタで使用するリソースの量に換算する。
リソース制限部20は、リソース換算部24で換算したリソースの量が、上限値取得部18で取得した上限値未満となるように、個別機能モジュール130が使用するリソースの量、および個別機能モジュール管理部14がその個別機能モジュール130の実行に使用するリソースの量を制限する。
アプリケーション認証部140は、ログ情報生成部26が生成したログ情報を取得するログ情報取得部28と、ログ情報取得部28で取得したログ情報に基づいて個別機能モジュール130が使用するリソースの量が上限に達したか否かを判定する動作判定部30と、動作判定部30が上限に達していないと判定したときは、個別機能モジュール130に電子署名情報を付加するモジュール認証部32とを有して構成されている。
図3は、ホスト端末100のハードウェア構成を示すブロック図である。
ホスト端末100は、図3に示すように、制御プログラムに基づいて演算およびシステム全体を制御するCPU50と、所定領域にあらかじめCPU50の制御プログラム等を格納しているROM52と、ROM52等から読み出したデータやCPU50の演算過程で必要な演算結果を格納するためのRAM54と、外部装置に対してデータの入出力を媒介するI/F58とで構成されており、これらは、データを転送するための信号線であるバス59で相互にかつデータ授受可能に接続されている。
次に、記憶装置62のデータ構造を説明する。
個別機能モジュール130は、ネットワークプリンタでのリソースの上限値を格納したリソース制限情報を含んで構成されている。
図4は、リソース制限情報400のデータ構造を示す図である。
図5は、モジュール情報420のデータ構造を示す図である。
モジュール情報420は、図5に示すように、個別機能モジュール130が使用するリソースの量を制限する対象(以下、リソース管理対象という。)とするか否かを格納したフィールド422と、個別機能モジュール130が実行可能なネットワークプリンタの機種を格納したフィールド424と、電子署名情報を格納したフィールド426とを含んで構成されている。
図6は、実行環境情報登録テーブル440のデータ構造を示す図である。
実行環境情報登録テーブル440は、図6に示すように、個別機能モジュール130の起動可能な個数の上限値を登録したフィールド442と、実行すべき個別機能モジュール130の名称を登録したフィールド444と、削除すべき個別機能モジュール130の名称を登録したフィールド446と、エミュレーションするネットワークプリンタの機種を登録したフィールド448と、対応可能な電子署名情報を登録したフィールド450とを含んで構成されている。
図7は、リソース換算テーブル22のデータ構造を示す図である。
リソース換算テーブル22には、図7に示すように、リソースの種別または使用形態ごとに1つのレコードが登録されている。各レコードは、リソースの名称を登録するフィールド502と、換算率を登録するフィールド504とを含んで構成されている。
また、第4段目のレコードには、リソースの名称として「クラス数」が、換算率として「1」がそれぞれ登録されている。これは、個別機能モジュール130がホスト端末100で起動するクラス数に換算率「1」を乗算することにより、ネットワークプリンタで起動するクラス数への換算を行うことを示している。
記憶装置62は、さらに、リソース管理対象となる各個別機能モジュール130ごとに、その個別機能モジュール130が使用するリソースの量を管理するリソース管理テーブルを記憶している。リソース管理テーブルは、個別機能モジュール130がリソース管理対象である場合にその起動に伴って生成される。
リソース管理テーブル460には、図8に示すように、リソースの種別ごとに1つのレコードが登録されている。各レコードは、リソースの名称を登録するフィールド462と、個別機能モジュール130がネットワークプリンタでのリソースの上限値を登録するフィールド464と、個別機能モジュール130がホスト端末100で現在使用しているリソースの量を登録するフィールド466と、フィールド466の値を、ネットワークプリンタで使用するリソースの量に換算した値を登録するフィールド468とを含んで登録されている。
図9は、イベントリスナテーブル480のデータ構造を示す図である。
イベントリスナテーブル480には、図9に示すように、個別機能モジュール130が登録するイベントリスナごとにレコードが登録される。各レコードは、イベントリスナの名称を登録するフィールド482を含んで登録されている。
図10は、個別機能モジュール制御処理を示すフローチャートである。
個別機能モジュール制御処理は、個別機能モジュール130の削除および実行を制御する処理であって、CPU50において実行されると、図10に示すように、まず、ステップS100に移行する。
一方、ステップS106で、該当の個別機能モジュール130がリソース管理対象でないと判定したとき(No)は、ステップS102に移行する。
ステップS114では、現在起動中のモジュール数を示す変数の値が所定の上限値未満であるか否かを判定し、所定の上限値未満であると判定したとき(Yes)は、ステップS116に移行する。
ステップS120では、実行可否判定処理から個別機能モジュール130の実行を許可することを示す戻り値が返却されたか否かを判定し、実行を許可することを示す戻り値が返却されたと判定したとき(Yes)は、ステップS122に移行する。
ステップS124では、該当の個別機能モジュール130に対応するリソース管理テーブル460を生成し、該当の個別機能モジュール130に含まれるリソース制限情報400から上限値を取得し、取得した上限値を、生成したリソース管理テーブル460に登録し、ステップS126に移行して、現在起動中のモジュール数を示す変数の値に「1」を加算し、ステップS128に移行する。
一方、ステップS122で、該当の個別機能モジュール130がリソース管理対象でないと判定したとき(No)は、ステップS134に移行して、ステップS130と同様のモジュール起動処理を実行し、ステップS112に移行する。
一方、ステップS114で、現在起動中のモジュール数を示す変数の値が所定の上限値以上であると判定したとき(No)は、ステップS136に移行して、モジュール数が上限に達したことを示すログ情報を生成し、生成したログ情報を記憶装置62のログファイルに記録し、一連の処理を終了して元の処理に復帰させる。
次に、ステップS118の実行可否判定処理を説明する。
図11は、実行可否判定処理を示すフローチャートである。
実行可否判定処理は、ステップS118において実行されると、図11に示すように、まず、ステップS200に移行する。
ステップS204では、個別機能モジュール130に含まれるモジュール情報420から電子署名情報を取得し、ステップS206に移行して、実行環境情報登録テーブル440に基づいて、取得した電子署名情報が対応可能なものであるか否かを判定し、対応可能な電子署名情報であると判定したとき(Yes)は、ステップS208に移行する。
ステップS209では、実行環境情報登録テーブル440に対応するリソース換算テーブル22が存在するか否かを判定し、対応のリソース換算テーブル22が存在すると判定したとき(Yes)は、ステップS210に移行して、対応のリソース換算テーブル22を記憶装置62から読み込み、ステップS211に移行する。
ステップS214では、取得した上限値が全メモリ残量未満であるか否かを判定し、全メモリ残量未満であると判定したとき(Yes)は、ステップS216に移行して、個別機能モジュール130の実行を許可することを示す戻り値を返却し、一連の処理を終了して元の処理に復帰させる。
一方、ステップS209で、実行環境情報登録テーブル440に対応するリソース換算テーブル22が存在しないと判定したとき(No)は、ステップS211に移行する。
次に、ステップS130,S134のモジュール起動処理を説明する。
図12は、モジュール起動処理を示すフローチャートである。
モジュール起動処理は、ステップS130,S134において実行されると、図12に示すように、まず、ステップS300に移行する。
ステップS304では、リソース確保先の参照ポインタが設定されているか否かを判定し、リソース確保先の参照ポインタが設定されていると判定したとき(Yes)は、ステップS305に移行して、読み込んだクラスの実行に必要なメモリ量を算出し、ステップS306に移行する。
次いで、ステップS307に移行して、リソース確保先の参照ポインタが指し示すリソース管理テーブル460(以下、参照リソース管理テーブル460という。)の使用メモリ量に換算メモリ量を加算し、ステップS308に移行して、加算した合計のメモリ量が、参照リソース管理テーブル460の上限値未満であるか否かを判定し、上限値未満であると判定したとき(Yes)は、ステップS310に移行する。
ステップS314では、インスタンスの生成に成功したか否かを判定し、インスタンスの生成に成功したと判定したとき(Yes)は、ステップS316に移行して、読み込んだクラスの機能を呼び出すクラス機能呼出処理を実行し、ステップS318に移行して、個別機能モジュール130のイベントリスナを登録するイベントリスナ登録処理を実行し、一連の処理を終了して元の処理に復帰させる。
ステップS321では、個別機能モジュール130が使用するメモリ量が上限に達したことを示すログ情報を生成し、生成したログ情報を記憶装置62のログファイルに記録し、ステップS322に移行して、エラーを通知し、ステップS314に移行する。
一方、ステップS314で、インスタンスの生成に失敗したと判定したとき(No)、およびステップS302で、クラスの読込に失敗したと判定したとき(No)はいずれも、ステップS318に移行する。
図13は、イベントリスナ登録処理を示すフローチャートである。
イベントリスナ登録処理は、ステップS318において実行されると、図13に示すように、まず、ステップS400に移行する。
ステップS400では、個別機能モジュール130からイベントリスナクラスを読み込むべきクラス読込命令を出力し、ステップS402に移行して、イベントリスナクラスの読込に成功したか否かを判定し、イベントリスナクラスの読込に成功したと判定したとき(Yes)は、ステップS404に移行する。
ステップS406では、読み込んだイベントリスナクラスが使用するライブラリ等からメモリの使用形態を特定し、特定したメモリの使用形態に対応する換算率を、読み込んだリソース換算テーブル22から取得し、算出したメモリ量に、取得した換算率を乗算することにより、ネットワークプリンタで使用するメモリ量への換算を行う。
ステップS410では、読み込んだイベントリスナクラスのインスタンスをメモリ上に生成し、ステップS412に移行して、リソース確保先の参照ポインタの値を示すリソース確保先参照情報を、生成したインスタンスに保存し、ステップS413に移行して、換算メモリ量を、生成したインスタンスに保存し、ステップS414に移行する。
一方、ステップS408で、合計のメモリ量が上限値以上であると判定したとき(No)は、ステップS418に移行して、参照リソース管理テーブル460の使用メモリ量から換算メモリ量を減算し、ステップS419に移行する。
一方、ステップS404で、リソース確保先の参照ポインタが設定されていないと判定したとき(No)は、ステップS422に移行して、読み込んだイベントリスナクラスのインスタンスをメモリ上に生成し、ステップS414に移行する。
次に、クラス読込処理を説明する。
図14は、クラス読込処理を示すフローチャートである。
ステップS500では、クラス読込命令を取得したか否かを判定し、クラス読込命令を取得したと判定したとき(Yes)は、ステップS502に移行するが、そうでないと判定したとき(No)は、クラス読込命令を取得するまでステップS500で待機する。
ステップS504では、クラス読込命令に係るクラスが属する個別機能モジュール130を特定し、ステップS506に移行して、特定した該当の個別機能モジュール130に含まれるモジュール情報420に基づいて、該当の個別機能モジュール130がリソース管理対象であるか否かを判定し、リソース管理対象であると判定したとき(Yes)は、ステップS508に移行する。
ステップS509では、クラス数に対応する換算率を、読み込んだリソース換算テーブル22から取得し、クラス読込命令に係るクラスの数「1」に、取得した換算率を乗算することにより、ネットワークプリンタで起動するクラス数への換算を行う。
ステップS514では、クラス読込命令に係るクラスを個別機能モジュール130から読み込み、ステップS516に移行して、読み込んだクラスをキャッシュテーブルに登録し、ステップS517に移行する。
一方、ステップS512で、合計のクラス数が上限値以上であると判定したとき(No)は、ステップS520に移行して、参照リソース管理テーブル460の起動クラス数から換算クラス数を減算し、ステップS521に移行する。
一方、ステップS506で、該当の個別機能モジュール130がリソース管理対象でないと判定したとき(No)は、ステップS524に移行して、クラス読込命令に係るクラスを個別機能モジュール130から読み込み、ステップS526に移行して、読み込んだクラスをキャッシュテーブルに登録し、一連の処理を終了して元の処理に復帰させる。
次に、イベントリスナ制御処理を説明する。
図15は、イベントリスナ制御処理を示すフローチャートである。
イベントリスナ制御処理は、イベントリスナの実行を制御する処理であって、CPU50において実行されると、図15に示すように、まず、ステップS600に移行する。
ステップS604では、該当のイベントリスナの生成元となった個別機能モジュール130を特定し、ステップS606に移行して、特定した該当の個別機能モジュール130に含まれるモジュール情報420に基づいて、該当の個別機能モジュール130がリソース管理対象であるか否かを判定し、リソース管理対象であると判定したとき(Yes)は、ステップS608に移行する。
一方、ステップS606で、該当の個別機能モジュール130がリソース管理対象でないと判定したとき(No)は、ステップS616に移行して、該当のイベントリスナを実行し、ステップS614に移行する。
次に、ステップS610のイベントリスナ実行処理を説明する。
図16は、イベントリスナ実行処理を示すフローチャートである。
イベントリスナ実行処理は、ステップS610において実行されると、図16に示すように、まず、ステップS700に移行する。
次いで、ステップS705に移行して、参照リソース管理テーブル460の使用メモリ量に換算メモリ量を加算し、ステップS706に移行して、加算した合計のメモリ量が、参照リソース管理テーブル460の上限値未満であるか否かを判定し、上限値未満であると判定したとき(Yes)は、ステップS708に移行する。
一方、ステップS706で、合計のメモリ量が上限値以上であると判定したとき(No)は、ステップS714に移行して、参照リソース管理テーブル460の使用メモリ量から換算メモリ量を減算し、ステップS715に移行する。
一方、ステップS702で、実行すべき命令が存在しないと判定したとき(No)は、一連の処理を終了して元の処理に復帰させる。
図17は、インスタンス削除処理を示すフローチャートである。
インスタンス削除処理は、インスタンスを削除する処理であって、CPU50において実行されると、図17に示すように、まず、ステップS800に移行する。
ステップS800では、削除すべきインスタンスを登録したインスタンス削除リストを取得し、ステップS802に移行して、取得したインスタンス削除リストに基づいて、削除すべきインスタンスが存在するか否かを判定し、削除すべきインスタンスが存在すると判定したとき(Yes)は、ステップS804に移行する。
ステップS806では、取得したリソース確保先参照情報に基づいてリソース確保先の参照ポインタを設定し、ステップS808に移行して、該当のインスタンスを削除し、ステップS810に移行して、該当のインスタンスの実行に必要なメモリ量を参照リソース管理テーブル460の使用メモリ量から減算し、ステップS812に移行する。
一方、ステップS805で、リソース確保先参照情報の取得に失敗したと判定したとき(No)は、ステップS816に移行して、該当のインスタンスを削除し、ステップS814に移行する。
次に、モジュール認証処理を説明する。
図18は、モジュール認証処理を示すフローチャートである。
モジュール認証処理は、CPU50において実行されると、図18に示すように、まず、ステップS900に移行する。
ステップS904では、読み出したログ情報に基づいて、個別機能モジュール130がネットワークプリンタにインストール不可能である否かを判定し、個別機能モジュール130がインストール可能であると判定したとき(No)は、ステップS906に移行する。
ステップS910では、読み出した実行ファイルに電子署名情報を付加し、ステップS912に移行して、電子署名情報を付加した実行ファイルを記憶装置62に保存し、一連の処理を終了して元の処理に復帰させる。
一方、ステップS904で、個別機能モジュール130がインストール不可能であると判定したとき(Yes)、およびステップS902で、起動クラス数または使用メモリ量が上限に達したと判定したとき(Yes)はいずれも、ステップS914に移行して、個別機能モジュール130が認証不可能であることを示すメッセージを表示装置64に表示し、一連の処理を終了して元の処理に復帰させる。
初めに、リソース管理対象となる個別機能モジュール130を実行する場合を説明する。
ホスト端末100では、共通機能モジュール120の実行により個別機能モジュール制御処理が実行される。個別機能モジュール制御処理では、ステップS102〜S110を経て、削除すべき個別機能モジュール130が存在する場合は、その個別機能モジュール130が削除される。次いで、ステップS114を経て、現在起動中のモジュール数が所定の上限値未満であると判定されると、ステップS116,S118を経て、該当の個別機能モジュール130が読み込まれ、読み込まれた個別機能モジュール130の実行可否が判定される。実行可否判定処理では、個別機能モジュール130について、一致する機種情報および対応可能な電子署名情報を有し、かつ、使用可能なメモリ量の上限値が全メモリ残量未満である場合に実行が許可される。
一方、ホスト端末100では、共通機能モジュール120の実行によりイベントリスナ制御処理が実行される。イベントリスナ制御処理では、ステップS703〜S705を経て、実行すべきイベントリスナの生成元となった個別機能モジュール130の使用メモリ量が、ネットワークプリンタでの使用メモリ量に換算されて加算される。このとき、使用メモリ量が上限値以上となると、ステップS715,S716を経て、個別機能モジュール130が使用するメモリ量が上限に達したことを示すログ情報が生成されるとともにエラーが通知され、イベントリスナの実行が中止される。
一方、ホスト端末100では、共通機能モジュール120の実行によりインスタンス削除処理が実行される。インスタンス削除処理では、削除すべきインスタンスが存在する場合は、ステップS808,S810を経て、そのインスタンスが削除され、そのイベントリスナの生成元となった個別機能モジュール130の使用メモリ量が減算される。
エラーが発生した場合、ログファイルには、図19に示すように、個別機能モジュール130が起動および停止したことを示すログ情報のほか、個別機能モジュール130の起動クラス数または使用メモリ量が上限に達したことを示すログ情報が記録される。
図20は、エラーが発生しない場合のログファイルの内容を示す図である。
次に、リソース管理対象でない個別機能モジュール130を実行する場合を説明する。
ホスト端末100では、個別機能モジュール制御処理が実行されると、ステップS116,S118を経て、該当の個別機能モジュール130が読み込まれ、読み込まれた個別機能モジュール130の実行可否が判定される。
一方、ホスト端末100では、インスタンス削除処理が実行されると、削除すべきインスタンスが存在する場合は、ステップS816を経て、そのインスタンスが削除される。
図21は、リソース管理対象となる個別機能モジュールb,cを並列に実行した場合を示すタイムチャートである。
個別機能モジュールbが実行されると、共通機能モジュール120のAMスレッド(起動処理部)が実行され、個別機能モジュールbが起動してそのスレッドが実行される。また、共通機能モジュール120のAMスレッドが実行され、個別機能モジュールbのイベントリスナが生成される。そして、個別機能モジュールbに対応するイベントが発生すると、共通機能モジュール120のAMスレッド(イベント処理部)が実行され、個別機能モジュールbのクラスが読み込まれ、読み込まれたインスタンスが生成される。個別機能モジュールbが不要となった場合は、共通機能モジュール120のインスタンス削除スレッドが実行され、個別機能モジュールbのインスタンスが削除される。この一連の処理において、共通機能モジュール120および個別機能モジュールbのスレッドの実行に伴って増減する起動クラス数および使用メモリ量は、個別機能モジュールbが使用するリソースの量として管理され、個別機能モジュールbに設定された所定の上限値未満となるように制限される。
ホスト端末100では、ログファイルが生成されると、ステップS900〜S906を繰り返しを経て、ログファイルからログ情報が順次読み出され、個別機能モジュール130の起動クラス数または使用メモリ量が上限に達したか否か、および個別機能モジュール130がネットワークプリンタにインストール不可能であるか否かが判定される。図20に示すログファイルのように、ログファイルに含まれるすべてのログ情報について、起動クラス数または使用メモリ量が上限に達せずかつインストール可能であると判定されると、ステップS908〜S912を経て、個別機能モジュール130の実行ファイルが読み出され、読み出された実行ファイルに電子署名情報が付加されて保存される。
このようにして、本実施の形態では、個別機能モジュール130がホスト端末100で使用するリソースの量を測定し、測定したリソースの量を、ネットワークプリンタで使用するリソースの量に換算し、個別機能モジュール130から上限値を取得し、換算したリソースの量および取得した上限値に基づいて、個別機能モジュール130が使用するリソースの量が上限に達したことを示すログ情報を生成するようになっている。
さらに、本実施の形態では、リソース管理対象となる各個別機能モジュール130ごとに、その個別機能モジュール130が使用するメモリ量、並びに共通機能モジュール120がその個別機能モジュール130の実行に使用するメモリ量および起動するクラス数を測定するようになっている。
さらに、本実施の形態では、換算したリソースの量および取得した上限値に基づいて個別機能モジュール130によるリソースの確保を禁止するようになっている。
さらに、本実施の形態では、ホスト端末100で所定条件で使用されるリソースの量およびネットワークプリンタで同所定条件で使用されるリソースの量に基づき決定される換算率を登録したリソース換算テーブル22に基づいて換算を行うようになっている。
さらに、本実施の形態では、共通機能モジュール120および個別機能モジュール130が使用するリソースの種別に応じてリソース換算テーブル22から対応する換算率を取得し、取得した換算率に基づいて換算を行うようになっている。
さらに、本実施の形態では、共通機能モジュール120および個別機能モジュール130が使用するリソースの形態に応じてリソース換算テーブル22から対応する換算率を取得し、取得した換算率に基づいて換算を行うようになっている。
さらに、本実施の形態では、リソース換算テーブル22は、複数のテストモジュールのそれぞれについて、ホスト端末100およびネットワークプリンタでそのテストモジュールが使用するリソースの量に基づいて換算率を決定し、各テストモジュールについて決定された換算率のうち最大値を登録した。
さらに、本実施の形態では、ログファイルからログ情報を読み出し、読み出したログ情報に基づいて個別機能モジュール130が使用するリソースの量が上限に達したか否かを判定し、リソースの量が上限に達していないと判定したときは、個別機能モジュール130の実行ファイルに電子署名情報を付加するようになっている。
さらに、本実施の形態では、ログファイルからログ情報を読み出し、読み出したログ情報に基づいて個別機能モジュール130がネットワークプリンタにインストール不可能であるか否かを判定し、インストール可能であると判定したときは、個別機能モジュール130の実行ファイルに電子署名情報を付加するようになっている。
上記第1の実施の形態において、リソース測定部16およびステップS305,S405,S703は、形態1、5、9または10のリソース測定手段に対応し、リソース換算部24およびステップS306,S406,S509,S704は、形態1、5、9または10のリソース換算手段に対応している。また、上限値取得部18およびステップS211は、形態1、5、9または10のリソース制限情報取得手段に対応し、ログ情報生成部26およびステップS321,S419,S521,S715は、形態1、5、9または10のログ情報生成手段に対応している。
次に、本発明の第2の実施の形態を図面を参照しながら説明する。図22ないし図25は、本発明に係るソフトウェア認証システムおよびソフトウェア認証プログラム、並びにソフトウェア認証方法の第2の実施の形態を示す図である。
図22は、ホスト端末100の機能概要を示す機能ブロック図である。
共通機能モジュール120は、図22に示すように、個別機能モジュール管理部14、リソース測定部16、上限値取得部18、リソース制限部20、リソース換算テーブル22およびログ情報生成部26のほか、リソースの量を換算するリソース換算部34を有して構成されている。
リソース制限部20は、リソース測定部16で測定したリソースの量が、リソース換算部34で換算した上限値未満となるように、個別機能モジュール130が使用するリソースの量、および個別機能モジュール管理部14がその個別機能モジュール130の実行に使用するリソースの量を制限する。
次に、ホスト端末100の構成を説明する。
記憶装置62は、図7のリソース換算テーブル22に代えて、図23のリソース換算テーブル22を記憶している。
リソース換算テーブル22には、図23に示すように、リソースの種別または使用形態ごとに1つのレコードが登録されている。各レコードは、リソースの名称を登録するフィールド502と、換算率を登録するフィールド504とを含んで構成されている。
図23の例では、第1段目のレコードには、リソースの名称として「メモリ」が、換算率として「1」がそれぞれ登録されている。これは、個別機能モジュール130がネットワークプリンタでのメモリ量の上限値を換算率「1」で除算することにより、ホスト端末100でのメモリ量の上限値への換算を行うことを示している。
なお、リソース換算テーブル22には、複数のテストモジュールのそれぞれについて、ホスト端末100およびネットワークプリンタでそのテストモジュールが使用するリソースの量に基づいて換算率を決定し、各テストモジュールについて決定された換算率のうち最大値が登録されている。
図24は、リソース管理テーブル460のデータ構造を示す図である。
リソース管理テーブル460には、図24に示すように、リソースの種別ごとに1つのレコードが登録されている。各レコードは、リソースの名称を登録するフィールド462と、個別機能モジュール130がネットワークプリンタでのリソースの上限値を登録するフィールド464と、フィールド464の値を、ホスト端末100でのリソースの上限値に換算した値を登録するフィールド470と、個別機能モジュール130がホスト端末100で現在使用しているリソースの量を登録するフィールド466とを含んで登録されている。
CPU50は、図11の実行可否判定処理に代えて、図25のフローチャートに示す実行可否判定処理を実行する。
図25は、実行可否判定処理を示すフローチャートである。
実行可否判定処理は、ステップS118において実行されると、図25に示すように、まず、ステップS200〜S212を経てステップS213に移行する。
次いで、ステップS214に移行して、換算メモリ上限値が全メモリ残量未満であるか否かを判定し、全メモリ残量未満であると判定したとき(Yes)は、ステップS216に移行するが、そうでないと判定したとき(No)は、ステップS217に移行する。
また、上記第1の実施の形態においては、ステップS313,S320,S418,S517,S520,S714の処理で換算メモリ量および換算クラス数を取り扱ったが、本実施の形態では、ホスト端末100での使用メモリ量および起動クラス数を取り扱う。
次に、本実施の形態の動作を説明する。
初めに、リソース管理対象となる個別機能モジュール130を実行する場合を説明する。
一方、ホスト端末100では、共通機能モジュール120の実行によりイベントリスナ制御処理が実行される。イベントリスナ制御処理では、ステップS703,S705を経て、実行すべきイベントリスナの生成元となった個別機能モジュール130の使用メモリ量が加算される。このとき、使用メモリ量が換算上限値以上となると、ステップS715,S716を経て、個別機能モジュール130が使用するメモリ量が上限に達したことを示すログ情報が生成されるとともにエラーが通知され、イベントリスナの実行が中止される。
このようにして、本実施の形態では、個別機能モジュール130がホスト端末100で使用するリソースの量を測定し、個別機能モジュール130から上限値を取得し、取得した上限値を、ホスト端末100でのリソースの上限値に換算し、測定したリソースの量および換算した上限値に基づいて、個別機能モジュール130が使用するリソースの量が上限に達したことを示すログ情報を生成するようになっている。
上記第2の実施の形態において、リソース測定部16およびステップS305,S405,S703は、形態2、6、11または12のリソース測定手段に対応し、リソース換算部34およびステップS213は、形態2、6、11または12のリソース換算手段に対応している。また、上限値取得部18およびステップS211は、形態2、6、11または12のリソース上限値取得手段に対応し、ログ情報生成部26およびステップS321,S419,S521,S715は、形態2、6、11または12のログ情報生成手段に対応している。
次に、本発明の第3の実施の形態を図面を参照しながら説明する。図26ないし図30は、本発明に係るソフトウェア認証システムおよびソフトウェア認証プログラム、並びにソフトウェア認証方法の第3の実施の形態を示す図である。
図26は、ホスト端末100の機能概要を示す機能ブロック図である。
共通機能モジュール120は、図26に示すように、個別機能モジュール管理部14およびログ情報生成部26のほか、個別機能モジュール130が使用するリソースの使用状況を監視するリソース監視部36を有して構成されている。
次に、ホスト端末100の構成を説明する。
CPU50は、図16のイベントリスナ実行処理に代えて、図27のフローチャートに示すイベントリスナ実行処理を実行する。また、図18のモジュール認証処理に代えて、図28のフローチャートに示すモジュール認証処理を実行する。
図27は、イベントリスナ実行処理を示すフローチャートである。
イベントリスナ実行処理は、ステップS610において実行されると、図27に示すように、まず、ステップS1000に移行する。
ステップS1000では、イベントリスナに含まれる命令リストの先頭にプログラムポインタを移動し、ステップS1002に移行して、プログラムポインタが指し示すアドレスに実行すべき命令が存在するか否かを判定し、実行すべき命令が存在すると判定したとき(Yes)は、ステップS1004に移行する。
ステップS1008では、プログラムポインタが指し示すアドレスの命令を実行し、ステップS1010に移行して、イベントリスナに含まれる命令リストの次にプログラムポインタを移動し、ステップS1002に移行する。
一方、ステップS1002で、実行すべき命令が存在しないと判定したとき(No)は、一連の処理を終了して元の処理に復帰させる。
次に、モジュール認証処理を説明する。
モジュール認証処理は、CPU50において実行されると、図28に示すように、まず、ステップS1100に移行する。
ステップS1100では、記憶装置62のログファイルからログ情報を読み出し、ステップS1102に移行して、読み出したログ情報がファイル操作に関するログ情報であるか否かを判定し、ファイル操作に関するログ情報であると判定したとき(Yes)は、ステップS1104に移行する。
ステップS1108では、取得したファイル名にネットワークプリンタで使用できない文字種(漢字等)の文字が含まれているか否かを判定し、ファイル名に使用不可文字種の文字が含まれていないと判定したとき(No)は、ステップS1110に移行する。
ステップS1114では、取得したパス名に使用不可文字種の文字が含まれているか否かを判定し、パス名に使用不可文字種の文字が含まれていないと判定したとき(No)は、ステップS1116に移行する。
ステップS1120では、読み出した実行ファイルに電子署名情報を付加し、ステップS1122に移行して、電子署名情報を付加した実行ファイルを記憶装置62に保存し、一連の処理を終了して元の処理に復帰させる。
一方、ステップS1106で、ファイル名が所定長よりも大きいと判定したとき(No)、ステップS1108で、ファイル名に使用不可文字種の文字が含まれていると判定したとき(Yes)、ステップS1112で、パス名が所定長よりも大きいと判定したとき(No)、およびステップS1114で、パス名に使用不可文字種の文字が含まれていると判定したとき(Yes)はいずれも、ステップS1124に移行して、個別機能モジュール130が認証不可能であることを示すメッセージを表示装置64に表示し、一連の処理を終了して元の処理に復帰させる。
次に、本実施の形態の動作を説明する。
ホスト端末100では、個別機能モジュール130の実行によりファイル操作命令が実行されると、ステップS1006を経て、ファイル操作の対象となるファイル名およびパス名を含むログ情報が生成される。
ファイル操作が行われた場合、ログファイルには、図29および図30に示すように、個別機能モジュール130が起動および停止したことを示すログ情報と、ネットワークプリンタでのファイル名およびパス名の長さの上限値を示すログ情報と、ファイル操作の対象となったファイル名およびパス名を含むログ情報とが記録される。図29の例では、第3〜第5段目のレコードが、図30の例では、第3段目のレコードがファイル操作に関するログ情報を格納している。
このようにして、本実施の形態では、ファイル操作に関するログ情報をログファイルから読み出し、読み出したログ情報に基づいてファイル名およびパス名が所定長以下であるか否かを判定し、所定長以下であると判定したときは、個別機能モジュール130の実行ファイルに電子署名情報を付加するようになっている。
さらに、本実施の形態では、ファイル操作に関するログ情報をログファイルから読み出し、読み出したログ情報に基づいてファイル名およびパス名に使用不可文字種の文字が含まれているか否かを判定し、使用不可文字種の文字が含まれていないと判定したときは、個別機能モジュール130の実行ファイルに電子署名情報を付加するようになっている。
上記第3の実施の形態において、リソース監視部36およびステップS1004は、形態3、7、13または14のリソース監視手段に対応し、ログ情報生成部26およびステップS1006は、形態3、7、13または14のログ情報生成手段に対応し、ログ情報取得部28およびステップS1100は、形態3のログ情報取得手段に対応している。また、ステップS1100は、形態7、13または14のログ情報取得ステップに対応し、動作判定部30およびステップS1106,S1108,S1112,S1114は、形態3の動作判定手段に対応し、ステップS1106,S1108,S1112,S1114は、形態7、13または14の動作判定ステップに対応している。
本実施の形態は、本発明に係るソフトウェア認証システムおよびソフトウェア認証プログラム、並びにソフトウェア認証方法を、ホスト端末100上のJAVA(登録商標)アプリケーションの実行環境において、ネットワークプリンタの動作を制御するためのJAVA(登録商標)クラスセットをエミュレーションする場合について適用したものであり、上記第1ないし第3の実施の形態と異なるのは、個別機能モジュール130の実行ファイルに基づいて個別機能モジュール130を認証する点にある。なお、以下、上記第1ないし第3の実施の形態と異なる部分についてのみ説明し、上記第1ないし第3の実施の形態と重複する部分については同一の符号を付して説明を省略する。
CPU50は、図18のモジュール認証処理に代えて、図31のフローチャートに示すモジュール認証処理を実行する。
図31は、モジュール認証処理を示すフローチャートである。
モジュール認証処理は、CPU50において実行されると、図31に示すように、まず、ステップS1200に移行する。
ステップS1206では、記憶装置62のログファイルに未処理のログ情報が存在するか否かを判定し、未処理のログ情報が存在しないと判定したとき(No)は、ステップS1208に移行して、個別機能モジュール130の実行ファイルを記憶装置62から読み出し、ステップS1210に移行する。
一方、ステップS1206で、未処理のログ情報が存在すると判定したとき(Yes)は、ステップS1202に移行する。
次に、ステップS1202のクラス検証処理を説明する。
図32は、クラス検証処理を示すフローチャートである。
ステップS1300では、取得したクラスファイルリストに基づいてクラスファイルを読み込み、ステップS1302に移行して、読み込んだクラスファイルからクラス定義リストを生成し、ステップS1304に移行する。
ステップS1308では、クラス定義に基づいてクラス解決パス上にクラスが存在するか否かを判定し、クラス解決パス上にクラスが存在しないと判定したとき(No)は、ステップS1310に移行して、クラス不存在通知を出力し、一連の処理を終了して元の処理に復帰させる。
一方、ステップS1306で、クラスの読込に失敗したと判定したとき(No)、およびステップS1304で、未検証のクラス定義が存在しないと判定したとき(No)はいずれも、一連の処理を終了して元の処理に復帰させる。
ホスト端末100では、ステップS1202〜S1206を繰り返し経て、個別機能モジュール130が使用するクラスが、ネットワークプリンタで実行可能なクラスのみからなるか否かが判定される。その結果、ネットワークプリンタで実行可能なクラスのみからなると判定されると、ステップS1208〜S1212を経て、個別機能モジュール130の実行ファイルが読み出され、読み出された実行ファイルに電子署名情報が付加されて保存される。
このようにして、本実施の形態では、個別機能モジュール130の実行ファイルを取得し、取得した実行ファイルに基づいて、個別機能モジュール130が使用するクラスが、ネットワークプリンタで実行可能なクラスのみからなるか否かを判定し、ネットワークプリンタで実行可能なクラスのみからなると判定したときは、個別機能モジュール130の実行ファイルに電子署名情報を付加するようになっている。
これにより、リソース換算テーブル22には、各テストモジュールについて決定された換算率のうち平均値が登録されているので、機能モジュールの動作をある程度の確実性をもって保証することができるとともにネットワークプリンタで使用されるリソースの量を抑制することができる。
また、上記第1および第2の実施の形態においては、リソース換算テーブル22に換算率として「1」を登録した例を示したが、これに限らず、ホスト端末100とネットワークプリンタの仕様の差異によってはそれ以外の値を登録することもできる。
また、上記第1ないし第4の実施の形態をそれぞれ別々に構成したが、これに限らず、それらの形態を複合的に組み合わせて構成することができる。すなわち、ステップS902,S904の判定処理、ステップS1106,S1108,S1112,S1114の判定処理、およびステップS1204の判定処理を任意に組み合わせることができる。最も好ましいのは、これら判定処理に係るすべての認証条件を満たした場合にのみ、個別機能モジュール130に電子署名情報を付加することである。
Claims (10)
- 機能モジュールが第1実行環境で使用するリソースの量を測定するリソース測定手段と、前記リソース測定手段で測定したリソースの量を、前記機能モジュールが第2実行環境で使用するリソースの量に換算するリソース換算手段と、リソースの制限条件を示すリソース制限情報を取得するリソース制限情報取得手段と、前記リソース換算手段で換算したリソースの量および前記リソース制限情報取得手段で取得したリソース制限情報に基づいて、前記機能モジュールが使用するリソースの量が上限に達したことを示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証システムであって、
前記ログ情報を取得するログ情報取得手段と、前記ログ情報取得手段で取得したログ情報に基づいて前記機能モジュールが使用するリソースの量が上限に達していないかを判定する動作判定手段と、前記動作判定手段が上限に達していないと判定したときは、前記ソフトウェアに認証情報を付加するソフトウェア認証手段とを備えることを特徴とするソフトウェア認証システム。 - 機能モジュールが第1実行環境で使用するリソースの量を測定するリソース測定手段と、第2実行環境でのリソースの上限値を取得するリソース上限値取得手段と、前記リソース上限値取得手段で取得したリソースの上限値を、前記第1実行環境でのリソースの上限値に換算するリソース換算手段と、前記リソース測定手段で測定したリソースの量および前記リソース換算手段で換算したリソースの上限値に基づいて、前記機能モジュールが使用するリソースの量が上限に達したことを示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証システムであって、
前記ログ情報を取得するログ情報取得手段と、前記ログ情報取得手段で取得したログ情報に基づいて前記機能モジュールが使用するリソースの量が上限に達していないかを判定する動作判定手段と、前記動作判定手段が上限に達していないと判定したときは、前記ソフトウェアに認証情報を付加するソフトウェア認証手段とを備えることを特徴とするソフトウェア認証システム。 - 第1実行環境とは異なる第2実行環境で機能モジュールが使用するリソースの使用状況を監視するリソース監視手段と、前記リソース監視手段の監視結果に基づいて前記リソース使用状況を示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証システムであって、
前記ログ情報を取得するログ情報取得手段と、前記ログ情報取得手段で取得したログ情報に基づいて前記リソース使用状況が前記第1実行環境に適合するかを判定する動作判定手段と、前記動作判定手段が適合すると判定したときは、前記ソフトウェアに認証情報を付加するソフトウェア認証手段とを備えることを特徴とするソフトウェア認証システム。 - 請求項1ないし3のいずれか1項において、
前記機能モジュールの実行に必要な実行ファイルを取得する実行ファイル取得手段と、前記実行ファイル取得手段で取得した実行ファイルに基づいて、前記機能モジュールを構成する命令または命令群が前記第1実行環境で実行可能な命令または命令群のみからなるかを判定する第2動作判定手段とを備え、
前記ソフトウェア認証手段は、前記第2動作判定手段が前記第1実行環境で実行可能な命令または命令群のみからなると判定したときは、前記ソフトウェアに前記認証情報を付加するようになっていることを特徴とするソフトウェア認証システム。 - 機能モジュールが第1実行環境で使用するリソースの量を測定するリソース測定手段と、前記リソース測定手段で測定したリソースの量を、前記機能モジュールが第2実行環境で使用するリソースの量に換算するリソース換算手段と、リソースの制限条件を示すリソース制限情報を取得するリソース制限情報取得手段と、前記リソース換算手段で換算したリソースの量および前記リソース制限情報取得手段で取得したリソース制限情報に基づいて、前記機能モジュールが使用するリソースの量が上限に達したことを示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証プログラムであって、
前記ログ情報を取得するログ情報取得ステップと、前記ログ情報取得ステップで取得したログ情報に基づいて前記機能モジュールが使用するリソースの量が上限に達していないかを判定する動作判定ステップと、前記動作判定ステップで上限に達していないと判定したときは、前記ソフトウェアに認証情報を付加するソフトウェア認証ステップとからなる処理をコンピュータに実行させるためのプログラムを含むことを特徴とするソフトウェア認証プログラム。 - 機能モジュールが第1実行環境で使用するリソースの量を測定するリソース測定手段と、第2実行環境でのリソースの上限値を取得するリソース上限値取得手段と、前記リソース上限値取得手段で取得したリソースの上限値を、前記第1実行環境でのリソースの上限値に換算するリソース換算手段と、前記リソース測定手段で測定したリソースの量および前記リソース換算手段で換算したリソースの上限値に基づいて、前記機能モジュールが使用するリソースの量が上限に達したことを示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証プログラムであって、
前記ログ情報を取得するログ情報取得ステップと、前記ログ情報取得ステップで取得したログ情報に基づいて前記機能モジュールが使用するリソースの量が上限に達していないかを判定する動作判定ステップと、前記動作判定ステップで上限に達していないと判定したときは、前記ソフトウェアに認証情報を付加するソフトウェア認証ステップとからなる処理をコンピュータに実行させるためのプログラムを含むことを特徴とするソフトウェア認証プログラム。 - 第1実行環境とは異なる第2実行環境で機能モジュールが使用するリソースの使用状況を監視するリソース監視手段と、前記リソース監視手段の監視結果に基づいて前記リソース使用状況を示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証プログラムであって、
前記ログ情報を取得するログ情報取得ステップと、前記ログ情報取得ステップで取得したログ情報に基づいて前記リソース使用状況が前記第1実行環境に適合するかを判定する動作判定ステップと、前記動作判定ステップで適合すると判定したときは、前記ソフトウェアに認証情報を付加するソフトウェア認証ステップとからなる処理をコンピュータに実行させるためのプログラムを含むことを特徴とするソフトウェア認証プログラム。 - 機能モジュールが第1実行環境で使用するリソースの量を測定するリソース測定手段と、前記リソース測定手段で測定したリソースの量を、前記機能モジュールが第2実行環境で使用するリソースの量に換算するリソース換算手段と、リソースの制限条件を示すリソース制限情報を取得するリソース制限情報取得手段と、前記リソース換算手段で換算したリソースの量および前記リソース制限情報取得手段で取得したリソース制限情報に基づいて、前記機能モジュールが使用するリソースの量が上限に達したことを示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証方法であって、
前記ログ情報を取得するログ情報取得ステップと、前記ログ情報取得ステップで取得したログ情報に基づいて前記機能モジュールが使用するリソースの量が上限に達していないかを判定する動作判定ステップと、前記動作判定ステップで上限に達していないと判定したときは、前記ソフトウェアに認証情報を付加するソフトウェア認証ステップとを含むことを特徴とするソフトウェア認証方法。 - 機能モジュールが第1実行環境で使用するリソースの量を測定するリソース測定手段と、第2実行環境でのリソースの上限値を取得するリソース上限値取得手段と、前記リソース上限値取得手段で取得したリソースの上限値を、前記第1実行環境でのリソースの上限値に換算するリソース換算手段と、前記リソース測定手段で測定したリソースの量および前記リソース換算手段で換算したリソースの上限値に基づいて、前記機能モジュールが使用するリソースの量が上限に達したことを示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証方法であって、
前記ログ情報を取得するログ情報取得ステップと、前記ログ情報取得ステップで取得したログ情報に基づいて前記機能モジュールが使用するリソースの量が上限に達していないかを判定する動作判定ステップと、前記動作判定ステップで上限に達していないと判定したときは、前記ソフトウェアに認証情報を付加するソフトウェア認証ステップとを含むことを特徴とするソフトウェア認証方法。 - 第1実行環境とは異なる第2実行環境で機能モジュールが使用するリソースの使用状況を監視するリソース監視手段と、前記リソース監視手段の監視結果に基づいて前記リソース使用状況を示すログ情報を生成するログ情報生成手段とを備えるリソース管理システムにより生成された前記ログ情報に基づいて前記機能モジュールを含むソフトウェアを認証するソフトウェア認証方法であって、
前記ログ情報を取得するログ情報取得ステップと、前記ログ情報取得ステップで取得したログ情報に基づいて前記リソース使用状況が前記第1実行環境に適合するかを判定する動作判定ステップと、前記動作判定ステップで適合すると判定したときは、前記ソフトウェアに認証情報を付加するソフトウェア認証ステップとを含むことを特徴とするソフトウェア認証方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005249530A JP4232767B2 (ja) | 2005-03-14 | 2005-08-30 | ソフトウェア認証システムおよびソフトウェア認証プログラム、並びにソフトウェア認証方法 |
EP05257352A EP1703370A3 (en) | 2005-03-14 | 2005-11-29 | Software authentication system, software authencation program, and software authentication method |
US11/297,747 US20060206929A1 (en) | 2005-03-14 | 2005-12-08 | Software authentication system, software authentication program, and software authentication method |
KR1020050120757A KR100751159B1 (ko) | 2005-03-14 | 2005-12-09 | 소프트웨어 인증 시스템, 소프트웨어 인증 방법 및소프트웨어 인증 프로그램을 기록한 컴퓨터 판독 가능한기록 매체 |
CNB2005100229064A CN100370411C (zh) | 2005-03-14 | 2005-12-09 | 软件认证系统和软件认证方法 |
TW094143557A TW200634568A (en) | 2005-03-14 | 2005-12-09 | Software authentication system, recording medium recording software authentication program, and software authentication method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005070505 | 2005-03-14 | ||
JP2005249530A JP4232767B2 (ja) | 2005-03-14 | 2005-08-30 | ソフトウェア認証システムおよびソフトウェア認証プログラム、並びにソフトウェア認証方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005335766A Division JP2006293980A (ja) | 2005-03-14 | 2005-11-21 | ソフトウェア認証システムおよびソフトウェア認証プログラム、並びにソフトウェア認証方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006293974A true JP2006293974A (ja) | 2006-10-26 |
JP4232767B2 JP4232767B2 (ja) | 2009-03-04 |
Family
ID=36581856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005249530A Expired - Fee Related JP4232767B2 (ja) | 2005-03-14 | 2005-08-30 | ソフトウェア認証システムおよびソフトウェア認証プログラム、並びにソフトウェア認証方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20060206929A1 (ja) |
EP (1) | EP1703370A3 (ja) |
JP (1) | JP4232767B2 (ja) |
KR (1) | KR100751159B1 (ja) |
CN (1) | CN100370411C (ja) |
TW (1) | TW200634568A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009020863A (ja) * | 2008-04-10 | 2009-01-29 | Ricoh Co Ltd | 画像形成装置、情報処理装置、障害解析支援方法、及び障害解析支援プログラム |
JP2009037589A (ja) * | 2007-07-10 | 2009-02-19 | Ricoh Co Ltd | プログラム判定装置、プログラム判定方法及びプログラム |
JP2013529811A (ja) * | 2010-06-23 | 2013-07-22 | マイクロソフト コーポレーション | 多数の体験モジュールを含むアプリケーション |
US9003394B2 (en) | 2007-07-10 | 2015-04-07 | Ricoh Company, Ltd. | Program determining apparatus and program determining method |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4207938B2 (ja) * | 2005-02-01 | 2009-01-14 | セイコーエプソン株式会社 | ソフトウェア認証システム、ソフトウェア認証プログラム、およびソフトウェア認証方法 |
US8001383B2 (en) | 2007-02-01 | 2011-08-16 | Microsoft Corporation | Secure serial number |
JP5247230B2 (ja) * | 2008-05-14 | 2013-07-24 | キヤノン株式会社 | 画像形成装置及びその制御方法、並びにプログラム |
TWI459295B (zh) * | 2008-08-22 | 2014-11-01 | Hon Hai Prec Ind Co Ltd | 動態調用功能模組的系統及方法 |
US10642794B2 (en) * | 2008-09-11 | 2020-05-05 | Vmware, Inc. | Computer storage deduplication |
US10496670B1 (en) | 2009-01-21 | 2019-12-03 | Vmware, Inc. | Computer storage deduplication |
US8775593B2 (en) | 2011-06-29 | 2014-07-08 | International Business Machines Corporation | Managing organizational computing resources in accordance with computing environment entitlement contracts |
US8812679B2 (en) | 2011-06-29 | 2014-08-19 | International Business Machines Corporation | Managing computing environment entitlement contracts and associated resources using cohorting |
US20130006793A1 (en) | 2011-06-29 | 2013-01-03 | International Business Machines Corporation | Migrating Computing Environment Entitlement Contracts Based on Seller and Buyer Specified Criteria |
US9760917B2 (en) | 2011-06-29 | 2017-09-12 | International Business Machines Corporation | Migrating computing environment entitlement contracts between a seller and a buyer |
KR101946874B1 (ko) * | 2012-09-03 | 2019-02-13 | 엘지이노텍 주식회사 | 프로그램 인증 시스템. |
US9319392B1 (en) * | 2013-09-27 | 2016-04-19 | Amazon Technologies, Inc. | Credential management |
JP2019067219A (ja) * | 2017-10-02 | 2019-04-25 | 株式会社東芝 | 画像形成装置及びコンピュータプログラム |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3435454B2 (ja) * | 1995-02-28 | 2003-08-11 | 富士通株式会社 | 異なる環境空間での連続運転方法およびそのための装置 |
JPH09330243A (ja) * | 1996-06-10 | 1997-12-22 | Toshiba Corp | 計算機システム |
ES2184066T3 (es) * | 1996-10-25 | 2003-04-01 | Schlumberger Systems & Service | Uso de un lenguaje de programacion de alto nivel con microcontrolador. |
CN1264477A (zh) * | 1997-01-09 | 2000-08-23 | 梅地亚·梅垂克斯公司 | 监视公用计算机网上的远程文件访问 |
US6148401A (en) * | 1997-02-05 | 2000-11-14 | At&T Corp. | System and method for providing assurance to a host that a piece of software possesses a particular property |
US5915085A (en) * | 1997-02-28 | 1999-06-22 | International Business Machines Corporation | Multiple resource or security contexts in a multithreaded application |
US6105137A (en) * | 1998-07-02 | 2000-08-15 | Intel Corporation | Method and apparatus for integrity verification, authentication, and secure linkage of software modules |
US6405327B1 (en) * | 1998-08-19 | 2002-06-11 | Unisys Corporation | Apparatus for and method of automatic monitoring of computer performance |
AU6274099A (en) | 1998-09-30 | 2000-04-17 | Netscout Service Level Corporation | Managing computer resources |
US6581206B2 (en) * | 1999-11-12 | 2003-06-17 | Sun Microsystems, Inc. | Computer program language subset validation |
US6708324B1 (en) | 1999-06-24 | 2004-03-16 | Cisco Technology, Inc. | Extensible automated testing software |
US6772106B1 (en) * | 1999-08-20 | 2004-08-03 | Hewlett-Packard Development Company, L.P. | Retargetable computer design system |
JP2001154878A (ja) | 1999-11-30 | 2001-06-08 | Nec Ic Microcomput Syst Ltd | デバッグ用プログラム生成方法及び生成・実行方法 |
US7086060B2 (en) * | 2001-02-15 | 2006-08-01 | Sun Microsystems, Inc. | Method for programmatic representation and enforcement of resource controls |
US20020120660A1 (en) * | 2001-02-28 | 2002-08-29 | Hay Russell C. | Method and apparatus for associating virtual server identifiers with processes |
DE10118267A1 (de) * | 2001-04-12 | 2002-10-24 | Bosch Gmbh Robert | Verfahren zur Authentifizierung eines Anwenders bei einem Zugang zu einem softwarebasierten System über ein Zugangsmedium |
US7099663B2 (en) * | 2001-05-31 | 2006-08-29 | Qualcomm Inc. | Safe application distribution and execution in a wireless environment |
JP2003050641A (ja) * | 2001-08-07 | 2003-02-21 | Nec Corp | プログラム管理システム、そのプログラム管理方法、及び情報管理プログラム |
JP2004185595A (ja) | 2002-07-26 | 2004-07-02 | Ricoh Co Ltd | 情報処理装置およびそのプログラム |
JP2004094782A (ja) | 2002-09-03 | 2004-03-25 | Ricoh Co Ltd | リソース管理システム、プログラムおよび記録媒体 |
US20040167859A1 (en) * | 2003-02-14 | 2004-08-26 | Richard Mirabella | Software license management system configurable for post-use payment business models |
KR101044182B1 (ko) * | 2003-03-06 | 2011-06-28 | 마이크로소프트 코포레이션 | 시스템의 검증을 용이하게 하는 방법, 소프트웨어 애플리케이션의 검증을 용이하게 하는 장치 및 컴퓨터 판독 가능 기록 매체 |
US20040226015A1 (en) * | 2003-05-09 | 2004-11-11 | Leonard Ozgur C. | Multi-level computing resource scheduling control for operating system partitions |
US20040267868A1 (en) * | 2003-06-26 | 2004-12-30 | International Business Machines Corporation | Method for monitoring print jobs in a data processing network |
KR20040041138A (ko) * | 2004-04-26 | 2004-05-14 | 쉬프트정보통신 주식회사 | 분산배포서버에 의한 클라이언트 모듈 배포 및 버전 자동매핑방법 |
JP4207938B2 (ja) * | 2005-02-01 | 2009-01-14 | セイコーエプソン株式会社 | ソフトウェア認証システム、ソフトウェア認証プログラム、およびソフトウェア認証方法 |
-
2005
- 2005-08-30 JP JP2005249530A patent/JP4232767B2/ja not_active Expired - Fee Related
- 2005-11-29 EP EP05257352A patent/EP1703370A3/en not_active Withdrawn
- 2005-12-08 US US11/297,747 patent/US20060206929A1/en not_active Abandoned
- 2005-12-09 KR KR1020050120757A patent/KR100751159B1/ko not_active IP Right Cessation
- 2005-12-09 TW TW094143557A patent/TW200634568A/zh unknown
- 2005-12-09 CN CNB2005100229064A patent/CN100370411C/zh not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009037589A (ja) * | 2007-07-10 | 2009-02-19 | Ricoh Co Ltd | プログラム判定装置、プログラム判定方法及びプログラム |
US9003394B2 (en) | 2007-07-10 | 2015-04-07 | Ricoh Company, Ltd. | Program determining apparatus and program determining method |
US9792159B2 (en) | 2007-07-10 | 2017-10-17 | Ricoh Company, Ltd. | Program determining apparatus and program determining method |
JP2009020863A (ja) * | 2008-04-10 | 2009-01-29 | Ricoh Co Ltd | 画像形成装置、情報処理装置、障害解析支援方法、及び障害解析支援プログラム |
JP2013529811A (ja) * | 2010-06-23 | 2013-07-22 | マイクロソフト コーポレーション | 多数の体験モジュールを含むアプリケーション |
US9672022B2 (en) | 2010-06-23 | 2017-06-06 | Microsoft Technology Licensing, Llc | Applications including multiple experience modules |
Also Published As
Publication number | Publication date |
---|---|
CN100370411C (zh) | 2008-02-20 |
TW200634568A (en) | 2006-10-01 |
EP1703370A2 (en) | 2006-09-20 |
US20060206929A1 (en) | 2006-09-14 |
EP1703370A3 (en) | 2008-05-14 |
CN1834889A (zh) | 2006-09-20 |
JP4232767B2 (ja) | 2009-03-04 |
KR20060100915A (ko) | 2006-09-21 |
KR100751159B1 (ko) | 2007-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4232767B2 (ja) | ソフトウェア認証システムおよびソフトウェア認証プログラム、並びにソフトウェア認証方法 | |
KR100750770B1 (ko) | 리소스 관리 시스템, 리소스 관리 방법 및 리소스 관리프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
CN108280367B (zh) | 数据操作权限的管理方法、装置、计算设备及存储介质 | |
JP4215037B2 (ja) | リソース管理システム、プリンタ、プリンタ用ネットワークカードおよびリソース管理プログラム、並びにリソース管理方法 | |
CN101151608A (zh) | 开发人员容易地找出或扩展系统上周知位置的能力 | |
WO2011089864A1 (ja) | ファイル群整合性検証システム、ファイル群整合性検証方法およびファイル群整合性検証用プログラム | |
US8572632B2 (en) | Devices as services in a decentralized operating system | |
JP2013045400A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP4207938B2 (ja) | ソフトウェア認証システム、ソフトウェア認証プログラム、およびソフトウェア認証方法 | |
EP3374858B1 (en) | Creating and modifying applications from a mobile device | |
US20180349102A1 (en) | Apparatus and method for converting large-scale application | |
CN111324645B (zh) | 区块链的数据处理方法及装置 | |
JP2006293980A (ja) | ソフトウェア認証システムおよびソフトウェア認証プログラム、並びにソフトウェア認証方法 | |
CN115129275A (zh) | 一种数字文件打印方法、装置、电子设备及存储介质 | |
WO2021077862A1 (zh) | 文件同步方法及装置 | |
JP2006244457A (ja) | リソース管理システムおよびリソース管理プログラム、並びにリソース管理方法 | |
CN112817782A (zh) | 一种数据采集上报方法、装置、电子设备和存储介质 | |
US20170286195A1 (en) | Information object system | |
JP2006244456A (ja) | リソース管理システム、リソース換算テーブル生成システム、ソフトウェア認証システム、リソース管理プログラム、リソース換算テーブル生成プログラムおよびソフトウェア認証プログラム、並びにリソース管理方法、リソース換算テーブル生成方法およびソフトウェア認証方法 | |
CN100435084C (zh) | 资源管理系统、管理方法、打印机、打印机用网卡 | |
CN100367182C (zh) | 资源管理系统、资源换算表生成系统以及软件认证系统 | |
US20230036834A1 (en) | Information processing system, apparatus, and storage medium having combinational and non-combinational applications | |
JP7119448B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP4630145B2 (ja) | 成果物管理装置及び成果物管理システム | |
CN116302047A (zh) | 配置文件的构建处理方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080331 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080624 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080725 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080826 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081027 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081118 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081201 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131219 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |