JP5510535B2 - Information processing apparatus, license determination method, program, and recording medium - Google Patents
Information processing apparatus, license determination method, program, and recording medium Download PDFInfo
- Publication number
- JP5510535B2 JP5510535B2 JP2012278778A JP2012278778A JP5510535B2 JP 5510535 B2 JP5510535 B2 JP 5510535B2 JP 2012278778 A JP2012278778 A JP 2012278778A JP 2012278778 A JP2012278778 A JP 2012278778A JP 5510535 B2 JP5510535 B2 JP 5510535B2
- Authority
- JP
- Japan
- Prior art keywords
- license
- identification information
- object identification
- program module
- activation
- 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.)
- Active
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、情報処理装置、ライセンス判定方法、プログラム、及び記録媒体に関する。 The present invention relates to an information processing apparatus, a license determination method, a program, and a recording medium.
近年では、主に複合機又は融合機と呼ばれる画像形成装置において、その出荷後に新たなアプリケーションの開発及びインストールが可能とされているものがある。斯かるアプリケーションのライセンスを、ユーザの利用形態に合わせて提供することができればユーザにとって便宜であるばかりでなく、アプリケーションを販売する側にとってもビジネスチャンスの拡大を期待できる。 In recent years, there are some image forming apparatuses called mainly multifunction peripherals or multi-function peripherals that allow new applications to be developed and installed after shipment. If a license for such an application can be provided in accordance with the usage pattern of the user, it is not only convenient for the user, but also an expansion of business opportunities can be expected for the side selling the application.
例えば、特許文献1には、アプリケーションを利用可能な画像形成装置を所定のものに限定することができるライセンス管理方法等が開示されている。特許文献1に係る技術によれば、アプリケーションを利用する台数に応じて課金額を変化させることができる。また、アプリケーションの不正コピーによる不正利用を適切に防止することができる。 For example, Patent Document 1 discloses a license management method that can limit an image forming apparatus that can use an application to a predetermined one. According to the technique according to Patent Document 1, the billing amount can be changed according to the number of applications using the application. Further, unauthorized use due to unauthorized copying of an application can be prevented appropriately.
ところで、一つのアプリケーションは、必ずしも一つのプログラムモジュールから構成されておらず、機能別にモジュール化された複数のプログラムモジュールから構成されている場合がある。このようなアプリケーションについて、ライセンス単位をプログラムモジュール単位とすれば、アプリケーションの一部の機能のみの利用を制限又は許可することができる。そうすることで、更に多様な製品形態を構成することができる。 By the way, one application is not necessarily composed of one program module, and may be composed of a plurality of program modules modularized according to function. For such an application, if the license unit is a program module unit, use of only a part of the functions of the application can be restricted or permitted. By doing so, various product forms can be configured.
しかしながら、ライセンス単位をプログラムモジュール単位とした場合、アプリケーションの起動時にプログラムモジュールごとにライセンスのチェックを行う必要がある。そうすると、多数のプログラムモジュールを含む巨大なアプリケーションについては、ライセンスチェックに要する時間が無視できないほど大きなものとなり、アプリケーションの起動時間が許容範囲を超えて増加してしまうという問題がある。 However, when the license unit is a program module unit, it is necessary to check the license for each program module when the application is activated. Then, for a huge application including a large number of program modules, the time required for the license check becomes so large that it cannot be ignored, and there is a problem that the activation time of the application increases beyond an allowable range.
本発明は、上記の点に鑑みてなされたものであって、アプリケーションを構成するプログラムモジュールに関するライセンスチェックによるアプリケーションの起動時間の増大を適切に抑制することのできる情報処理装置、ライセンス判定方法、プログラム及び記録媒体の提供を目的とする。 The present invention has been made in view of the above points, and is an information processing apparatus, a license determination method, and a program that can appropriately suppress an increase in the startup time of an application due to a license check related to a program module constituting the application And to provide a recording medium.
そこで上記課題を解決するため、本発明は、複数のプログラムモジュールより構成されるアプリケーションを起動可能な情報処理装置であって、前記プログラムモジュールごとに関連付けられている当該プログラムモジュールがライセンス管理の対象であるか否かを示す情報に基づいて、前記複数のプログラムモジュールのうちライセンス管理の対象とされるプログラムモジュールを識別可能なライセンス対象識別情報を生成するライセンス対象識別情報生成手段と、前記アプリケーションの起動要求に応じ、前記ライセンス対象識別情報に基づいて、ライセンス管理の対象であるプログラムモジュールに利用できないプログラムモジュールが含まれる場合には、当該プログラムモジュールの起動を制限する起動制限手段とを有することを特徴とする。 Accordingly, in order to solve the above-described problem, the present invention provides an information processing apparatus capable of starting an application including a plurality of program modules, and the program module associated with each program module is subject to license management. A license object identification information generating unit configured to generate license object identification information capable of identifying a program module to be license-managed among the plurality of program modules based on information indicating whether or not the application module is started; In response to a request, when a program module that cannot be used is included in a program module that is a target of license management based on the license target identification information, a startup limiting unit that limits startup of the program module is included. To.
このような情報処理装置では、アプリケーションを構成するプログラムモジュールに関するライセンスチェックによるアプリケーションの起動時間の増大を適切に抑制することができる。 In such an information processing apparatus, it is possible to appropriately suppress an increase in the activation time of the application due to a license check related to the program module constituting the application.
本発明によれば、アプリケーションを構成するプログラムモジュールに関するライセンスチェックによるアプリケーションの起動時間の増大を適切に抑制することができる。 ADVANTAGE OF THE INVENTION According to this invention, the increase in the starting time of an application by the license check regarding the program module which comprises an application can be suppressed appropriately.
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図1において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、ネットワークインタフェース15、及び操作パネル16等のハードウェアを有する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram illustrating a hardware configuration example of an image forming apparatus according to an embodiment of the present invention. In FIG. 1, the
コントローラ11は、CPU111、RAM112、ROM113、及びHDD114等を含む。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記録される。
The
スキャナ12は、原稿より画像データを読み取るためのハードウェアである。プリンタは13、画像データを印刷用紙に印刷するためのハードウェアである。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。ネットワークインタフェース15は、LAN(Local Area Network)等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。操作パネル16は、ユーザからの入力の受け付けや、ユーザに対する情報の通知等を行うめのボタン、液晶パネル等を備えたハードウェアである。
The
図2は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。同図において、画像形成装置10は、OS121、コントロールサービス122、及びアプリケーション123等のソフトウェアを有する。
FIG. 2 is a diagram illustrating a software configuration example of the image forming apparatus according to the embodiment of the present invention. In FIG. 1, the
OS121は、UNIX(登録商標)等のいわゆるOS(Operating System)であり、各種ソフトウェアをプロセス単位で並列的に起動する。 The OS 121 is a so-called OS (Operating System) such as UNIX (registered trademark), and starts various software in parallel on a process basis.
コントロールサービス122は、各種のハードウェアリソース等を制御するためのサービスを上位アプリケーション等に対して共通的に提供するソフトウェアモジュール群である。例えば、コントロールサービス122は、スキャナ12又はプリンタ13を制御するための手段や、モデム14又はネットワークインタフェース15を介した通信手段等を提供する。
The
アプリケーション123は、コントロールサービス122やOS121等を利用して、ユーザより要求された各種のジョブを画像形成装置10に実行させるプログラムである。アプリケーション123は、標準アプリ130とSDKアプリ140とに大別される。
The
標準アプリ130は、画像形成装置10に標準的に(出荷時に予め)実装されているアプリケーションをいう。図中では、コピージョブを制御するコピーアプリ131、スキャンジョブを制御するスキャンアプリ132、ファクス送信ジョブを制御するファクスアプリ133、印刷ジョブを制御するプリントアプリ134等が例示されている。
The
SDKアプリ140は、画像形成装置10に専用のSDK(ソフトウェア開発キット)を使用して開発されたアプリケーションをいい、SDKプラットフォーム150上で動作する。すなわち、画像形成装置10には、その出荷後に専用のSDKを使用して新たにアプリケーションを追加することができる。図中では、SDKアプリ141、142、及び143の三つのSDKアプリ140が例示されている。画像形成装置10におけるSDKアプリ140の起動は、それぞれに対するライセンスキーが取得さされていることが前提とされる。ライセンスキーは、SDKアプリ140の利用権限の購入によって取得されるデータである。なお、本実施の形態において、SDKアプリ140は、Java(登録商標)言語で記述されたプログラムであるとする。但し、本発明の実施に際し、SDKアプリ140は、Java(登録商標)言語によって記述されたプログラムに限定されない。
The
SDKプラットフォーム150は、SDKアプリ140の動作環境を提供するソフトウェアであり、例えば、Java(登録商標)仮想マシンや、Java(登録商標)ME(Micro Edition)において標準で提供されているクラス群やコントロールサービス122の機能をラッピングしたクラス群等を含む。また、SDKプラットフォーム150は、SDKアプリ140に関するライセンス管理を行う。例えば、SDKアプリ140は、各SDKアプリ140に対するライセンスキーを管理し、当該ライセンスキーに基づいてSDKアプリ140の起動制御等を行う。
The
図3は、SDKプラットフォームにおけるライセンス管理機能とSDKアプリの構成例とを示す図である。 FIG. 3 is a diagram illustrating a license management function and a configuration example of an SDK application in the SDK platform.
同図に示されるように、一つのSDKアプリ140は、一つ以上の機能モジュール(例えば、JAR(Java(登録商標) Archive)等のプログラムモジュール)と機能モジュールごとに付随する(対応する)ライセンス情報ファイルを含む。機能モジュールの中にはライセンス情報ファイルが付随しないものも存在しうる。各機能モジュールは、当該機能モジュールの属するSDKアプリ140が実行するジョブを構成する一部の機能を実現する。ライセンス情報ファイルは、対応する機能モジュールに関するライセンスに関する情報(ライセンス情報)を含むファイルである。ライセンス情報は、例えば、機能モジュールの識別子 (機能名)、機能モジュールのファイル名、及び機能モジュールの表示名 (表示文字列)等より構成される。
As shown in the figure, one
同図のSDKアプリ140には、機能モジュールとして機能モジュール1401a、1401b、及び1401c(以下、総称する場合「機能モジュール1401」という。)が含まれている。また、ライセンス情報ファイルとしてライセンス情報ファイル1402a及びライセンス情報ファイル1402b(以下、総称する場合「ライセンス情報ファイル1402」という。)が含まれている。ライセンス情報ファイル1402aは、機能モジュール1401aに付随するライセンス情報ファイルである。ライセンス情報ファイル1402bは、機能モジュール1401bに付随するライセンス情報ファイルである。なお、機能モジュール1401cにはライセンス情報ファイルは付随していない。これは、機能モジュール1401cは、ライセンス対象ではないこと(ライセンスチェックが不要(例えば、ライセンスフリー)であること)を示す。
The
一方、SDKプラットフォーム150は、ライセンス導入部151、ライセンス管理部152、起動制御部153、暗号処理部154、及び真偽判定部155等を有する。
On the other hand, the
ライセンス導入部151は、ネットワークを介して接続するコンピュータよりライセンスキーを取得し、当該ライセンスキーをライセンスファイル160に格納してHDD114に保存する。
The
起動制御部153は、SDKアプリ140の起動及び停止を制御する。SDKアプリ140を起動する際、起動制御部153は、ライセンス管理部152にSDKアプリ140のライセンス状況の問い合わせを行うことにより、機能モジュール1401単位で起動(RAM112へのロード)を制御する。
The
ライセンス管理部152は、ライセンスファイル160の管理や、ライセンスリスト170の生成を行う。ライセンスリスト170は、SDKアプリ140と一対一に対応する。したがって、複数のSDKアプリ140がインストールされている場合、複数のライセンスリスト170が生成される。一つのライセンスリスト170は、対応するSDKアプリ140に含まれているライセンス情報ファイル1402に格納されているライセンス情報の一覧を含む。ライセンス管理部152は、また、起動制御部153よりライセンス状況が問い合わされたSDKアプリ140に対応するライセンスリスト170に基づいてライセンス対象となる機能モジュール1401(同図では、機能モジュール1401a及び1401b)について、ライセンスファイル160に格納されているライセンスキーに基づく起動の可否(許否)の判断を行う。ライセンス管理部152は、当該判断結果を起動制御部153に応答する。
The
暗号処理部154は、ライセンス管理部152によって生成されたライセンスリスト170の保存時に当該ライセンスリスト170を暗号化し、暗号化されたライセンスリスト170の利用時に当該ライセンスリスト170を復号する。暗号処理部154によってライセンスリスト170の改竄が防止される。
The
真偽判定部155は、ライセンスリスト170に対する改竄の有無を判定する。
The
以下、画像形成装置10の処理手順について説明する。
Hereinafter, a processing procedure of the
図4は、画像形成装置へのライセンスキーの導入手順を説明するための図である。同図において、PC20は、画像形成装置10とネットワークを介して接続するコンピュータであり、操作部21及びライセンス送信部22等を有する。
FIG. 4 is a diagram for explaining a procedure for introducing a license key into the image forming apparatus. In FIG. 1, a
操作部21は、画像形成装置10において利用可能とする(ライセンスキーの発行対象とする)SDKアプリ140のプロダクトキーの入力をユーザより受け付ける。
The
プロダクトキーは、SDKアプリ140と機能モジュール1401との組み合わせによって識別される製品に対して一意に割り当てられる識別情報である。具体的には、同一のSDKアプリ140であっても、一部の機能モジュール1401を利用可能な製品と全ての機能を利用可能な製品とではプロダクトキーは異なる。また、一部の機能モジュール1401を利用可能な製品の場合、いずれの機能モジュール1401が利用可能かによってもプロダクトキーは異なる。すなわち、ユーザによるプロダクトキーの入力とは、いずれのSDKアプリ140のいずれの機能(機能モジュール1401)を利用するかについてのユーザによる選択を意味する。
The product key is identification information uniquely assigned to a product identified by the combination of the
プロダクトキーの入力に応じ、ライセンス送信部22は、画像形成装置10に対して機体番号の送信を要求する。機体番号とは、工場出荷時において各画像形成装置10に対して一意に割り当てられている番号である。当該要求に応じ、画像形成装置10のライセンス導入部151は、画像形成装置10の機体番号を例えばROM113より取得し、当該機体番号をライセンス送信部22に返信する(S11)。続いて、ライセンス送信部11は、受信した機体番号によって識別される画像形成装置10においてのみプロダクトキーで識別されるSDKアプリ140及び機能モジュール1401の利用権限を与えるライセンスキーを画像形成装置10に送信する(S12)。
In response to the input of the product key, the
図5は、ライセンスキーの構成例を示す図である。同図において、一つのライセンスキーは、アプリID、画像形成装置10の機体番号、利用可能な機能(機能モジュール1401の識別子の一覧)、及び有効期限等によって構成される。当該ライセンスキーによって、機体番号によって識別される画像形成装置10上において、アプリIDによって識別されるSDKアプリ140の利用が、当該ライセンスキーに指定された機能及び有効期限の範囲内で許可される。すなわち、SDKアプリ140に関するライセンス単位は、機能単位(機能モジュール1401単位)で管理される。アプリID、機能、及び有効期限は、プロダクトキーに基づいて定まる値である。なお、ライセンスキーは、アプリID、画像形成装置10の機体番号、利用可能な機能、及び有効期限を単に並べたものではなく、これらの情報がエンコードされ、更に暗号化されたものでもよい。また、ライセンスキーは、PC20において生成されてもよいし、PC20とネットワークを介して接続する他のコンピュータ(例えば、グローバルな環境においてライセンス情報を一元管理するサーバコンピュータ)においてPC20からの要求に応じて生成されてもよい。ライセンス導入部151は、ライセンスキーを受信すると、当該ライセンスキーをライセンスファイル160に格納してHDD114に保存する(S13)。
FIG. 5 is a diagram illustrating a configuration example of the license key. In the figure, one license key is composed of an application ID, a machine number of the
続いて、図6は、ライセンスリストの生成処理を説明するためのフローチャートである。同図の処理は、SDKアプリ140ごとに行われる。
FIG. 6 is a flowchart for explaining a license list generation process. The process in FIG. 5 is performed for each
まず、ライセンス管理部152は、空のライセンスリスト170(ファイル)をSDKアプリ140に関連付けてHDD114上に生成する(S101)。ライセンスリスト170とSDKアプリ140との関連付けの方法は所定のものに限定されない。例えば、ライセンスリスト170にアプリIDを含めてもよいし、アプリIDを名前とするフォルダ下にライセンスリスト170を生成してもよい。
First, the
続いて、ステップS102〜S105において、ライセンス管理部152は、処理対象とされているSDKアプリ140に含まれている機能モジュール1401を検索する。検索された機能モジュール1401にライセンス情報ファイル1402が付随している場合(S103でYes)、ライセンス管理部152は、当該ライセンス情報ファイル1402に格納されているライセンス情報をライセンスリスト170に追加する(S104)。全ての機能モジュール1401の検索が終了すると(S105)、ライセンス管理部152は、生成されたライセンスリスト170の暗号化を暗号処理部154に実行させる(S106)。暗号化の方式は所定のものに限定されない。
Subsequently, in steps S102 to S105, the
例えば、図3のSDKアプリ140の構成を例とすると、まずステップS102で機能モジュール1401aが検索される。機能モジュール1401aにはライセンス情報ファイル1402aが付随しているため、ステップS103でYesへ進む。続いて、ステップS104で機能モジュール1401aのライセンス情報ファイル1402aに格納されているライセンス情報をライセンスリスト170に登録する。
For example, taking the configuration of the
続いて、ステップS102に戻り、機能モジュール1401bが検索される。機能モジュール1401bにはライセンス情報ファイル1402bが付随しているため、ステップS103でYesへ進む。続いて、ステップS104で機能モジュール1401bのライセンス情報ファイル1402bに格納されているライセンス情報をライセンスリスト170に登録する。
Subsequently, returning to step S102, the
続いて、ステップS102に戻り、機能モジュール1401cが検索される。機能モジュール1401cにはライセンス情報ファイルが付随していないためステップS103でNoへ進み、ステップS105で検索が終了する。その結果、図7に示されるようなライセンスリスト170が生成される。
Subsequently, the process returns to step S102, and the function module 1401c is searched. Since the license information file is not attached to the function module 1401c, the process proceeds to No in step S103, and the search ends in step S105. As a result, a
図7は、ライセンスリストの例を示す図である。同図に示されるようにライセンスリスト170には、機能モジュールごとに機能モジュールの識別子 (機能名)、機能モジュールのファイル名、機能モジュールの表示名、及び日時が登録される。日時は、ライセンスされた(ライセンスキーが発行された)日時である。当該日時は、例えば、ステップS104において、処理対象とされているSDKアプリ140に対応するライセンスファイル160の中で、対応する機能モジュールに対するライセンスキーを含むライセンスファイル160の生成日時を転記すればよい。また、その際に、当該ライセンスキーに対する関連付け情報(例えば、当該ライセンスファイル160のファイル名又は当該ライセンスキーそのもの)をライセンスリスト170に記録するようにしてもよい。
FIG. 7 is a diagram illustrating an example of a license list. As shown in the figure, in the
なお、図7において機能モジュールAは、図3の機能モジュール1401aに対応する。また、機能モジュールBは、機能モジュール1401bに対応する。上記したように、機能モジュール1401cにはライセンス情報ファイルが付随していないため、ライセンスリスト170には登録されていない。
In FIG. 7, the functional module A corresponds to the
ライセンスリスト170の生成時期(図6の処理が実行されるタイミング)について説明する。SDKアプリ140は図8に示されるようなライフサイクルを有する。図8は、本実施の形態におけるSDKアプリのライフサイクルを説明するための状態遷移図である。
A generation time of the license list 170 (a timing at which the process of FIG. 6 is executed) will be described. The
SDKアプリ140は、画像形成装置10にインストールされる前は未インストール状態にあり、インストールによってインストール済状態に遷移する。インストール済状態ではまず、SDKアプリ140が停止した停止状態であり、対応するライセンスキーが存在しない未ライセンス状態となる。この未ライセンス状態では、SDKアプリ140を起動することはできない。未ライセンス状態で、PC20からライセンスキーが導入されるとSDKアプリ140はライセンス済状態に遷移する。ライセンス済状態とは、SDKアプリ140を起動可能な状態である。
The
ライセンス済状態において起動されると、SDKアプリ140は起動中状態に遷移する。起動中状態において、ユーザはSDKアプリ140に実装されている機能をライセンスされている範囲内で利用することができる。SDKアプリ140が停止されると、SDKアプリ140は、ライセンス済状態へと戻る。また、SDKアプリ140が停止状態であるときにアンインストールされると、SDKアプリ140は未インストール状態へと戻る。
When activated in the licensed state, the
以上のようなライフサイクルにおいて、ライセンスリスト170は、SDKアプリ140のインストール時、又はSDKアプリ140の起動時に生成される。
In the life cycle as described above, the
続いて、図9は、SDKアプリの起動時の処理手順を説明するためのフローチャートである。操作パネル16等を介して、或るSDKアプリ140の起動指示(利用要求)がユーザによって入力されると、起動制御部153は、ライセンス管理部152に対して起動対象とされたSDKアプリ140のアプリIDを通知し、当該SDKアプリ140のライセンス状況を問い合わせる。当該問い合わせに応じて図9の処理が開始される。
Next, FIG. 9 is a flowchart for explaining a processing procedure when the SDK application is activated. When an activation instruction (use request) for a
まず、ライセンス管理部152は、起動対象のSDKアプリ140に対応するライセンスリスト170をRAM112上に読み込む(S201)。続いて、ライセンス管理部152は、ライセンスリスト170の復号を暗号処理部154に実行させる(S202)。続いて、ライセンス管理部152は、ライセンスリスト170の正当性を真偽判定部155に実行させる(S203)。真偽判定部155は、例えば、暗号処理部154による復号が成功したか、ライセンスリスト170のデータ形式が所定の形式に従っているか等を検査することにより、ライセンスリスト170の正当性を判定する。すなわち、復号に失敗した場合や、ライセンスリスト170が所定の形式に従っていない場合は、ライセンスリスト170は不正であると判定される。
First, the
また、ライセンスリスト170の正当性を判定するために電子署名を用いてもよい。例えば、ライセンスリスト170を生成する際に、暗号化前のライセンスリスト170のハッシュ値を生成しておき、ライセンスリスト170に関連付けて保存しておく。真偽判定部155は、ステップS202において復号されたライセンスリスト170のハッシュ値と、当該ライセンスリスト170に関連付けられて保存されているハッシュ値とを比較することにより、ライセンスリスト170の改竄の有無(正当性)を判定する。
An electronic signature may be used to determine the validity of the
真偽判定部155によって、ライセンスリスト170の正当性が否定された場合(ライセンスリスト170が不正であると判定された場合)(S203でNo)、ライセンス管理部152は、起動対象のSDKアプリ140を処理対象として、改めて図6の処理を実行することにより、ライセンスリスト170を生成し直す(S204)。ステップS201においてライセンスリスト170が存在しない場合も、ステップS204でライセンスリスト170の生成処理が実行される。
When the
真偽判定部155によってラインセンスリスト170の正当性が肯定された場合(S203でYes)、又はステップS204に続いて、起動対象のSDKアプリ140において起動が不可能な(許可されない)機能モジュール1401の判定がライセンスリスト170を利用して行われる(S205〜S209)。
If the validity of the
まず、ステップS206において、ライセンス管理部152は、ライセンスリスト170より一つのエントリ(一つの機能モジュール1401に対するライセンス情報)を取得する(S206)。続いて、ライセンス管理部152は、取得されたライセンス情報に含まれている識別子と、当該SDKアプリ140に対応するライセンスファイル160に格納されているライセンスキーとに基づいて、当該ライセンス情報に対応する機能モジュール1401の利用(起動)の可否を判定する(S207)。
First, in step S206, the
すなわち、当該ライセンスキーが有効であり、当該ライセンスキーの「機能」項目に当該識別子が含まれていれば、当該機能モジュール1401は利用可能であると判定される。それ以外の場合(当該SDKアプリ140に対応するライセンスファイル160が無い場合も含む。)は、当該機能モジュール1401は利用不可能と判定される。なお、ライセンスキーが有効であるとは、当該ライセンスキーの機体番号が画像形成装置10の機体番号と一致し、当該ライセンスキーの有効期限が切れていないこと等をいう。
That is, if the license key is valid and the identifier is included in the “function” item of the license key, the
利用不可能と判定された場合(S207でNo)、ライセンス管理部152は、当該機能モジュールの識別子を起動不可リストに追加する(S208)。
When it is determined that it cannot be used (No in S207), the
ステップS206〜S08までの処理が、ライセンスリスト170に含まれている全てのエントリ(ライセンス情報)について完了すると(S209)、ライセンス管理部152は、起動不可リストを起動対象のSDKアプリ140のライセンス状況を示す情報として起動制御部153に出力する(S209)。
When the processing of steps S206 to S08 is completed for all entries (license information) included in the license list 170 (S209), the
続いて、起動制御部153は、起動不可リストに基づいてSDKアプリ140の起動制御を行う(S210)。具体的には、起動不可リストに含まれている起動モジュール1401の起動又は利用を制限(抑止)する。これによって、例えば、コピージョブに関するSDKアプリ140であれば、カラーコピーが利用できない等、一部の機能の利用が制限される。
Subsequently, the
図9の処理内容を、図3のSDKアプリ140に基づいて具体的に説明する。例えば、図3において、ライセンスファイル160に含まれているライセンスキーでは機能モジュール1401aのみがライセンスされているとする。この場合、SDKアプリ140の起動が要求されると、機能モジュール1401bは、起動不可リストに含まれ、起動が抑止される。したがって、機能モジュール1401aと機能モジュール1401cの機能が利用可能となる。機能モジュール1401cの機能が利用可能なのは、機能モジュール1401cはライセンス管理の対象とされていないからである。
The processing contents of FIG. 9 will be specifically described based on the
なお、図9では、SDKアプリ140のライセンス状況として起動不可リストが起動制御部153に通知される例を説明したが、起動可能な機能モジュールの一覧情報がライセンス管理部152から起動制御部153に通知されるようにしてもよい。
In FIG. 9, an example in which the activation disable list is notified to the
上述したように、本実施の形態における画像形成装置10は、ライセンスのチェックが必要とされる機能モジュール1401の一覧情報であるライセンスリスト170を予め生成しておき、SDKアプリ140の起動時には当該ライセンスリスト170にエントリされている機能モジュールについてのみライセンスのチェックを行う。したがって、ライセンスチェックの回数を低減させることができ、SDKアプリ140全体の起動時間の増大を適切に抑制することができる。
As described above, the
例えば、図10は、ライセンスリストが無い場合のSDKアプリの起動時の処理手順を説明するための図である。 For example, FIG. 10 is a diagram for explaining a processing procedure when the SDK application is activated when there is no license list.
ステップS301からS305では、起動対象とされたSDKアプリ140に含まれる全ての機能モジュール1401についてライセンス対象であるか否かが判定される(S303)。ライセンス対象であると判定された機能モジュール1401については、ライセンスキーの有無、ライセンスキーの正当性等が判定され(S304、S305)、利用不可能な機能モジュール1401は機能不可リストに追加される(S306)。全ての機能モジュール1401についてチェックが完了すると(S307)、チェック結果に基づいてSDKアプリ140の起動制御が行われる(S308)。
In steps S301 to S305, it is determined whether or not all
図10の処理内容と、本実施の形態の画像形成装置10が実行する処理内容との相違点をより端的に示すと図11のように表すことができる。
The difference between the processing content of FIG. 10 and the processing content executed by the
図11は、ライセンスリストによりSDKアプリの起動が高速化される理由を説明するための図である。 FIG. 11 is a diagram for explaining the reason why the activation of the SDK application is accelerated by the license list.
同図において、(A)は、図10の処理内容を示す。(A)では、SDKアプリ140の起動時に、当該SDKアプリ140の全ての機能モジュール1401についてライセンスに関するチェックが行われることが示されている。同図の例では、9回のチェックが毎回の起動時に行われる。
In FIG. 10, (A) shows the processing contents of FIG. In (A), it is shown that when the
一方、(B)は、本実施の形態の画像形成装置10が実行する処理内容を示す。本実施の形態では、SDKアプリ140のインストール時に当該SDKアプリ140の全ての機能モジュール1401についてライセンス対象か否かのチェックが行われ、ライセンスリスト170が生成される。図中では、二つの機能モジュール1401がライセンス対象であると判定された例が示されている。起動時には、ライセンスリスト170にエントリされているこの二つの機能モジュール1401についてのみライセンスに関するチェックが実行される。
On the other hand, (B) shows the processing contents executed by the
このように、SDKアプリ140に含まれる機能モジュールの数が増加すればするほど、本実施の形態による効果は顕著なものとなる。なお、ライセンスリスト170は、必ずしもインストール時に生成されなくてもよい。インストール時に生成されなくても初回の起動時にライセンスリスト170が生成されるからである。
Thus, as the number of functional modules included in the
また、ライセンスリスト170は、暗号化されて保存され、利用時には改竄等のチェックが行われる。したがって、ライセンスリスト170の改竄による不正なライセンスの獲得(ライセンスリスト170よりエントリを削除することにより、当該エントリに係る機能モジュール1401のライセンスチェックを回避させること)を適切に防止することができる。
The
また、起動時においてライセンスリスト170の改竄等が検出された場合であっても、再度ライセンスリスト170が生成し直されるため、ライセンスの範囲内でのSDKアプリ140の起動を円滑に行うことができる。
Even when tampering of the
なお、本実施の形態では、ライセンス管理の対象とされる機能モジュール1401のライセンス情報をライセンスリスト170に含める例を説明した。但し、ライセンス管理の対象とされていない機能モジュール1401のライセンス情報によってライセンスリスト170を構成するようにしてもよい。すなわち、ライセンスリスト170によっていずれの機能モジュール170がライセンス管理の対象とされているかが識別可能であればよい。
In the present embodiment, the example in which the license information of the
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.
10 画像形成装置
11 コントローラ
12 スキャナ
13 プリンタ
14 モデム
15 ネットワークインタフェース
16 操作パネル
20 PC
21 操作部
22 ライセンス送信部
111 CPU
112 RAM
113 ROM
114 HDD
121 OS
122 コントロールサービス
123 アプリケーション
130 標準アプリ
150 SDKプラットフォーム
131 コピーアプリ
132 スキャンアプリ
133 ファクスアプリ
134 プリントアプリ
140、141、142、143 SDKアプリ
151 ライセンス導入部
152 ライセンス管理部
153 起動制御部
154 暗号処理部
155 真偽判定部
160 ライセンスファイル
170 ライセンスリスト
DESCRIPTION OF
21
112 RAM
113 ROM
114 HDD
121 OS
Claims (16)
前記プログラムモジュールごとに関連付けられている当該プログラムモジュールがライセンス管理の対象であるか否かを示す情報に基づいて、前記複数のプログラムモジュールのうちライセンス管理の対象とされるプログラムモジュールを識別可能なライセンス対象識別情報を生成するライセンス対象識別情報生成手段と、
前記アプリケーションの起動要求に応じ、前記ライセンス対象識別情報に基づいて、ライセンス管理の対象であるプログラムモジュールに利用できないプログラムモジュールが含まれる場合には、当該プログラムモジュールの起動を制限し、ライセンス管理の対象でないプログラムモジュールは、利用の可否を判定することなく起動する起動制限手段とを有することを特徴とする情報処理装置。 An information processing apparatus capable of starting an application composed of a plurality of program modules,
A license that can identify a program module that is subject to license management among the plurality of program modules based on information indicating whether the program module associated with each program module is subject to license management. A license object identification information generating means for generating object identification information;
In response to a request for starting the application, if a program module that cannot be used is included in the program module that is the target of license management based on the license target identification information, the start of the program module is restricted, and the license management target A non-program module includes an activation restriction unit that activates without determining whether or not it can be used .
前記起動制限手段は、前記起動要求に応じて生成された前記ライセンス対象識別情報に基づいて、プログラムモジュールの起動を制限することを特徴とする請求項1記載の情報処理装置。 When the license object identification information is not generated when the application activation request is input, the license object identification information generating unit generates the license object identification information,
The information processing apparatus according to claim 1, wherein the activation restriction unit restricts activation of the program module based on the license object identification information generated in response to the activation request.
前記ライセンス対象識別情報生成手段は、前記正当性判定手段によって前記ライセンス対象識別情報が不正であると判定されたときは前記ライセンス対象識別情報を再生成し、
前記起動制限手段は、再生成された前記ライセンス対象識別情報に基づいて、プログラムモジュールの起動を制限することを特徴とする請求項1又は2記載の情報処理装置。 In response to the activation request of the application, it has a legitimacy judging means for judging legitimacy of the license object identification information,
The license object identification information generating unit regenerates the license object identification information when the validity determination unit determines that the license object identification information is invalid,
The information processing apparatus according to claim 1, wherein the activation restriction unit restricts activation of the program module based on the regenerated license object identification information.
前記プログラムモジュールごとに関連付けられている当該プログラムモジュールがライセンス管理の対象であるか否かを示す情報に基づいて、前記複数のプログラムモジュールのうちライセンス管理の対象とされるプログラムモジュールを識別可能なライセンス対象識別情報を生成するライセンス対象識別情報生成手順と、
前記アプリケーションの起動要求に応じ、前記ライセンス対象識別情報に基づいて、ライセンス管理の対象であるプログラムモジュールに利用できないプログラムモジュールが含まれる場合には、当該プログラムモジュールの起動を制限し、ライセンス管理の対象でないプログラムモジュールは、利用の可否を判定することなく起動する起動制限手順とを有することを特徴とするライセンス判定方法。 A license determination method executed by an information processing apparatus capable of starting an application composed of a plurality of program modules,
A license that can identify a program module that is subject to license management among the plurality of program modules based on information indicating whether the program module associated with each program module is subject to license management. A license object identification information generation procedure for generating object identification information;
In response to a request for starting the application, if a program module that cannot be used is included in the program module that is the target of license management based on the license target identification information, the start of the program module is restricted, and the license management target A non-program module includes a start restriction procedure that starts without determining whether or not the program module can be used .
前記起動制限手順は、前記起動要求に応じて生成された前記ライセンス対象識別情報に基づいて、プログラムモジュールの起動を制限することを特徴とする請求項6記載のライセンス判定方法。 When the license object identification information is not generated when the application activation request is input, the license object identification information generation procedure generates the license object identification information,
7. The license determination method according to claim 6, wherein the activation restriction procedure restricts activation of the program module based on the license object identification information generated in response to the activation request.
前記正当性判定手順において前記ライセンス対象識別情報が不正であると判定されたときは前記ライセンス対象識別情報を再生成するライセンス対象識別情報再生成手順とを有し、
前記起動制限手順は、再生成された前記ライセンス対象識別情報に基づいて、プログラムモジュールの起動を制限することを特徴とする請求項6又は7記載のライセンス判定方法。 In response to the application activation request, a validity determination procedure for determining the validity of the license object identification information;
A license object identification information regeneration procedure for regenerating the license object identification information when the license object identification information is determined to be invalid in the validity determination procedure;
8. The license determination method according to claim 6, wherein the activation restriction procedure restricts activation of the program module based on the regenerated license object identification information.
前記プログラムモジュールごとに関連付けられている当該プログラムモジュールがライセンス管理の対象であるか否かを示す情報に基づいて、前記複数のプログラムモジュールのうちライセンス管理の対象とされるプログラムモジュールを識別可能なライセンス対象識別情報を生成するライセンス対象識別情報生成手順と、
前記アプリケーションの起動要求に応じ、前記ライセンス対象識別情報に基づいて、ライセンス管理の対象であるプログラムモジュールに利用できないプログラムモジュールが含まれる場合には、当該プログラムモジュールの起動を制限し、ライセンス管理の対象でないプログラムモジュールは、利用の可否を判定することなく起動する起動制限手順とを実行させるためのプログラム。 In an information processing device that can start an application composed of a plurality of program modules,
A license that can identify a program module that is subject to license management among the plurality of program modules based on information indicating whether the program module associated with each program module is subject to license management. A license object identification information generation procedure for generating object identification information;
In response to a request for starting the application, if a program module that cannot be used is included in the program module that is the target of license management based on the license target identification information, the start of the program module is restricted, and the license management target The non-program module is a program for executing an activation restriction procedure that activates without determining whether or not it can be used.
前記起動制限手順は、前記起動要求に応じて生成された前記ライセンス対象識別情報に基づいて、プログラムモジュールの起動を制限することを特徴とする請求項11記載のプログラム。 When the license object identification information is not generated when the application activation request is input, the license object identification information generation procedure generates the license object identification information,
12. The program according to claim 11, wherein the activation restriction procedure restricts activation of the program module based on the license object identification information generated in response to the activation request.
前記正当性判定手順において前記ライセンス対象識別情報が不正であると判定されたときは前記ライセンス対象識別情報を再生成するライセンス対象識別情報再生成手順とを有し、
前記起動制限手順は、再生成された前記ライセンス対象識別情報に基づいて、プログラムモジュールの起動を制限することを特徴とする請求項11又は12記載のプログラム。 In response to the application activation request, a validity determination procedure for determining the validity of the license object identification information;
A license object identification information regeneration procedure for regenerating the license object identification information when the license object identification information is determined to be invalid in the validity determination procedure;
The program according to claim 11 or 12, wherein the activation restriction procedure restricts activation of the program module based on the regenerated license object identification information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012278778A JP5510535B2 (en) | 2012-12-21 | 2012-12-21 | Information processing apparatus, license determination method, program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012278778A JP5510535B2 (en) | 2012-12-21 | 2012-12-21 | Information processing apparatus, license determination method, program, and recording medium |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008222132A Division JP5599557B2 (en) | 2008-08-29 | 2008-08-29 | Information processing apparatus, license determination method, program, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013054787A JP2013054787A (en) | 2013-03-21 |
JP5510535B2 true JP5510535B2 (en) | 2014-06-04 |
Family
ID=48131644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012278778A Active JP5510535B2 (en) | 2012-12-21 | 2012-12-21 | Information processing apparatus, license determination method, program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5510535B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6372311B2 (en) * | 2014-10-30 | 2018-08-15 | 株式会社リコー | Information processing system, electronic device, service authorization method and program |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4769409B2 (en) * | 2003-01-07 | 2011-09-07 | キヤノン株式会社 | Image forming apparatus, control method thereof, and storage medium |
JP2006031169A (en) * | 2004-07-13 | 2006-02-02 | Oki Electric Ind Co Ltd | License information confirmation device, license information confirmation method and license information confirmation program |
JP2007316938A (en) * | 2006-05-25 | 2007-12-06 | Fujitsu Business Systems Ltd | License management program, method for controlling use of software, license check program, and license check setup program |
JP5090790B2 (en) * | 2006-06-07 | 2012-12-05 | 株式会社リコー | Device, License Management Method, License Management Program, and License Management System |
JP2008140175A (en) * | 2006-12-01 | 2008-06-19 | Yazaki Corp | Protector communalization device, protector communalization program, protector communalization method, license management system and protector |
-
2012
- 2012-12-21 JP JP2012278778A patent/JP5510535B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013054787A (en) | 2013-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5599557B2 (en) | Information processing apparatus, license determination method, program, and recording medium | |
US8601280B2 (en) | Application executing apparatus and application execution method | |
US8402459B2 (en) | License management system, license management computer, license management method, and license management program embodied on computer readable medium | |
US8613082B2 (en) | License management server, license management method, and computer program product | |
JP6124531B2 (en) | Information processing system, image processing apparatus, control method therefor, and program | |
KR20120050742A (en) | Apparatus and method for managing digital rights through hooking process of kernel native api | |
EP3502873A2 (en) | Method and apparatus for application development environment | |
JP4969480B2 (en) | Image forming apparatus, information processing method, and information processing program | |
JP5272602B2 (en) | Authentication function linkage device, authentication function linkage system, and authentication function linkage program | |
JP2014142886A (en) | Plug-in distribution system and image processing apparatus, and plug-in distribution control method | |
US8353057B2 (en) | Information processing apparatus, control method, and control program | |
JP5644194B2 (en) | Information protection device and information protection program | |
JP5510535B2 (en) | Information processing apparatus, license determination method, program, and recording medium | |
JP2009199236A (en) | Image processor, authentication package installation method, authentication package installation program, and recording medium | |
JP2007249575A (en) | Information processor, computer-readable portable storage medium, information processing method, information processing program and information processing system | |
JP6338729B2 (en) | Image processing apparatus, control method therefor, information processing system, and storage medium | |
JP5458535B2 (en) | Device, license management method, program, and license management system | |
JP2005258784A (en) | Resource management device, information processor, resource management program, resource display program and recording medium | |
JP2007065917A (en) | Access control method, access control list management device, access controller, access control system, access control program and recording medium | |
JP5151531B2 (en) | Image forming apparatus and data management method | |
US20220253521A1 (en) | Image forming apparatus capable of executing application programs, control method therefor, and storage medium | |
JP7247689B2 (en) | Information processing device and program | |
JP4969698B2 (en) | Information processing apparatus, electronic apparatus, operation control method, and operation control program | |
JP5014191B2 (en) | Device and operation authority judgment method | |
JP2010067085A (en) | Information processing system, external equipment, platform starting method, program, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131112 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140108 |
|
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: 20140225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140310 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5510535 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |